xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-rockchip/grf_rv1126.h (revision 0e0328714506be68d046c031bd7e249c6316dadb)
11633e8d2SJoseph Chen /*
21633e8d2SJoseph Chen  * (C) Copyright 2019 Rockchip Electronics Co., Ltd.
31633e8d2SJoseph Chen  *
41633e8d2SJoseph Chen  * SPDX-License-Identifier:	GPL-2.0+
51633e8d2SJoseph Chen  */
61633e8d2SJoseph Chen #ifndef _ASM_ARCH_GRF_RV1126_H
71633e8d2SJoseph Chen #define _ASM_ARCH_GRF_RV1126_H
81633e8d2SJoseph Chen 
91633e8d2SJoseph Chen #include <common.h>
101633e8d2SJoseph Chen 
111633e8d2SJoseph Chen struct rv1126_grf {
121633e8d2SJoseph Chen 	unsigned int soc_con0;
131633e8d2SJoseph Chen 	unsigned int soc_con1;
141633e8d2SJoseph Chen 	unsigned int soc_con2;
151633e8d2SJoseph Chen 	unsigned int reserved0[1];
161633e8d2SJoseph Chen 	unsigned int soc_status0;
171633e8d2SJoseph Chen 	unsigned int soc_status1;
181633e8d2SJoseph Chen 	unsigned int reserved1[2];
191633e8d2SJoseph Chen 	unsigned int cpu_con0;
201633e8d2SJoseph Chen 	unsigned int cpu_con1;
211633e8d2SJoseph Chen 	unsigned int reserved2[2];
221633e8d2SJoseph Chen 	unsigned int cpu_status0;
231633e8d2SJoseph Chen 	unsigned int reserved3[3];
241633e8d2SJoseph Chen 	unsigned int noc_con0;
251633e8d2SJoseph Chen 	unsigned int noc_con1;
261633e8d2SJoseph Chen 	unsigned int noc_con2;
271633e8d2SJoseph Chen 	unsigned int noc_con3;
281633e8d2SJoseph Chen 	unsigned int usbhost_con0;
291633e8d2SJoseph Chen 	unsigned int usbhost_con1;
301633e8d2SJoseph Chen 	unsigned int usbhost_status0;
311633e8d2SJoseph Chen 	unsigned int usbotg_con0;
321633e8d2SJoseph Chen 	unsigned int usbotg_con1;
331633e8d2SJoseph Chen 	unsigned int usbotg_status0;
341633e8d2SJoseph Chen 	unsigned int usbotg_status1;
351633e8d2SJoseph Chen 	unsigned int usbotg_status2;
361633e8d2SJoseph Chen 	unsigned int mac_con0;
371633e8d2SJoseph Chen 	unsigned int mac_con1;
381633e8d2SJoseph Chen 	unsigned int mac_con2;
391633e8d2SJoseph Chen 	unsigned int reserved4[2];
401633e8d2SJoseph Chen 	unsigned int mac_status0;
411633e8d2SJoseph Chen 	unsigned int mac_status1;
421633e8d2SJoseph Chen 	unsigned int mac_status2;
431633e8d2SJoseph Chen 	unsigned int mem_con0;
441633e8d2SJoseph Chen 	unsigned int mem_con1;
451633e8d2SJoseph Chen 	unsigned int mem_con2;
461633e8d2SJoseph Chen 	unsigned int mem_con3;
471633e8d2SJoseph Chen 	unsigned int reserved5[(0x100 - 0x09c) / 4 - 1];
481633e8d2SJoseph Chen 	unsigned int tsadc_con0;
491633e8d2SJoseph Chen 	unsigned int reserved6[3];
501633e8d2SJoseph Chen 	unsigned int chip_id;
511633e8d2SJoseph Chen 	unsigned int reserved7[(0x10000 - 0x110) / 4 - 1];
521633e8d2SJoseph Chen 	unsigned int gpio0c_iomux_h;
531633e8d2SJoseph Chen 	unsigned int gpio0d_iomux_l;
541633e8d2SJoseph Chen 	unsigned int gpio0d_iomux_h;
551633e8d2SJoseph Chen 	unsigned int reserved8[1];
561633e8d2SJoseph Chen 	unsigned int gpio1a_iomux_l;
571633e8d2SJoseph Chen 	unsigned int gpio1a_iomux_h;
581633e8d2SJoseph Chen 	unsigned int gpio1b_iomux_l;
591633e8d2SJoseph Chen 	unsigned int gpio1b_iomux_h;
601633e8d2SJoseph Chen 	unsigned int gpio1c_iomux_l;
611633e8d2SJoseph Chen 	unsigned int gpio1c_iomux_h;
621633e8d2SJoseph Chen 	unsigned int gpio1d_iomux_l;
631633e8d2SJoseph Chen 	unsigned int gpio1d_iomux_h;
641633e8d2SJoseph Chen 	unsigned int gpio2a_iomux_l;
651633e8d2SJoseph Chen 	unsigned int gpio2a_iomux_h;
661633e8d2SJoseph Chen 	unsigned int gpio2b_iomux_l;
671633e8d2SJoseph Chen 	unsigned int gpio2b_iomux_h;
681633e8d2SJoseph Chen 	unsigned int gpio2c_iomux_l;
691633e8d2SJoseph Chen 	unsigned int gpio2c_iomux_h;
701633e8d2SJoseph Chen 	unsigned int gpio2d_iomux_l;
711633e8d2SJoseph Chen 	unsigned int gpio2d_iomux_h;
721633e8d2SJoseph Chen 	unsigned int gpio3a_iomux_l;
731633e8d2SJoseph Chen 	unsigned int gpio3a_iomux_h;
741633e8d2SJoseph Chen 	unsigned int gpio3b_iomux_l;
751633e8d2SJoseph Chen 	unsigned int gpio3b_iomux_h;
761633e8d2SJoseph Chen 	unsigned int gpio3c_iomux_l;
771633e8d2SJoseph Chen 	unsigned int gpio3c_iomux_h;
781633e8d2SJoseph Chen 	unsigned int gpio3d_iomux_l;
791633e8d2SJoseph Chen 	unsigned int gpio3d_iomux_h;
801633e8d2SJoseph Chen 	unsigned int gpio4a_iomux_l;
811633e8d2SJoseph Chen 	unsigned int reserved9[3];
821633e8d2SJoseph Chen 	unsigned int gpio0c_ds_h;
831633e8d2SJoseph Chen 	unsigned int gpio0d_ds_l;
841633e8d2SJoseph Chen 	unsigned int gpio0d_ds_h;
851633e8d2SJoseph Chen 	unsigned int reserved10[1];
861633e8d2SJoseph Chen 	unsigned int gpio1a_ds_l;
871633e8d2SJoseph Chen 	unsigned int gpio1a_ds_h;
881633e8d2SJoseph Chen 	unsigned int gpio1b_ds_l;
891633e8d2SJoseph Chen 	unsigned int gpio1b_ds_h;
901633e8d2SJoseph Chen 	unsigned int gpio1c_ds_l;
911633e8d2SJoseph Chen 	unsigned int gpio1c_ds_h;
921633e8d2SJoseph Chen 	unsigned int gpio1d_ds_l;
931633e8d2SJoseph Chen 	unsigned int gpio1d_ds_h;
941633e8d2SJoseph Chen 	unsigned int gpio2a_ds_l;
951633e8d2SJoseph Chen 	unsigned int gpio2a_ds_h;
961633e8d2SJoseph Chen 	unsigned int gpio2b_ds_l;
971633e8d2SJoseph Chen 	unsigned int gpio2b_ds_h;
981633e8d2SJoseph Chen 	unsigned int gpio2c_ds_l;
991633e8d2SJoseph Chen 	unsigned int gpio2c_ds_h;
1001633e8d2SJoseph Chen 	unsigned int gpio2d_ds_l;
1011633e8d2SJoseph Chen 	unsigned int gpio2d_ds_h;
1021633e8d2SJoseph Chen 	unsigned int gpio3a_ds_l;
1031633e8d2SJoseph Chen 	unsigned int gpio3a_ds_h;
1041633e8d2SJoseph Chen 	unsigned int gpio3b_ds_l;
1051633e8d2SJoseph Chen 	unsigned int gpio3b_ds_h;
1061633e8d2SJoseph Chen 	unsigned int gpio3c_ds_l;
1071633e8d2SJoseph Chen 	unsigned int gpio3c_ds_h;
1081633e8d2SJoseph Chen 	unsigned int gpio3d_ds_l;
1091633e8d2SJoseph Chen 	unsigned int gpio3d_ds_h;
1101633e8d2SJoseph Chen 	unsigned int gpio4a_ds_l;
1111633e8d2SJoseph Chen 	unsigned int reserved12[3];
1121633e8d2SJoseph Chen 	unsigned int gpio0c_p_h;
1131633e8d2SJoseph Chen 	unsigned int gpio0d_p;
1141633e8d2SJoseph Chen 	unsigned int gpio1a_p;
1151633e8d2SJoseph Chen 	unsigned int gpio1b_p;
1161633e8d2SJoseph Chen 	unsigned int gpio1c_p;
1171633e8d2SJoseph Chen 	unsigned int gpio1d_p;
1181633e8d2SJoseph Chen 	unsigned int gpio2a_p;
1191633e8d2SJoseph Chen 	unsigned int gpio2b_p;
1201633e8d2SJoseph Chen 	unsigned int gpio2c_p;
1211633e8d2SJoseph Chen 	unsigned int gpio2d_p;
1221633e8d2SJoseph Chen 	unsigned int gpio3a_p;
1231633e8d2SJoseph Chen 	unsigned int gpio3b_p;
1241633e8d2SJoseph Chen 	unsigned int gpio3c_p;
1251633e8d2SJoseph Chen 	unsigned int gpio3d_p;
1261633e8d2SJoseph Chen 	unsigned int gpio4a_p;
1271633e8d2SJoseph Chen 	unsigned int reserved13[1];
1281633e8d2SJoseph Chen 	unsigned int gpio0c_ie_h;
1291633e8d2SJoseph Chen 	unsigned int gpio0d_ie;
1301633e8d2SJoseph Chen 	unsigned int gpio1a_ie;
1311633e8d2SJoseph Chen 	unsigned int gpio1b_ie;
1321633e8d2SJoseph Chen 	unsigned int gpio1c_ie;
1331633e8d2SJoseph Chen 	unsigned int gpio1d_ie;
1341633e8d2SJoseph Chen 	unsigned int gpio2a_ie;
1351633e8d2SJoseph Chen 	unsigned int gpio2b_ie;
1361633e8d2SJoseph Chen 	unsigned int gpio2c_ie;
1371633e8d2SJoseph Chen 	unsigned int gpio2d_ie;
1381633e8d2SJoseph Chen 	unsigned int gpio3a_ie;
1391633e8d2SJoseph Chen 	unsigned int gpio3b_ie;
1401633e8d2SJoseph Chen 	unsigned int gpio3c_ie;
1411633e8d2SJoseph Chen 	unsigned int gpio3d_ie;
1421633e8d2SJoseph Chen 	unsigned int gpio4a_ie;
1431633e8d2SJoseph Chen 	unsigned int reserved14[1];
1441633e8d2SJoseph Chen 	unsigned int gpio0c_smt_h;
1451633e8d2SJoseph Chen 	unsigned int gpio0d_smt;
1461633e8d2SJoseph Chen 	unsigned int gpio1a_smt;
1471633e8d2SJoseph Chen 	unsigned int gpio1b_smt;
1481633e8d2SJoseph Chen 	unsigned int gpio1c_smt;
1491633e8d2SJoseph Chen 	unsigned int gpio1d_smt;
1501633e8d2SJoseph Chen 	unsigned int gpio2a_smt;
1511633e8d2SJoseph Chen 	unsigned int gpio2b_smt;
1521633e8d2SJoseph Chen 	unsigned int gpio2c_smt;
1531633e8d2SJoseph Chen 	unsigned int gpio2d_smt;
1541633e8d2SJoseph Chen 	unsigned int gpio3a_smt;
1551633e8d2SJoseph Chen 	unsigned int gpio3b_smt;
1561633e8d2SJoseph Chen 	unsigned int gpio3c_smt;
1571633e8d2SJoseph Chen 	unsigned int gpio3d_smt;
1581633e8d2SJoseph Chen 	unsigned int gpio4a_smt;
1591633e8d2SJoseph Chen 	unsigned int reserved15[(0x10200 - 0x101b8) / 4 - 1];
1601633e8d2SJoseph Chen 	unsigned int csiphy0_con;
1611633e8d2SJoseph Chen 	unsigned int reserved16[1];
1621633e8d2SJoseph Chen 	unsigned int csiphy0_status;
1631633e8d2SJoseph Chen 	unsigned int reserved17[1];
1641633e8d2SJoseph Chen 	unsigned int csiphy1_con;
1651633e8d2SJoseph Chen 	unsigned int reserved18[1];
1661633e8d2SJoseph Chen 	unsigned int csiphy1_status;
1671633e8d2SJoseph Chen 	unsigned int reserved19[1];
1681633e8d2SJoseph Chen 	unsigned int dsiphy_con;
1691633e8d2SJoseph Chen 	unsigned int reserved20[3];
1701633e8d2SJoseph Chen 	unsigned int usbphy_con0;
1711633e8d2SJoseph Chen 	unsigned int usbphy_con1;
1721633e8d2SJoseph Chen 	unsigned int usbphy_con2;
1731633e8d2SJoseph Chen 	unsigned int reserved21[3];
1741633e8d2SJoseph Chen 	unsigned int usbphy_status;
1751633e8d2SJoseph Chen 	unsigned int reserved22[1];
1761633e8d2SJoseph Chen 	unsigned int cifio_con;
1771633e8d2SJoseph Chen 	unsigned int sddetflt_con;
1781633e8d2SJoseph Chen 	unsigned int uart2rx_low_con;
1791633e8d2SJoseph Chen 	unsigned int reserved23[1];
1801633e8d2SJoseph Chen 	unsigned int iofunc_con0;
1811633e8d2SJoseph Chen 	unsigned int iofunc_con1;
1821633e8d2SJoseph Chen 	unsigned int iofunc_con2;
1831633e8d2SJoseph Chen 	unsigned int iofunc_con3;
1841633e8d2SJoseph Chen 	unsigned int usbphy0_cfg_con;
1851633e8d2SJoseph Chen 	unsigned int usbphy0_cfg_addrin;
1861633e8d2SJoseph Chen 	unsigned int usbphy0_cfg_addrout;
1871633e8d2SJoseph Chen 	unsigned int usbphy0_cfg_dly_con;
1881633e8d2SJoseph Chen 	unsigned int usbphy1_cfg_con;
1891633e8d2SJoseph Chen 	unsigned int usbphy1_cfg_addrin;
1901633e8d2SJoseph Chen 	unsigned int usbphy1_cfg_addrout;
1911633e8d2SJoseph Chen 	unsigned int usbphy1_cfg_dly_con;
1921633e8d2SJoseph Chen 	unsigned int reserved24[(0x10300 - 0x1028c) / 4 - 1];
1931633e8d2SJoseph Chen 	unsigned int usb_sig_detect_con;
1941633e8d2SJoseph Chen 	unsigned int usb_sig_detect_status;
1951633e8d2SJoseph Chen 	unsigned int usb_sig_detect_clr;
1961633e8d2SJoseph Chen 	unsigned int reserved25[1];
1971633e8d2SJoseph Chen 	unsigned int usb_linestate_con;
1981633e8d2SJoseph Chen 	unsigned int usb_disconnect_con;
1991633e8d2SJoseph Chen 	unsigned int usb_bvalid_con;
2001633e8d2SJoseph Chen 	unsigned int usb_id_con;
2011633e8d2SJoseph Chen };
2021633e8d2SJoseph Chen 
2031633e8d2SJoseph Chen check_member(rv1126_grf, usb_id_con, 0x1031c);
2041633e8d2SJoseph Chen 
205*0e032871SYouMin Chen struct rv1126_pmugrf {
206*0e032871SYouMin Chen 	unsigned int gpio0a_iomux_l;
207*0e032871SYouMin Chen 	unsigned int gpio0a_iomux_h;
208*0e032871SYouMin Chen 	unsigned int gpio0b_iomux_l;
209*0e032871SYouMin Chen 	unsigned int gpio0b_iomux_h;
210*0e032871SYouMin Chen 	unsigned int gpio0c_iomux_l;
211*0e032871SYouMin Chen 	unsigned int reserved0[3];
212*0e032871SYouMin Chen 	unsigned int gpio0a_ds_l;
213*0e032871SYouMin Chen 	unsigned int gpio0a_ds_h;
214*0e032871SYouMin Chen 	unsigned int gpio0b_ds_l;
215*0e032871SYouMin Chen 	unsigned int gpio0b_ds_h;
216*0e032871SYouMin Chen 	unsigned int gpio0c_ds_l;
217*0e032871SYouMin Chen 	unsigned int osc_ds;
218*0e032871SYouMin Chen 	unsigned int reserved1[2];
219*0e032871SYouMin Chen 	unsigned int gpio0a_p;
220*0e032871SYouMin Chen 	unsigned int gpio0b_p;
221*0e032871SYouMin Chen 	unsigned int gpio0c_p_l;
222*0e032871SYouMin Chen 	unsigned int reserved2[1];
223*0e032871SYouMin Chen 	unsigned int gpio0a_ie;
224*0e032871SYouMin Chen 	unsigned int gpio0b_ie;
225*0e032871SYouMin Chen 	unsigned int gpio0c_ie_l;
226*0e032871SYouMin Chen 	unsigned int reserved3[1];
227*0e032871SYouMin Chen 	unsigned int gpio0a_smt;
228*0e032871SYouMin Chen 	unsigned int gpio0b_smt;
229*0e032871SYouMin Chen 	unsigned int gpio0c_smt_l;
230*0e032871SYouMin Chen 	unsigned int reserved4[(0x100 - 0x68) / 4 - 1];
231*0e032871SYouMin Chen 	unsigned int soc_con[7];
232*0e032871SYouMin Chen 	unsigned int reserved5[(0x140 - 0x118) / 4 - 1];
233*0e032871SYouMin Chen 	unsigned int io_vsel;
234*0e032871SYouMin Chen 	unsigned int io_vret;
235*0e032871SYouMin Chen 	unsigned int reserved6[(0x180 - 0x144) / 4 - 1];
236*0e032871SYouMin Chen 	unsigned int pmupvtm_clkdiv;
237*0e032871SYouMin Chen 	unsigned int reserved7[(0x200 - 0x180) / 4 - 1];
238*0e032871SYouMin Chen 	unsigned int os_reg[12];
239*0e032871SYouMin Chen 	unsigned int rstfunc_status;
240*0e032871SYouMin Chen 	unsigned int rstfunc_clr;
241*0e032871SYouMin Chen 	unsigned int reserved8[(0x380 - 0x234) / 4 - 1];
242*0e032871SYouMin Chen 	unsigned int sd_detect_con;
243*0e032871SYouMin Chen 	unsigned int reserved9[3];
244*0e032871SYouMin Chen 	unsigned int sd_detect_status;
245*0e032871SYouMin Chen 	unsigned int reserved10[3];
246*0e032871SYouMin Chen 	unsigned int sd_detect_clr;
247*0e032871SYouMin Chen 	unsigned int reserved11[3];
248*0e032871SYouMin Chen 	unsigned int sd_det_count;
249*0e032871SYouMin Chen };
250*0e032871SYouMin Chen 
251*0e032871SYouMin Chen check_member(rv1126_pmugrf, sd_det_count, 0x3b0);
252*0e032871SYouMin Chen 
2531633e8d2SJoseph Chen #endif
254