xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-rockchip/pmu_rk3308.h (revision 355cdcf34508d6ed289df7581f2c562b32e87d25)
1*8ec8d58eSZhihuan He /* SPDX-License-Identifier:     GPL-2.0+ */
2*8ec8d58eSZhihuan He /*
3*8ec8d58eSZhihuan He  * Copyright (C) 2020 Rockchip Electronics Co., Ltd
4*8ec8d58eSZhihuan He  */
5*8ec8d58eSZhihuan He 
6*8ec8d58eSZhihuan He #ifndef _ASM_ARCH_PMU_RK3308_H
7*8ec8d58eSZhihuan He #define _ASM_ARCH_PMU_RK3308_H
8*8ec8d58eSZhihuan He struct rk3308_pmu {
9*8ec8d58eSZhihuan He 	u32 reserved0[4];
10*8ec8d58eSZhihuan He 	u32 wakeup_cfg2_lo;
11*8ec8d58eSZhihuan He 	u32 reserved1;
12*8ec8d58eSZhihuan He 	u32 pwrdn_con_lo;
13*8ec8d58eSZhihuan He 	u32 reserved2;
14*8ec8d58eSZhihuan He 	u32 pwrdn_st;
15*8ec8d58eSZhihuan He 	u32 pwrmode_core_con_lo;
16*8ec8d58eSZhihuan He 	u32 reserved3;
17*8ec8d58eSZhihuan He 	u32 pwrmode_common_con_lo;
18*8ec8d58eSZhihuan He 	u32 pwrmode_common_con_hi;
19*8ec8d58eSZhihuan He 	u32 sft_con_lo;
20*8ec8d58eSZhihuan He 	u32 sft_con_hi;
21*8ec8d58eSZhihuan He 	u32 int_con_lo;
22*8ec8d58eSZhihuan He 	u32 int_con_hi;
23*8ec8d58eSZhihuan He 	u32 int_st;
24*8ec8d58eSZhihuan He 	u32 reserved4[6];
25*8ec8d58eSZhihuan He 	u32 core_pwr_st;
26*8ec8d58eSZhihuan He 	u32 bus_idle_req_lo;
27*8ec8d58eSZhihuan He 	u32 reserved5;
28*8ec8d58eSZhihuan He 	u32 bus_idle_st;
29*8ec8d58eSZhihuan He 	u32 power_st;
30*8ec8d58eSZhihuan He 	u32 osc_cnt_lo;
31*8ec8d58eSZhihuan He 	u32 osc_cnt_hi;
32*8ec8d58eSZhihuan He 	u32 plllock_cnt_lo;
33*8ec8d58eSZhihuan He 	u32 plllock_cnt_hi;
34*8ec8d58eSZhihuan He 	u32 pllrst_cnt_lo;
35*8ec8d58eSZhihuan He 	u32 pllrst_cnt_hi;
36*8ec8d58eSZhihuan He 	u32 reserved6[2];
37*8ec8d58eSZhihuan He 	u32 ddrio_pwron_cnt_lo;
38*8ec8d58eSZhihuan He 	u32 ddrio_pwron_cnt_hi;
39*8ec8d58eSZhihuan He 	u32 wakeup_rst_clr_cnt_lo;
40*8ec8d58eSZhihuan He 	u32 wakeup_rst_clr_cnt_hi;
41*8ec8d58eSZhihuan He 	u32 ddr_sref_st;
42*8ec8d58eSZhihuan He 	u32 sys_reg0_lo;
43*8ec8d58eSZhihuan He 	u32 sys_reg0_hi;
44*8ec8d58eSZhihuan He 	u32 sys_reg1_lo;
45*8ec8d58eSZhihuan He 	u32 sys_reg1_hi;
46*8ec8d58eSZhihuan He 	u32 sys_reg2_lo;
47*8ec8d58eSZhihuan He 	u32 sys_reg2_hi;
48*8ec8d58eSZhihuan He 	u32 sys_reg3_lo;
49*8ec8d58eSZhihuan He 	u32 sys_reg3_hi;
50*8ec8d58eSZhihuan He 	u32 scu_pwrdn_cnt_lo;
51*8ec8d58eSZhihuan He 	u32 scu_pwrdn_cnt_hi;
52*8ec8d58eSZhihuan He 	u32 scu_pwrup_cnt_lo;
53*8ec8d58eSZhihuan He 	u32 scu_pwrup_cnt_hi;
54*8ec8d58eSZhihuan He 	u32 timeout_cnt_lo;
55*8ec8d58eSZhihuan He 	u32 timeout_cnt_hi;
56*8ec8d58eSZhihuan He 	u32 cpu0apm_con_lo;
57*8ec8d58eSZhihuan He 	u32 cpu1apm_con_lo;
58*8ec8d58eSZhihuan He 	u32 cpu2apm_con_lo;
59*8ec8d58eSZhihuan He 	u32 cpu3apm_con_lo;
60*8ec8d58eSZhihuan He 	u32 info_tx_con_lo;
61*8ec8d58eSZhihuan He };
62*8ec8d58eSZhihuan He 
63*8ec8d58eSZhihuan He check_member(rk3308_pmu, info_tx_con_lo, 0x00f0);
64*8ec8d58eSZhihuan He enum { /* SFT_CON_LO */
65*8ec8d58eSZhihuan He 	DDR_IO_RET_CFG_SHIFT		= 8,
66*8ec8d58eSZhihuan He 	DDR_IO_RET_CFG_MASK		= 1 << DDR_IO_RET_CFG_SHIFT,
67*8ec8d58eSZhihuan He 	DDR_IO_RET_CFG			= 0,
68*8ec8d58eSZhihuan He };
69*8ec8d58eSZhihuan He 
70*8ec8d58eSZhihuan He #endif
71