1*4882a593Smuzhiyun /* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun * Copyright (c) 2023 Rockchip Electronics Co., Ltd.
4*4882a593Smuzhiyun */
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun #ifndef __MACH_ROCKCHIP_RV1106_PM_H
7*4882a593Smuzhiyun #define __MACH_ROCKCHIP_RV1106_PM_H
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun #define RV1106_WAKEUP_TO_SYSTEM_RESET 0
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun #define RV1106_PERIGRF_OFFSET 0x0
12*4882a593Smuzhiyun #define RV1106_VENCGRF_OFFSET 0x10000
13*4882a593Smuzhiyun #define RV1106_NPUGRF_OFFSET 0x18000
14*4882a593Smuzhiyun #define RV1106_PMUGRF_OFFSET 0x20000
15*4882a593Smuzhiyun #define RV1106_DDRGRF_OFFSET 0x30000
16*4882a593Smuzhiyun #define RV1106_COREGRF_OFFSET 0x40000
17*4882a593Smuzhiyun #define RV1106_VIGRF_OFFSET 0x50000
18*4882a593Smuzhiyun #define RV1106_VOGRF_OFFSET 0x60000
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun #define RV1106_PERISGRF_OFFSET 0x70000
21*4882a593Smuzhiyun #define RV1106_VISGRF_OFFSET 0x72000
22*4882a593Smuzhiyun #define RV1106_NPUSGRF_OFFSET 0x74000
23*4882a593Smuzhiyun #define RV1106_CORESGRF_OFFSET 0x76000
24*4882a593Smuzhiyun #define RV1106_VENCSGRF_OFFSET 0x78000
25*4882a593Smuzhiyun #define RV1106_VOSGRF_OFFSET 0x7a000
26*4882a593Smuzhiyun #define RV1106_PMUSGRF_OFFSET 0x80000
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun #define RV1106_GIC_OFFSET 0x1f0000
29*4882a593Smuzhiyun #define RV1106_HPTIMER_OFFSET 0x2f0000
30*4882a593Smuzhiyun #define RV1106_PMU_OFFSET 0x300000
31*4882a593Smuzhiyun #define RV1106_GPIO0_OFFSET 0x380000
32*4882a593Smuzhiyun #define RV1106_GPIO0IOC_OFFSET 0x388000
33*4882a593Smuzhiyun #define RV1106_PMUPVTM_OFFSET 0x390000
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun #define RV1106_PMUCRU_OFFSET 0x3a0000
36*4882a593Smuzhiyun #define RV1106_CRU_OFFSET 0x3b0000
37*4882a593Smuzhiyun #define RV1106_PERICRU_OFFSET 0x3b2000
38*4882a593Smuzhiyun #define RV1106_VICRU_OFFSET 0x3b4000
39*4882a593Smuzhiyun #define RV1106_NPUCRU_OFFSET 0x3b6000
40*4882a593Smuzhiyun #define RV1106_CORECRU_OFFSET 0x3b8000
41*4882a593Smuzhiyun #define RV1106_VENCCRU_OFFSET 0x3ba000
42*4882a593Smuzhiyun #define RV1106_VOCRU_OFFSET 0x3bc000
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun #define RV1106_UART2_OFFSET 0x4c0000
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun #define RV1106_GPIO1_OFFSET 0x530000
47*4882a593Smuzhiyun #define RV1106_GPIO1IOC_OFFSET 0x538000
48*4882a593Smuzhiyun #define RV1106_GPIO2_OFFSET 0x540000
49*4882a593Smuzhiyun #define RV1106_GPIO2IOC_OFFSET 0x548000
50*4882a593Smuzhiyun #define RV1106_GPIO3_OFFSET 0x550000
51*4882a593Smuzhiyun #define RV1106_GPIO3IOC_OFFSET 0x558000
52*4882a593Smuzhiyun #define RV1106_GPIO4_OFFSET 0x560000
53*4882a593Smuzhiyun #define RV1106_GPIO4IOC_OFFSET 0x568000
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun #define RV1106_NSTIMER_OFFSET 0x580000
56*4882a593Smuzhiyun #define RV1106_STIMER_OFFSET 0x590000
57*4882a593Smuzhiyun #define RV1106_PMUSRAM_OFFSET 0x670000
58*4882a593Smuzhiyun #define RV1106_DDRC_OFFSET 0x800000
59*4882a593Smuzhiyun #define RV1106_FW_DDR_OFFSET 0x900000
60*4882a593Smuzhiyun #define RV1106_FW_SRAM_OFFSET 0x910000
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun #define RV1106_DEV_REG_BASE 0xff000000
63*4882a593Smuzhiyun #define RV1106_DEV_REG_SIZE 0x920000
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun #define RV1106_PMUSRAM_BASE \
66*4882a593Smuzhiyun (RV1106_DEV_REG_BASE + RV1106_PMUSRAM_OFFSET)
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun /* cru */
69*4882a593Smuzhiyun #define RV1106_CRU_PLL_CON(pll_id, i) ((pll_id) * 0x20 + (i) * 4)
70*4882a593Smuzhiyun #define RV1106_CRU_MODE_CON00 0x280
71*4882a593Smuzhiyun #define RV1106_CRU_GATE_CON(i) (0x800 + (i) * 4)
72*4882a593Smuzhiyun #define RV1106_CRU_GATE_CON_NUM 4
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun #define CRU_PLLCON1_PWRDOWN BIT(13)
75*4882a593Smuzhiyun #define CRU_PLLCON1_LOCK_STATUS BIT(10)
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun #define RV1106_PMUCRU_GATE_CON(i) (0x800 + (i) * 4)
78*4882a593Smuzhiyun #define RV1106_PMUCRU_CLKSEL_CON(i) (0x300 + (i) * 4)
79*4882a593Smuzhiyun #define RV1106_PMUCRU_GATE_CON_NUM 3
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun #define RV1106_PERICRU_GATE_CON(i) (0x800 + (i) * 4)
82*4882a593Smuzhiyun #define RV1106_PERICRU_CLKSEL_CON(i) (0x300 + (i) * 4)
83*4882a593Smuzhiyun #define RV1106_PERICRU_GATE_CON_NUM 8
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun #define RV1106_NPUCRU_GATE_CON(i) (0x800 + (i) * 4)
86*4882a593Smuzhiyun #define RV1106_NPUCRU_CLKSEL_CON(i) (0x300 + (i) * 4)
87*4882a593Smuzhiyun #define RV1106_NPUCRU_GATE_CON_NUM 2
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun #define RV1106_VENCCRU_GATE_CON(i) (0x800 + (i) * 4)
90*4882a593Smuzhiyun #define RV1106_VENCCRU_CLKSEL_CON(i) (0x300 + (i) * 4)
91*4882a593Smuzhiyun #define RV1106_VENCCRU_GATE_CON_NUM 3
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun #define RV1106_VICRU_GATE_CON(i) (0x800 + (i) * 4)
94*4882a593Smuzhiyun #define RV1106_VICRU_CLKSEL_CON(i) (0x300 + (i) * 4)
95*4882a593Smuzhiyun #define RV1106_VICRU_GATE_CON_NUM 3
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun #define RV1106_VOCRU_GATE_CON(i) (0x800 + (i) * 4)
98*4882a593Smuzhiyun #define RV1106_VOCRU_CLKSEL_CON(i) (0x300 + (i) * 4)
99*4882a593Smuzhiyun #define RV1106_VOCRU_GATE_CON_NUM 4
100*4882a593Smuzhiyun
101*4882a593Smuzhiyun #define RV1106_CORECRU_GATE_CON(i) (0x800 + (i) * 4)
102*4882a593Smuzhiyun #define RV1106_COERCRU_CLKSEL_CON(i) (0x300 + (i) * 4)
103*4882a593Smuzhiyun #define RV1106_CORECRU_GATE_CON_NUM 2
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun /* grf */
106*4882a593Smuzhiyun #define RV1106_PMUGRF_SOC_CON(i) ((i) * 4)
107*4882a593Smuzhiyun #define RV1106_PMUGRF_OS_REG(i) (0x200 + (i) * 4)
108*4882a593Smuzhiyun
109*4882a593Smuzhiyun #define RV1106_PMUSGRF_SOC_CON(i) ((i) * 4)
110*4882a593Smuzhiyun
111*4882a593Smuzhiyun #define RV1106_DDRGRF_CON(i) ((i) * 0x4)
112*4882a593Smuzhiyun
113*4882a593Smuzhiyun /* pvmt */
114*4882a593Smuzhiyun #define RV1106_PVTM_CON(i) (0x4 + (i) * 4)
115*4882a593Smuzhiyun #define RV1106_PVTM_INTEN 0x70
116*4882a593Smuzhiyun #define RV1106_PVTM_INTSTS 0x74
117*4882a593Smuzhiyun #define RV1106_PVTM_STATUS(i) (0x80 + (i) * 4)
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun #define RV1106_PVTM_CALC_CNT 0x200
120*4882a593Smuzhiyun
121*4882a593Smuzhiyun /* gpio */
122*4882a593Smuzhiyun #define RV1106_GPIO_SWPORT_DR_L 0x0000
123*4882a593Smuzhiyun #define RV1106_GPIO_SWPORT_DR_H 0x0004
124*4882a593Smuzhiyun #define RV1106_GPIO_SWPORT_DDR_L 0x0008
125*4882a593Smuzhiyun #define RV1106_GPIO_SWPORT_DDR_H 0x000c
126*4882a593Smuzhiyun #define RV1106_GPIO_INT_EN_L 0x0010
127*4882a593Smuzhiyun #define RV1106_GPIO_INT_EN_H 0x0014
128*4882a593Smuzhiyun #define RV1106_GPIO_INT_MASK_L 0x0018
129*4882a593Smuzhiyun #define RV1106_GPIO_INT_MASK_H 0x001c
130*4882a593Smuzhiyun #define RV1106_GPIO_INT_TYPE_L 0x0020
131*4882a593Smuzhiyun #define RV1106_GPIO_INT_TYPE_H 0x0024
132*4882a593Smuzhiyun #define RV1106_GPIO_INT_POLARITY_L 0x0028
133*4882a593Smuzhiyun #define RV1106_GPIO_INT_POLARITY_H 0x002c
134*4882a593Smuzhiyun #define RV1106_GPIO_INT_BOTHEDGE_L 0x0030
135*4882a593Smuzhiyun #define RV1106_GPIO_INT_BOTHEDGE_H 0x0034
136*4882a593Smuzhiyun #define RV1106_GPIO_DEBOUNCE_L 0x0038
137*4882a593Smuzhiyun #define RV1106_GPIO_DEBOUNCE_H 0x003c
138*4882a593Smuzhiyun #define RV1106_GPIO_DBCLK_DIV_EN_L 0x0040
139*4882a593Smuzhiyun #define RV1106_GPIO_DBCLK_DIV_EN_H 0x0044
140*4882a593Smuzhiyun #define RV1106_GPIO_DBCLK_DIV_CON 0x0048
141*4882a593Smuzhiyun #define RV1106_GPIO_INT_STATUS 0x0050
142*4882a593Smuzhiyun #define RV1106_GPIO_INT_RAWSTATUS 0x0058
143*4882a593Smuzhiyun
144*4882a593Smuzhiyun /* pmu */
145*4882a593Smuzhiyun #define RV1106_PMU_VERSION 0x000
146*4882a593Smuzhiyun #define RV1106_PMU_PWR_CON 0x004
147*4882a593Smuzhiyun #define RV1106_PMU_GLB_POWER_STS 0x008
148*4882a593Smuzhiyun #define RV1106_PMU_INT_MASK_CON 0x00c
149*4882a593Smuzhiyun #define RV1106_PMU_WAKEUP_INT_CON 0x010
150*4882a593Smuzhiyun #define RV1106_PMU_WAKEUP_INT_ST 0x014
151*4882a593Smuzhiyun #define RV1106_PMU_PMIC_STABLE_CNT 0x024
152*4882a593Smuzhiyun #define RV1106_PMU_OSC_STABLE_CNT 0x028
153*4882a593Smuzhiyun #define RV1106_PMU_WAKEUP_RSTCLR_CNT 0x02c
154*4882a593Smuzhiyun #define RV1106_PMU_PLL_LOCK_CNT 0x030
155*4882a593Smuzhiyun #define RV1106_PMU_WAKEUP_TIMEOUT_CNT 0x048
156*4882a593Smuzhiyun #define RV1106_PMU_PWM_SWITCH_CNT 0x04c
157*4882a593Smuzhiyun #define RV1106_PMU_SCU_PWR_CON 0x080
158*4882a593Smuzhiyun #define RV1106_PMU_SCU_STS 0x084
159*4882a593Smuzhiyun #define RV1106_PMU_BIU_IDLE_CON 0x0b0
160*4882a593Smuzhiyun #define RV1106_PMU_BIU_IDLE_SFTCON 0x0c0
161*4882a593Smuzhiyun #define RV1106_PMU_BIU_IDLE_ACK 0x0d0
162*4882a593Smuzhiyun #define RV1106_PMU_BIU_IDLE_ST 0x0d8
163*4882a593Smuzhiyun #define RV1106_PMU_BIU_AUTO_CON 0x0e0
164*4882a593Smuzhiyun #define RV1106_PMU_DDR_PWR_CON 0x0f0
165*4882a593Smuzhiyun #define RV1106_PMU_DDR_PWR_SFTCON 0x0f4
166*4882a593Smuzhiyun #define RV1106_PMU_DDR_POWER_STS 0x0f8
167*4882a593Smuzhiyun #define RV1106_PMU_DDR_STS 0x0fC
168*4882a593Smuzhiyun #define RV1106_PMU_CRU_PWR_CON0 0x120
169*4882a593Smuzhiyun #define RV1106_PMU_CRU_PWR_CON1 0x140
170*4882a593Smuzhiyun #define RV1106_PMU_CRU_PWR_SFTCON 0x124
171*4882a593Smuzhiyun #define RV1106_PMU_CRU_POWER_STS 0x128
172*4882a593Smuzhiyun #define RV1106_PMU_PLLPD_CON 0x130
173*4882a593Smuzhiyun #define RV1106_PMU_PLLPD_SFTCON 0x134
174*4882a593Smuzhiyun #define RV1106_PMU_INFO_TX_CON 0x150
175*4882a593Smuzhiyun #define RV1106_PMU_SYS_REG(i) (0x1c0 + (i) * 4)
176*4882a593Smuzhiyun
177*4882a593Smuzhiyun #define PMU_SUSPEND_MAGIC 0x02468ace
178*4882a593Smuzhiyun #define PMU_RESUME_MAGIC 0x13579bdf
179*4882a593Smuzhiyun
180*4882a593Smuzhiyun #ifndef __ASSEMBLER__
181*4882a593Smuzhiyun extern unsigned long rkpm_bootdata_cpusp;
182*4882a593Smuzhiyun extern unsigned long rkpm_bootdata_cpu_code;
183*4882a593Smuzhiyun extern unsigned long rkpm_bootdata_l2ctlr_f;
184*4882a593Smuzhiyun extern unsigned long rkpm_bootdata_l2ctlr;
185*4882a593Smuzhiyun extern unsigned long rkpm_bootdata_ddr_code;
186*4882a593Smuzhiyun extern unsigned long rkpm_bootdata_ddr_data;
187*4882a593Smuzhiyun extern unsigned long rv1106_bootram_sz;
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun void rockchip_slp_cpu_resume(void);
190*4882a593Smuzhiyun void rv1106_rockchip_slp_cpu_resume(void);
191*4882a593Smuzhiyun
192*4882a593Smuzhiyun #ifdef CONFIG_PM_SLEEP
193*4882a593Smuzhiyun void __init rockchip_suspend_init(void);
194*4882a593Smuzhiyun #else
rockchip_suspend_init(void)195*4882a593Smuzhiyun static inline void rockchip_suspend_init(void)
196*4882a593Smuzhiyun {
197*4882a593Smuzhiyun }
198*4882a593Smuzhiyun #endif
199*4882a593Smuzhiyun
200*4882a593Smuzhiyun enum rv1106_pwr_con {
201*4882a593Smuzhiyun RV1106_PMU_PWRMODE_EN = 0,
202*4882a593Smuzhiyun RV1106_PMU_BUS_BYPASS = 4,
203*4882a593Smuzhiyun RV1106_PMU_DDR_BYPASS = 5,
204*4882a593Smuzhiyun RV1106_PMU_CRU_BYPASS = 7,
205*4882a593Smuzhiyun };
206*4882a593Smuzhiyun
207*4882a593Smuzhiyun enum rv1106_int_mask_con {
208*4882a593Smuzhiyun RV1106_PMU_GLB_INT_MASK = 0,
209*4882a593Smuzhiyun };
210*4882a593Smuzhiyun
211*4882a593Smuzhiyun enum rv1106_wakeup_init_con {
212*4882a593Smuzhiyun RV1106_PMU_WAKEUP_CPU_INT_EN = 0,
213*4882a593Smuzhiyun RV1106_PMU_WAKEUP_GPIO_INT_EN,
214*4882a593Smuzhiyun RV1106_PMU_WAKEUP_SDMMC_EN,
215*4882a593Smuzhiyun RV1106_PMU_WAKEUP_SDIO_EN,
216*4882a593Smuzhiyun
217*4882a593Smuzhiyun RV1106_PMU_WAKEUP_USBDEV_EN,
218*4882a593Smuzhiyun RV1106_PMU_WAKEUP_TIMER_EN,
219*4882a593Smuzhiyun RV1106_PMU_WAKEUP_TIMEROUT_EN,
220*4882a593Smuzhiyun RV1106_PMU_WAKEUP_SFT_WAKEUP_CFG,
221*4882a593Smuzhiyun };
222*4882a593Smuzhiyun
223*4882a593Smuzhiyun enum rv1106_scu_pwr_con {
224*4882a593Smuzhiyun RV1106_PMU_SCU_INT_MASK_ENA = 0,
225*4882a593Smuzhiyun RV1106_PMU_CPU_INT_MASK_ENA,
226*4882a593Smuzhiyun RV1106_PMU_STANDBYWFI_BYPASS,
227*4882a593Smuzhiyun };
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun enum rv1106_scu_sts {
230*4882a593Smuzhiyun RV1106_PMU_STANDBYWFI,
231*4882a593Smuzhiyun RV1106_PMU_STANDBYWFIL2,
232*4882a593Smuzhiyun };
233*4882a593Smuzhiyun
234*4882a593Smuzhiyun enum rv1106_biu_idle_con {
235*4882a593Smuzhiyun RV1106_PMU_IDLE_REQ_MSCH = 0,
236*4882a593Smuzhiyun RV1106_PMU_IDLE_REQ_DDR,
237*4882a593Smuzhiyun RV1106_PMU_IDLE_REQ_NPU,
238*4882a593Smuzhiyun RV1106_PMU_IDLE_REQ_NPU_ACLK,
239*4882a593Smuzhiyun
240*4882a593Smuzhiyun RV1106_PMU_IDLE_REQ_VI,
241*4882a593Smuzhiyun RV1106_PMU_IDLE_REQ_VO,
242*4882a593Smuzhiyun RV1106_PMU_IDLE_REQ_PERI,
243*4882a593Smuzhiyun RV1106_PMU_IDLE_REQ_CRU,
244*4882a593Smuzhiyun
245*4882a593Smuzhiyun RV1106_PMU_IDLE_REQ_CPU,
246*4882a593Smuzhiyun RV1106_PMU_IDLE_REQ_VENC_COM,
247*4882a593Smuzhiyun RV1106_PMU_IDLE_REQ_VEPU,
248*4882a593Smuzhiyun };
249*4882a593Smuzhiyun
250*4882a593Smuzhiyun enum rv1106_biu_auto_con {
251*4882a593Smuzhiyun RV1106_PMU_AUTO_IDLE_MSCH = 0,
252*4882a593Smuzhiyun RV1106_PMU_AUTO_IDLE_DDR,
253*4882a593Smuzhiyun RV1106_PMU_AUTO_IDLE_NPU,
254*4882a593Smuzhiyun RV1106_PMU_AUTO_IDLE_NPU_ACLK,
255*4882a593Smuzhiyun
256*4882a593Smuzhiyun RV1106_PMU_AUTO_IDLE_VI,
257*4882a593Smuzhiyun RV1106_PMU_AUTO_IDLE_VO,
258*4882a593Smuzhiyun RV1106_PMU_AUTO_IDLE_PERI,
259*4882a593Smuzhiyun RV1106_PMU_AUTO_IDLE_CRU,
260*4882a593Smuzhiyun
261*4882a593Smuzhiyun RV1106_PMU_AUTO_IDLE_CPU,
262*4882a593Smuzhiyun RV1106_PMU_AUTO_IDLE_VENC_COM,
263*4882a593Smuzhiyun RV1106_PMU_AUTO_IDLE_VEPU,
264*4882a593Smuzhiyun };
265*4882a593Smuzhiyun
266*4882a593Smuzhiyun enum rv1106_ddr_pwr_con {
267*4882a593Smuzhiyun RV1106_PMU_DDR_SREF_C_ENA = 0,
268*4882a593Smuzhiyun RV1106_PMU_DDRIO_RET_ENA,
269*4882a593Smuzhiyun RV1106_PMU_DDRIO_EXIT_ENA,
270*4882a593Smuzhiyun RV1106_PMU_DDRCTL_C_AUTO_GATING_ENA,
271*4882a593Smuzhiyun
272*4882a593Smuzhiyun RV1106_PMU_MSCH_AUTO_GATING_ENA = 5,
273*4882a593Smuzhiyun RV1106_PMU_DDR_SREF_A_ENA,
274*4882a593Smuzhiyun RV1106_PMU_DDRCTL_A_AUTO_GATING_ENA,
275*4882a593Smuzhiyun };
276*4882a593Smuzhiyun
277*4882a593Smuzhiyun enum rv1106_cru_pwr_con0 {
278*4882a593Smuzhiyun RV1106_PMU_ALIVE_32K_ENA = 0,
279*4882a593Smuzhiyun RV1106_PMU_OSC_DIS_ENA,
280*4882a593Smuzhiyun RV1106_PMU_WAKEUP_RST_ENA,
281*4882a593Smuzhiyun RV1106_PMU_INPUT_CLAMP_ENA,
282*4882a593Smuzhiyun
283*4882a593Smuzhiyun RV1106_PMU_ALIVE_OSC_ENA,
284*4882a593Smuzhiyun RV1106_PMU_POWER_OFF_ENA,
285*4882a593Smuzhiyun RV1106_PMU_PWM_SWITCH_ENA,
286*4882a593Smuzhiyun RV1106_PMU_GPIO_IOE_ENA,
287*4882a593Smuzhiyun RV1106_PMU_PWM_SWITCH_IOUT,
288*4882a593Smuzhiyun };
289*4882a593Smuzhiyun
290*4882a593Smuzhiyun enum rv1106_cru_pwr_con1 {
291*4882a593Smuzhiyun RV1106_PMU_VI_CLK_SRC_GATE_ENA = 0,
292*4882a593Smuzhiyun RV1106_PMU_VO_CLK_SRC_GATE_ENA,
293*4882a593Smuzhiyun RV1106_PMU_VENC_CLK_SRC_GATE_ENA,
294*4882a593Smuzhiyun RV1106_PMU_NPU_CLK_SRC_GATE_ENA,
295*4882a593Smuzhiyun
296*4882a593Smuzhiyun RV1106_PMU_DDR_CLK_SRC_CATE_ENA,
297*4882a593Smuzhiyun RV1106_PMU_PERI_CLK_SRC_GATE_ENA,
298*4882a593Smuzhiyun RV1106_PMU_CORE_CLK_SRC_GATE_ENA,
299*4882a593Smuzhiyun RV1106_PMU_CRU_CLK_SRC_GATE_ENA,
300*4882a593Smuzhiyun };
301*4882a593Smuzhiyun
302*4882a593Smuzhiyun enum rv1106_pllpd_con {
303*4882a593Smuzhiyun RV1106_PMU_APLL_PD_ENA = 0,
304*4882a593Smuzhiyun RV1106_PMU_DPLL_PD_ENA,
305*4882a593Smuzhiyun RV1106_PMU_CPLL_PD_ENA,
306*4882a593Smuzhiyun RV1106_PMU_GPLL_PD_ENA,
307*4882a593Smuzhiyun };
308*4882a593Smuzhiyun
309*4882a593Smuzhiyun enum rv1106_pllid {
310*4882a593Smuzhiyun RV1106_APLL_ID = 0,
311*4882a593Smuzhiyun RV1106_CPLL_ID,
312*4882a593Smuzhiyun RV1106_DPLL_ID,
313*4882a593Smuzhiyun RV1106_GPLL_ID,
314*4882a593Smuzhiyun };
315*4882a593Smuzhiyun
316*4882a593Smuzhiyun enum pvtm_con0 {
317*4882a593Smuzhiyun PVTM_START = 0,
318*4882a593Smuzhiyun PVTM_OSC_EN = 1,
319*4882a593Smuzhiyun PVTM_OSC_SEL = 2,
320*4882a593Smuzhiyun PVTM_RND_SEED_EN = 5,
321*4882a593Smuzhiyun };
322*4882a593Smuzhiyun
323*4882a593Smuzhiyun #endif
324*4882a593Smuzhiyun #endif /* __MACH_ROCKCHIP_RV1106_PM_H */
325