110e73f7bSKever Yang /* 210e73f7bSKever Yang * (C) Copyright 2017 Rockchip Electronics Co., Ltd. 310e73f7bSKever Yang * 410e73f7bSKever Yang * SPDX-License-Identifier: GPL-2.0+ 510e73f7bSKever Yang */ 610e73f7bSKever Yang #ifndef _ASM_ARCH_GRF_px30_H 710e73f7bSKever Yang #define _ASM_ARCH_GRF_px30_H 810e73f7bSKever Yang 910e73f7bSKever Yang #include <common.h> 1010e73f7bSKever Yang 1110e73f7bSKever Yang struct px30_grf { 1210e73f7bSKever Yang unsigned int gpio1al_iomux; 1310e73f7bSKever Yang unsigned int gpio1ah_iomux; 1410e73f7bSKever Yang unsigned int gpio1bl_iomux; 1510e73f7bSKever Yang unsigned int gpio1bh_iomux; 1610e73f7bSKever Yang unsigned int gpio1cl_iomux; 1710e73f7bSKever Yang unsigned int gpio1ch_iomux; 1810e73f7bSKever Yang unsigned int gpio1dl_iomux; 1910e73f7bSKever Yang unsigned int gpio1dh_iomux; 2010e73f7bSKever Yang 2110e73f7bSKever Yang unsigned int gpio2al_iomux; 2210e73f7bSKever Yang unsigned int gpio2ah_iomux; 2310e73f7bSKever Yang unsigned int gpio2bl_iomux; 2410e73f7bSKever Yang unsigned int gpio2bh_iomux; 2510e73f7bSKever Yang unsigned int gpio2cl_iomux; 2610e73f7bSKever Yang unsigned int gpio2ch_iomux; 2710e73f7bSKever Yang unsigned int gpio2dl_iomux; 2810e73f7bSKever Yang unsigned int gpio2dh_iomux; 2910e73f7bSKever Yang 3010e73f7bSKever Yang unsigned int gpio3al_iomux; 3110e73f7bSKever Yang unsigned int gpio3ah_iomux; 3210e73f7bSKever Yang unsigned int gpio3bl_iomux; 3310e73f7bSKever Yang unsigned int gpio3bh_iomux; 3410e73f7bSKever Yang unsigned int gpio3cl_iomux; 3510e73f7bSKever Yang unsigned int gpio3ch_iomux; 3610e73f7bSKever Yang unsigned int gpio3dl_iomux; 3710e73f7bSKever Yang unsigned int gpio3dh_iomux; 3810e73f7bSKever Yang 3910e73f7bSKever Yang unsigned int gpio1a_p; 4010e73f7bSKever Yang unsigned int gpio1b_p; 4110e73f7bSKever Yang unsigned int gpio1c_p; 4210e73f7bSKever Yang unsigned int gpio1d_p; 4310e73f7bSKever Yang unsigned int gpio2a_p; 4410e73f7bSKever Yang unsigned int gpio2b_p; 4510e73f7bSKever Yang unsigned int gpio2c_p; 4610e73f7bSKever Yang unsigned int gpio2d_p; 4710e73f7bSKever Yang unsigned int gpio3a_p; 4810e73f7bSKever Yang unsigned int gpio3b_p; 4910e73f7bSKever Yang unsigned int gpio3c_p; 5010e73f7bSKever Yang unsigned int gpio3d_p; 5110e73f7bSKever Yang unsigned int gpio1a_sr; 5210e73f7bSKever Yang unsigned int gpio1b_sr; 5310e73f7bSKever Yang unsigned int gpio1c_sr; 5410e73f7bSKever Yang unsigned int gpio1d_sr; 5510e73f7bSKever Yang unsigned int gpio2a_sr; 5610e73f7bSKever Yang unsigned int gpio2b_sr; 5710e73f7bSKever Yang unsigned int gpio2c_sr; 5810e73f7bSKever Yang unsigned int gpio2d_sr; 5910e73f7bSKever Yang unsigned int gpio3a_sr; 6010e73f7bSKever Yang unsigned int gpio3b_sr; 6110e73f7bSKever Yang unsigned int gpio3c_sr; 6210e73f7bSKever Yang unsigned int gpio3d_sr; 6310e73f7bSKever Yang unsigned int gpio1a_smt; 6410e73f7bSKever Yang unsigned int gpio1b_smt; 6510e73f7bSKever Yang unsigned int gpio1c_smt; 6610e73f7bSKever Yang unsigned int gpio1d_smt; 6710e73f7bSKever Yang unsigned int gpio2a_smt; 6810e73f7bSKever Yang unsigned int gpio2b_smt; 6910e73f7bSKever Yang unsigned int gpio2c_smt; 7010e73f7bSKever Yang unsigned int gpio2d_smt; 7110e73f7bSKever Yang unsigned int gpio3a_smt; 7210e73f7bSKever Yang unsigned int gpio3b_smt; 7310e73f7bSKever Yang unsigned int gpio3c_smt; 7410e73f7bSKever Yang unsigned int gpio3d_smt; 7510e73f7bSKever Yang unsigned int gpio1a_e; 7610e73f7bSKever Yang unsigned int gpio1b_e; 7710e73f7bSKever Yang unsigned int gpio1c_e; 7810e73f7bSKever Yang unsigned int gpio1d_e; 7910e73f7bSKever Yang unsigned int gpio2a_e; 8010e73f7bSKever Yang unsigned int gpio2b_e; 8110e73f7bSKever Yang unsigned int gpio2c_e; 8210e73f7bSKever Yang unsigned int gpio2d_e; 8310e73f7bSKever Yang unsigned int gpio3a_e; 8410e73f7bSKever Yang unsigned int gpio3b_e; 8510e73f7bSKever Yang unsigned int gpio3c_e; 8610e73f7bSKever Yang unsigned int gpio3d_e; 8710e73f7bSKever Yang 8810e73f7bSKever Yang unsigned int reserved0[(0x180 - 0x11C) / 4 - 1]; 8910e73f7bSKever Yang unsigned int io_vsel; 9010e73f7bSKever Yang unsigned int iofunc_con0; 9110e73f7bSKever Yang unsigned int reserved1[(0x400 - 0x184) / 4 - 1]; 9210e73f7bSKever Yang unsigned int soc_con[6]; 9310e73f7bSKever Yang unsigned int reserved2[(0x480 - 0x414) / 4 - 1]; 9410e73f7bSKever Yang unsigned int soc_status0; 9510e73f7bSKever Yang unsigned int reserved3[(0x500 - 0x480) / 4 - 1]; 9610e73f7bSKever Yang unsigned int cpu_con[3]; 9710e73f7bSKever Yang unsigned int reserved4[5]; 9810e73f7bSKever Yang unsigned int cpu_status[2]; 9910e73f7bSKever Yang unsigned int reserved5[2]; 10010e73f7bSKever Yang unsigned int soc_noc_con[2]; 10110e73f7bSKever Yang unsigned int reserved6[6]; 10210e73f7bSKever Yang unsigned int ddr_bankhash[4]; 10310e73f7bSKever Yang unsigned int reserved7[(0x700 - 0x55c) / 4 - 1]; 10410e73f7bSKever Yang unsigned int host0_con[2]; 10510e73f7bSKever Yang unsigned int reserved8[(0x880 - 0x704) / 4 - 1]; 10610e73f7bSKever Yang unsigned int otg_con3; 10710e73f7bSKever Yang unsigned int reserved9[3]; 10810e73f7bSKever Yang unsigned int host0_status4; 10910e73f7bSKever Yang unsigned int reserved10[(0x904 - 0x890) / 4 - 1]; 11010e73f7bSKever Yang unsigned int mac_con1; 11110e73f7bSKever Yang }; 11210e73f7bSKever Yang 11310e73f7bSKever Yang check_member(px30_grf, mac_con1, 0x904); 11410e73f7bSKever Yang 11510e73f7bSKever Yang struct px30_pmugrf { 116*6ba52d9fSJoseph Chen unsigned int gpio0a_iomux; 117*6ba52d9fSJoseph Chen unsigned int gpio0b_iomux; 118*6ba52d9fSJoseph Chen unsigned int gpio0c_iomux; 119*6ba52d9fSJoseph Chen unsigned int reserved0[1]; 12010e73f7bSKever Yang unsigned int gpio0a_p; 12110e73f7bSKever Yang unsigned int gpio0b_p; 12210e73f7bSKever Yang unsigned int gpio0c_p; 123*6ba52d9fSJoseph Chen unsigned int reserved1[1]; 124*6ba52d9fSJoseph Chen unsigned int gpio0a_e; 125*6ba52d9fSJoseph Chen unsigned int gpio0b_e; 126*6ba52d9fSJoseph Chen unsigned int gpio0c_e; 127*6ba52d9fSJoseph Chen unsigned int reserved2[1]; 12810e73f7bSKever Yang unsigned int gpio0l_sr; 12910e73f7bSKever Yang unsigned int gpio0h_sr; 13010e73f7bSKever Yang unsigned int gpio0l_smt; 13110e73f7bSKever Yang unsigned int gpio0h_smt; 132*6ba52d9fSJoseph Chen unsigned int reserved3[(0x100 - 0x3c) / 4 - 1]; 133*6ba52d9fSJoseph Chen unsigned int soc_con[3]; 134*6ba52d9fSJoseph Chen unsigned int failsafe_con; 135*6ba52d9fSJoseph Chen unsigned int reserved4[(0x180 - 0x10c) / 4 - 1]; 13610e73f7bSKever Yang unsigned int pvtm_con[2]; 137*6ba52d9fSJoseph Chen unsigned int reserved5[2]; 13810e73f7bSKever Yang unsigned int pvtm_status[2]; 139*6ba52d9fSJoseph Chen unsigned int reserved6[(0x200 - 0x194) / 4 - 1]; 14010e73f7bSKever Yang unsigned int os_reg[12]; 14110e73f7bSKever Yang unsigned int reset_function_status; 14210e73f7bSKever Yang }; 14310e73f7bSKever Yang 14410e73f7bSKever Yang check_member(px30_pmugrf, reset_function_status, 0x230); 14510e73f7bSKever Yang 14610e73f7bSKever Yang #endif 147