lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f556ef68-dac3-4652-ac21-ea4bbb4e912c@gmail.com>
Date: Mon, 9 Feb 2026 16:45:40 +0800
From: Joey Lu <a0987203069@...il.com>
To: Icenowy Zheng <uwu@...nowy.me>, airlied@...il.com, simona@...ll.ch,
 maarten.lankhorst@...ux.intel.com, mripard@...nel.org, tzimmermann@...e.de,
 robh@...nel.org, krzk+dt@...nel.org, conor+dt@...nel.org
Cc: ychuang3@...oton.com, schung@...oton.com, yclu4@...oton.com,
 linux-arm-kernel@...ts.infradead.org, dri-devel@...ts.freedesktop.org,
 devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 3/3] drm/nuvoton: add MA35D1 display controller driver


On 2/6/2026 11:09 PM, Icenowy Zheng wrote:
> 在 2026-01-29星期四的 12:05 +0800,Joey Lu写道:
>> ========== 8< ============
>> +#endif
>> diff --git a/drivers/gpu/drm/nuvoton/ma35_regs.h
>> b/drivers/gpu/drm/nuvoton/ma35_regs.h
>> new file mode 100644
>> index 000000000000..0f4a7a13e7d8
>> --- /dev/null
>> +++ b/drivers/gpu/drm/nuvoton/ma35_regs.h
>> @@ -0,0 +1,88 @@
>> +/* SPDX-License-Identifier: GPL-2.0+ */
>> +/*
>> + * Nuvoton DRM driver
>> + *
>> + * Copyright (C) 2026 Nuvoton Technology Corp.
>> + *
>> + * Author: Joey Lu <a0987203069@...il.com>
>> + */
>> +
>> +#ifndef _MA35_REGS_H_
>> +#define _MA35_REGS_H_
>> +
>> +#define MA35_FRAMEBUFFER_CONFIG                   0x1518
> Please check my Verisilicon DC8200 driver, which is already part of
> drm-misc-next now.
>
> The display controller here seems to be a earlier one from
> Verisilicon.it looks like a DC8000, or maybe a more earlier one?

The DCU is a Vivante DCUltra IP rather than a DC8000 series.

It's an earlier generation display controller and was customized for 
Nuvoton, so it doesn't have a public model ID.

Because of that lineage, parts of the register layout and functionality 
remain similar to older DC IPs.

Please refer to MA35D1 datasheet for more details.

