1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * (C) Copyright 2019 Rockchip Electronics Co., Ltd. 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun #ifndef _ASM_ARCH_GRF_RV1126_H 7*4882a593Smuzhiyun #define _ASM_ARCH_GRF_RV1126_H 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #include <common.h> 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun struct rv1126_grf { 12*4882a593Smuzhiyun unsigned int soc_con0; 13*4882a593Smuzhiyun unsigned int soc_con1; 14*4882a593Smuzhiyun unsigned int soc_con2; 15*4882a593Smuzhiyun unsigned int reserved0[1]; 16*4882a593Smuzhiyun unsigned int soc_status0; 17*4882a593Smuzhiyun unsigned int soc_status1; 18*4882a593Smuzhiyun unsigned int reserved1[2]; 19*4882a593Smuzhiyun unsigned int cpu_con0; 20*4882a593Smuzhiyun unsigned int cpu_con1; 21*4882a593Smuzhiyun unsigned int reserved2[2]; 22*4882a593Smuzhiyun unsigned int cpu_status0; 23*4882a593Smuzhiyun unsigned int reserved3[3]; 24*4882a593Smuzhiyun unsigned int noc_con0; 25*4882a593Smuzhiyun unsigned int noc_con1; 26*4882a593Smuzhiyun unsigned int noc_con2; 27*4882a593Smuzhiyun unsigned int noc_con3; 28*4882a593Smuzhiyun unsigned int usbhost_con0; 29*4882a593Smuzhiyun unsigned int usbhost_con1; 30*4882a593Smuzhiyun unsigned int usbhost_status0; 31*4882a593Smuzhiyun unsigned int usbotg_con0; 32*4882a593Smuzhiyun unsigned int usbotg_con1; 33*4882a593Smuzhiyun unsigned int usbotg_status0; 34*4882a593Smuzhiyun unsigned int usbotg_status1; 35*4882a593Smuzhiyun unsigned int usbotg_status2; 36*4882a593Smuzhiyun unsigned int mac_con0; 37*4882a593Smuzhiyun unsigned int mac_con1; 38*4882a593Smuzhiyun unsigned int mac_con2; 39*4882a593Smuzhiyun unsigned int reserved4[2]; 40*4882a593Smuzhiyun unsigned int mac_status0; 41*4882a593Smuzhiyun unsigned int mac_status1; 42*4882a593Smuzhiyun unsigned int mac_status2; 43*4882a593Smuzhiyun unsigned int mem_con0; 44*4882a593Smuzhiyun unsigned int mem_con1; 45*4882a593Smuzhiyun unsigned int mem_con2; 46*4882a593Smuzhiyun unsigned int mem_con3; 47*4882a593Smuzhiyun unsigned int reserved5[(0x100 - 0x09c) / 4 - 1]; 48*4882a593Smuzhiyun unsigned int tsadc_con0; 49*4882a593Smuzhiyun unsigned int reserved6[3]; 50*4882a593Smuzhiyun unsigned int chip_id; 51*4882a593Smuzhiyun unsigned int reserved7[(0x10000 - 0x110) / 4 - 1]; 52*4882a593Smuzhiyun unsigned int gpio0c_iomux_h; 53*4882a593Smuzhiyun unsigned int gpio0d_iomux_l; 54*4882a593Smuzhiyun unsigned int gpio0d_iomux_h; 55*4882a593Smuzhiyun unsigned int reserved8[1]; 56*4882a593Smuzhiyun unsigned int gpio1a_iomux_l; 57*4882a593Smuzhiyun unsigned int gpio1a_iomux_h; 58*4882a593Smuzhiyun unsigned int gpio1b_iomux_l; 59*4882a593Smuzhiyun unsigned int gpio1b_iomux_h; 60*4882a593Smuzhiyun unsigned int gpio1c_iomux_l; 61*4882a593Smuzhiyun unsigned int gpio1c_iomux_h; 62*4882a593Smuzhiyun unsigned int gpio1d_iomux_l; 63*4882a593Smuzhiyun unsigned int gpio1d_iomux_h; 64*4882a593Smuzhiyun unsigned int gpio2a_iomux_l; 65*4882a593Smuzhiyun unsigned int gpio2a_iomux_h; 66*4882a593Smuzhiyun unsigned int gpio2b_iomux_l; 67*4882a593Smuzhiyun unsigned int gpio2b_iomux_h; 68*4882a593Smuzhiyun unsigned int gpio2c_iomux_l; 69*4882a593Smuzhiyun unsigned int gpio2c_iomux_h; 70*4882a593Smuzhiyun unsigned int gpio2d_iomux_l; 71*4882a593Smuzhiyun unsigned int gpio2d_iomux_h; 72*4882a593Smuzhiyun unsigned int gpio3a_iomux_l; 73*4882a593Smuzhiyun unsigned int gpio3a_iomux_h; 74*4882a593Smuzhiyun unsigned int gpio3b_iomux_l; 75*4882a593Smuzhiyun unsigned int gpio3b_iomux_h; 76*4882a593Smuzhiyun unsigned int gpio3c_iomux_l; 77*4882a593Smuzhiyun unsigned int gpio3c_iomux_h; 78*4882a593Smuzhiyun unsigned int gpio3d_iomux_l; 79*4882a593Smuzhiyun unsigned int gpio3d_iomux_h; 80*4882a593Smuzhiyun unsigned int gpio4a_iomux_l; 81*4882a593Smuzhiyun unsigned int reserved9[3]; 82*4882a593Smuzhiyun unsigned int gpio0c_ds_h; 83*4882a593Smuzhiyun unsigned int gpio0d_ds_l; 84*4882a593Smuzhiyun unsigned int gpio0d_ds_h; 85*4882a593Smuzhiyun unsigned int reserved10[1]; 86*4882a593Smuzhiyun unsigned int gpio1a_ds_l; 87*4882a593Smuzhiyun unsigned int gpio1a_ds_h; 88*4882a593Smuzhiyun unsigned int gpio1b_ds_l; 89*4882a593Smuzhiyun unsigned int gpio1b_ds_h; 90*4882a593Smuzhiyun unsigned int gpio1c_ds_l; 91*4882a593Smuzhiyun unsigned int gpio1c_ds_h; 92*4882a593Smuzhiyun unsigned int gpio1d_ds_l; 93*4882a593Smuzhiyun unsigned int gpio1d_ds_h; 94*4882a593Smuzhiyun unsigned int gpio2a_ds_l; 95*4882a593Smuzhiyun unsigned int gpio2a_ds_h; 96*4882a593Smuzhiyun unsigned int gpio2b_ds_l; 97*4882a593Smuzhiyun unsigned int gpio2b_ds_h; 98*4882a593Smuzhiyun unsigned int gpio2c_ds_l; 99*4882a593Smuzhiyun unsigned int gpio2c_ds_h; 100*4882a593Smuzhiyun unsigned int gpio2d_ds_l; 101*4882a593Smuzhiyun unsigned int gpio2d_ds_h; 102*4882a593Smuzhiyun unsigned int gpio3a_ds_l; 103*4882a593Smuzhiyun unsigned int gpio3a_ds_h; 104*4882a593Smuzhiyun unsigned int gpio3b_ds_l; 105*4882a593Smuzhiyun unsigned int gpio3b_ds_h; 106*4882a593Smuzhiyun unsigned int gpio3c_ds_l; 107*4882a593Smuzhiyun unsigned int gpio3c_ds_h; 108*4882a593Smuzhiyun unsigned int gpio3d_ds_l; 109*4882a593Smuzhiyun unsigned int gpio3d_ds_h; 110*4882a593Smuzhiyun unsigned int gpio4a_ds_l; 111*4882a593Smuzhiyun unsigned int reserved12[3]; 112*4882a593Smuzhiyun unsigned int gpio0c_p_h; 113*4882a593Smuzhiyun unsigned int gpio0d_p; 114*4882a593Smuzhiyun unsigned int gpio1a_p; 115*4882a593Smuzhiyun unsigned int gpio1b_p; 116*4882a593Smuzhiyun unsigned int gpio1c_p; 117*4882a593Smuzhiyun unsigned int gpio1d_p; 118*4882a593Smuzhiyun unsigned int gpio2a_p; 119*4882a593Smuzhiyun unsigned int gpio2b_p; 120*4882a593Smuzhiyun unsigned int gpio2c_p; 121*4882a593Smuzhiyun unsigned int gpio2d_p; 122*4882a593Smuzhiyun unsigned int gpio3a_p; 123*4882a593Smuzhiyun unsigned int gpio3b_p; 124*4882a593Smuzhiyun unsigned int gpio3c_p; 125*4882a593Smuzhiyun unsigned int gpio3d_p; 126*4882a593Smuzhiyun unsigned int gpio4a_p; 127*4882a593Smuzhiyun unsigned int reserved13[1]; 128*4882a593Smuzhiyun unsigned int gpio0c_ie_h; 129*4882a593Smuzhiyun unsigned int gpio0d_ie; 130*4882a593Smuzhiyun unsigned int gpio1a_ie; 131*4882a593Smuzhiyun unsigned int gpio1b_ie; 132*4882a593Smuzhiyun unsigned int gpio1c_ie; 133*4882a593Smuzhiyun unsigned int gpio1d_ie; 134*4882a593Smuzhiyun unsigned int gpio2a_ie; 135*4882a593Smuzhiyun unsigned int gpio2b_ie; 136*4882a593Smuzhiyun unsigned int gpio2c_ie; 137*4882a593Smuzhiyun unsigned int gpio2d_ie; 138*4882a593Smuzhiyun unsigned int gpio3a_ie; 139*4882a593Smuzhiyun unsigned int gpio3b_ie; 140*4882a593Smuzhiyun unsigned int gpio3c_ie; 141*4882a593Smuzhiyun unsigned int gpio3d_ie; 142*4882a593Smuzhiyun unsigned int gpio4a_ie; 143*4882a593Smuzhiyun unsigned int reserved14[1]; 144*4882a593Smuzhiyun unsigned int gpio0c_smt_h; 145*4882a593Smuzhiyun unsigned int gpio0d_smt; 146*4882a593Smuzhiyun unsigned int gpio1a_smt; 147*4882a593Smuzhiyun unsigned int gpio1b_smt; 148*4882a593Smuzhiyun unsigned int gpio1c_smt; 149*4882a593Smuzhiyun unsigned int gpio1d_smt; 150*4882a593Smuzhiyun unsigned int gpio2a_smt; 151*4882a593Smuzhiyun unsigned int gpio2b_smt; 152*4882a593Smuzhiyun unsigned int gpio2c_smt; 153*4882a593Smuzhiyun unsigned int gpio2d_smt; 154*4882a593Smuzhiyun unsigned int gpio3a_smt; 155*4882a593Smuzhiyun unsigned int gpio3b_smt; 156*4882a593Smuzhiyun unsigned int gpio3c_smt; 157*4882a593Smuzhiyun unsigned int gpio3d_smt; 158*4882a593Smuzhiyun unsigned int gpio4a_smt; 159*4882a593Smuzhiyun unsigned int reserved15[(0x10200 - 0x101b8) / 4 - 1]; 160*4882a593Smuzhiyun unsigned int csiphy0_con; 161*4882a593Smuzhiyun unsigned int reserved16[1]; 162*4882a593Smuzhiyun unsigned int csiphy0_status; 163*4882a593Smuzhiyun unsigned int reserved17[1]; 164*4882a593Smuzhiyun unsigned int csiphy1_con; 165*4882a593Smuzhiyun unsigned int reserved18[1]; 166*4882a593Smuzhiyun unsigned int csiphy1_status; 167*4882a593Smuzhiyun unsigned int reserved19[1]; 168*4882a593Smuzhiyun unsigned int dsiphy_con; 169*4882a593Smuzhiyun unsigned int reserved20[3]; 170*4882a593Smuzhiyun unsigned int usbphy_con0; 171*4882a593Smuzhiyun unsigned int usbphy_con1; 172*4882a593Smuzhiyun unsigned int usbphy_con2; 173*4882a593Smuzhiyun unsigned int reserved21[3]; 174*4882a593Smuzhiyun unsigned int usbphy_status; 175*4882a593Smuzhiyun unsigned int reserved22[1]; 176*4882a593Smuzhiyun unsigned int cifio_con; 177*4882a593Smuzhiyun unsigned int sddetflt_con; 178*4882a593Smuzhiyun unsigned int uart2rx_low_con; 179*4882a593Smuzhiyun unsigned int reserved23[1]; 180*4882a593Smuzhiyun unsigned int iofunc_con0; 181*4882a593Smuzhiyun unsigned int iofunc_con1; 182*4882a593Smuzhiyun unsigned int iofunc_con2; 183*4882a593Smuzhiyun unsigned int iofunc_con3; 184*4882a593Smuzhiyun unsigned int usbphy0_cfg_con; 185*4882a593Smuzhiyun unsigned int usbphy0_cfg_addrin; 186*4882a593Smuzhiyun unsigned int usbphy0_cfg_addrout; 187*4882a593Smuzhiyun unsigned int usbphy0_cfg_dly_con; 188*4882a593Smuzhiyun unsigned int usbphy1_cfg_con; 189*4882a593Smuzhiyun unsigned int usbphy1_cfg_addrin; 190*4882a593Smuzhiyun unsigned int usbphy1_cfg_addrout; 191*4882a593Smuzhiyun unsigned int usbphy1_cfg_dly_con; 192*4882a593Smuzhiyun unsigned int reserved24[(0x10300 - 0x1028c) / 4 - 1]; 193*4882a593Smuzhiyun unsigned int usb_sig_detect_con; 194*4882a593Smuzhiyun unsigned int usb_sig_detect_status; 195*4882a593Smuzhiyun unsigned int usb_sig_detect_clr; 196*4882a593Smuzhiyun unsigned int reserved25[1]; 197*4882a593Smuzhiyun unsigned int usb_linestate_con; 198*4882a593Smuzhiyun unsigned int usb_disconnect_con; 199*4882a593Smuzhiyun unsigned int usb_bvalid_con; 200*4882a593Smuzhiyun unsigned int usb_id_con; 201*4882a593Smuzhiyun }; 202*4882a593Smuzhiyun 203*4882a593Smuzhiyun check_member(rv1126_grf, usb_id_con, 0x1031c); 204*4882a593Smuzhiyun 205*4882a593Smuzhiyun struct rv1126_pmugrf { 206*4882a593Smuzhiyun unsigned int gpio0a_iomux_l; 207*4882a593Smuzhiyun unsigned int gpio0a_iomux_h; 208*4882a593Smuzhiyun unsigned int gpio0b_iomux_l; 209*4882a593Smuzhiyun unsigned int gpio0b_iomux_h; 210*4882a593Smuzhiyun unsigned int gpio0c_iomux_l; 211*4882a593Smuzhiyun unsigned int reserved0[3]; 212*4882a593Smuzhiyun unsigned int gpio0a_ds_l; 213*4882a593Smuzhiyun unsigned int gpio0a_ds_h; 214*4882a593Smuzhiyun unsigned int gpio0b_ds_l; 215*4882a593Smuzhiyun unsigned int gpio0b_ds_h; 216*4882a593Smuzhiyun unsigned int gpio0c_ds_l; 217*4882a593Smuzhiyun unsigned int osc_ds; 218*4882a593Smuzhiyun unsigned int reserved1[2]; 219*4882a593Smuzhiyun unsigned int gpio0a_p; 220*4882a593Smuzhiyun unsigned int gpio0b_p; 221*4882a593Smuzhiyun unsigned int gpio0c_p_l; 222*4882a593Smuzhiyun unsigned int reserved2[1]; 223*4882a593Smuzhiyun unsigned int gpio0a_ie; 224*4882a593Smuzhiyun unsigned int gpio0b_ie; 225*4882a593Smuzhiyun unsigned int gpio0c_ie_l; 226*4882a593Smuzhiyun unsigned int reserved3[1]; 227*4882a593Smuzhiyun unsigned int gpio0a_smt; 228*4882a593Smuzhiyun unsigned int gpio0b_smt; 229*4882a593Smuzhiyun unsigned int gpio0c_smt_l; 230*4882a593Smuzhiyun unsigned int reserved4[(0x100 - 0x68) / 4 - 1]; 231*4882a593Smuzhiyun unsigned int soc_con[7]; 232*4882a593Smuzhiyun unsigned int reserved5[(0x140 - 0x118) / 4 - 1]; 233*4882a593Smuzhiyun unsigned int io_vsel; 234*4882a593Smuzhiyun unsigned int io_vret; 235*4882a593Smuzhiyun unsigned int reserved6[(0x180 - 0x144) / 4 - 1]; 236*4882a593Smuzhiyun unsigned int pmupvtm_clkdiv; 237*4882a593Smuzhiyun unsigned int reserved7[(0x200 - 0x180) / 4 - 1]; 238*4882a593Smuzhiyun unsigned int os_reg[12]; 239*4882a593Smuzhiyun unsigned int rstfunc_status; 240*4882a593Smuzhiyun unsigned int rstfunc_clr; 241*4882a593Smuzhiyun unsigned int reserved8[(0x380 - 0x234) / 4 - 1]; 242*4882a593Smuzhiyun unsigned int sd_detect_con; 243*4882a593Smuzhiyun unsigned int reserved9[3]; 244*4882a593Smuzhiyun unsigned int sd_detect_status; 245*4882a593Smuzhiyun unsigned int reserved10[3]; 246*4882a593Smuzhiyun unsigned int sd_detect_clr; 247*4882a593Smuzhiyun unsigned int reserved11[3]; 248*4882a593Smuzhiyun unsigned int sd_det_count; 249*4882a593Smuzhiyun }; 250*4882a593Smuzhiyun 251*4882a593Smuzhiyun check_member(rv1126_pmugrf, sd_det_count, 0x3b0); 252*4882a593Smuzhiyun 253*4882a593Smuzhiyun #endif 254