| /* SPDX-License-Identifier: GPL-2.0+ */ |
| /* |
| * (C) Copyright 2021 Rockchip Electronics Co., Ltd |
| */ |
| |
| #ifndef __SOC_ROCKCHIP_RK3568_GRF_H__ |
| #define __SOC_ROCKCHIP_RK3568_GRF_H__ |
| |
| struct rk3568_grf { |
| unsigned int gpio1a_iomux_l; |
| unsigned int gpio1a_iomux_h; |
| unsigned int gpio1b_iomux_l; |
| unsigned int gpio1b_iomux_h; |
| unsigned int gpio1c_iomux_l; |
| unsigned int gpio1c_iomux_h; |
| unsigned int gpio1d_iomux_l; |
| unsigned int gpio1d_iomux_h; |
| unsigned int gpio2a_iomux_l; |
| unsigned int gpio2a_iomux_h; |
| unsigned int gpio2b_iomux_l; |
| unsigned int gpio2b_iomux_h; |
| unsigned int gpio2c_iomux_l; |
| unsigned int gpio2c_iomux_h; |
| unsigned int gpio2d_iomux_l; |
| unsigned int gpio2d_iomux_h; |
| unsigned int gpio3a_iomux_l; |
| unsigned int gpio3a_iomux_h; |
| unsigned int gpio3b_iomux_l; |
| unsigned int gpio3b_iomux_h; |
| unsigned int gpio3c_iomux_l; |
| unsigned int gpio3c_iomux_h; |
| unsigned int gpio3d_iomux_l; |
| unsigned int gpio3d_iomux_h; |
| unsigned int gpio4a_iomux_l; |
| unsigned int gpio4a_iomux_h; |
| unsigned int gpio4b_iomux_l; |
| unsigned int gpio4b_iomux_h; |
| unsigned int gpio4c_iomux_l; |
| unsigned int gpio4c_iomux_h; |
| unsigned int gpio4d_iomux_l; |
| unsigned int reserved0[(0x0080 - 0x0078) / 4 - 1]; |
| unsigned int gpio1a_p; |
| unsigned int gpio1b_p; |
| unsigned int gpio1c_p; |
| unsigned int gpio1d_p; |
| unsigned int gpio2a_p; |
| unsigned int gpio2b_p; |
| unsigned int gpio2c_p; |
| unsigned int gpio2d_p; |
| unsigned int gpio3a_p; |
| unsigned int gpio3b_p; |
| unsigned int gpio3c_p; |
| unsigned int gpio3d_p; |
| unsigned int gpio4a_p; |
| unsigned int gpio4b_p; |
| unsigned int gpio4c_p; |
| unsigned int gpio4d_p; |
| unsigned int gpio1a_ie; |
| unsigned int gpio1b_ie; |
| unsigned int gpio1c_ie; |
| unsigned int gpio1d_ie; |
| unsigned int gpio2a_ie; |
| unsigned int gpio2b_ie; |
| unsigned int gpio2c_ie; |
| unsigned int gpio2d_ie; |
| unsigned int gpio3a_ie; |
| unsigned int gpio3b_ie; |
| unsigned int gpio3c_ie; |
| unsigned int gpio3d_ie; |
| unsigned int gpio4a_ie; |
| unsigned int gpio4b_ie; |
| unsigned int gpio4c_ie; |
| unsigned int gpio4d_ie; |
| unsigned int gpio1a_opd; |
| unsigned int gpio1b_opd; |
| unsigned int gpio1c_opd; |
| unsigned int gpio1d_opd; |
| unsigned int gpio2a_opd; |
| unsigned int gpio2b_opd; |
| unsigned int gpio2c_opd; |
| unsigned int gpio2d_opd; |
| unsigned int gpio3a_opd; |
| unsigned int gpio3b_opd; |
| unsigned int gpio3c_opd; |
| unsigned int gpio3d_opd; |
| unsigned int gpio4a_opd; |
| unsigned int gpio4b_opd; |
| unsigned int gpio4c_opd; |
| unsigned int gpio4d_opd; |
| unsigned int gpio1a_sus; |
| unsigned int gpio1b_sus; |
| unsigned int gpio1c_sus; |
| unsigned int gpio1d_sus; |
| unsigned int gpio2a_sus; |
| unsigned int gpio2b_sus; |
| unsigned int gpio2c_sus; |
| unsigned int gpio2d_sus; |
| unsigned int gpio3a_sus; |
| unsigned int gpio3b_sus; |
| unsigned int gpio3c_sus; |
| unsigned int gpio3d_sus; |
| unsigned int gpio4a_sus; |
| unsigned int gpio4b_sus; |
| unsigned int gpio4c_sus; |
| unsigned int gpio4d_sus; |
| unsigned int gpio1a_sl; |
| unsigned int gpio1b_sl; |
| unsigned int gpio1c_sl; |
| unsigned int gpio1d_sl; |
| unsigned int gpio2a_sl; |
| unsigned int gpio2b_sl; |
| unsigned int gpio2c_sl; |
| unsigned int gpio2d_sl; |
| unsigned int gpio3a_sl; |
| unsigned int gpio3b_sl; |
| unsigned int gpio3c_sl; |
| unsigned int gpio3d_sl; |
| unsigned int gpio4a_sl; |
| unsigned int gpio4b_sl; |
| unsigned int gpio4c_sl; |
| unsigned int gpio4d_sl; |
| unsigned int reserved1[(0x0200 - 0x01bc) / 4 - 1]; |
| unsigned int gpio1a_ds_0; |
| unsigned int gpio1a_ds_1; |
| unsigned int gpio1a_ds_2; |
| unsigned int gpio1a_ds_3; |
| unsigned int gpio1b_ds_0; |
| unsigned int gpio1b_ds_1; |
| unsigned int gpio1b_ds_2; |
| unsigned int gpio1b_ds_3; |
| unsigned int gpio1c_ds_0; |
| unsigned int gpio1c_ds_1; |
| unsigned int gpio1c_ds_2; |
| unsigned int gpio1c_ds_3; |
| unsigned int gpio1d_ds_0; |
| unsigned int gpio1d_ds_1; |
| unsigned int gpio1d_ds_2; |
| unsigned int gpio1d_ds_3; |
| unsigned int gpio2a_ds_0; |
| unsigned int gpio2a_ds_1; |
| unsigned int gpio2a_ds_2; |
| unsigned int gpio2a_ds_3; |
| unsigned int gpio2b_ds_0; |
| unsigned int gpio2b_ds_1; |
| unsigned int gpio2b_ds_2; |
| unsigned int gpio2b_ds_3; |
| unsigned int gpio2c_ds_0; |
| unsigned int gpio2c_ds_1; |
| unsigned int gpio2c_ds_2; |
| unsigned int gpio2c_ds_3; |
| unsigned int gpio2d_ds_0; |
| unsigned int gpio2d_ds_1; |
| unsigned int gpio2d_ds_2; |
| unsigned int gpio2d_ds_3; |
| unsigned int gpio3a_ds_0; |
| unsigned int gpio3a_ds_1; |
| unsigned int gpio3a_ds_2; |
| unsigned int gpio3a_ds_3; |
| unsigned int gpio3b_ds_0; |
| unsigned int gpio3b_ds_1; |
| unsigned int gpio3b_ds_2; |
| unsigned int gpio3b_ds_3; |
| unsigned int gpio3c_ds_0; |
| unsigned int gpio3c_ds_1; |
| unsigned int gpio3c_ds_2; |
| unsigned int gpio3c_ds_3; |
| unsigned int gpio3d_ds_0; |
| unsigned int gpio3d_ds_1; |
| unsigned int gpio3d_ds_2; |
| unsigned int gpio3d_ds_3; |
| unsigned int gpio4a_ds_0; |
| unsigned int gpio4a_ds_1; |
| unsigned int gpio4a_ds_2; |
| unsigned int gpio4a_ds_3; |
| unsigned int gpio4b_ds_0; |
| unsigned int gpio4b_ds_1; |
| unsigned int gpio4b_ds_2; |
| unsigned int gpio4b_ds_3; |
| unsigned int gpio4c_ds_0; |
| unsigned int gpio4c_ds_1; |
| unsigned int gpio4c_ds_2; |
| unsigned int gpio4c_ds_3; |
| unsigned int gpio4d_ds_0; |
| unsigned int gpio4d_ds_1; |
| unsigned int gpio4d_ds_2; |
| unsigned int gpio4d_ds_3; |
| unsigned int iofunc_sel0; |
| unsigned int iofunc_sel1; |
| unsigned int iofunc_sel2; |
| unsigned int iofunc_sel3; |
| unsigned int iofunc_sel4; |
| unsigned int iofunc_sel5; |
| unsigned int reserved2[(0x0340 - 0x0314) / 4 - 1]; |
| unsigned int vi_con0; |
| unsigned int vi_con1; |
| unsigned int vi_status0; |
| unsigned int reserved3[(0x0360 - 0x0348) / 4 - 1]; |
| unsigned int vo_con0; |
| unsigned int vo_con1; |
| unsigned int vo_con2; |
| unsigned int vo_con3; |
| unsigned int reserved4[(0x0380 - 0x036c) / 4 - 1]; |
| unsigned int mac0_con0; |
| unsigned int mac0_con1; |
| unsigned int mac1_con0; |
| unsigned int mac1_con1; |
| unsigned int reserved5[(0x03a0 - 0x038c) / 4 - 1]; |
| unsigned int biu_con0; |
| unsigned int biu_con1; |
| unsigned int biu_con2; |
| unsigned int reserved6[(0x03c0 - 0x03a8) / 4 - 1]; |
| unsigned int gic_con0; |
| unsigned int gic_con1; |
| unsigned int gic_con2; |
| unsigned int reserved7[(0x03f0 - 0x03c8) / 4 - 1]; |
| unsigned int gpu_con0; |
| unsigned int gpu_con1; |
| unsigned int reserved8[(0x0400 - 0x03f4) / 4 - 1]; |
| unsigned int cpu_con0; |
| unsigned int reserved9[(0x0420 - 0x0400) / 4 - 1]; |
| unsigned int cpu_status0; |
| unsigned int reserved10[(0x0500 - 0x0420) / 4 - 1]; |
| unsigned int soc_con0; |
| unsigned int soc_con1; |
| unsigned int soc_con2; |
| unsigned int soc_con3; |
| unsigned int reserved11[(0x0514 - 0x050c) / 4 - 1]; |
| unsigned int soc_con5; |
| unsigned int soc_con6; |
| unsigned int reserved12[(0x0580 - 0x0518) / 4 - 1]; |
| unsigned int soc_status0; |
| unsigned int reserved13[(0x05c0 - 0x0580) / 4 - 1]; |
| unsigned int ram_con; |
| unsigned int core_ram_con; |
| unsigned int reserved14[(0x0600 - 0x05c4) / 4 - 1]; |
| unsigned int tsadc_con; |
| unsigned int reserved15[(0x0610 - 0x0600) / 4 - 1]; |
| unsigned int saradc_con; |
| unsigned int reserved16[(0x0700 - 0x0610) / 4 - 1]; |
| unsigned int gpupvtpll_con0; |
| unsigned int gpupvtpll_con1; |
| unsigned int gpupvtpll_con2; |
| unsigned int gpupvtpll_con3; |
| unsigned int reserved17[(0x0740 - 0x070c) / 4 - 1]; |
| unsigned int npupvtpll_con0; |
| unsigned int npupvtpll_con1; |
| unsigned int npupvtpll_con2; |
| unsigned int npupvtpll_con3; |
| unsigned int reserved18[(0x0800 - 0x074c) / 4 - 1]; |
| unsigned int chip_id; |
| unsigned int reserved19[(0x0840 - 0x0800) / 4 - 1]; |
| unsigned int gpio1c5_ds; |
| unsigned int gpio2a2_ds; |
| unsigned int gpio2b0_ds; |
| unsigned int gpio3a0_ds; |
| unsigned int gpio3a6_ds; |
| unsigned int gpio4a0_ds; |
| unsigned int reserved20[(0x0900 - 0x0854) / 4 - 1]; |
| unsigned int dmac0_con0; |
| unsigned int dmac0_con1; |
| unsigned int dmac0_con2; |
| unsigned int dmac0_con3; |
| unsigned int dmac0_con4; |
| unsigned int dmac0_con5; |
| unsigned int dmac0_con6; |
| unsigned int dmac0_con7; |
| unsigned int dmac0_con8; |
| unsigned int dmac0_con9; |
| unsigned int reserved21[(0x0940 - 0x0924) / 4 - 1]; |
| unsigned int dmac1_con0; |
| unsigned int dmac1_con1; |
| unsigned int dmac1_con2; |
| unsigned int dmac1_con3; |
| unsigned int dmac1_con4; |
| unsigned int dmac1_con5; |
| unsigned int dmac1_con6; |
| unsigned int dmac1_con7; |
| unsigned int dmac1_con8; |
| unsigned int dmac1_con9; |
| }; |
| |
| check_member(rk3568_grf, dmac1_con9, 0x0964); |
| |
| struct rk3568_pmugrf { |
| unsigned int pmu_gpio0a_iomux_l; |
| unsigned int pmu_gpio0a_iomux_h; |
| unsigned int pmu_gpio0b_iomux_l; |
| unsigned int pmu_gpio0b_iomux_h; |
| unsigned int pmu_gpio0c_iomux_l; |
| unsigned int pmu_gpio0c_iomux_h; |
| unsigned int pmu_gpio0d_iomux_l; |
| unsigned int reserved0[(0x0020 - 0x0018) / 4 - 1]; |
| unsigned int pmu_gpio0a_p; |
| unsigned int pmu_gpio0b_p; |
| unsigned int pmu_gpio0c_p; |
| unsigned int pmu_gpio0d_p; |
| unsigned int pmu_gpio0a_ie; |
| unsigned int pmu_gpio0b_ie; |
| unsigned int pmu_gpio0c_ie; |
| unsigned int pmu_gpio0d_ie; |
| unsigned int pmu_gpio0a_opd; |
| unsigned int pmu_gpio0b_opd; |
| unsigned int pmu_gpio0c_opd; |
| unsigned int pmu_gpio0d_opd; |
| unsigned int pmu_gpio0a_sus; |
| unsigned int pmu_gpio0b_sus; |
| unsigned int pmu_gpio0c_sus; |
| unsigned int pmu_gpio0d_sus; |
| unsigned int pmu_gpio0a_sl; |
| unsigned int pmu_gpio0b_sl; |
| unsigned int pmu_gpio0c_sl; |
| unsigned int pmu_gpio0d_sl; |
| unsigned int pmu_gpio0a_ds_0; |
| unsigned int pmu_gpio0a_ds_1; |
| unsigned int pmu_gpio0a_ds_2; |
| unsigned int pmu_gpio0a_ds_3; |
| unsigned int pmu_gpio0b_ds_0; |
| unsigned int pmu_gpio0b_ds_1; |
| unsigned int pmu_gpio0b_ds_2; |
| unsigned int pmu_gpio0b_ds_3; |
| unsigned int pmu_gpio0c_ds_0; |
| unsigned int pmu_gpio0c_ds_1; |
| unsigned int pmu_gpio0c_ds_2; |
| unsigned int pmu_gpio0c_ds_3; |
| unsigned int pmu_gpio0d_ds_0; |
| unsigned int pmu_gpio0d_ds_1; |
| unsigned int pmu_gpio0d_ds_2; |
| unsigned int pmu_gpio0d_ds_3; |
| unsigned int reserved1[(0x0100 - 0x00ac) / 4 - 1]; |
| unsigned int pmu_soc_con0; |
| unsigned int pmu_soc_con1; |
| unsigned int pmu_soc_con2; |
| unsigned int pmu_soc_con3; |
| unsigned int pmu_soc_con4; |
| unsigned int pmu_soc_con5; |
| unsigned int reserved2[(0x0124 - 0x0114) / 4 - 1]; |
| unsigned int pmu_io_vsel0; |
| unsigned int pmu_io_vsel1; |
| unsigned int pmu_io_vsel2; |
| unsigned int reserved3[(0x0180 - 0x012c) / 4 - 1]; |
| unsigned int pmu_dll_con0; |
| unsigned int reserved4[(0x0200 - 0x0180) / 4 - 1]; |
| unsigned int pmu_os_reg0; |
| unsigned int pmu_os_reg1; |
| unsigned int pmu_os_reg2; |
| unsigned int pmu_os_reg3; |
| unsigned int pmu_os_reg4; |
| unsigned int pmu_os_reg5; |
| unsigned int pmu_os_reg6; |
| unsigned int pmu_os_reg7; |
| unsigned int pmu_os_reg8; |
| unsigned int pmu_os_reg9; |
| unsigned int pmu_os_reg10; |
| unsigned int pmu_os_reg11; |
| unsigned int pmu_reset_function_status; |
| unsigned int pmu_reset_function_clr; |
| unsigned int reserved5[(0x0380 - 0x0234) / 4 - 1]; |
| unsigned int pmu_sig_detect_con; |
| unsigned int reserved6[(0x0390 - 0x0380) / 4 - 1]; |
| unsigned int pmu_sig_detect_status; |
| unsigned int reserved7[(0x03a0 - 0x0390) / 4 - 1]; |
| unsigned int pmu_sig_detect_status_clear; |
| unsigned int reserved8[(0x03b0 - 0x03a0) / 4 - 1]; |
| unsigned int pmu_sdmmc_det_counter; |
| }; |
| |
| check_member(rk3568_pmugrf, pmu_sdmmc_det_counter, 0x03b0); |
| |
| #endif |