>> +#define MA35_FRAMEBUFFER_ADDRESS                  0x1400
>> +#define MA35_FRAMEBUFFER_STRIDE                   0x1408
>> +#define MA35_HDISPLAY                             0x1430
>> +#define MA35_HSYNC                                0x1438
>> +#define MA35_VDISPLAY                             0x1440
>> +#define MA35_VSYNC                                0x1448
>> +#define MA35_PANEL_CONFIG                         0x1418
>> +#define MA35_DPI_CONFIG                           0x14B8
>> +#define MA35_CURSOR_ADDRESS                       0x146C
>> +#define MA35_CURSOR_CONFIG                        0x1468
>> +#define MA35_CURSOR_LOCATION                      0x1470
>> +#define MA35_CURSOR_BACKGROUND                    0x1474
>> +#define MA35_CURSOR_FOREGROUND                    0x1478
>> +#define MA35_FRAMEBUFFER_UPLANAR_ADDRESS          0x1530
>> +#define MA35_FRAMEBUFFER_VPLANAR_ADDRESS          0x1538
>> +#define MA35_FRAMEBUFFER_USTRIDE                  0x1800
>> +#define MA35_FRAMEBUFFER_VSTRIDE                  0x1808
>> +#define MA35_INDEXCOLOR_TABLEINDEX                0x1818
>> +#define MA35_INDEXCOLOR_TABLEDATA                 0x1820
>> +#define MA35_FRAMEBUFFER_SIZE                     0x1810
>> +#define MA35_FRAMEBUFFER_SCALEFACTORX             0x1828
>> +#define MA35_FRAMEBUFFER_SCALEFACTORY             0x1830
>> +#define MA35_FRAMEBUFFER_SCALEFCONFIG             0x1520
>> +#define MA35_HORIFILTER_KERNELINDEX               0x1838
>> +#define MA35_HORIFILTER_KERNEL                    0x1A00
>> +#define MA35_VERTIFILTER_KERNELINDEX              0x1A08
>> +#define MA35_VERTIFILTER_KERNEL                   0x1A10
>> +#define MA35_FRAMEBUFFER_INITIALOFFSET            0x1A20
>> +#define MA35_FRAMEBUFFER_COLORKEY                 0x1508
>> +#define MA35_FRAMEBUFFER_COLORHIGHKEY             0x1510
>> +#define MA35_FRAMEBUFFER_BGCOLOR                  0x1528
>> +#define MA35_FRAMEBUFFER_CLEARVALUE               0x1A18
>> +#define MA35_DISPLAY_INTRENABLE                   0x1480
>> +#define MA35_INT_STATE                            0x147C
>> +#define MA35_PANEL_DEST_ADDRESS                   0x14F0
>> +#define MA35_MEM_DEST_ADDRESS                     0x14E8
>> +#define MA35_DEST_CONFIG                          0x14F8
>> +#define MA35_DEST_STRIDE                          0x1500
>> +#define MA35_DBI_CONFIG                           0x1488
>> +#define MA35_AQHICLOCKCONTROL                     0x0000
>> +#define MA35_OVERLAY_CONFIG                       0x1540
>> +#define MA35_OVERLAY_STRIDE                       0x1600
>> +#define MA35_OVERLAY_USTRIDE                      0x18C0
>> +#define MA35_OVERLAY_VSTRIDE                      0x1900
>> +#define MA35_OVERLAY_TL                           0x1640
>> +#define MA35_OVERLAY_BR                           0x1680
>> +#define MA35_OVERLAY_ALPHA_BLEND_CONFIG           0x1580
>> +#define MA35_OVERLAY_SRC_GLOBAL_COLOR             0x16C0
>> +#define MA35_OVERLAY_DST_GLOBAL_COLOR             0x1700
>> +#define MA35_OVERLAY_CLEAR_VALUE                  0x1940
>> +#define MA35_OVERLAY_SIZE                         0x17C0
>> +#define MA35_OVERLAY_COLOR_KEY                    0x1740
>> +#define MA35_OVERLAY_COLOR_KEY_HIGH               0x1780
>> +#define MA35_OVERLAY_ADDRESS                      0x15C0
>> +#define MA35_OVERLAY_UPLANAR_ADDRESS              0x1840
>> +#define MA35_OVERLAY_VPLANAR_ADDRESS              0x1880
>> +#define MA35_OVERLAY_SCALE_CONFIG                 0x1C00
>> +#define MA35_OVERLAY_SCALE_FACTOR_X               0x1A40
>> +#define MA35_OVERLAY_SCALE_FACTOR_Y               0x1A80
>> +#define MA35_OVERLAY_HORI_FILTER_KERNEL_INDEX     0x1AC0
>> +#define MA35_OVERLAY_HORI_FILTER_KERNEL           0x1B00
>> +#define MA35_OVERLAY_VERTI_FILTER_KERNEL_INDEX    0x1B40
>> +#define MA35_OVERLAY_VERTI_FILTER_KERNEL          0x1B80
>> +#define MA35_OVERLAY_INITIAL_OFFSET               0x1BC0
>> +#define MA35_GAMMA_EX_INDEX                       0x1CF0
>> +#define MA35_GAMMA_EX_DATA                        0x1CF8
>> +#define MA35_GAMMA_EX_ONE_DATA                    0x1D80
>> +#define MA35_GAMMA_INDEX                          0x1458
>> +#define MA35_GAMMA_DATA                           0x1460
>> +#define MA35_DISPLAY_DITHER_TABLE_LOW             0x1420
>> +#define MA35_DISPLAY_DITHER_TABLE_HIGH            0x1428
>> +#define MA35_DISPLAY_DITHER_CONFIG                0x1410
>> +#define MA35_DISPLAY_CURRENT_LOCATION             0x1450
>> +
>> +#endif

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