root/drivers/media/platform/davinci/isif_regs.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


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

/* [<][>][^][v][top][bottom][index][help] */