FILE
rcar_mipi_dsi_regs.h
File preview with syntax highlighting.
linux-6.19.14/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * R-Car MIPI DSI Interface Registers Definitions 4 * 5 * Copyright (C) 2020 Renesas Electronics Corporation 6 */ 7 8#ifndef __RCAR_MIPI_DSI_REGS_H__ 9#define __RCAR_MIPI_DSI_REGS_H__ 10 11#define LINKSR 0x010 12#define LINKSR_LPBUSY BIT_U32(1) 13#define LINKSR_HSBUSY BIT_U32(0) 14 15#define TXSETR 0x100 16#define TXSETR_LANECNT_MASK GENMASK_U32(1, 0) 17 18/* 19 * DSI Command Transfer Registers 20 */ 21#define TXCMSETR 0x110 22#define TXCMSETR_SPDTYP BIT_U32(8) /* 0:HS 1:LP */ 23#define TXCMSETR_LPPDACC BIT_U32(0) 24#define TXCMCR 0x120 25#define TXCMCR_BTATYP BIT_U32(2) 26#define TXCMCR_BTAREQ BIT_U32(1) 27#define TXCMCR_TXREQ BIT_U32(0) 28#define TXCMSR 0x130 29#define TXCMSR_CLSNERR BIT_U32(18) 30#define TXCMSR_AXIERR BIT_U32(16) 31#define TXCMSR_TXREQEND BIT_U32(0) 32#define TXCMSCR 0x134 33#define TXCMSCR_CLSNERR BIT_U32(18) 34#define TXCMSCR_AXIERR BIT_U32(16) 35#define TXCMSCR_TXREQEND BIT_U32(0) 36#define TXCMIER 0x138 37#define TXCMIER_CLSNERR BIT_U32(18) 38#define TXCMIER_AXIERR BIT_U32(16) 39#define TXCMIER_TXREQEND BIT_U32(0) 40#define TXCMADDRSET0R 0x140 41#define TXCMPHDR 0x150 42#define TXCMPHDR_FMT BIT_U32(24) /* 0:SP 1:LP */ 43#define TXCMPHDR_VC_MASK GENMASK_U32(23, 22) 44#define TXCMPHDR_VC(n) FIELD_PREP(TXCMPHDR_VC_MASK, (n)) 45#define TXCMPHDR_DT_MASK GENMASK_U32(21, 16) 46#define TXCMPHDR_DT(n) FIELD_PREP(TXCMPHDR_DT_MASK, (n)) 47#define TXCMPHDR_DATA1_MASK GENMASK_U32(15, 8) 48#define TXCMPHDR_DATA1(n) FIELD_PREP(TXCMPHDR_DATA1_MASK, (n)) 49#define TXCMPHDR_DATA0_MASK GENMASK_U32(7, 0) 50#define TXCMPHDR_DATA0(n) FIELD_PREP(TXCMPHDR_DATA0_MASK, (n)) 51#define TXCMPPD0R 0x160 52#define TXCMPPD1R 0x164 53#define TXCMPPD2R 0x168 54#define TXCMPPD3R 0x16c 55 56#define RXSETR 0x200 57#define RXSETR_CRCEN_MASK GENMASK_U32(27, 24) 58#define RXSETR_ECCEN_MASK GENMASK_U32(19, 16) 59#define RXPSETR 0x210 60#define RXPSETR_LPPDACC BIT_U32(0) 61#define RXPSR 0x220 62#define RXPSR_ECCERR1B BIT_U32(28) 63#define RXPSR_UEXTRGERR BIT_U32(25) 64#define RXPSR_RESPTOERR BIT_U32(24) 65#define RXPSR_OVRERR BIT_U32(23) 66#define RXPSR_AXIERR BIT_U32(22) 67#define RXPSR_CRCERR BIT_U32(21) 68#define RXPSR_WCERR BIT_U32(20) 69#define RXPSR_UEXDTERR BIT_U32(19) 70#define RXPSR_UEXPKTERR BIT_U32(18) 71#define RXPSR_ECCERR BIT_U32(17) 72#define RXPSR_MLFERR BIT_U32(16) 73#define RXPSR_RCVACK BIT_U32(14) 74#define RXPSR_RCVEOT BIT_U32(10) 75#define RXPSR_RCVAKE BIT_U32(9) 76#define RXPSR_RCVRESP BIT_U32(8) 77#define RXPSR_BTAREQEND BIT_U32(0) 78#define RXPSCR 0x224 79#define RXPSCR_ECCERR1B BIT_U32(28) 80#define RXPSCR_UEXTRGERR BIT_U32(25) 81#define RXPSCR_RESPTOERR BIT_U32(24) 82#define RXPSCR_OVRERR BIT_U32(23) 83#define RXPSCR_AXIERR BIT_U32(22) 84#define RXPSCR_CRCERR BIT_U32(21) 85#define RXPSCR_WCERR BIT_U32(20) 86#define RXPSCR_UEXDTERR BIT_U32(19) 87#define RXPSCR_UEXPKTERR BIT_U32(18) 88#define RXPSCR_ECCERR BIT_U32(17) 89#define RXPSCR_MLFERR BIT_U32(16) 90#define RXPSCR_RCVACK BIT_U32(14) 91#define RXPSCR_RCVEOT BIT_U32(10) 92#define RXPSCR_RCVAKE BIT_U32(9) 93#define RXPSCR_RCVRESP BIT_U32(8) 94#define RXPSCR_BTAREQEND BIT_U32(0) 95#define RXPIER 0x228 96#define RXPIER_ECCERR1B BIT_U32(28) 97#define RXPIER_UEXTRGERR BIT_U32(25) 98#define RXPIER_RESPTOERR BIT_U32(24) 99#define RXPIER_OVRERR BIT_U32(23) 100#define RXPIER_AXIERR BIT_U32(22) 101#define RXPIER_CRCERR BIT_U32(21) 102#define RXPIER_WCERR BIT_U32(20) 103#define RXPIER_UEXDTERR BIT_U32(19) 104#define RXPIER_UEXPKTERR BIT_U32(18) 105#define RXPIER_ECCERR BIT_U32(17) 106#define RXPIER_MLFERR BIT_U32(16) 107#define RXPIER_RCVACK BIT_U32(14) 108#define RXPIER_RCVEOT BIT_U32(10) 109#define RXPIER_RCVAKE BIT_U32(9) 110#define RXPIER_RCVRESP BIT_U32(8) 111#define RXPIER_BTAREQEND BIT_U32(0) 112#define RXPADDRSET0R 0x230 113#define RXPSIZESETR 0x238 114#define RXPSIZESETR_SIZE_MASK GENMASK_U32(6, 3) 115#define RXPHDR 0x240 116#define RXPHDR_FMT BIT_U32(24) /* 0:SP 1:LP */ 117#define RXPHDR_VC_MASK GENMASK_U32(23, 22) 118#define RXPHDR_DT_MASK GENMASK_U32(21, 16) 119#define RXPHDR_DATA1_MASK GENMASK_U32(15, 8) 120#define RXPHDR_DATA0_MASK GENMASK_U32(7, 0) 121#define RXPPD0R 0x250 122#define RXPPD1R 0x254 123#define RXPPD2R 0x258 124#define RXPPD3R 0x25c 125#define AKEPR 0x300 126#define AKEPR_VC_MASK GENMASK_U32(23, 22) 127#define AKEPR_DT_MASK GENMASK_U32(21, 16) 128#define AKEPR_ERRRPT_MASK GENMASK_U32(15, 0) 129#define RXRESPTOSETR 0x400 130#define TACR 0x500 131#define TASR 0x510 132#define TASCR 0x514 133#define TAIER 0x518 134#define TOSR 0x610 135#define TOSR_TATO BIT_U32(2) 136#define TOSR_LRXHTO BIT_U32(1) 137#define TOSR_HRXTO BIT_U32(0) 138#define TOSCR 0x614 139#define TOSCR_TATO BIT_U32(2) 140#define TOSCR_LRXHTO BIT_U32(1) 141#define TOSCR_HRXTO BIT_U32(0) 142 143/* 144 * Video Mode Register 145 */ 146#define TXVMSETR 0x180 147#define TXVMSETR_SYNSEQ_EVENTS BIT_U32(16) /* 0:Pulses 1:Events */ 148#define TXVMSETR_VSTPM BIT_U32(15) 149#define TXVMSETR_PIXWDTH_MASK GENMASK_U32(10, 8) 150#define TXVMSETR_PIXWDTH BIT_U32(8) /* Only allowed value */ 151#define TXVMSETR_VSEN BIT_U32(4) 152#define TXVMSETR_HFPBPEN BIT_U32(2) 153#define TXVMSETR_HBPBPEN BIT_U32(1) 154#define TXVMSETR_HSABPEN BIT_U32(0) 155 156#define TXVMCR 0x190 157#define TXVMCR_VFCLR BIT_U32(12) 158#define TXVMCR_EN_VIDEO BIT_U32(0) 159 160#define TXVMSR 0x1a0 161#define TXVMSR_STR BIT_U32(16) 162#define TXVMSR_VFRDY BIT_U32(12) 163#define TXVMSR_ACT BIT_U32(8) 164#define TXVMSR_RDY BIT_U32(0) 165 166#define TXVMSCR 0x1a4 167#define TXVMSCR_STR BIT_U32(16) 168 169#define TXVMPSPHSETR 0x1c0 170#define TXVMPSPHSETR_DT_MASK (0x3f << 16) 171#define TXVMPSPHSETR_DT_RGB16 FIELD_PREP(TXVMPSPHSETR_DT_MASK, 0x0e) 172#define TXVMPSPHSETR_DT_RGB18 FIELD_PREP(TXVMPSPHSETR_DT_MASK, 0x1e) 173#define TXVMPSPHSETR_DT_RGB18_LS FIELD_PREP(TXVMPSPHSETR_DT_MASK, 0x2e) 174#define TXVMPSPHSETR_DT_RGB24 FIELD_PREP(TXVMPSPHSETR_DT_MASK, 0x3e) 175#define TXVMPSPHSETR_DT_YCBCR16 FIELD_PREP(TXVMPSPHSETR_DT_MASK, 0x2c) 176 177#define TXVMVPRMSET0R 0x1d0 178#define TXVMVPRMSET0R_HSPOL_LOW BIT_U32(17) /* 0:High 1:Low */ 179#define TXVMVPRMSET0R_VSPOL_LOW BIT_U32(16) /* 0:High 1:Low */ 180#define TXVMVPRMSET0R_CSPC_YCbCr BIT_U32(4) /* 0:RGB 1:YCbCr */ 181#define TXVMVPRMSET0R_BPP_MASK GENMASK_U32(2, 0) 182#define TXVMVPRMSET0R_BPP_16 FIELD_PREP(TXVMVPRMSET0R_BPP_MASK, 0) 183#define TXVMVPRMSET0R_BPP_18 FIELD_PREP(TXVMVPRMSET0R_BPP_MASK, 1) 184#define TXVMVPRMSET0R_BPP_24 FIELD_PREP(TXVMVPRMSET0R_BPP_MASK, 2) 185 186#define TXVMVPRMSET1R 0x1d4 187#define TXVMVPRMSET1R_VACTIVE_MASK GENMASK_U32(30, 16) 188#define TXVMVPRMSET1R_VACTIVE(n) FIELD_PREP(TXVMVPRMSET1R_VACTIVE_MASK, (n)) 189#define TXVMVPRMSET1R_VSA_MASK GENMASK_U32(11, 0) 190#define TXVMVPRMSET1R_VSA(n) FIELD_PREP(TXVMVPRMSET1R_VSA_MASK, (n)) 191 192#define TXVMVPRMSET2R 0x1d8 193#define TXVMVPRMSET2R_VFP_MASK GENMASK_U32(28, 16) 194#define TXVMVPRMSET2R_VFP(n) FIELD_PREP(TXVMVPRMSET2R_VFP_MASK, (n)) 195#define TXVMVPRMSET2R_VBP_MASK GENMASK_U32(12, 0) 196#define TXVMVPRMSET2R_VBP(n) FIELD_PREP(TXVMVPRMSET2R_VBP_MASK, (n)) 197 198#define TXVMVPRMSET3R 0x1dc 199#define TXVMVPRMSET3R_HACTIVE_MASK GENMASK_U32(30, 16) 200#define TXVMVPRMSET3R_HACTIVE(n) FIELD_PREP(TXVMVPRMSET3R_HACTIVE_MASK, (n)) 201#define TXVMVPRMSET3R_HSA_MASK GENMASK_U32(11, 0) 202#define TXVMVPRMSET3R_HSA(n) FIELD_PREP(TXVMVPRMSET3R_HSA_MASK, (n)) 203 204#define TXVMVPRMSET4R 0x1e0 205#define TXVMVPRMSET4R_HFP_MASK GENMASK_U32(28, 16) 206#define TXVMVPRMSET4R_HFP(n) FIELD_PREP(TXVMVPRMSET4R_HFP_MASK, (n)) 207#define TXVMVPRMSET4R_HBP_MASK GENMASK_U32(12, 0) 208#define TXVMVPRMSET4R_HBP(n) FIELD_PREP(TXVMVPRMSET4R_HBP_MASK, (n)) 209 210/* 211 * PHY-Protocol Interface (PPI) Registers 212 */ 213#define PPISETR 0x700 214#define PPISETR_DLEN_MASK GENMASK_U32(3, 0) 215#define PPISETR_CLEN BIT_U32(8) 216 217#define PPICLCR 0x710 218#define PPICLCR_TXREQHS BIT_U32(8) 219#define PPICLCR_TXULPSEXT BIT_U32(1) 220#define PPICLCR_TXULPSCLK BIT_U32(0) 221 222#define PPICLSR 0x720 223#define PPICLSR_HSTOLP BIT_U32(27) 224#define PPICLSR_TOHS BIT_U32(26) 225#define PPICLSR_STPST BIT_U32(0) 226 227#define PPICLSCR 0x724 228#define PPICLSCR_HSTOLP BIT_U32(27) 229#define PPICLSCR_TOHS BIT_U32(26) 230 231#define PPIDL0SR 0x740 232#define PPIDL0SR_DIR BIT_U32(10) 233#define PPIDL0SR_STPST BIT_U32(6) 234 235#define PPIDLSR 0x760 236#define PPIDLSR_STPST GENMASK_U32(3, 0) 237 238/* 239 * Clocks registers 240 */ 241#define LPCLKSET 0x1000 242#define LPCLKSET_CKEN BIT_U32(8) 243#define LPCLKSET_LPCLKDIV_MASK GENMASK_U32(5, 0) 244 245#define CFGCLKSET 0x1004 246#define CFGCLKSET_CKEN BIT_U32(8) 247#define CFGCLKSET_CFGCLKDIV_MASK GENMASK_U32(5, 0) 248 249#define DOTCLKDIV 0x1008 250#define DOTCLKDIV_CKEN BIT_U32(8) 251#define DOTCLKDIV_DOTCLKDIV_MASK GENMASK_U32(5, 0) 252 253#define VCLKSET 0x100c 254#define VCLKSET_CKEN BIT_U32(16) 255#define VCLKSET_COLOR_YCC BIT_U32(8) /* 0:RGB 1:YCbCr */ 256#define VCLKSET_DIV_V3U_MASK GENMASK_U32(5, 4) 257#define VCLKSET_DIV_V3U(n) FIELD_PREP(VCLKSET_DIV_V3U_MASK, (n)) 258#define VCLKSET_DIV_V4H_MASK GENMASK_U32(6, 4) 259#define VCLKSET_DIV_V4H(n) FIELD_PREP(VCLKSET_DIV_V4H_MASK, (n)) 260#define VCLKSET_BPP_MASK GENMASK_U32(3, 2) 261#define VCLKSET_BPP_16 FIELD_PREP(VCLKSET_BPP_MASK, 0) 262#define VCLKSET_BPP_18 FIELD_PREP(VCLKSET_BPP_MASK, 1) 263#define VCLKSET_BPP_18L FIELD_PREP(VCLKSET_BPP_MASK, 2) 264#define VCLKSET_BPP_24 FIELD_PREP(VCLKSET_BPP_MASK, 3) 265#define VCLKSET_LANE_MASK GENMASK_U32(1, 0) 266#define VCLKSET_LANE(n) FIELD_PREP(VCLKSET_LANE_MASK, (n)) 267 268#define VCLKEN 0x1010 269#define VCLKEN_CKEN BIT_U32(0) 270 271#define PHYSETUP 0x1014 272#define PHYSETUP_HSFREQRANGE_MASK GENMASK_U32(22, 16) 273#define PHYSETUP_HSFREQRANGE(n) FIELD_PREP(PHYSETUP_HSFREQRANGE_MASK, (n)) 274#define PHYSETUP_CFGCLKFREQRANGE_MASK GENMASK_U32(13, 8) 275#define PHYSETUP_SHUTDOWNZ BIT_U32(1) 276#define PHYSETUP_RSTZ BIT_U32(0) 277 278#define CLOCKSET1 0x101c 279#define CLOCKSET1_LOCK_PHY BIT_U32(17) 280#define CLOCKSET1_CLKSEL BIT_U32(8) 281#define CLOCKSET1_CLKINSEL_MASK GENMASK_U32(3, 2) 282#define CLOCKSET1_CLKINSEL_EXTAL FIELD_PREP(CLOCKSET1_CLKINSEL_MASK, 0) 283#define CLOCKSET1_CLKINSEL_DIG FIELD_PREP(CLOCKSET1_CLKINSEL_MASK, 1) 284#define CLOCKSET1_CLKINSEL_DU FIELD_PREP(CLOCKSET1_CLKINSEL_MASK, 2) 285#define CLOCKSET1_SHADOW_CLEAR BIT_U32(1) 286#define CLOCKSET1_UPDATEPLL BIT_U32(0) 287 288#define CLOCKSET2 0x1020 289#define CLOCKSET2_M_MASK GENMASK_U32(27, 16) 290#define CLOCKSET2_M(n) FIELD_PREP(CLOCKSET2_M_MASK, (n)) 291#define CLOCKSET2_VCO_CNTRL_MASK GENMASK_U32(13, 8) 292#define CLOCKSET2_VCO_CNTRL(n) FIELD_PREP(CLOCKSET2_VCO_CNTRL_MASK, (n)) 293#define CLOCKSET2_N_MASK GENMASK_U32(3, 0) 294#define CLOCKSET2_N(n) FIELD_PREP(CLOCKSET2_N_MASK, (n)) 295 296#define CLOCKSET3 0x1024 297#define CLOCKSET3_PROP_CNTRL_MASK GENMASK_U32(29, 24) 298#define CLOCKSET3_PROP_CNTRL(n) FIELD_PREP(CLOCKSET3_PROP_CNTRL_MASK, (n)) 299#define CLOCKSET3_INT_CNTRL_MASK GENMASK_U32(21, 16) 300#define CLOCKSET3_INT_CNTRL(n) FIELD_PREP(CLOCKSET3_INT_CNTRL_MASK, (n)) 301#define CLOCKSET3_CPBIAS_CNTRL_MASK GENMASK_U32(14, 8) 302#define CLOCKSET3_CPBIAS_CNTRL(n) FIELD_PREP(CLOCKSET3_CPBIAS_CNTRL_MASK, (n)) 303#define CLOCKSET3_GMP_CNTRL_MASK GENMASK_U32(1, 0) 304#define CLOCKSET3_GMP_CNTRL(n) FIELD_PREP(CLOCKSET3_GMP_CNTRL_MASK, (n)) 305 306#define PHTW 0x1034 307#define PHTW_DWEN BIT_U32(24) 308#define PHTW_TESTDIN_DATA_MASK GENMASK_U32(23, 16) 309#define PHTW_CWEN BIT_U32(8) 310#define PHTW_TESTDIN_CODE_MASK GENMASK_U32(7, 0) 311 312#define PHTR 0x1038 313#define PHTR_TESTDOUT GENMASK_U32(23, 16) 314#define PHTR_TESTDOUT_TEST BIT_U32(16) 315 316#define PHTC 0x103c 317#define PHTC_TESTCLR BIT_U32(0) 318 319#endif /* __RCAR_MIPI_DSI_REGS_H__ */
~/
Read-only file preview.