1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Register definition header for NPCM video driver
5 * Copyright (C) 2022 Nuvoton Technologies
12 #define VCD_DIFF_TBL 0x0000
13 #define VCD_FBA_ADR 0x8000
14 #define VCD_FBB_ADR 0x8004
16 #define VCD_FB_LP 0x8008
17 #define VCD_FBA_LP GENMASK(15, 0)
18 #define VCD_FBB_LP GENMASK(31, 16)
20 #define VCD_CAP_RES 0x800c
21 #define VCD_CAP_RES_VERT_RES GENMASK(10, 0)
22 #define VCD_CAP_RES_HOR_RES GENMASK(26, 16)
24 #define VCD_MODE 0x8014
25 #define VCD_MODE_VCDE BIT(0)
26 #define VCD_MODE_CM565 BIT(1)
27 #define VCD_MODE_IDBC BIT(3)
28 #define VCD_MODE_KVM_BW_SET BIT(16)
30 #define VCD_CMD 0x8018
31 #define VCD_CMD_GO BIT(0)
32 #define VCD_CMD_RST BIT(1)
33 #define VCD_CMD_OPERATION GENMASK(6, 4)
34 #define VCD_CMD_OPERATION_CAPTURE 0
35 #define VCD_CMD_OPERATION_COMPARE 2
37 #define VCD_STAT 0x801c
38 #define VCD_STAT_DONE BIT(0)
39 #define VCD_STAT_IFOT BIT(2)
40 #define VCD_STAT_IFOR BIT(3)
41 #define VCD_STAT_VHT_CHG BIT(5)
42 #define VCD_STAT_HAC_CHG BIT(8)
43 #define VCD_STAT_BUSY BIT(30)
44 #define VCD_STAT_CLEAR 0x3fff
46 #define VCD_INTE 0x8020
47 #define VCD_INTE_DONE_IE BIT(0)
48 #define VCD_INTE_IFOT_IE BIT(2)
49 #define VCD_INTE_IFOR_IE BIT(3)
50 #define VCD_INTE_VHT_IE BIT(5)
51 #define VCD_INTE_HAC_IE BIT(8)
53 #define VCD_RCHG 0x8028
54 #define VCD_RCHG_IG_CHG0 GENMASK(2, 0)
55 #define VCD_RCHG_TIM_PRSCL GENMASK(12, 9)
57 #define VCD_VER_HI_TIM 0x8044
58 #define VCD_VER_HI_TIME GENMASK(23, 0)
60 #define VCD_VER_HI_LST 0x8048
61 #define VCD_VER_HI_LAST GENMASK(23, 0)
63 #define VCD_HOR_AC_TIM 0x804c
64 #define VCD_HOR_AC_TIME GENMASK(13, 0)
66 #define VCD_HOR_AC_LST 0x8050
67 #define VCD_HOR_AC_LAST GENMASK(13, 0)
69 #define VCD_FIFO 0x805c
70 #define VCD_FIFO_TH 0x100350ff
72 #define VCD_FB_SIZE 0x500000 /* support up to 1920 x 1200 */
73 #define VCD_KVM_BW_PCLK 120000000UL
74 #define VCD_TIMEOUT_US 300000
77 #define ECE_DDA_CTRL 0x0000
78 #define ECE_DDA_CTRL_ECEEN BIT(0)
79 #define ECE_DDA_CTRL_INTEN BIT(8)
81 #define ECE_DDA_STS 0x0004
82 #define ECE_DDA_STS_CDREADY BIT(8)
83 #define ECE_DDA_STS_ACDRDY BIT(10)
85 #define ECE_FBR_BA 0x0008
86 #define ECE_ED_BA 0x000c
87 #define ECE_RECT_XY 0x0010
89 #define ECE_RECT_DIMEN 0x0014
90 #define ECE_RECT_DIMEN_WR GENMASK(10, 0)
91 #define ECE_RECT_DIMEN_WLTR GENMASK(14, 11)
92 #define ECE_RECT_DIMEN_HR GENMASK(26, 16)
93 #define ECE_RECT_DIMEN_HLTR GENMASK(30, 27)
95 #define ECE_RESOL 0x001c
96 #define ECE_RESOL_FB_LP_512 0
97 #define ECE_RESOL_FB_LP_1024 1
98 #define ECE_RESOL_FB_LP_2048 2
99 #define ECE_RESOL_FB_LP_2560 3
100 #define ECE_RESOL_FB_LP_4096 4
102 #define ECE_HEX_CTRL 0x0040
103 #define ECE_HEX_CTRL_ENCDIS BIT(0)
104 #define ECE_HEX_CTRL_ENC_GAP GENMASK(12, 8)
106 #define ECE_HEX_RECT_OFFSET 0x0048
107 #define ECE_HEX_RECT_OFFSET_MASK GENMASK(22, 0)
109 #define ECE_TILE_W 16
110 #define ECE_TILE_H 16
111 #define ECE_POLL_TIMEOUT_US 300000
115 #define INTCR_GFXIFDIS GENMASK(9, 8)
116 #define INTCR_DEHS BIT(27)
119 #define INTCR2_GIRST2 BIT(2)
120 #define INTCR2_GIHCRST BIT(5)
121 #define INTCR2_GIVCRST BIT(6)
125 #define DISPST_HSCROFF BIT(1)
126 #define DISPST_MGAMODE BIT(7)
129 #define HVCNTL_MASK GENMASK(7, 0)
132 #define HVCNTH_MASK GENMASK(2, 0)
135 #define VVCNTL_MASK GENMASK(7, 0)
138 #define VVCNTH_MASK GENMASK(2, 0)
140 #define GPLLINDIV 0x40
141 #define GPLLINDIV_MASK GENMASK(5, 0)
142 #define GPLLINDIV_GPLLFBDV8 BIT(7)
144 #define GPLLFBDIV 0x44
145 #define GPLLFBDIV_MASK GENMASK(7, 0)
148 #define GPLLST_PLLOTDIV1 GENMASK(2, 0)
149 #define GPLLST_PLLOTDIV2 GENMASK(5, 3)
150 #define GPLLST_GPLLFBDV109 GENMASK(7, 6)
152 #endif /* _NPCM_REGS_H */