Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef __PXA168FB_H__
0003 #define __PXA168FB_H__
0004 
0005 /* ------------< LCD register >------------ */
0006 /* Video Frame 0&1 start address registers */
0007 #define LCD_SPU_DMA_START_ADDR_Y0       0x00C0
0008 #define LCD_SPU_DMA_START_ADDR_U0       0x00C4
0009 #define LCD_SPU_DMA_START_ADDR_V0       0x00C8
0010 #define LCD_CFG_DMA_START_ADDR_0        0x00CC /* Cmd address */
0011 #define LCD_SPU_DMA_START_ADDR_Y1       0x00D0
0012 #define LCD_SPU_DMA_START_ADDR_U1       0x00D4
0013 #define LCD_SPU_DMA_START_ADDR_V1       0x00D8
0014 #define LCD_CFG_DMA_START_ADDR_1        0x00DC /* Cmd address */
0015 
0016 /* YC & UV Pitch */
0017 #define LCD_SPU_DMA_PITCH_YC            0x00E0
0018 #define     SPU_DMA_PITCH_C(c)          ((c) << 16)
0019 #define     SPU_DMA_PITCH_Y(y)          (y)
0020 #define LCD_SPU_DMA_PITCH_UV            0x00E4
0021 #define     SPU_DMA_PITCH_V(v)          ((v) << 16)
0022 #define     SPU_DMA_PITCH_U(u)          (u)
0023 
0024 /* Video Starting Point on Screen Register */
0025 #define LCD_SPUT_DMA_OVSA_HPXL_VLN      0x00E8
0026 #define     CFG_DMA_OVSA_VLN(y)         ((y) << 16) /* 0~0xfff */
0027 #define     CFG_DMA_OVSA_HPXL(x)        (x)     /* 0~0xfff */
0028 
0029 /* Video Size Register */
0030 #define LCD_SPU_DMA_HPXL_VLN            0x00EC
0031 #define     CFG_DMA_VLN(y)          ((y) << 16)
0032 #define     CFG_DMA_HPXL(x)         (x)
0033 
0034 /* Video Size After zooming Register */
0035 #define LCD_SPU_DZM_HPXL_VLN            0x00F0
0036 #define     CFG_DZM_VLN(y)          ((y) << 16)
0037 #define     CFG_DZM_HPXL(x)         (x)
0038 
0039 /* Graphic Frame 0&1 Starting Address Register */
0040 #define LCD_CFG_GRA_START_ADDR0         0x00F4
0041 #define LCD_CFG_GRA_START_ADDR1         0x00F8
0042 
0043 /* Graphic Frame Pitch */
0044 #define LCD_CFG_GRA_PITCH           0x00FC
0045 
0046 /* Graphic Starting Point on Screen Register */
0047 #define LCD_SPU_GRA_OVSA_HPXL_VLN       0x0100
0048 #define     CFG_GRA_OVSA_VLN(y)         ((y) << 16)
0049 #define     CFG_GRA_OVSA_HPXL(x)        (x)
0050 
0051 /* Graphic Size Register */
0052 #define LCD_SPU_GRA_HPXL_VLN            0x0104
0053 #define     CFG_GRA_VLN(y)          ((y) << 16)
0054 #define     CFG_GRA_HPXL(x)         (x)
0055 
0056 /* Graphic Size after Zooming Register */
0057 #define LCD_SPU_GZM_HPXL_VLN            0x0108
0058 #define     CFG_GZM_VLN(y)          ((y) << 16)
0059 #define     CFG_GZM_HPXL(x)         (x)
0060 
0061 /* HW Cursor Starting Point on Screen Register */
0062 #define LCD_SPU_HWC_OVSA_HPXL_VLN       0x010C
0063 #define     CFG_HWC_OVSA_VLN(y)         ((y) << 16)
0064 #define     CFG_HWC_OVSA_HPXL(x)        (x)
0065 
0066 /* HW Cursor Size */
0067 #define LCD_SPU_HWC_HPXL_VLN            0x0110
0068 #define     CFG_HWC_VLN(y)          ((y) << 16)
0069 #define     CFG_HWC_HPXL(x)         (x)
0070 
0071 /* Total Screen Size Register */
0072 #define LCD_SPUT_V_H_TOTAL          0x0114
0073 #define     CFG_V_TOTAL(y)          ((y) << 16)
0074 #define     CFG_H_TOTAL(x)          (x)
0075 
0076 /* Total Screen Active Size Register */
0077 #define LCD_SPU_V_H_ACTIVE          0x0118
0078 #define     CFG_V_ACTIVE(y)         ((y) << 16)
0079 #define     CFG_H_ACTIVE(x)         (x)
0080 
0081 /* Screen H&V Porch Register */
0082 #define LCD_SPU_H_PORCH             0x011C
0083 #define     CFG_H_BACK_PORCH(b)         ((b) << 16)
0084 #define     CFG_H_FRONT_PORCH(f)        (f)
0085 #define LCD_SPU_V_PORCH             0x0120
0086 #define     CFG_V_BACK_PORCH(b)         ((b) << 16)
0087 #define     CFG_V_FRONT_PORCH(f)        (f)
0088 
0089 /* Screen Blank Color Register */
0090 #define LCD_SPU_BLANKCOLOR          0x0124
0091 #define     CFG_BLANKCOLOR_MASK         0x00FFFFFF
0092 #define     CFG_BLANKCOLOR_R_MASK       0x000000FF
0093 #define     CFG_BLANKCOLOR_G_MASK       0x0000FF00
0094 #define     CFG_BLANKCOLOR_B_MASK       0x00FF0000
0095 
0096 /* HW Cursor Color 1&2 Register */
0097 #define LCD_SPU_ALPHA_COLOR1            0x0128
0098 #define     CFG_HWC_COLOR1          0x00FFFFFF
0099 #define     CFG_HWC_COLOR1_R(red)       ((red) << 16)
0100 #define     CFG_HWC_COLOR1_G(green)     ((green) << 8)
0101 #define     CFG_HWC_COLOR1_B(blue)      (blue)
0102 #define     CFG_HWC_COLOR1_R_MASK       0x000000FF
0103 #define     CFG_HWC_COLOR1_G_MASK       0x0000FF00
0104 #define     CFG_HWC_COLOR1_B_MASK       0x00FF0000
0105 #define LCD_SPU_ALPHA_COLOR2            0x012C
0106 #define     CFG_HWC_COLOR2          0x00FFFFFF
0107 #define     CFG_HWC_COLOR2_R_MASK       0x000000FF
0108 #define     CFG_HWC_COLOR2_G_MASK       0x0000FF00
0109 #define     CFG_HWC_COLOR2_B_MASK       0x00FF0000
0110 
0111 /* Video YUV Color Key Control */
0112 #define LCD_SPU_COLORKEY_Y          0x0130
0113 #define     CFG_CKEY_Y2(y2)         ((y2) << 24)
0114 #define     CFG_CKEY_Y2_MASK            0xFF000000
0115 #define     CFG_CKEY_Y1(y1)         ((y1) << 16)
0116 #define     CFG_CKEY_Y1_MASK            0x00FF0000
0117 #define     CFG_CKEY_Y(y)           ((y) << 8)
0118 #define     CFG_CKEY_Y_MASK         0x0000FF00
0119 #define     CFG_ALPHA_Y(y)          (y)
0120 #define     CFG_ALPHA_Y_MASK            0x000000FF
0121 #define LCD_SPU_COLORKEY_U          0x0134
0122 #define     CFG_CKEY_U2(u2)         ((u2) << 24)
0123 #define     CFG_CKEY_U2_MASK            0xFF000000
0124 #define     CFG_CKEY_U1(u1)         ((u1) << 16)
0125 #define     CFG_CKEY_U1_MASK            0x00FF0000
0126 #define     CFG_CKEY_U(u)           ((u) << 8)
0127 #define     CFG_CKEY_U_MASK         0x0000FF00
0128 #define     CFG_ALPHA_U(u)          (u)
0129 #define     CFG_ALPHA_U_MASK            0x000000FF
0130 #define LCD_SPU_COLORKEY_V          0x0138
0131 #define     CFG_CKEY_V2(v2)         ((v2) << 24)
0132 #define     CFG_CKEY_V2_MASK            0xFF000000
0133 #define     CFG_CKEY_V1(v1)         ((v1) << 16)
0134 #define     CFG_CKEY_V1_MASK            0x00FF0000
0135 #define     CFG_CKEY_V(v)           ((v) << 8)
0136 #define     CFG_CKEY_V_MASK         0x0000FF00
0137 #define     CFG_ALPHA_V(v)          (v)
0138 #define     CFG_ALPHA_V_MASK            0x000000FF
0139 
0140 /* SPI Read Data Register */
0141 #define LCD_SPU_SPI_RXDATA          0x0140
0142 
0143 /* Smart Panel Read Data Register */
0144 #define LCD_SPU_ISA_RSDATA          0x0144
0145 #define     ISA_RXDATA_16BIT_1_DATA_MASK    0x000000FF
0146 #define     ISA_RXDATA_16BIT_2_DATA_MASK    0x0000FF00
0147 #define     ISA_RXDATA_16BIT_3_DATA_MASK    0x00FF0000
0148 #define     ISA_RXDATA_16BIT_4_DATA_MASK    0xFF000000
0149 #define     ISA_RXDATA_32BIT_1_DATA_MASK    0x00FFFFFF
0150 
0151 /* HWC SRAM Read Data Register */
0152 #define LCD_SPU_HWC_RDDAT           0x0158
0153 
0154 /* Gamma Table SRAM Read Data Register */
0155 #define LCD_SPU_GAMMA_RDDAT         0x015c
0156 #define     CFG_GAMMA_RDDAT_MASK        0x000000FF
0157 
0158 /* Palette Table SRAM Read Data Register */
0159 #define LCD_SPU_PALETTE_RDDAT           0x0160
0160 #define     CFG_PALETTE_RDDAT_MASK      0x00FFFFFF
0161 
0162 /* I/O Pads Input Read Only Register */
0163 #define LCD_SPU_IOPAD_IN            0x0178
0164 #define     CFG_IOPAD_IN_MASK           0x0FFFFFFF
0165 
0166 /* Reserved Read Only Registers */
0167 #define LCD_CFG_RDREG5F             0x017C
0168 #define     IRE_FRAME_CNT_MASK          0x000000C0
0169 #define     IPE_FRAME_CNT_MASK          0x00000030
0170 #define     GRA_FRAME_CNT_MASK          0x0000000C  /* Graphic */
0171 #define     DMA_FRAME_CNT_MASK          0x00000003  /* Video */
0172 
0173 /* SPI Control Register. */
0174 #define LCD_SPU_SPI_CTRL            0x0180
0175 #define     CFG_SCLKCNT(div)            ((div) << 24)  /* 0xFF~0x2 */
0176 #define     CFG_SCLKCNT_MASK            0xFF000000
0177 #define     CFG_RXBITS(rx)          ((rx) << 16)   /* 0x1F~0x1 */
0178 #define     CFG_RXBITS_MASK         0x00FF0000
0179 #define     CFG_TXBITS(tx)          ((tx) << 8)    /* 0x1F~0x1 */
0180 #define     CFG_TXBITS_MASK         0x0000FF00
0181 #define     CFG_CLKINV(clk)         ((clk) << 7)
0182 #define     CFG_CLKINV_MASK         0x00000080
0183 #define     CFG_KEEPXFER(transfer)      ((transfer) << 6)
0184 #define     CFG_KEEPXFER_MASK           0x00000040
0185 #define     CFG_RXBITSTO0(rx)           ((rx) << 5)
0186 #define     CFG_RXBITSTO0_MASK          0x00000020
0187 #define     CFG_TXBITSTO0(tx)           ((tx) << 4)
0188 #define     CFG_TXBITSTO0_MASK          0x00000010
0189 #define     CFG_SPI_ENA(spi)            ((spi) << 3)
0190 #define     CFG_SPI_ENA_MASK            0x00000008
0191 #define     CFG_SPI_SEL(spi)            ((spi) << 2)
0192 #define     CFG_SPI_SEL_MASK            0x00000004
0193 #define     CFG_SPI_3W4WB(wire)         ((wire) << 1)
0194 #define     CFG_SPI_3W4WB_MASK          0x00000002
0195 #define     CFG_SPI_START(start)        (start)
0196 #define     CFG_SPI_START_MASK          0x00000001
0197 
0198 /* SPI Tx Data Register */
0199 #define LCD_SPU_SPI_TXDATA          0x0184
0200 
0201 /*
0202    1. Smart Pannel 8-bit Bus Control Register.
0203    2. AHB Slave Path Data Port Register
0204 */
0205 #define LCD_SPU_SMPN_CTRL           0x0188
0206 
0207 /* DMA Control 0 Register */
0208 #define LCD_SPU_DMA_CTRL0           0x0190
0209 #define     CFG_NOBLENDING(nb)          ((nb) << 31)
0210 #define     CFG_NOBLENDING_MASK         0x80000000
0211 #define     CFG_GAMMA_ENA(gn)           ((gn) << 30)
0212 #define     CFG_GAMMA_ENA_MASK          0x40000000
0213 #define     CFG_CBSH_ENA(cn)            ((cn) << 29)
0214 #define     CFG_CBSH_ENA_MASK           0x20000000
0215 #define     CFG_PALETTE_ENA(pn)         ((pn) << 28)
0216 #define     CFG_PALETTE_ENA_MASK        0x10000000
0217 #define     CFG_ARBFAST_ENA(an)         ((an) << 27)
0218 #define     CFG_ARBFAST_ENA_MASK        0x08000000
0219 #define     CFG_HWC_1BITMOD(mode)       ((mode) << 26)
0220 #define     CFG_HWC_1BITMOD_MASK        0x04000000
0221 #define     CFG_HWC_1BITENA(mn)         ((mn) << 25)
0222 #define     CFG_HWC_1BITENA_MASK        0x02000000
0223 #define     CFG_HWC_ENA(cn)             ((cn) << 24)
0224 #define     CFG_HWC_ENA_MASK            0x01000000
0225 #define     CFG_DMAFORMAT(dmaformat)        ((dmaformat) << 20)
0226 #define     CFG_DMAFORMAT_MASK          0x00F00000
0227 #define     CFG_GRAFORMAT(graformat)        ((graformat) << 16)
0228 #define     CFG_GRAFORMAT_MASK          0x000F0000
0229 /* for graphic part */
0230 #define     CFG_GRA_FTOGGLE(toggle)     ((toggle) << 15)
0231 #define     CFG_GRA_FTOGGLE_MASK        0x00008000
0232 #define     CFG_GRA_HSMOOTH(smooth)     ((smooth) << 14)
0233 #define     CFG_GRA_HSMOOTH_MASK        0x00004000
0234 #define     CFG_GRA_TSTMODE(test)       ((test) << 13)
0235 #define     CFG_GRA_TSTMODE_MASK        0x00002000
0236 #define     CFG_GRA_SWAPRB(swap)        ((swap) << 12)
0237 #define     CFG_GRA_SWAPRB_MASK         0x00001000
0238 #define     CFG_GRA_SWAPUV(swap)        ((swap) << 11)
0239 #define     CFG_GRA_SWAPUV_MASK         0x00000800
0240 #define     CFG_GRA_SWAPYU(swap)        ((swap) << 10)
0241 #define     CFG_GRA_SWAPYU_MASK         0x00000400
0242 #define     CFG_YUV2RGB_GRA(cvrt)       ((cvrt) << 9)
0243 #define     CFG_YUV2RGB_GRA_MASK        0x00000200
0244 #define     CFG_GRA_ENA(gra)            ((gra) << 8)
0245 #define     CFG_GRA_ENA_MASK            0x00000100
0246 /* for video part */
0247 #define     CFG_DMA_FTOGGLE(toggle)     ((toggle) << 7)
0248 #define     CFG_DMA_FTOGGLE_MASK        0x00000080
0249 #define     CFG_DMA_HSMOOTH(smooth)     ((smooth) << 6)
0250 #define     CFG_DMA_HSMOOTH_MASK        0x00000040
0251 #define     CFG_DMA_TSTMODE(test)       ((test) << 5)
0252 #define     CFG_DMA_TSTMODE_MASK        0x00000020
0253 #define     CFG_DMA_SWAPRB(swap)        ((swap) << 4)
0254 #define     CFG_DMA_SWAPRB_MASK         0x00000010
0255 #define     CFG_DMA_SWAPUV(swap)        ((swap) << 3)
0256 #define     CFG_DMA_SWAPUV_MASK         0x00000008
0257 #define     CFG_DMA_SWAPYU(swap)        ((swap) << 2)
0258 #define     CFG_DMA_SWAPYU_MASK         0x00000004
0259 #define     CFG_DMA_SWAP_MASK           0x0000001C
0260 #define     CFG_YUV2RGB_DMA(cvrt)       ((cvrt) << 1)
0261 #define     CFG_YUV2RGB_DMA_MASK        0x00000002
0262 #define     CFG_DMA_ENA(video)          (video)
0263 #define     CFG_DMA_ENA_MASK            0x00000001
0264 
0265 /* DMA Control 1 Register */
0266 #define LCD_SPU_DMA_CTRL1           0x0194
0267 #define     CFG_FRAME_TRIG(trig)        ((trig) << 31)
0268 #define     CFG_FRAME_TRIG_MASK         0x80000000
0269 #define     CFG_VSYNC_TRIG(trig)        ((trig) << 28)
0270 #define     CFG_VSYNC_TRIG_MASK         0x70000000
0271 #define     CFG_VSYNC_INV(inv)          ((inv) << 27)
0272 #define     CFG_VSYNC_INV_MASK          0x08000000
0273 #define     CFG_COLOR_KEY_MODE(cmode)       ((cmode) << 24)
0274 #define     CFG_COLOR_KEY_MASK          0x07000000
0275 #define     CFG_CARRY(carry)            ((carry) << 23)
0276 #define     CFG_CARRY_MASK          0x00800000
0277 #define     CFG_LNBUF_ENA(lnbuf)        ((lnbuf) << 22)
0278 #define     CFG_LNBUF_ENA_MASK          0x00400000
0279 #define     CFG_GATED_ENA(gated)        ((gated) << 21)
0280 #define     CFG_GATED_ENA_MASK          0x00200000
0281 #define     CFG_PWRDN_ENA(power)        ((power) << 20)
0282 #define     CFG_PWRDN_ENA_MASK          0x00100000
0283 #define     CFG_DSCALE(dscale)          ((dscale) << 18)
0284 #define     CFG_DSCALE_MASK         0x000C0000
0285 #define     CFG_ALPHA_MODE(amode)       ((amode) << 16)
0286 #define     CFG_ALPHA_MODE_MASK         0x00030000
0287 #define     CFG_ALPHA(alpha)            ((alpha) << 8)
0288 #define     CFG_ALPHA_MASK          0x0000FF00
0289 #define     CFG_PXLCMD(pxlcmd)          (pxlcmd)
0290 #define     CFG_PXLCMD_MASK         0x000000FF
0291 
0292 /* SRAM Control Register */
0293 #define LCD_SPU_SRAM_CTRL           0x0198
0294 #define     CFG_SRAM_INIT_WR_RD(mode)       ((mode) << 14)
0295 #define     CFG_SRAM_INIT_WR_RD_MASK        0x0000C000
0296 #define     CFG_SRAM_ADDR_LCDID(id)     ((id) << 8)
0297 #define     CFG_SRAM_ADDR_LCDID_MASK        0x00000F00
0298 #define     CFG_SRAM_ADDR(addr)         (addr)
0299 #define     CFG_SRAM_ADDR_MASK          0x000000FF
0300 
0301 /* SRAM Write Data Register */
0302 #define LCD_SPU_SRAM_WRDAT          0x019C
0303 
0304 /* SRAM RTC/WTC Control Register */
0305 #define LCD_SPU_SRAM_PARA0          0x01A0
0306 
0307 /* SRAM Power Down Control Register */
0308 #define LCD_SPU_SRAM_PARA1          0x01A4
0309 #define     CFG_CSB_256x32(hwc)         ((hwc) << 15)   /* HWC */
0310 #define     CFG_CSB_256x32_MASK         0x00008000
0311 #define     CFG_CSB_256x24(palette)     ((palette) << 14)   /* Palette */
0312 #define     CFG_CSB_256x24_MASK         0x00004000
0313 #define     CFG_CSB_256x8(gamma)        ((gamma) << 13) /* Gamma */
0314 #define     CFG_CSB_256x8_MASK          0x00002000
0315 #define     CFG_PDWN256x32(pdwn)        ((pdwn) << 7)   /* HWC */
0316 #define     CFG_PDWN256x32_MASK         0x00000080
0317 #define     CFG_PDWN256x24(pdwn)        ((pdwn) << 6)   /* Palette */
0318 #define     CFG_PDWN256x24_MASK         0x00000040
0319 #define     CFG_PDWN256x8(pdwn)         ((pdwn) << 5)   /* Gamma */
0320 #define     CFG_PDWN256x8_MASK          0x00000020
0321 #define     CFG_PDWN32x32(pdwn)         ((pdwn) << 3)
0322 #define     CFG_PDWN32x32_MASK          0x00000008
0323 #define     CFG_PDWN16x66(pdwn)         ((pdwn) << 2)
0324 #define     CFG_PDWN16x66_MASK          0x00000004
0325 #define     CFG_PDWN32x66(pdwn)         ((pdwn) << 1)
0326 #define     CFG_PDWN32x66_MASK          0x00000002
0327 #define     CFG_PDWN64x66(pdwn)         (pdwn)
0328 #define     CFG_PDWN64x66_MASK          0x00000001
0329 
0330 /* Smart or Dumb Panel Clock Divider */
0331 #define LCD_CFG_SCLK_DIV            0x01A8
0332 #define     SCLK_SOURCE_SELECT(src)     ((src) << 31)
0333 #define     SCLK_SOURCE_SELECT_MASK     0x80000000
0334 #define     CLK_FRACDIV(frac)           ((frac) << 16)
0335 #define     CLK_FRACDIV_MASK            0x0FFF0000
0336 #define     CLK_INT_DIV(div)            (div)
0337 #define     CLK_INT_DIV_MASK            0x0000FFFF
0338 
0339 /* Video Contrast Register */
0340 #define LCD_SPU_CONTRAST            0x01AC
0341 #define     CFG_BRIGHTNESS(bright)      ((bright) << 16)
0342 #define     CFG_BRIGHTNESS_MASK         0xFFFF0000
0343 #define     CFG_CONTRAST(contrast)      (contrast)
0344 #define     CFG_CONTRAST_MASK           0x0000FFFF
0345 
0346 /* Video Saturation Register */
0347 #define LCD_SPU_SATURATION          0x01B0
0348 #define     CFG_C_MULTS(mult)           ((mult) << 16)
0349 #define     CFG_C_MULTS_MASK            0xFFFF0000
0350 #define     CFG_SATURATION(sat)         (sat)
0351 #define     CFG_SATURATION_MASK         0x0000FFFF
0352 
0353 /* Video Hue Adjust Register */
0354 #define LCD_SPU_CBSH_HUE            0x01B4
0355 #define     CFG_SIN0(sin0)          ((sin0) << 16)
0356 #define     CFG_SIN0_MASK           0xFFFF0000
0357 #define     CFG_COS0(con0)          (con0)
0358 #define     CFG_COS0_MASK           0x0000FFFF
0359 
0360 /* Dump LCD Panel Control Register */
0361 #define LCD_SPU_DUMB_CTRL           0x01B8
0362 #define     CFG_DUMBMODE(mode)          ((mode) << 28)
0363 #define     CFG_DUMBMODE_MASK           0xF0000000
0364 #define     CFG_LCDGPIO_O(data)         ((data) << 20)
0365 #define     CFG_LCDGPIO_O_MASK          0x0FF00000
0366 #define     CFG_LCDGPIO_ENA(gpio)       ((gpio) << 12)
0367 #define     CFG_LCDGPIO_ENA_MASK        0x000FF000
0368 #define     CFG_BIAS_OUT(bias)          ((bias) << 8)
0369 #define     CFG_BIAS_OUT_MASK           0x00000100
0370 #define     CFG_REVERSE_RGB(rRGB)       ((rRGB) << 7)
0371 #define     CFG_REVERSE_RGB_MASK        0x00000080
0372 #define     CFG_INV_COMPBLANK(blank)        ((blank) << 6)
0373 #define     CFG_INV_COMPBLANK_MASK      0x00000040
0374 #define     CFG_INV_COMPSYNC(sync)      ((sync) << 5)
0375 #define     CFG_INV_COMPSYNC_MASK       0x00000020
0376 #define     CFG_INV_HENA(hena)          ((hena) << 4)
0377 #define     CFG_INV_HENA_MASK           0x00000010
0378 #define     CFG_INV_VSYNC(vsync)        ((vsync) << 3)
0379 #define     CFG_INV_VSYNC_MASK          0x00000008
0380 #define     CFG_INV_HSYNC(hsync)        ((hsync) << 2)
0381 #define     CFG_INV_HSYNC_MASK          0x00000004
0382 #define     CFG_INV_PCLK(pclk)          ((pclk) << 1)
0383 #define     CFG_INV_PCLK_MASK           0x00000002
0384 #define     CFG_DUMB_ENA(dumb)          (dumb)
0385 #define     CFG_DUMB_ENA_MASK           0x00000001
0386 
0387 /* LCD I/O Pads Control Register */
0388 #define SPU_IOPAD_CONTROL           0x01BC
0389 #define     CFG_GRA_VM_ENA(vm)          ((vm) << 15)        /* gfx */
0390 #define     CFG_GRA_VM_ENA_MASK         0x00008000
0391 #define     CFG_DMA_VM_ENA(vm)          ((vm) << 13)    /* video */
0392 #define     CFG_DMA_VM_ENA_MASK         0x00002000
0393 #define     CFG_CMD_VM_ENA(vm)          ((vm) << 13)
0394 #define     CFG_CMD_VM_ENA_MASK         0x00000800
0395 #define     CFG_CSC(csc)            ((csc) << 8)    /* csc */
0396 #define     CFG_CSC_MASK            0x00000300
0397 #define     CFG_AXICTRL(axi)            ((axi) << 4)
0398 #define     CFG_AXICTRL_MASK            0x000000F0
0399 #define     CFG_IOPADMODE(iopad)        (iopad)
0400 #define     CFG_IOPADMODE_MASK          0x0000000F
0401 
0402 /* LCD Interrupt Control Register */
0403 #define SPU_IRQ_ENA             0x01C0
0404 #define     DMA_FRAME_IRQ0_ENA(irq)     ((irq) << 31)
0405 #define     DMA_FRAME_IRQ0_ENA_MASK     0x80000000
0406 #define     DMA_FRAME_IRQ1_ENA(irq)     ((irq) << 30)
0407 #define     DMA_FRAME_IRQ1_ENA_MASK     0x40000000
0408 #define     DMA_FF_UNDERFLOW_ENA(ff)        ((ff) << 29)
0409 #define     DMA_FF_UNDERFLOW_ENA_MASK       0x20000000
0410 #define     GRA_FRAME_IRQ0_ENA(irq)     ((irq) << 27)
0411 #define     GRA_FRAME_IRQ0_ENA_MASK     0x08000000
0412 #define     GRA_FRAME_IRQ1_ENA(irq)     ((irq) << 26)
0413 #define     GRA_FRAME_IRQ1_ENA_MASK     0x04000000
0414 #define     GRA_FF_UNDERFLOW_ENA(ff)        ((ff) << 25)
0415 #define     GRA_FF_UNDERFLOW_ENA_MASK       0x02000000
0416 #define     VSYNC_IRQ_ENA(vsync_irq)        ((vsync_irq) << 23)
0417 #define     VSYNC_IRQ_ENA_MASK          0x00800000
0418 #define     DUMB_FRAMEDONE_ENA(fdone)       ((fdone) << 22)
0419 #define     DUMB_FRAMEDONE_ENA_MASK     0x00400000
0420 #define     TWC_FRAMEDONE_ENA(fdone)        ((fdone) << 21)
0421 #define     TWC_FRAMEDONE_ENA_MASK      0x00200000
0422 #define     HWC_FRAMEDONE_ENA(fdone)        ((fdone) << 20)
0423 #define     HWC_FRAMEDONE_ENA_MASK      0x00100000
0424 #define     SLV_IRQ_ENA(irq)            ((irq) << 19)
0425 #define     SLV_IRQ_ENA_MASK            0x00080000
0426 #define     SPI_IRQ_ENA(irq)            ((irq) << 18)
0427 #define     SPI_IRQ_ENA_MASK            0x00040000
0428 #define     PWRDN_IRQ_ENA(irq)          ((irq) << 17)
0429 #define     PWRDN_IRQ_ENA_MASK          0x00020000
0430 #define     ERR_IRQ_ENA(irq)            ((irq) << 16)
0431 #define     ERR_IRQ_ENA_MASK            0x00010000
0432 #define     CLEAN_SPU_IRQ_ISR(irq)      (irq)
0433 #define     CLEAN_SPU_IRQ_ISR_MASK      0x0000FFFF
0434 
0435 /* LCD Interrupt Status Register */
0436 #define SPU_IRQ_ISR             0x01C4
0437 #define     DMA_FRAME_IRQ0(irq)         ((irq) << 31)
0438 #define     DMA_FRAME_IRQ0_MASK         0x80000000
0439 #define     DMA_FRAME_IRQ1(irq)         ((irq) << 30)
0440 #define     DMA_FRAME_IRQ1_MASK         0x40000000
0441 #define     DMA_FF_UNDERFLOW(ff)        ((ff) << 29)
0442 #define     DMA_FF_UNDERFLOW_MASK       0x20000000
0443 #define     GRA_FRAME_IRQ0(irq)         ((irq) << 27)
0444 #define     GRA_FRAME_IRQ0_MASK         0x08000000
0445 #define     GRA_FRAME_IRQ1(irq)         ((irq) << 26)
0446 #define     GRA_FRAME_IRQ1_MASK         0x04000000
0447 #define     GRA_FF_UNDERFLOW(ff)        ((ff) << 25)
0448 #define     GRA_FF_UNDERFLOW_MASK       0x02000000
0449 #define     VSYNC_IRQ(vsync_irq)        ((vsync_irq) << 23)
0450 #define     VSYNC_IRQ_MASK          0x00800000
0451 #define     DUMB_FRAMEDONE(fdone)       ((fdone) << 22)
0452 #define     DUMB_FRAMEDONE_MASK         0x00400000
0453 #define     TWC_FRAMEDONE(fdone)        ((fdone) << 21)
0454 #define     TWC_FRAMEDONE_MASK          0x00200000
0455 #define     HWC_FRAMEDONE(fdone)        ((fdone) << 20)
0456 #define     HWC_FRAMEDONE_MASK          0x00100000
0457 #define     SLV_IRQ(irq)            ((irq) << 19)
0458 #define     SLV_IRQ_MASK            0x00080000
0459 #define     SPI_IRQ(irq)            ((irq) << 18)
0460 #define     SPI_IRQ_MASK            0x00040000
0461 #define     PWRDN_IRQ(irq)          ((irq) << 17)
0462 #define     PWRDN_IRQ_MASK          0x00020000
0463 #define     ERR_IRQ(irq)            ((irq) << 16)
0464 #define     ERR_IRQ_MASK            0x00010000
0465 /* read-only */
0466 #define     DMA_FRAME_IRQ0_LEVEL_MASK       0x00008000
0467 #define     DMA_FRAME_IRQ1_LEVEL_MASK       0x00004000
0468 #define     DMA_FRAME_CNT_ISR_MASK      0x00003000
0469 #define     GRA_FRAME_IRQ0_LEVEL_MASK       0x00000800
0470 #define     GRA_FRAME_IRQ1_LEVEL_MASK       0x00000400
0471 #define     GRA_FRAME_CNT_ISR_MASK      0x00000300
0472 #define     VSYNC_IRQ_LEVEL_MASK        0x00000080
0473 #define     DUMB_FRAMEDONE_LEVEL_MASK       0x00000040
0474 #define     TWC_FRAMEDONE_LEVEL_MASK        0x00000020
0475 #define     HWC_FRAMEDONE_LEVEL_MASK        0x00000010
0476 #define     SLV_FF_EMPTY_MASK           0x00000008
0477 #define     DMA_FF_ALLEMPTY_MASK        0x00000004
0478 #define     GRA_FF_ALLEMPTY_MASK        0x00000002
0479 #define     PWRDN_IRQ_LEVEL_MASK        0x00000001
0480 
0481 
0482 /*
0483  * defined Video Memory Color format for DMA control 0 register
0484  * DMA0 bit[23:20]
0485  */
0486 #define VMODE_RGB565        0x0
0487 #define VMODE_RGB1555       0x1
0488 #define VMODE_RGB888PACKED  0x2
0489 #define VMODE_RGB888UNPACKED    0x3
0490 #define VMODE_RGBA888       0x4
0491 #define VMODE_YUV422PACKED  0x5
0492 #define VMODE_YUV422PLANAR  0x6
0493 #define VMODE_YUV420PLANAR  0x7
0494 #define VMODE_SMPNCMD       0x8
0495 #define VMODE_PALETTE4BIT   0x9
0496 #define VMODE_PALETTE8BIT   0xa
0497 #define VMODE_RESERVED      0xb
0498 
0499 /*
0500  * defined Graphic Memory Color format for DMA control 0 register
0501  * DMA0 bit[19:16]
0502  */
0503 #define GMODE_RGB565        0x0
0504 #define GMODE_RGB1555       0x1
0505 #define GMODE_RGB888PACKED  0x2
0506 #define GMODE_RGB888UNPACKED    0x3
0507 #define GMODE_RGBA888       0x4
0508 #define GMODE_YUV422PACKED  0x5
0509 #define GMODE_YUV422PLANAR  0x6
0510 #define GMODE_YUV420PLANAR  0x7
0511 #define GMODE_SMPNCMD       0x8
0512 #define GMODE_PALETTE4BIT   0x9
0513 #define GMODE_PALETTE8BIT   0xa
0514 #define GMODE_RESERVED      0xb
0515 
0516 /*
0517  * define for DMA control 1 register
0518  */
0519 #define DMA1_FRAME_TRIG     31 /* bit location */
0520 #define DMA1_VSYNC_MODE     28
0521 #define DMA1_VSYNC_INV      27
0522 #define DMA1_CKEY       24
0523 #define DMA1_CARRY      23
0524 #define DMA1_LNBUF_ENA      22
0525 #define DMA1_GATED_ENA      21
0526 #define DMA1_PWRDN_ENA      20
0527 #define DMA1_DSCALE     18
0528 #define DMA1_ALPHA_MODE     16
0529 #define DMA1_ALPHA      08
0530 #define DMA1_PXLCMD     00
0531 
0532 /*
0533  * defined for Configure Dumb Mode
0534  * DUMB LCD Panel bit[31:28]
0535  */
0536 #define DUMB16_RGB565_0     0x0
0537 #define DUMB16_RGB565_1     0x1
0538 #define DUMB18_RGB666_0     0x2
0539 #define DUMB18_RGB666_1     0x3
0540 #define DUMB12_RGB444_0     0x4
0541 #define DUMB12_RGB444_1     0x5
0542 #define DUMB24_RGB888_0     0x6
0543 #define DUMB_BLANK      0x7
0544 
0545 /*
0546  * defined for Configure I/O Pin Allocation Mode
0547  * LCD LCD I/O Pads control register bit[3:0]
0548  */
0549 #define IOPAD_DUMB24        0x0
0550 #define IOPAD_DUMB18SPI     0x1
0551 #define IOPAD_DUMB18GPIO    0x2
0552 #define IOPAD_DUMB16SPI     0x3
0553 #define IOPAD_DUMB16GPIO    0x4
0554 #define IOPAD_DUMB12        0x5
0555 #define IOPAD_SMART18SPI    0x6
0556 #define IOPAD_SMART16SPI    0x7
0557 #define IOPAD_SMART8BOTH    0x8
0558 
0559 #endif /* __PXA168FB_H__ */