1*91f16700Schasinglulu /* 2*91f16700Schasinglulu * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. 3*91f16700Schasinglulu * 4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu */ 6*91f16700Schasinglulu 7*91f16700Schasinglulu #ifndef HI6220_REGS_PMCTRL_H 8*91f16700Schasinglulu #define HI6220_REGS_PMCTRL_H 9*91f16700Schasinglulu 10*91f16700Schasinglulu #define PMCTRL_BASE 0xF7032000 11*91f16700Schasinglulu 12*91f16700Schasinglulu #define PMCTRL_ACPUPLLCTRL (PMCTRL_BASE + 0x000) 13*91f16700Schasinglulu #define PMCTRL_ACPUPLLFREQ (PMCTRL_BASE + 0x004) 14*91f16700Schasinglulu #define PMCTRL_DDRPLL1CTRL (PMCTRL_BASE + 0x010) 15*91f16700Schasinglulu #define PMCTRL_DDRPLL0CTRL (PMCTRL_BASE + 0x030) 16*91f16700Schasinglulu #define PMCTRL_MEDPLLCTRL (PMCTRL_BASE + 0x038) 17*91f16700Schasinglulu #define PMCTRL_ACPUPLLSEL (PMCTRL_BASE + 0x100) 18*91f16700Schasinglulu #define PMCTRL_ACPUCLKDIV (PMCTRL_BASE + 0x104) 19*91f16700Schasinglulu #define PMCTRL_ACPUSYSPLLCFG (PMCTRL_BASE + 0x110) 20*91f16700Schasinglulu #define PMCTRL_ACPUCLKOFFCFG (PMCTRL_BASE + 0x114) 21*91f16700Schasinglulu #define PMCTRL_ACPUPLLFRAC (PMCTRL_BASE + 0x134) 22*91f16700Schasinglulu #define PMCTRL_ACPUPMUVOLUPTIME (PMCTRL_BASE + 0x360) 23*91f16700Schasinglulu #define PMCTRL_ACPUPMUVOLDNTIME (PMCTRL_BASE + 0x364) 24*91f16700Schasinglulu #define PMCTRL_ACPUVOLPMUADDR (PMCTRL_BASE + 0x368) 25*91f16700Schasinglulu #define PMCTRL_ACPUVOLUPSTEP (PMCTRL_BASE + 0x36c) 26*91f16700Schasinglulu #define PMCTRL_ACPUVOLDNSTEP (PMCTRL_BASE + 0x370) 27*91f16700Schasinglulu #define PMCTRL_ACPUDFTVOL (PMCTRL_BASE + 0x374) 28*91f16700Schasinglulu #define PMCTRL_ACPUDESTVOL (PMCTRL_BASE + 0x378) 29*91f16700Schasinglulu #define PMCTRL_ACPUVOLTTIMEOUT (PMCTRL_BASE + 0x37c) 30*91f16700Schasinglulu 31*91f16700Schasinglulu #define PMCTRL_ACPUPLLCTRL_EN_CFG (1 << 0) 32*91f16700Schasinglulu 33*91f16700Schasinglulu #define PMCTRL_ACPUCLKDIV_CPUEXT_CFG_MASK (3 << 0) 34*91f16700Schasinglulu #define PMCTRL_ACPUCLKDIV_DDR_CFG_MASK (3 << 8) 35*91f16700Schasinglulu #define PMCTRL_ACPUCLKDIV_CPUEXT_STAT_MASK (3 << 16) 36*91f16700Schasinglulu #define PMCTRL_ACPUCLKDIV_DDR_STAT_MASK (3 << 24) 37*91f16700Schasinglulu 38*91f16700Schasinglulu #define PMCTRL_ACPUPLLSEL_ACPUPLL_CFG (1 << 0) 39*91f16700Schasinglulu #define PMCTRL_ACPUPLLSEL_ACPUPLL_STAT (1 << 1) 40*91f16700Schasinglulu #define PMCTRL_ACPUPLLSEL_SYSPLL_STAT (1 << 2) 41*91f16700Schasinglulu 42*91f16700Schasinglulu #define PMCTRL_ACPUSYSPLL_CLKDIV_CFG_MASK 0x7 43*91f16700Schasinglulu #define PMCTRL_ACPUSYSPLL_CLKEN_CFG (1 << 4) 44*91f16700Schasinglulu #define PMCTRL_ACPUSYSPLL_CLKDIV_SW (3 << 12) 45*91f16700Schasinglulu 46*91f16700Schasinglulu #define PMCTRL_ACPUSYSPLLCFG_SYSPLL_CLKEN (1 << 4) 47*91f16700Schasinglulu #define PMCTRL_ACPUSYSPLLCFG_CLKDIV_MASK (3 << 12) 48*91f16700Schasinglulu 49*91f16700Schasinglulu #define PMCTRL_ACPUDESTVOL_DEST_VOL_MASK 0x7f 50*91f16700Schasinglulu #define PMCTRL_ACPUDESTVOL_CURR_VOL_MASK (0x7f << 8) 51*91f16700Schasinglulu 52*91f16700Schasinglulu #define SOC_PMCTRL_ACPUPLLCTRL_acpupll_en_cfg_START (0) 53*91f16700Schasinglulu #define SOC_PMCTRL_ACPUPLLCTRL_acpupll_en_cfg_END (0) 54*91f16700Schasinglulu #define SOC_PMCTRL_ACPUPLLCTRL_acpupll_rst_START (2) 55*91f16700Schasinglulu #define SOC_PMCTRL_ACPUPLLCTRL_acpupll_rst_END (2) 56*91f16700Schasinglulu #define SOC_PMCTRL_ACPUPLLCTRL_acpupll_time_START (4) 57*91f16700Schasinglulu #define SOC_PMCTRL_ACPUPLLCTRL_acpupll_time_END (27) 58*91f16700Schasinglulu #define SOC_PMCTRL_ACPUPLLCTRL_acpupll_timeout_START (28) 59*91f16700Schasinglulu #define SOC_PMCTRL_ACPUPLLCTRL_acpupll_timeout_END (28) 60*91f16700Schasinglulu #define SOC_PMCTRL_ACPUPLLCTRL_acpupll_lock_START (29) 61*91f16700Schasinglulu #define SOC_PMCTRL_ACPUPLLCTRL_acpupll_lock_END (29) 62*91f16700Schasinglulu 63*91f16700Schasinglulu #define SOC_PMCTRL_ACPUPLLFRAC_ADDR(base) ((base) + (0x134)) 64*91f16700Schasinglulu #define SOC_PMCTRL_ACPUSYSPLLCFG_acpu_subsys_clk_div_sw_START (12) 65*91f16700Schasinglulu 66*91f16700Schasinglulu #define SOC_PMCTRL_ACPUPLLSEL_acpu_pllsw_cfg_START (0) 67*91f16700Schasinglulu #define SOC_PMCTRL_ACPUPLLSEL_acpu_pllsw_cfg_END (0) 68*91f16700Schasinglulu #define SOC_PMCTRL_ACPUPLLSEL_acpu_pllsw_stat_START (1) 69*91f16700Schasinglulu #define SOC_PMCTRL_ACPUPLLSEL_acpu_pllsw_stat_END (1) 70*91f16700Schasinglulu #define SOC_PMCTRL_ACPUPLLSEL_syspll_sw_stat_START (2) 71*91f16700Schasinglulu #define SOC_PMCTRL_ACPUPLLSEL_syspll_sw_stat_END (2) 72*91f16700Schasinglulu 73*91f16700Schasinglulu #define SOC_PMCTRL_ACPUCLKDIV_cpuext_clk_div_cfg_START (0) 74*91f16700Schasinglulu #define SOC_PMCTRL_ACPUCLKDIV_cpuext_clk_div_cfg_END (1) 75*91f16700Schasinglulu #define SOC_PMCTRL_ACPUCLKDIV_acpu_ddr_clk_div_cfg_START (8) 76*91f16700Schasinglulu #define SOC_PMCTRL_ACPUCLKDIV_acpu_ddr_clk_div_cfg_END (9) 77*91f16700Schasinglulu #define SOC_PMCTRL_ACPUCLKDIV_cpuext_clk_div_stat_START (16) 78*91f16700Schasinglulu #define SOC_PMCTRL_ACPUCLKDIV_cpuext_clk_div_stat_END (17) 79*91f16700Schasinglulu #define SOC_PMCTRL_ACPUCLKDIV_acpu_ddr_clk_div_stat_START (24) 80*91f16700Schasinglulu #define SOC_PMCTRL_ACPUCLKDIV_acpu_ddr_clk_div_stat_END (25) 81*91f16700Schasinglulu 82*91f16700Schasinglulu #define SOC_PMCTRL_ACPUDESTVOL_acpu_dest_vol_START (0) 83*91f16700Schasinglulu #define SOC_PMCTRL_ACPUDESTVOL_acpu_dest_vol_END (6) 84*91f16700Schasinglulu #define SOC_PMCTRL_ACPUDESTVOL_acpu_vol_using_START (8) 85*91f16700Schasinglulu #define SOC_PMCTRL_ACPUDESTVOL_acpu_vol_using_END (14) 86*91f16700Schasinglulu 87*91f16700Schasinglulu #define SOC_PMCTRL_ACPUVOLTIMEOUT_acpu_vol_timeout_START (0) 88*91f16700Schasinglulu #define SOC_PMCTRL_ACPUVOLTIMEOUT_acpu_vol_timeout_END (0) 89*91f16700Schasinglulu 90*91f16700Schasinglulu #define SOC_PMCTRL_ACPUSYSPLLCFG_acpu_syspll_div_cfg_START (0) 91*91f16700Schasinglulu #define SOC_PMCTRL_ACPUSYSPLLCFG_acpu_syspll_div_cfg_END (2) 92*91f16700Schasinglulu #define SOC_PMCTRL_ACPUSYSPLLCFG_acpu_syspll_clken_cfg_START (4) 93*91f16700Schasinglulu #define SOC_PMCTRL_ACPUSYSPLLCFG_acpu_syspll_clken_cfg_END (4) 94*91f16700Schasinglulu #define SOC_PMCTRL_ACPUSYSPLLCFG_acpu_subsys_clk_div_cfg_START (8) 95*91f16700Schasinglulu #define SOC_PMCTRL_ACPUSYSPLLCFG_acpu_subsys_clk_div_cfg_END (9) 96*91f16700Schasinglulu #define SOC_PMCTRL_ACPUSYSPLLCFG_acpu_syspll_div_stat_START (16) 97*91f16700Schasinglulu #define SOC_PMCTRL_ACPUSYSPLLCFG_acpu_syspll_div_stat_END (19) 98*91f16700Schasinglulu #define SOC_PMCTRL_ACPUSYSPLLCFG_acpu_syspll_clken_stat_START (20) 99*91f16700Schasinglulu #define SOC_PMCTRL_ACPUSYSPLLCFG_acpu_syspll_clken_stat_END (20) 100*91f16700Schasinglulu 101*91f16700Schasinglulu #endif /* HI6220_REGS_PMCTRL_H */ 102