1e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/*
2e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri * Copyright (C) 2008-2009 Texas Instruments Inc
3e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri *
4e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri * This program is free software; you can redistribute it and/or modify
5e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri * it under the terms of the GNU General Public License as published by
6e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri * the Free Software Foundation; either version 2 of the License, or
7e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri * (at your option) any later version.
8e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri *
9e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri * This program is distributed in the hope that it will be useful,
10e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri * but WITHOUT ANY WARRANTY; without even the implied warranty of
11e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri * GNU General Public License for more details.
13e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri *
14e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri * You should have received a copy of the GNU General Public License
15e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri * along with this program; if not, write to the Free Software
16e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri */
18e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#ifndef _ISIF_REGS_H
19e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define _ISIF_REGS_H
20e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri
21e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/* ISIF registers relative offsets */
22e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define SYNCEN					0x00
23e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define MODESET					0x04
24e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define HDW					0x08
25e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define VDW					0x0c
26e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define PPLN					0x10
27e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define LPFR					0x14
28e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define SPH					0x18
29e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define LNH					0x1c
30e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define SLV0					0x20
31e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define SLV1					0x24
32e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define LNV					0x28
33e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CULH					0x2c
34e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CULV					0x30
35e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define HSIZE					0x34
36e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define SDOFST					0x38
37e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CADU					0x3c
38e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CADL					0x40
39e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define LINCFG0					0x44
40e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define LINCFG1					0x48
41e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CCOLP					0x4c
42e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CRGAIN 					0x50
43e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CGRGAIN					0x54
44e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CGBGAIN					0x58
45e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CBGAIN					0x5c
46e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define COFSTA					0x60
47e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FLSHCFG0				0x64
48e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FLSHCFG1				0x68
49e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FLSHCFG2				0x6c
50e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define VDINT0					0x70
51e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define VDINT1					0x74
52e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define VDINT2					0x78
53e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define MISC 					0x7c
54e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CGAMMAWD				0x80
55e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define REC656IF				0x84
56e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CCDCFG					0x88
57e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/*****************************************************
58e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri* Defect Correction registers
59e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri*****************************************************/
60e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define DFCCTL					0x8c
61e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define VDFSATLV				0x90
62e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define DFCMEMCTL				0x94
63e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define DFCMEM0					0x98
64e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define DFCMEM1					0x9c
65e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define DFCMEM2					0xa0
66e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define DFCMEM3					0xa4
67e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define DFCMEM4					0xa8
68e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/****************************************************
69e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri* Black Clamp registers
70e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri****************************************************/
71e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CLAMPCFG				0xac
72e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CLDCOFST				0xb0
73e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CLSV					0xb4
74e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CLHWIN0					0xb8
75e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CLHWIN1					0xbc
76e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CLHWIN2					0xc0
77e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CLVRV					0xc4
78e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CLVWIN0					0xc8
79e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CLVWIN1					0xcc
80e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CLVWIN2					0xd0
81e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CLVWIN3					0xd4
82e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/****************************************************
83e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri* Lense Shading Correction
84e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri****************************************************/
85e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define DATAHOFST				0xd8
86e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define DATAVOFST				0xdc
87e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define LSCHVAL					0xe0
88e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define LSCVVAL					0xe4
89e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define TWODLSCCFG				0xe8
90e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define TWODLSCOFST				0xec
91e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define TWODLSCINI				0xf0
92e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define TWODLSCGRBU				0xf4
93e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define TWODLSCGRBL				0xf8
94e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define TWODLSCGROF				0xfc
95e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define TWODLSCORBU				0x100
96e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define TWODLSCORBL				0x104
97e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define TWODLSCOROF				0x108
98e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define TWODLSCIRQEN				0x10c
99e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define TWODLSCIRQST				0x110
100e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/****************************************************
101e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri* Data formatter
102e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri****************************************************/
103e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTCFG					0x114
104e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTPLEN					0x118
105e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTSPH					0x11c
106e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTLNH					0x120
107e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTSLV					0x124
108e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTLNV					0x128
109e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTRLEN					0x12c
110e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTHCNT					0x130
111e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTAPTR_BASE				0x134
112e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/* Below macro for addresses FMTAPTR0 - FMTAPTR15 */
113e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTAPTR(i)			(FMTAPTR_BASE + (i * 4))
114e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTPGMVF0				0x174
115e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTPGMVF1				0x178
116e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTPGMAPU0				0x17c
117e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTPGMAPU1				0x180
118e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTPGMAPS0				0x184
119e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTPGMAPS1				0x188
120e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTPGMAPS2				0x18c
121e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTPGMAPS3				0x190
122e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTPGMAPS4				0x194
123e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTPGMAPS5				0x198
124e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTPGMAPS6				0x19c
125e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define FMTPGMAPS7				0x1a0
126e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/************************************************
127e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri* Color Space Converter
128e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri************************************************/
129e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CSCCTL					0x1a4
130e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CSCM0					0x1a8
131e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CSCM1					0x1ac
132e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CSCM2					0x1b0
133e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CSCM3					0x1b4
134e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CSCM4					0x1b8
135e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CSCM5					0x1bc
136e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CSCM6					0x1c0
137e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CSCM7					0x1c4
138e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define OBWIN0					0x1c8
139e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define OBWIN1					0x1cc
140e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define OBWIN2					0x1d0
141e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define OBWIN3					0x1d4
142e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define OBVAL0					0x1d8
143e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define OBVAL1					0x1dc
144e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define OBVAL2					0x1e0
145e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define OBVAL3					0x1e4
146e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define OBVAL4					0x1e8
147e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define OBVAL5					0x1ec
148e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define OBVAL6					0x1f0
149e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define OBVAL7					0x1f4
150e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CLKCTL					0x1f8
151e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri
152e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/* Masks & Shifts below */
153e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define START_PX_HOR_MASK			0x7FFF
154e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define NUM_PX_HOR_MASK				0x7FFF
155e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define START_VER_ONE_MASK			0x7FFF
156e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define START_VER_TWO_MASK			0x7FFF
157e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define NUM_LINES_VER				0x7FFF
158e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri
159e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/* gain - offset masks */
160e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define GAIN_INTEGER_SHIFT			9
161000f64efc7fe6693261a78a0164c0e805553631bMauro Carvalho Chehab#define OFFSET_MASK				0xFFF
162e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define GAIN_SDRAM_EN_SHIFT			12
163e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define GAIN_IPIPE_EN_SHIFT			13
164e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define GAIN_H3A_EN_SHIFT			14
165e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define OFST_SDRAM_EN_SHIFT			8
166e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define OFST_IPIPE_EN_SHIFT			9
167e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define OFST_H3A_EN_SHIFT			10
168e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define GAIN_OFFSET_EN_MASK			0x7700
169e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri
170e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/* Culling */
171e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define CULL_PAT_EVEN_LINE_SHIFT		8
172e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri
173e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/* CCDCFG register */
174e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_YCINSWP_RAW			(0x00 << 4)
175e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_YCINSWP_YCBCR			(0x01 << 4)
176e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_CCDCFG_FIDMD_LATCH_VSYNC		(0x00 << 6)
177e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_CCDCFG_WENLOG_AND			(0x00 << 8)
178e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_CCDCFG_TRGSEL_WEN			(0x00 << 9)
179e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_CCDCFG_EXTRG_DISABLE		(0x00 << 10)
180e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_LATCH_ON_VSYNC_DISABLE		(0x01 << 15)
181e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_LATCH_ON_VSYNC_ENABLE		(0x00 << 15)
182e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_DATA_PACK_MASK			3
183e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_DATA_PACK16			0
184e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_DATA_PACK12			1
185e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_DATA_PACK8				2
186e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_PIX_ORDER_SHIFT			11
187e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_BW656_ENABLE			(0x01 << 5)
188e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri
189e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/* MODESET registers */
190e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_VDHDOUT_INPUT			(0x00 << 0)
191e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_INPUT_SHIFT			12
192e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_RAW_INPUT_MODE			0
193e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_FID_POL_SHIFT			4
194e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_HD_POL_SHIFT			3
195e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_VD_POL_SHIFT			2
196e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_DATAPOL_NORMAL			0
197e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_DATAPOL_SHIFT			6
198e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_EXWEN_DISABLE 			0
199e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_EXWEN_SHIFT			5
200e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_FRM_FMT_SHIFT			7
201e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_DATASFT_SHIFT			8
202e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_LPF_SHIFT				14
203e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_LPF_MASK				1
204e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri
205e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/* GAMMAWD registers */
206e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_ALAW_GAMA_WD_MASK			0xF
207e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_ALAW_GAMA_WD_SHIFT			1
208e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_ALAW_ENABLE			1
209e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_GAMMAWD_CFA_SHIFT			5
210e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri
211e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/* HSIZE registers */
212e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_HSIZE_FLIP_MASK			1
213e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_HSIZE_FLIP_SHIFT			12
214e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri
215e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/* MISC registers */
216e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_DPCM_EN_SHIFT			12
217e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_DPCM_PREDICTOR_SHIFT		13
218e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri
219e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/* Black clamp related */
220e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_BC_MODE_COLOR_SHIFT		4
221e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_HORZ_BC_MODE_SHIFT			1
222e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_HORZ_BC_WIN_SEL_SHIFT		5
223e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_HORZ_BC_PIX_LIMIT_SHIFT		6
224e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_HORZ_BC_WIN_H_SIZE_SHIFT		8
225e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_HORZ_BC_WIN_V_SIZE_SHIFT		12
226e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define	ISIF_VERT_BC_RST_VAL_SEL_SHIFT		4
227e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_VERT_BC_LINE_AVE_COEF_SHIFT	8
228e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri
229e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/* VDFC registers */
230e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_VDFC_EN_SHIFT			4
231e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_VDFC_CORR_MOD_SHIFT		5
232e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_VDFC_CORR_WHOLE_LN_SHIFT		7
233e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_VDFC_LEVEL_SHFT_SHIFT		8
234e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_VDFC_POS_MASK			0x1FFF
235e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_DFCMEMCTL_DFCMARST_SHIFT		2
236e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri
237e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/* CSC registers */
238e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_CSC_COEF_INTEG_MASK		7
239e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_CSC_COEF_DECIMAL_MASK		0x1f
240e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_CSC_COEF_INTEG_SHIFT		5
241e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_CSCM_MSB_SHIFT			8
242e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_DF_CSC_SPH_MASK			0x1FFF
243e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_DF_CSC_LNH_MASK			0x1FFF
244e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_DF_CSC_SLV_MASK			0x1FFF
245e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_DF_CSC_LNV_MASK			0x1FFF
246e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_DF_NUMLINES			0x7FFF
247e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_DF_NUMPIX				0x1FFF
248e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri
249e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/* Offsets for LSC/DFC/Gain */
250e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_DATA_H_OFFSET_MASK			0x1FFF
251e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_DATA_V_OFFSET_MASK			0x1FFF
252e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri
253e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/* Linearization */
254e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_LIN_CORRSFT_SHIFT			4
255e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_LIN_SCALE_FACT_INTEG_SHIFT		10
256e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri
257e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri
258e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/* Pattern registers */
259e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_PG_EN				(1 << 3)
260e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_SEL_PG_SRC				(3 << 4)
261e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_PG_VD_POL_SHIFT			0
262e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_PG_HD_POL_SHIFT			1
263e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri
264e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri/*random other junk*/
265e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_SYNCEN_VDHDEN_MASK			(1 << 0)
266e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_SYNCEN_WEN_MASK			(1 << 1)
267e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#define ISIF_SYNCEN_WEN_SHIFT			1
268e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri
269e8417683eb15f05941f4c2aad7d358472eaf8a32Murali Karicheri#endif
270