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