Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef __DRM_MCDE_DISPLAY_REGS
0003 #define __DRM_MCDE_DISPLAY_REGS
0004 
0005 /* PP (pixel processor) interrupts */
0006 #define MCDE_IMSCPP 0x00000104
0007 #define MCDE_RISPP 0x00000114
0008 #define MCDE_MISPP 0x00000124
0009 #define MCDE_SISPP 0x00000134
0010 
0011 #define MCDE_PP_VCMPA BIT(0)
0012 #define MCDE_PP_VCMPB BIT(1)
0013 #define MCDE_PP_VSCC0 BIT(2)
0014 #define MCDE_PP_VSCC1 BIT(3)
0015 #define MCDE_PP_VCMPC0 BIT(4)
0016 #define MCDE_PP_VCMPC1 BIT(5)
0017 #define MCDE_PP_ROTFD_A BIT(6)
0018 #define MCDE_PP_ROTFD_B BIT(7)
0019 
0020 /* Overlay interrupts */
0021 #define MCDE_IMSCOVL 0x00000108
0022 #define MCDE_RISOVL 0x00000118
0023 #define MCDE_MISOVL 0x00000128
0024 #define MCDE_SISOVL 0x00000138
0025 
0026 /* Channel interrupts */
0027 #define MCDE_IMSCCHNL 0x0000010C
0028 #define MCDE_RISCHNL 0x0000011C
0029 #define MCDE_MISCHNL 0x0000012C
0030 #define MCDE_SISCHNL 0x0000013C
0031 
0032 /* X = 0..9 */
0033 #define MCDE_EXTSRCXA0 0x00000200
0034 #define MCDE_EXTSRCXA0_GROUPOFFSET 0x20
0035 #define MCDE_EXTSRCXA0_BASEADDRESS0_SHIFT 3
0036 #define MCDE_EXTSRCXA0_BASEADDRESS0_MASK 0xFFFFFFF8
0037 
0038 #define MCDE_EXTSRCXA1 0x00000204
0039 #define MCDE_EXTSRCXA1_GROUPOFFSET 0x20
0040 #define MCDE_EXTSRCXA1_BASEADDRESS1_SHIFT 3
0041 #define MCDE_EXTSRCXA1_BASEADDRESS1_MASK 0xFFFFFFF8
0042 
0043 /* External sources 0..9 */
0044 #define MCDE_EXTSRC0CONF 0x0000020C
0045 #define MCDE_EXTSRC1CONF 0x0000022C
0046 #define MCDE_EXTSRC2CONF 0x0000024C
0047 #define MCDE_EXTSRC3CONF 0x0000026C
0048 #define MCDE_EXTSRC4CONF 0x0000028C
0049 #define MCDE_EXTSRC5CONF 0x000002AC
0050 #define MCDE_EXTSRC6CONF 0x000002CC
0051 #define MCDE_EXTSRC7CONF 0x000002EC
0052 #define MCDE_EXTSRC8CONF 0x0000030C
0053 #define MCDE_EXTSRC9CONF 0x0000032C
0054 #define MCDE_EXTSRCXCONF_GROUPOFFSET 0x20
0055 #define MCDE_EXTSRCXCONF_BUF_ID_SHIFT 0
0056 #define MCDE_EXTSRCXCONF_BUF_ID_MASK 0x00000003
0057 #define MCDE_EXTSRCXCONF_BUF_NB_SHIFT 2
0058 #define MCDE_EXTSRCXCONF_BUF_NB_MASK 0x0000000C
0059 #define MCDE_EXTSRCXCONF_PRI_OVLID_SHIFT 4
0060 #define MCDE_EXTSRCXCONF_PRI_OVLID_MASK 0x000000F0
0061 #define MCDE_EXTSRCXCONF_BPP_SHIFT 8
0062 #define MCDE_EXTSRCXCONF_BPP_MASK 0x00000F00
0063 #define MCDE_EXTSRCXCONF_BPP_1BPP_PAL 0
0064 #define MCDE_EXTSRCXCONF_BPP_2BPP_PAL 1
0065 #define MCDE_EXTSRCXCONF_BPP_4BPP_PAL 2
0066 #define MCDE_EXTSRCXCONF_BPP_8BPP_PAL 3
0067 #define MCDE_EXTSRCXCONF_BPP_RGB444 4
0068 #define MCDE_EXTSRCXCONF_BPP_ARGB4444 5
0069 #define MCDE_EXTSRCXCONF_BPP_IRGB1555 6
0070 #define MCDE_EXTSRCXCONF_BPP_RGB565 7
0071 #define MCDE_EXTSRCXCONF_BPP_RGB888 8
0072 #define MCDE_EXTSRCXCONF_BPP_XRGB8888 9
0073 #define MCDE_EXTSRCXCONF_BPP_ARGB8888 10
0074 #define MCDE_EXTSRCXCONF_BPP_YCBCR422 11
0075 #define MCDE_EXTSRCXCONF_BGR BIT(12)
0076 #define MCDE_EXTSRCXCONF_BEBO BIT(13)
0077 #define MCDE_EXTSRCXCONF_BEPO BIT(14)
0078 #define MCDE_EXTSRCXCONF_TUNNELING_BUFFER_HEIGHT_SHIFT 16
0079 #define MCDE_EXTSRCXCONF_TUNNELING_BUFFER_HEIGHT_MASK 0x0FFF0000
0080 
0081 /* External sources 0..9 */
0082 #define MCDE_EXTSRC0CR 0x00000210
0083 #define MCDE_EXTSRC1CR 0x00000230
0084 #define MCDE_EXTSRC2CR 0x00000250
0085 #define MCDE_EXTSRC3CR 0x00000270
0086 #define MCDE_EXTSRC4CR 0x00000290
0087 #define MCDE_EXTSRC5CR 0x000002B0
0088 #define MCDE_EXTSRC6CR 0x000002D0
0089 #define MCDE_EXTSRC7CR 0x000002F0
0090 #define MCDE_EXTSRC8CR 0x00000310
0091 #define MCDE_EXTSRC9CR 0x00000330
0092 #define MCDE_EXTSRCXCR_SEL_MOD_SHIFT 0
0093 #define MCDE_EXTSRCXCR_SEL_MOD_MASK 0x00000003
0094 #define MCDE_EXTSRCXCR_SEL_MOD_EXTERNAL_SEL 0
0095 #define MCDE_EXTSRCXCR_SEL_MOD_AUTO_TOGGLE 1
0096 #define MCDE_EXTSRCXCR_SEL_MOD_SOFTWARE_SEL 2
0097 #define MCDE_EXTSRCXCR_MULTIOVL_CTRL_PRIMARY BIT(2) /* 0 = all */
0098 #define MCDE_EXTSRCXCR_FS_DIV_DISABLE BIT(3)
0099 #define MCDE_EXTSRCXCR_FORCE_FS_DIV BIT(4)
0100 
0101 /* Only external source 6 has a second address register */
0102 #define MCDE_EXTSRC6A2 0x000002C8
0103 
0104 /* 6 overlays */
0105 #define MCDE_OVL0CR 0x00000400
0106 #define MCDE_OVL1CR 0x00000420
0107 #define MCDE_OVL2CR 0x00000440
0108 #define MCDE_OVL3CR 0x00000460
0109 #define MCDE_OVL4CR 0x00000480
0110 #define MCDE_OVL5CR 0x000004A0
0111 #define MCDE_OVLXCR_OVLEN BIT(0)
0112 #define MCDE_OVLXCR_COLCCTRL_DISABLED 0
0113 #define MCDE_OVLXCR_COLCCTRL_ENABLED_NO_SAT (1 << 1)
0114 #define MCDE_OVLXCR_COLCCTRL_ENABLED_SAT (2 << 1)
0115 #define MCDE_OVLXCR_CKEYGEN BIT(3)
0116 #define MCDE_OVLXCR_ALPHAPMEN BIT(4)
0117 #define MCDE_OVLXCR_OVLF BIT(5)
0118 #define MCDE_OVLXCR_OVLR BIT(6)
0119 #define MCDE_OVLXCR_OVLB BIT(7)
0120 #define MCDE_OVLXCR_FETCH_ROPC_SHIFT 8
0121 #define MCDE_OVLXCR_FETCH_ROPC_MASK 0x0000FF00
0122 #define MCDE_OVLXCR_STBPRIO_SHIFT 16
0123 #define MCDE_OVLXCR_STBPRIO_MASK 0x000F0000
0124 #define MCDE_OVLXCR_BURSTSIZE_SHIFT 20
0125 #define MCDE_OVLXCR_BURSTSIZE_MASK 0x00F00000
0126 #define MCDE_OVLXCR_BURSTSIZE_1W 0
0127 #define MCDE_OVLXCR_BURSTSIZE_2W 1
0128 #define MCDE_OVLXCR_BURSTSIZE_4W 2
0129 #define MCDE_OVLXCR_BURSTSIZE_8W 3
0130 #define MCDE_OVLXCR_BURSTSIZE_16W 4
0131 #define MCDE_OVLXCR_BURSTSIZE_HW_1W 8
0132 #define MCDE_OVLXCR_BURSTSIZE_HW_2W 9
0133 #define MCDE_OVLXCR_BURSTSIZE_HW_4W 10
0134 #define MCDE_OVLXCR_BURSTSIZE_HW_8W 11
0135 #define MCDE_OVLXCR_BURSTSIZE_HW_16W 12
0136 #define MCDE_OVLXCR_MAXOUTSTANDING_SHIFT 24
0137 #define MCDE_OVLXCR_MAXOUTSTANDING_MASK 0x0F000000
0138 #define MCDE_OVLXCR_MAXOUTSTANDING_1_REQ 0
0139 #define MCDE_OVLXCR_MAXOUTSTANDING_2_REQ 1
0140 #define MCDE_OVLXCR_MAXOUTSTANDING_4_REQ 2
0141 #define MCDE_OVLXCR_MAXOUTSTANDING_8_REQ 3
0142 #define MCDE_OVLXCR_MAXOUTSTANDING_16_REQ 4
0143 #define MCDE_OVLXCR_ROTBURSTSIZE_SHIFT 28
0144 #define MCDE_OVLXCR_ROTBURSTSIZE_MASK 0xF0000000
0145 #define MCDE_OVLXCR_ROTBURSTSIZE_1W 0
0146 #define MCDE_OVLXCR_ROTBURSTSIZE_2W 1
0147 #define MCDE_OVLXCR_ROTBURSTSIZE_4W 2
0148 #define MCDE_OVLXCR_ROTBURSTSIZE_8W 3
0149 #define MCDE_OVLXCR_ROTBURSTSIZE_16W 4
0150 #define MCDE_OVLXCR_ROTBURSTSIZE_HW_1W 8
0151 #define MCDE_OVLXCR_ROTBURSTSIZE_HW_2W 9
0152 #define MCDE_OVLXCR_ROTBURSTSIZE_HW_4W 10
0153 #define MCDE_OVLXCR_ROTBURSTSIZE_HW_8W 11
0154 #define MCDE_OVLXCR_ROTBURSTSIZE_HW_16W 12
0155 
0156 #define MCDE_OVL0CONF 0x00000404
0157 #define MCDE_OVL1CONF 0x00000424
0158 #define MCDE_OVL2CONF 0x00000444
0159 #define MCDE_OVL3CONF 0x00000464
0160 #define MCDE_OVL4CONF 0x00000484
0161 #define MCDE_OVL5CONF 0x000004A4
0162 #define MCDE_OVLXCONF_PPL_SHIFT 0
0163 #define MCDE_OVLXCONF_PPL_MASK 0x000007FF
0164 #define MCDE_OVLXCONF_EXTSRC_ID_SHIFT 11
0165 #define MCDE_OVLXCONF_EXTSRC_ID_MASK 0x00007800
0166 #define MCDE_OVLXCONF_LPF_SHIFT 16
0167 #define MCDE_OVLXCONF_LPF_MASK 0x07FF0000
0168 
0169 #define MCDE_OVL0CONF2 0x00000408
0170 #define MCDE_OVL1CONF2 0x00000428
0171 #define MCDE_OVL2CONF2 0x00000448
0172 #define MCDE_OVL3CONF2 0x00000468
0173 #define MCDE_OVL4CONF2 0x00000488
0174 #define MCDE_OVL5CONF2 0x000004A8
0175 #define MCDE_OVLXCONF2_BP_PER_PIXEL_ALPHA 0
0176 #define MCDE_OVLXCONF2_BP_CONSTANT_ALPHA BIT(0)
0177 #define MCDE_OVLXCONF2_ALPHAVALUE_SHIFT 1
0178 #define MCDE_OVLXCONF2_ALPHAVALUE_MASK 0x000001FE
0179 #define MCDE_OVLXCONF2_OPQ BIT(9)
0180 #define MCDE_OVLXCONF2_PIXOFF_SHIFT 10
0181 #define MCDE_OVLXCONF2_PIXOFF_MASK 0x0000FC00
0182 #define MCDE_OVLXCONF2_PIXELFETCHERWATERMARKLEVEL_SHIFT 16
0183 #define MCDE_OVLXCONF2_PIXELFETCHERWATERMARKLEVEL_MASK 0x1FFF0000
0184 
0185 #define MCDE_OVL0LJINC 0x0000040C
0186 #define MCDE_OVL1LJINC 0x0000042C
0187 #define MCDE_OVL2LJINC 0x0000044C
0188 #define MCDE_OVL3LJINC 0x0000046C
0189 #define MCDE_OVL4LJINC 0x0000048C
0190 #define MCDE_OVL5LJINC 0x000004AC
0191 
0192 #define MCDE_OVL0CROP 0x00000410
0193 #define MCDE_OVL1CROP 0x00000430
0194 #define MCDE_OVL2CROP 0x00000450
0195 #define MCDE_OVL3CROP 0x00000470
0196 #define MCDE_OVL4CROP 0x00000490
0197 #define MCDE_OVL5CROP 0x000004B0
0198 #define MCDE_OVLXCROP_TMRGN_SHIFT 0
0199 #define MCDE_OVLXCROP_TMRGN_MASK 0x003FFFFF
0200 #define MCDE_OVLXCROP_LMRGN_SHIFT 22
0201 #define MCDE_OVLXCROP_LMRGN_MASK 0xFFC00000
0202 
0203 #define MCDE_OVL0COMP 0x00000414
0204 #define MCDE_OVL1COMP 0x00000434
0205 #define MCDE_OVL2COMP 0x00000454
0206 #define MCDE_OVL3COMP 0x00000474
0207 #define MCDE_OVL4COMP 0x00000494
0208 #define MCDE_OVL5COMP 0x000004B4
0209 #define MCDE_OVLXCOMP_XPOS_SHIFT 0
0210 #define MCDE_OVLXCOMP_XPOS_MASK 0x000007FF
0211 #define MCDE_OVLXCOMP_CH_ID_SHIFT 11
0212 #define MCDE_OVLXCOMP_CH_ID_MASK 0x00007800
0213 #define MCDE_OVLXCOMP_YPOS_SHIFT 16
0214 #define MCDE_OVLXCOMP_YPOS_MASK 0x07FF0000
0215 #define MCDE_OVLXCOMP_Z_SHIFT 27
0216 #define MCDE_OVLXCOMP_Z_MASK 0x78000000
0217 
0218 /* DPI/TV configuration registers, channel A and B */
0219 #define MCDE_TVCRA 0x00000838
0220 #define MCDE_TVCRB 0x00000A38
0221 #define MCDE_TVCR_MOD_TV BIT(0) /* 0 = LCD mode */
0222 #define MCDE_TVCR_INTEREN BIT(1)
0223 #define MCDE_TVCR_IFIELD BIT(2)
0224 #define MCDE_TVCR_TVMODE_SDTV_656P (0 << 3)
0225 #define MCDE_TVCR_TVMODE_SDTV_656P_LE (3 << 3)
0226 #define MCDE_TVCR_TVMODE_SDTV_656P_BE (4 << 3)
0227 #define MCDE_TVCR_SDTVMODE_Y0CBY1CR (0 << 6)
0228 #define MCDE_TVCR_SDTVMODE_CBY0CRY1 (1 << 6)
0229 #define MCDE_TVCR_AVRGEN BIT(8)
0230 #define MCDE_TVCR_CKINV BIT(9)
0231 
0232 /* TV blanking control register 1, channel A and B */
0233 #define MCDE_TVBL1A 0x0000083C
0234 #define MCDE_TVBL1B 0x00000A3C
0235 #define MCDE_TVBL1_BEL1_SHIFT 0 /* VFP vertical front porch 11 bits */
0236 #define MCDE_TVBL1_BSL1_SHIFT 16 /* VSW vertical sync pulse width 11 bits */
0237 
0238 /* Pixel processing TV start line, channel A and B */
0239 #define MCDE_TVISLA 0x00000840
0240 #define MCDE_TVISLB 0x00000A40
0241 #define MCDE_TVISL_FSL1_SHIFT 0 /* Field 1 identification start line 11 bits */
0242 #define MCDE_TVISL_FSL2_SHIFT 16 /* Field 2 identification start line 11 bits */
0243 
0244 /* Pixel processing TV DVO offset */
0245 #define MCDE_TVDVOA 0x00000844
0246 #define MCDE_TVDVOB 0x00000A44
0247 #define MCDE_TVDVO_DVO1_SHIFT 0 /* VBP vertical back porch 0 = 0 */
0248 #define MCDE_TVDVO_DVO2_SHIFT 16
0249 
0250 /*
0251  * Pixel processing TV Timing 1
0252  * HBP horizontal back porch 11 bits horizontal offset
0253  * 0 = 1 pixel HBP, 255 = 256 pixels, so actual value - 1
0254  */
0255 #define MCDE_TVTIM1A 0x0000084C
0256 #define MCDE_TVTIM1B 0x00000A4C
0257 
0258 /* Pixel processing TV LBALW */
0259 /* 0 = 1 clock cycle, 255 = 256 clock cycles */
0260 #define MCDE_TVLBALWA 0x00000850
0261 #define MCDE_TVLBALWB 0x00000A50
0262 #define MCDE_TVLBALW_LBW_SHIFT 0 /* HSW horizonal sync width, line blanking width 11 bits */
0263 #define MCDE_TVLBALW_ALW_SHIFT 16 /* HFP horizontal front porch, active line width 11 bits */
0264 
0265 /* TV blanking control register 1, channel A and B */
0266 #define MCDE_TVBL2A 0x00000854
0267 #define MCDE_TVBL2B 0x00000A54
0268 #define MCDE_TVBL2_BEL2_SHIFT 0 /* Field 2 blanking end line 11 bits */
0269 #define MCDE_TVBL2_BSL2_SHIFT 16 /* Field 2 blanking start line 11 bits */
0270 
0271 /* Pixel processing TV background */
0272 #define MCDE_TVBLUA 0x00000858
0273 #define MCDE_TVBLUB 0x00000A58
0274 #define MCDE_TVBLU_TVBLU_SHIFT 0 /* 8 bits luminance */
0275 #define MCDE_TVBLU_TVBCB_SHIFT 8 /* 8 bits Cb chrominance */
0276 #define MCDE_TVBLU_TVBCR_SHIFT 16 /* 8 bits Cr chrominance */
0277 
0278 /* Pixel processing LCD timing 1 */
0279 #define MCDE_LCDTIM1A 0x00000860
0280 #define MCDE_LCDTIM1B 0x00000A60
0281 /* inverted vertical sync pulse for HRTFT 0 = active low, 1 active high */
0282 #define MCDE_LCDTIM1B_IVP BIT(19)
0283 /* inverted vertical sync, 0 = active high (the normal), 1 = active low */
0284 #define MCDE_LCDTIM1B_IVS BIT(20)
0285 /* inverted horizontal sync, 0 = active high (the normal), 1 = active low */
0286 #define MCDE_LCDTIM1B_IHS BIT(21)
0287 /* inverted panel clock 0 = rising edge data out, 1 = falling edge data out */
0288 #define MCDE_LCDTIM1B_IPC BIT(22)
0289 /* invert output enable 0 = active high, 1 = active low */
0290 #define MCDE_LCDTIM1B_IOE BIT(23)
0291 
0292 #define MCDE_CRC 0x00000C00
0293 #define MCDE_CRC_C1EN BIT(2)
0294 #define MCDE_CRC_C2EN BIT(3)
0295 #define MCDE_CRC_SYCEN0 BIT(7)
0296 #define MCDE_CRC_SYCEN1 BIT(8)
0297 #define MCDE_CRC_SIZE1 BIT(9)
0298 #define MCDE_CRC_SIZE2 BIT(10)
0299 #define MCDE_CRC_YUVCONVC1EN BIT(15)
0300 #define MCDE_CRC_CS1EN BIT(16)
0301 #define MCDE_CRC_CS2EN BIT(17)
0302 #define MCDE_CRC_CS1POL BIT(19)
0303 #define MCDE_CRC_CS2POL BIT(20)
0304 #define MCDE_CRC_CD1POL BIT(21)
0305 #define MCDE_CRC_CD2POL BIT(22)
0306 #define MCDE_CRC_WR1POL BIT(23)
0307 #define MCDE_CRC_WR2POL BIT(24)
0308 #define MCDE_CRC_RD1POL BIT(25)
0309 #define MCDE_CRC_RD2POL BIT(26)
0310 #define MCDE_CRC_SYNCCTRL_SHIFT 29
0311 #define MCDE_CRC_SYNCCTRL_MASK 0x60000000
0312 #define MCDE_CRC_SYNCCTRL_NO_SYNC 0
0313 #define MCDE_CRC_SYNCCTRL_DBI0 1
0314 #define MCDE_CRC_SYNCCTRL_DBI1 2
0315 #define MCDE_CRC_SYNCCTRL_PING_PONG 3
0316 #define MCDE_CRC_CLAMPC1EN BIT(31)
0317 
0318 #define MCDE_VSCRC0 0x00000C5C
0319 #define MCDE_VSCRC1 0x00000C60
0320 #define MCDE_VSCRC_VSPMIN_MASK 0x00000FFF
0321 #define MCDE_VSCRC_VSPMAX_SHIFT 12
0322 #define MCDE_VSCRC_VSPMAX_MASK 0x00FFF000
0323 #define MCDE_VSCRC_VSPDIV_SHIFT 24
0324 #define MCDE_VSCRC_VSPDIV_MASK 0x07000000
0325 #define MCDE_VSCRC_VSPDIV_MCDECLK_DIV_1 0
0326 #define MCDE_VSCRC_VSPDIV_MCDECLK_DIV_2 1
0327 #define MCDE_VSCRC_VSPDIV_MCDECLK_DIV_4 2
0328 #define MCDE_VSCRC_VSPDIV_MCDECLK_DIV_8 3
0329 #define MCDE_VSCRC_VSPDIV_MCDECLK_DIV_16 4
0330 #define MCDE_VSCRC_VSPDIV_MCDECLK_DIV_32 5
0331 #define MCDE_VSCRC_VSPDIV_MCDECLK_DIV_64 6
0332 #define MCDE_VSCRC_VSPDIV_MCDECLK_DIV_128 7
0333 #define MCDE_VSCRC_VSPOL BIT(27) /* 0 active high, 1 active low */
0334 #define MCDE_VSCRC_VSSEL BIT(28) /* 0 VSYNC0, 1 VSYNC1 */
0335 #define MCDE_VSCRC_VSDBL BIT(29)
0336 
0337 /* Channel config 0..3 */
0338 #define MCDE_CHNL0CONF 0x00000600
0339 #define MCDE_CHNL1CONF 0x00000620
0340 #define MCDE_CHNL2CONF 0x00000640
0341 #define MCDE_CHNL3CONF 0x00000660
0342 #define MCDE_CHNLXCONF_PPL_SHIFT 0
0343 #define MCDE_CHNLXCONF_PPL_MASK 0x000007FF
0344 #define MCDE_CHNLXCONF_LPF_SHIFT 16
0345 #define MCDE_CHNLXCONF_LPF_MASK 0x07FF0000
0346 #define MCDE_MAX_WIDTH 2048
0347 
0348 /* Channel status 0..3 */
0349 #define MCDE_CHNL0STAT 0x00000604
0350 #define MCDE_CHNL1STAT 0x00000624
0351 #define MCDE_CHNL2STAT 0x00000644
0352 #define MCDE_CHNL3STAT 0x00000664
0353 #define MCDE_CHNLXSTAT_CHNLRD BIT(0)
0354 #define MCDE_CHNLXSTAT_CHNLA BIT(1)
0355 #define MCDE_CHNLXSTAT_CHNLBLBCKGND_EN BIT(16)
0356 #define MCDE_CHNLXSTAT_PPLX2_V422 BIT(17)
0357 #define MCDE_CHNLXSTAT_LPFX2_V422 BIT(18)
0358 
0359 /* Sync settings for channel 0..3 */
0360 #define MCDE_CHNL0SYNCHMOD 0x00000608
0361 #define MCDE_CHNL1SYNCHMOD 0x00000628
0362 #define MCDE_CHNL2SYNCHMOD 0x00000648
0363 #define MCDE_CHNL3SYNCHMOD 0x00000668
0364 
0365 #define MCDE_CHNLXSYNCHMOD_SRC_SYNCH_SHIFT 0
0366 #define MCDE_CHNLXSYNCHMOD_SRC_SYNCH_MASK 0x00000003
0367 #define MCDE_CHNLXSYNCHMOD_SRC_SYNCH_HARDWARE 0
0368 #define MCDE_CHNLXSYNCHMOD_SRC_SYNCH_NO_SYNCH 1
0369 #define MCDE_CHNLXSYNCHMOD_SRC_SYNCH_SOFTWARE 2
0370 #define MCDE_CHNLXSYNCHMOD_OUT_SYNCH_SRC_SHIFT 2
0371 #define MCDE_CHNLXSYNCHMOD_OUT_SYNCH_SRC_MASK 0x0000001C
0372 #define MCDE_CHNLXSYNCHMOD_OUT_SYNCH_SRC_FORMATTER 0
0373 #define MCDE_CHNLXSYNCHMOD_OUT_SYNCH_SRC_TE0 1
0374 #define MCDE_CHNLXSYNCHMOD_OUT_SYNCH_SRC_TE1 2
0375 
0376 /* Software sync triggers for channel 0..3 */
0377 #define MCDE_CHNL0SYNCHSW 0x0000060C
0378 #define MCDE_CHNL1SYNCHSW 0x0000062C
0379 #define MCDE_CHNL2SYNCHSW 0x0000064C
0380 #define MCDE_CHNL3SYNCHSW 0x0000066C
0381 #define MCDE_CHNLXSYNCHSW_SW_TRIG BIT(0)
0382 
0383 #define MCDE_CHNL0BCKGNDCOL 0x00000610
0384 #define MCDE_CHNL1BCKGNDCOL 0x00000630
0385 #define MCDE_CHNL2BCKGNDCOL 0x00000650
0386 #define MCDE_CHNL3BCKGNDCOL 0x00000670
0387 #define MCDE_CHNLXBCKGNDCOL_B_SHIFT 0
0388 #define MCDE_CHNLXBCKGNDCOL_B_MASK 0x000000FF
0389 #define MCDE_CHNLXBCKGNDCOL_G_SHIFT 8
0390 #define MCDE_CHNLXBCKGNDCOL_G_MASK 0x0000FF00
0391 #define MCDE_CHNLXBCKGNDCOL_R_SHIFT 16
0392 #define MCDE_CHNLXBCKGNDCOL_R_MASK 0x00FF0000
0393 
0394 #define MCDE_CHNL0MUXING 0x00000614
0395 #define MCDE_CHNL1MUXING 0x00000634
0396 #define MCDE_CHNL2MUXING 0x00000654
0397 #define MCDE_CHNL3MUXING 0x00000674
0398 #define MCDE_CHNLXMUXING_FIFO_ID_FIFO_A 0
0399 #define MCDE_CHNLXMUXING_FIFO_ID_FIFO_B 1
0400 #define MCDE_CHNLXMUXING_FIFO_ID_FIFO_C0 2
0401 #define MCDE_CHNLXMUXING_FIFO_ID_FIFO_C1 3
0402 
0403 /* Pixel processing control registers for channel A B,  */
0404 #define MCDE_CRA0 0x00000800
0405 #define MCDE_CRB0 0x00000A00
0406 #define MCDE_CRX0_FLOEN BIT(0)
0407 #define MCDE_CRX0_POWEREN BIT(1)
0408 #define MCDE_CRX0_BLENDEN BIT(2)
0409 #define MCDE_CRX0_AFLICKEN BIT(3)
0410 #define MCDE_CRX0_PALEN BIT(4)
0411 #define MCDE_CRX0_DITHEN BIT(5)
0412 #define MCDE_CRX0_GAMEN BIT(6)
0413 #define MCDE_CRX0_KEYCTRL_SHIFT 7
0414 #define MCDE_CRX0_KEYCTRL_MASK 0x00000380
0415 #define MCDE_CRX0_KEYCTRL_OFF 0
0416 #define MCDE_CRX0_KEYCTRL_ALPHA_RGB 1
0417 #define MCDE_CRX0_KEYCTRL_RGB 2
0418 #define MCDE_CRX0_KEYCTRL_FALPHA_FRGB 4
0419 #define MCDE_CRX0_KEYCTRL_FRGB 5
0420 #define MCDE_CRX0_BLENDCTRL BIT(10)
0421 #define MCDE_CRX0_FLICKMODE_SHIFT 11
0422 #define MCDE_CRX0_FLICKMODE_MASK 0x00001800
0423 #define MCDE_CRX0_FLICKMODE_FORCE_FILTER_0 0
0424 #define MCDE_CRX0_FLICKMODE_ADAPTIVE 1
0425 #define MCDE_CRX0_FLICKMODE_TEST_MODE 2
0426 #define MCDE_CRX0_FLOCKFORMAT_RGB BIT(13) /* 0 = YCVCR */
0427 #define MCDE_CRX0_PALMODE_GAMMA BIT(14) /* 0 = palette */
0428 #define MCDE_CRX0_OLEDEN BIT(15)
0429 #define MCDE_CRX0_ALPHABLEND_SHIFT 16
0430 #define MCDE_CRX0_ALPHABLEND_MASK 0x00FF0000
0431 #define MCDE_CRX0_ROTEN BIT(24)
0432 
0433 #define MCDE_CRA1 0x00000804
0434 #define MCDE_CRB1 0x00000A04
0435 #define MCDE_CRX1_PCD_SHIFT 0
0436 #define MCDE_CRX1_PCD_MASK 0x000003FF
0437 #define MCDE_CRX1_PCD_BITS 10
0438 #define MCDE_CRX1_CLKSEL_SHIFT 10
0439 #define MCDE_CRX1_CLKSEL_MASK 0x00001C00
0440 #define MCDE_CRX1_CLKSEL_CLKPLL72 0
0441 #define MCDE_CRX1_CLKSEL_CLKPLL27 2
0442 #define MCDE_CRX1_CLKSEL_TV1CLK 3
0443 #define MCDE_CRX1_CLKSEL_TV2CLK 4
0444 #define MCDE_CRX1_CLKSEL_MCDECLK 5
0445 #define MCDE_CRX1_CDWIN_SHIFT 13
0446 #define MCDE_CRX1_CDWIN_MASK 0x0001E000
0447 #define MCDE_CRX1_CDWIN_8BPP_C1 0
0448 #define MCDE_CRX1_CDWIN_12BPP_C1 1
0449 #define MCDE_CRX1_CDWIN_12BPP_C2 2
0450 #define MCDE_CRX1_CDWIN_16BPP_C1 3
0451 #define MCDE_CRX1_CDWIN_16BPP_C2 4
0452 #define MCDE_CRX1_CDWIN_16BPP_C3 5
0453 #define MCDE_CRX1_CDWIN_18BPP_C1 6
0454 #define MCDE_CRX1_CDWIN_18BPP_C2 7
0455 #define MCDE_CRX1_CDWIN_24BPP 8
0456 #define MCDE_CRX1_OUTBPP_SHIFT 25
0457 #define MCDE_CRX1_OUTBPP_MASK 0x1E000000
0458 #define MCDE_CRX1_OUTBPP_MONO1 0
0459 #define MCDE_CRX1_OUTBPP_MONO2 1
0460 #define MCDE_CRX1_OUTBPP_MONO4 2
0461 #define MCDE_CRX1_OUTBPP_MONO8 3
0462 #define MCDE_CRX1_OUTBPP_8BPP 4
0463 #define MCDE_CRX1_OUTBPP_12BPP 5
0464 #define MCDE_CRX1_OUTBPP_15BPP 6
0465 #define MCDE_CRX1_OUTBPP_16BPP 7
0466 #define MCDE_CRX1_OUTBPP_18BPP 8
0467 #define MCDE_CRX1_OUTBPP_24BPP 9
0468 #define MCDE_CRX1_BCD BIT(29)
0469 #define MCDE_CRA1_CLKTYPE_TVXCLKSEL1 BIT(30) /* 0 = TVXCLKSEL1 */
0470 
0471 #define MCDE_COLKEYA 0x00000808
0472 #define MCDE_COLKEYB 0x00000A08
0473 
0474 #define MCDE_FCOLKEYA 0x0000080C
0475 #define MCDE_FCOLKEYB 0x00000A0C
0476 
0477 #define MCDE_RGBCONV1A 0x00000810
0478 #define MCDE_RGBCONV1B 0x00000A10
0479 
0480 #define MCDE_RGBCONV2A 0x00000814
0481 #define MCDE_RGBCONV2B 0x00000A14
0482 
0483 #define MCDE_RGBCONV3A 0x00000818
0484 #define MCDE_RGBCONV3B 0x00000A18
0485 
0486 #define MCDE_RGBCONV4A 0x0000081C
0487 #define MCDE_RGBCONV4B 0x00000A1C
0488 
0489 #define MCDE_RGBCONV5A 0x00000820
0490 #define MCDE_RGBCONV5B 0x00000A20
0491 
0492 #define MCDE_RGBCONV6A 0x00000824
0493 #define MCDE_RGBCONV6B 0x00000A24
0494 
0495 /* Rotation */
0496 #define MCDE_ROTACONF 0x0000087C
0497 #define MCDE_ROTBCONF 0x00000A7C
0498 
0499 /* Synchronization event configuration */
0500 #define MCDE_SYNCHCONFA 0x00000880
0501 #define MCDE_SYNCHCONFB 0x00000A80
0502 #define MCDE_SYNCHCONF_HWREQVEVENT_SHIFT 0
0503 #define MCDE_SYNCHCONF_HWREQVEVENT_VSYNC (0 << 0)
0504 #define MCDE_SYNCHCONF_HWREQVEVENT_BACK_PORCH (1 << 0)
0505 #define MCDE_SYNCHCONF_HWREQVEVENT_ACTIVE_VIDEO (2 << 0)
0506 #define MCDE_SYNCHCONF_HWREQVEVENT_FRONT_PORCH (3 << 0)
0507 #define MCDE_SYNCHCONF_HWREQVCNT_SHIFT 2 /* 14 bits */
0508 #define MCDE_SYNCHCONF_SWINTVEVENT_VSYNC (0 << 16)
0509 #define MCDE_SYNCHCONF_SWINTVEVENT_BACK_PORCH (1 << 16)
0510 #define MCDE_SYNCHCONF_SWINTVEVENT_ACTIVE_VIDEO (2 << 16)
0511 #define MCDE_SYNCHCONF_SWINTVEVENT_FRONT_PORCH (3 << 16)
0512 #define MCDE_SYNCHCONF_SWINTVCNT_SHIFT 18 /* 14 bits */
0513 
0514 /* Channel A+B control registers */
0515 #define MCDE_CTRLA 0x00000884
0516 #define MCDE_CTRLB 0x00000A84
0517 #define MCDE_CTRLX_FIFOWTRMRK_SHIFT 0
0518 #define MCDE_CTRLX_FIFOWTRMRK_MASK 0x000003FF
0519 #define MCDE_CTRLX_FIFOEMPTY BIT(12)
0520 #define MCDE_CTRLX_FIFOFULL BIT(13)
0521 #define MCDE_CTRLX_FORMID_SHIFT 16
0522 #define MCDE_CTRLX_FORMID_MASK 0x00070000
0523 #define MCDE_CTRLX_FORMID_DSI0VID 0
0524 #define MCDE_CTRLX_FORMID_DSI0CMD 1
0525 #define MCDE_CTRLX_FORMID_DSI1VID 2
0526 #define MCDE_CTRLX_FORMID_DSI1CMD 3
0527 #define MCDE_CTRLX_FORMID_DSI2VID 4
0528 #define MCDE_CTRLX_FORMID_DSI2CMD 5
0529 #define MCDE_CTRLX_FORMID_DPIA 0
0530 #define MCDE_CTRLX_FORMID_DPIB 1
0531 #define MCDE_CTRLX_FORMTYPE_SHIFT 20
0532 #define MCDE_CTRLX_FORMTYPE_MASK 0x00700000
0533 #define MCDE_CTRLX_FORMTYPE_DPITV 0
0534 #define MCDE_CTRLX_FORMTYPE_DBI 1
0535 #define MCDE_CTRLX_FORMTYPE_DSI 2
0536 
0537 #define MCDE_DSIVID0CONF0 0x00000E00
0538 #define MCDE_DSICMD0CONF0 0x00000E20
0539 #define MCDE_DSIVID1CONF0 0x00000E40
0540 #define MCDE_DSICMD1CONF0 0x00000E60
0541 #define MCDE_DSIVID2CONF0 0x00000E80
0542 #define MCDE_DSICMD2CONF0 0x00000EA0
0543 #define MCDE_DSICONF0_BLANKING_SHIFT 0
0544 #define MCDE_DSICONF0_BLANKING_MASK 0x000000FF
0545 #define MCDE_DSICONF0_VID_MODE_CMD 0
0546 #define MCDE_DSICONF0_VID_MODE_VID BIT(12)
0547 #define MCDE_DSICONF0_CMD8 BIT(13)
0548 #define MCDE_DSICONF0_BIT_SWAP BIT(16)
0549 #define MCDE_DSICONF0_BYTE_SWAP BIT(17)
0550 #define MCDE_DSICONF0_DCSVID_NOTGEN BIT(18)
0551 #define MCDE_DSICONF0_PACKING_SHIFT 20
0552 #define MCDE_DSICONF0_PACKING_MASK 0x00700000
0553 #define MCDE_DSICONF0_PACKING_RGB565 0
0554 #define MCDE_DSICONF0_PACKING_RGB666 1
0555 #define MCDE_DSICONF0_PACKING_RGB888 2
0556 #define MCDE_DSICONF0_PACKING_BGR888 3
0557 #define MCDE_DSICONF0_PACKING_HDTV 4
0558 
0559 #define MCDE_DSIVID0FRAME 0x00000E04
0560 #define MCDE_DSICMD0FRAME 0x00000E24
0561 #define MCDE_DSIVID1FRAME 0x00000E44
0562 #define MCDE_DSICMD1FRAME 0x00000E64
0563 #define MCDE_DSIVID2FRAME 0x00000E84
0564 #define MCDE_DSICMD2FRAME 0x00000EA4
0565 
0566 #define MCDE_DSIVID0PKT 0x00000E08
0567 #define MCDE_DSICMD0PKT 0x00000E28
0568 #define MCDE_DSIVID1PKT 0x00000E48
0569 #define MCDE_DSICMD1PKT 0x00000E68
0570 #define MCDE_DSIVID2PKT 0x00000E88
0571 #define MCDE_DSICMD2PKT 0x00000EA8
0572 
0573 #define MCDE_DSIVID0SYNC 0x00000E0C
0574 #define MCDE_DSICMD0SYNC 0x00000E2C
0575 #define MCDE_DSIVID1SYNC 0x00000E4C
0576 #define MCDE_DSICMD1SYNC 0x00000E6C
0577 #define MCDE_DSIVID2SYNC 0x00000E8C
0578 #define MCDE_DSICMD2SYNC 0x00000EAC
0579 
0580 #define MCDE_DSIVID0CMDW 0x00000E10
0581 #define MCDE_DSICMD0CMDW 0x00000E30
0582 #define MCDE_DSIVID1CMDW 0x00000E50
0583 #define MCDE_DSICMD1CMDW 0x00000E70
0584 #define MCDE_DSIVID2CMDW 0x00000E90
0585 #define MCDE_DSICMD2CMDW 0x00000EB0
0586 #define MCDE_DSIVIDXCMDW_CMDW_CONTINUE_SHIFT 0
0587 #define MCDE_DSIVIDXCMDW_CMDW_CONTINUE_MASK 0x0000FFFF
0588 #define MCDE_DSIVIDXCMDW_CMDW_START_SHIFT 16
0589 #define MCDE_DSIVIDXCMDW_CMDW_START_MASK 0xFFFF0000
0590 
0591 #define MCDE_DSIVID0DELAY0 0x00000E14
0592 #define MCDE_DSICMD0DELAY0 0x00000E34
0593 #define MCDE_DSIVID1DELAY0 0x00000E54
0594 #define MCDE_DSICMD1DELAY0 0x00000E74
0595 #define MCDE_DSIVID2DELAY0 0x00000E94
0596 #define MCDE_DSICMD2DELAY0 0x00000EB4
0597 
0598 #define MCDE_DSIVID0DELAY1 0x00000E18
0599 #define MCDE_DSICMD0DELAY1 0x00000E38
0600 #define MCDE_DSIVID1DELAY1 0x00000E58
0601 #define MCDE_DSICMD1DELAY1 0x00000E78
0602 #define MCDE_DSIVID2DELAY1 0x00000E98
0603 #define MCDE_DSICMD2DELAY1 0x00000EB8
0604 
0605 #endif /* __DRM_MCDE_DISPLAY_REGS */