xref: /rk3399_rockchip-uboot/arch/arm/mach-uniphier/sc-regs.h (revision 8197d92843952b376915fdbcbf67c723feab1532)
1107b3fb4SMasahiro Yamada /*
2107b3fb4SMasahiro Yamada  * UniPhier SC (System Control) block registers
3107b3fb4SMasahiro Yamada  *
4*29d63a59SMasahiro Yamada  * Copyright (C) 2011-2015 Panasonic Corporation
5*29d63a59SMasahiro Yamada  * Copyright (C) 2015-2016 Socionext Inc.
6*29d63a59SMasahiro Yamada  *   Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7107b3fb4SMasahiro Yamada  *
8107b3fb4SMasahiro Yamada  * SPDX-License-Identifier:	GPL-2.0+
9107b3fb4SMasahiro Yamada  */
10107b3fb4SMasahiro Yamada 
11107b3fb4SMasahiro Yamada #ifndef ARCH_SC_REGS_H
12107b3fb4SMasahiro Yamada #define ARCH_SC_REGS_H
13107b3fb4SMasahiro Yamada 
14107b3fb4SMasahiro Yamada #define SC_BASE_ADDR			0x61840000
15107b3fb4SMasahiro Yamada 
16107b3fb4SMasahiro Yamada #define SC_DPLLOSCCTRL			(SC_BASE_ADDR | 0x1110)
17107b3fb4SMasahiro Yamada #define SC_DPLLOSCCTRL_DPLLST		(0x1 << 1)
18107b3fb4SMasahiro Yamada #define SC_DPLLOSCCTRL_DPLLEN		(0x1 << 0)
19107b3fb4SMasahiro Yamada 
20107b3fb4SMasahiro Yamada #define SC_DPLLCTRL			(SC_BASE_ADDR | 0x1200)
21107b3fb4SMasahiro Yamada #define SC_DPLLCTRL_SSC_EN		(0x1 << 31)
22107b3fb4SMasahiro Yamada #define SC_DPLLCTRL_FOUTMODE_MASK        (0xf << 16)
23107b3fb4SMasahiro Yamada #define SC_DPLLCTRL_SSC_RATE		(0x1 << 15)
24107b3fb4SMasahiro Yamada 
25107b3fb4SMasahiro Yamada #define SC_DPLLCTRL2			(SC_BASE_ADDR | 0x1204)
26107b3fb4SMasahiro Yamada #define SC_DPLLCTRL2_NRSTDS		(0x1 << 28)
27107b3fb4SMasahiro Yamada 
28107b3fb4SMasahiro Yamada #define SC_DPLLCTRL3			(SC_BASE_ADDR | 0x1208)
29107b3fb4SMasahiro Yamada #define SC_DPLLCTRL3_LPFSEL_COEF2	(0x0 << 31)
30107b3fb4SMasahiro Yamada #define SC_DPLLCTRL3_LPFSEL_COEF3	(0x1 << 31)
31107b3fb4SMasahiro Yamada 
32107b3fb4SMasahiro Yamada #define SC_UPLLCTRL			(SC_BASE_ADDR | 0x1210)
33107b3fb4SMasahiro Yamada 
34107b3fb4SMasahiro Yamada #define SC_VPLL27ACTRL			(SC_BASE_ADDR | 0x1270)
35107b3fb4SMasahiro Yamada #define SC_VPLL27ACTRL2			(SC_BASE_ADDR | 0x1274)
36107b3fb4SMasahiro Yamada #define SC_VPLL27ACTRL3			(SC_BASE_ADDR | 0x1278)
37107b3fb4SMasahiro Yamada 
38107b3fb4SMasahiro Yamada #define SC_VPLL27BCTRL			(SC_BASE_ADDR | 0x1290)
39107b3fb4SMasahiro Yamada #define SC_VPLL27BCTRL2			(SC_BASE_ADDR | 0x1294)
40107b3fb4SMasahiro Yamada #define SC_VPLL27BCTRL3			(SC_BASE_ADDR | 0x1298)
41107b3fb4SMasahiro Yamada 
42107b3fb4SMasahiro Yamada #define SC_RSTCTRL			(SC_BASE_ADDR | 0x2000)
43107b3fb4SMasahiro Yamada #define SC_RSTCTRL_NRST_USB3B0		(0x1 << 17)	/* USB3 #0 bus */
44107b3fb4SMasahiro Yamada #define SC_RSTCTRL_NRST_USB3C0		(0x1 << 16)	/* USB3 #0 core */
45107b3fb4SMasahiro Yamada #define SC_RSTCTRL_NRST_ETHER		(0x1 << 12)
46107b3fb4SMasahiro Yamada #define SC_RSTCTRL_NRST_STDMAC		(0x1 << 10)
47107b3fb4SMasahiro Yamada #define SC_RSTCTRL_NRST_GIO		(0x1 <<  6)
48107b3fb4SMasahiro Yamada /* Pro4 or older */
49107b3fb4SMasahiro Yamada #define SC_RSTCTRL_NRST_UMC1		(0x1 <<  5)
50107b3fb4SMasahiro Yamada #define SC_RSTCTRL_NRST_UMC0		(0x1 <<  4)
51107b3fb4SMasahiro Yamada #define SC_RSTCTRL_NRST_NAND		(0x1 <<  2)
52107b3fb4SMasahiro Yamada 
53107b3fb4SMasahiro Yamada #define SC_RSTCTRL2			(SC_BASE_ADDR | 0x2004)
54107b3fb4SMasahiro Yamada #define SC_RSTCTRL2_NRST_USB3B1		(0x1 << 17)	/* USB3 #1 bus */
55107b3fb4SMasahiro Yamada #define SC_RSTCTRL2_NRST_USB3C1		(0x1 << 16)	/* USB3 #1 core */
56107b3fb4SMasahiro Yamada 
57107b3fb4SMasahiro Yamada #define SC_RSTCTRL3			(SC_BASE_ADDR | 0x2008)
58107b3fb4SMasahiro Yamada 
59107b3fb4SMasahiro Yamada /* Pro5 or newer */
60107b3fb4SMasahiro Yamada #define SC_RSTCTRL4			(SC_BASE_ADDR | 0x200c)
61107b3fb4SMasahiro Yamada #define SC_RSTCTRL4_NRST_UMCSB		(0x1 << 12)	/* UMC system bus */
62107b3fb4SMasahiro Yamada #define SC_RSTCTRL4_NRST_UMCA2		(0x1 << 10)	/* UMC ch2 standby */
63107b3fb4SMasahiro Yamada #define SC_RSTCTRL4_NRST_UMCA1		(0x1 <<  9)	/* UMC ch1 standby */
64107b3fb4SMasahiro Yamada #define SC_RSTCTRL4_NRST_UMCA0		(0x1 <<  8)	/* UMC ch0 standby */
65107b3fb4SMasahiro Yamada #define SC_RSTCTRL4_NRST_UMC32		(0x1 <<  6)	/* UMC ch2 */
66107b3fb4SMasahiro Yamada #define SC_RSTCTRL4_NRST_UMC31		(0x1 <<  5)	/* UMC ch1 */
67107b3fb4SMasahiro Yamada #define SC_RSTCTRL4_NRST_UMC30		(0x1 <<  4)	/* UMC ch0 */
68107b3fb4SMasahiro Yamada 
69*29d63a59SMasahiro Yamada #define SC_RSTCTRL5			(SC_BASE_ADDR | 0x2010)
70*29d63a59SMasahiro Yamada 
71*29d63a59SMasahiro Yamada #define SC_RSTCTRL6			(SC_BASE_ADDR | 0x2014)
72*29d63a59SMasahiro Yamada 
73107b3fb4SMasahiro Yamada #define SC_CLKCTRL			(SC_BASE_ADDR | 0x2104)
74107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_USB31		(0x1 << 17)	/* USB3 #1 */
75107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_USB30		(0x1 << 16)	/* USB3 #0 */
76107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_ETHER		(0x1 << 12)
77107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_MIO		(0x1 << 11)
78107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_STDMAC		(0x1 << 10)
79107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_GIO		(0x1 <<  6)
80107b3fb4SMasahiro Yamada /* Pro4 or older */
81107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_UMC		(0x1 <<  4)
82107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_NAND		(0x1 <<  2)
83107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_SBC		(0x1 <<  1)
84107b3fb4SMasahiro Yamada #define SC_CLKCTRL_CEN_PERI		(0x1 <<  0)
85107b3fb4SMasahiro Yamada 
86107b3fb4SMasahiro Yamada /* Pro5 or newer */
87107b3fb4SMasahiro Yamada #define SC_CLKCTRL4			(SC_BASE_ADDR | 0x210c)
88107b3fb4SMasahiro Yamada #define SC_CLKCTRL4_CEN_UMCSB		(0x1 << 12)	/* UMC system bus */
89107b3fb4SMasahiro Yamada #define SC_CLKCTRL4_CEN_UMC2		(0x1 <<  2)	/* UMC ch2 */
90107b3fb4SMasahiro Yamada #define SC_CLKCTRL4_CEN_UMC1		(0x1 <<  1)	/* UMC ch1 */
91107b3fb4SMasahiro Yamada #define SC_CLKCTRL4_CEN_UMC0		(0x1 <<  0)	/* UMC ch0 */
92107b3fb4SMasahiro Yamada 
93107b3fb4SMasahiro Yamada /* System reset control register */
94107b3fb4SMasahiro Yamada #define SC_IRQTIMSET			(SC_BASE_ADDR | 0x3000)
95107b3fb4SMasahiro Yamada #define SC_SLFRSTSEL			(SC_BASE_ADDR | 0x3010)
96107b3fb4SMasahiro Yamada #define SC_SLFRSTCTL			(SC_BASE_ADDR | 0x3014)
97107b3fb4SMasahiro Yamada 
98107b3fb4SMasahiro Yamada #endif /* ARCH_SC_REGS_H */
99