imx51_ipuv3reg.h revision 1.1 1 1.1 bsh /* $NetBSD: imx51_ipuv3reg.h,v 1.1 2012/04/17 10:19:57 bsh Exp $ */
2 1.1 bsh /*
3 1.1 bsh * Copyright (c) 2011, 2012 Genetec Corporation. All rights reserved.
4 1.1 bsh * Written by Hashimoto Kenichi for Genetec Corporation.
5 1.1 bsh *
6 1.1 bsh * Redistribution and use in source and binary forms, with or without
7 1.1 bsh * modification, are permitted provided that the following conditions
8 1.1 bsh * are met:
9 1.1 bsh * 1. Redistributions of source code must retain the above copyright
10 1.1 bsh * notice, this list of conditions and the following disclaimer.
11 1.1 bsh * 2. Redistributions in binary form must reproduce the above copyright
12 1.1 bsh * notice, this list of conditions and the following disclaimer in the
13 1.1 bsh * documentation and/or other materials provided with the distribution.
14 1.1 bsh *
15 1.1 bsh * THIS SOFTWARE IS PROVIDED BY GENETEC CORPORATION ``AS IS'' AND
16 1.1 bsh * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17 1.1 bsh * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18 1.1 bsh * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENETEC CORPORATION
19 1.1 bsh * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20 1.1 bsh * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21 1.1 bsh * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 1.1 bsh * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 1.1 bsh * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24 1.1 bsh * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 1.1 bsh * POSSIBILITY OF SUCH DAMAGE.
26 1.1 bsh */
27 1.1 bsh #ifndef _ARM_IMX_IMX51_IPUV3REG_H
28 1.1 bsh #define _ARM_IMX_IMX51_IPUV3REG_H
29 1.1 bsh
30 1.1 bsh /* register offset address */
31 1.1 bsh
32 1.1 bsh /*
33 1.1 bsh * CM
34 1.1 bsh * Control Module
35 1.1 bsh */
36 1.1 bsh #define IPU_CM_CONF 0x00000000
37 1.1 bsh #define CM_CONF_CSI_SEL __BIT(31)
38 1.1 bsh #define CM_CONF_IC_INPUT __BIT(30)
39 1.1 bsh #define CM_CONF_CSI1_DATA_SOURCE __BIT(29)
40 1.1 bsh #define CM_CONF_CSI0_DATA_SOURCE __BIT(28)
41 1.1 bsh #define CM_CONF_VDI_DMFC_SYNC __BIT(27)
42 1.1 bsh #define CM_CONF_IC_DMFC_SYNC __BIT(26)
43 1.1 bsh #define CM_CONF_IC_DMFC_SEL __BIT(25)
44 1.1 bsh #define CM_CONF_ISP_DOUBLE_FLOW __BIT(24)
45 1.1 bsh #define CM_CONF_IDMAC_DISABLE __BIT(22)
46 1.1 bsh #define CM_CONF_IPU_DIAGBUS_ON __BIT(21)
47 1.1 bsh #define CM_CONF_IPU_DIAGBUS_MODE __BITS(20, 16)
48 1.1 bsh #define CM_CONF_VDI_EN __BIT(12)
49 1.1 bsh #define CM_CONF_SISG_EN __BIT(11)
50 1.1 bsh #define CM_CONF_DMFC_EN __BIT(10)
51 1.1 bsh #define CM_CONF_DC_EN __BIT(9)
52 1.1 bsh #define CM_CONF_SMFC_EN __BIT(8)
53 1.1 bsh #define CM_CONF_DI1_EN __BIT(7)
54 1.1 bsh #define CM_CONF_DI0_EN __BIT(6)
55 1.1 bsh #define CM_CONF_DP_EN __BIT(5)
56 1.1 bsh #define CM_CONF_ISP_EN __BIT(4)
57 1.1 bsh #define CM_CONF_IRT_EN __BIT(3)
58 1.1 bsh #define CM_CONF_IC_EN __BIT(2)
59 1.1 bsh #define CM_CONF_CSI1_EN __BIT(1)
60 1.1 bsh #define CM_CONF_CSI0_EN __BIT(0)
61 1.1 bsh #define IPU_SISG_CTRL0 0x00000004
62 1.1 bsh #define IPU_SISG_CTRL1 0x00000008
63 1.1 bsh #define IPU_CM_INT_CTRL_1 0x0000003c
64 1.1 bsh #define IPU_CM_INT_CTRL_2 0x00000040
65 1.1 bsh #define IPU_CM_INT_CTRL_3 0x00000044
66 1.1 bsh #define IPU_CM_INT_CTRL_4 0x00000048
67 1.1 bsh #define IPU_CM_INT_CTRL_5 0x0000004c
68 1.1 bsh #define IPU_CM_INT_CTRL_6 0x00000050
69 1.1 bsh #define IPU_CM_INT_CTRL_7 0x00000054
70 1.1 bsh #define IPU_CM_INT_CTRL_8 0x00000058
71 1.1 bsh #define IPU_CM_INT_CTRL_9 0x0000005c
72 1.1 bsh #define IPU_CM_INT_CTRL_10 0x00000060
73 1.1 bsh #define IPU_CM_INT_CTRL_11 0x00000064
74 1.1 bsh #define IPU_CM_INT_CTRL_12 0x00000068
75 1.1 bsh #define IPU_CM_INT_CTRL_13 0x0000006c
76 1.1 bsh #define IPU_CM_INT_CTRL_14 0x00000070
77 1.1 bsh #define IPU_CM_INT_CTRL_15 0x00000074
78 1.1 bsh #define IPU_CM_SDMA_EVENT_1 0x00000078
79 1.1 bsh #define IPU_CM_SDMA_EVENT_2 0x0000007c
80 1.1 bsh #define IPU_CM_SDMA_EVENT_3 0x00000080
81 1.1 bsh #define IPU_CM_SDMA_EVENT_4 0x00000084
82 1.1 bsh #define IPU_CM_SDMA_EVENT_7 0x00000088
83 1.1 bsh #define IPU_CM_SDMA_EVENT_8 0x0000008c
84 1.1 bsh #define IPU_CM_SDMA_EVENT_11 0x00000090
85 1.1 bsh #define IPU_CM_SDMA_EVENT_12 0x00000094
86 1.1 bsh #define IPU_CM_SDMA_EVENT_13 0x00000098
87 1.1 bsh #define IPU_CM_SDMA_EVENT_14 0x0000009c
88 1.1 bsh #define IPU_CM_SRM_PRI1 0x000000a0
89 1.1 bsh #define IPU_CM_SRM_PRI2 0x000000a4
90 1.1 bsh #define IPU_CM_FS_PROC_FLOW1 0x000000a8
91 1.1 bsh #define IPU_CM_FS_PROC_FLOW2 0x000000ac
92 1.1 bsh #define IPU_CM_FS_PROC_FLOW3 0x000000b0
93 1.1 bsh #define IPU_CM_FS_DISP_FLOW1 0x000000b4
94 1.1 bsh #define IPU_CM_FS_DISP_FLOW2 0x000000b8
95 1.1 bsh #define IPU_CM_SKIP 0x000000bc
96 1.1 bsh #define IPU_CM_DISP_ALT_CONF 0x000000c0
97 1.1 bsh #define IPU_CM_DISP_GEN 0x000000c4
98 1.1 bsh #define CM_DISP_GEN_DI0_COUNTER_RELEASE __BIT(24)
99 1.1 bsh #define CM_DISP_GEN_DI1_COUNTER_RELEASE __BIT(23)
100 1.1 bsh #define CM_DISP_GEN_MCU_MAX_BURST_STOP __BIT(22)
101 1.1 bsh #define CM_DISP_GEN_MCU_T_SHIFT 18
102 1.1 bsh #define CM_DISP_GEN_MCU_T(n) ((n) << CM_DISP_GEN_MCU_T_SHIFT)
103 1.1 bsh #define IPU_CM_DISP_ALT1 0x000000c8
104 1.1 bsh #define IPU_CM_DISP_ALT2 0x000000cc
105 1.1 bsh #define IPU_CM_DISP_ALT3 0x000000d0
106 1.1 bsh #define IPU_CM_DISP_ALT4 0x000000d4
107 1.1 bsh #define IPU_CM_SNOOP 0x000000d8
108 1.1 bsh #define IPU_CM_MEM_RST 0x000000dc
109 1.1 bsh #define CM_MEM_START __BIT(31)
110 1.1 bsh #define CM_MEM_EN __BITS(22, 0)
111 1.1 bsh #define IPU_CM_PM 0x000000e0
112 1.1 bsh #define IPU_CM_GPR 0x000000e4
113 1.1 bsh #define CM_GPR_IPU_CH_BUF1_RDY1_CLR __BIT(31)
114 1.1 bsh #define CM_GPR_IPU_CH_BUF1_RDY0_CLR __BIT(30)
115 1.1 bsh #define CM_GPR_IPU_CH_BUF0_RDY1_CLR __BIT(29)
116 1.1 bsh #define CM_GPR_IPU_CH_BUF0_RDY0_CLR __BIT(28)
117 1.1 bsh #define CM_GPR_IPU_ALT_CH_BUF1_RDY1_CLR __BIT(27)
118 1.1 bsh #define CM_GPR_IPU_ALT_CH_BUF1_RDY0_CLR __BIT(26)
119 1.1 bsh #define CM_GPR_IPU_ALT_CH_BUF0_RDY1_CLR __BIT(25)
120 1.1 bsh #define CM_GPR_IPU_ALT_CH_BUF0_RDY0_CLR __BIT(24)
121 1.1 bsh #define CM_GPR_IPU_DI1_CLK_CHANGE_ACK_DIS __BIT(23)
122 1.1 bsh #define CM_GPR_IPU_DI0_CLK_CHANGE_ACK_DIS __BIT(22)
123 1.1 bsh #define CM_GPR_IPU_CH_BUF2_RDY1_CLR __BIT(21)
124 1.1 bsh #define CM_GPR_IPU_CH_BUF2_RDY0_CLR __BIT(20)
125 1.1 bsh #define CM_GPR_IPU_GP(n) __BIT((n))
126 1.1 bsh #define IPU_CM_CH_DB_MODE_SEL_0 0x00000150
127 1.1 bsh #define IPU_CM_CH_DB_MODE_SEL_1 0x00000154
128 1.1 bsh #define IPU_CM_ALT_CH_DB_MODE_SEL_0 0x00000168
129 1.1 bsh #define IPU_CM_ALT_CH_DB_MODE_SEL_1 0x0000016c
130 1.1 bsh #define IPU_CM_CH_TRB_MODE_SEL_0 0x00000178
131 1.1 bsh #define IPU_CM_CH_TRB_MODE_SEL_1 0x0000017c
132 1.1 bsh #define IPU_CM_INT_STAT_1 0x00000200
133 1.1 bsh #define IPU_CM_INT_STAT_2 0x00000204
134 1.1 bsh #define IPU_CM_INT_STAT_3 0x00000208
135 1.1 bsh #define IPU_CM_INT_STAT_4 0x0000020c
136 1.1 bsh #define IPU_CM_INT_STAT_5 0x00000210
137 1.1 bsh #define IPU_CM_INT_STAT_6 0x00000214
138 1.1 bsh #define IPU_CM_INT_STAT_7 0x00000218
139 1.1 bsh #define IPU_CM_INT_STAT_8 0x0000021c
140 1.1 bsh #define IPU_CM_INT_STAT_9 0x00000220
141 1.1 bsh #define IPU_CM_INT_STAT_10 0x00000224
142 1.1 bsh #define IPU_CM_INT_STAT_11 0x00000228
143 1.1 bsh #define IPU_CM_INT_STAT_12 0x0000022c
144 1.1 bsh #define IPU_CM_INT_STAT_13 0x00000230
145 1.1 bsh #define IPU_CM_INT_STAT_14 0x00000234
146 1.1 bsh #define IPU_CM_INT_STAT_15 0x00000238
147 1.1 bsh #define IPU_CM_CUR_BUF_0 0x0000023c
148 1.1 bsh #define IPU_CM_CUR_BUF_1 0x00000240
149 1.1 bsh #define IPU_CM_ALT_CUR_BUF_0 0x00000244
150 1.1 bsh #define IPU_CM_ALT_CUR_BUF_1 0x00000248
151 1.1 bsh #define IPU_CM_SRM_STAT 0x0000024c
152 1.1 bsh #define IPU_CM_PROC_TASKS_STAT 0x00000250
153 1.1 bsh #define IPU_CM_DISP_TASKS_STAT 0x00000254
154 1.1 bsh #define IPU_CM_TRIPLE_CUR_BUF_0 0x00000258
155 1.1 bsh #define IPU_CM_TRIPLE_CUR_BUF_1 0x0000025c
156 1.1 bsh #define IPU_CM_TRIPLE_CUR_BUF_2 0x00000260
157 1.1 bsh #define IPU_CM_TRIPLE_CUR_BUF_3 0x00000264
158 1.1 bsh #define IPU_CM_CH_BUF0_RDY0 0x00000268
159 1.1 bsh #define IPU_CM_CH_BUF0_RDY1 0x0000026c
160 1.1 bsh #define IPU_CM_CH_BUF1_RDY0 0x00000270
161 1.1 bsh #define IPU_CM_CH_BUF1_RDY1 0x00000274
162 1.1 bsh #define IPU_CM_ALT_CH_BUF0_RDY0 0x00000278
163 1.1 bsh #define IPU_CM_ALT_CH_BUF0_RDY1 0x0000027c
164 1.1 bsh #define IPU_CM_ALT_CH_BUF1_RDY0 0x00000280
165 1.1 bsh #define IPU_CM_ALT_CH_BUF1_RDY1 0x00000284
166 1.1 bsh #define IPU_CM_CH_BUF2_RDY0 0x00000288
167 1.1 bsh #define IPU_CM_CH_BUF2_RDY1 0x0000028c
168 1.1 bsh
169 1.1 bsh /*
170 1.1 bsh * IDMAC
171 1.1 bsh * Image DMA Controller
172 1.1 bsh */
173 1.1 bsh #define IPU_IDMAC_CONF 0x00000000
174 1.1 bsh #define IPU_IDMAC_CH_EN_1 0x00000004
175 1.1 bsh #define IPU_IDMAC_CH_EN_2 0x00000008
176 1.1 bsh #define IPU_IDMAC_SEP_ALPHA 0x0000000c
177 1.1 bsh #define IPU_IDMAC_ALT_SEP_ALPHA 0x00000010
178 1.1 bsh #define IPU_IDMAC_CH_PRI_1 0x00000014
179 1.1 bsh #define IPU_IDMAC_CH_PRI_2 0x00000018
180 1.1 bsh #define IPU_IDMAC_WM_EN_1 0x0000001c
181 1.1 bsh #define IPU_IDMAC_WM_EN_2 0x00000020
182 1.1 bsh #define IPU_IDMAC_LOCK_EN_1 0x00000024
183 1.1 bsh #define IPU_IDMAC_LOCK_EN_2 0x00000028
184 1.1 bsh #define IPU_IDMAC_SUB_ADDR_0 0x0000002c
185 1.1 bsh #define IPU_IDMAC_SUB_ADDR_1 0x00000030
186 1.1 bsh #define IPU_IDMAC_SUB_ADDR_2 0x00000034
187 1.1 bsh #define IPU_IDMAC_SUB_ADDR_3 0x00000038
188 1.1 bsh #define IPU_IDMAC_SUB_ADDR_4 0x0000003c
189 1.1 bsh #define IPU_IDMAC_BNDM_EN_1 0x00000040
190 1.1 bsh #define IPU_IDMAC_BNDM_EN_2 0x00000044
191 1.1 bsh #define IPU_IDMAC_SC_CORD 0x00000048
192 1.1 bsh #define IPU_IDMAC_SC_CORD1 0x0000004c
193 1.1 bsh #define IPU_IDMAC_CH_BUSY_1 0x00000100
194 1.1 bsh #define IPU_IDMAC_CH_BUSY_2 0x00000104
195 1.1 bsh
196 1.1 bsh #define CH_PANNEL_BG 23
197 1.1 bsh #define CH_PANNEL_FG 27
198 1.1 bsh
199 1.1 bsh /*
200 1.1 bsh * DP
201 1.1 bsh * Display Port
202 1.1 bsh */
203 1.1 bsh #define IPU_DP_DEBUG_CNT 0x000000bc
204 1.1 bsh #define IPU_DP_DEBUG_STAT 0x000000c0
205 1.1 bsh
206 1.1 bsh /*
207 1.1 bsh * IC
208 1.1 bsh * Image Converter
209 1.1 bsh */
210 1.1 bsh #define IPU_IC_CONF 0x00000000
211 1.1 bsh #define IPU_IC_PRP_ENC_RSC 0x00000004
212 1.1 bsh #define IPU_IC_PRP_VF_RSC 0x00000008
213 1.1 bsh #define IPU_IC_PP_RSC 0x0000000c
214 1.1 bsh #define IPU_IC_CMBP_1 0x00000010
215 1.1 bsh #define IPU_IC_CMBP_2 0x00000014
216 1.1 bsh #define IPU_IC_IDMAC_1 0x00000018
217 1.1 bsh #define IPU_IC_IDMAC_2 0x0000001c
218 1.1 bsh #define IPU_IC_IDMAC_3 0x00000020
219 1.1 bsh #define IPU_IC_IDMAC_4 0x00000024
220 1.1 bsh
221 1.1 bsh /*
222 1.1 bsh * CSI
223 1.1 bsh * Camera Sensor Interface
224 1.1 bsh */
225 1.1 bsh #define IPU_CSI0_SENS_CONF 0x00000000
226 1.1 bsh #define IPU_CSI0_SENS_FRM_SIZE 0x00000004
227 1.1 bsh #define IPU_CSI0_ACT_FRM_SIZE 0x00000008
228 1.1 bsh #define IPU_CSI0_OUT_FRM_CTRL 0x0000000c
229 1.1 bsh #define IPU_CSI0_TST_CTRL 0x00000010
230 1.1 bsh #define IPU_CSI0_CCIR_CODE_1 0x00000014
231 1.1 bsh #define IPU_CSI0_CCIR_CODE_2 0x00000018
232 1.1 bsh #define IPU_CSI0_CCIR_CODE_3 0x0000001c
233 1.1 bsh #define IPU_CSI0_DI 0x00000020
234 1.1 bsh #define IPU_CSI0_SKIP 0x00000024
235 1.1 bsh #define IPU_CSI0_CPD_CTRL 0x00000028
236 1.1 bsh #define IPU_CSI0_CPD_OFFSET1 0x000000ec
237 1.1 bsh #define IPU_CSI0_CPD_OFFSET2 0x000000f0
238 1.1 bsh
239 1.1 bsh #define IPU_CSI1_SENS_CONF 0x00000000
240 1.1 bsh #define IPU_CSI1_SENS_FRM_SIZE 0x00000004
241 1.1 bsh #define IPU_CSI1_ACT_FRM_SIZE 0x00000008
242 1.1 bsh #define IPU_CSI1_OUT_FRM_CTRL 0x0000000c
243 1.1 bsh #define IPU_CSI1_TST_CTRL 0x00000010
244 1.1 bsh #define IPU_CSI1_CCIR_CODE_1 0x00000014
245 1.1 bsh #define IPU_CSI1_CCIR_CODE_2 0x00000018
246 1.1 bsh #define IPU_CSI1_CCIR_CODE_3 0x0000001c
247 1.1 bsh #define IPU_CSI1_DI 0x00000020
248 1.1 bsh #define IPU_CSI1_SKIP 0x00000024
249 1.1 bsh #define IPU_CSI1_CPD_CTRL 0x00000028
250 1.1 bsh #define IPU_CSI1_CPD_OFFSET1 0x000000ec
251 1.1 bsh #define IPU_CSI1_CPD_OFFSET2 0x000000f0
252 1.1 bsh
253 1.1 bsh /*
254 1.1 bsh * DI
255 1.1 bsh * Display Interface
256 1.1 bsh */
257 1.1 bsh #define IPU_DI_GENERAL 0x00000000
258 1.1 bsh #define DI_GENERAL_DISP_Y_SEL __BITS(30, 28)
259 1.1 bsh #define DI_GENERAL_CLOCK_STOP_MODE __BITS(27, 24)
260 1.1 bsh #define DI_GENERAL_DISP_CLOCK_INIT __BIT(23)
261 1.1 bsh #define DI_GENERAL_MASK_SEL __BIT(22)
262 1.1 bsh #define DI_GENERAL_VSYNC_EXT __BIT(21)
263 1.1 bsh #define DI_GENERAL_CLK_EXT __BIT(20)
264 1.1 bsh #define DI_GENERAL_WATCHDOG_MODE __BITS(19, 18)
265 1.1 bsh #define DI_GENERAL_POLARITY_DISP_CLK __BIT(17)
266 1.1 bsh #define DI_GENERAL_SYNC_COUNT_SEL __BITS(15, 12)
267 1.1 bsh #define DI_GENERAL_ERR_TREATMENT __BIT(11)
268 1.1 bsh #define DI_GENERAL_ERM_VSYNC_SEL __BIT(10)
269 1.1 bsh #define DI_GENERAL_POLARITY_CS(n) (1 << ((n) + 8))
270 1.1 bsh #define DI_GENERAL_POLARITY(n) (1 << ((n) - 1))
271 1.1 bsh
272 1.1 bsh #define IPU_DI_BS_CLKGEN0 0x00000004
273 1.1 bsh #define DI_BS_CLKGEN0_OFFSET_SHIFT 16
274 1.1 bsh #define IPU_DI_BS_CLKGEN1 0x00000008
275 1.1 bsh #define DI_BS_CLKGEN1_DOWN_SHIFT 16
276 1.1 bsh #define DI_BS_CLKGEN1_UP_SHIFT 0
277 1.1 bsh #define IPU_DI_SW_GEN0(n) (0x0000000c + ((n) - 1) * 4)
278 1.1 bsh #define DI_SW_GEN0_RUN_VAL __BITS(30, 19)
279 1.1 bsh #define DI_SW_GEN0_RUN_RESOL __BITS(18, 16)
280 1.1 bsh #define DI_SW_GEN0_OFFSET_VAL __BITS(14, 3)
281 1.1 bsh #define DI_SW_GEN0_OFFSET_RESOL __BITS( 2, 0)
282 1.1 bsh #define __DI_SW_GEN0(run_val, run_resol, offset_val, offset_resol) \
283 1.1 bsh (((run_val) << 19) | ((run_resol) << 16) | \
284 1.1 bsh ((offset_val) << 3) | (offset_resol))
285 1.1 bsh #define IPU_DI_SW_GEN1(n) (0x00000030 + ((n) - 1) * 4)
286 1.1 bsh #define DI_SW_GEN1_CNT_POL_GEN_EN __BITS(30, 29)
287 1.1 bsh #define DI_SW_GEN1_CNT_AUTO_RELOAD __BIT(28)
288 1.1 bsh #define DI_SW_GEN1_CNT_CLR_SEL __BITS(27, 25)
289 1.1 bsh #define DI_SW_GEN1_CNT_DOWN __BITS(24, 16)
290 1.1 bsh #define DI_SW_GEN1_CNT_POL_TRIG_SEL __BITS(14, 12)
291 1.1 bsh #define DI_SW_GEN1_CNT_POL_CLR_SEL __BITS(11, 9)
292 1.1 bsh #define DI_SW_GEN1_CNT_UP __BITS( 8, 0)
293 1.1 bsh #define __DI_SW_GEN1(pol_gen_en, auto_reload, clr_sel, down, pol_trig_sel, pol_clr_sel, up) \
294 1.1 bsh (((pol_gen_en) << 29) | ((auto_reload) << 28) | \
295 1.1 bsh ((clr_sel) << 25) | \
296 1.1 bsh ((down) << 16) | ((pol_trig_sel) << 12) | \
297 1.1 bsh ((pol_clr_sel) << 9) | (up))
298 1.1 bsh #define IPU_DI_SYNC_AS_GEN 0x00000054
299 1.1 bsh #define DI_SYNC_AS_GEN_SYNC_START_EN __BIT(28)
300 1.1 bsh #define DI_SYNC_AS_GEN_VSYNC_SEL __BITS(15, 13)
301 1.1 bsh #define DI_SYNC_AS_GEN_VSYNC_SEL_SHIFT 13
302 1.1 bsh #define DI_SYNC_AS_GEN_SYNC_STAR __BITS(11, 0)
303 1.1 bsh #define IPU_DI_DW_GEN(n) (0x00000058 + (n) * 4)
304 1.1 bsh #define DI_DW_GEN_ACCESS_SIZE_SHIFT 24
305 1.1 bsh #define DI_DW_GEN_COMPONNENT_SIZE_SHIFT 16
306 1.1 bsh #define DI_DW_GEN_PIN_SHIFT(n) (((n) - 11) * 2)
307 1.1 bsh #define DI_DW_GEN_PIN(n) __BITS(DI_DW_GEN_PIN_SHIFT(n) + 1, \
308 1.1 bsh DI_DW_GEN_PIN_SHIFT(n))
309 1.1 bsh #define IPU_DI_DW_SET(n, m) (0x00000088 + (n) * 4 + (m) * 0x30)
310 1.1 bsh #define DI_DW_SET_DOWN_SHIFT 16
311 1.1 bsh #define DI_DW_SET_UP_SHIFT 0
312 1.1 bsh #define IPU_DI_STP_REP(n) (0x00000148 + ((n - 1) / 2) * 4)
313 1.1 bsh #define DI_STP_REP_SHIFT(n) (((n - 1) % 2) * 16)
314 1.1 bsh #define DI_STP_REP_MASK(n) (__BITS(11, 0) << DI_STP_REP_SHIFT((n)))
315 1.1 bsh #define IPU_DI_SER_CONF 0x0000015c
316 1.1 bsh #define IPU_DI_SSC 0x00000160
317 1.1 bsh #define IPU_DI_POL 0x00000164
318 1.1 bsh #define DI_POL_DRDY_POLARITY_17 __BIT(6)
319 1.1 bsh #define DI_POL_DRDY_POLARITY_16 __BIT(5)
320 1.1 bsh #define DI_POL_DRDY_POLARITY_15 __BIT(4)
321 1.1 bsh #define DI_POL_DRDY_POLARITY_14 __BIT(3)
322 1.1 bsh #define DI_POL_DRDY_POLARITY_13 __BIT(2)
323 1.1 bsh #define DI_POL_DRDY_POLARITY_12 __BIT(1)
324 1.1 bsh #define DI_POL_DRDY_POLARITY_11 __BIT(0)
325 1.1 bsh #define IPU_DI_AW0 0x00000168
326 1.1 bsh #define IPU_DI_AW1 0x0000016c
327 1.1 bsh #define IPU_DI_SCR_CONF 0x00000170
328 1.1 bsh #define IPU_DI_STAT 0x00000174
329 1.1 bsh
330 1.1 bsh /*
331 1.1 bsh * SMFC
332 1.1 bsh * Sensor Multi FIFO Controller
333 1.1 bsh */
334 1.1 bsh #define IPU_SMFC_MAP 0x00000000
335 1.1 bsh #define IPU_SMFC_WMC 0x00000004
336 1.1 bsh #define IPU_SMFC_BS 0x00000008
337 1.1 bsh
338 1.1 bsh /*
339 1.1 bsh * DC
340 1.1 bsh * Display Controller
341 1.1 bsh */
342 1.1 bsh #define IPU_DC_READ_CH_CONF 0x00000000
343 1.1 bsh #define IPU_DC_READ_CH_ADDR 0x00000004
344 1.1 bsh
345 1.1 bsh #define IPU_DC_RL0_CH_0 0x00000008
346 1.1 bsh #define IPU_DC_RL1_CH_0 0x0000000c
347 1.1 bsh #define IPU_DC_RL2_CH_0 0x00000010
348 1.1 bsh #define IPU_DC_RL3_CH_0 0x00000014
349 1.1 bsh #define IPU_DC_RL4_CH_0 0x00000018
350 1.1 bsh #define IPU_DC_WR_CH_CONF_1 0x0000001c
351 1.1 bsh #define IPU_DC_WR_CH_ADDR_1 0x00000020
352 1.1 bsh #define IPU_DC_RL0_CH_1 0x00000024
353 1.1 bsh #define IPU_DC_RL1_CH_1 0x00000028
354 1.1 bsh #define IPU_DC_RL2_CH_1 0x0000002c
355 1.1 bsh #define IPU_DC_RL3_CH_1 0x00000030
356 1.1 bsh #define IPU_DC_RL4_CH_1 0x00000034
357 1.1 bsh #define IPU_DC_WR_CH_CONF_2 0x00000038
358 1.1 bsh #define IPU_DC_WR_CH_ADDR_2 0x0000003c
359 1.1 bsh #define IPU_DC_RL0_CH_2 0x00000040
360 1.1 bsh #define IPU_DC_RL1_CH_2 0x00000044
361 1.1 bsh #define IPU_DC_RL2_CH_2 0x00000048
362 1.1 bsh #define IPU_DC_RL3_CH_2 0x0000004c
363 1.1 bsh #define IPU_DC_RL4_CH_2 0x00000050
364 1.1 bsh #define IPU_DC_CMD_CH_CONF_3 0x00000054
365 1.1 bsh #define IPU_DC_CMD_CH_CONF_4 0x00000058
366 1.1 bsh #define IPU_DC_WR_CH_CONF_5 0x0000005c
367 1.1 bsh #define IPU_DC_WR_CH_ADDR_5 0x00000060
368 1.1 bsh #define IPU_DC_RL0_CH_5 0x00000064
369 1.1 bsh #define IPU_DC_RL1_CH_5 0x00000068
370 1.1 bsh #define IPU_DC_RL2_CH_5 0x0000006c
371 1.1 bsh #define IPU_DC_RL3_CH_5 0x00000070
372 1.1 bsh #define IPU_DC_RL4_CH_5 0x00000074
373 1.1 bsh #define IPU_DC_WR_CH_CONF_6 0x00000078
374 1.1 bsh #define IPU_DC_WR_CH_ADDR_6 0x0000007c
375 1.1 bsh #define IPU_DC_RL0_CH_6 0x00000080
376 1.1 bsh #define IPU_DC_RL1_CH_6 0x00000084
377 1.1 bsh #define IPU_DC_RL2_CH_6 0x00000088
378 1.1 bsh #define IPU_DC_RL3_CH_6 0x0000008c
379 1.1 bsh #define IPU_DC_RL4_CH_6 0x00000090
380 1.1 bsh #define IPU_DC_WR_CH_CONF1_8 0x00000094
381 1.1 bsh #define IPU_DC_WR_CH_CONF2_8 0x00000098
382 1.1 bsh #define IPU_DC_RL1_CH_8 0x0000009c
383 1.1 bsh #define IPU_DC_RL2_CH_8 0x000000a0
384 1.1 bsh #define IPU_DC_RL3_CH_8 0x000000a4
385 1.1 bsh #define IPU_DC_RL4_CH_8 0x000000a8
386 1.1 bsh #define IPU_DC_RL5_CH_8 0x000000ac
387 1.1 bsh #define IPU_DC_RL6_CH_8 0x000000b0
388 1.1 bsh #define IPU_DC_WR_CH_CONF1_9 0x000000b4
389 1.1 bsh #define IPU_DC_WR_CH_CONF2_9 0x000000b8
390 1.1 bsh #define IPU_DC_RL1_CH_9 0x000000bc
391 1.1 bsh #define IPU_DC_RL2_CH_9 0x000000c0
392 1.1 bsh #define IPU_DC_RL3_CH_9 0x000000c4
393 1.1 bsh #define IPU_DC_RL4_CH_9 0x000000c8
394 1.1 bsh #define IPU_DC_RL5_CH_9 0x000000cc
395 1.1 bsh #define IPU_DC_RL6_CH_9 0x000000d0
396 1.1 bsh
397 1.1 bsh #define IPU_DC_RL(chan_base, evt) ((chan_base) + (evt / 2) *0x4)
398 1.1 bsh #define DC_RL_CH_0 IPU_DC_RL0_CH_0
399 1.1 bsh #define DC_RL_CH_1 IPU_DC_RL0_CH_1
400 1.1 bsh #define DC_RL_CH_2 IPU_DC_RL0_CH_2
401 1.1 bsh #define DC_RL_CH_5 IPU_DC_RL0_CH_5
402 1.1 bsh #define DC_RL_CH_6 IPU_DC_RL0_CH_6
403 1.1 bsh #define DC_RL_CH_8 IPU_DC_RL0_CH_8
404 1.1 bsh
405 1.1 bsh #define DC_RL_EVT_NF 0
406 1.1 bsh #define DC_RL_EVT_NL 1
407 1.1 bsh #define DC_RL_EVT_EOF 2
408 1.1 bsh #define DC_RL_EVT_NFIELD 3
409 1.1 bsh #define DC_RL_EVT_EOL 4
410 1.1 bsh #define DC_RL_EVT_EOFIELD 5
411 1.1 bsh #define DC_RL_EVT_NEW_ADDR 6
412 1.1 bsh #define DC_RL_EVT_NEW_CHAN 7
413 1.1 bsh #define DC_RL_EVT_NEW_DATA 8
414 1.1 bsh
415 1.1 bsh #define IPU_DC_GEN 0x000000d4
416 1.1 bsh #define IPU_DC_DISP_CONF1_0 0x000000d8
417 1.1 bsh #define IPU_DC_DISP_CONF1_1 0x000000dc
418 1.1 bsh #define IPU_DC_DISP_CONF1_2 0x000000e0
419 1.1 bsh #define IPU_DC_DISP_CONF1_3 0x000000e4
420 1.1 bsh #define IPU_DC_DISP_CONF2_0 0x000000e8
421 1.1 bsh #define IPU_DC_DISP_CONF2_1 0x000000ec
422 1.1 bsh #define IPU_DC_DISP_CONF2_2 0x000000f0
423 1.1 bsh #define IPU_DC_DISP_CONF2_3 0x000000f4
424 1.1 bsh #define IPU_DC_DI0_CONF_1 0x000000f8
425 1.1 bsh #define IPU_DC_DI0_CONF_2 0x000000fc
426 1.1 bsh #define IPU_DC_DI1_CONF_1 0x00000100
427 1.1 bsh #define IPU_DC_DI1_CONF_2 0x00000104
428 1.1 bsh
429 1.1 bsh #define IPU_DC_MAP_CONF_PNTR(n) (0x00000108 + (n) * 4)
430 1.1 bsh #define IPU_DC_MAP_CONF_0 0x00000108
431 1.1 bsh #define IPU_DC_MAP_CONF_1 0x0000010c
432 1.1 bsh #define IPU_DC_MAP_CONF_2 0x00000110
433 1.1 bsh #define IPU_DC_MAP_CONF_3 0x00000114
434 1.1 bsh #define IPU_DC_MAP_CONF_4 0x00000118
435 1.1 bsh #define IPU_DC_MAP_CONF_5 0x0000011c
436 1.1 bsh #define IPU_DC_MAP_CONF_6 0x00000120
437 1.1 bsh #define IPU_DC_MAP_CONF_7 0x00000124
438 1.1 bsh #define IPU_DC_MAP_CONF_8 0x00000128
439 1.1 bsh #define IPU_DC_MAP_CONF_9 0x0000012c
440 1.1 bsh #define IPU_DC_MAP_CONF_10 0x00000130
441 1.1 bsh #define IPU_DC_MAP_CONF_11 0x00000134
442 1.1 bsh #define IPU_DC_MAP_CONF_12 0x00000138
443 1.1 bsh #define IPU_DC_MAP_CONF_13 0x0000013c
444 1.1 bsh #define IPU_DC_MAP_CONF_14 0x00000140
445 1.1 bsh
446 1.1 bsh #define IPU_DC_MAP_CONF_MASK(n) (0x00000144 + (n) * 4)
447 1.1 bsh #define IPU_DC_MAP_CONF_15 0x00000144
448 1.1 bsh #define IPU_DC_MAP_CONF_16 0x00000148
449 1.1 bsh #define IPU_DC_MAP_CONF_17 0x0000014c
450 1.1 bsh #define IPU_DC_MAP_CONF_18 0x00000150
451 1.1 bsh #define IPU_DC_MAP_CONF_19 0x00000154
452 1.1 bsh #define IPU_DC_MAP_CONF_20 0x00000158
453 1.1 bsh #define IPU_DC_MAP_CONF_21 0x0000015c
454 1.1 bsh #define IPU_DC_MAP_CONF_22 0x00000160
455 1.1 bsh #define IPU_DC_MAP_CONF_23 0x00000164
456 1.1 bsh #define IPU_DC_MAP_CONF_24 0x00000168
457 1.1 bsh #define IPU_DC_MAP_CONF_25 0x0000016c
458 1.1 bsh #define IPU_DC_MAP_CONF_26 0x00000170
459 1.1 bsh
460 1.1 bsh #define IPU_DC_UGDE(m, n) (0x00000174 + (m) * 0x10 + (n) +4)
461 1.1 bsh #define IPU_DC_UGDE0_0 0x00000174
462 1.1 bsh #define IPU_DC_UGDE0_1 0x00000178
463 1.1 bsh #define IPU_DC_UGDE0_2 0x0000017c
464 1.1 bsh #define IPU_DC_UGDE0_3 0x00000180
465 1.1 bsh #define IPU_DC_UGDE1_0 0x00000184
466 1.1 bsh #define IPU_DC_UGDE1_1 0x00000188
467 1.1 bsh #define IPU_DC_UGDE1_2 0x0000018c
468 1.1 bsh #define IPU_DC_UGDE1_3 0x00000190
469 1.1 bsh #define IPU_DC_UGDE2_0 0x00000194
470 1.1 bsh #define IPU_DC_UGDE2_1 0x00000198
471 1.1 bsh #define IPU_DC_UGDE2_2 0x0000019c
472 1.1 bsh #define IPU_DC_UGDE2_3 0x000001a0
473 1.1 bsh #define IPU_DC_UGDE3_0 0x000001a4
474 1.1 bsh #define IPU_DC_UGDE3_1 0x000001a8
475 1.1 bsh #define IPU_DC_UGDE3_2 0x000001ac
476 1.1 bsh #define IPU_DC_UGDE3_3 0x000001b0
477 1.1 bsh #define IPU_DC_LLA0 0x000001b4
478 1.1 bsh #define IPU_DC_LLA1 0x000001b8
479 1.1 bsh #define IPU_DC_R_LLA0 0x000001bc
480 1.1 bsh #define IPU_DC_R_LLA1 0x000001c0
481 1.1 bsh #define IPU_DC_WR_CH_ADDR_5_ALT 0x000001c4
482 1.1 bsh #define IPU_DC_STAT 0x000001c8
483 1.1 bsh
484 1.1 bsh /*
485 1.1 bsh * DMFC
486 1.1 bsh * Display Multi FIFO Controller
487 1.1 bsh */
488 1.1 bsh #define IPU_DMFC_RD_CHAN 0x00000000
489 1.1 bsh #define DMFC_RD_CHAN_PPW_C __BITS(25,24)
490 1.1 bsh #define DMFC_RD_CHAN_WM_DR_0 __BITS(23,21)
491 1.1 bsh #define DMFC_RD_CHAN_WM_SET_0 __BITS(20,18)
492 1.1 bsh #define DMFC_RD_CHAN_WM_EN_0 __BIT(17)
493 1.1 bsh #define DMFC_RD_CHAN_BURST_SIZE_0 __BITS( 7, 6)
494 1.1 bsh #define IPU_DMFC_WR_CHAN 0x00000004
495 1.1 bsh #define DMFC_WR_CHAN_BUSRT_SIZE_2C __BITS(31,30)
496 1.1 bsh #define DMFC_WR_CHAN_FIFO_SIZE_2C __BITS(29,27)
497 1.1 bsh #define DMFC_WR_CHAN_ST_ADDR_2C __BITS(26,24)
498 1.1 bsh #define DMFC_WR_CHAN_BURST_SIZE_1C __BITS(23,22)
499 1.1 bsh #define DMFC_WR_CHAN_FIFO_SIZE_1C __BITS(21,19)
500 1.1 bsh #define DMFC_WR_CHAN_ST_ADDR_1C __BITS(18,16)
501 1.1 bsh #define DMFC_WR_CHAN_BURST_SIZE_2 __BITS(15,14)
502 1.1 bsh #define DMFC_WR_CHAN_FIFO_SIZE_2 __BITS(13,11)
503 1.1 bsh #define DMFC_WR_CHAN_ST_ADDR_2 __BITS(10, 8)
504 1.1 bsh #define DMFC_WR_CHAN_BURST_SIZE_1 __BITS( 7, 6)
505 1.1 bsh #define DMFC_WR_CHAN_FIFO_SIZE_1 __BITS( 5, 3)
506 1.1 bsh #define DMFC_WR_CHAN_ST_ADDR_1 __BITS( 2, 0)
507 1.1 bsh #define IPU_DMFC_WR_CHAN_DEF 0x00000008
508 1.1 bsh #define DMFC_WR_CHAN_DEF_WM_CLR_2C __BITS(31,29)
509 1.1 bsh #define DMFC_WR_CHAN_DEF_WM_SET_2C __BITS(28,26)
510 1.1 bsh #define DMFC_WR_CHAN_DEF_WM_EN_2C __BIT(25)
511 1.1 bsh #define DMFC_WR_CHAN_DEF_WM_CLR_1C __BITS(23,21)
512 1.1 bsh #define DMFC_WR_CHAN_DEF_WM_SET_1C __BITS(20,18)
513 1.1 bsh #define DMFC_WR_CHAN_DEF_WM_EN_1C __BIT(17)
514 1.1 bsh #define DMFC_WR_CHAN_DEF_WM_CLR_2 __BITS(15,13)
515 1.1 bsh #define DMFC_WR_CHAN_DEF_WM_SET_2 __BITS(12,10)
516 1.1 bsh #define DMFC_WR_CHAN_DEF_WM_EN_2 __BIT(9)
517 1.1 bsh #define DMFC_WR_CHAN_DEF_WM_CLR_1 __BITS( 7, 5)
518 1.1 bsh #define DMFC_WR_CHAN_DEF_WM_SET_1 __BITS( 3, 2)
519 1.1 bsh #define DMFC_WR_CHAN_DEF_WM_EN_1 __BIT(1)
520 1.1 bsh #define IPU_DMFC_DP_CHAN 0x0000000c
521 1.1 bsh #define DMFC_DP_CHAN_BUSRT_SIZE_6F __BITS(31,30)
522 1.1 bsh #define DMFC_DP_CHAN_FIFO_SIZE_6F __BITS(29,27)
523 1.1 bsh #define DMFC_DP_CHAN_ST_ADDR_6F __BITS(26,24)
524 1.1 bsh #define DMFC_DP_CHAN_BURST_SIZE_6B __BITS(23,22)
525 1.1 bsh #define DMFC_DP_CHAN_FIFO_SIZE_6B __BITS(21,19)
526 1.1 bsh #define DMFC_DP_CHAN_ST_ADDR_6B __BITS(18,16)
527 1.1 bsh #define DMFC_DP_CHAN_BURST_SIZE_5F __BITS(15,14)
528 1.1 bsh #define DMFC_DP_CHAN_FIFO_SIZE_5F __BITS(13,11)
529 1.1 bsh #define DMFC_DP_CHAN_ST_ADDR_5F __BITS(10, 8)
530 1.1 bsh #define DMFC_DP_CHAN_BURST_SIZE_5B __BITS( 7, 6)
531 1.1 bsh #define DMFC_DP_CHAN_FIFO_SIZE_5B __BITS( 5, 3)
532 1.1 bsh #define DMFC_DP_CHAN_ST_ADDR_5B __BITS( 2, 0)
533 1.1 bsh #define IPU_DMFC_DP_CHAN_DEF 0x00000010
534 1.1 bsh #define DMFC_DP_CHAN_DEF_WM_CLR_6F __BITS(31,29)
535 1.1 bsh #define DMFC_DP_CHAN_DEF_WM_SET_6F __BITS(28,26)
536 1.1 bsh #define DMFC_DP_CHAN_DEF_WM_EN_6F __BIT(25)
537 1.1 bsh #define DMFC_DP_CHAN_DEF_WM_CLR_6B __BITS(23,21)
538 1.1 bsh #define DMFC_DP_CHAN_DEF_WM_SET_6B __BITS(20,18)
539 1.1 bsh #define DMFC_DP_CHAN_DEF_WM_EN_6B __BIT(17)
540 1.1 bsh #define DMFC_DP_CHAN_DEF_WM_CLR_5F __BITS(15,13)
541 1.1 bsh #define DMFC_DP_CHAN_DEF_WM_SET_5F __BITS(12,10)
542 1.1 bsh #define DMFC_DP_CHAN_DEF_WM_EN_5F __BIT(9)
543 1.1 bsh #define DMFC_DP_CHAN_DEF_WM_CLR_5B __BITS( 7, 5)
544 1.1 bsh #define DMFC_DP_CHAN_DEF_WM_SET_5B __BITS( 4, 2)
545 1.1 bsh #define DMFC_DP_CHAN_DEF_WM_EN_5B __BIT(1)
546 1.1 bsh #define IPU_DMFC_GENERAL1 0x00000014
547 1.1 bsh #define DMFC_GENERAL1_WAIT4EOT_9 __BIT(24)
548 1.1 bsh #define DMFC_GENERAL1_WAIT4EOT_6F __BIT(23)
549 1.1 bsh #define DMFC_GENERAL1_WAIT4EOT_6B __BIT(22)
550 1.1 bsh #define DMFC_GENERAL1_WAIT4EOT_5F __BIT(21)
551 1.1 bsh #define DMFC_GENERAL1_WAIT4EOT_5B __BIT(20)
552 1.1 bsh #define DMFC_GENERAL1_WAIT4EOT_4 __BIT(19)
553 1.1 bsh #define DMFC_GENERAL1_WAIT4EOT_3 __BIT(18)
554 1.1 bsh #define DMFC_GENERAL1_WAIT4EOT_2 __BIT(17)
555 1.1 bsh #define DMFC_GENERAL1_WAIT4EOT_1 __BIT(16)
556 1.1 bsh #define DMFC_GENERAL1_WM_CLR_9 __BITS(15,13)
557 1.1 bsh #define DMFC_GENERAL1_WM_SET_9 __BITS(12,10)
558 1.1 bsh #define DMFC_GENERAL1_BURST_SIZE_9 __BITS( 6, 5)
559 1.1 bsh #define DMFC_GENERAL1_DCDP_SYNC_PR __BITS( 1, 0)
560 1.1 bsh #define DCDP_SYNC_PR_FORBIDDEN 0
561 1.1 bsh #define DCDP_SYNC_PR_DC_DP 1
562 1.1 bsh #define DCDP_SYNC_PR_DP_DC 2
563 1.1 bsh #define DCDP_SYNC_PR_ROUNDROBIN 3
564 1.1 bsh #define IPU_DMFC_GENERAL2 0x00000018
565 1.1 bsh #define DMFC_GENERAL2_FRAME_HEIGHT_RD __BITS(28,16)
566 1.1 bsh #define DMFC_GENERAL2_FRAME_WIDTH_RD __BITS(12, 0)
567 1.1 bsh #define IPU_DMFC_IC_CTRL 0x0000001c
568 1.1 bsh #define DMFC_IC_CTRL_IC_FRAME_HEIGHT_RD __BITS(31,19)
569 1.1 bsh #define DMFC_IC_CTRL_IC_FRAME_WIDTH_RD __BITS(18, 6)
570 1.1 bsh #define DMFC_IC_CTRL_IC_PPW_C __BITS( 5, 4)
571 1.1 bsh #define DMFC_IC_CTRL_IC_IN_PORT __BITS( 2, 0)
572 1.1 bsh #define IC_IN_PORT_CH28 0
573 1.1 bsh #define IC_IN_PORT_CH41 1
574 1.1 bsh #define IC_IN_PORT_DISABLE 2
575 1.1 bsh #define IC_IN_PORT_CH23 4
576 1.1 bsh #define IC_IN_PORT_CH27 5
577 1.1 bsh #define IC_IN_PORT_CH24 6
578 1.1 bsh #define IC_IN_PORT_CH29 7
579 1.1 bsh #define IPU_DMFC_WR_CHAN_ALT 0x00000020
580 1.1 bsh #define IPU_DMFC_WR_CHAN_DEF_ALT 0x00000024
581 1.1 bsh #define IPU_DMFC_DP_CHAN_ALT 0x00000028
582 1.1 bsh #define IPU_DMFC_DP_CHAN_DEF_ALT 0x0000002c
583 1.1 bsh #define DMFC_DP_CHAN_DEF_ALT_WM_CLR_6F_ALT __BITS(31,29)
584 1.1 bsh #define DMFC_DP_CHAN_DEF_ALT_WM_SET_6F_ALT __BITS(28,26)
585 1.1 bsh #define DMFC_DP_CHAN_DEF_ALT_WM_EN_6F_ALT __BIT(25)
586 1.1 bsh #define DMFC_DP_CHAN_DEF_ALT_WM_CLR_6B_ALT __BITS(23,21)
587 1.1 bsh #define DMFC_DP_CHAN_DEF_ALT_WM_SET_6B_ALT __BITS(20,18)
588 1.1 bsh #define DMFC_DP_CHAN_DEF_ALT_WM_EN_6B_ALT __BIT(17)
589 1.1 bsh #define DMFC_DP_CHAN_DEF_ALT_WM_CLR_5B_ALT __BITS( 7, 5)
590 1.1 bsh #define DMFC_DP_CHAN_DEF_ALT_WM_SET_5B_ALT __BITS( 4, 2)
591 1.1 bsh #define DMFC_DP_CHAN_DEF_ALT_WM_EN_5B_ALT __BIT(1)
592 1.1 bsh #define IPU_DMFC_GENERAL1_ALT 0x00000030
593 1.1 bsh #define DMFC_GENERAL1_ALT_WAIT4EOT_6F_ALT __BIT(23)
594 1.1 bsh #define DMFC_GENERAL1_ALT_WAIT4EOT_6B_ALT __BIT(22)
595 1.1 bsh #define DMFC_GENERAL1_ALT_WAIT4EOT_5B_ALT __BIT(20)
596 1.1 bsh #define DMFC_GENERAL1_ALT_WAIT4EOT_2_ALT __BIT(17)
597 1.1 bsh #define IPU_DMFC_STAT 0x00000034
598 1.1 bsh #define DMFC_STAT_IC_BUFFER_EMPTY __BIT(25)
599 1.1 bsh #define DMFC_STAT_IC_BUFFER_FULL __BIT(24)
600 1.1 bsh #define DMFC_STAT_FIFO_EMPTY(n) __BIT(12 + (n))
601 1.1 bsh #define DMFC_STAT_FIFO_FULL(n) __BIT((n))
602 1.1 bsh
603 1.1 bsh /*
604 1.1 bsh * VCI
605 1.1 bsh * Video De Interkacing Module
606 1.1 bsh */
607 1.1 bsh #define IPU_VDI_FSIZE 0x00000000
608 1.1 bsh #define IPU_VDI_C 0x00000004
609 1.1 bsh
610 1.1 bsh /*
611 1.1 bsh * DP
612 1.1 bsh * Display Processor
613 1.1 bsh */
614 1.1 bsh #define IPU_DP_COM_CONF_SYNC 0x00000000
615 1.1 bsh #define DP_FG_EN_SYNC __BIT(0)
616 1.1 bsh #define DP_DP_GWAM_SYNC __BIT(2)
617 1.1 bsh #define IPU_DP_GRAPH_WIND_CTRL_SYNC 0x00000004
618 1.1 bsh #define IPU_DP_FG_POS_SYNC 0x00000008
619 1.1 bsh #define IPU_DP_CUR_POS_SYNC 0x0000000c
620 1.1 bsh #define IPU_DP_CUR_MAP_SYNC 0x00000010
621 1.1 bsh #define IPU_DP_CSC_SYNC_0 0x00000054
622 1.1 bsh #define IPU_DP_CSC_SYNC_1 0x00000058
623 1.1 bsh #define IPU_DP_CUR_POS_ALT 0x0000005c
624 1.1 bsh #define IPU_DP_COM_CONF_ASYNC0 0x00000060
625 1.1 bsh #define IPU_DP_GRAPH_WIND_CTRL_ASYNC0 0x00000064
626 1.1 bsh #define IPU_DP_FG_POS_ASYNC0 0x00000068
627 1.1 bsh #define IPU_DP_CUR_POS_ASYNC0 0x0000006c
628 1.1 bsh #define IPU_DP_CUR_MAP_ASYNC0 0x00000070
629 1.1 bsh #define IPU_DP_CSC_ASYNC0_0 0x000000b4
630 1.1 bsh #define IPU_DP_CSC_ASYNC0_1 0x000000b8
631 1.1 bsh #define IPU_DP_COM_CONF_ASYNC1 0x000000bc
632 1.1 bsh #define IPU_DP_GRAPH_WIND_CTRL_ASYNC1 0x000000c0
633 1.1 bsh #define IPU_DP_FG_POS_ASYNC1 0x000000c4
634 1.1 bsh #define IPU_DP_CUR_POS_ASYNC1 0x000000c8
635 1.1 bsh #define IPU_DP_CUR_MAP_ASYNC1 0x000000cc
636 1.1 bsh #define IPU_DP_CSC_ASYNC1_0 0x00000110
637 1.1 bsh #define IPU_DP_CSC_ASYNC1_1 0x00000114
638 1.1 bsh
639 1.1 bsh /* IDMA parameter */
640 1.1 bsh /*
641 1.1 bsh * non-Interleaved parameter
642 1.1 bsh *
643 1.1 bsh * param 0: XV W0[ 9: 0]
644 1.1 bsh * YV W0[18:10]
645 1.1 bsh * XB W0[31:19]
646 1.1 bsh * param 1: YB W0[43:32]
647 1.1 bsh * NSB W0[44]
648 1.1 bsh * CF W0[45]
649 1.1 bsh * UBO W0[61:46]
650 1.1 bsh * param 2: UBO W0[67:62]
651 1.1 bsh * VBO W0[89:68]
652 1.1 bsh * IOX W0[93:90]
653 1.1 bsh * RDRW W0[94]
654 1.1 bsh * Reserved W0[95]
655 1.1 bsh * param 3: Reserved W0[112:96]
656 1.1 bsh * S0 W0[113]
657 1.1 bsh * BNDM W0[116:114]
658 1.1 bsh * BM W0[118:117]
659 1.1 bsh * ROT W0[119]
660 1.1 bsh * HF W0[120]
661 1.1 bsh * VF W0[121]
662 1.1 bsh * THF W0[122]
663 1.1 bsh * CAP W0[123]
664 1.1 bsh * CAE W0[124]
665 1.1 bsh * FW W0[127:125]
666 1.1 bsh * param 4: FW W0[137:128]
667 1.1 bsh * FH W0[149:138]
668 1.1 bsh * param 5: EBA0 W1[28:0]
669 1.1 bsh * EBA1 W1[31:29]
670 1.1 bsh * param 6: EBA1 W1[57:32]
671 1.1 bsh * ILO W1[63:58]
672 1.1 bsh * param 7: ILO W1[77:64]
673 1.1 bsh * NPB W1[84:78]
674 1.1 bsh * PFS W1[88:85]
675 1.1 bsh * ALU W1[89]
676 1.1 bsh * ALBM W1[92:90]
677 1.1 bsh * ID W1[94:93]
678 1.1 bsh * TH W1[95]
679 1.1 bsh * param 8: TH W1[101:96]
680 1.1 bsh * SLY W1[115:102]
681 1.1 bsh * WID3 W1[127:125]
682 1.1 bsh * param 9: SLUV W1[141:128]
683 1.1 bsh * CRE W1[149]
684 1.1 bsh *
685 1.1 bsh * Interleaved parameter
686 1.1 bsh *
687 1.1 bsh * param 0: XV W0[ 9: 0]
688 1.1 bsh * YV W0[18:10]
689 1.1 bsh * XB W0[31:19]
690 1.1 bsh * param 1: YB W0[43:32]
691 1.1 bsh * NSB W0[44]
692 1.1 bsh * CF W0[45]
693 1.1 bsh * SX W0[57:46]
694 1.1 bsh * SY W0[61:58]
695 1.1 bsh * param 2: SY W0[68:62]
696 1.1 bsh * NS W0[78:69]
697 1.1 bsh * SDX W0[85:79]
698 1.1 bsh * SM W0[95:86]
699 1.1 bsh * param 3: SCC W0[96]
700 1.1 bsh * SCE W0[97]
701 1.1 bsh * SDY W0[104:98]
702 1.1 bsh * SDRX W0[105]
703 1.1 bsh * SDRY W0[106]
704 1.1 bsh * BPP W0[109:107]
705 1.1 bsh * DEC_SEL W0[111:110]
706 1.1 bsh * DIM W0[112]
707 1.1 bsh * SO W0[113]
708 1.1 bsh * BNDM W0[116:114]
709 1.1 bsh * BM W0[118:117]
710 1.1 bsh * ROT W0[119]
711 1.1 bsh * HF W0[120]
712 1.1 bsh * VF W0[121]
713 1.1 bsh * THF W0[122]
714 1.1 bsh * CAP W0[123]
715 1.1 bsh * CAE W0[124]
716 1.1 bsh * FW W0[127:125]
717 1.1 bsh * param 4: FW W0[137:128]
718 1.1 bsh * FH W0[149:138]
719 1.1 bsh * param 5: EBA0 W1[28:0]
720 1.1 bsh * EBA1 W1[31:29]
721 1.1 bsh * param 6: EBA1 W1[57:32]
722 1.1 bsh * ILO W1[63:58]
723 1.1 bsh * param 7: ILO W1[77:64]
724 1.1 bsh * NPB W1[84:78]
725 1.1 bsh * PFS W1[88:85]
726 1.1 bsh * ALU W1[89]
727 1.1 bsh * ALBM W1[92:90]
728 1.1 bsh * ID W1[94:93]
729 1.1 bsh * TH W1[95]
730 1.1 bsh * param 8: TH W1[101:96]
731 1.1 bsh * SL W1[115:102]
732 1.1 bsh * WID0 W1[118:116]
733 1.1 bsh * WID1 W1[121:119]
734 1.1 bsh * WID2 W1[124:122]
735 1.1 bsh * WID3 W1[127:125]
736 1.1 bsh * param 9: OFS0 W1[132:128]
737 1.1 bsh * OFS1 W1[137:133]
738 1.1 bsh * OFS2 W1[142:138]
739 1.1 bsh * OFS3 W1[147:143]
740 1.1 bsh * SXYS W1[148]
741 1.1 bsh * CRE W1[149]
742 1.1 bsh * DEC_SEL2 W1[150]
743 1.1 bsh */
744 1.1 bsh
745 1.1 bsh #define __IDMA_PARAM(word, shift, size) \
746 1.1 bsh ((((word) & 0xff) << 16) | (((shift) & 0xff) << 8) | ((size) & 0xff))
747 1.1 bsh
748 1.1 bsh /* non-Interleaved parameter */
749 1.1 bsh /* W0 */
750 1.1 bsh #define IDMAC_Ch_PARAM_XV __IDMA_PARAM(0, 0, 10)
751 1.1 bsh #define IDMAC_Ch_PARAM_YV __IDMA_PARAM(0, 10, 9)
752 1.1 bsh #define IDMAC_Ch_PARAM_XB __IDMA_PARAM(0, 19, 13)
753 1.1 bsh #define IDMAC_Ch_PARAM_YB __IDMA_PARAM(0, 32, 12)
754 1.1 bsh #define IDMAC_Ch_PARAM_NSB __IDMA_PARAM(0, 44, 1)
755 1.1 bsh #define IDMAC_Ch_PARAM_CF __IDMA_PARAM(0, 45, 1)
756 1.1 bsh #define IDMAC_Ch_PARAM_UBO __IDMA_PARAM(0, 46, 22)
757 1.1 bsh #define IDMAC_Ch_PARAM_VBO __IDMA_PARAM(0, 68, 22)
758 1.1 bsh #define IDMAC_Ch_PARAM_IOX __IDMA_PARAM(0, 90, 4)
759 1.1 bsh #define IDMAC_Ch_PARAM_RDRW __IDMA_PARAM(0, 94, 1)
760 1.1 bsh #define IDMAC_Ch_PARAM_S0 __IDMA_PARAM(0,113, 1)
761 1.1 bsh #define IDMAC_Ch_PARAM_BNDM __IDMA_PARAM(0,114, 3)
762 1.1 bsh #define IDMAC_Ch_PARAM_BM __IDMA_PARAM(0,117, 2)
763 1.1 bsh #define IDMAC_Ch_PARAM_ROT __IDMA_PARAM(0,119, 1)
764 1.1 bsh #define IDMAC_Ch_PARAM_HF __IDMA_PARAM(0,120, 1)
765 1.1 bsh #define IDMAC_Ch_PARAM_VF __IDMA_PARAM(0,121, 1)
766 1.1 bsh #define IDMAC_Ch_PARAM_THF __IDMA_PARAM(0,122, 1)
767 1.1 bsh #define IDMAC_Ch_PARAM_CAP __IDMA_PARAM(0,123, 1)
768 1.1 bsh #define IDMAC_Ch_PARAM_CAE __IDMA_PARAM(0,124, 1)
769 1.1 bsh #define IDMAC_Ch_PARAM_FW __IDMA_PARAM(0,125, 13)
770 1.1 bsh #define IDMAC_Ch_PARAM_FH __IDMA_PARAM(0,138, 12)
771 1.1 bsh /* W1 */
772 1.1 bsh #define IDMAC_Ch_PARAM_EBA0 __IDMA_PARAM(1, 0, 29)
773 1.1 bsh #define IDMAC_Ch_PARAM_EBA1 __IDMA_PARAM(1, 29, 29)
774 1.1 bsh #define IDMAC_Ch_PARAM_ILO __IDMA_PARAM(1, 58, 20)
775 1.1 bsh #define IDMAC_Ch_PARAM_NPB __IDMA_PARAM(1, 78, 7)
776 1.1 bsh #define IDMAC_Ch_PARAM_PFS __IDMA_PARAM(1, 85, 4)
777 1.1 bsh #define IDMAC_Ch_PARAM_ALU __IDMA_PARAM(1, 89, 1)
778 1.1 bsh #define IDMAC_Ch_PARAM_ALBM __IDMA_PARAM(1, 90, 3)
779 1.1 bsh #define IDMAC_Ch_PARAM_ID __IDMA_PARAM(1, 93, 2)
780 1.1 bsh #define IDMAC_Ch_PARAM_TH __IDMA_PARAM(1, 95, 7)
781 1.1 bsh #define IDMAC_Ch_PARAM_SL __IDMA_PARAM(1,102, 14)
782 1.1 bsh #define IDMAC_Ch_PARAM_WID3 __IDMA_PARAM(1,125, 3)
783 1.1 bsh #define IDMAC_Ch_PARAM_SLUV __IDMA_PARAM(1,128, 14)
784 1.1 bsh #define IDMAC_Ch_PARAM_CRE __IDMA_PARAM(1,149, 1)
785 1.1 bsh
786 1.1 bsh /* Interleaved parameter */
787 1.1 bsh /* W0 */
788 1.1 bsh #define IDMAC_Ch_PARAM_XV __IDMA_PARAM(0, 0, 10)
789 1.1 bsh #define IDMAC_Ch_PARAM_YV __IDMA_PARAM(0, 10, 9)
790 1.1 bsh #define IDMAC_Ch_PARAM_XB __IDMA_PARAM(0, 19, 13)
791 1.1 bsh #define IDMAC_Ch_PARAM_YB __IDMA_PARAM(0, 32, 12)
792 1.1 bsh #define IDMAC_Ch_PARAM_NSB __IDMA_PARAM(0, 44, 1)
793 1.1 bsh #define IDMAC_Ch_PARAM_CF __IDMA_PARAM(0, 45, 1)
794 1.1 bsh #define IDMAC_Ch_PARAM_SX __IDMA_PARAM(0, 46, 12)
795 1.1 bsh #define IDMAC_Ch_PARAM_SY __IDMA_PARAM(0, 58, 11)
796 1.1 bsh #define IDMAC_Ch_PARAM_NS __IDMA_PARAM(0, 69, 10)
797 1.1 bsh #define IDMAC_Ch_PARAM_SDX __IDMA_PARAM(0, 79, 7)
798 1.1 bsh #define IDMAC_Ch_PARAM_SM __IDMA_PARAM(0, 86, 10)
799 1.1 bsh #define IDMAC_Ch_PARAM_SCC __IDMA_PARAM(0, 96, 1)
800 1.1 bsh #define IDMAC_Ch_PARAM_SCE __IDMA_PARAM(0, 97, 1)
801 1.1 bsh #define IDMAC_Ch_PARAM_SDY __IDMA_PARAM(0, 98, 7)
802 1.1 bsh #define IDMAC_Ch_PARAM_SDRX __IDMA_PARAM(0,105, 1)
803 1.1 bsh #define IDMAC_Ch_PARAM_SDRY __IDMA_PARAM(0,106, 1)
804 1.1 bsh #define IDMAC_Ch_PARAM_BPP __IDMA_PARAM(0,107, 3)
805 1.1 bsh #define IDMAC_Ch_PARAM_DEC_SEL __IDMA_PARAM(0,110, 2)
806 1.1 bsh #define IDMAC_Ch_PARAM_DIM __IDMA_PARAM(0,112, 1)
807 1.1 bsh #define IDMAC_Ch_PARAM_SO __IDMA_PARAM(0,113, 1)
808 1.1 bsh #define IDMAC_Ch_PARAM_BNDM __IDMA_PARAM(0,114, 3)
809 1.1 bsh #define IDMAC_Ch_PARAM_BM __IDMA_PARAM(0,117, 2)
810 1.1 bsh #define IDMAC_Ch_PARAM_ROT __IDMA_PARAM(0,119, 1)
811 1.1 bsh #define IDMAC_Ch_PARAM_HF __IDMA_PARAM(0,120, 1)
812 1.1 bsh #define IDMAC_Ch_PARAM_VF __IDMA_PARAM(0,121, 1)
813 1.1 bsh #define IDMAC_Ch_PARAM_THF __IDMA_PARAM(0,122, 1)
814 1.1 bsh #define IDMAC_Ch_PARAM_CAP __IDMA_PARAM(0,123, 1)
815 1.1 bsh #define IDMAC_Ch_PARAM_CAE __IDMA_PARAM(0,124, 1)
816 1.1 bsh #define IDMAC_Ch_PARAM_FW __IDMA_PARAM(0,125, 13)
817 1.1 bsh #define IDMAC_Ch_PARAM_FH __IDMA_PARAM(0,138, 12)
818 1.1 bsh /* W1 */
819 1.1 bsh #define IDMAC_Ch_PARAM_EBA0 __IDMA_PARAM(1, 0, 29)
820 1.1 bsh #define IDMAC_Ch_PARAM_EBA1 __IDMA_PARAM(1, 29, 29)
821 1.1 bsh #define IDMAC_Ch_PARAM_ILO __IDMA_PARAM(1, 58, 20)
822 1.1 bsh #define IDMAC_Ch_PARAM_NPB __IDMA_PARAM(1, 78, 7)
823 1.1 bsh #define IDMAC_Ch_PARAM_PFS __IDMA_PARAM(1, 85, 4)
824 1.1 bsh #define IDMAC_Ch_PARAM_ALU __IDMA_PARAM(1, 89, 1)
825 1.1 bsh #define IDMAC_Ch_PARAM_ALBM __IDMA_PARAM(1, 90, 3)
826 1.1 bsh #define IDMAC_Ch_PARAM_ID __IDMA_PARAM(1, 93, 2)
827 1.1 bsh #define IDMAC_Ch_PARAM_TH __IDMA_PARAM(1, 95, 7)
828 1.1 bsh #define IDMAC_Ch_PARAM_SL __IDMA_PARAM(1,102, 14)
829 1.1 bsh #define IDMAC_Ch_PARAM_WID0 __IDMA_PARAM(1,116, 3)
830 1.1 bsh #define IDMAC_Ch_PARAM_WID1 __IDMA_PARAM(1,119, 3)
831 1.1 bsh #define IDMAC_Ch_PARAM_WID2 __IDMA_PARAM(1,122, 3)
832 1.1 bsh #define IDMAC_Ch_PARAM_WID3 __IDMA_PARAM(1,125, 3)
833 1.1 bsh #define IDMAC_Ch_PARAM_OFS0 __IDMA_PARAM(1,128, 5)
834 1.1 bsh #define IDMAC_Ch_PARAM_OFS1 __IDMA_PARAM(1,133, 5)
835 1.1 bsh #define IDMAC_Ch_PARAM_OFS2 __IDMA_PARAM(1,138, 5)
836 1.1 bsh #define IDMAC_Ch_PARAM_OFS3 __IDMA_PARAM(1,143, 5)
837 1.1 bsh #define IDMAC_Ch_PARAM_SXYS __IDMA_PARAM(1,148, 1)
838 1.1 bsh #define IDMAC_Ch_PARAM_CRE __IDMA_PARAM(1,149, 1)
839 1.1 bsh #define IDMAC_Ch_PARAM_DEC_SEL2 __IDMA_PARAM(1,150, 1)
840 1.1 bsh
841 1.1 bsh #endif /* _ARM_IMX_IMX51_IPUV3REG_H */
842