1*fa392191SPaweł Jarosz /* 2*fa392191SPaweł Jarosz * Copyright (c) 2017 Paweł Jarosz <paweljarosz3691@gmail.com> 3*fa392191SPaweł Jarosz * 4*fa392191SPaweł Jarosz * SPDX-License-Identifier: GPL-2.0 5*fa392191SPaweł Jarosz */ 6*fa392191SPaweł Jarosz 7*fa392191SPaweł Jarosz #ifndef _ASM_ARCH_GRF_RK3066_H 8*fa392191SPaweł Jarosz #define _ASM_ARCH_GRF_RK3066_H 9*fa392191SPaweł Jarosz 10*fa392191SPaweł Jarosz struct rk3066_grf_gpio_lh { 11*fa392191SPaweł Jarosz u32 l; 12*fa392191SPaweł Jarosz u32 h; 13*fa392191SPaweł Jarosz }; 14*fa392191SPaweł Jarosz 15*fa392191SPaweł Jarosz struct rk3066_grf { 16*fa392191SPaweł Jarosz struct rk3066_grf_gpio_lh gpio_dir[7]; 17*fa392191SPaweł Jarosz struct rk3066_grf_gpio_lh gpio_do[7]; 18*fa392191SPaweł Jarosz struct rk3066_grf_gpio_lh gpio_en[7]; 19*fa392191SPaweł Jarosz 20*fa392191SPaweł Jarosz u32 gpio0a_iomux; 21*fa392191SPaweł Jarosz u32 gpio0b_iomux; 22*fa392191SPaweł Jarosz u32 gpio0c_iomux; 23*fa392191SPaweł Jarosz u32 gpio0d_iomux; 24*fa392191SPaweł Jarosz 25*fa392191SPaweł Jarosz u32 gpio1a_iomux; 26*fa392191SPaweł Jarosz u32 gpio1b_iomux; 27*fa392191SPaweł Jarosz u32 gpio1c_iomux; 28*fa392191SPaweł Jarosz u32 gpio1d_iomux; 29*fa392191SPaweł Jarosz 30*fa392191SPaweł Jarosz u32 gpio2a_iomux; 31*fa392191SPaweł Jarosz u32 gpio2b_iomux; 32*fa392191SPaweł Jarosz u32 gpio2c_iomux; 33*fa392191SPaweł Jarosz u32 gpio2d_iomux; 34*fa392191SPaweł Jarosz 35*fa392191SPaweł Jarosz u32 gpio3a_iomux; 36*fa392191SPaweł Jarosz u32 gpio3b_iomux; 37*fa392191SPaweł Jarosz u32 gpio3c_iomux; 38*fa392191SPaweł Jarosz u32 gpio3d_iomux; 39*fa392191SPaweł Jarosz 40*fa392191SPaweł Jarosz u32 gpio4a_iomux; 41*fa392191SPaweł Jarosz u32 gpio4b_iomux; 42*fa392191SPaweł Jarosz u32 gpio4c_iomux; 43*fa392191SPaweł Jarosz u32 gpio4d_iomux; 44*fa392191SPaweł Jarosz 45*fa392191SPaweł Jarosz u32 reserved0[5]; 46*fa392191SPaweł Jarosz 47*fa392191SPaweł Jarosz u32 gpio6b_iomux; 48*fa392191SPaweł Jarosz 49*fa392191SPaweł Jarosz u32 reserved1[2]; 50*fa392191SPaweł Jarosz 51*fa392191SPaweł Jarosz struct rk3066_grf_gpio_lh gpio_pull[7]; 52*fa392191SPaweł Jarosz 53*fa392191SPaweł Jarosz u32 soc_con0; 54*fa392191SPaweł Jarosz u32 soc_con1; 55*fa392191SPaweł Jarosz u32 soc_con2; 56*fa392191SPaweł Jarosz 57*fa392191SPaweł Jarosz u32 soc_status0; 58*fa392191SPaweł Jarosz 59*fa392191SPaweł Jarosz u32 dmac1_con[3]; 60*fa392191SPaweł Jarosz u32 dmac2_con[4]; 61*fa392191SPaweł Jarosz 62*fa392191SPaweł Jarosz u32 uoc0_con[3]; 63*fa392191SPaweł Jarosz u32 uoc1_con[4]; 64*fa392191SPaweł Jarosz u32 ddrc_con; 65*fa392191SPaweł Jarosz u32 ddrc_stat; 66*fa392191SPaweł Jarosz 67*fa392191SPaweł Jarosz u32 reserved2[10]; 68*fa392191SPaweł Jarosz 69*fa392191SPaweł Jarosz u32 os_reg[4]; 70*fa392191SPaweł Jarosz }; 71*fa392191SPaweł Jarosz check_member(rk3066_grf, os_reg[3], 0x01d4); 72*fa392191SPaweł Jarosz 73*fa392191SPaweł Jarosz /* GRF_GPIO0A_IOMUX */ 74*fa392191SPaweł Jarosz enum { 75*fa392191SPaweł Jarosz GPIO0A6_SHIFT = 12, 76*fa392191SPaweł Jarosz GPIO0A6_MASK = 1 << GPIO0A6_SHIFT, 77*fa392191SPaweł Jarosz GPIO0A6_GPIO = 0, 78*fa392191SPaweł Jarosz GPIO0A6_HOST_DRV_VBUS, 79*fa392191SPaweł Jarosz 80*fa392191SPaweł Jarosz GPIO0A5_SHIFT = 10, 81*fa392191SPaweł Jarosz GPIO0A5_MASK = 1 << GPIO0A5_SHIFT, 82*fa392191SPaweł Jarosz GPIO0A5_GPIO = 0, 83*fa392191SPaweł Jarosz GPIO0A5_OTG_DRV_VBUS, 84*fa392191SPaweł Jarosz 85*fa392191SPaweł Jarosz GPIO0A4_SHIFT = 8, 86*fa392191SPaweł Jarosz GPIO0A4_MASK = 1 << GPIO0A4_SHIFT, 87*fa392191SPaweł Jarosz GPIO0A4_GPIO = 0, 88*fa392191SPaweł Jarosz GPIO0A4_PWM1, 89*fa392191SPaweł Jarosz 90*fa392191SPaweł Jarosz GPIO0A3_SHIFT = 6, 91*fa392191SPaweł Jarosz GPIO0A3_MASK = 1 << GPIO0A3_SHIFT, 92*fa392191SPaweł Jarosz GPIO0A3_GPIO = 0, 93*fa392191SPaweł Jarosz GPIO0A3_PWM0 94*fa392191SPaweł Jarosz }; 95*fa392191SPaweł Jarosz 96*fa392191SPaweł Jarosz /* GRF_GPIO0D_IOMUX */ 97*fa392191SPaweł Jarosz enum { 98*fa392191SPaweł Jarosz GPIO0D7_SHIFT = 14, 99*fa392191SPaweł Jarosz GPIO0D7_MASK = 1 << GPIO0D7_SHIFT, 100*fa392191SPaweł Jarosz GPIO0D7_GPIO = 0, 101*fa392191SPaweł Jarosz GPIO0D7_PWM3, 102*fa392191SPaweł Jarosz 103*fa392191SPaweł Jarosz GPIO0D6_SHIFT = 12, 104*fa392191SPaweł Jarosz GPIO0D6_MASK = 1 << GPIO0D6_SHIFT, 105*fa392191SPaweł Jarosz GPIO0D6_GPIO = 0, 106*fa392191SPaweł Jarosz GPIO0D6_PWM2 107*fa392191SPaweł Jarosz }; 108*fa392191SPaweł Jarosz 109*fa392191SPaweł Jarosz /* GRF_GPIO1A_IOMUX */ 110*fa392191SPaweł Jarosz enum { 111*fa392191SPaweł Jarosz GPIO1A7_SHIFT = 14, 112*fa392191SPaweł Jarosz GPIO1A7_MASK = 3 << GPIO1A7_SHIFT, 113*fa392191SPaweł Jarosz GPIO1A7_GPIO = 0, 114*fa392191SPaweł Jarosz GPIO1A7_UART1_RTS_N, 115*fa392191SPaweł Jarosz GPIO1A7_SPI0_TXD, 116*fa392191SPaweł Jarosz 117*fa392191SPaweł Jarosz GPIO1A6_SHIFT = 12, 118*fa392191SPaweł Jarosz GPIO1A6_MASK = 3 << GPIO1A6_SHIFT, 119*fa392191SPaweł Jarosz GPIO1A6_GPIO = 0, 120*fa392191SPaweł Jarosz GPIO1A6_UART1_CTS_N, 121*fa392191SPaweł Jarosz GPIO1A6_SPI0_RXD, 122*fa392191SPaweł Jarosz 123*fa392191SPaweł Jarosz GPIO1A5_SHIFT = 10, 124*fa392191SPaweł Jarosz GPIO1A5_MASK = 3 << GPIO1A5_SHIFT, 125*fa392191SPaweł Jarosz GPIO1A5_GPIO = 0, 126*fa392191SPaweł Jarosz GPIO1A5_UART1_SOUT, 127*fa392191SPaweł Jarosz GPIO1A5_SPI0_CLK, 128*fa392191SPaweł Jarosz 129*fa392191SPaweł Jarosz GPIO1A4_SHIFT = 8, 130*fa392191SPaweł Jarosz GPIO1A4_MASK = 3 << GPIO1A4_SHIFT, 131*fa392191SPaweł Jarosz GPIO1A4_GPIO = 0, 132*fa392191SPaweł Jarosz GPIO1A4_UART1_SIN, 133*fa392191SPaweł Jarosz GPIO1A4_SPI0_CSN0, 134*fa392191SPaweł Jarosz 135*fa392191SPaweł Jarosz GPIO1A3_SHIFT = 6, 136*fa392191SPaweł Jarosz GPIO1A3_MASK = 1 << GPIO1A3_SHIFT, 137*fa392191SPaweł Jarosz GPIO1A3_GPIO = 0, 138*fa392191SPaweł Jarosz GPIO1A3_UART0_RTS_N, 139*fa392191SPaweł Jarosz 140*fa392191SPaweł Jarosz GPIO1A2_SHIFT = 4, 141*fa392191SPaweł Jarosz GPIO1A2_MASK = 1 << GPIO1A2_SHIFT, 142*fa392191SPaweł Jarosz GPIO1A2_GPIO = 0, 143*fa392191SPaweł Jarosz GPIO1A2_UART0_CTS_N, 144*fa392191SPaweł Jarosz 145*fa392191SPaweł Jarosz GPIO1A1_SHIFT = 2, 146*fa392191SPaweł Jarosz GPIO1A1_MASK = 1 << GPIO1A1_SHIFT, 147*fa392191SPaweł Jarosz GPIO1A1_GPIO = 0, 148*fa392191SPaweł Jarosz GPIO1A1_UART0_SOUT, 149*fa392191SPaweł Jarosz 150*fa392191SPaweł Jarosz GPIO1A0_SHIFT = 0, 151*fa392191SPaweł Jarosz GPIO1A0_MASK = 1 << GPIO1A0_SHIFT, 152*fa392191SPaweł Jarosz GPIO1A0_GPIO = 0, 153*fa392191SPaweł Jarosz GPIO1A0_UART0_SIN 154*fa392191SPaweł Jarosz }; 155*fa392191SPaweł Jarosz 156*fa392191SPaweł Jarosz /* GRF_GPIO1B_IOMUX */ 157*fa392191SPaweł Jarosz enum { 158*fa392191SPaweł Jarosz GPIO1B1_SHIFT = 2, 159*fa392191SPaweł Jarosz GPIO1B1_MASK = 1 << GPIO1B1_SHIFT, 160*fa392191SPaweł Jarosz GPIO1B1_GPIO = 0, 161*fa392191SPaweł Jarosz GPIO1B1_UART2_SOUT, 162*fa392191SPaweł Jarosz 163*fa392191SPaweł Jarosz GPIO1B0_SHIFT = 0, 164*fa392191SPaweł Jarosz GPIO1B0_MASK = 1 << GPIO1B0_SHIFT, 165*fa392191SPaweł Jarosz GPIO1B0_GPIO = 0, 166*fa392191SPaweł Jarosz GPIO1B0_UART2_SIN 167*fa392191SPaweł Jarosz }; 168*fa392191SPaweł Jarosz 169*fa392191SPaweł Jarosz /* GRF_GPIO2C_IOMUX */ 170*fa392191SPaweł Jarosz enum { 171*fa392191SPaweł Jarosz GPIO2C7_SHIFT = 14, 172*fa392191SPaweł Jarosz GPIO2C7_MASK = 3 << GPIO2C7_SHIFT, 173*fa392191SPaweł Jarosz GPIO2C7_GPIO = 0, 174*fa392191SPaweł Jarosz GPIO2C7_LCDC1_DATA23, 175*fa392191SPaweł Jarosz GPIO2C7_SPI1_CSN1, 176*fa392191SPaweł Jarosz GPIO2C7_HSADC_DATA4, 177*fa392191SPaweł Jarosz 178*fa392191SPaweł Jarosz GPIO2C6_SHIFT = 12, 179*fa392191SPaweł Jarosz GPIO2C6_MASK = 3 << GPIO2C6_SHIFT, 180*fa392191SPaweł Jarosz GPIO2C6_GPIO = 0, 181*fa392191SPaweł Jarosz GPIO2C6_LCDC1_DATA22, 182*fa392191SPaweł Jarosz GPIO2C6_SPI1_RXD, 183*fa392191SPaweł Jarosz GPIO2C6_HSADC_DATA3, 184*fa392191SPaweł Jarosz 185*fa392191SPaweł Jarosz GPIO2C5_SHIFT = 10, 186*fa392191SPaweł Jarosz GPIO2C5_MASK = 3 << GPIO2C5_SHIFT, 187*fa392191SPaweł Jarosz GPIO2C5_GPIO = 0, 188*fa392191SPaweł Jarosz GPIO2C5_LCDC1_DATA21, 189*fa392191SPaweł Jarosz GPIO2C5_SPI1_TXD, 190*fa392191SPaweł Jarosz GPIO2C5_HSADC_DATA2, 191*fa392191SPaweł Jarosz 192*fa392191SPaweł Jarosz GPIO2C4_SHIFT = 8, 193*fa392191SPaweł Jarosz GPIO2C4_MASK = 3 << GPIO2C4_SHIFT, 194*fa392191SPaweł Jarosz GPIO2C4_GPIO = 0, 195*fa392191SPaweł Jarosz GPIO2C4_LCDC1_DATA20, 196*fa392191SPaweł Jarosz GPIO2C4_SPI1_CSN0, 197*fa392191SPaweł Jarosz GPIO2C4_HSADC_DATA1, 198*fa392191SPaweł Jarosz 199*fa392191SPaweł Jarosz GPIO2C3_SHIFT = 6, 200*fa392191SPaweł Jarosz GPIO2C3_MASK = 3 << GPIO2C3_SHIFT, 201*fa392191SPaweł Jarosz GPIO2C3_GPIO = 0, 202*fa392191SPaweł Jarosz GPIO2C3_LCDC1_DATA19, 203*fa392191SPaweł Jarosz GPIO2C3_SPI1_CLK, 204*fa392191SPaweł Jarosz GPIO2C3_HSADC_DATA0 205*fa392191SPaweł Jarosz }; 206*fa392191SPaweł Jarosz 207*fa392191SPaweł Jarosz /* GRF_GPIO2D_IOMUX */ 208*fa392191SPaweł Jarosz enum { 209*fa392191SPaweł Jarosz GPIO2D7_SHIFT = 14, 210*fa392191SPaweł Jarosz GPIO2D7_MASK = 1 << GPIO2D7_SHIFT, 211*fa392191SPaweł Jarosz GPIO2D7_GPIO = 0, 212*fa392191SPaweł Jarosz GPIO2D7_I2C1_SCL, 213*fa392191SPaweł Jarosz 214*fa392191SPaweł Jarosz GPIO2D6_SHIFT = 12, 215*fa392191SPaweł Jarosz GPIO2D6_MASK = 1 << GPIO2D6_SHIFT, 216*fa392191SPaweł Jarosz GPIO2D6_GPIO = 0, 217*fa392191SPaweł Jarosz GPIO2D6_I2C1_SDA, 218*fa392191SPaweł Jarosz 219*fa392191SPaweł Jarosz GPIO2D5_SHIFT = 10, 220*fa392191SPaweł Jarosz GPIO2D5_MASK = 1 << GPIO2D5_SHIFT, 221*fa392191SPaweł Jarosz GPIO2D5_GPIO = 0, 222*fa392191SPaweł Jarosz GPIO2D5_I2C0_SCL, 223*fa392191SPaweł Jarosz 224*fa392191SPaweł Jarosz GPIO2D4_SHIFT = 8, 225*fa392191SPaweł Jarosz GPIO2D4_MASK = 1 << GPIO2D4_SHIFT, 226*fa392191SPaweł Jarosz GPIO2D4_GPIO = 0, 227*fa392191SPaweł Jarosz GPIO2D4_I2C0_SDA 228*fa392191SPaweł Jarosz 229*fa392191SPaweł Jarosz }; 230*fa392191SPaweł Jarosz 231*fa392191SPaweł Jarosz /* GRF_GPIO3A_IOMUX */ 232*fa392191SPaweł Jarosz enum { 233*fa392191SPaweł Jarosz GPIO3A7_SHIFT = 14, 234*fa392191SPaweł Jarosz GPIO3A7_MASK = 1 << GPIO3A7_SHIFT, 235*fa392191SPaweł Jarosz GPIO3A7_GPIO = 0, 236*fa392191SPaweł Jarosz GPIO3A7_SDMMC0_WRITE_PRT, 237*fa392191SPaweł Jarosz 238*fa392191SPaweł Jarosz GPIO3A6_SHIFT = 12, 239*fa392191SPaweł Jarosz GPIO3A6_MASK = 1 << GPIO3A6_SHIFT, 240*fa392191SPaweł Jarosz GPIO3A6_GPIO = 0, 241*fa392191SPaweł Jarosz GPIO3A6_SDMMC0_RSTN_OUT, 242*fa392191SPaweł Jarosz 243*fa392191SPaweł Jarosz GPIO3A5_SHIFT = 10, 244*fa392191SPaweł Jarosz GPIO3A5_MASK = 1 << GPIO3A5_SHIFT, 245*fa392191SPaweł Jarosz GPIO3A5_GPIO = 0, 246*fa392191SPaweł Jarosz GPIO3A5_I2C4_SCL, 247*fa392191SPaweł Jarosz 248*fa392191SPaweł Jarosz GPIO3A4_SHIFT = 8, 249*fa392191SPaweł Jarosz GPIO3A4_MASK = 1 << GPIO3A4_SHIFT, 250*fa392191SPaweł Jarosz GPIO3A4_GPIO = 0, 251*fa392191SPaweł Jarosz GPIO3A4_I2C4_SDA, 252*fa392191SPaweł Jarosz 253*fa392191SPaweł Jarosz GPIO3A3_SHIFT = 6, 254*fa392191SPaweł Jarosz GPIO3A3_MASK = 1 << GPIO3A3_SHIFT, 255*fa392191SPaweł Jarosz GPIO3A3_GPIO = 0, 256*fa392191SPaweł Jarosz GPIO3A3_I2C3_SCL, 257*fa392191SPaweł Jarosz 258*fa392191SPaweł Jarosz GPIO3A2_SHIFT = 4, 259*fa392191SPaweł Jarosz GPIO3A2_MASK = 1 << GPIO3A2_SHIFT, 260*fa392191SPaweł Jarosz GPIO3A2_GPIO = 0, 261*fa392191SPaweł Jarosz GPIO3A2_I2C3_SDA, 262*fa392191SPaweł Jarosz 263*fa392191SPaweł Jarosz GPIO3A1_SHIFT = 2, 264*fa392191SPaweł Jarosz GPIO3A1_MASK = 1 << GPIO3A1_SHIFT, 265*fa392191SPaweł Jarosz GPIO3A1_GPIO = 0, 266*fa392191SPaweł Jarosz GPIO3A1_I2C2_SCL, 267*fa392191SPaweł Jarosz 268*fa392191SPaweł Jarosz GPIO3A0_SHIFT = 0, 269*fa392191SPaweł Jarosz GPIO3A0_MASK = 1 << GPIO3A0_SHIFT, 270*fa392191SPaweł Jarosz GPIO3A0_GPIO = 0, 271*fa392191SPaweł Jarosz GPIO3A0_I2C2_SDA, 272*fa392191SPaweł Jarosz }; 273*fa392191SPaweł Jarosz 274*fa392191SPaweł Jarosz /* GRF_GPIO3B_IOMUX */ 275*fa392191SPaweł Jarosz enum { 276*fa392191SPaweł Jarosz GPIO3B7_SHIFT = 14, 277*fa392191SPaweł Jarosz GPIO3B7_MASK = 1 << GPIO3B7_SHIFT, 278*fa392191SPaweł Jarosz GPIO3B7_GPIO = 0, 279*fa392191SPaweł Jarosz GPIO3B7_SDMMC0_WRITE_PRT, 280*fa392191SPaweł Jarosz 281*fa392191SPaweł Jarosz GPIO3B6_SHIFT = 12, 282*fa392191SPaweł Jarosz GPIO3B6_MASK = 1 << GPIO3B6_SHIFT, 283*fa392191SPaweł Jarosz GPIO3B6_GPIO = 0, 284*fa392191SPaweł Jarosz GPIO3B6_SDMMC0_DETECT_N, 285*fa392191SPaweł Jarosz 286*fa392191SPaweł Jarosz GPIO3B5_SHIFT = 10, 287*fa392191SPaweł Jarosz GPIO3B5_MASK = 1 << GPIO3B5_SHIFT, 288*fa392191SPaweł Jarosz GPIO3B5_GPIO = 0, 289*fa392191SPaweł Jarosz GPIO3B5_SDMMC0_DATA3, 290*fa392191SPaweł Jarosz 291*fa392191SPaweł Jarosz GPIO3B4_SHIFT = 8, 292*fa392191SPaweł Jarosz GPIO3B4_MASK = 1 << GPIO3B4_SHIFT, 293*fa392191SPaweł Jarosz GPIO3B4_GPIO = 0, 294*fa392191SPaweł Jarosz GPIO3B4_SDMMC0_DATA2, 295*fa392191SPaweł Jarosz 296*fa392191SPaweł Jarosz GPIO3B3_SHIFT = 6, 297*fa392191SPaweł Jarosz GPIO3B3_MASK = 1 << GPIO3B3_SHIFT, 298*fa392191SPaweł Jarosz GPIO3B3_GPIO = 0, 299*fa392191SPaweł Jarosz GPIO3B3_SDMMC0_DATA1, 300*fa392191SPaweł Jarosz 301*fa392191SPaweł Jarosz GPIO3B2_SHIFT = 4, 302*fa392191SPaweł Jarosz GPIO3B2_MASK = 1 << GPIO3B2_SHIFT, 303*fa392191SPaweł Jarosz GPIO3B2_GPIO = 0, 304*fa392191SPaweł Jarosz GPIO3B2_SDMMC0_DATA0, 305*fa392191SPaweł Jarosz 306*fa392191SPaweł Jarosz GPIO3B1_SHIFT = 2, 307*fa392191SPaweł Jarosz GPIO3B1_MASK = 1 << GPIO3B1_SHIFT, 308*fa392191SPaweł Jarosz GPIO3B1_GPIO = 0, 309*fa392191SPaweł Jarosz GPIO3B1_SDMMC0_CMD, 310*fa392191SPaweł Jarosz 311*fa392191SPaweł Jarosz GPIO3B0_SHIFT = 0, 312*fa392191SPaweł Jarosz GPIO3B0_MASK = 1 << GPIO3B0_SHIFT, 313*fa392191SPaweł Jarosz GPIO3B0_GPIO = 0, 314*fa392191SPaweł Jarosz GPIO3B0_SDMMC0_CLKOUT 315*fa392191SPaweł Jarosz 316*fa392191SPaweł Jarosz }; 317*fa392191SPaweł Jarosz 318*fa392191SPaweł Jarosz /* GRF_GPIO3C_IOMUX */ 319*fa392191SPaweł Jarosz enum { 320*fa392191SPaweł Jarosz GPIO3C7_SHIFT = 14, 321*fa392191SPaweł Jarosz GPIO3C7_MASK = 1 << GPIO3C7_SHIFT, 322*fa392191SPaweł Jarosz GPIO3C7_GPIO = 0, 323*fa392191SPaweł Jarosz GPIO3C7_SDMMC1_WRITE_PRT, 324*fa392191SPaweł Jarosz 325*fa392191SPaweł Jarosz GPIO3C6_SHIFT = 12, 326*fa392191SPaweł Jarosz GPIO3C6_MASK = 1 << GPIO3C6_SHIFT, 327*fa392191SPaweł Jarosz GPIO3C6_GPIO = 0, 328*fa392191SPaweł Jarosz GPIO3C6_SDMMC1_DETECT_N, 329*fa392191SPaweł Jarosz 330*fa392191SPaweł Jarosz GPIO3C5_SHIFT = 10, 331*fa392191SPaweł Jarosz GPIO3C5_MASK = 1 << GPIO3C5_SHIFT, 332*fa392191SPaweł Jarosz GPIO3C5_GPIO = 0, 333*fa392191SPaweł Jarosz GPIO3C5_SDMMC1_CLKOUT, 334*fa392191SPaweł Jarosz 335*fa392191SPaweł Jarosz GPIO3C4_SHIFT = 8, 336*fa392191SPaweł Jarosz GPIO3C4_MASK = 1 << GPIO3C4_SHIFT, 337*fa392191SPaweł Jarosz GPIO3C4_GPIO = 0, 338*fa392191SPaweł Jarosz GPIO3C4_SDMMC1_DATA3, 339*fa392191SPaweł Jarosz 340*fa392191SPaweł Jarosz GPIO3C3_SHIFT = 6, 341*fa392191SPaweł Jarosz GPIO3C3_MASK = 1 << GPIO3C3_SHIFT, 342*fa392191SPaweł Jarosz GPIO3C3_GPIO = 0, 343*fa392191SPaweł Jarosz GPIO3C3_SDMMC1_DATA2, 344*fa392191SPaweł Jarosz 345*fa392191SPaweł Jarosz GPIO3C2_SHIFT = 4, 346*fa392191SPaweł Jarosz GPIO3C2_MASK = 1 << GPIO3C2_SHIFT, 347*fa392191SPaweł Jarosz GPIO3C2_GPIO = 0, 348*fa392191SPaweł Jarosz GPIO3C2_SDMMC1_DATA1, 349*fa392191SPaweł Jarosz 350*fa392191SPaweł Jarosz GPIO3C1_SHIFT = 2, 351*fa392191SPaweł Jarosz GPIO3C1_MASK = 1 << GPIO3C1_SHIFT, 352*fa392191SPaweł Jarosz GPIO3C1_GPIO = 0, 353*fa392191SPaweł Jarosz GPIO3C1_SDMMC1_DATA0, 354*fa392191SPaweł Jarosz 355*fa392191SPaweł Jarosz GPIO3C0_SHIFT = 0, 356*fa392191SPaweł Jarosz GPIO3C0_MASK = 1 << GPIO3C0_SHIFT, 357*fa392191SPaweł Jarosz GPIO3C0_GPIO = 0, 358*fa392191SPaweł Jarosz GPIO3C0_SMMC1_CMD 359*fa392191SPaweł Jarosz }; 360*fa392191SPaweł Jarosz 361*fa392191SPaweł Jarosz /* GRF_GPIO3D_IOMUX */ 362*fa392191SPaweł Jarosz enum { 363*fa392191SPaweł Jarosz GPIO3D7_SHIFT = 14, 364*fa392191SPaweł Jarosz GPIO3D7_MASK = 3 << GPIO3D7_SHIFT, 365*fa392191SPaweł Jarosz GPIO3D7_GPIO = 0, 366*fa392191SPaweł Jarosz GPIO3D7_FLASH_DQS, 367*fa392191SPaweł Jarosz GPIO3D7_EMMC_CLKOUT, 368*fa392191SPaweł Jarosz 369*fa392191SPaweł Jarosz GPIO3D6_SHIFT = 12, 370*fa392191SPaweł Jarosz GPIO3D6_MASK = 1 << GPIO3D6_SHIFT, 371*fa392191SPaweł Jarosz GPIO3D6_GPIO = 0, 372*fa392191SPaweł Jarosz GPIO3D6_UART3_RTS_N, 373*fa392191SPaweł Jarosz 374*fa392191SPaweł Jarosz GPIO3D5_SHIFT = 10, 375*fa392191SPaweł Jarosz GPIO3D5_MASK = 1 << GPIO3D5_SHIFT, 376*fa392191SPaweł Jarosz GPIO3D5_GPIO = 0, 377*fa392191SPaweł Jarosz GPIO3D5_UART3_CTS_N, 378*fa392191SPaweł Jarosz 379*fa392191SPaweł Jarosz GPIO3D4_SHIFT = 8, 380*fa392191SPaweł Jarosz GPIO3D4_MASK = 1 << GPIO3D4_SHIFT, 381*fa392191SPaweł Jarosz GPIO3D4_GPIO = 0, 382*fa392191SPaweł Jarosz GPIO3D4_UART3_SOUT, 383*fa392191SPaweł Jarosz 384*fa392191SPaweł Jarosz GPIO3D3_SHIFT = 6, 385*fa392191SPaweł Jarosz GPIO3D3_MASK = 1 << GPIO3D3_SHIFT, 386*fa392191SPaweł Jarosz GPIO3D3_GPIO = 0, 387*fa392191SPaweł Jarosz GPIO3D3_UART3_SIN, 388*fa392191SPaweł Jarosz 389*fa392191SPaweł Jarosz GPIO3D2_SHIFT = 4, 390*fa392191SPaweł Jarosz GPIO3D2_MASK = 1 << GPIO3D2_SHIFT, 391*fa392191SPaweł Jarosz GPIO3D2_GPIO = 0, 392*fa392191SPaweł Jarosz GPIO3D2_SDMMC1_INT_N, 393*fa392191SPaweł Jarosz 394*fa392191SPaweł Jarosz GPIO3D1_SHIFT = 2, 395*fa392191SPaweł Jarosz GPIO3D1_MASK = 1 << GPIO3D1_SHIFT, 396*fa392191SPaweł Jarosz GPIO3D1_GPIO = 0, 397*fa392191SPaweł Jarosz GPIO3D1_SDMMC1_BACKEND_PWR, 398*fa392191SPaweł Jarosz 399*fa392191SPaweł Jarosz GPIO3D0_SHIFT = 0, 400*fa392191SPaweł Jarosz GPIO3D0_MASK = 1 << GPIO3D0_SHIFT, 401*fa392191SPaweł Jarosz GPIO3D0_GPIO = 0, 402*fa392191SPaweł Jarosz GPIO3D0_SDMMC1_PWR_EN 403*fa392191SPaweł Jarosz 404*fa392191SPaweł Jarosz }; 405*fa392191SPaweł Jarosz 406*fa392191SPaweł Jarosz /* GRF_GPIO4A_IOMUX */ 407*fa392191SPaweł Jarosz enum { 408*fa392191SPaweł Jarosz GPIO4A7_SHIFT = 14, 409*fa392191SPaweł Jarosz GPIO4A7_MASK = 1 << GPIO4A7_SHIFT, 410*fa392191SPaweł Jarosz GPIO4A7_GPIO = 0, 411*fa392191SPaweł Jarosz GPIO4A7_FLASH_DATA15, 412*fa392191SPaweł Jarosz 413*fa392191SPaweł Jarosz GPIO4A6_SHIFT = 12, 414*fa392191SPaweł Jarosz GPIO4A6_MASK = 1 << GPIO4A6_SHIFT, 415*fa392191SPaweł Jarosz GPIO4A6_GPIO = 0, 416*fa392191SPaweł Jarosz GPIO4A6_FLASH_DATA14, 417*fa392191SPaweł Jarosz 418*fa392191SPaweł Jarosz GPIO4A5_SHIFT = 10, 419*fa392191SPaweł Jarosz GPIO4A5_MASK = 1 << GPIO4A5_SHIFT, 420*fa392191SPaweł Jarosz GPIO4A5_GPIO = 0, 421*fa392191SPaweł Jarosz GPIO4A5_FLASH_DATA13, 422*fa392191SPaweł Jarosz 423*fa392191SPaweł Jarosz GPIO4A4_SHIFT = 8, 424*fa392191SPaweł Jarosz GPIO4A4_MASK = 1 << GPIO4A4_SHIFT, 425*fa392191SPaweł Jarosz GPIO4A4_GPIO = 0, 426*fa392191SPaweł Jarosz GPIO4A4_FLASH_DATA12, 427*fa392191SPaweł Jarosz 428*fa392191SPaweł Jarosz GPIO4A3_SHIFT = 6, 429*fa392191SPaweł Jarosz GPIO4A3_MASK = 1 << GPIO4A3_SHIFT, 430*fa392191SPaweł Jarosz GPIO4A3_GPIO = 0, 431*fa392191SPaweł Jarosz GPIO4A3_FLASH_DATA11, 432*fa392191SPaweł Jarosz 433*fa392191SPaweł Jarosz GPIO4A2_SHIFT = 4, 434*fa392191SPaweł Jarosz GPIO4A2_MASK = 1 << GPIO4A2_SHIFT, 435*fa392191SPaweł Jarosz GPIO4A2_GPIO = 0, 436*fa392191SPaweł Jarosz GPIO4A2_FLASH_DATA10, 437*fa392191SPaweł Jarosz 438*fa392191SPaweł Jarosz GPIO4A1_SHIFT = 2, 439*fa392191SPaweł Jarosz GPIO4A1_MASK = 1 << GPIO4A1_SHIFT, 440*fa392191SPaweł Jarosz GPIO4A1_GPIO = 0, 441*fa392191SPaweł Jarosz GPIO4A1_FLASH_DATA9, 442*fa392191SPaweł Jarosz 443*fa392191SPaweł Jarosz GPIO4A0_SHIFT = 0, 444*fa392191SPaweł Jarosz GPIO4A0_MASK = 1 << GPIO4A0_SHIFT, 445*fa392191SPaweł Jarosz GPIO4A0_GPIO = 0, 446*fa392191SPaweł Jarosz GPIO4A0_FLASH_DATA8 447*fa392191SPaweł Jarosz 448*fa392191SPaweł Jarosz }; 449*fa392191SPaweł Jarosz 450*fa392191SPaweł Jarosz /* GRF_GPIO4B_IOMUX */ 451*fa392191SPaweł Jarosz enum { 452*fa392191SPaweł Jarosz GPIO4B7_SHIFT = 14, 453*fa392191SPaweł Jarosz GPIO4B7_MASK = 1 << GPIO4B7_SHIFT, 454*fa392191SPaweł Jarosz GPIO4B7_GPIO = 0, 455*fa392191SPaweł Jarosz GPIO4B7_SPI0_CSN1, 456*fa392191SPaweł Jarosz 457*fa392191SPaweł Jarosz GPIO4B6_SHIFT = 12, 458*fa392191SPaweł Jarosz GPIO4B6_MASK = 1 << GPIO4B6_SHIFT, 459*fa392191SPaweł Jarosz GPIO4B6_GPIO = 0, 460*fa392191SPaweł Jarosz GPIO4B6_FLASH_CSN7, 461*fa392191SPaweł Jarosz 462*fa392191SPaweł Jarosz GPIO4B5_SHIFT = 10, 463*fa392191SPaweł Jarosz GPIO4B5_MASK = 1 << GPIO4B5_SHIFT, 464*fa392191SPaweł Jarosz GPIO4B5_GPIO = 0, 465*fa392191SPaweł Jarosz GPIO4B5_FLASH_CSN6, 466*fa392191SPaweł Jarosz 467*fa392191SPaweł Jarosz GPIO4B4_SHIFT = 8, 468*fa392191SPaweł Jarosz GPIO4B4_MASK = 1 << GPIO4B4_SHIFT, 469*fa392191SPaweł Jarosz GPIO4B4_GPIO = 0, 470*fa392191SPaweł Jarosz GPIO4B4_FLASH_CSN5, 471*fa392191SPaweł Jarosz 472*fa392191SPaweł Jarosz GPIO4B3_SHIFT = 6, 473*fa392191SPaweł Jarosz GPIO4B3_MASK = 1 << GPIO4B3_SHIFT, 474*fa392191SPaweł Jarosz GPIO4B3_GPIO = 0, 475*fa392191SPaweł Jarosz GPIO4B3_FLASH_CSN4, 476*fa392191SPaweł Jarosz 477*fa392191SPaweł Jarosz GPIO4B2_SHIFT = 4, 478*fa392191SPaweł Jarosz GPIO4B2_MASK = 3 << GPIO4B2_SHIFT, 479*fa392191SPaweł Jarosz GPIO4B2_GPIO = 0, 480*fa392191SPaweł Jarosz GPIO4B2_FLASH_CSN3, 481*fa392191SPaweł Jarosz GPIO4B2_EMMC_RSTN_OUT, 482*fa392191SPaweł Jarosz 483*fa392191SPaweł Jarosz GPIO4B1_SHIFT = 2, 484*fa392191SPaweł Jarosz GPIO4B1_MASK = 3 << GPIO4B1_SHIFT, 485*fa392191SPaweł Jarosz GPIO4B1_GPIO = 0, 486*fa392191SPaweł Jarosz GPIO4B1_FLASH_CSN2, 487*fa392191SPaweł Jarosz GPIO4B1_EMMC_CMD, 488*fa392191SPaweł Jarosz 489*fa392191SPaweł Jarosz GPIO4B0_SHIFT = 0, 490*fa392191SPaweł Jarosz GPIO4B0_MASK = 1 << GPIO4B0_SHIFT, 491*fa392191SPaweł Jarosz GPIO4B0_GPIO = 0, 492*fa392191SPaweł Jarosz GPIO4B0_FLASH_CSN1 493*fa392191SPaweł Jarosz }; 494*fa392191SPaweł Jarosz 495*fa392191SPaweł Jarosz /* GRF_SOC_CON0 */ 496*fa392191SPaweł Jarosz enum { 497*fa392191SPaweł Jarosz SMC_MUX_CON_SHIFT = 13, 498*fa392191SPaweł Jarosz SMC_MUX_CON_MASK = 1 << SMC_MUX_CON_SHIFT, 499*fa392191SPaweł Jarosz 500*fa392191SPaweł Jarosz NOC_REMAP_SHIFT = 12, 501*fa392191SPaweł Jarosz NOC_REMAP_MASK = 1 << NOC_REMAP_SHIFT, 502*fa392191SPaweł Jarosz 503*fa392191SPaweł Jarosz EMMC_FLASH_SEL_SHIFT = 11, 504*fa392191SPaweł Jarosz EMMC_FLASH_SEL_MASK = 1 << EMMC_FLASH_SEL_SHIFT, 505*fa392191SPaweł Jarosz 506*fa392191SPaweł Jarosz TZPC_REVISION_SHIFT = 7, 507*fa392191SPaweł Jarosz TZPC_REVISION_MASK = 0xf << TZPC_REVISION_SHIFT, 508*fa392191SPaweł Jarosz 509*fa392191SPaweł Jarosz L2CACHE_ACC_SHIFT = 5, 510*fa392191SPaweł Jarosz L2CACHE_ACC_MASK = 3 << L2CACHE_ACC_SHIFT, 511*fa392191SPaweł Jarosz 512*fa392191SPaweł Jarosz L2RD_WAIT_SHIFT = 3, 513*fa392191SPaweł Jarosz L2RD_WAIT_MASK = 3 << L2RD_WAIT_SHIFT, 514*fa392191SPaweł Jarosz 515*fa392191SPaweł Jarosz IMEMRD_WAIT_SHIFT = 1, 516*fa392191SPaweł Jarosz IMEMRD_WAIT_MASK = 3 << IMEMRD_WAIT_SHIFT, 517*fa392191SPaweł Jarosz 518*fa392191SPaweł Jarosz SOC_REMAP_SHIFT = 0, 519*fa392191SPaweł Jarosz SOC_REMAP_MASK = 1 << SOC_REMAP_SHIFT, 520*fa392191SPaweł Jarosz }; 521*fa392191SPaweł Jarosz 522*fa392191SPaweł Jarosz /* GRF_SOC_CON1 */ 523*fa392191SPaweł Jarosz enum { 524*fa392191SPaweł Jarosz RKI2C4_SEL_SHIFT = 15, 525*fa392191SPaweł Jarosz RKI2C4_SEL_MASK = 1 << RKI2C4_SEL_SHIFT, 526*fa392191SPaweł Jarosz 527*fa392191SPaweł Jarosz RKI2C3_SEL_SHIFT = 14, 528*fa392191SPaweł Jarosz RKI2C3_SEL_MASK = 1 << RKI2C3_SEL_SHIFT, 529*fa392191SPaweł Jarosz 530*fa392191SPaweł Jarosz RKI2C2_SEL_SHIFT = 13, 531*fa392191SPaweł Jarosz RKI2C2_SEL_MASK = 1 << RKI2C2_SEL_SHIFT, 532*fa392191SPaweł Jarosz 533*fa392191SPaweł Jarosz RKI2C1_SEL_SHIFT = 12, 534*fa392191SPaweł Jarosz RKI2C1_SEL_MASK = 1 << RKI2C1_SEL_SHIFT, 535*fa392191SPaweł Jarosz 536*fa392191SPaweł Jarosz RKI2C0_SEL_SHIFT = 11, 537*fa392191SPaweł Jarosz RKI2C0_SEL_MASK = 1 << RKI2C0_SEL_SHIFT, 538*fa392191SPaweł Jarosz 539*fa392191SPaweł Jarosz VCODEC_SEL_SHIFT = 10, 540*fa392191SPaweł Jarosz VCODEC_SEL_MASK = 1 << VCODEC_SEL_SHIFT, 541*fa392191SPaweł Jarosz 542*fa392191SPaweł Jarosz PERI_EMEM_PAUSE_SHIFT = 9, 543*fa392191SPaweł Jarosz PERI_EMEM_PAUSE_MASK = 1 << PERI_EMEM_PAUSE_SHIFT, 544*fa392191SPaweł Jarosz 545*fa392191SPaweł Jarosz PERI_USB_PAUSE_SHIFT = 8, 546*fa392191SPaweł Jarosz PERI_USB_PAUSE_MASK = 1 << PERI_USB_PAUSE_SHIFT, 547*fa392191SPaweł Jarosz 548*fa392191SPaweł Jarosz SMC_MUX_MODE_0_SHIFT = 6, 549*fa392191SPaweł Jarosz SMC_MUX_MODE_0_MASK = 1 << SMC_MUX_MODE_0_SHIFT, 550*fa392191SPaweł Jarosz 551*fa392191SPaweł Jarosz SMC_SRAM_MW_0_SHIFT = 4, 552*fa392191SPaweł Jarosz SMC_SRAM_MW_0_MASK = 3 << SMC_SRAM_MW_0_SHIFT, 553*fa392191SPaweł Jarosz 554*fa392191SPaweł Jarosz SMC_REMAP_0_SHIFT = 3, 555*fa392191SPaweł Jarosz SMC_REMAP_0_MASK = 1 << SMC_REMAP_0_SHIFT, 556*fa392191SPaweł Jarosz 557*fa392191SPaweł Jarosz SMC_A_GT_M0_SYNC_SHIFT = 2, 558*fa392191SPaweł Jarosz SMC_A_GT_M0_SYNC_MASK = 1 << SMC_A_GT_M0_SYNC_SHIFT, 559*fa392191SPaweł Jarosz 560*fa392191SPaweł Jarosz EMAC_SPEED_SHIFT = 1, 561*fa392191SPaweł Jarosz EMAC_SPEEC_MASK = 1 << EMAC_SPEED_SHIFT, 562*fa392191SPaweł Jarosz 563*fa392191SPaweł Jarosz EMAC_MODE_SHIFT = 0, 564*fa392191SPaweł Jarosz EMAC_MODE_MASK = 1 << EMAC_MODE_SHIFT, 565*fa392191SPaweł Jarosz }; 566*fa392191SPaweł Jarosz 567*fa392191SPaweł Jarosz /* GRF_SOC_CON2 */ 568*fa392191SPaweł Jarosz enum { 569*fa392191SPaweł Jarosz 570*fa392191SPaweł Jarosz MSCH4_MAINDDR3_SHIFT = 7, 571*fa392191SPaweł Jarosz MSCH4_MAINDDR3_MASK = 1 << MSCH4_MAINDDR3_SHIFT, 572*fa392191SPaweł Jarosz MSCH4_MAINDDR3_DDR3 = 1, 573*fa392191SPaweł Jarosz 574*fa392191SPaweł Jarosz EMAC_NEWRCV_EN_SHIFT = 6, 575*fa392191SPaweł Jarosz EMAC_NEWRCV_EN_MASK = 1 << EMAC_NEWRCV_EN_SHIFT, 576*fa392191SPaweł Jarosz 577*fa392191SPaweł Jarosz SW_ADDR15_EN_SHIFT = 5, 578*fa392191SPaweł Jarosz SW_ADDR15_EN_MASK = 1 << SW_ADDR15_EN_SHIFT, 579*fa392191SPaweł Jarosz 580*fa392191SPaweł Jarosz SW_ADDR16_EN_SHIFT = 4, 581*fa392191SPaweł Jarosz SW_ADDR16_EN_MASK = 1 << SW_ADDR16_EN_SHIFT, 582*fa392191SPaweł Jarosz 583*fa392191SPaweł Jarosz SW_ADDR17_EN_SHIFT = 3, 584*fa392191SPaweł Jarosz SW_ADDR17_EN_MASK = 1 << SW_ADDR17_EN_SHIFT, 585*fa392191SPaweł Jarosz 586*fa392191SPaweł Jarosz BANK2_TO_RANK_EN_SHIFT = 2, 587*fa392191SPaweł Jarosz BANK2_TO_RANK_EN_MASK = 1 << BANK2_TO_RANK_EN_SHIFT, 588*fa392191SPaweł Jarosz 589*fa392191SPaweł Jarosz RANK_TO_ROW15_EN_SHIFT = 1, 590*fa392191SPaweł Jarosz RANK_TO_ROW15_EN_MASK = 1 << RANK_TO_ROW15_EN_SHIFT, 591*fa392191SPaweł Jarosz 592*fa392191SPaweł Jarosz UPCTL_C_ACTIVE_IN_SHIFT = 0, 593*fa392191SPaweł Jarosz UPCTL_C_ACTIVE_IN_MASK = 1 << UPCTL_C_ACTIVE_IN_SHIFT, 594*fa392191SPaweł Jarosz UPCTL_C_ACTIVE_IN_MAY = 0, 595*fa392191SPaweł Jarosz UPCTL_C_ACTIVE_IN_WILL, 596*fa392191SPaweł Jarosz }; 597*fa392191SPaweł Jarosz 598*fa392191SPaweł Jarosz /* GRF_DDRC_CON0 */ 599*fa392191SPaweł Jarosz enum { 600*fa392191SPaweł Jarosz DTO_LB_SHIFT = 11, 601*fa392191SPaweł Jarosz DTO_LB_MASK = 3 << DTO_LB_SHIFT, 602*fa392191SPaweł Jarosz 603*fa392191SPaweł Jarosz DTO_TE_SHIFT = 9, 604*fa392191SPaweł Jarosz DTO_TE_MASK = 3 << DTO_TE_SHIFT, 605*fa392191SPaweł Jarosz 606*fa392191SPaweł Jarosz DTO_PDR_SHIFT = 7, 607*fa392191SPaweł Jarosz DTO_PDR_MASK = 3 << DTO_PDR_SHIFT, 608*fa392191SPaweł Jarosz 609*fa392191SPaweł Jarosz DTO_PDD_SHIFT = 5, 610*fa392191SPaweł Jarosz DTO_PDD_MASK = 3 << DTO_PDD_SHIFT, 611*fa392191SPaweł Jarosz 612*fa392191SPaweł Jarosz DTO_IOM_SHIFT = 3, 613*fa392191SPaweł Jarosz DTO_IOM_MASK = 3 << DTO_IOM_SHIFT, 614*fa392191SPaweł Jarosz 615*fa392191SPaweł Jarosz DTO_OE_SHIFT = 1, 616*fa392191SPaweł Jarosz DTO_OE_MASK = 3 << DTO_OE_SHIFT, 617*fa392191SPaweł Jarosz 618*fa392191SPaweł Jarosz ATO_AE_SHIFT = 0, 619*fa392191SPaweł Jarosz ATO_AE_MASK = 1 << ATO_AE_SHIFT, 620*fa392191SPaweł Jarosz }; 621*fa392191SPaweł Jarosz #endif 622