GNU Linux-libre 5.19-rc6-gnu
[releases.git] / drivers / staging / media / omap4iss / iss_regs.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * TI OMAP4 ISS V4L2 Driver - Register defines
4  *
5  * Copyright (C) 2012 Texas Instruments.
6  *
7  * Author: Sergio Aguirre <sergio.a.aguirre@gmail.com>
8  */
9
10 #ifndef _OMAP4_ISS_REGS_H_
11 #define _OMAP4_ISS_REGS_H_
12
13 /* ISS */
14 #define ISS_HL_REVISION                                 0x0
15
16 #define ISS_HL_SYSCONFIG                                0x10
17 #define ISS_HL_SYSCONFIG_IDLEMODE_SHIFT                 2
18 #define ISS_HL_SYSCONFIG_IDLEMODE_FORCEIDLE             0x0
19 #define ISS_HL_SYSCONFIG_IDLEMODE_NOIDLE                0x1
20 #define ISS_HL_SYSCONFIG_IDLEMODE_SMARTIDLE             0x2
21 #define ISS_HL_SYSCONFIG_SOFTRESET                      BIT(0)
22
23 #define ISS_HL_IRQSTATUS_RAW(i)                         (0x20 + (0x10 * (i)))
24 #define ISS_HL_IRQSTATUS(i)                             (0x24 + (0x10 * (i)))
25 #define ISS_HL_IRQENABLE_SET(i)                         (0x28 + (0x10 * (i)))
26 #define ISS_HL_IRQENABLE_CLR(i)                         (0x2c + (0x10 * (i)))
27
28 #define ISS_HL_IRQ_HS_VS                        BIT(17)
29 #define ISS_HL_IRQ_SIMCOP(i)                    BIT(12 + (i))
30 #define ISS_HL_IRQ_BTE                          BIT(11)
31 #define ISS_HL_IRQ_CBUFF                        BIT(10)
32 #define ISS_HL_IRQ_CCP2(i)                      BIT((i) > 3 ? 16 : 14 + (i))
33 #define ISS_HL_IRQ_CSIB                         BIT(5)
34 #define ISS_HL_IRQ_CSIA                         BIT(4)
35 #define ISS_HL_IRQ_ISP(i)                       BIT(i)
36
37 #define ISS_CTRL                                        0x80
38 #define ISS_CTRL_CLK_DIV_MASK                           (3 << 4)
39 #define ISS_CTRL_INPUT_SEL_MASK                         (3 << 2)
40 #define ISS_CTRL_INPUT_SEL_CSI2A                        (0 << 2)
41 #define ISS_CTRL_INPUT_SEL_CSI2B                        (1 << 2)
42 #define ISS_CTRL_SYNC_DETECT_VS_RAISING                 (3 << 0)
43
44 #define ISS_CLKCTRL                                     0x84
45 #define ISS_CLKCTRL_VPORT2_CLK                          BIT(30)
46 #define ISS_CLKCTRL_VPORT1_CLK                          BIT(29)
47 #define ISS_CLKCTRL_VPORT0_CLK                          BIT(28)
48 #define ISS_CLKCTRL_CCP2                                BIT(4)
49 #define ISS_CLKCTRL_CSI2_B                              BIT(3)
50 #define ISS_CLKCTRL_CSI2_A                              BIT(2)
51 #define ISS_CLKCTRL_ISP                                 BIT(1)
52 #define ISS_CLKCTRL_SIMCOP                              BIT(0)
53
54 #define ISS_CLKSTAT                                     0x88
55 #define ISS_CLKSTAT_VPORT2_CLK                          BIT(30)
56 #define ISS_CLKSTAT_VPORT1_CLK                          BIT(29)
57 #define ISS_CLKSTAT_VPORT0_CLK                          BIT(28)
58 #define ISS_CLKSTAT_CCP2                                BIT(4)
59 #define ISS_CLKSTAT_CSI2_B                              BIT(3)
60 #define ISS_CLKSTAT_CSI2_A                              BIT(2)
61 #define ISS_CLKSTAT_ISP                                 BIT(1)
62 #define ISS_CLKSTAT_SIMCOP                              BIT(0)
63
64 #define ISS_PM_STATUS                                   0x8c
65 #define ISS_PM_STATUS_CBUFF_PM_MASK                     (3 << 12)
66 #define ISS_PM_STATUS_BTE_PM_MASK                       (3 << 10)
67 #define ISS_PM_STATUS_SIMCOP_PM_MASK                    (3 << 8)
68 #define ISS_PM_STATUS_ISP_PM_MASK                       (3 << 6)
69 #define ISS_PM_STATUS_CCP2_PM_MASK                      (3 << 4)
70 #define ISS_PM_STATUS_CSI2_B_PM_MASK                    (3 << 2)
71 #define ISS_PM_STATUS_CSI2_A_PM_MASK                    (3 << 0)
72
73 #define REGISTER0                                       0x0
74 #define REGISTER0_HSCLOCKCONFIG                         BIT(24)
75 #define REGISTER0_THS_TERM_MASK                         (0xff << 8)
76 #define REGISTER0_THS_TERM_SHIFT                        8
77 #define REGISTER0_THS_SETTLE_MASK                       (0xff << 0)
78 #define REGISTER0_THS_SETTLE_SHIFT                      0
79
80 #define REGISTER1                                       0x4
81 #define REGISTER1_RESET_DONE_CTRLCLK                    BIT(29)
82 #define REGISTER1_CLOCK_MISS_DETECTOR_STATUS            BIT(25)
83 #define REGISTER1_TCLK_TERM_MASK                        (0x3f << 18)
84 #define REGISTER1_TCLK_TERM_SHIFT                       18
85 #define REGISTER1_DPHY_HS_SYNC_PATTERN_SHIFT            10
86 #define REGISTER1_CTRLCLK_DIV_FACTOR_MASK               (0x3 << 8)
87 #define REGISTER1_CTRLCLK_DIV_FACTOR_SHIFT              8
88 #define REGISTER1_TCLK_SETTLE_MASK                      (0xff << 0)
89 #define REGISTER1_TCLK_SETTLE_SHIFT                     0
90
91 #define REGISTER2                                       0x8
92
93 #define CSI2_SYSCONFIG                                  0x10
94 #define CSI2_SYSCONFIG_MSTANDBY_MODE_MASK               (3 << 12)
95 #define CSI2_SYSCONFIG_MSTANDBY_MODE_FORCE              (0 << 12)
96 #define CSI2_SYSCONFIG_MSTANDBY_MODE_NO                 (1 << 12)
97 #define CSI2_SYSCONFIG_MSTANDBY_MODE_SMART              (2 << 12)
98 #define CSI2_SYSCONFIG_SOFT_RESET                       (1 << 1)
99 #define CSI2_SYSCONFIG_AUTO_IDLE                        (1 << 0)
100
101 #define CSI2_SYSSTATUS                                  0x14
102 #define CSI2_SYSSTATUS_RESET_DONE                       BIT(0)
103
104 #define CSI2_IRQSTATUS                                  0x18
105 #define CSI2_IRQENABLE                                  0x1c
106
107 /* Shared bits across CSI2_IRQENABLE and IRQSTATUS */
108
109 #define CSI2_IRQ_OCP_ERR                                BIT(14)
110 #define CSI2_IRQ_SHORT_PACKET                           BIT(13)
111 #define CSI2_IRQ_ECC_CORRECTION                         BIT(12)
112 #define CSI2_IRQ_ECC_NO_CORRECTION                      BIT(11)
113 #define CSI2_IRQ_COMPLEXIO_ERR                          BIT(9)
114 #define CSI2_IRQ_FIFO_OVF                               BIT(8)
115 #define CSI2_IRQ_CONTEXT0                               BIT(0)
116
117 #define CSI2_CTRL                                       0x40
118 #define CSI2_CTRL_MFLAG_LEVH_MASK                       (7 << 20)
119 #define CSI2_CTRL_MFLAG_LEVH_SHIFT                      20
120 #define CSI2_CTRL_MFLAG_LEVL_MASK                       (7 << 17)
121 #define CSI2_CTRL_MFLAG_LEVL_SHIFT                      17
122 #define CSI2_CTRL_BURST_SIZE_EXPAND                     (1 << 16)
123 #define CSI2_CTRL_VP_CLK_EN                             (1 << 15)
124 #define CSI2_CTRL_NON_POSTED_WRITE                      (1 << 13)
125 #define CSI2_CTRL_VP_ONLY_EN                            (1 << 11)
126 #define CSI2_CTRL_VP_OUT_CTRL_MASK                      (3 << 8)
127 #define CSI2_CTRL_VP_OUT_CTRL_SHIFT                     8
128 #define CSI2_CTRL_DBG_EN                                (1 << 7)
129 #define CSI2_CTRL_BURST_SIZE_MASK                       (3 << 5)
130 #define CSI2_CTRL_ENDIANNESS                            (1 << 4)
131 #define CSI2_CTRL_FRAME                                 (1 << 3)
132 #define CSI2_CTRL_ECC_EN                                (1 << 2)
133 #define CSI2_CTRL_IF_EN                                 (1 << 0)
134
135 #define CSI2_DBG_H                                      0x44
136
137 #define CSI2_COMPLEXIO_CFG                              0x50
138 #define CSI2_COMPLEXIO_CFG_RESET_CTRL                   (1 << 30)
139 #define CSI2_COMPLEXIO_CFG_RESET_DONE                   (1 << 29)
140 #define CSI2_COMPLEXIO_CFG_PWD_CMD_MASK                 (3 << 27)
141 #define CSI2_COMPLEXIO_CFG_PWD_CMD_OFF                  (0 << 27)
142 #define CSI2_COMPLEXIO_CFG_PWD_CMD_ON                   (1 << 27)
143 #define CSI2_COMPLEXIO_CFG_PWD_CMD_ULP                  (2 << 27)
144 #define CSI2_COMPLEXIO_CFG_PWD_STATUS_MASK              (3 << 25)
145 #define CSI2_COMPLEXIO_CFG_PWD_STATUS_OFF               (0 << 25)
146 #define CSI2_COMPLEXIO_CFG_PWD_STATUS_ON                (1 << 25)
147 #define CSI2_COMPLEXIO_CFG_PWD_STATUS_ULP               (2 << 25)
148 #define CSI2_COMPLEXIO_CFG_PWR_AUTO                     (1 << 24)
149 #define CSI2_COMPLEXIO_CFG_DATA_POL(i)                  (1 << (((i) * 4) + 3))
150 #define CSI2_COMPLEXIO_CFG_DATA_POSITION_MASK(i)        (7 << ((i) * 4))
151 #define CSI2_COMPLEXIO_CFG_DATA_POSITION_SHIFT(i)       ((i) * 4)
152 #define CSI2_COMPLEXIO_CFG_CLOCK_POL                    (1 << 3)
153 #define CSI2_COMPLEXIO_CFG_CLOCK_POSITION_MASK          (7 << 0)
154 #define CSI2_COMPLEXIO_CFG_CLOCK_POSITION_SHIFT         0
155
156 #define CSI2_COMPLEXIO_IRQSTATUS                        0x54
157
158 #define CSI2_SHORT_PACKET                               0x5c
159
160 #define CSI2_COMPLEXIO_IRQENABLE                        0x60
161
162 /* Shared bits across CSI2_COMPLEXIO_IRQENABLE and IRQSTATUS */
163 #define CSI2_COMPLEXIO_IRQ_STATEALLULPMEXIT             BIT(26)
164 #define CSI2_COMPLEXIO_IRQ_STATEALLULPMENTER            BIT(25)
165 #define CSI2_COMPLEXIO_IRQ_STATEULPM5                   BIT(24)
166 #define CSI2_COMPLEXIO_IRQ_STATEULPM4                   BIT(23)
167 #define CSI2_COMPLEXIO_IRQ_STATEULPM3                   BIT(22)
168 #define CSI2_COMPLEXIO_IRQ_STATEULPM2                   BIT(21)
169 #define CSI2_COMPLEXIO_IRQ_STATEULPM1                   BIT(20)
170 #define CSI2_COMPLEXIO_IRQ_ERRCONTROL5                  BIT(19)
171 #define CSI2_COMPLEXIO_IRQ_ERRCONTROL4                  BIT(18)
172 #define CSI2_COMPLEXIO_IRQ_ERRCONTROL3                  BIT(17)
173 #define CSI2_COMPLEXIO_IRQ_ERRCONTROL2                  BIT(16)
174 #define CSI2_COMPLEXIO_IRQ_ERRCONTROL1                  BIT(15)
175 #define CSI2_COMPLEXIO_IRQ_ERRESC5                      BIT(14)
176 #define CSI2_COMPLEXIO_IRQ_ERRESC4                      BIT(13)
177 #define CSI2_COMPLEXIO_IRQ_ERRESC3                      BIT(12)
178 #define CSI2_COMPLEXIO_IRQ_ERRESC2                      BIT(11)
179 #define CSI2_COMPLEXIO_IRQ_ERRESC1                      BIT(10)
180 #define CSI2_COMPLEXIO_IRQ_ERRSOTSYNCHS5                BIT(9)
181 #define CSI2_COMPLEXIO_IRQ_ERRSOTSYNCHS4                BIT(8)
182 #define CSI2_COMPLEXIO_IRQ_ERRSOTSYNCHS3                BIT(7)
183 #define CSI2_COMPLEXIO_IRQ_ERRSOTSYNCHS2                BIT(6)
184 #define CSI2_COMPLEXIO_IRQ_ERRSOTSYNCHS1                BIT(5)
185 #define CSI2_COMPLEXIO_IRQ_ERRSOTHS5                    BIT(4)
186 #define CSI2_COMPLEXIO_IRQ_ERRSOTHS4                    BIT(3)
187 #define CSI2_COMPLEXIO_IRQ_ERRSOTHS3                    BIT(2)
188 #define CSI2_COMPLEXIO_IRQ_ERRSOTHS2                    BIT(1)
189 #define CSI2_COMPLEXIO_IRQ_ERRSOTHS1                    BIT(0)
190
191 #define CSI2_DBG_P                                      0x68
192
193 #define CSI2_TIMING                                     0x6c
194 #define CSI2_TIMING_FORCE_RX_MODE_IO1                   BIT(15)
195 #define CSI2_TIMING_STOP_STATE_X16_IO1                  BIT(14)
196 #define CSI2_TIMING_STOP_STATE_X4_IO1                   BIT(13)
197 #define CSI2_TIMING_STOP_STATE_COUNTER_IO1_MASK         (0x1fff << 0)
198 #define CSI2_TIMING_STOP_STATE_COUNTER_IO1_SHIFT        0
199
200 #define CSI2_CTX_CTRL1(i)                               (0x70 + (0x20 * (i)))
201 #define CSI2_CTX_CTRL1_GENERIC                          BIT(30)
202 #define CSI2_CTX_CTRL1_TRANSCODE                        (0xf << 24)
203 #define CSI2_CTX_CTRL1_FEC_NUMBER_MASK                  (0xff << 16)
204 #define CSI2_CTX_CTRL1_COUNT_MASK                       (0xff << 8)
205 #define CSI2_CTX_CTRL1_COUNT_SHIFT                      8
206 #define CSI2_CTX_CTRL1_EOF_EN                           BIT(7)
207 #define CSI2_CTX_CTRL1_EOL_EN                           BIT(6)
208 #define CSI2_CTX_CTRL1_CS_EN                            BIT(5)
209 #define CSI2_CTX_CTRL1_COUNT_UNLOCK                     BIT(4)
210 #define CSI2_CTX_CTRL1_PING_PONG                        BIT(3)
211 #define CSI2_CTX_CTRL1_CTX_EN                           BIT(0)
212
213 #define CSI2_CTX_CTRL2(i)                               (0x74 + (0x20 * (i)))
214 #define CSI2_CTX_CTRL2_FRAME_MASK                       (0xffff << 16)
215 #define CSI2_CTX_CTRL2_FRAME_SHIFT                      16
216 #define CSI2_CTX_CTRL2_USER_DEF_MAP_SHIFT               13
217 #define CSI2_CTX_CTRL2_USER_DEF_MAP_MASK                \
218                 (0x3 << CSI2_CTX_CTRL2_USER_DEF_MAP_SHIFT)
219 #define CSI2_CTX_CTRL2_VIRTUAL_ID_MASK                  (3 << 11)
220 #define CSI2_CTX_CTRL2_VIRTUAL_ID_SHIFT                 11
221 #define CSI2_CTX_CTRL2_DPCM_PRED                        (1 << 10)
222 #define CSI2_CTX_CTRL2_FORMAT_MASK                      (0x3ff << 0)
223 #define CSI2_CTX_CTRL2_FORMAT_SHIFT                     0
224
225 #define CSI2_CTX_DAT_OFST(i)                            (0x78 + (0x20 * (i)))
226 #define CSI2_CTX_DAT_OFST_MASK                          (0xfff << 5)
227
228 #define CSI2_CTX_PING_ADDR(i)                           (0x7c + (0x20 * (i)))
229 #define CSI2_CTX_PING_ADDR_MASK                         0xffffffe0
230
231 #define CSI2_CTX_PONG_ADDR(i)                           (0x80 + (0x20 * (i)))
232 #define CSI2_CTX_PONG_ADDR_MASK                         CSI2_CTX_PING_ADDR_MASK
233
234 #define CSI2_CTX_IRQENABLE(i)                           (0x84 + (0x20 * (i)))
235 #define CSI2_CTX_IRQSTATUS(i)                           (0x88 + (0x20 * (i)))
236
237 #define CSI2_CTX_CTRL3(i)                               (0x8c + (0x20 * (i)))
238 #define CSI2_CTX_CTRL3_ALPHA_SHIFT                      5
239 #define CSI2_CTX_CTRL3_ALPHA_MASK                       \
240                 (0x3fff << CSI2_CTX_CTRL3_ALPHA_SHIFT)
241
242 /* Shared bits across CSI2_CTX_IRQENABLE and IRQSTATUS */
243 #define CSI2_CTX_IRQ_ECC_CORRECTION                     BIT(8)
244 #define CSI2_CTX_IRQ_LINE_NUMBER                        BIT(7)
245 #define CSI2_CTX_IRQ_FRAME_NUMBER                       BIT(6)
246 #define CSI2_CTX_IRQ_CS                                 BIT(5)
247 #define CSI2_CTX_IRQ_LE                                 BIT(3)
248 #define CSI2_CTX_IRQ_LS                                 BIT(2)
249 #define CSI2_CTX_IRQ_FE                                 BIT(1)
250 #define CSI2_CTX_IRQ_FS                                 BIT(0)
251
252 /* ISS BTE */
253 #define BTE_CTRL                                        (0x0030)
254 #define BTE_CTRL_BW_LIMITER_MASK                        (0x3ff << 22)
255 #define BTE_CTRL_BW_LIMITER_SHIFT                       22
256
257 /* ISS ISP_SYS1 */
258 #define ISP5_REVISION                                   (0x0000)
259 #define ISP5_SYSCONFIG                                  (0x0010)
260 #define ISP5_SYSCONFIG_STANDBYMODE_MASK                 (3 << 4)
261 #define ISP5_SYSCONFIG_STANDBYMODE_FORCE                (0 << 4)
262 #define ISP5_SYSCONFIG_STANDBYMODE_NO                   (1 << 4)
263 #define ISP5_SYSCONFIG_STANDBYMODE_SMART                (2 << 4)
264 #define ISP5_SYSCONFIG_SOFTRESET                        (1 << 1)
265
266 #define ISP5_IRQSTATUS(i)                               (0x0028 + (0x10 * (i)))
267 #define ISP5_IRQENABLE_SET(i)                           (0x002c + (0x10 * (i)))
268 #define ISP5_IRQENABLE_CLR(i)                           (0x0030 + (0x10 * (i)))
269
270 /* Bits shared for ISP5_IRQ* registers */
271 #define ISP5_IRQ_OCP_ERR                                BIT(31)
272 #define ISP5_IRQ_IPIPE_INT_DPC_RNEW1                    BIT(29)
273 #define ISP5_IRQ_IPIPE_INT_DPC_RNEW0                    BIT(28)
274 #define ISP5_IRQ_IPIPE_INT_DPC_INIT                     BIT(27)
275 #define ISP5_IRQ_IPIPE_INT_EOF                          BIT(25)
276 #define ISP5_IRQ_H3A_INT_EOF                            BIT(24)
277 #define ISP5_IRQ_RSZ_INT_EOF1                           BIT(23)
278 #define ISP5_IRQ_RSZ_INT_EOF0                           BIT(22)
279 #define ISP5_IRQ_RSZ_FIFO_IN_BLK_ERR                    BIT(19)
280 #define ISP5_IRQ_RSZ_FIFO_OVF                           BIT(18)
281 #define ISP5_IRQ_RSZ_INT_CYC_RSZB                       BIT(17)
282 #define ISP5_IRQ_RSZ_INT_CYC_RSZA                       BIT(16)
283 #define ISP5_IRQ_RSZ_INT_DMA                            BIT(15)
284 #define ISP5_IRQ_RSZ_INT_LAST_PIX                       BIT(14)
285 #define ISP5_IRQ_RSZ_INT_REG                            BIT(13)
286 #define ISP5_IRQ_H3A_INT                                BIT(12)
287 #define ISP5_IRQ_AF_INT                                 BIT(11)
288 #define ISP5_IRQ_AEW_INT                                BIT(10)
289 #define ISP5_IRQ_IPIPEIF_IRQ                            BIT(9)
290 #define ISP5_IRQ_IPIPE_INT_HST                          BIT(8)
291 #define ISP5_IRQ_IPIPE_INT_BSC                          BIT(7)
292 #define ISP5_IRQ_IPIPE_INT_DMA                          BIT(6)
293 #define ISP5_IRQ_IPIPE_INT_LAST_PIX                     BIT(5)
294 #define ISP5_IRQ_IPIPE_INT_REG                          BIT(4)
295 #define ISP5_IRQ_ISIF_INT(i)                            BIT(i)
296
297 #define ISP5_CTRL                                       (0x006c)
298 #define ISP5_CTRL_MSTANDBY                              BIT(24)
299 #define ISP5_CTRL_VD_PULSE_EXT                          BIT(23)
300 #define ISP5_CTRL_MSTANDBY_WAIT                         BIT(20)
301 #define ISP5_CTRL_BL_CLK_ENABLE                         BIT(15)
302 #define ISP5_CTRL_ISIF_CLK_ENABLE                       BIT(14)
303 #define ISP5_CTRL_H3A_CLK_ENABLE                        BIT(13)
304 #define ISP5_CTRL_RSZ_CLK_ENABLE                        BIT(12)
305 #define ISP5_CTRL_IPIPE_CLK_ENABLE                      BIT(11)
306 #define ISP5_CTRL_IPIPEIF_CLK_ENABLE                    BIT(10)
307 #define ISP5_CTRL_SYNC_ENABLE                           BIT(9)
308 #define ISP5_CTRL_PSYNC_CLK_SEL                         BIT(8)
309
310 /* ISS ISP ISIF register offsets */
311 #define ISIF_SYNCEN                                     (0x0000)
312 #define ISIF_SYNCEN_DWEN                                BIT(1)
313 #define ISIF_SYNCEN_SYEN                                BIT(0)
314
315 #define ISIF_MODESET                                    (0x0004)
316 #define ISIF_MODESET_INPMOD_MASK                        (3 << 12)
317 #define ISIF_MODESET_INPMOD_RAW                         (0 << 12)
318 #define ISIF_MODESET_INPMOD_YCBCR16                     (1 << 12)
319 #define ISIF_MODESET_INPMOD_YCBCR8                      (2 << 12)
320 #define ISIF_MODESET_CCDW_MASK                          (7 << 8)
321 #define ISIF_MODESET_CCDW_2BIT                          (2 << 8)
322 #define ISIF_MODESET_CCDMD                              (1 << 7)
323 #define ISIF_MODESET_SWEN                               (1 << 5)
324 #define ISIF_MODESET_HDPOL                              (1 << 3)
325 #define ISIF_MODESET_VDPOL                              (1 << 2)
326
327 #define ISIF_SPH                                        (0x0018)
328 #define ISIF_SPH_MASK                                   (0x7fff)
329
330 #define ISIF_LNH                                        (0x001c)
331 #define ISIF_LNH_MASK                                   (0x7fff)
332
333 #define ISIF_LNV                                        (0x0028)
334 #define ISIF_LNV_MASK                                   (0x7fff)
335
336 #define ISIF_HSIZE                                      (0x0034)
337 #define ISIF_HSIZE_ADCR                                 BIT(12)
338 #define ISIF_HSIZE_HSIZE_MASK                           (0xfff)
339
340 #define ISIF_CADU                                       (0x003c)
341 #define ISIF_CADU_MASK                                  (0x7ff)
342
343 #define ISIF_CADL                                       (0x0040)
344 #define ISIF_CADL_MASK                                  (0xffff)
345
346 #define ISIF_CCOLP                                      (0x004c)
347 #define ISIF_CCOLP_CP0_F0_R                             (0 << 6)
348 #define ISIF_CCOLP_CP0_F0_GR                            (1 << 6)
349 #define ISIF_CCOLP_CP0_F0_B                             (3 << 6)
350 #define ISIF_CCOLP_CP0_F0_GB                            (2 << 6)
351 #define ISIF_CCOLP_CP1_F0_R                             (0 << 4)
352 #define ISIF_CCOLP_CP1_F0_GR                            (1 << 4)
353 #define ISIF_CCOLP_CP1_F0_B                             (3 << 4)
354 #define ISIF_CCOLP_CP1_F0_GB                            (2 << 4)
355 #define ISIF_CCOLP_CP2_F0_R                             (0 << 2)
356 #define ISIF_CCOLP_CP2_F0_GR                            (1 << 2)
357 #define ISIF_CCOLP_CP2_F0_B                             (3 << 2)
358 #define ISIF_CCOLP_CP2_F0_GB                            (2 << 2)
359 #define ISIF_CCOLP_CP3_F0_R                             (0 << 0)
360 #define ISIF_CCOLP_CP3_F0_GR                            (1 << 0)
361 #define ISIF_CCOLP_CP3_F0_B                             (3 << 0)
362 #define ISIF_CCOLP_CP3_F0_GB                            (2 << 0)
363
364 #define ISIF_VDINT(i)                                   (0x0070 + (i) * 4)
365 #define ISIF_VDINT_MASK                                 (0x7fff)
366
367 #define ISIF_CGAMMAWD                                   (0x0080)
368 #define ISIF_CGAMMAWD_GWDI_MASK                         (0xf << 1)
369 #define ISIF_CGAMMAWD_GWDI(bpp)                         ((16 - (bpp)) << 1)
370
371 #define ISIF_CCDCFG                                     (0x0088)
372 #define ISIF_CCDCFG_Y8POS                               BIT(11)
373
374 /* ISS ISP IPIPEIF register offsets */
375 #define IPIPEIF_ENABLE                                  (0x0000)
376
377 #define IPIPEIF_CFG1                                    (0x0004)
378 #define IPIPEIF_CFG1_INPSRC1_MASK                       (3 << 14)
379 #define IPIPEIF_CFG1_INPSRC1_VPORT_RAW                  (0 << 14)
380 #define IPIPEIF_CFG1_INPSRC1_SDRAM_RAW                  (1 << 14)
381 #define IPIPEIF_CFG1_INPSRC1_ISIF_DARKFM                (2 << 14)
382 #define IPIPEIF_CFG1_INPSRC1_SDRAM_YUV                  (3 << 14)
383 #define IPIPEIF_CFG1_INPSRC2_MASK                       (3 << 2)
384 #define IPIPEIF_CFG1_INPSRC2_ISIF                       (0 << 2)
385 #define IPIPEIF_CFG1_INPSRC2_SDRAM_RAW                  (1 << 2)
386 #define IPIPEIF_CFG1_INPSRC2_ISIF_DARKFM                (2 << 2)
387 #define IPIPEIF_CFG1_INPSRC2_SDRAM_YUV                  (3 << 2)
388
389 #define IPIPEIF_CFG2                                    (0x0030)
390 #define IPIPEIF_CFG2_YUV8P                              BIT(7)
391 #define IPIPEIF_CFG2_YUV8                               BIT(6)
392 #define IPIPEIF_CFG2_YUV16                              BIT(3)
393 #define IPIPEIF_CFG2_VDPOL                              BIT(2)
394 #define IPIPEIF_CFG2_HDPOL                              BIT(1)
395 #define IPIPEIF_CFG2_INTSW                              BIT(0)
396
397 #define IPIPEIF_CLKDIV                                  (0x0040)
398
399 /* ISS ISP IPIPE register offsets */
400 #define IPIPE_SRC_EN                                    (0x0000)
401 #define IPIPE_SRC_EN_EN                                 BIT(0)
402
403 #define IPIPE_SRC_MODE                                  (0x0004)
404 #define IPIPE_SRC_MODE_WRT                              BIT(1)
405 #define IPIPE_SRC_MODE_OST                              BIT(0)
406
407 #define IPIPE_SRC_FMT                                   (0x0008)
408 #define IPIPE_SRC_FMT_RAW2YUV                           (0 << 0)
409 #define IPIPE_SRC_FMT_RAW2RAW                           (1 << 0)
410 #define IPIPE_SRC_FMT_RAW2STATS                         (2 << 0)
411 #define IPIPE_SRC_FMT_YUV2YUV                           (3 << 0)
412
413 #define IPIPE_SRC_COL                                   (0x000c)
414 #define IPIPE_SRC_COL_OO_R                              (0 << 6)
415 #define IPIPE_SRC_COL_OO_GR                             (1 << 6)
416 #define IPIPE_SRC_COL_OO_B                              (3 << 6)
417 #define IPIPE_SRC_COL_OO_GB                             (2 << 6)
418 #define IPIPE_SRC_COL_OE_R                              (0 << 4)
419 #define IPIPE_SRC_COL_OE_GR                             (1 << 4)
420 #define IPIPE_SRC_COL_OE_B                              (3 << 4)
421 #define IPIPE_SRC_COL_OE_GB                             (2 << 4)
422 #define IPIPE_SRC_COL_EO_R                              (0 << 2)
423 #define IPIPE_SRC_COL_EO_GR                             (1 << 2)
424 #define IPIPE_SRC_COL_EO_B                              (3 << 2)
425 #define IPIPE_SRC_COL_EO_GB                             (2 << 2)
426 #define IPIPE_SRC_COL_EE_R                              (0 << 0)
427 #define IPIPE_SRC_COL_EE_GR                             (1 << 0)
428 #define IPIPE_SRC_COL_EE_B                              (3 << 0)
429 #define IPIPE_SRC_COL_EE_GB                             (2 << 0)
430
431 #define IPIPE_SRC_VPS                                   (0x0010)
432 #define IPIPE_SRC_VPS_MASK                              (0xffff)
433
434 #define IPIPE_SRC_VSZ                                   (0x0014)
435 #define IPIPE_SRC_VSZ_MASK                              (0x1fff)
436
437 #define IPIPE_SRC_HPS                                   (0x0018)
438 #define IPIPE_SRC_HPS_MASK                              (0xffff)
439
440 #define IPIPE_SRC_HSZ                                   (0x001c)
441 #define IPIPE_SRC_HSZ_MASK                              (0x1ffe)
442
443 #define IPIPE_SEL_SBU                                   (0x0020)
444
445 #define IPIPE_SRC_STA                                   (0x0024)
446
447 #define IPIPE_GCK_MMR                                   (0x0028)
448 #define IPIPE_GCK_MMR_REG                               BIT(0)
449
450 #define IPIPE_GCK_PIX                                   (0x002c)
451 #define IPIPE_GCK_PIX_G3                                BIT(3)
452 #define IPIPE_GCK_PIX_G2                                BIT(2)
453 #define IPIPE_GCK_PIX_G1                                BIT(1)
454 #define IPIPE_GCK_PIX_G0                                BIT(0)
455
456 #define IPIPE_DPC_LUT_EN                                (0x0034)
457 #define IPIPE_DPC_LUT_SEL                               (0x0038)
458 #define IPIPE_DPC_LUT_ADR                               (0x003c)
459 #define IPIPE_DPC_LUT_SIZ                               (0x0040)
460
461 #define IPIPE_DPC_OTF_EN                                (0x0044)
462 #define IPIPE_DPC_OTF_TYP                               (0x0048)
463 #define IPIPE_DPC_OTF_2_D_THR_R                         (0x004c)
464 #define IPIPE_DPC_OTF_2_D_THR_GR                        (0x0050)
465 #define IPIPE_DPC_OTF_2_D_THR_GB                        (0x0054)
466 #define IPIPE_DPC_OTF_2_D_THR_B                         (0x0058)
467 #define IPIPE_DPC_OTF_2_C_THR_R                         (0x005c)
468 #define IPIPE_DPC_OTF_2_C_THR_GR                        (0x0060)
469 #define IPIPE_DPC_OTF_2_C_THR_GB                        (0x0064)
470 #define IPIPE_DPC_OTF_2_C_THR_B                         (0x0068)
471 #define IPIPE_DPC_OTF_3_SHF                             (0x006c)
472 #define IPIPE_DPC_OTF_3_D_THR                           (0x0070)
473 #define IPIPE_DPC_OTF_3_D_SPL                           (0x0074)
474 #define IPIPE_DPC_OTF_3_D_MIN                           (0x0078)
475 #define IPIPE_DPC_OTF_3_D_MAX                           (0x007c)
476 #define IPIPE_DPC_OTF_3_C_THR                           (0x0080)
477 #define IPIPE_DPC_OTF_3_C_SLP                           (0x0084)
478 #define IPIPE_DPC_OTF_3_C_MIN                           (0x0088)
479 #define IPIPE_DPC_OTF_3_C_MAX                           (0x008c)
480
481 #define IPIPE_LSC_VOFT                                  (0x0090)
482 #define IPIPE_LSC_VA2                                   (0x0094)
483 #define IPIPE_LSC_VA1                                   (0x0098)
484 #define IPIPE_LSC_VS                                    (0x009c)
485 #define IPIPE_LSC_HOFT                                  (0x00a0)
486 #define IPIPE_LSC_HA2                                   (0x00a4)
487 #define IPIPE_LSC_HA1                                   (0x00a8)
488 #define IPIPE_LSC_HS                                    (0x00ac)
489 #define IPIPE_LSC_GAN_R                                 (0x00b0)
490 #define IPIPE_LSC_GAN_GR                                (0x00b4)
491 #define IPIPE_LSC_GAN_GB                                (0x00b8)
492 #define IPIPE_LSC_GAN_B                                 (0x00bc)
493 #define IPIPE_LSC_OFT_R                                 (0x00c0)
494 #define IPIPE_LSC_OFT_GR                                (0x00c4)
495 #define IPIPE_LSC_OFT_GB                                (0x00c8)
496 #define IPIPE_LSC_OFT_B                                 (0x00cc)
497 #define IPIPE_LSC_SHF                                   (0x00d0)
498 #define IPIPE_LSC_MAX                                   (0x00d4)
499
500 #define IPIPE_D2F_1ST_EN                                (0x00d8)
501 #define IPIPE_D2F_1ST_TYP                               (0x00dc)
502 #define IPIPE_D2F_1ST_THR_00                            (0x00e0)
503 #define IPIPE_D2F_1ST_THR_01                            (0x00e4)
504 #define IPIPE_D2F_1ST_THR_02                            (0x00e8)
505 #define IPIPE_D2F_1ST_THR_03                            (0x00ec)
506 #define IPIPE_D2F_1ST_THR_04                            (0x00f0)
507 #define IPIPE_D2F_1ST_THR_05                            (0x00f4)
508 #define IPIPE_D2F_1ST_THR_06                            (0x00f8)
509 #define IPIPE_D2F_1ST_THR_07                            (0x00fc)
510 #define IPIPE_D2F_1ST_STR_00                            (0x0100)
511 #define IPIPE_D2F_1ST_STR_01                            (0x0104)
512 #define IPIPE_D2F_1ST_STR_02                            (0x0108)
513 #define IPIPE_D2F_1ST_STR_03                            (0x010c)
514 #define IPIPE_D2F_1ST_STR_04                            (0x0110)
515 #define IPIPE_D2F_1ST_STR_05                            (0x0114)
516 #define IPIPE_D2F_1ST_STR_06                            (0x0118)
517 #define IPIPE_D2F_1ST_STR_07                            (0x011c)
518 #define IPIPE_D2F_1ST_SPR_00                            (0x0120)
519 #define IPIPE_D2F_1ST_SPR_01                            (0x0124)
520 #define IPIPE_D2F_1ST_SPR_02                            (0x0128)
521 #define IPIPE_D2F_1ST_SPR_03                            (0x012c)
522 #define IPIPE_D2F_1ST_SPR_04                            (0x0130)
523 #define IPIPE_D2F_1ST_SPR_05                            (0x0134)
524 #define IPIPE_D2F_1ST_SPR_06                            (0x0138)
525 #define IPIPE_D2F_1ST_SPR_07                            (0x013c)
526 #define IPIPE_D2F_1ST_EDG_MIN                           (0x0140)
527 #define IPIPE_D2F_1ST_EDG_MAX                           (0x0144)
528 #define IPIPE_D2F_2ND_EN                                (0x0148)
529 #define IPIPE_D2F_2ND_TYP                               (0x014c)
530 #define IPIPE_D2F_2ND_THR00                             (0x0150)
531 #define IPIPE_D2F_2ND_THR01                             (0x0154)
532 #define IPIPE_D2F_2ND_THR02                             (0x0158)
533 #define IPIPE_D2F_2ND_THR03                             (0x015c)
534 #define IPIPE_D2F_2ND_THR04                             (0x0160)
535 #define IPIPE_D2F_2ND_THR05                             (0x0164)
536 #define IPIPE_D2F_2ND_THR06                             (0x0168)
537 #define IPIPE_D2F_2ND_THR07                             (0x016c)
538 #define IPIPE_D2F_2ND_STR_00                            (0x0170)
539 #define IPIPE_D2F_2ND_STR_01                            (0x0174)
540 #define IPIPE_D2F_2ND_STR_02                            (0x0178)
541 #define IPIPE_D2F_2ND_STR_03                            (0x017c)
542 #define IPIPE_D2F_2ND_STR_04                            (0x0180)
543 #define IPIPE_D2F_2ND_STR_05                            (0x0184)
544 #define IPIPE_D2F_2ND_STR_06                            (0x0188)
545 #define IPIPE_D2F_2ND_STR_07                            (0x018c)
546 #define IPIPE_D2F_2ND_SPR_00                            (0x0190)
547 #define IPIPE_D2F_2ND_SPR_01                            (0x0194)
548 #define IPIPE_D2F_2ND_SPR_02                            (0x0198)
549 #define IPIPE_D2F_2ND_SPR_03                            (0x019c)
550 #define IPIPE_D2F_2ND_SPR_04                            (0x01a0)
551 #define IPIPE_D2F_2ND_SPR_05                            (0x01a4)
552 #define IPIPE_D2F_2ND_SPR_06                            (0x01a8)
553 #define IPIPE_D2F_2ND_SPR_07                            (0x01ac)
554 #define IPIPE_D2F_2ND_EDG_MIN                           (0x01b0)
555 #define IPIPE_D2F_2ND_EDG_MAX                           (0x01b4)
556
557 #define IPIPE_GIC_EN                                    (0x01b8)
558 #define IPIPE_GIC_TYP                                   (0x01bc)
559 #define IPIPE_GIC_GAN                                   (0x01c0)
560 #define IPIPE_GIC_NFGAIN                                (0x01c4)
561 #define IPIPE_GIC_THR                                   (0x01c8)
562 #define IPIPE_GIC_SLP                                   (0x01cc)
563
564 #define IPIPE_WB2_OFT_R                                 (0x01d0)
565 #define IPIPE_WB2_OFT_GR                                (0x01d4)
566 #define IPIPE_WB2_OFT_GB                                (0x01d8)
567 #define IPIPE_WB2_OFT_B                                 (0x01dc)
568
569 #define IPIPE_WB2_WGN_R                                 (0x01e0)
570 #define IPIPE_WB2_WGN_GR                                (0x01e4)
571 #define IPIPE_WB2_WGN_GB                                (0x01e8)
572 #define IPIPE_WB2_WGN_B                                 (0x01ec)
573
574 #define IPIPE_CFA_MODE                                  (0x01f0)
575 #define IPIPE_CFA_2DIR_HPF_THR                          (0x01f4)
576 #define IPIPE_CFA_2DIR_HPF_SLP                          (0x01f8)
577 #define IPIPE_CFA_2DIR_MIX_THR                          (0x01fc)
578 #define IPIPE_CFA_2DIR_MIX_SLP                          (0x0200)
579 #define IPIPE_CFA_2DIR_DIR_TRH                          (0x0204)
580 #define IPIPE_CFA_2DIR_DIR_SLP                          (0x0208)
581 #define IPIPE_CFA_2DIR_NDWT                             (0x020c)
582 #define IPIPE_CFA_MONO_HUE_FRA                          (0x0210)
583 #define IPIPE_CFA_MONO_EDG_THR                          (0x0214)
584 #define IPIPE_CFA_MONO_THR_MIN                          (0x0218)
585
586 #define IPIPE_CFA_MONO_THR_SLP                          (0x021c)
587 #define IPIPE_CFA_MONO_SLP_MIN                          (0x0220)
588 #define IPIPE_CFA_MONO_SLP_SLP                          (0x0224)
589 #define IPIPE_CFA_MONO_LPWT                             (0x0228)
590
591 #define IPIPE_RGB1_MUL_RR                               (0x022c)
592 #define IPIPE_RGB1_MUL_GR                               (0x0230)
593 #define IPIPE_RGB1_MUL_BR                               (0x0234)
594 #define IPIPE_RGB1_MUL_RG                               (0x0238)
595 #define IPIPE_RGB1_MUL_GG                               (0x023c)
596 #define IPIPE_RGB1_MUL_BG                               (0x0240)
597 #define IPIPE_RGB1_MUL_RB                               (0x0244)
598 #define IPIPE_RGB1_MUL_GB                               (0x0248)
599 #define IPIPE_RGB1_MUL_BB                               (0x024c)
600 #define IPIPE_RGB1_OFT_OR                               (0x0250)
601 #define IPIPE_RGB1_OFT_OG                               (0x0254)
602 #define IPIPE_RGB1_OFT_OB                               (0x0258)
603 #define IPIPE_GMM_CFG                                   (0x025c)
604 #define IPIPE_RGB2_MUL_RR                               (0x0260)
605 #define IPIPE_RGB2_MUL_GR                               (0x0264)
606 #define IPIPE_RGB2_MUL_BR                               (0x0268)
607 #define IPIPE_RGB2_MUL_RG                               (0x026c)
608 #define IPIPE_RGB2_MUL_GG                               (0x0270)
609 #define IPIPE_RGB2_MUL_BG                               (0x0274)
610 #define IPIPE_RGB2_MUL_RB                               (0x0278)
611 #define IPIPE_RGB2_MUL_GB                               (0x027c)
612 #define IPIPE_RGB2_MUL_BB                               (0x0280)
613 #define IPIPE_RGB2_OFT_OR                               (0x0284)
614 #define IPIPE_RGB2_OFT_OG                               (0x0288)
615 #define IPIPE_RGB2_OFT_OB                               (0x028c)
616
617 #define IPIPE_YUV_ADJ                                   (0x0294)
618 #define IPIPE_YUV_MUL_RY                                (0x0298)
619 #define IPIPE_YUV_MUL_GY                                (0x029c)
620 #define IPIPE_YUV_MUL_BY                                (0x02a0)
621 #define IPIPE_YUV_MUL_RCB                               (0x02a4)
622 #define IPIPE_YUV_MUL_GCB                               (0x02a8)
623 #define IPIPE_YUV_MUL_BCB                               (0x02ac)
624 #define IPIPE_YUV_MUL_RCR                               (0x02b0)
625 #define IPIPE_YUV_MUL_GCR                               (0x02b4)
626 #define IPIPE_YUV_MUL_BCR                               (0x02b8)
627 #define IPIPE_YUV_OFT_Y                                 (0x02bc)
628 #define IPIPE_YUV_OFT_CB                                (0x02c0)
629 #define IPIPE_YUV_OFT_CR                                (0x02c4)
630
631 #define IPIPE_YUV_PHS                                   (0x02c8)
632 #define IPIPE_YUV_PHS_LPF                               BIT(1)
633 #define IPIPE_YUV_PHS_POS                               BIT(0)
634
635 #define IPIPE_YEE_EN                                    (0x02d4)
636 #define IPIPE_YEE_TYP                                   (0x02d8)
637 #define IPIPE_YEE_SHF                                   (0x02dc)
638 #define IPIPE_YEE_MUL_00                                (0x02e0)
639 #define IPIPE_YEE_MUL_01                                (0x02e4)
640 #define IPIPE_YEE_MUL_02                                (0x02e8)
641 #define IPIPE_YEE_MUL_10                                (0x02ec)
642 #define IPIPE_YEE_MUL_11                                (0x02f0)
643 #define IPIPE_YEE_MUL_12                                (0x02f4)
644 #define IPIPE_YEE_MUL_20                                (0x02f8)
645 #define IPIPE_YEE_MUL_21                                (0x02fc)
646 #define IPIPE_YEE_MUL_22                                (0x0300)
647 #define IPIPE_YEE_THR                                   (0x0304)
648 #define IPIPE_YEE_E_GAN                                 (0x0308)
649 #define IPIPE_YEE_E_THR_1                               (0x030c)
650 #define IPIPE_YEE_E_THR_2                               (0x0310)
651 #define IPIPE_YEE_G_GAN                                 (0x0314)
652 #define IPIPE_YEE_G_OFT                                 (0x0318)
653
654 #define IPIPE_CAR_EN                                    (0x031c)
655 #define IPIPE_CAR_TYP                                   (0x0320)
656 #define IPIPE_CAR_SW                                    (0x0324)
657 #define IPIPE_CAR_HPF_TYP                               (0x0328)
658 #define IPIPE_CAR_HPF_SHF                               (0x032c)
659 #define IPIPE_CAR_HPF_THR                               (0x0330)
660 #define IPIPE_CAR_GN1_GAN                               (0x0334)
661 #define IPIPE_CAR_GN1_SHF                               (0x0338)
662 #define IPIPE_CAR_GN1_MIN                               (0x033c)
663 #define IPIPE_CAR_GN2_GAN                               (0x0340)
664 #define IPIPE_CAR_GN2_SHF                               (0x0344)
665 #define IPIPE_CAR_GN2_MIN                               (0x0348)
666 #define IPIPE_CGS_EN                                    (0x034c)
667 #define IPIPE_CGS_GN1_L_THR                             (0x0350)
668 #define IPIPE_CGS_GN1_L_GAIN                            (0x0354)
669 #define IPIPE_CGS_GN1_L_SHF                             (0x0358)
670 #define IPIPE_CGS_GN1_L_MIN                             (0x035c)
671 #define IPIPE_CGS_GN1_H_THR                             (0x0360)
672 #define IPIPE_CGS_GN1_H_GAIN                            (0x0364)
673 #define IPIPE_CGS_GN1_H_SHF                             (0x0368)
674 #define IPIPE_CGS_GN1_H_MIN                             (0x036c)
675 #define IPIPE_CGS_GN2_L_THR                             (0x0370)
676 #define IPIPE_CGS_GN2_L_GAIN                            (0x0374)
677 #define IPIPE_CGS_GN2_L_SHF                             (0x0378)
678 #define IPIPE_CGS_GN2_L_MIN                             (0x037c)
679
680 #define IPIPE_BOX_EN                                    (0x0380)
681 #define IPIPE_BOX_MODE                                  (0x0384)
682 #define IPIPE_BOX_TYP                                   (0x0388)
683 #define IPIPE_BOX_SHF                                   (0x038c)
684 #define IPIPE_BOX_SDR_SAD_H                             (0x0390)
685 #define IPIPE_BOX_SDR_SAD_L                             (0x0394)
686
687 #define IPIPE_HST_EN                                    (0x039c)
688 #define IPIPE_HST_MODE                                  (0x03a0)
689 #define IPIPE_HST_SEL                                   (0x03a4)
690 #define IPIPE_HST_PARA                                  (0x03a8)
691 #define IPIPE_HST_0_VPS                                 (0x03ac)
692 #define IPIPE_HST_0_VSZ                                 (0x03b0)
693 #define IPIPE_HST_0_HPS                                 (0x03b4)
694 #define IPIPE_HST_0_HSZ                                 (0x03b8)
695 #define IPIPE_HST_1_VPS                                 (0x03bc)
696 #define IPIPE_HST_1_VSZ                                 (0x03c0)
697 #define IPIPE_HST_1_HPS                                 (0x03c4)
698 #define IPIPE_HST_1_HSZ                                 (0x03c8)
699 #define IPIPE_HST_2_VPS                                 (0x03cc)
700 #define IPIPE_HST_2_VSZ                                 (0x03d0)
701 #define IPIPE_HST_2_HPS                                 (0x03d4)
702 #define IPIPE_HST_2_HSZ                                 (0x03d8)
703 #define IPIPE_HST_3_VPS                                 (0x03dc)
704 #define IPIPE_HST_3_VSZ                                 (0x03e0)
705 #define IPIPE_HST_3_HPS                                 (0x03e4)
706 #define IPIPE_HST_3_HSZ                                 (0x03e8)
707 #define IPIPE_HST_TBL                                   (0x03ec)
708 #define IPIPE_HST_MUL_R                                 (0x03f0)
709 #define IPIPE_HST_MUL_GR                                (0x03f4)
710 #define IPIPE_HST_MUL_GB                                (0x03f8)
711 #define IPIPE_HST_MUL_B                                 (0x03fc)
712
713 #define IPIPE_BSC_EN                                    (0x0400)
714 #define IPIPE_BSC_MODE                                  (0x0404)
715 #define IPIPE_BSC_TYP                                   (0x0408)
716 #define IPIPE_BSC_ROW_VCT                               (0x040c)
717 #define IPIPE_BSC_ROW_SHF                               (0x0410)
718 #define IPIPE_BSC_ROW_VPO                               (0x0414)
719 #define IPIPE_BSC_ROW_VNU                               (0x0418)
720 #define IPIPE_BSC_ROW_VSKIP                             (0x041c)
721 #define IPIPE_BSC_ROW_HPO                               (0x0420)
722 #define IPIPE_BSC_ROW_HNU                               (0x0424)
723 #define IPIPE_BSC_ROW_HSKIP                             (0x0428)
724 #define IPIPE_BSC_COL_VCT                               (0x042c)
725 #define IPIPE_BSC_COL_SHF                               (0x0430)
726 #define IPIPE_BSC_COL_VPO                               (0x0434)
727 #define IPIPE_BSC_COL_VNU                               (0x0438)
728 #define IPIPE_BSC_COL_VSKIP                             (0x043c)
729 #define IPIPE_BSC_COL_HPO                               (0x0440)
730 #define IPIPE_BSC_COL_HNU                               (0x0444)
731 #define IPIPE_BSC_COL_HSKIP                             (0x0448)
732
733 #define IPIPE_BSC_EN                                    (0x0400)
734
735 /* ISS ISP Resizer register offsets */
736 #define RSZ_REVISION                                    (0x0000)
737 #define RSZ_SYSCONFIG                                   (0x0004)
738 #define RSZ_SYSCONFIG_RSZB_CLK_EN                       BIT(9)
739 #define RSZ_SYSCONFIG_RSZA_CLK_EN                       BIT(8)
740
741 #define RSZ_IN_FIFO_CTRL                                (0x000c)
742 #define RSZ_IN_FIFO_CTRL_THRLD_LOW_MASK                 (0x1ff << 16)
743 #define RSZ_IN_FIFO_CTRL_THRLD_LOW_SHIFT                16
744 #define RSZ_IN_FIFO_CTRL_THRLD_HIGH_MASK                (0x1ff << 0)
745 #define RSZ_IN_FIFO_CTRL_THRLD_HIGH_SHIFT               0
746
747 #define RSZ_FRACDIV                                     (0x0008)
748 #define RSZ_FRACDIV_MASK                                (0xffff)
749
750 #define RSZ_SRC_EN                                      (0x0020)
751 #define RSZ_SRC_EN_SRC_EN                               BIT(0)
752
753 #define RSZ_SRC_MODE                                    (0x0024)
754 #define RSZ_SRC_MODE_OST                                BIT(0)
755 #define RSZ_SRC_MODE_WRT                                BIT(1)
756
757 #define RSZ_SRC_FMT0                                    (0x0028)
758 #define RSZ_SRC_FMT0_BYPASS                             BIT(1)
759 #define RSZ_SRC_FMT0_SEL                                BIT(0)
760
761 #define RSZ_SRC_FMT1                                    (0x002c)
762 #define RSZ_SRC_FMT1_IN420                              BIT(1)
763
764 #define RSZ_SRC_VPS                                     (0x0030)
765 #define RSZ_SRC_VSZ                                     (0x0034)
766 #define RSZ_SRC_HPS                                     (0x0038)
767 #define RSZ_SRC_HSZ                                     (0x003c)
768 #define RSZ_DMA_RZA                                     (0x0040)
769 #define RSZ_DMA_RZB                                     (0x0044)
770 #define RSZ_DMA_STA                                     (0x0048)
771 #define RSZ_GCK_MMR                                     (0x004c)
772 #define RSZ_GCK_MMR_MMR                                 BIT(0)
773
774 #define RSZ_GCK_SDR                                     (0x0054)
775 #define RSZ_GCK_SDR_CORE                                BIT(0)
776
777 #define RSZ_IRQ_RZA                                     (0x0058)
778 #define RSZ_IRQ_RZA_MASK                                (0x1fff)
779
780 #define RSZ_IRQ_RZB                                     (0x005c)
781 #define RSZ_IRQ_RZB_MASK                                (0x1fff)
782
783 #define RSZ_YUV_Y_MIN                                   (0x0060)
784 #define RSZ_YUV_Y_MAX                                   (0x0064)
785 #define RSZ_YUV_C_MIN                                   (0x0068)
786 #define RSZ_YUV_C_MAX                                   (0x006c)
787
788 #define RSZ_SEQ                                         (0x0074)
789 #define RSZ_SEQ_HRVB                                    BIT(2)
790 #define RSZ_SEQ_HRVA                                    BIT(0)
791
792 #define RZA_EN                                          (0x0078)
793 #define RZA_MODE                                        (0x007c)
794 #define RZA_MODE_ONE_SHOT                               BIT(0)
795
796 #define RZA_420                                         (0x0080)
797 #define RZA_I_VPS                                       (0x0084)
798 #define RZA_I_HPS                                       (0x0088)
799 #define RZA_O_VSZ                                       (0x008c)
800 #define RZA_O_HSZ                                       (0x0090)
801 #define RZA_V_PHS_Y                                     (0x0094)
802 #define RZA_V_PHS_C                                     (0x0098)
803 #define RZA_V_DIF                                       (0x009c)
804 #define RZA_V_TYP                                       (0x00a0)
805 #define RZA_V_LPF                                       (0x00a4)
806 #define RZA_H_PHS                                       (0x00a8)
807 #define RZA_H_DIF                                       (0x00b0)
808 #define RZA_H_TYP                                       (0x00b4)
809 #define RZA_H_LPF                                       (0x00b8)
810 #define RZA_DWN_EN                                      (0x00bc)
811 #define RZA_SDR_Y_BAD_H                                 (0x00d0)
812 #define RZA_SDR_Y_BAD_L                                 (0x00d4)
813 #define RZA_SDR_Y_SAD_H                                 (0x00d8)
814 #define RZA_SDR_Y_SAD_L                                 (0x00dc)
815 #define RZA_SDR_Y_OFT                                   (0x00e0)
816 #define RZA_SDR_Y_PTR_S                                 (0x00e4)
817 #define RZA_SDR_Y_PTR_E                                 (0x00e8)
818 #define RZA_SDR_C_BAD_H                                 (0x00ec)
819 #define RZA_SDR_C_BAD_L                                 (0x00f0)
820 #define RZA_SDR_C_SAD_H                                 (0x00f4)
821 #define RZA_SDR_C_SAD_L                                 (0x00f8)
822 #define RZA_SDR_C_OFT                                   (0x00fc)
823 #define RZA_SDR_C_PTR_S                                 (0x0100)
824 #define RZA_SDR_C_PTR_E                                 (0x0104)
825
826 #define RZB_EN                                          (0x0108)
827 #define RZB_MODE                                        (0x010c)
828 #define RZB_420                                         (0x0110)
829 #define RZB_I_VPS                                       (0x0114)
830 #define RZB_I_HPS                                       (0x0118)
831 #define RZB_O_VSZ                                       (0x011c)
832 #define RZB_O_HSZ                                       (0x0120)
833
834 #define RZB_V_DIF                                       (0x012c)
835 #define RZB_V_TYP                                       (0x0130)
836 #define RZB_V_LPF                                       (0x0134)
837
838 #define RZB_H_DIF                                       (0x0140)
839 #define RZB_H_TYP                                       (0x0144)
840 #define RZB_H_LPF                                       (0x0148)
841
842 #define RZB_SDR_Y_BAD_H                                 (0x0160)
843 #define RZB_SDR_Y_BAD_L                                 (0x0164)
844 #define RZB_SDR_Y_SAD_H                                 (0x0168)
845 #define RZB_SDR_Y_SAD_L                                 (0x016c)
846 #define RZB_SDR_Y_OFT                                   (0x0170)
847 #define RZB_SDR_Y_PTR_S                                 (0x0174)
848 #define RZB_SDR_Y_PTR_E                                 (0x0178)
849 #define RZB_SDR_C_BAD_H                                 (0x017c)
850 #define RZB_SDR_C_BAD_L                                 (0x0180)
851 #define RZB_SDR_C_SAD_H                                 (0x0184)
852 #define RZB_SDR_C_SAD_L                                 (0x0188)
853
854 #define RZB_SDR_C_PTR_S                                 (0x0190)
855 #define RZB_SDR_C_PTR_E                                 (0x0194)
856
857 /* Shared Bitmasks between RZA & RZB */
858 #define RSZ_EN_EN                                       BIT(0)
859
860 #define RSZ_420_CEN                                     BIT(1)
861 #define RSZ_420_YEN                                     BIT(0)
862
863 #define RSZ_I_VPS_MASK                                  (0x1fff)
864
865 #define RSZ_I_HPS_MASK                                  (0x1fff)
866
867 #define RSZ_O_VSZ_MASK                                  (0x1fff)
868
869 #define RSZ_O_HSZ_MASK                                  (0x1ffe)
870
871 #define RSZ_V_PHS_Y_MASK                                (0x3fff)
872
873 #define RSZ_V_PHS_C_MASK                                (0x3fff)
874
875 #define RSZ_V_DIF_MASK                                  (0x3fff)
876
877 #define RSZ_V_TYP_C                                     BIT(1)
878 #define RSZ_V_TYP_Y                                     BIT(0)
879
880 #define RSZ_V_LPF_C_MASK                                (0x3f << 6)
881 #define RSZ_V_LPF_C_SHIFT                               6
882 #define RSZ_V_LPF_Y_MASK                                (0x3f << 0)
883 #define RSZ_V_LPF_Y_SHIFT                               0
884
885 #define RSZ_H_PHS_MASK                                  (0x3fff)
886
887 #define RSZ_H_DIF_MASK                                  (0x3fff)
888
889 #define RSZ_H_TYP_C                                     BIT(1)
890 #define RSZ_H_TYP_Y                                     BIT(0)
891
892 #define RSZ_H_LPF_C_MASK                                (0x3f << 6)
893 #define RSZ_H_LPF_C_SHIFT                               6
894 #define RSZ_H_LPF_Y_MASK                                (0x3f << 0)
895 #define RSZ_H_LPF_Y_SHIFT                               0
896
897 #define RSZ_DWN_EN_DWN_EN                               BIT(0)
898
899 #endif /* _OMAP4_ISS_REGS_H_ */