1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Copyright (c) 2016 Heiko Stuebner <heiko@sntech.de> 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #ifndef _ASM_ARCH_GRF_RK3188_H 8*4882a593Smuzhiyun #define _ASM_ARCH_GRF_RK3188_H 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun struct rk3188_grf_gpio_lh { 11*4882a593Smuzhiyun u32 l; 12*4882a593Smuzhiyun u32 h; 13*4882a593Smuzhiyun }; 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun struct rk3188_grf { 16*4882a593Smuzhiyun struct rk3188_grf_gpio_lh gpio_dir[4]; 17*4882a593Smuzhiyun struct rk3188_grf_gpio_lh gpio_do[4]; 18*4882a593Smuzhiyun struct rk3188_grf_gpio_lh gpio_en[4]; 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun u32 reserved[2]; 21*4882a593Smuzhiyun u32 gpio0c_iomux; 22*4882a593Smuzhiyun u32 gpio0d_iomux; 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun u32 gpio1a_iomux; 25*4882a593Smuzhiyun u32 gpio1b_iomux; 26*4882a593Smuzhiyun u32 gpio1c_iomux; 27*4882a593Smuzhiyun u32 gpio1d_iomux; 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun u32 gpio2a_iomux; 30*4882a593Smuzhiyun u32 gpio2b_iomux; 31*4882a593Smuzhiyun u32 gpio2c_iomux; 32*4882a593Smuzhiyun u32 gpio2d_iomux; 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun u32 gpio3a_iomux; 35*4882a593Smuzhiyun u32 gpio3b_iomux; 36*4882a593Smuzhiyun u32 gpio3c_iomux; 37*4882a593Smuzhiyun u32 gpio3d_iomux; 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun u32 soc_con0; 40*4882a593Smuzhiyun u32 soc_con1; 41*4882a593Smuzhiyun u32 soc_con2; 42*4882a593Smuzhiyun u32 soc_status0; 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun u32 busdmac_con[3]; 45*4882a593Smuzhiyun u32 peridmac_con[4]; 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun u32 cpu_con[6]; 48*4882a593Smuzhiyun u32 reserved0[2]; 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun u32 ddrc_con0; 51*4882a593Smuzhiyun u32 ddrc_stat; 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun u32 io_con[5]; 54*4882a593Smuzhiyun u32 soc_status1; 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun u32 uoc0_con[4]; 57*4882a593Smuzhiyun u32 uoc1_con[4]; 58*4882a593Smuzhiyun u32 uoc2_con[2]; 59*4882a593Smuzhiyun u32 reserved1; 60*4882a593Smuzhiyun u32 uoc3_con[2]; 61*4882a593Smuzhiyun u32 hsic_stat; 62*4882a593Smuzhiyun u32 os_reg[8]; 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun u32 gpio0_p[3]; 65*4882a593Smuzhiyun u32 gpio1_p[3][4]; 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun u32 flash_data_p; 68*4882a593Smuzhiyun u32 flash_cmd_p; 69*4882a593Smuzhiyun }; 70*4882a593Smuzhiyun check_member(rk3188_grf, flash_cmd_p, 0x01a4); 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun /* GRF_GPIO0D_IOMUX */ 73*4882a593Smuzhiyun enum { 74*4882a593Smuzhiyun GPIO0D7_SHIFT = 14, 75*4882a593Smuzhiyun GPIO0D7_MASK = 1, 76*4882a593Smuzhiyun GPIO0D7_GPIO = 0, 77*4882a593Smuzhiyun GPIO0D7_SPI1_CSN0, 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun GPIO0D6_SHIFT = 12, 80*4882a593Smuzhiyun GPIO0D6_MASK = 1, 81*4882a593Smuzhiyun GPIO0D6_GPIO = 0, 82*4882a593Smuzhiyun GPIO0D6_SPI1_CLK, 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun GPIO0D5_SHIFT = 10, 85*4882a593Smuzhiyun GPIO0D5_MASK = 1, 86*4882a593Smuzhiyun GPIO0D5_GPIO = 0, 87*4882a593Smuzhiyun GPIO0D5_SPI1_TXD, 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun GPIO0D4_SHIFT = 8, 90*4882a593Smuzhiyun GPIO0D4_MASK = 1, 91*4882a593Smuzhiyun GPIO0D4_GPIO = 0, 92*4882a593Smuzhiyun GPIO0D4_SPI0_RXD, 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun GPIO0D3_SHIFT = 6, 95*4882a593Smuzhiyun GPIO0D3_MASK = 3, 96*4882a593Smuzhiyun GPIO0D3_GPIO = 0, 97*4882a593Smuzhiyun GPIO0D3_FLASH_CSN3, 98*4882a593Smuzhiyun GPIO0D3_EMMC_RSTN_OUT, 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun GPIO0D2_SHIFT = 4, 101*4882a593Smuzhiyun GPIO0D2_MASK = 3, 102*4882a593Smuzhiyun GPIO0D2_GPIO = 0, 103*4882a593Smuzhiyun GPIO0D2_FLASH_CSN2, 104*4882a593Smuzhiyun GPIO0D2_EMMC_CMD, 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun GPIO0D1_SHIFT = 2, 107*4882a593Smuzhiyun GPIO0D1_MASK = 1, 108*4882a593Smuzhiyun GPIO0D1_GPIO = 0, 109*4882a593Smuzhiyun GPIO0D1_FLASH_CSN1, 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun GPIO0D0_SHIFT = 0, 112*4882a593Smuzhiyun GPIO0D0_MASK = 3, 113*4882a593Smuzhiyun GPIO0D0_GPIO = 0, 114*4882a593Smuzhiyun GPIO0D0_FLASH_DQS, 115*4882a593Smuzhiyun GPIO0D0_EMMC_CLKOUT 116*4882a593Smuzhiyun }; 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun /* GRF_GPIO1A_IOMUX */ 119*4882a593Smuzhiyun enum { 120*4882a593Smuzhiyun GPIO1A7_SHIFT = 14, 121*4882a593Smuzhiyun GPIO1A7_MASK = 3, 122*4882a593Smuzhiyun GPIO1A7_GPIO = 0, 123*4882a593Smuzhiyun GPIO1A7_UART1_RTS_N, 124*4882a593Smuzhiyun GPIO1A7_SPI0_CSN0, 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun GPIO1A6_SHIFT = 12, 127*4882a593Smuzhiyun GPIO1A6_MASK = 3, 128*4882a593Smuzhiyun GPIO1A6_GPIO = 0, 129*4882a593Smuzhiyun GPIO1A6_UART1_CTS_N, 130*4882a593Smuzhiyun GPIO1A6_SPI0_CLK, 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun GPIO1A5_SHIFT = 10, 133*4882a593Smuzhiyun GPIO1A5_MASK = 3, 134*4882a593Smuzhiyun GPIO1A5_GPIO = 0, 135*4882a593Smuzhiyun GPIO1A5_UART1_SOUT, 136*4882a593Smuzhiyun GPIO1A5_SPI0_TXD, 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun GPIO1A4_SHIFT = 8, 139*4882a593Smuzhiyun GPIO1A4_MASK = 3, 140*4882a593Smuzhiyun GPIO1A4_GPIO = 0, 141*4882a593Smuzhiyun GPIO1A4_UART1_SIN, 142*4882a593Smuzhiyun GPIO1A4_SPI0_RXD, 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun GPIO1A3_SHIFT = 6, 145*4882a593Smuzhiyun GPIO1A3_MASK = 1, 146*4882a593Smuzhiyun GPIO1A3_GPIO = 0, 147*4882a593Smuzhiyun GPIO1A3_UART0_RTS_N, 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun GPIO1A2_SHIFT = 4, 150*4882a593Smuzhiyun GPIO1A2_MASK = 1, 151*4882a593Smuzhiyun GPIO1A2_GPIO = 0, 152*4882a593Smuzhiyun GPIO1A2_UART0_CTS_N, 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun GPIO1A1_SHIFT = 2, 155*4882a593Smuzhiyun GPIO1A1_MASK = 1, 156*4882a593Smuzhiyun GPIO1A1_GPIO = 0, 157*4882a593Smuzhiyun GPIO1A1_UART0_SOUT, 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun GPIO1A0_SHIFT = 0, 160*4882a593Smuzhiyun GPIO1A0_MASK = 1, 161*4882a593Smuzhiyun GPIO1A0_GPIO = 0, 162*4882a593Smuzhiyun GPIO1A0_UART0_SIN, 163*4882a593Smuzhiyun }; 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun /* GRF_GPIO1B_IOMUX */ 166*4882a593Smuzhiyun enum { 167*4882a593Smuzhiyun GPIO1B7_SHIFT = 14, 168*4882a593Smuzhiyun GPIO1B7_MASK = 1, 169*4882a593Smuzhiyun GPIO1B7_GPIO = 0, 170*4882a593Smuzhiyun GPIO1B7_SPI0_CSN1, 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun GPIO1B6_SHIFT = 12, 173*4882a593Smuzhiyun GPIO1B6_MASK = 3, 174*4882a593Smuzhiyun GPIO1B6_GPIO = 0, 175*4882a593Smuzhiyun GPIO1B6_SPDIF_TX, 176*4882a593Smuzhiyun GPIO1B6_SPI1_CSN1, 177*4882a593Smuzhiyun 178*4882a593Smuzhiyun GPIO1B5_SHIFT = 10, 179*4882a593Smuzhiyun GPIO1B5_MASK = 3, 180*4882a593Smuzhiyun GPIO1B5_GPIO = 0, 181*4882a593Smuzhiyun GPIO1B5_UART3_RTS_N, 182*4882a593Smuzhiyun GPIO1B5_RESERVED, 183*4882a593Smuzhiyun 184*4882a593Smuzhiyun GPIO1B4_SHIFT = 8, 185*4882a593Smuzhiyun GPIO1B4_MASK = 3, 186*4882a593Smuzhiyun GPIO1B4_GPIO = 0, 187*4882a593Smuzhiyun GPIO1B4_UART3_CTS_N, 188*4882a593Smuzhiyun GPIO1B4_GPS_RFCLK, 189*4882a593Smuzhiyun 190*4882a593Smuzhiyun GPIO1B3_SHIFT = 6, 191*4882a593Smuzhiyun GPIO1B3_MASK = 3, 192*4882a593Smuzhiyun GPIO1B3_GPIO = 0, 193*4882a593Smuzhiyun GPIO1B3_UART3_SOUT, 194*4882a593Smuzhiyun GPIO1B3_GPS_SIG, 195*4882a593Smuzhiyun 196*4882a593Smuzhiyun GPIO1B2_SHIFT = 4, 197*4882a593Smuzhiyun GPIO1B2_MASK = 3, 198*4882a593Smuzhiyun GPIO1B2_GPIO = 0, 199*4882a593Smuzhiyun GPIO1B2_UART3_SIN, 200*4882a593Smuzhiyun GPIO1B2_GPS_MAG, 201*4882a593Smuzhiyun 202*4882a593Smuzhiyun GPIO1B1_SHIFT = 2, 203*4882a593Smuzhiyun GPIO1B1_MASK = 3, 204*4882a593Smuzhiyun GPIO1B1_GPIO = 0, 205*4882a593Smuzhiyun GPIO1B1_UART2_SOUT, 206*4882a593Smuzhiyun GPIO1B1_JTAG_TDO, 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun GPIO1B0_SHIFT = 0, 209*4882a593Smuzhiyun GPIO1B0_MASK = 3, 210*4882a593Smuzhiyun GPIO1B0_GPIO = 0, 211*4882a593Smuzhiyun GPIO1B0_UART2_SIN, 212*4882a593Smuzhiyun GPIO1B0_JTAG_TDI, 213*4882a593Smuzhiyun }; 214*4882a593Smuzhiyun 215*4882a593Smuzhiyun /* GRF_GPIO1D_IOMUX */ 216*4882a593Smuzhiyun enum { 217*4882a593Smuzhiyun GPIO1D7_SHIFT = 14, 218*4882a593Smuzhiyun GPIO1D7_MASK = 1, 219*4882a593Smuzhiyun GPIO1D7_GPIO = 0, 220*4882a593Smuzhiyun GPIO1D7_I2C4_SCL, 221*4882a593Smuzhiyun 222*4882a593Smuzhiyun GPIO1D6_SHIFT = 12, 223*4882a593Smuzhiyun GPIO1D6_MASK = 1, 224*4882a593Smuzhiyun GPIO1D6_GPIO = 0, 225*4882a593Smuzhiyun GPIO1D6_I2C4_SDA, 226*4882a593Smuzhiyun 227*4882a593Smuzhiyun GPIO1D5_SHIFT = 10, 228*4882a593Smuzhiyun GPIO1D5_MASK = 1, 229*4882a593Smuzhiyun GPIO1D5_GPIO = 0, 230*4882a593Smuzhiyun GPIO1D5_I2C2_SCL, 231*4882a593Smuzhiyun 232*4882a593Smuzhiyun GPIO1D4_SHIFT = 8, 233*4882a593Smuzhiyun GPIO1D4_MASK = 1, 234*4882a593Smuzhiyun GPIO1D4_GPIO = 0, 235*4882a593Smuzhiyun GPIO1D4_I2C2_SDA, 236*4882a593Smuzhiyun 237*4882a593Smuzhiyun GPIO1D3_SHIFT = 6, 238*4882a593Smuzhiyun GPIO1D3_MASK = 1, 239*4882a593Smuzhiyun GPIO1D3_GPIO = 0, 240*4882a593Smuzhiyun GPIO1D3_I2C1_SCL, 241*4882a593Smuzhiyun 242*4882a593Smuzhiyun GPIO1D2_SHIFT = 4, 243*4882a593Smuzhiyun GPIO1D2_MASK = 1, 244*4882a593Smuzhiyun GPIO1D2_GPIO = 0, 245*4882a593Smuzhiyun GPIO1D2_I2C1_SDA, 246*4882a593Smuzhiyun 247*4882a593Smuzhiyun GPIO1D1_SHIFT = 2, 248*4882a593Smuzhiyun GPIO1D1_MASK = 1, 249*4882a593Smuzhiyun GPIO1D1_GPIO = 0, 250*4882a593Smuzhiyun GPIO1D1_I2C0_SCL, 251*4882a593Smuzhiyun 252*4882a593Smuzhiyun GPIO1D0_SHIFT = 0, 253*4882a593Smuzhiyun GPIO1D0_MASK = 1, 254*4882a593Smuzhiyun GPIO1D0_GPIO = 0, 255*4882a593Smuzhiyun GPIO1D0_I2C0_SDA, 256*4882a593Smuzhiyun }; 257*4882a593Smuzhiyun 258*4882a593Smuzhiyun /* GRF_GPIO3A_IOMUX */ 259*4882a593Smuzhiyun enum { 260*4882a593Smuzhiyun GPIO3A7_SHIFT = 14, 261*4882a593Smuzhiyun GPIO3A7_MASK = 1, 262*4882a593Smuzhiyun GPIO3A7_GPIO = 0, 263*4882a593Smuzhiyun GPIO3A7_SDMMC0_DATA3, 264*4882a593Smuzhiyun 265*4882a593Smuzhiyun GPIO3A6_SHIFT = 12, 266*4882a593Smuzhiyun GPIO3A6_MASK = 1, 267*4882a593Smuzhiyun GPIO3A6_GPIO = 0, 268*4882a593Smuzhiyun GPIO3A6_SDMMC0_DATA2, 269*4882a593Smuzhiyun 270*4882a593Smuzhiyun GPIO3A5_SHIFT = 10, 271*4882a593Smuzhiyun GPIO3A5_MASK = 1, 272*4882a593Smuzhiyun GPIO3A5_GPIO = 0, 273*4882a593Smuzhiyun GPIO3A5_SDMMC0_DATA1, 274*4882a593Smuzhiyun 275*4882a593Smuzhiyun GPIO3A4_SHIFT = 8, 276*4882a593Smuzhiyun GPIO3A4_MASK = 1, 277*4882a593Smuzhiyun GPIO3A4_GPIO = 0, 278*4882a593Smuzhiyun GPIO3A4_SDMMC0_DATA0, 279*4882a593Smuzhiyun 280*4882a593Smuzhiyun GPIO3A3_SHIFT = 6, 281*4882a593Smuzhiyun GPIO3A3_MASK = 1, 282*4882a593Smuzhiyun GPIO3A3_GPIO = 0, 283*4882a593Smuzhiyun GPIO3A3_SDMMC0_CMD, 284*4882a593Smuzhiyun 285*4882a593Smuzhiyun GPIO3A2_SHIFT = 4, 286*4882a593Smuzhiyun GPIO3A2_MASK = 1, 287*4882a593Smuzhiyun GPIO3A2_GPIO = 0, 288*4882a593Smuzhiyun GPIO3A2_SDMMC0_CLKOUT, 289*4882a593Smuzhiyun 290*4882a593Smuzhiyun GPIO3A1_SHIFT = 2, 291*4882a593Smuzhiyun GPIO3A1_MASK = 1, 292*4882a593Smuzhiyun GPIO3A1_GPIO = 0, 293*4882a593Smuzhiyun GPIO3A1_SDMMC0_PWREN, 294*4882a593Smuzhiyun 295*4882a593Smuzhiyun GPIO3A0_SHIFT = 0, 296*4882a593Smuzhiyun GPIO3A0_MASK = 1, 297*4882a593Smuzhiyun GPIO3A0_GPIO = 0, 298*4882a593Smuzhiyun GPIO3A0_SDMMC0_RSTN, 299*4882a593Smuzhiyun }; 300*4882a593Smuzhiyun 301*4882a593Smuzhiyun /* GRF_GPIO3B_IOMUX */ 302*4882a593Smuzhiyun enum { 303*4882a593Smuzhiyun GPIO3B7_SHIFT = 14, 304*4882a593Smuzhiyun GPIO3B7_MASK = 3, 305*4882a593Smuzhiyun GPIO3B7_GPIO = 0, 306*4882a593Smuzhiyun GPIO3B7_CIF_DATA11, 307*4882a593Smuzhiyun GPIO3B7_I2C3_SCL, 308*4882a593Smuzhiyun 309*4882a593Smuzhiyun GPIO3B6_SHIFT = 12, 310*4882a593Smuzhiyun GPIO3B6_MASK = 3, 311*4882a593Smuzhiyun GPIO3B6_GPIO = 0, 312*4882a593Smuzhiyun GPIO3B6_CIF_DATA10, 313*4882a593Smuzhiyun GPIO3B6_I2C3_SDA, 314*4882a593Smuzhiyun 315*4882a593Smuzhiyun GPIO3B5_SHIFT = 10, 316*4882a593Smuzhiyun GPIO3B5_MASK = 3, 317*4882a593Smuzhiyun GPIO3B5_GPIO = 0, 318*4882a593Smuzhiyun GPIO3B5_CIF_DATA1, 319*4882a593Smuzhiyun GPIO3B5_HSADC_DATA9, 320*4882a593Smuzhiyun 321*4882a593Smuzhiyun GPIO3B4_SHIFT = 8, 322*4882a593Smuzhiyun GPIO3B4_MASK = 3, 323*4882a593Smuzhiyun GPIO3B4_GPIO = 0, 324*4882a593Smuzhiyun GPIO3B4_CIF_DATA0, 325*4882a593Smuzhiyun GPIO3B4_HSADC_DATA8, 326*4882a593Smuzhiyun 327*4882a593Smuzhiyun GPIO3B3_SHIFT = 6, 328*4882a593Smuzhiyun GPIO3B3_MASK = 1, 329*4882a593Smuzhiyun GPIO3B3_GPIO = 0, 330*4882a593Smuzhiyun GPIO3B3_CIF_CLKOUT, 331*4882a593Smuzhiyun 332*4882a593Smuzhiyun GPIO3B2_SHIFT = 4, 333*4882a593Smuzhiyun GPIO3B2_MASK = 1, 334*4882a593Smuzhiyun GPIO3B2_GPIO = 0, 335*4882a593Smuzhiyun /* no muxes */ 336*4882a593Smuzhiyun 337*4882a593Smuzhiyun GPIO3B1_SHIFT = 2, 338*4882a593Smuzhiyun GPIO3B1_MASK = 1, 339*4882a593Smuzhiyun GPIO3B1_GPIO = 0, 340*4882a593Smuzhiyun GPIO3B1_SDMMC0_WRITE_PRT, 341*4882a593Smuzhiyun 342*4882a593Smuzhiyun GPIO3B0_SHIFT = 0, 343*4882a593Smuzhiyun GPIO3B0_MASK = 1, 344*4882a593Smuzhiyun GPIO3B0_GPIO = 0, 345*4882a593Smuzhiyun GPIO3B0_SDMMC_DETECT_N, 346*4882a593Smuzhiyun }; 347*4882a593Smuzhiyun 348*4882a593Smuzhiyun /* GRF_GPIO3C_IOMUX */ 349*4882a593Smuzhiyun enum { 350*4882a593Smuzhiyun GPIO3C7_SHIFT = 14, 351*4882a593Smuzhiyun GPIO3C7_MASK = 3, 352*4882a593Smuzhiyun GPIO3C7_GPIO = 0, 353*4882a593Smuzhiyun GPIO3C7_SDMMC1_WRITE_PRT, 354*4882a593Smuzhiyun GPIO3C7_RMII_CRS_DVALID, 355*4882a593Smuzhiyun GPIO3C7_RESERVED, 356*4882a593Smuzhiyun 357*4882a593Smuzhiyun GPIO3C6_SHIFT = 12, 358*4882a593Smuzhiyun GPIO3C6_MASK = 3, 359*4882a593Smuzhiyun GPIO3C6_GPIO = 0, 360*4882a593Smuzhiyun GPIO3C6_SDMMC1_DECTN, 361*4882a593Smuzhiyun GPIO3C6_RMII_RX_ERR, 362*4882a593Smuzhiyun GPIO3C6_RESERVED, 363*4882a593Smuzhiyun 364*4882a593Smuzhiyun GPIO3C5_SHIFT = 10, 365*4882a593Smuzhiyun GPIO3C5_MASK = 3, 366*4882a593Smuzhiyun GPIO3C5_GPIO = 0, 367*4882a593Smuzhiyun GPIO3C5_SDMMC1_CLKOUT, 368*4882a593Smuzhiyun GPIO3C5_RMII_CLKOUT, 369*4882a593Smuzhiyun GPIO3C5_RMII_CLKIN, 370*4882a593Smuzhiyun 371*4882a593Smuzhiyun GPIO3C4_SHIFT = 8, 372*4882a593Smuzhiyun GPIO3C4_MASK = 3, 373*4882a593Smuzhiyun GPIO3C4_GPIO = 0, 374*4882a593Smuzhiyun GPIO3C4_SDMMC1_DATA3, 375*4882a593Smuzhiyun GPIO3C4_RMII_RXD1, 376*4882a593Smuzhiyun GPIO3C4_RESERVED, 377*4882a593Smuzhiyun 378*4882a593Smuzhiyun GPIO3C3_SHIFT = 6, 379*4882a593Smuzhiyun GPIO3C3_MASK = 3, 380*4882a593Smuzhiyun GPIO3C3_GPIO = 0, 381*4882a593Smuzhiyun GPIO3C3_SDMMC1_DATA2, 382*4882a593Smuzhiyun GPIO3C3_RMII_RXD0, 383*4882a593Smuzhiyun GPIO3C3_RESERVED, 384*4882a593Smuzhiyun 385*4882a593Smuzhiyun GPIO3C2_SHIFT = 4, 386*4882a593Smuzhiyun GPIO3C2_MASK = 3, 387*4882a593Smuzhiyun GPIO3C2_GPIO = 0, 388*4882a593Smuzhiyun GPIO3C2_SDMMC1_DATA1, 389*4882a593Smuzhiyun GPIO3C2_RMII_TXD0, 390*4882a593Smuzhiyun GPIO3C2_RESERVED, 391*4882a593Smuzhiyun 392*4882a593Smuzhiyun GPIO3C1_SHIFT = 2, 393*4882a593Smuzhiyun GPIO3C1_MASK = 3, 394*4882a593Smuzhiyun GPIO3C1_GPIO = 0, 395*4882a593Smuzhiyun GPIO3C1_SDMMC1_DATA0, 396*4882a593Smuzhiyun GPIO3C1_RMII_TXD1, 397*4882a593Smuzhiyun GPIO3C1_RESERVED, 398*4882a593Smuzhiyun 399*4882a593Smuzhiyun GPIO3C0_SHIFT = 0, 400*4882a593Smuzhiyun GPIO3C0_MASK = 3, 401*4882a593Smuzhiyun GPIO3C0_GPIO = 0, 402*4882a593Smuzhiyun GPIO3C0_SDMMC1_CMD, 403*4882a593Smuzhiyun GPIO3C0_RMII_TX_EN, 404*4882a593Smuzhiyun GPIO3C0_RESERVED, 405*4882a593Smuzhiyun }; 406*4882a593Smuzhiyun 407*4882a593Smuzhiyun /* GRF_GPIO3D_IOMUX */ 408*4882a593Smuzhiyun enum { 409*4882a593Smuzhiyun GPIO3D6_SHIFT = 12, 410*4882a593Smuzhiyun GPIO3D6_MASK = 3, 411*4882a593Smuzhiyun GPIO3D6_GPIO = 0, 412*4882a593Smuzhiyun GPIO3D6_PWM_3, 413*4882a593Smuzhiyun GPIO3D6_JTAG_TMS, 414*4882a593Smuzhiyun GPIO3D6_HOST_DRV_VBUS, 415*4882a593Smuzhiyun 416*4882a593Smuzhiyun GPIO3D5_SHIFT = 10, 417*4882a593Smuzhiyun GPIO3D5_MASK = 3, 418*4882a593Smuzhiyun GPIO3D5_GPIO = 0, 419*4882a593Smuzhiyun GPIO3D5_PWM_2, 420*4882a593Smuzhiyun GPIO3D5_JTAG_TCK, 421*4882a593Smuzhiyun GPIO3D5_OTG_DRV_VBUS, 422*4882a593Smuzhiyun 423*4882a593Smuzhiyun GPIO3D4_SHIFT = 8, 424*4882a593Smuzhiyun GPIO3D4_MASK = 3, 425*4882a593Smuzhiyun GPIO3D4_GPIO = 0, 426*4882a593Smuzhiyun GPIO3D4_PWM_1, 427*4882a593Smuzhiyun GPIO3D4_JTAG_TRSTN, 428*4882a593Smuzhiyun 429*4882a593Smuzhiyun GPIO3D3_SHIFT = 6, 430*4882a593Smuzhiyun GPIO3D3_MASK = 3, 431*4882a593Smuzhiyun GPIO3D3_GPIO = 0, 432*4882a593Smuzhiyun GPIO3D3_PWM_0, 433*4882a593Smuzhiyun 434*4882a593Smuzhiyun GPIO3D2_SHIFT = 4, 435*4882a593Smuzhiyun GPIO3D2_MASK = 3, 436*4882a593Smuzhiyun GPIO3D2_GPIO = 0, 437*4882a593Smuzhiyun GPIO3D2_SDMMC1_INT_N, 438*4882a593Smuzhiyun 439*4882a593Smuzhiyun GPIO3D1_SHIFT = 2, 440*4882a593Smuzhiyun GPIO3D1_MASK = 3, 441*4882a593Smuzhiyun GPIO3D1_GPIO = 0, 442*4882a593Smuzhiyun GPIO3D1_SDMMC1_BACKEND_PWR, 443*4882a593Smuzhiyun GPIO3D1_MII_MDCLK, 444*4882a593Smuzhiyun 445*4882a593Smuzhiyun GPIO3D0_SHIFT = 0, 446*4882a593Smuzhiyun GPIO3D0_MASK = 3, 447*4882a593Smuzhiyun GPIO3D0_GPIO = 0, 448*4882a593Smuzhiyun GPIO3D0_SDMMC1_PWR_EN, 449*4882a593Smuzhiyun GPIO3D0_MII_MD, 450*4882a593Smuzhiyun }; 451*4882a593Smuzhiyun 452*4882a593Smuzhiyun /* GRF_SOC_CON0 */ 453*4882a593Smuzhiyun enum { 454*4882a593Smuzhiyun HSADC_CLK_DIR_SHIFT = 15, 455*4882a593Smuzhiyun HSADC_CLK_DIR_MASK = 1, 456*4882a593Smuzhiyun 457*4882a593Smuzhiyun HSADC_SEL_SHIFT = 14, 458*4882a593Smuzhiyun HSADC_SEL_MASK = 1, 459*4882a593Smuzhiyun 460*4882a593Smuzhiyun NOC_REMAP_SHIFT = 12, 461*4882a593Smuzhiyun NOC_REMAP_MASK = 1, 462*4882a593Smuzhiyun 463*4882a593Smuzhiyun EMMC_FLASH_SEL_SHIFT = 11, 464*4882a593Smuzhiyun EMMC_FLASH_SEL_MASK = 1, 465*4882a593Smuzhiyun 466*4882a593Smuzhiyun TZPC_REVISION_SHIFT = 7, 467*4882a593Smuzhiyun TZPC_REVISION_MASK = 0xf, 468*4882a593Smuzhiyun 469*4882a593Smuzhiyun L2CACHE_ACC_SHIFT = 5, 470*4882a593Smuzhiyun L2CACHE_ACC_MASK = 3, 471*4882a593Smuzhiyun 472*4882a593Smuzhiyun L2RD_WAIT_SHIFT = 3, 473*4882a593Smuzhiyun L2RD_WAIT_MASK = 3, 474*4882a593Smuzhiyun 475*4882a593Smuzhiyun IMEMRD_WAIT_SHIFT = 1, 476*4882a593Smuzhiyun IMEMRD_WAIT_MASK = 3, 477*4882a593Smuzhiyun }; 478*4882a593Smuzhiyun 479*4882a593Smuzhiyun /* GRF_SOC_CON1 */ 480*4882a593Smuzhiyun enum { 481*4882a593Smuzhiyun RKI2C4_SEL_SHIFT = 15, 482*4882a593Smuzhiyun RKI2C4_SEL_MASK = 1, 483*4882a593Smuzhiyun 484*4882a593Smuzhiyun RKI2C3_SEL_SHIFT = 14, 485*4882a593Smuzhiyun RKI2C3_SEL_MASK = 1, 486*4882a593Smuzhiyun 487*4882a593Smuzhiyun RKI2C2_SEL_SHIFT = 13, 488*4882a593Smuzhiyun RKI2C2_SEL_MASK = 1, 489*4882a593Smuzhiyun 490*4882a593Smuzhiyun RKI2C1_SEL_SHIFT = 12, 491*4882a593Smuzhiyun RKI2C1_SEL_MASK = 1, 492*4882a593Smuzhiyun 493*4882a593Smuzhiyun RKI2C0_SEL_SHIFT = 11, 494*4882a593Smuzhiyun RKI2C0_SEL_MASK = 1, 495*4882a593Smuzhiyun 496*4882a593Smuzhiyun VCODEC_SEL_SHIFT = 10, 497*4882a593Smuzhiyun VCODEC_SEL_MASK = 1, 498*4882a593Smuzhiyun 499*4882a593Smuzhiyun PERI_EMEM_PAUSE_SHIFT = 9, 500*4882a593Smuzhiyun PERI_EMEM_PAUSE_MASK = 1, 501*4882a593Smuzhiyun 502*4882a593Smuzhiyun PERI_USB_PAUSE_SHIFT = 8, 503*4882a593Smuzhiyun PERI_USB_PAUSE_MASK = 1, 504*4882a593Smuzhiyun 505*4882a593Smuzhiyun SMC_MUX_MODE_0_SHIFT = 6, 506*4882a593Smuzhiyun SMC_MUX_MODE_0_MASK = 1, 507*4882a593Smuzhiyun 508*4882a593Smuzhiyun SMC_SRAM_MW_0_SHIFT = 4, 509*4882a593Smuzhiyun SMC_SRAM_MW_0_MASK = 3, 510*4882a593Smuzhiyun 511*4882a593Smuzhiyun SMC_REMAP_0_SHIFT = 3, 512*4882a593Smuzhiyun SMC_REMAP_0_MASK = 1, 513*4882a593Smuzhiyun 514*4882a593Smuzhiyun SMC_A_GT_M0_SYNC_SHIFT = 2, 515*4882a593Smuzhiyun SMC_A_GT_M0_SYNC_MASK = 1, 516*4882a593Smuzhiyun 517*4882a593Smuzhiyun EMAC_SPEED_SHIFT = 1, 518*4882a593Smuzhiyun EMAC_SPEEC_MASK = 1, 519*4882a593Smuzhiyun 520*4882a593Smuzhiyun EMAC_MODE_SHIFT = 0, 521*4882a593Smuzhiyun EMAC_MODE_MASK = 1, 522*4882a593Smuzhiyun }; 523*4882a593Smuzhiyun 524*4882a593Smuzhiyun /* GRF_SOC_CON2 */ 525*4882a593Smuzhiyun enum { 526*4882a593Smuzhiyun SDIO_CLK_OUT_SR_SHIFT = 15, 527*4882a593Smuzhiyun SDIO_CLK_OUT_SR_MASK = 1, 528*4882a593Smuzhiyun 529*4882a593Smuzhiyun MEM_EMA_L2C_SHIFT = 11, 530*4882a593Smuzhiyun MEM_EMA_L2C_MASK = 7, 531*4882a593Smuzhiyun 532*4882a593Smuzhiyun MEM_EMA_A9_SHIFT = 8, 533*4882a593Smuzhiyun MEM_EMA_A9_MASK = 7, 534*4882a593Smuzhiyun 535*4882a593Smuzhiyun MSCH4_MAINDDR3_SHIFT = 7, 536*4882a593Smuzhiyun MSCH4_MAINDDR3_MASK = 1, 537*4882a593Smuzhiyun MSCH4_MAINDDR3_DDR3 = 1, 538*4882a593Smuzhiyun 539*4882a593Smuzhiyun EMAC_NEWRCV_EN_SHIFT = 6, 540*4882a593Smuzhiyun EMAC_NEWRCV_EN_MASK = 1, 541*4882a593Smuzhiyun 542*4882a593Smuzhiyun SW_ADDR15_EN_SHIFT = 5, 543*4882a593Smuzhiyun SW_ADDR15_EN_MASK = 1, 544*4882a593Smuzhiyun 545*4882a593Smuzhiyun SW_ADDR16_EN_SHIFT = 4, 546*4882a593Smuzhiyun SW_ADDR16_EN_MASK = 1, 547*4882a593Smuzhiyun 548*4882a593Smuzhiyun SW_ADDR17_EN_SHIFT = 3, 549*4882a593Smuzhiyun SW_ADDR17_EN_MASK = 1, 550*4882a593Smuzhiyun 551*4882a593Smuzhiyun BANK2_TO_RANK_EN_SHIFT = 2, 552*4882a593Smuzhiyun BANK2_TO_RANK_EN_MASK = 1, 553*4882a593Smuzhiyun 554*4882a593Smuzhiyun RANK_TO_ROW15_EN_SHIFT = 1, 555*4882a593Smuzhiyun RANK_TO_ROW15_EN_MASK = 1, 556*4882a593Smuzhiyun 557*4882a593Smuzhiyun UPCTL_C_ACTIVE_IN_SHIFT = 0, 558*4882a593Smuzhiyun UPCTL_C_ACTIVE_IN_MASK = 1, 559*4882a593Smuzhiyun UPCTL_C_ACTIVE_IN_MAY = 0, 560*4882a593Smuzhiyun UPCTL_C_ACTIVE_IN_WILL, 561*4882a593Smuzhiyun }; 562*4882a593Smuzhiyun 563*4882a593Smuzhiyun /* GRF_DDRC_CON0 */ 564*4882a593Smuzhiyun enum { 565*4882a593Smuzhiyun DDR_16BIT_EN_SHIFT = 15, 566*4882a593Smuzhiyun DDR_16BIT_EN_MASK = 1, 567*4882a593Smuzhiyun 568*4882a593Smuzhiyun DTO_LB_SHIFT = 11, 569*4882a593Smuzhiyun DTO_LB_MASK = 3, 570*4882a593Smuzhiyun 571*4882a593Smuzhiyun DTO_TE_SHIFT = 9, 572*4882a593Smuzhiyun DTO_TE_MASK = 3, 573*4882a593Smuzhiyun 574*4882a593Smuzhiyun DTO_PDR_SHIFT = 7, 575*4882a593Smuzhiyun DTO_PDR_MASK = 3, 576*4882a593Smuzhiyun 577*4882a593Smuzhiyun DTO_PDD_SHIFT = 5, 578*4882a593Smuzhiyun DTO_PDD_MASK = 3, 579*4882a593Smuzhiyun 580*4882a593Smuzhiyun DTO_IOM_SHIFT = 3, 581*4882a593Smuzhiyun DTO_IOM_MASK = 3, 582*4882a593Smuzhiyun 583*4882a593Smuzhiyun DTO_OE_SHIFT = 1, 584*4882a593Smuzhiyun DTO_OE_MASK = 3, 585*4882a593Smuzhiyun 586*4882a593Smuzhiyun ATO_AE_SHIFT = 0, 587*4882a593Smuzhiyun ATO_AE_MASK = 1, 588*4882a593Smuzhiyun }; 589*4882a593Smuzhiyun #endif 590