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