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