xref: /arm-trusted-firmware/plat/rockchip/rk3399/include/shared/pmu_regs.h (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu /*
2*91f16700Schasinglulu  * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved.
3*91f16700Schasinglulu  *
4*91f16700Schasinglulu  * SPDX-License-Identifier: BSD-3-Clause
5*91f16700Schasinglulu  */
6*91f16700Schasinglulu 
7*91f16700Schasinglulu #ifndef PMU_REGS_H
8*91f16700Schasinglulu #define PMU_REGS_H
9*91f16700Schasinglulu 
10*91f16700Schasinglulu #define PMU_WKUP_CFG0		0x00
11*91f16700Schasinglulu #define PMU_WKUP_CFG1		0x04
12*91f16700Schasinglulu #define PMU_WKUP_CFG2		0x08
13*91f16700Schasinglulu #define PMU_WKUP_CFG3		0x0c
14*91f16700Schasinglulu #define PMU_WKUP_CFG4		0x10
15*91f16700Schasinglulu #define PMU_PWRDN_CON		0x14
16*91f16700Schasinglulu #define PMU_PWRDN_ST		0x18
17*91f16700Schasinglulu #define PMU_PLL_CON		0x1c
18*91f16700Schasinglulu #define PMU_PWRMODE_CON		0x20
19*91f16700Schasinglulu #define PMU_SFT_CON		0x24
20*91f16700Schasinglulu #define PMU_INT_CON		0x28
21*91f16700Schasinglulu #define PMU_INT_ST		0x2c
22*91f16700Schasinglulu #define PMU_GPIO0_POS_INT_CON	0x30
23*91f16700Schasinglulu #define PMU_GPIO0_NEG_INT_CON	0x34
24*91f16700Schasinglulu #define PMU_GPIO1_POS_INT_CON	0x38
25*91f16700Schasinglulu #define PMU_GPIO1_NEG_INT_CON	0x3c
26*91f16700Schasinglulu #define PMU_GPIO0_POS_INT_ST	0x40
27*91f16700Schasinglulu #define PMU_GPIO0_NEG_INT_ST	0x44
28*91f16700Schasinglulu #define PMU_GPIO1_POS_INT_ST	0x48
29*91f16700Schasinglulu #define PMU_GPIO1_NEG_INT_ST	0x4c
30*91f16700Schasinglulu #define PMU_PWRDN_INTEN		0x50
31*91f16700Schasinglulu #define PMU_PWRDN_STATUS	0x54
32*91f16700Schasinglulu #define PMU_WAKEUP_STATUS	0x58
33*91f16700Schasinglulu #define PMU_BUS_CLR		0x5c
34*91f16700Schasinglulu #define PMU_BUS_IDLE_REQ	0x60
35*91f16700Schasinglulu #define PMU_BUS_IDLE_ST		0x64
36*91f16700Schasinglulu #define PMU_BUS_IDLE_ACK	0x68
37*91f16700Schasinglulu #define PMU_CCI500_CON		0x6c
38*91f16700Schasinglulu #define PMU_ADB400_CON		0x70
39*91f16700Schasinglulu #define PMU_ADB400_ST		0x74
40*91f16700Schasinglulu #define PMU_POWER_ST		0x78
41*91f16700Schasinglulu #define PMU_CORE_PWR_ST		0x7c
42*91f16700Schasinglulu #define PMU_OSC_CNT		0x80
43*91f16700Schasinglulu #define PMU_PLLLOCK_CNT		0x84
44*91f16700Schasinglulu #define PMU_PLLRST_CNT		0x88
45*91f16700Schasinglulu #define PMU_STABLE_CNT		0x8c
46*91f16700Schasinglulu #define PMU_DDRIO_PWRON_CNT	0x90
47*91f16700Schasinglulu #define PMU_WAKEUP_RST_CLR_CNT	0x94
48*91f16700Schasinglulu #define PMU_DDR_SREF_ST		0x98
49*91f16700Schasinglulu #define PMU_SCU_L_PWRDN_CNT	0x9c
50*91f16700Schasinglulu #define PMU_SCU_L_PWRUP_CNT	0xa0
51*91f16700Schasinglulu #define PMU_SCU_B_PWRDN_CNT	0xa4
52*91f16700Schasinglulu #define PMU_SCU_B_PWRUP_CNT	0xa8
53*91f16700Schasinglulu #define PMU_GPU_PWRDN_CNT	0xac
54*91f16700Schasinglulu #define PMU_GPU_PWRUP_CNT	0xb0
55*91f16700Schasinglulu #define PMU_CENTER_PWRDN_CNT	0xb4
56*91f16700Schasinglulu #define PMU_CENTER_PWRUP_CNT	0xb8
57*91f16700Schasinglulu #define PMU_TIMEOUT_CNT		0xbc
58*91f16700Schasinglulu #define PMU_CPU0APM_CON		0xc0
59*91f16700Schasinglulu #define PMU_CPU1APM_CON		0xc4
60*91f16700Schasinglulu #define PMU_CPU2APM_CON		0xc8
61*91f16700Schasinglulu #define PMU_CPU3APM_CON		0xcc
62*91f16700Schasinglulu #define PMU_CPU0BPM_CON		0xd0
63*91f16700Schasinglulu #define PMU_CPU1BPM_CON		0xd4
64*91f16700Schasinglulu #define PMU_NOC_AUTO_ENA	0xd8
65*91f16700Schasinglulu #define PMU_PWRDN_CON1		0xdc
66*91f16700Schasinglulu 
67*91f16700Schasinglulu #define PMUGRF_GPIO0A_IOMUX	0x00
68*91f16700Schasinglulu #define PMUGRF_GPIO1A_IOMUX	0x10
69*91f16700Schasinglulu #define PMUGRF_GPIO1C_IOMUX	0x18
70*91f16700Schasinglulu 
71*91f16700Schasinglulu #define PMUGRF_GPIO0A6_IOMUX_SHIFT      12
72*91f16700Schasinglulu #define PMUGRF_GPIO0A6_IOMUX_PWM        0x1
73*91f16700Schasinglulu #define PMUGRF_GPIO1C3_IOMUX_SHIFT      6
74*91f16700Schasinglulu #define PMUGRF_GPIO1C3_IOMUX_PWM        0x1
75*91f16700Schasinglulu 
76*91f16700Schasinglulu #define CPU_AXI_QOS_ID_COREID		0x00
77*91f16700Schasinglulu #define CPU_AXI_QOS_REVISIONID		0x04
78*91f16700Schasinglulu #define CPU_AXI_QOS_PRIORITY		0x08
79*91f16700Schasinglulu #define CPU_AXI_QOS_MODE		0x0c
80*91f16700Schasinglulu #define CPU_AXI_QOS_BANDWIDTH		0x10
81*91f16700Schasinglulu #define CPU_AXI_QOS_SATURATION		0x14
82*91f16700Schasinglulu #define CPU_AXI_QOS_EXTCONTROL		0x18
83*91f16700Schasinglulu #define CPU_AXI_QOS_NUM_REGS		0x07
84*91f16700Schasinglulu 
85*91f16700Schasinglulu #define CPU_AXI_CCI_M0_QOS_BASE		0xffa50000
86*91f16700Schasinglulu #define CPU_AXI_CCI_M1_QOS_BASE		0xffad8000
87*91f16700Schasinglulu #define CPU_AXI_DMAC0_QOS_BASE		0xffa64200
88*91f16700Schasinglulu #define CPU_AXI_DMAC1_QOS_BASE		0xffa64280
89*91f16700Schasinglulu #define CPU_AXI_DCF_QOS_BASE		0xffa64180
90*91f16700Schasinglulu #define CPU_AXI_CRYPTO0_QOS_BASE	0xffa64100
91*91f16700Schasinglulu #define CPU_AXI_CRYPTO1_QOS_BASE	0xffa64080
92*91f16700Schasinglulu #define CPU_AXI_PMU_CM0_QOS_BASE	0xffa68000
93*91f16700Schasinglulu #define CPU_AXI_PERI_CM1_QOS_BASE	0xffa64300
94*91f16700Schasinglulu #define CPU_AXI_GIC_QOS_BASE		0xffa78000
95*91f16700Schasinglulu #define CPU_AXI_SDIO_QOS_BASE		0xffa76000
96*91f16700Schasinglulu #define CPU_AXI_SDMMC_QOS_BASE		0xffa74000
97*91f16700Schasinglulu #define CPU_AXI_EMMC_QOS_BASE		0xffa58000
98*91f16700Schasinglulu #define CPU_AXI_GMAC_QOS_BASE		0xffa5c000
99*91f16700Schasinglulu #define CPU_AXI_USB_OTG0_QOS_BASE	0xffa70000
100*91f16700Schasinglulu #define CPU_AXI_USB_OTG1_QOS_BASE	0xffa70080
101*91f16700Schasinglulu #define CPU_AXI_USB_HOST0_QOS_BASE	0xffa60100
102*91f16700Schasinglulu #define CPU_AXI_USB_HOST1_QOS_BASE	0xffa60180
103*91f16700Schasinglulu #define CPU_AXI_GPU_QOS_BASE		0xffae0000
104*91f16700Schasinglulu #define CPU_AXI_VIDEO_M0_QOS_BASE	0xffab8000
105*91f16700Schasinglulu #define CPU_AXI_VIDEO_M1_R_QOS_BASE	0xffac0000
106*91f16700Schasinglulu #define CPU_AXI_VIDEO_M1_W_QOS_BASE	0xffac0080
107*91f16700Schasinglulu #define CPU_AXI_RGA_R_QOS_BASE		0xffab0000
108*91f16700Schasinglulu #define CPU_AXI_RGA_W_QOS_BASE		0xffab0080
109*91f16700Schasinglulu #define CPU_AXI_IEP_QOS_BASE		0xffa98000
110*91f16700Schasinglulu #define CPU_AXI_VOP_BIG_R_QOS_BASE	0xffac8000
111*91f16700Schasinglulu #define CPU_AXI_VOP_BIG_W_QOS_BASE	0xffac8080
112*91f16700Schasinglulu #define CPU_AXI_VOP_LITTLE_QOS_BASE	0xffad0000
113*91f16700Schasinglulu #define CPU_AXI_ISP0_M0_QOS_BASE	0xffaa0000
114*91f16700Schasinglulu #define CPU_AXI_ISP0_M1_QOS_BASE	0xffaa0080
115*91f16700Schasinglulu #define CPU_AXI_ISP1_M0_QOS_BASE	0xffaa8000
116*91f16700Schasinglulu #define CPU_AXI_ISP1_M1_QOS_BASE	0xffaa8080
117*91f16700Schasinglulu #define CPU_AXI_HDCP_QOS_BASE		0xffa90000
118*91f16700Schasinglulu #define CPU_AXI_PERIHP_NSP_QOS_BASE	0xffad8080
119*91f16700Schasinglulu #define CPU_AXI_PERILP_NSP_QOS_BASE	0xffad8180
120*91f16700Schasinglulu #define CPU_AXI_PERILPSLV_NSP_QOS_BASE	0xffad8100
121*91f16700Schasinglulu 
122*91f16700Schasinglulu #define GRF_GPIO2A_IOMUX	0xe000
123*91f16700Schasinglulu #define GRF_GPIO2B_IOMUX	0xe004
124*91f16700Schasinglulu #define GRF_GPIO2C_IOMUX	0xe008
125*91f16700Schasinglulu #define GRF_GPIO2D_IOMUX	0xe00c
126*91f16700Schasinglulu #define GRF_GPIO3A_IOMUX	0xe010
127*91f16700Schasinglulu #define GRF_GPIO3B_IOMUX	0xe014
128*91f16700Schasinglulu #define GRF_GPIO3C_IOMUX	0xe018
129*91f16700Schasinglulu #define GRF_GPIO3D_IOMUX	0xe01c
130*91f16700Schasinglulu #define GRF_GPIO4A_IOMUX	0xe020
131*91f16700Schasinglulu #define GRF_GPIO4B_IOMUX	0xe024
132*91f16700Schasinglulu #define GRF_GPIO4C_IOMUX	0xe028
133*91f16700Schasinglulu #define GRF_GPIO4D_IOMUX	0xe02c
134*91f16700Schasinglulu 
135*91f16700Schasinglulu #define GRF_GPIO2A_P		0xe040
136*91f16700Schasinglulu #define GRF_GPIO2B_P		0xe044
137*91f16700Schasinglulu #define GRF_GPIO2C_P		0xe048
138*91f16700Schasinglulu #define GRF_GPIO2D_P		0xe04C
139*91f16700Schasinglulu #define GRF_GPIO3A_P		0xe050
140*91f16700Schasinglulu #define GRF_GPIO3B_P		0xe054
141*91f16700Schasinglulu #define GRF_GPIO3C_P		0xe058
142*91f16700Schasinglulu #define GRF_GPIO3D_P		0xe05C
143*91f16700Schasinglulu #define GRF_GPIO4A_P		0xe060
144*91f16700Schasinglulu #define GRF_GPIO4B_P		0xe064
145*91f16700Schasinglulu #define GRF_GPIO4C_P		0xe068
146*91f16700Schasinglulu #define GRF_GPIO4D_P		0xe06C
147*91f16700Schasinglulu 
148*91f16700Schasinglulu #endif /* PMU_REGS_H */
149