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 <[email protected]>
+ */
+
+#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

Reply via email to