xref: /rk3399_ARM-atf/plat/imx/imx8m/imx8mp/include/gpc_reg.h (revision a775ef25c3127ae9175f48aa0092432c08e6fab6)
1*a775ef25SJacky Bai /*
2*a775ef25SJacky Bai  * Copyright 2020 NXP
3*a775ef25SJacky Bai  *
4*a775ef25SJacky Bai  * SPDX-License-Identifier: BSD-3-Clause
5*a775ef25SJacky Bai  */
6*a775ef25SJacky Bai 
7*a775ef25SJacky Bai #ifndef GPC_REG_H
8*a775ef25SJacky Bai #define GPC_REG_H
9*a775ef25SJacky Bai 
10*a775ef25SJacky Bai #define LPCR_A53_BSC			0x0
11*a775ef25SJacky Bai #define LPCR_A53_BSC2			0x180
12*a775ef25SJacky Bai #define LPCR_A53_AD			0x4
13*a775ef25SJacky Bai #define LPCR_M4				0x8
14*a775ef25SJacky Bai #define SLPCR				0x14
15*a775ef25SJacky Bai #define MST_CPU_MAPPING			0x18
16*a775ef25SJacky Bai #define MLPCR				0x20
17*a775ef25SJacky Bai #define PGC_ACK_SEL_A53			0x24
18*a775ef25SJacky Bai #define IMR1_CORE0_A53			0x30
19*a775ef25SJacky Bai #define IMR1_CORE1_A53			0x44
20*a775ef25SJacky Bai #define IMR1_CORE2_A53			0x194
21*a775ef25SJacky Bai #define IMR1_CORE3_A53			0x1A8
22*a775ef25SJacky Bai #define IMR1_CORE0_M4			0x58
23*a775ef25SJacky Bai 
24*a775ef25SJacky Bai #define SLT0_CFG			0x200
25*a775ef25SJacky Bai #define GPC_PU_PWRHSK			0x190
26*a775ef25SJacky Bai #define PGC_CPU_0_1_MAPPING		0x1CC
27*a775ef25SJacky Bai #define CPU_PGC_UP_TRG			0xD0
28*a775ef25SJacky Bai #define PU_PGC_UP_TRG			0xD8
29*a775ef25SJacky Bai #define CPU_PGC_DN_TRG			0xDC
30*a775ef25SJacky Bai #define PU_PGC_DN_TRG			0xE4
31*a775ef25SJacky Bai #define LPS_CPU1			0xEC
32*a775ef25SJacky Bai 
33*a775ef25SJacky Bai #define A53_CORE0_PGC			0x800
34*a775ef25SJacky Bai #define A53_PLAT_PGC			0x900
35*a775ef25SJacky Bai #define PLAT_PGC_PCR			0x900
36*a775ef25SJacky Bai #define NOC_PGC_PCR			0xa40
37*a775ef25SJacky Bai #define PGC_SCU_TIMING			0x910
38*a775ef25SJacky Bai 
39*a775ef25SJacky Bai #define MASK_DSM_TRIGGER_A53		BIT(31)
40*a775ef25SJacky Bai #define IRQ_SRC_A53_WUP			BIT(30)
41*a775ef25SJacky Bai #define IRQ_SRC_A53_WUP_SHIFT		30
42*a775ef25SJacky Bai #define IRQ_SRC_C1			BIT(29)
43*a775ef25SJacky Bai #define IRQ_SRC_C0			BIT(28)
44*a775ef25SJacky Bai #define IRQ_SRC_C3			BIT(23)
45*a775ef25SJacky Bai #define IRQ_SRC_C2			BIT(22)
46*a775ef25SJacky Bai #define CPU_CLOCK_ON_LPM		BIT(14)
47*a775ef25SJacky Bai #define A53_CLK_ON_LPM			BIT(14)
48*a775ef25SJacky Bai #define MASTER0_LPM_HSK			BIT(6)
49*a775ef25SJacky Bai #define MASTER1_LPM_HSK			BIT(7)
50*a775ef25SJacky Bai #define MASTER2_LPM_HSK			BIT(8)
51*a775ef25SJacky Bai 
52*a775ef25SJacky Bai #define L2PGE				BIT(31)
53*a775ef25SJacky Bai #define EN_L2_WFI_PDN			BIT(5)
54*a775ef25SJacky Bai #define EN_PLAT_PDN			BIT(4)
55*a775ef25SJacky Bai 
56*a775ef25SJacky Bai #define SLPCR_EN_DSM			BIT(31)
57*a775ef25SJacky Bai #define SLPCR_RBC_EN			BIT(30)
58*a775ef25SJacky Bai #define SLPCR_A53_FASTWUP_STOP_MODE	BIT(17)
59*a775ef25SJacky Bai #define SLPCR_A53_FASTWUP_WAIT_MODE	BIT(16)
60*a775ef25SJacky Bai #define SLPCR_VSTBY			BIT(2)
61*a775ef25SJacky Bai #define SLPCR_SBYOS			BIT(1)
62*a775ef25SJacky Bai #define SLPCR_BYPASS_PMIC_READY		BIT(0)
63*a775ef25SJacky Bai #define SLPCR_RBC_COUNT_SHIFT		24
64*a775ef25SJacky Bai #define SLPCR_STBY_COUNT_SHFT		3
65*a775ef25SJacky Bai 
66*a775ef25SJacky Bai #define A53_DUMMY_PDN_ACK		BIT(30)
67*a775ef25SJacky Bai #define A53_DUMMY_PUP_ACK		BIT(31)
68*a775ef25SJacky Bai #define A53_PLAT_PDN_ACK		BIT(8)
69*a775ef25SJacky Bai #define A53_PLAT_PUP_ACK		BIT(9)
70*a775ef25SJacky Bai 
71*a775ef25SJacky Bai #define NOC_PDN_SLT_CTRL		BIT(12)
72*a775ef25SJacky Bai #define NOC_PUP_SLT_CTRL		BIT(13)
73*a775ef25SJacky Bai #define NOC_PGC_PDN_ACK			BIT(12)
74*a775ef25SJacky Bai #define NOC_PGC_PUP_ACK			BIT(13)
75*a775ef25SJacky Bai 
76*a775ef25SJacky Bai #define PLAT_PUP_SLT_CTRL		BIT(9)
77*a775ef25SJacky Bai #define PLAT_PDN_SLT_CTRL		BIT(8)
78*a775ef25SJacky Bai 
79*a775ef25SJacky Bai #define SLT_PLAT_PDN			BIT(8)
80*a775ef25SJacky Bai #define SLT_PLAT_PUP			BIT(9)
81*a775ef25SJacky Bai 
82*a775ef25SJacky Bai #define MASTER1_MAPPING			BIT(1)
83*a775ef25SJacky Bai #define MASTER2_MAPPING			BIT(2)
84*a775ef25SJacky Bai 
85*a775ef25SJacky Bai #define TMR_TCD2_SHIFT			0
86*a775ef25SJacky Bai #define TMC_TMR_SHIFT			10
87*a775ef25SJacky Bai #define TRC1_TMC_SHIFT			20
88*a775ef25SJacky Bai 
89*a775ef25SJacky Bai #define MIPI_PHY1_PWR_REQ		BIT(0)
90*a775ef25SJacky Bai #define PCIE_PHY_PWR_REQ		BIT(1)
91*a775ef25SJacky Bai #define USB1_PHY_PWR_REQ		BIT(2)
92*a775ef25SJacky Bai #define USB2_PHY_PWR_REQ		BIT(3)
93*a775ef25SJacky Bai #define MLMIX_PWR_REQ			BIT(4)
94*a775ef25SJacky Bai #define AUDIOMIX_PWR_REQ		BIT(5)
95*a775ef25SJacky Bai #define GPU2D_PWR_REQ			BIT(6)
96*a775ef25SJacky Bai #define GPUMIX_PWR_REQ			BIT(7)
97*a775ef25SJacky Bai #define VPUMIX_PWR_REQ			BIT(8)
98*a775ef25SJacky Bai #define GPU3D_PWR_REQ			BIT(9)
99*a775ef25SJacky Bai #define MEDIAMIX_PWR_REQ		BIT(10)
100*a775ef25SJacky Bai #define VPU_G1_PWR_REQ			BIT(11)
101*a775ef25SJacky Bai #define VPU_G2_PWR_REQ			BIT(12)
102*a775ef25SJacky Bai #define VPU_H1_PWR_REQ			BIT(13)
103*a775ef25SJacky Bai #define HDMIMIX_PWR_REQ			BIT(14)
104*a775ef25SJacky Bai #define HDMI_PHY_PWR_REQ		BIT(15)
105*a775ef25SJacky Bai #define MIPI_PHY2_PWR_REQ		BIT(16)
106*a775ef25SJacky Bai #define HSIOMIX_PWR_REQ			BIT(17)
107*a775ef25SJacky Bai #define MEDIAMIX_ISPDWP_PWR_REQ		BIT(18)
108*a775ef25SJacky Bai #define DDRMIX_PWR_REQ			BIT(19)
109*a775ef25SJacky Bai 
110*a775ef25SJacky Bai #define AUDIOMIX_ADB400_SYNC		(BIT(4) | BIT(15))
111*a775ef25SJacky Bai #define MLMIX_ADB400_SYNC		(BIT(7) | BIT(8))
112*a775ef25SJacky Bai #define GPUMIX_ADB400_SYNC		BIT(9)
113*a775ef25SJacky Bai #define VPUMIX_ADB400_SYNC		BIT(10)
114*a775ef25SJacky Bai #define DDRMIX_ADB400_SYNC		BIT(11)
115*a775ef25SJacky Bai #define HSIOMIX_ADB400_SYNC		BIT(12)
116*a775ef25SJacky Bai #define HDMIMIX_ADB400_SYNC		BIT(13)
117*a775ef25SJacky Bai #define MEDIAMIX_ADB400_SYNC		BIT(14)
118*a775ef25SJacky Bai 
119*a775ef25SJacky Bai #define AUDIOMIX_ADB400_ACK		(BIT(20) | BIT(31))
120*a775ef25SJacky Bai #define MLMIX_ADB400_ACK		(BIT(23) | BIT(24))
121*a775ef25SJacky Bai #define GPUMIX_ADB400_ACK		BIT(25)
122*a775ef25SJacky Bai #define VPUMIX_ADB400_ACK		BIT(26)
123*a775ef25SJacky Bai #define DDRMIX_ADB400_ACK		BIT(27)
124*a775ef25SJacky Bai #define HSIOMIX_ADB400_ACK		BIT(28)
125*a775ef25SJacky Bai #define HDMIMIX_ADB400_ACK		BIT(29)
126*a775ef25SJacky Bai #define MEDIAMIX_ADB400_ACK		BIT(30)
127*a775ef25SJacky Bai 
128*a775ef25SJacky Bai #define MIPI_PHY1_PGC			0xb00
129*a775ef25SJacky Bai #define PCIE_PHY_PGC			0xb40
130*a775ef25SJacky Bai #define USB1_PHY_PGC			0xb80
131*a775ef25SJacky Bai #define USB2_PHY_PGC			0xbc0
132*a775ef25SJacky Bai #define MLMIX_PGC			0xc00
133*a775ef25SJacky Bai #define AUDIOMIX_PGC			0xc40
134*a775ef25SJacky Bai #define GPU2D_PGC			0xc80
135*a775ef25SJacky Bai #define GPUMIX_PGC			0xcc0
136*a775ef25SJacky Bai #define VPUMIX_PGC			0xd00
137*a775ef25SJacky Bai #define GPU3D_PGC			0xd40
138*a775ef25SJacky Bai #define MEDIAMIX_PGC			0xd80
139*a775ef25SJacky Bai #define VPU_G1_PGC			0xdc0
140*a775ef25SJacky Bai #define VPU_G2_PGC			0xe00
141*a775ef25SJacky Bai #define VPU_H1_PGC			0xe40
142*a775ef25SJacky Bai #define HDMIMIX_PGC			0xe80
143*a775ef25SJacky Bai #define HDMI_PHY_PGC			0xec0
144*a775ef25SJacky Bai #define MIPI_PHY2_PGC			0xf00
145*a775ef25SJacky Bai #define HSIOMIX_PGC			0xf40
146*a775ef25SJacky Bai #define MEDIAMIX_ISPDWP_PGC		0xf80
147*a775ef25SJacky Bai #define DDRMIX_PGC			0xfc0
148*a775ef25SJacky Bai 
149*a775ef25SJacky Bai #endif /* GPC_REG_H */
150