xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-rockchip/grf_px30.h (revision 1a4f6af8bfd44c8ae6e87a81ff125eed47042cc5)
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