xref: /OK3568_Linux_fs/u-boot/arch/arm/include/asm/arch-rockchip/grf_rk3568.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * (C) Copyright 2020 Rockchip Electronics Co., Ltd.
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * SPDX-License-Identifier:     GPL-2.0+
5*4882a593Smuzhiyun  */
6*4882a593Smuzhiyun #ifndef _ASM_ARCH_GRF_RK3568_H
7*4882a593Smuzhiyun #define _ASM_ARCH_GRF_RK3568_H
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun #include <common.h>
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun struct rk3568_grf {
12*4882a593Smuzhiyun 	unsigned int gpio1a_iomux_l;
13*4882a593Smuzhiyun 	unsigned int gpio1a_iomux_h;
14*4882a593Smuzhiyun 	unsigned int gpio1b_iomux_l;
15*4882a593Smuzhiyun 	unsigned int gpio1b_iomux_h;
16*4882a593Smuzhiyun 	unsigned int gpio1c_iomux_l;
17*4882a593Smuzhiyun 	unsigned int gpio1c_iomux_h;
18*4882a593Smuzhiyun 	unsigned int gpio1d_iomux_l;
19*4882a593Smuzhiyun 	unsigned int gpio1d_iomux_h;
20*4882a593Smuzhiyun 	unsigned int gpio2a_iomux_l;
21*4882a593Smuzhiyun 	unsigned int gpio2a_iomux_h;
22*4882a593Smuzhiyun 	unsigned int gpio2b_iomux_l;
23*4882a593Smuzhiyun 	unsigned int gpio2b_iomux_h;
24*4882a593Smuzhiyun 	unsigned int gpio2c_iomux_l;
25*4882a593Smuzhiyun 	unsigned int gpio2c_iomux_h;
26*4882a593Smuzhiyun 	unsigned int gpio2d_iomux_l;
27*4882a593Smuzhiyun 	unsigned int gpio2d_iomux_h;
28*4882a593Smuzhiyun 	unsigned int gpio3a_iomux_l;
29*4882a593Smuzhiyun 	unsigned int gpio3a_iomux_h;
30*4882a593Smuzhiyun 	unsigned int gpio3b_iomux_l;
31*4882a593Smuzhiyun 	unsigned int gpio3b_iomux_h;
32*4882a593Smuzhiyun 	unsigned int gpio3c_iomux_l;
33*4882a593Smuzhiyun 	unsigned int gpio3c_iomux_h;
34*4882a593Smuzhiyun 	unsigned int gpio3d_iomux_l;
35*4882a593Smuzhiyun 	unsigned int gpio3d_iomux_h;
36*4882a593Smuzhiyun 	unsigned int gpio4a_iomux_l;
37*4882a593Smuzhiyun 	unsigned int gpio4a_iomux_h;
38*4882a593Smuzhiyun 	unsigned int gpio4b_iomux_l;
39*4882a593Smuzhiyun 	unsigned int gpio4b_iomux_h;
40*4882a593Smuzhiyun 	unsigned int gpio4c_iomux_l;
41*4882a593Smuzhiyun 	unsigned int gpio4c_iomux_h;
42*4882a593Smuzhiyun 	unsigned int gpio4d_iomux_l;
43*4882a593Smuzhiyun 	unsigned int reserved0[(0x0080 - 0x0078) / 4 - 1];
44*4882a593Smuzhiyun 	unsigned int gpio1a_p;
45*4882a593Smuzhiyun 	unsigned int gpio1b_p;
46*4882a593Smuzhiyun 	unsigned int gpio1c_p;
47*4882a593Smuzhiyun 	unsigned int gpio1d_p;
48*4882a593Smuzhiyun 	unsigned int gpio2a_p;
49*4882a593Smuzhiyun 	unsigned int gpio2b_p;
50*4882a593Smuzhiyun 	unsigned int gpio2c_p;
51*4882a593Smuzhiyun 	unsigned int gpio2d_p;
52*4882a593Smuzhiyun 	unsigned int gpio3a_p;
53*4882a593Smuzhiyun 	unsigned int gpio3b_p;
54*4882a593Smuzhiyun 	unsigned int gpio3c_p;
55*4882a593Smuzhiyun 	unsigned int gpio3d_p;
56*4882a593Smuzhiyun 	unsigned int gpio4a_p;
57*4882a593Smuzhiyun 	unsigned int gpio4b_p;
58*4882a593Smuzhiyun 	unsigned int gpio4c_p;
59*4882a593Smuzhiyun 	unsigned int gpio4d_p;
60*4882a593Smuzhiyun 	unsigned int gpio1a_ie;
61*4882a593Smuzhiyun 	unsigned int gpio1b_ie;
62*4882a593Smuzhiyun 	unsigned int gpio1c_ie;
63*4882a593Smuzhiyun 	unsigned int gpio1d_ie;
64*4882a593Smuzhiyun 	unsigned int gpio2a_ie;
65*4882a593Smuzhiyun 	unsigned int gpio2b_ie;
66*4882a593Smuzhiyun 	unsigned int gpio2c_ie;
67*4882a593Smuzhiyun 	unsigned int gpio2d_ie;
68*4882a593Smuzhiyun 	unsigned int gpio3a_ie;
69*4882a593Smuzhiyun 	unsigned int gpio3b_ie;
70*4882a593Smuzhiyun 	unsigned int gpio3c_ie;
71*4882a593Smuzhiyun 	unsigned int gpio3d_ie;
72*4882a593Smuzhiyun 	unsigned int gpio4a_ie;
73*4882a593Smuzhiyun 	unsigned int gpio4b_ie;
74*4882a593Smuzhiyun 	unsigned int gpio4c_ie;
75*4882a593Smuzhiyun 	unsigned int gpio4d_ie;
76*4882a593Smuzhiyun 	unsigned int gpio1a_opd;
77*4882a593Smuzhiyun 	unsigned int gpio1b_opd;
78*4882a593Smuzhiyun 	unsigned int gpio1c_opd;
79*4882a593Smuzhiyun 	unsigned int gpio1d_opd;
80*4882a593Smuzhiyun 	unsigned int gpio2a_opd;
81*4882a593Smuzhiyun 	unsigned int gpio2b_opd;
82*4882a593Smuzhiyun 	unsigned int gpio2c_opd;
83*4882a593Smuzhiyun 	unsigned int gpio2d_opd;
84*4882a593Smuzhiyun 	unsigned int gpio3a_opd;
85*4882a593Smuzhiyun 	unsigned int gpio3b_opd;
86*4882a593Smuzhiyun 	unsigned int gpio3c_opd;
87*4882a593Smuzhiyun 	unsigned int gpio3d_opd;
88*4882a593Smuzhiyun 	unsigned int gpio4a_opd;
89*4882a593Smuzhiyun 	unsigned int gpio4b_opd;
90*4882a593Smuzhiyun 	unsigned int gpio4c_opd;
91*4882a593Smuzhiyun 	unsigned int gpio4d_opd;
92*4882a593Smuzhiyun 	unsigned int gpio1a_sus;
93*4882a593Smuzhiyun 	unsigned int gpio1b_sus;
94*4882a593Smuzhiyun 	unsigned int gpio1c_sus;
95*4882a593Smuzhiyun 	unsigned int gpio1d_sus;
96*4882a593Smuzhiyun 	unsigned int gpio2a_sus;
97*4882a593Smuzhiyun 	unsigned int gpio2b_sus;
98*4882a593Smuzhiyun 	unsigned int gpio2c_sus;
99*4882a593Smuzhiyun 	unsigned int gpio2d_sus;
100*4882a593Smuzhiyun 	unsigned int gpio3a_sus;
101*4882a593Smuzhiyun 	unsigned int gpio3b_sus;
102*4882a593Smuzhiyun 	unsigned int gpio3c_sus;
103*4882a593Smuzhiyun 	unsigned int gpio3d_sus;
104*4882a593Smuzhiyun 	unsigned int gpio4a_sus;
105*4882a593Smuzhiyun 	unsigned int gpio4b_sus;
106*4882a593Smuzhiyun 	unsigned int gpio4c_sus;
107*4882a593Smuzhiyun 	unsigned int gpio4d_sus;
108*4882a593Smuzhiyun 	unsigned int gpio1a_sl;
109*4882a593Smuzhiyun 	unsigned int gpio1b_sl;
110*4882a593Smuzhiyun 	unsigned int gpio1c_sl;
111*4882a593Smuzhiyun 	unsigned int gpio1d_sl;
112*4882a593Smuzhiyun 	unsigned int gpio2a_sl;
113*4882a593Smuzhiyun 	unsigned int gpio2b_sl;
114*4882a593Smuzhiyun 	unsigned int gpio2c_sl;
115*4882a593Smuzhiyun 	unsigned int gpio2d_sl;
116*4882a593Smuzhiyun 	unsigned int gpio3a_sl;
117*4882a593Smuzhiyun 	unsigned int gpio3b_sl;
118*4882a593Smuzhiyun 	unsigned int gpio3c_sl;
119*4882a593Smuzhiyun 	unsigned int gpio3d_sl;
120*4882a593Smuzhiyun 	unsigned int gpio4a_sl;
121*4882a593Smuzhiyun 	unsigned int gpio4b_sl;
122*4882a593Smuzhiyun 	unsigned int gpio4c_sl;
123*4882a593Smuzhiyun 	unsigned int gpio4d_sl;
124*4882a593Smuzhiyun 	unsigned int reserved1[(0x0200 - 0x01bc) / 4 - 1];
125*4882a593Smuzhiyun 	unsigned int gpio1a_ds_0;
126*4882a593Smuzhiyun 	unsigned int gpio1a_ds_1;
127*4882a593Smuzhiyun 	unsigned int gpio1a_ds_2;
128*4882a593Smuzhiyun 	unsigned int gpio1a_ds_3;
129*4882a593Smuzhiyun 	unsigned int gpio1b_ds_0;
130*4882a593Smuzhiyun 	unsigned int gpio1b_ds_1;
131*4882a593Smuzhiyun 	unsigned int gpio1b_ds_2;
132*4882a593Smuzhiyun 	unsigned int gpio1b_ds_3;
133*4882a593Smuzhiyun 	unsigned int gpio1c_ds_0;
134*4882a593Smuzhiyun 	unsigned int gpio1c_ds_1;
135*4882a593Smuzhiyun 	unsigned int gpio1c_ds_2;
136*4882a593Smuzhiyun 	unsigned int gpio1c_ds_3;
137*4882a593Smuzhiyun 	unsigned int gpio1d_ds_0;
138*4882a593Smuzhiyun 	unsigned int gpio1d_ds_1;
139*4882a593Smuzhiyun 	unsigned int gpio1d_ds_2;
140*4882a593Smuzhiyun 	unsigned int gpio1d_ds_3;
141*4882a593Smuzhiyun 	unsigned int gpio2a_ds_0;
142*4882a593Smuzhiyun 	unsigned int gpio2a_ds_1;
143*4882a593Smuzhiyun 	unsigned int gpio2a_ds_2;
144*4882a593Smuzhiyun 	unsigned int gpio2a_ds_3;
145*4882a593Smuzhiyun 	unsigned int gpio2b_ds_0;
146*4882a593Smuzhiyun 	unsigned int gpio2b_ds_1;
147*4882a593Smuzhiyun 	unsigned int gpio2b_ds_2;
148*4882a593Smuzhiyun 	unsigned int gpio2b_ds_3;
149*4882a593Smuzhiyun 	unsigned int gpio2c_ds_0;
150*4882a593Smuzhiyun 	unsigned int gpio2c_ds_1;
151*4882a593Smuzhiyun 	unsigned int gpio2c_ds_2;
152*4882a593Smuzhiyun 	unsigned int gpio2c_ds_3;
153*4882a593Smuzhiyun 	unsigned int gpio2d_ds_0;
154*4882a593Smuzhiyun 	unsigned int gpio2d_ds_1;
155*4882a593Smuzhiyun 	unsigned int gpio2d_ds_2;
156*4882a593Smuzhiyun 	unsigned int gpio2d_ds_3;
157*4882a593Smuzhiyun 	unsigned int gpio3a_ds_0;
158*4882a593Smuzhiyun 	unsigned int gpio3a_ds_1;
159*4882a593Smuzhiyun 	unsigned int gpio3a_ds_2;
160*4882a593Smuzhiyun 	unsigned int gpio3a_ds_3;
161*4882a593Smuzhiyun 	unsigned int gpio3b_ds_0;
162*4882a593Smuzhiyun 	unsigned int gpio3b_ds_1;
163*4882a593Smuzhiyun 	unsigned int gpio3b_ds_2;
164*4882a593Smuzhiyun 	unsigned int gpio3b_ds_3;
165*4882a593Smuzhiyun 	unsigned int gpio3c_ds_0;
166*4882a593Smuzhiyun 	unsigned int gpio3c_ds_1;
167*4882a593Smuzhiyun 	unsigned int gpio3c_ds_2;
168*4882a593Smuzhiyun 	unsigned int gpio3c_ds_3;
169*4882a593Smuzhiyun 	unsigned int gpio3d_ds_0;
170*4882a593Smuzhiyun 	unsigned int gpio3d_ds_1;
171*4882a593Smuzhiyun 	unsigned int gpio3d_ds_2;
172*4882a593Smuzhiyun 	unsigned int gpio3d_ds_3;
173*4882a593Smuzhiyun 	unsigned int gpio4a_ds_0;
174*4882a593Smuzhiyun 	unsigned int gpio4a_ds_1;
175*4882a593Smuzhiyun 	unsigned int gpio4a_ds_2;
176*4882a593Smuzhiyun 	unsigned int gpio4a_ds_3;
177*4882a593Smuzhiyun 	unsigned int gpio4b_ds_0;
178*4882a593Smuzhiyun 	unsigned int gpio4b_ds_1;
179*4882a593Smuzhiyun 	unsigned int gpio4b_ds_2;
180*4882a593Smuzhiyun 	unsigned int gpio4b_ds_3;
181*4882a593Smuzhiyun 	unsigned int gpio4c_ds_0;
182*4882a593Smuzhiyun 	unsigned int gpio4c_ds_1;
183*4882a593Smuzhiyun 	unsigned int gpio4c_ds_2;
184*4882a593Smuzhiyun 	unsigned int gpio4c_ds_3;
185*4882a593Smuzhiyun 	unsigned int gpio4d_ds_0;
186*4882a593Smuzhiyun 	unsigned int gpio4d_ds_1;
187*4882a593Smuzhiyun 	unsigned int gpio4d_ds_2;
188*4882a593Smuzhiyun 	unsigned int gpio4d_ds_3;
189*4882a593Smuzhiyun 	unsigned int iofunc_sel0;
190*4882a593Smuzhiyun 	unsigned int iofunc_sel1;
191*4882a593Smuzhiyun 	unsigned int iofunc_sel2;
192*4882a593Smuzhiyun 	unsigned int iofunc_sel3;
193*4882a593Smuzhiyun 	unsigned int iofunc_sel4;
194*4882a593Smuzhiyun 	unsigned int iofunc_sel5;
195*4882a593Smuzhiyun 	unsigned int reserved2[(0x0340 - 0x0314) / 4 - 1];
196*4882a593Smuzhiyun 	unsigned int vi_con0;
197*4882a593Smuzhiyun 	unsigned int vi_con1;
198*4882a593Smuzhiyun 	unsigned int vi_status0;
199*4882a593Smuzhiyun 	unsigned int reserved3[(0x0360 - 0x0348) / 4 - 1];
200*4882a593Smuzhiyun 	unsigned int vo_con0;
201*4882a593Smuzhiyun 	unsigned int vo_con1;
202*4882a593Smuzhiyun 	unsigned int vo_con2;
203*4882a593Smuzhiyun 	unsigned int vo_con3;
204*4882a593Smuzhiyun 	unsigned int reserved4[(0x0380 - 0x036c) / 4 - 1];
205*4882a593Smuzhiyun 	unsigned int mac0_con0;
206*4882a593Smuzhiyun 	unsigned int mac0_con1;
207*4882a593Smuzhiyun 	unsigned int mac1_con0;
208*4882a593Smuzhiyun 	unsigned int mac1_con1;
209*4882a593Smuzhiyun 	unsigned int reserved5[(0x03a0 - 0x038c) / 4 - 1];
210*4882a593Smuzhiyun 	unsigned int biu_con0;
211*4882a593Smuzhiyun 	unsigned int biu_con1;
212*4882a593Smuzhiyun 	unsigned int biu_con2;
213*4882a593Smuzhiyun 	unsigned int reserved6[(0x03c0 - 0x03a8) / 4 - 1];
214*4882a593Smuzhiyun 	unsigned int gic_con0;
215*4882a593Smuzhiyun 	unsigned int gic_con1;
216*4882a593Smuzhiyun 	unsigned int gic_con2;
217*4882a593Smuzhiyun 	unsigned int reserved7[(0x03f0 - 0x03c8) / 4 - 1];
218*4882a593Smuzhiyun 	unsigned int gpu_con0;
219*4882a593Smuzhiyun 	unsigned int gpu_con1;
220*4882a593Smuzhiyun 	unsigned int reserved8[(0x0400 - 0x03f4) / 4 - 1];
221*4882a593Smuzhiyun 	unsigned int cpu_con0;
222*4882a593Smuzhiyun 	unsigned int reserved9[(0x0420 - 0x0400) / 4 - 1];
223*4882a593Smuzhiyun 	unsigned int cpu_status0;
224*4882a593Smuzhiyun 	unsigned int reserved10[(0x0500 - 0x0420) / 4 - 1];
225*4882a593Smuzhiyun 	unsigned int soc_con0;
226*4882a593Smuzhiyun 	unsigned int soc_con1;
227*4882a593Smuzhiyun 	unsigned int soc_con2;
228*4882a593Smuzhiyun 	unsigned int soc_con3;
229*4882a593Smuzhiyun 	unsigned int reserved11[(0x0514 - 0x050c) / 4 - 1];
230*4882a593Smuzhiyun 	unsigned int soc_con5;
231*4882a593Smuzhiyun 	unsigned int soc_con6;
232*4882a593Smuzhiyun 	unsigned int reserved12[(0x0580 - 0x0518) / 4 - 1];
233*4882a593Smuzhiyun 	unsigned int soc_status0;
234*4882a593Smuzhiyun 	unsigned int reserved13[(0x05c0 - 0x0580) / 4 - 1];
235*4882a593Smuzhiyun 	unsigned int ram_con;
236*4882a593Smuzhiyun 	unsigned int core_ram_con;
237*4882a593Smuzhiyun 	unsigned int reserved14[(0x0600 - 0x05c4) / 4 - 1];
238*4882a593Smuzhiyun 	unsigned int tsadc_con;
239*4882a593Smuzhiyun 	unsigned int reserved15[(0x0610 - 0x0600) / 4 - 1];
240*4882a593Smuzhiyun 	unsigned int saradc_con;
241*4882a593Smuzhiyun 	unsigned int reserved16[(0x0700 - 0x0610) / 4 - 1];
242*4882a593Smuzhiyun 	unsigned int gpupvtpll_con0;
243*4882a593Smuzhiyun 	unsigned int gpupvtpll_con1;
244*4882a593Smuzhiyun 	unsigned int gpupvtpll_con2;
245*4882a593Smuzhiyun 	unsigned int gpupvtpll_con3;
246*4882a593Smuzhiyun 	unsigned int reserved17[(0x0740 - 0x070c) / 4 - 1];
247*4882a593Smuzhiyun 	unsigned int npupvtpll_con0;
248*4882a593Smuzhiyun 	unsigned int npupvtpll_con1;
249*4882a593Smuzhiyun 	unsigned int npupvtpll_con2;
250*4882a593Smuzhiyun 	unsigned int npupvtpll_con3;
251*4882a593Smuzhiyun 	unsigned int reserved18[(0x0800 - 0x074c) / 4 - 1];
252*4882a593Smuzhiyun 	unsigned int chip_id;
253*4882a593Smuzhiyun 	unsigned int reserved19[(0x0840 - 0x0800) / 4 - 1];
254*4882a593Smuzhiyun 	unsigned int gpio1c5_ds;
255*4882a593Smuzhiyun 	unsigned int gpio2a2_ds;
256*4882a593Smuzhiyun 	unsigned int gpio2b0_ds;
257*4882a593Smuzhiyun 	unsigned int gpio3a0_ds;
258*4882a593Smuzhiyun 	unsigned int gpio3a6_ds;
259*4882a593Smuzhiyun 	unsigned int gpio4a0_ds;
260*4882a593Smuzhiyun 	unsigned int reserved20[(0x0900 - 0x0854) / 4 - 1];
261*4882a593Smuzhiyun 	unsigned int dmac0_con0;
262*4882a593Smuzhiyun 	unsigned int dmac0_con1;
263*4882a593Smuzhiyun 	unsigned int dmac0_con2;
264*4882a593Smuzhiyun 	unsigned int dmac0_con3;
265*4882a593Smuzhiyun 	unsigned int dmac0_con4;
266*4882a593Smuzhiyun 	unsigned int dmac0_con5;
267*4882a593Smuzhiyun 	unsigned int dmac0_con6;
268*4882a593Smuzhiyun 	unsigned int dmac0_con7;
269*4882a593Smuzhiyun 	unsigned int dmac0_con8;
270*4882a593Smuzhiyun 	unsigned int dmac0_con9;
271*4882a593Smuzhiyun 	unsigned int reserved21[(0x0940 - 0x0924) / 4 - 1];
272*4882a593Smuzhiyun 	unsigned int dmac1_con0;
273*4882a593Smuzhiyun 	unsigned int dmac1_con1;
274*4882a593Smuzhiyun 	unsigned int dmac1_con2;
275*4882a593Smuzhiyun 	unsigned int dmac1_con3;
276*4882a593Smuzhiyun 	unsigned int dmac1_con4;
277*4882a593Smuzhiyun 	unsigned int dmac1_con5;
278*4882a593Smuzhiyun 	unsigned int dmac1_con6;
279*4882a593Smuzhiyun 	unsigned int dmac1_con7;
280*4882a593Smuzhiyun 	unsigned int dmac1_con8;
281*4882a593Smuzhiyun 	unsigned int dmac1_con9;
282*4882a593Smuzhiyun };
283*4882a593Smuzhiyun 
284*4882a593Smuzhiyun check_member(rk3568_grf, dmac1_con9, 0x0964);
285*4882a593Smuzhiyun 
286*4882a593Smuzhiyun struct rk3568_pmugrf {
287*4882a593Smuzhiyun 	unsigned int pmu_gpio0a_iomux_l;
288*4882a593Smuzhiyun 	unsigned int pmu_gpio0a_iomux_h;
289*4882a593Smuzhiyun 	unsigned int pmu_gpio0b_iomux_l;
290*4882a593Smuzhiyun 	unsigned int pmu_gpio0b_iomux_h;
291*4882a593Smuzhiyun 	unsigned int pmu_gpio0c_iomux_l;
292*4882a593Smuzhiyun 	unsigned int pmu_gpio0c_iomux_h;
293*4882a593Smuzhiyun 	unsigned int pmu_gpio0d_iomux_l;
294*4882a593Smuzhiyun 	unsigned int reserved0[(0x0020 - 0x0018) / 4 - 1];
295*4882a593Smuzhiyun 	unsigned int pmu_gpio0a_p;
296*4882a593Smuzhiyun 	unsigned int pmu_gpio0b_p;
297*4882a593Smuzhiyun 	unsigned int pmu_gpio0c_p;
298*4882a593Smuzhiyun 	unsigned int pmu_gpio0d_p;
299*4882a593Smuzhiyun 	unsigned int pmu_gpio0a_ie;
300*4882a593Smuzhiyun 	unsigned int pmu_gpio0b_ie;
301*4882a593Smuzhiyun 	unsigned int pmu_gpio0c_ie;
302*4882a593Smuzhiyun 	unsigned int pmu_gpio0d_ie;
303*4882a593Smuzhiyun 	unsigned int pmu_gpio0a_opd;
304*4882a593Smuzhiyun 	unsigned int pmu_gpio0b_opd;
305*4882a593Smuzhiyun 	unsigned int pmu_gpio0c_opd;
306*4882a593Smuzhiyun 	unsigned int pmu_gpio0d_opd;
307*4882a593Smuzhiyun 	unsigned int pmu_gpio0a_sus;
308*4882a593Smuzhiyun 	unsigned int pmu_gpio0b_sus;
309*4882a593Smuzhiyun 	unsigned int pmu_gpio0c_sus;
310*4882a593Smuzhiyun 	unsigned int pmu_gpio0d_sus;
311*4882a593Smuzhiyun 	unsigned int pmu_gpio0a_sl;
312*4882a593Smuzhiyun 	unsigned int pmu_gpio0b_sl;
313*4882a593Smuzhiyun 	unsigned int pmu_gpio0c_sl;
314*4882a593Smuzhiyun 	unsigned int pmu_gpio0d_sl;
315*4882a593Smuzhiyun 	unsigned int pmu_gpio0a_ds_0;
316*4882a593Smuzhiyun 	unsigned int pmu_gpio0a_ds_1;
317*4882a593Smuzhiyun 	unsigned int pmu_gpio0a_ds_2;
318*4882a593Smuzhiyun 	unsigned int pmu_gpio0a_ds_3;
319*4882a593Smuzhiyun 	unsigned int pmu_gpio0b_ds_0;
320*4882a593Smuzhiyun 	unsigned int pmu_gpio0b_ds_1;
321*4882a593Smuzhiyun 	unsigned int pmu_gpio0b_ds_2;
322*4882a593Smuzhiyun 	unsigned int pmu_gpio0b_ds_3;
323*4882a593Smuzhiyun 	unsigned int pmu_gpio0c_ds_0;
324*4882a593Smuzhiyun 	unsigned int pmu_gpio0c_ds_1;
325*4882a593Smuzhiyun 	unsigned int pmu_gpio0c_ds_2;
326*4882a593Smuzhiyun 	unsigned int pmu_gpio0c_ds_3;
327*4882a593Smuzhiyun 	unsigned int pmu_gpio0d_ds_0;
328*4882a593Smuzhiyun 	unsigned int pmu_gpio0d_ds_1;
329*4882a593Smuzhiyun 	unsigned int pmu_gpio0d_ds_2;
330*4882a593Smuzhiyun 	unsigned int pmu_gpio0d_ds_3;
331*4882a593Smuzhiyun 	unsigned int reserved1[(0x0100 - 0x00ac) / 4 - 1];
332*4882a593Smuzhiyun 	unsigned int pmu_soc_con0;
333*4882a593Smuzhiyun 	unsigned int pmu_soc_con1;
334*4882a593Smuzhiyun 	unsigned int pmu_soc_con2;
335*4882a593Smuzhiyun 	unsigned int pmu_soc_con3;
336*4882a593Smuzhiyun 	unsigned int pmu_soc_con4;
337*4882a593Smuzhiyun 	unsigned int pmu_soc_con5;
338*4882a593Smuzhiyun 	unsigned int reserved2[(0x0124 - 0x0114) / 4 - 1];
339*4882a593Smuzhiyun 	unsigned int pmu_io_vsel0;
340*4882a593Smuzhiyun 	unsigned int pmu_io_vsel1;
341*4882a593Smuzhiyun 	unsigned int pmu_io_vsel2;
342*4882a593Smuzhiyun 	unsigned int reserved3[(0x0180 - 0x012c) / 4 - 1];
343*4882a593Smuzhiyun 	unsigned int pmu_dll_con0;
344*4882a593Smuzhiyun 	unsigned int reserved4[(0x0200 - 0x0180) / 4 - 1];
345*4882a593Smuzhiyun 	unsigned int pmu_os_reg0;
346*4882a593Smuzhiyun 	unsigned int pmu_os_reg1;
347*4882a593Smuzhiyun 	unsigned int pmu_os_reg2;
348*4882a593Smuzhiyun 	unsigned int pmu_os_reg3;
349*4882a593Smuzhiyun 	unsigned int pmu_os_reg4;
350*4882a593Smuzhiyun 	unsigned int pmu_os_reg5;
351*4882a593Smuzhiyun 	unsigned int pmu_os_reg6;
352*4882a593Smuzhiyun 	unsigned int pmu_os_reg7;
353*4882a593Smuzhiyun 	unsigned int pmu_os_reg8;
354*4882a593Smuzhiyun 	unsigned int pmu_os_reg9;
355*4882a593Smuzhiyun 	unsigned int pmu_os_reg10;
356*4882a593Smuzhiyun 	unsigned int pmu_os_reg11;
357*4882a593Smuzhiyun 	unsigned int pmu_reset_function_status;
358*4882a593Smuzhiyun 	unsigned int pmu_reset_function_clr;
359*4882a593Smuzhiyun 	unsigned int reserved5[(0x0380 - 0x0234) / 4 - 1];
360*4882a593Smuzhiyun 	unsigned int pmu_sig_detect_con;
361*4882a593Smuzhiyun 	unsigned int reserved6[(0x0390 - 0x0380) / 4 - 1];
362*4882a593Smuzhiyun 	unsigned int pmu_sig_detect_status;
363*4882a593Smuzhiyun 	unsigned int reserved7[(0x03a0 - 0x0390) / 4 - 1];
364*4882a593Smuzhiyun 	unsigned int pmu_sig_detect_status_clear;
365*4882a593Smuzhiyun 	unsigned int reserved8[(0x03b0 - 0x03a0) / 4 - 1];
366*4882a593Smuzhiyun 	unsigned int pmu_sdmmc_det_counter;
367*4882a593Smuzhiyun };
368*4882a593Smuzhiyun 
369*4882a593Smuzhiyun check_member(rk3568_pmugrf, pmu_sdmmc_det_counter, 0x03b0);
370*4882a593Smuzhiyun 
371*4882a593Smuzhiyun struct rk3568_ddrgrf {
372*4882a593Smuzhiyun 	unsigned int ddr_con0;
373*4882a593Smuzhiyun 	unsigned int ddr_con1;
374*4882a593Smuzhiyun 	unsigned int ddr_con2;
375*4882a593Smuzhiyun 	unsigned int ddr_con3;
376*4882a593Smuzhiyun 	unsigned int ddr_con4;
377*4882a593Smuzhiyun 	unsigned int ddr_split_con;
378*4882a593Smuzhiyun 	unsigned int reserved0[(0x0020 - 0x0014) / 4 - 1];
379*4882a593Smuzhiyun 	unsigned int ddr_lp_con;
380*4882a593Smuzhiyun 	unsigned int reserved1[(0x0100 - 0x0020) / 4 - 1];
381*4882a593Smuzhiyun 	unsigned int ddr_status0;
382*4882a593Smuzhiyun 	unsigned int ddr_status1;
383*4882a593Smuzhiyun 	unsigned int ddr_status2;
384*4882a593Smuzhiyun 	unsigned int ddr_status3;
385*4882a593Smuzhiyun 	unsigned int ddr_status4;
386*4882a593Smuzhiyun 	unsigned int ddr_status5;
387*4882a593Smuzhiyun 	unsigned int ddr_status6;
388*4882a593Smuzhiyun 	unsigned int ddr_status7;
389*4882a593Smuzhiyun 	unsigned int ddr_status8;
390*4882a593Smuzhiyun 	unsigned int ddr_status9;
391*4882a593Smuzhiyun 	unsigned int reserved2[(0x0130 - 0x0124) / 4 - 1];
392*4882a593Smuzhiyun 	unsigned int ddr_status10;
393*4882a593Smuzhiyun 	unsigned int ddr_status11;
394*4882a593Smuzhiyun 	unsigned int ddr_status12;
395*4882a593Smuzhiyun };
396*4882a593Smuzhiyun 
397*4882a593Smuzhiyun check_member(rk3568_ddrgrf, ddr_status12, 0x0138);
398*4882a593Smuzhiyun 
399*4882a593Smuzhiyun #endif
400