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