xref: /rk3399_ARM-atf/plat/imx/imx8m/imx8mn/include/gpc_reg.h (revision 9e5c3e92ab15aed9f6e40d13c1d0a2e7f1b9b9de)
1*9e5c3e92SJacky Bai /*
2*9e5c3e92SJacky Bai  * Copyright 2020 NXP
3*9e5c3e92SJacky Bai  *
4*9e5c3e92SJacky Bai  * SPDX-License-Identifier: BSD-3-Clause
5*9e5c3e92SJacky Bai  */
6*9e5c3e92SJacky Bai 
7*9e5c3e92SJacky Bai #ifndef GPC_REG_H
8*9e5c3e92SJacky Bai #define GPC_REG_H
9*9e5c3e92SJacky Bai 
10*9e5c3e92SJacky Bai #define LPCR_A53_BSC			0x0
11*9e5c3e92SJacky Bai #define LPCR_A53_BSC2			0x108
12*9e5c3e92SJacky Bai #define LPCR_A53_AD			0x4
13*9e5c3e92SJacky Bai #define LPCR_M4				0x8
14*9e5c3e92SJacky Bai #define SLPCR				0x14
15*9e5c3e92SJacky Bai #define MST_CPU_MAPPING			0x18
16*9e5c3e92SJacky Bai #define MLPCR				0x20
17*9e5c3e92SJacky Bai #define PGC_ACK_SEL_A53			0x24
18*9e5c3e92SJacky Bai #define IMR1_CORE0_A53			0x30
19*9e5c3e92SJacky Bai #define IMR1_CORE1_A53			0x40
20*9e5c3e92SJacky Bai #define IMR1_CORE2_A53			0x1C0
21*9e5c3e92SJacky Bai #define IMR1_CORE3_A53			0x1D0
22*9e5c3e92SJacky Bai #define IMR1_CORE0_M4			0x50
23*9e5c3e92SJacky Bai #define SLT0_CFG			0xB0
24*9e5c3e92SJacky Bai #define GPC_PU_PWRHSK			0x1FC
25*9e5c3e92SJacky Bai #define PGC_CPU_0_1_MAPPING		0xEC
26*9e5c3e92SJacky Bai #define CPU_PGC_UP_TRG			0xF0
27*9e5c3e92SJacky Bai #define PU_PGC_UP_TRG			0xF8
28*9e5c3e92SJacky Bai #define CPU_PGC_DN_TRG			0xFC
29*9e5c3e92SJacky Bai #define PU_PGC_DN_TRG			0x104
30*9e5c3e92SJacky Bai #define LPS_CPU1			0x114
31*9e5c3e92SJacky Bai #define A53_CORE0_PGC			0x800
32*9e5c3e92SJacky Bai #define A53_PLAT_PGC			0x900
33*9e5c3e92SJacky Bai #define PLAT_PGC_PCR			0x900
34*9e5c3e92SJacky Bai #define NOC_PGC_PCR			0xa40
35*9e5c3e92SJacky Bai #define PGC_SCU_TIMING			0x910
36*9e5c3e92SJacky Bai 
37*9e5c3e92SJacky Bai #define MASK_DSM_TRIGGER_A53		BIT(31)
38*9e5c3e92SJacky Bai #define IRQ_SRC_A53_WUP			BIT(30)
39*9e5c3e92SJacky Bai #define IRQ_SRC_A53_WUP_SHIFT		30
40*9e5c3e92SJacky Bai #define IRQ_SRC_C1			BIT(29)
41*9e5c3e92SJacky Bai #define IRQ_SRC_C0			BIT(28)
42*9e5c3e92SJacky Bai #define IRQ_SRC_C3			BIT(23)
43*9e5c3e92SJacky Bai #define IRQ_SRC_C2			BIT(22)
44*9e5c3e92SJacky Bai #define CPU_CLOCK_ON_LPM		BIT(14)
45*9e5c3e92SJacky Bai #define A53_CLK_ON_LPM			BIT(14)
46*9e5c3e92SJacky Bai #define MASTER0_LPM_HSK			BIT(6)
47*9e5c3e92SJacky Bai #define MASTER1_LPM_HSK			BIT(7)
48*9e5c3e92SJacky Bai #define MASTER2_LPM_HSK			BIT(8)
49*9e5c3e92SJacky Bai 
50*9e5c3e92SJacky Bai #define L2PGE				BIT(31)
51*9e5c3e92SJacky Bai #define EN_L2_WFI_PDN			BIT(5)
52*9e5c3e92SJacky Bai #define EN_PLAT_PDN			BIT(4)
53*9e5c3e92SJacky Bai 
54*9e5c3e92SJacky Bai #define SLPCR_EN_DSM			BIT(31)
55*9e5c3e92SJacky Bai #define SLPCR_RBC_EN			BIT(30)
56*9e5c3e92SJacky Bai #define SLPCR_A53_FASTWUP_STOP_MODE	BIT(17)
57*9e5c3e92SJacky Bai #define SLPCR_A53_FASTWUP_WAIT_MODE	BIT(16)
58*9e5c3e92SJacky Bai #define SLPCR_VSTBY			BIT(2)
59*9e5c3e92SJacky Bai #define SLPCR_SBYOS			BIT(1)
60*9e5c3e92SJacky Bai #define SLPCR_BYPASS_PMIC_READY		BIT(0)
61*9e5c3e92SJacky Bai #define SLPCR_RBC_COUNT_SHIFT		24
62*9e5c3e92SJacky Bai #define SLPCR_STBY_COUNT_SHFT		3
63*9e5c3e92SJacky Bai 
64*9e5c3e92SJacky Bai #define A53_DUMMY_PDN_ACK		BIT(15)
65*9e5c3e92SJacky Bai #define A53_DUMMY_PUP_ACK		BIT(31)
66*9e5c3e92SJacky Bai #define A53_PLAT_PDN_ACK		BIT(2)
67*9e5c3e92SJacky Bai #define A53_PLAT_PUP_ACK		BIT(18)
68*9e5c3e92SJacky Bai #define NOC_PDN_SLT_CTRL		BIT(10)
69*9e5c3e92SJacky Bai #define NOC_PUP_SLT_CTRL		BIT(11)
70*9e5c3e92SJacky Bai #define NOC_PGC_PDN_ACK			BIT(3)
71*9e5c3e92SJacky Bai #define NOC_PGC_PUP_ACK			BIT(19)
72*9e5c3e92SJacky Bai 
73*9e5c3e92SJacky Bai #define PLAT_PUP_SLT_CTRL		BIT(9)
74*9e5c3e92SJacky Bai #define PLAT_PDN_SLT_CTRL		BIT(8)
75*9e5c3e92SJacky Bai 
76*9e5c3e92SJacky Bai #define SLT_PLAT_PDN			BIT(8)
77*9e5c3e92SJacky Bai #define SLT_PLAT_PUP			BIT(9)
78*9e5c3e92SJacky Bai 
79*9e5c3e92SJacky Bai #define MASTER1_MAPPING			BIT(1)
80*9e5c3e92SJacky Bai #define MASTER2_MAPPING			BIT(2)
81*9e5c3e92SJacky Bai 
82*9e5c3e92SJacky Bai #define TMR_TCD2_SHIFT			0
83*9e5c3e92SJacky Bai #define TMC_TMR_SHIFT			10
84*9e5c3e92SJacky Bai #define TRC1_TMC_SHIFT			20
85*9e5c3e92SJacky Bai 
86*9e5c3e92SJacky Bai #define MIPI_PWR_REQ			BIT(0)
87*9e5c3e92SJacky Bai #define OTG1_PWR_REQ			BIT(2)
88*9e5c3e92SJacky Bai #define HSIOMIX_PWR_REQ			BIT(4)
89*9e5c3e92SJacky Bai #define DDRMIX_PWR_REQ			BIT(5)
90*9e5c3e92SJacky Bai #define GPUMIX_PWR_REQ			BIT(7)
91*9e5c3e92SJacky Bai #define DISPMIX_PWR_REQ			BIT(10)
92*9e5c3e92SJacky Bai 
93*9e5c3e92SJacky Bai #define DDRMIX_ADB400_SYNC		BIT(2)
94*9e5c3e92SJacky Bai #define HSIOMIX_ADB400_SYNC		BIT(5)
95*9e5c3e92SJacky Bai #define DISPMIX_ADB400_SYNC		BIT(7)
96*9e5c3e92SJacky Bai #define GPUMIX_ADB400_SYNC		(0x5 << 9)
97*9e5c3e92SJacky Bai #define DDRMIX_ADB400_ACK		BIT(20)
98*9e5c3e92SJacky Bai #define HSIOMIX_ADB400_ACK		BIT(23)
99*9e5c3e92SJacky Bai #define DISPMIX_ADB400_ACK		BIT(25)
100*9e5c3e92SJacky Bai #define GPUMIX_ADB400_ACK		(0x5 << 27)
101*9e5c3e92SJacky Bai 
102*9e5c3e92SJacky Bai #define MIPI_PGC			0xc00
103*9e5c3e92SJacky Bai #define OTG1_PGC			0xc80
104*9e5c3e92SJacky Bai #define HSIOMIX_PGC			0xd00
105*9e5c3e92SJacky Bai #define DDRMIX_PGC			0xd40
106*9e5c3e92SJacky Bai #define GPUMIX_PGC			0xdc0
107*9e5c3e92SJacky Bai #define DISPMIX_PGC			0xe80
108*9e5c3e92SJacky Bai 
109*9e5c3e92SJacky Bai #endif /* GPC_REG_H */
110