xref: /rk3399_ARM-atf/plat/rockchip/rk3568/drivers/soc/soc.h (revision fe4df8bdae0a5d1d87c67c24fdd03595cd90dd08)
1*9fd9f1d0Sshengfei Xu /*
2*9fd9f1d0Sshengfei Xu  * Copyright (c) 2023, ARM Limited and Contributors. All rights reserved.
3*9fd9f1d0Sshengfei Xu  *
4*9fd9f1d0Sshengfei Xu  * SPDX-License-Identifier: BSD-3-Clause
5*9fd9f1d0Sshengfei Xu  */
6*9fd9f1d0Sshengfei Xu 
7*9fd9f1d0Sshengfei Xu #ifndef __SOC_H__
8*9fd9f1d0Sshengfei Xu #define __SOC_H__
9*9fd9f1d0Sshengfei Xu 
10*9fd9f1d0Sshengfei Xu #define RKFPGA_DEV_RNG0_BASE		0xf8000000
11*9fd9f1d0Sshengfei Xu #define RKFPGA_DEV_RNG0_SIZE		0x07fff000
12*9fd9f1d0Sshengfei Xu 
13*9fd9f1d0Sshengfei Xu #define CRU_MODE_CON00			0x00c0
14*9fd9f1d0Sshengfei Xu #define PMUCRU_MODE_CON00		0x0080
15*9fd9f1d0Sshengfei Xu 
16*9fd9f1d0Sshengfei Xu #define CRU_GLB_SRST_FST		0x00d4
17*9fd9f1d0Sshengfei Xu #define GLB_SRST_FST_CFG_VAL		0xfdb9
18*9fd9f1d0Sshengfei Xu 
19*9fd9f1d0Sshengfei Xu #define PMU_GRF_GPIO0A_IOMUX_L		0x00
20*9fd9f1d0Sshengfei Xu #define PMU_GRF_SOC_CON(i)		(0x0100 + i * 4)
21*9fd9f1d0Sshengfei Xu 
22*9fd9f1d0Sshengfei Xu #define CRU_SOFTRST_CON			0x300
23*9fd9f1d0Sshengfei Xu #define CRU_SOFTRSTS_CON(n)		(CRU_SOFTRST_CON + ((n) * 4))
24*9fd9f1d0Sshengfei Xu #define CRU_SOFTRSTS_CON_CNT		26
25*9fd9f1d0Sshengfei Xu #define GRF_DDR_CON3			0x000c
26*9fd9f1d0Sshengfei Xu #define SGRF_FIREWALL_SLV_CON(i)	(0x240 + i * 4)
27*9fd9f1d0Sshengfei Xu 
28*9fd9f1d0Sshengfei Xu #define FIREWALL_DDR_FW_DDR_CON_REG	0x80
29*9fd9f1d0Sshengfei Xu 
30*9fd9f1d0Sshengfei Xu  /* low 32 bits */
31*9fd9f1d0Sshengfei Xu #define TIMER_LOAD_COUNT0		0x00
32*9fd9f1d0Sshengfei Xu #define TIMER_LOAD_COUNT1		0x04
33*9fd9f1d0Sshengfei Xu #define TIMER_CURRENT_VALUE0		0x08
34*9fd9f1d0Sshengfei Xu #define TIMER_CURRENT_VALUE1		0x0c
35*9fd9f1d0Sshengfei Xu #define TIMER_CONTROL_REG		0x10
36*9fd9f1d0Sshengfei Xu #define TIMER_INTSTATUS			0x18
37*9fd9f1d0Sshengfei Xu #define TIMER_DIS			0x0
38*9fd9f1d0Sshengfei Xu #define TIMER_EN			0x1
39*9fd9f1d0Sshengfei Xu #define STIMER0_CHN_BASE(n)		(STIME_BASE + 0x20 * (n))
40*9fd9f1d0Sshengfei Xu 
41*9fd9f1d0Sshengfei Xu #define PMU_GRF_GPIO0B_IOMUX_L		0x0008
42*9fd9f1d0Sshengfei Xu #define PMUCRU_PMUCLKSEL_CON00		0x0100
43*9fd9f1d0Sshengfei Xu #define PMUPVTM_BASE			0xfdd80000
44*9fd9f1d0Sshengfei Xu #define PVTM_CON0			0x0004
45*9fd9f1d0Sshengfei Xu #define PVTM_CON1			0x0008
46*9fd9f1d0Sshengfei Xu #define PVTM_STATUS0			0x0080
47*9fd9f1d0Sshengfei Xu #define PVTM_STATUS1			0x0084
48*9fd9f1d0Sshengfei Xu #define PMUCRU_PMUGATE_CON01		0x0184
49*9fd9f1d0Sshengfei Xu #define PVTM_CALC_CNT			0x200
50*9fd9f1d0Sshengfei Xu #define PMU_GRF_DLL_CON0		0x0180
51*9fd9f1d0Sshengfei Xu 
52*9fd9f1d0Sshengfei Xu enum cru_mode_con00 {
53*9fd9f1d0Sshengfei Xu 	CLK_APLL,
54*9fd9f1d0Sshengfei Xu 	CLK_DPLL,
55*9fd9f1d0Sshengfei Xu 	CLK_CPLL,
56*9fd9f1d0Sshengfei Xu 	CLK_GPLL,
57*9fd9f1d0Sshengfei Xu 	CLK_REVSERVED,
58*9fd9f1d0Sshengfei Xu 	CLK_NPLL,
59*9fd9f1d0Sshengfei Xu 	CLK_VPLL,
60*9fd9f1d0Sshengfei Xu 	CLK_USBPLL,
61*9fd9f1d0Sshengfei Xu };
62*9fd9f1d0Sshengfei Xu 
63*9fd9f1d0Sshengfei Xu #endif /* __SOC_H__ */
64