1 /* SPDX-License-Identifier: GPL-2.0+
3 * Copyright (C) 2016 Nexell Co., Ltd.
5 * Author: junghyun, kim <jhkim@nexell.co.kr>
8 #ifndef _S5PXX18_SOC_DISPTOP_H_
9 #define _S5PXX18_SOC_DISPTOP_H_
11 #include "s5pxx18_soc_disptype.h"
13 #define NUMBER_OF_DISPTOP_MODULE 1
14 #define PHY_BASEADDR_DISPLAYTOP_MODULE 0xC0100000
15 #define PHY_BASEADDR_DISPTOP_LIST \
16 { PHY_BASEADDR_DISPLAYTOP_MODULE }
18 #define HDMI_ADDR_OFFSET \
19 (((PHY_BASEADDR_DISPLAYTOP_MODULE / 0x00100000) % 2) ? 0x100000 \
21 #define OTHER_ADDR_OFFSET \
22 (((PHY_BASEADDR_DISPLAYTOP_MODULE / 0x00100000) % 2) ? 0x000000 \
24 #define PHY_BASEADDR_DISPLAYTOP_MODULE_OFFSET (OTHER_ADDR_OFFSET + 0x001000)
25 #define PHY_BASEADDR_DUALDISPLAY_MODULE \
26 (PHY_BASEADDR_DISPLAYTOP_MODULE + OTHER_ADDR_OFFSET + 0x002000)
27 #define PHY_BASEADDR_RESCONV_MODULE \
28 (PHY_BASEADDR_DISPLAYTOP_MODULE + OTHER_ADDR_OFFSET + 0x003000)
29 #define PHY_BASEADDR_LCDINTERFACE_MODULE \
30 (PHY_BASEADDR_DISPLAYTOP_MODULE + OTHER_ADDR_OFFSET + 0x004000)
31 #define PHY_BASEADDR_HDMI_MODULE (PHY_BASEADDR_DISPLAYTOP_MODULE + 0x000000)
32 #define PHY_BASEADDR_LVDS_MODULE \
33 (PHY_BASEADDR_DISPLAYTOP_MODULE + OTHER_ADDR_OFFSET + 0x00a000)
35 #define NUMBER_OF_DUALDISPLAY_MODULE 1
36 #define INTNUM_OF_DUALDISPLAY_MODULE_PRIMIRQ \
37 INTNUM_OF_DISPLAYTOP_MODULE_DUALDISPLAY_PRIMIRQ
38 #define INTNUM_OF_DUALDISPLAY_MODULE_SECONDIRQ \
39 INTNUM_OF_DISPLAYTOP_MODULE_DUALDISPLAY_SECONDIRQ
40 #define RESETINDEX_OF_DUALDISPLAY_MODULE_I_NRST \
41 RESETINDEX_OF_DISPLAYTOP_MODULE_I_DUALDISPLAY_NRST
42 #define PADINDEX_OF_DUALDISPLAY_O_NCS \
43 PADINDEX_OF_DISPLAYTOP_O_DUAL_DISPLAY_PADPRIMVCLK
44 #define PADINDEX_OF_DUALDISPLAY_O_NRD \
45 PADINDEX_OF_DISPLAYTOP_O_DUAL_DISPLAY_PRIM_PADN_HSYNC
46 #define PADINDEX_OF_DUALDISPLAY_O_RS \
47 PADINDEX_OF_DISPLAYTOP_O_DUAL_DISPLAY_PRIM_PADN_VSYNC
48 #define PADINDEX_OF_DUALDISPLAY_O_NWR \
49 PADINDEX_OF_DISPLAYTOP_O_DUAL_DISPLAY_PRIM_PADDE
50 #define PADINDEX_OF_DUALDISPLAY_PADPRIMVCLK \
51 PADINDEX_OF_DISPLAYTOP_O_DUAL_DISPLAY_PADPRIMVCLK
52 #define PADINDEX_OF_DUALDISPLAY_O_PRIM_PADN_HSYNC \
53 PADINDEX_OF_DISPLAYTOP_O_DUAL_DISPLAY_PRIM_PADN_HSYNC
54 #define PADINDEX_OF_DUALDISPLAY_O_PRIM_PADN_VSYNC \
55 PADINDEX_OF_DISPLAYTOP_O_DUAL_DISPLAY_PRIM_PADN_VSYNC
56 #define PADINDEX_OF_DUALDISPLAY_O_PRIM_PADDE \
57 PADINDEX_OF_DISPLAYTOP_O_DUAL_DISPLAY_PRIM_PADDE
58 #define PADINDEX_OF_DUALDISPLAY_PRIM_0_ \
59 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_0_
60 #define PADINDEX_OF_DUALDISPLAY_PRIM_1_ \
61 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_1_
62 #define PADINDEX_OF_DUALDISPLAY_PRIM_2_ \
63 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_2_
64 #define PADINDEX_OF_DUALDISPLAY_PRIM_3_ \
65 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_3_
66 #define PADINDEX_OF_DUALDISPLAY_PRIM_4_ \
67 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_4_
68 #define PADINDEX_OF_DUALDISPLAY_PRIM_5_ \
69 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_5_
70 #define PADINDEX_OF_DUALDISPLAY_PRIM_6_ \
71 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_6_
72 #define PADINDEX_OF_DUALDISPLAY_PRIM_7_ \
73 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_7_
74 #define PADINDEX_OF_DUALDISPLAY_PRIM_8_ \
75 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_8_
76 #define PADINDEX_OF_DUALDISPLAY_PRIM_9_ \
77 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_9_
78 #define PADINDEX_OF_DUALDISPLAY_PRIM_10_ \
79 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_10_
80 #define PADINDEX_OF_DUALDISPLAY_PRIM_11_ \
81 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_11_
82 #define PADINDEX_OF_DUALDISPLAY_PRIM_12_ \
83 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_12_
84 #define PADINDEX_OF_DUALDISPLAY_PRIM_13_ \
85 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_13_
86 #define PADINDEX_OF_DUALDISPLAY_PRIM_14_ \
87 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_14_
88 #define PADINDEX_OF_DUALDISPLAY_PRIM_15_ \
89 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_15_
90 #define PADINDEX_OF_DUALDISPLAY_PRIM_16_ \
91 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_16_
92 #define PADINDEX_OF_DUALDISPLAY_PRIM_17_ \
93 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_17_
94 #define PADINDEX_OF_DUALDISPLAY_PRIM_18_ \
95 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_18_
96 #define PADINDEX_OF_DUALDISPLAY_PRIM_19_ \
97 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_19_
98 #define PADINDEX_OF_DUALDISPLAY_PRIM_20_ \
99 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_20_
100 #define PADINDEX_OF_DUALDISPLAY_PRIM_21_ \
101 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_21_
102 #define PADINDEX_OF_DUALDISPLAY_PRIM_22_ \
103 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_22_
104 #define PADINDEX_OF_DUALDISPLAY_PRIM_23_ \
105 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_23_
106 #define PADINDEX_OF_DUALDISPLAY_PADSECONDVCLK \
107 PADINDEX_OF_DISPLAYTOP_O_DUAL_DISPLAY_PADPRIMVCLK
108 #define PADINDEX_OF_DUALDISPLAY_O_SECOND_PADN_HSYNC \
109 PADINDEX_OF_DISPLAYTOP_O_DUAL_DISPLAY_PRIM_PADN_HSYNC
110 #define PADINDEX_OF_DUALDISPLAY_O_SECOND_PADN_VSYNC \
111 PADINDEX_OF_DISPLAYTOP_O_DUAL_DISPLAY_PRIM_PADN_VSYNC
112 #define PADINDEX_OF_DUALDISPLAY_O_SECOND_PADDE \
113 PADINDEX_OF_DISPLAYTOP_O_DUAL_DISPLAY_PRIM_PADDE
114 #define PADINDEX_OF_DUALDISPLAY_SECOND_0_ \
115 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_0_
116 #define PADINDEX_OF_DUALDISPLAY_SECOND_1_ \
117 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_1_
118 #define PADINDEX_OF_DUALDISPLAY_SECOND_2_ \
119 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_2_
120 #define PADINDEX_OF_DUALDISPLAY_SECOND_3_ \
121 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_3_
122 #define PADINDEX_OF_DUALDISPLAY_SECOND_4_ \
123 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_4_
124 #define PADINDEX_OF_DUALDISPLAY_SECOND_5_ \
125 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_5_
126 #define PADINDEX_OF_DUALDISPLAY_SECOND_6_ \
127 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_6_
128 #define PADINDEX_OF_DUALDISPLAY_SECOND_7_ \
129 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_7_
130 #define PADINDEX_OF_DUALDISPLAY_SECOND_8_ \
131 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_8_
132 #define PADINDEX_OF_DUALDISPLAY_SECOND_9_ \
133 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_9_
134 #define PADINDEX_OF_DUALDISPLAY_SECOND_10_ \
135 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_10_
136 #define PADINDEX_OF_DUALDISPLAY_SECOND_11_ \
137 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_11_
138 #define PADINDEX_OF_DUALDISPLAY_SECOND_12_ \
139 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_12_
140 #define PADINDEX_OF_DUALDISPLAY_SECOND_13_ \
141 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_13_
142 #define PADINDEX_OF_DUALDISPLAY_SECOND_14_ \
143 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_14_
144 #define PADINDEX_OF_DUALDISPLAY_SECOND_15_ \
145 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_15_
146 #define PADINDEX_OF_DUALDISPLAY_SECOND_16_ \
147 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_16_
148 #define PADINDEX_OF_DUALDISPLAY_SECOND_17_ \
149 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_17_
150 #define PADINDEX_OF_DUALDISPLAY_SECOND_18_ \
151 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_18_
152 #define PADINDEX_OF_DUALDISPLAY_SECOND_19_ \
153 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_19_
154 #define PADINDEX_OF_DUALDISPLAY_SECOND_20_ \
155 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_20_
156 #define PADINDEX_OF_DUALDISPLAY_SECOND_21_ \
157 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_21_
158 #define PADINDEX_OF_DUALDISPLAY_SECOND_22_ \
159 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_22_
160 #define PADINDEX_OF_DUALDISPLAY_SECOND_23_ \
161 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_23_
163 #define NUMBER_OF_RESCONV_MODULE 1
164 #define INTNUM_OF_RESCONV_MODULE INTNUM_OF_DISPLAYTOP_MODULE_RESCONV_IRQ
165 #define RESETINDEX_OF_RESCONV_MODULE_I_NRST \
166 RESETINDEX_OF_DISPLAYTOP_MODULE_I_RESCONV_NRST
167 #define RESETINDEX_OF_RESCONV_MODULE RESETINDEX_OF_RESCONV_MODULE_I_NRST
168 #define NUMBER_OF_LCDINTERFACE_MODULE 1
169 #define RESETINDEX_OF_LCDINTERFACE_MODULE_I_NRST \
170 RESETINDEX_OF_DISPLAYTOP_MODULE_I_LCDIF_NRST
171 #define PADINDEX_OF_LCDINTERFACE_O_VCLK \
172 PADINDEX_OF_DISPLAYTOP_O_DUAL_DISPLAY_PADPRIMVCLK
173 #define PADINDEX_OF_LCDINTERFACE_O_NHSYNC \
174 PADINDEX_OF_DISPLAYTOP_O_DUAL_DISPLAY_PRIM_PADN_HSYNC
175 #define PADINDEX_OF_LCDINTERFACE_O_NVSYNC \
176 PADINDEX_OF_DISPLAYTOP_O_DUAL_DISPLAY_PRIM_PADN_VSYNC
177 #define PADINDEX_OF_LCDINTERFACE_O_DE \
178 PADINDEX_OF_DISPLAYTOP_O_DUAL_DISPLAY_PRIM_PADDE
179 #define PADINDEX_OF_LCDINTERFACE_RGB24_0_ \
180 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_0_
181 #define PADINDEX_OF_LCDINTERFACE_RGB24_1_ \
182 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_1_
183 #define PADINDEX_OF_LCDINTERFACE_RGB24_2_ \
184 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_2_
185 #define PADINDEX_OF_LCDINTERFACE_RGB24_3_ \
186 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_3_
187 #define PADINDEX_OF_LCDINTERFACE_RGB24_4_ \
188 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_4_
189 #define PADINDEX_OF_LCDINTERFACE_RGB24_5_ \
190 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_5_
191 #define PADINDEX_OF_LCDINTERFACE_RGB24_6_ \
192 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_6_
193 #define PADINDEX_OF_LCDINTERFACE_RGB24_7_ \
194 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_7_
195 #define PADINDEX_OF_LCDINTERFACE_RGB24_8_ \
196 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_8_
197 #define PADINDEX_OF_LCDINTERFACE_RGB24_9_ \
198 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_9_
199 #define PADINDEX_OF_LCDINTERFACE_RGB24_10_ \
200 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_10_
201 #define PADINDEX_OF_LCDINTERFACE_RGB24_11_ \
202 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_11_
203 #define PADINDEX_OF_LCDINTERFACE_RGB24_12_ \
204 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_12_
205 #define PADINDEX_OF_LCDINTERFACE_RGB24_13_ \
206 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_13_
207 #define PADINDEX_OF_LCDINTERFACE_RGB24_14_ \
208 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_14_
209 #define PADINDEX_OF_LCDINTERFACE_RGB24_15_ \
210 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_15_
211 #define PADINDEX_OF_LCDINTERFACE_RGB24_16_ \
212 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_16_
213 #define PADINDEX_OF_LCDINTERFACE_RGB24_17_ \
214 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_17_
215 #define PADINDEX_OF_LCDINTERFACE_RGB24_18_ \
216 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_18_
217 #define PADINDEX_OF_LCDINTERFACE_RGB24_19_ \
218 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_19_
219 #define PADINDEX_OF_LCDINTERFACE_RGB24_20_ \
220 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_20_
221 #define PADINDEX_OF_LCDINTERFACE_RGB24_21_ \
222 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_21_
223 #define PADINDEX_OF_LCDINTERFACE_RGB24_22_ \
224 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_22_
225 #define PADINDEX_OF_LCDINTERFACE_RGB24_23_ \
226 PADINDEX_OF_DISPLAYTOP_DUAL_DISPLAY_PRIM_23_
228 #define NUMBER_OF_HDMI_MODULE 1
229 #define INTNUM_OF_HDMI_MODULE INTNUM_OF_DISPLAYTOP_MODULE_HDMI_IRQ
230 #define RESETINDEX_OF_HDMI_MODULE_I_NRST \
231 RESETINDEX_OF_DISPLAYTOP_MODULE_I_HDMI_NRST
232 #define RESETINDEX_OF_HDMI_MODULE_I_NRST_VIDEO \
233 RESETINDEX_OF_DISPLAYTOP_MODULE_I_HDMI_VIDEO_NRST
234 #define RESETINDEX_OF_HDMI_MODULE_I_NRST_SPDIF \
235 RESETINDEX_OF_DISPLAYTOP_MODULE_I_HDMI_SPDIF_NRST
236 #define RESETINDEX_OF_HDMI_MODULE_I_NRST_TMDS \
237 RESETINDEX_OF_DISPLAYTOP_MODULE_I_HDMI_TMDS_NRST
238 #define RESETINDEX_OF_HDMI_MODULE_I_NRST_PHY \
239 RESETINDEX_OF_DISPLAYTOP_MODULE_I_HDMI_PHY_NRST
240 #define PADINDEX_OF_HDMI_I_PHY_CLKI PADINDEX_OF_DISPLAYTOP_I_HDMI_CLKI
241 #define PADINDEX_OF_HDMI_O_PHY_CLKO PADINDEX_OF_DISPLAYTOP_O_HDMI_CLKO
242 #define PADINDEX_OF_HDMI_IO_PHY_REXT PADINDEX_OF_DISPLAYTOP_IO_HDMI_REXT
243 #define PADINDEX_OF_HDMI_O_PHY_TX0P PADINDEX_OF_DISPLAYTOP_O_HDMI_TX0P
244 #define PADINDEX_OF_HDMI_O_PHY_TX0N PADINDEX_OF_DISPLAYTOP_O_HDMI_TX0N
245 #define PADINDEX_OF_HDMI_O_PHY_TX1P PADINDEX_OF_DISPLAYTOP_O_HDMI_TX1P
246 #define PADINDEX_OF_HDMI_O_PHY_TX1N PADINDEX_OF_DISPLAYTOP_O_HDMI_TX1N
247 #define PADINDEX_OF_HDMI_O_PHY_TX2P PADINDEX_OF_DISPLAYTOP_O_HDMI_TX2P
248 #define PADINDEX_OF_HDMI_O_PHY_TX2N PADINDEX_OF_DISPLAYTOP_O_HDMI_TX2N
249 #define PADINDEX_OF_HDMI_O_PHY_TXCP PADINDEX_OF_DISPLAYTOP_O_HDMI_TXCP
250 #define PADINDEX_OF_HDMI_O_PHY_TXCN PADINDEX_OF_DISPLAYTOP_O_HDMI_TXCN
251 #define PADINDEX_OF_HDMI_I_HOTPLUG PADINDEX_OF_DISPLAYTOP_I_HDMI_HOTPLUG_5V
252 #define PADINDEX_OF_HDMI_IO_PAD_CEC PADINDEX_OF_DISPLAYTOP_IO_HDMI_CEC
253 #define NUMBER_OF_LVDS_MODULE 1
255 #define RESETINDEX_OF_LVDS_MODULE_I_RESETN \
256 RESETINDEX_OF_DISPLAYTOP_MODULE_I_LVDS_NRST
257 #define RESETINDEX_OF_LVDS_MODULE RESETINDEX_OF_LVDS_MODULE_I_RESETN
259 #define PADINDEX_OF_LVDS_TAP PADINDEX_OF_DISPLAYTOP_LVDS_TXP_A
260 #define PADINDEX_OF_LVDS_TAN PADINDEX_OF_DISPLAYTOP_LVDS_TXN_A
261 #define PADINDEX_OF_LVDS_TBP PADINDEX_OF_DISPLAYTOP_LVDS_TXP_B
262 #define PADINDEX_OF_LVDS_TBN PADINDEX_OF_DISPLAYTOP_LVDS_TXN_B
263 #define PADINDEX_OF_LVDS_TCP PADINDEX_OF_DISPLAYTOP_LVDS_TXP_C
264 #define PADINDEX_OF_LVDS_TCN PADINDEX_OF_DISPLAYTOP_LVDS_TXN_C
265 #define PADINDEX_OF_LVDS_TDP PADINDEX_OF_DISPLAYTOP_LVDS_TXP_D
266 #define PADINDEX_OF_LVDS_TDN PADINDEX_OF_DISPLAYTOP_LVDS_TXN_D
267 #define PADINDEX_OF_LVDS_TCLKP PADINDEX_OF_DISPLAYTOP_LVDS_TXP_CLK
268 #define PADINDEX_OF_LVDS_TCLKN PADINDEX_OF_DISPLAYTOP_LVDS_TXN_CLK
269 #define PADINDEX_OF_LVDS_ROUT PADINDEX_OF_DISPLAYTOP_LVDS_ROUT
270 #define PADINDEX_OF_LVDS_TEP PADINDEX_OF_DISPLAYTOP_LVDS_TXN_E
271 #define PADINDEX_OF_LVDS_TEN PADINDEX_OF_DISPLAYTOP_LVDS_TXN_E
272 #define NUMBER_OF_DISPTOP_CLKGEN_MODULE 5
274 enum disptop_clkgen_module_index {
282 enum disptop_res_conv_iclk_cclk {
287 enum disptop_res_conv_oclk {
291 enum disptop_lcdif_clk {
292 lcdif_pixel_clkx_n = 0,
296 #define HDMI_SPDIF_CLKGEN 2
297 #define HDMI_SPDIF_CLKOUT 0
298 #define HDMI_I_VCLK_CLKOUT 0
299 #define PHY_BASEADDR_DISPTOP_CLKGEN0_MODULE \
300 (PHY_BASEADDR_DISPLAYTOP_MODULE + OTHER_ADDR_OFFSET + 0x006000)
301 #define PHY_BASEADDR_DISPTOP_CLKGEN1_MODULE \
302 (PHY_BASEADDR_DISPLAYTOP_MODULE + OTHER_ADDR_OFFSET + 0x007000)
303 #define PHY_BASEADDR_DISPTOP_CLKGEN2_MODULE \
304 (PHY_BASEADDR_DISPLAYTOP_MODULE + OTHER_ADDR_OFFSET + 0x005000)
305 #define PHY_BASEADDR_DISPTOP_CLKGEN3_MODULE \
306 (PHY_BASEADDR_DISPLAYTOP_MODULE + OTHER_ADDR_OFFSET + 0x008000)
307 #define PHY_BASEADDR_DISPTOP_CLKGEN4_MODULE \
308 (PHY_BASEADDR_DISPLAYTOP_MODULE + OTHER_ADDR_OFFSET + 0x009000)
310 struct nx_disp_top_register_set {
311 u32 resconv_mux_ctrl;
312 u32 interconv_mux_ctrl;
330 int nx_disp_top_initialize(void);
331 u32 nx_disp_top_get_number_of_module(void);
333 u32 nx_disp_top_get_physical_address(void);
334 u32 nx_disp_top_get_size_of_register_set(void);
335 void nx_disp_top_set_base_address(void *base_address);
336 void *nx_disp_top_get_base_address(void);
337 int nx_disp_top_open_module(void);
338 int nx_disp_top_close_module(void);
339 int nx_disp_top_check_busy(void);
347 enum prim_pad_mux_index {
348 padmux_primary_mlc = 0,
349 padmux_primary_mpu = 1,
350 padmux_secondary_mlc = 2,
351 padmux_resolution_conv = 3,
354 void nx_disp_top_set_resconvmux(int benb, u32 sel);
355 void nx_disp_top_set_hdmimux(int benb, u32 sel);
356 void nx_disp_top_set_mipimux(int benb, u32 sel);
357 void nx_disp_top_set_lvdsmux(int benb, u32 sel);
358 void nx_disp_top_set_primary_mux(u32 sel);
359 void nx_disp_top_hdmi_set_vsync_start(u32 sel);
360 void nx_disp_top_hdmi_set_vsync_hsstart_end(u32 start, u32 end);
361 void nx_disp_top_hdmi_set_hactive_start(u32 sel);
362 void nx_disp_top_hdmi_set_hactive_end(u32 sel);
364 void nx_disp_top_set_hdmifield(u32 enable, u32 init_val, u32 vsynctoggle,
365 u32 hsynctoggle, u32 vsyncclr, u32 hsyncclr,
366 u32 field_use, u32 muxsel);
371 padclk_reserved_clk = 2,
372 padclk_reserved_inv_clk = 3,
373 padclk_clk_div2_0 = 4,
374 padclk_clk_div2_90 = 5,
375 padclk_clk_div2_180 = 6,
376 padclk_clk_div2_270 = 7,
379 void nx_disp_top_set_padclock(u32 mux_index, u32 padclk_cfg);
380 void nx_disp_top_set_lcdif_enb(int enb);
381 void nx_disp_top_set_hdmifield(u32 enable, u32 init_val, u32 vsynctoggle,
382 u32 hsynctoggle, u32 vsyncclr, u32 hsyncclr,
383 u32 field_use, u32 muxsel);