xref: /rk3399_ARM-atf/plat/rockchip/rk3588/drivers/scmi/rk3588_clk.h (revision 04150fee44cc0dec5bbe4cce42e2b626695d6f52)
1*04150feeSXiaoDong Huang /*
2*04150feeSXiaoDong Huang  * Copyright (c) 2024, Rockchip, Inc. All rights reserved.
3*04150feeSXiaoDong Huang  *
4*04150feeSXiaoDong Huang  * SPDX-License-Identifier: BSD-3-Clause
5*04150feeSXiaoDong Huang  */
6*04150feeSXiaoDong Huang 
7*04150feeSXiaoDong Huang #ifndef __CLOCK_H__
8*04150feeSXiaoDong Huang #define __CLOCK_H__
9*04150feeSXiaoDong Huang 
10*04150feeSXiaoDong Huang /* scmi-clocks indices */
11*04150feeSXiaoDong Huang 
12*04150feeSXiaoDong Huang #define SCMI_CLK_CPUL			0
13*04150feeSXiaoDong Huang #define SCMI_CLK_DSU			1
14*04150feeSXiaoDong Huang #define SCMI_CLK_CPUB01			2
15*04150feeSXiaoDong Huang #define SCMI_CLK_CPUB23			3
16*04150feeSXiaoDong Huang #define SCMI_CLK_DDR			4
17*04150feeSXiaoDong Huang #define SCMI_CLK_GPU			5
18*04150feeSXiaoDong Huang #define SCMI_CLK_NPU			6
19*04150feeSXiaoDong Huang #define SCMI_CLK_SBUS			7
20*04150feeSXiaoDong Huang #define SCMI_PCLK_SBUS			8
21*04150feeSXiaoDong Huang #define SCMI_CCLK_SD			9
22*04150feeSXiaoDong Huang #define SCMI_DCLK_SD			10
23*04150feeSXiaoDong Huang #define SCMI_ACLK_SECURE_NS		11
24*04150feeSXiaoDong Huang #define SCMI_HCLK_SECURE_NS		12
25*04150feeSXiaoDong Huang #define SCMI_TCLK_WDT			13
26*04150feeSXiaoDong Huang #define SCMI_KEYLADDER_CORE		14
27*04150feeSXiaoDong Huang #define SCMI_KEYLADDER_RNG		15
28*04150feeSXiaoDong Huang #define SCMI_ACLK_SECURE_S		16
29*04150feeSXiaoDong Huang #define SCMI_HCLK_SECURE_S		17
30*04150feeSXiaoDong Huang #define SCMI_PCLK_SECURE_S		18
31*04150feeSXiaoDong Huang #define SCMI_CRYPTO_RNG			19
32*04150feeSXiaoDong Huang #define SCMI_CRYPTO_CORE		20
33*04150feeSXiaoDong Huang #define SCMI_CRYPTO_PKA			21
34*04150feeSXiaoDong Huang #define SCMI_SPLL			22
35*04150feeSXiaoDong Huang #define SCMI_HCLK_SD			23
36*04150feeSXiaoDong Huang #define SCMI_CRYPTO_RNG_S		24
37*04150feeSXiaoDong Huang #define SCMI_CRYPTO_CORE_S		25
38*04150feeSXiaoDong Huang #define SCMI_CRYPTO_PKA_S		26
39*04150feeSXiaoDong Huang #define SCMI_A_CRYPTO_S			27
40*04150feeSXiaoDong Huang #define SCMI_H_CRYPTO_S			28
41*04150feeSXiaoDong Huang #define SCMI_P_CRYPTO_S			29
42*04150feeSXiaoDong Huang #define SCMI_A_KEYLADDER_S		30
43*04150feeSXiaoDong Huang #define SCMI_H_KEYLADDER_S		31
44*04150feeSXiaoDong Huang #define SCMI_P_KEYLADDER_S		32
45*04150feeSXiaoDong Huang #define SCMI_TRNG_S			33
46*04150feeSXiaoDong Huang #define SCMI_H_TRNG_S			34
47*04150feeSXiaoDong Huang #define SCMI_P_OTPC_S			35
48*04150feeSXiaoDong Huang #define SCMI_OTPC_S			36
49*04150feeSXiaoDong Huang #define SCMI_OTP_PHY			37
50*04150feeSXiaoDong Huang #define SCMI_OTPC_AUTO_RD		38
51*04150feeSXiaoDong Huang #define SCMI_OTPC_ARB			39
52*04150feeSXiaoDong Huang 
53*04150feeSXiaoDong Huang /******** DSUCRU **************************************/
54*04150feeSXiaoDong Huang #define DSUCRU_CLKSEL_CON(n)		(0x0300 + (n) * 4)
55*04150feeSXiaoDong Huang 
56*04150feeSXiaoDong Huang /********Name=DSUCRU_CLKSEL_CON04,Offset=0x310********/
57*04150feeSXiaoDong Huang #define PCLK_DSU_ROOT_SEL_SHIFT		5
58*04150feeSXiaoDong Huang #define PCLK_DSU_ROOT_SEL_MASK		0x3
59*04150feeSXiaoDong Huang #define PCLK_DSU_ROOT_SEL_GPLL		0x3
60*04150feeSXiaoDong Huang 
61*04150feeSXiaoDong Huang /********Name=SECURE_SOFTRST_CON00,Offset=0xA00********/
62*04150feeSXiaoDong Huang #define SRST_A_SECURE_NS_BIU		10
63*04150feeSXiaoDong Huang #define SRST_H_SECURE_NS_BIU		11
64*04150feeSXiaoDong Huang #define SRST_A_SECURE_S_BIU		12
65*04150feeSXiaoDong Huang #define SRST_H_SECURE_S_BIU		13
66*04150feeSXiaoDong Huang #define SRST_P_SECURE_S_BIU		14
67*04150feeSXiaoDong Huang #define SRST_CRYPTO_CORE		15
68*04150feeSXiaoDong Huang /********Name=SECURE_SOFTRST_CON01,Offset=0xA04********/
69*04150feeSXiaoDong Huang #define SRST_CRYPTO_PKA			16
70*04150feeSXiaoDong Huang #define SRST_CRYPTO_RNG			17
71*04150feeSXiaoDong Huang #define SRST_A_CRYPTO			18
72*04150feeSXiaoDong Huang #define SRST_H_CRYPTO			19
73*04150feeSXiaoDong Huang #define SRST_KEYLADDER_CORE		25
74*04150feeSXiaoDong Huang #define SRST_KEYLADDER_RNG		26
75*04150feeSXiaoDong Huang #define SRST_A_KEYLADDER		27
76*04150feeSXiaoDong Huang #define SRST_H_KEYLADDER		28
77*04150feeSXiaoDong Huang #define SRST_P_OTPC_S			29
78*04150feeSXiaoDong Huang #define SRST_OTPC_S			30
79*04150feeSXiaoDong Huang #define SRST_WDT_S			31
80*04150feeSXiaoDong Huang /********Name=SECURE_SOFTRST_CON02,Offset=0xA08********/
81*04150feeSXiaoDong Huang #define SRST_T_WDT_S			32
82*04150feeSXiaoDong Huang #define SRST_H_BOOTROM			33
83*04150feeSXiaoDong Huang #define SRST_A_DCF			34
84*04150feeSXiaoDong Huang #define SRST_P_DCF			35
85*04150feeSXiaoDong Huang #define SRST_H_BOOTROM_NS		37
86*04150feeSXiaoDong Huang #define SRST_P_KEYLADDER		46
87*04150feeSXiaoDong Huang #define SRST_H_TRNG_S			47
88*04150feeSXiaoDong Huang /********Name=SECURE_SOFTRST_CON03,Offset=0xA0C********/
89*04150feeSXiaoDong Huang #define SRST_H_TRNG_NS			48
90*04150feeSXiaoDong Huang #define SRST_D_SDMMC_BUFFER		49
91*04150feeSXiaoDong Huang #define SRST_H_SDMMC			50
92*04150feeSXiaoDong Huang #define SRST_H_SDMMC_BUFFER		51
93*04150feeSXiaoDong Huang #define SRST_SDMMC			52
94*04150feeSXiaoDong Huang #define SRST_P_TRNG_CHK			53
95*04150feeSXiaoDong Huang #define SRST_TRNG_S			54
96*04150feeSXiaoDong Huang 
97*04150feeSXiaoDong Huang #define SRST_INVALID			55
98*04150feeSXiaoDong Huang 
99*04150feeSXiaoDong Huang void pvtplls_suspend(void);
100*04150feeSXiaoDong Huang void pvtplls_resume(void);
101*04150feeSXiaoDong Huang 
102*04150feeSXiaoDong Huang void rockchip_clock_init(void);
103*04150feeSXiaoDong Huang 
104*04150feeSXiaoDong Huang #endif
105