xref: /netbsd-src/sys/arch/arm/altera/cycv_reg.h (revision e6c2e80739ebe8325757879cc09773b684b9a0d1)
1*e6c2e807Sskrll /* $NetBSD: cycv_reg.h,v 1.2 2018/10/18 09:01:52 skrll Exp $ */
2c8bd03e7Saymeric #ifndef _ARM_ALTERA_CYCV_REG_H
3c8bd03e7Saymeric #define _ARM_ALTERA_CYCV_REG_H
4c8bd03e7Saymeric 
5*e6c2e807Sskrll #define CYCV_SDRAM_VBASE	0xf0000000
6c8bd03e7Saymeric #define CYCV_SDRAM_BASE		0x0
7*e6c2e807Sskrll #define CYCV_SDRAM_SIZE		L1_S_SIZE
8c8bd03e7Saymeric 
9c8bd03e7Saymeric #define CYCV_PERIPHERAL_BASE	0xFC000000
10c8bd03e7Saymeric #define CYCV_PERIPHERAL_SIZE	(64 * 1024 * 1024)
11c8bd03e7Saymeric 
12c8bd03e7Saymeric #define CYCV_PERIPHERAL_VBASE	CYCV_PERIPHERAL_BASE
13c8bd03e7Saymeric 
14c8bd03e7Saymeric /* Clock manager */
15c8bd03e7Saymeric 
16c8bd03e7Saymeric #define CYCV_CLKMGR_BASE			0xFFD04000
17c8bd03e7Saymeric #define CYCV_CLKMGR_SIZE			0x1000
18c8bd03e7Saymeric 
19c8bd03e7Saymeric #define CYCV_CLKMGR_CTRL			0x00
20c8bd03e7Saymeric #define CYCV_CLKMGR_CTRL_SAFEMODE			__BIT(0)
21c8bd03e7Saymeric #define CYCV_CLKMGR_CTRL_ENSFMDWR			__BIT(2)
22c8bd03e7Saymeric 
23c8bd03e7Saymeric #define CYCV_CLKMGR_BYPASS			0x04
24c8bd03e7Saymeric #define CYCV_CLKMGR_BYPASS_MAINPLL			__BIT(0)
25c8bd03e7Saymeric #define CYCV_CLKMGR_BYPASS_SDRPLL			__BIT(1)
26c8bd03e7Saymeric #define CYCV_CLKMGR_BYPASS_SDRPLLSRC			__BIT(2)
27c8bd03e7Saymeric #define CYCV_CLKMGR_BYPASS_PERPLL			__BIT(3)
28c8bd03e7Saymeric #define CYCV_CLKMGR_BYPASS_PERPLLSRC			__BIT(4)
29c8bd03e7Saymeric 
30c8bd03e7Saymeric #define CYCV_CLKMGR_INTER			0x08
31c8bd03e7Saymeric #define CYCV_CLKMGR_INT_MAINPLLACHIEVED			__BIT(0)
32c8bd03e7Saymeric #define CYCV_CLKMGR_INT_PERPLLACHIEVED			__BIT(1)
33c8bd03e7Saymeric #define CYCV_CLKMGR_INT_SDRPLLACHIEVED			__BIT(2)
34c8bd03e7Saymeric #define CYCV_CLKMGR_INT_MAINPLLLOST			__BIT(3)
35c8bd03e7Saymeric #define CYCV_CLKMGR_INT_PERPLLLOST			__BIT(4)
36c8bd03e7Saymeric #define CYCV_CLKMGR_INT_SDRPLLLOST			__BIT(5)
37c8bd03e7Saymeric #define CYCV_CLKMGR_INTER_MAINPLLLOCKED			__BIT(6)
38c8bd03e7Saymeric #define CYCV_CLKMGR_INTER_PERPLLLOCKED			__BIT(7)
39c8bd03e7Saymeric #define CYCV_CLKMGR_INTER_SDRPLLLOCKED			__BIT(8)
40c8bd03e7Saymeric 
41c8bd03e7Saymeric #define CYCV_CLKMGR_INTREN			0x0C
42c8bd03e7Saymeric /* See CYCV_CLKMGR_INT_* above */
43c8bd03e7Saymeric 
44c8bd03e7Saymeric #define CYCV_CLKMGR_DBCTRL			0x10
45c8bd03e7Saymeric #define CYCV_CLKMGR_STAT			0x14
46c8bd03e7Saymeric 
47c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_VCO		0x40
48c8bd03e7Saymeric #define CYCV_CLKMGR_PLL_VCO_NUMER			__BITS(3, 15)
49c8bd03e7Saymeric #define CYCV_CLKMGR_PLL_VCO_DENOM			__BITS(16, 21)
50c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_MISC		0x44
51c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_MPUCLK		0x48
52c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_MPUCLK_CNT			__BITS(0, 8)
53c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_MAINCLK		0x4C
54c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_MAINCLK_CNT		__BITS(0, 8)
55c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_DBGATCLK		0x50
56c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_MAINQSPICLK	0x54
57c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_MAINNANDSDMMCCLK	0x58
58c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_CFGS2FUSER0CLK	0x5C
59c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_EN			0x60
60c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_MAINDIV		0x64
61c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_MAINDIV_L4SP		__BITS(7, 9)
62c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_DBGDIV		0x68
63c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_TRACEDIV		0x6C
64c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_L4SRC		0x70
65c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_L4SRC_L4SP			__BIT(1)
66c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_L4SRC_L4MP			__BIT(0)
67c8bd03e7Saymeric #define CYCV_CLKMGR_MAIN_PLL_STAT		0x74
68c8bd03e7Saymeric 
69c8bd03e7Saymeric #define CYCV_CLKMGR_PERI_PLL_VCO		0x80
70c8bd03e7Saymeric #define CYCV_CLKMGR_PERI_PLL_MISC		0x84
71c8bd03e7Saymeric #define CYCV_CLKMGR_PERI_PLL_EMAC0CLK		0x88
72c8bd03e7Saymeric #define CYCV_CLKMGR_PERI_PLL_EMAC1CLK		0x8C
73c8bd03e7Saymeric #define CYCV_CLKMGR_PERI_PLL_PERQSPICLK		0x90
74c8bd03e7Saymeric #define CYCV_CLKMGR_PERI_PLL_PERNANDSDMMCCLK	0x94
75c8bd03e7Saymeric #define CYCV_CLKMGR_PERI_PLL_PERBASECLK		0x98
76c8bd03e7Saymeric #define CYCV_CLKMGR_PERI_PLL_PERBASECLK_CNT		__BITS(0, 8)
77c8bd03e7Saymeric #define CYCV_CLKMGR_PERI_PLL_H2FUSER1CLK	0x9C
78c8bd03e7Saymeric #define CYCV_CLKMGR_PERI_PLL_EN			0xA0
79c8bd03e7Saymeric #define CYCV_CLKMGR_PERI_PLL_DIV		0xA4
80c8bd03e7Saymeric #define CYCV_CLKMGR_PERI_PLL_GPIODIV		0xA8
81c8bd03e7Saymeric #define CYCV_CLKMGR_PERI_PLL_SRC		0xAC
82c8bd03e7Saymeric #define CYCV_CLKMGR_PERI_PLL_STAT		0xB0
83c8bd03e7Saymeric 
84c8bd03e7Saymeric #define CYCV_CLKMGR_SDRAM_PLL_VCO		0xC0
85c8bd03e7Saymeric #define CYCV_CLKMGR_SDRAM_PLL_CTRL		0xC4
86c8bd03e7Saymeric #define CYCV_CLKMGR_SDRAM_PLL_DDRDQSCLK		0xC8
87c8bd03e7Saymeric #define CYCV_CLKMGR_SDRAM_PLL_DDR2XDQSCLK	0xCC
88c8bd03e7Saymeric #define CYCV_CLKMGR_SDRAM_PLL_DDRDQCLK		0xD0
89c8bd03e7Saymeric #define CYCV_CLKMGR_SDRAM_PLL_S2FUSER2CLK	0xD4
90c8bd03e7Saymeric #define CYCV_CLKMGR_SDRAM_PLL_EN		0xD8
91c8bd03e7Saymeric #define CYCV_CLKMGR_SDRAM_PLL_STAT		0xDC
92c8bd03e7Saymeric 
93c8bd03e7Saymeric /* Reset manager */
94c8bd03e7Saymeric 
95c8bd03e7Saymeric #define CYCV_RSTMGR_BASE			0xFFD05000
96c8bd03e7Saymeric #define CYCV_RSTMGR_SIZE			0x24
97c8bd03e7Saymeric 
98c8bd03e7Saymeric #define CYCV_RSTMGR_STAT			0x00
99c8bd03e7Saymeric #define CYCV_RSTMGR_CTRL			0x04
100c8bd03e7Saymeric #define CYCV_RSTMGR_CTRL_SWCOLDRSTREQ			__BIT(0)
101c8bd03e7Saymeric #define CYCV_RSTMGR_COUNTS			0x08
102c8bd03e7Saymeric #define CYCV_RSTMGR_MPUMODRST			0x10
103c8bd03e7Saymeric #define CYCV_RSTMGR_MPUMODRST_CPU1			__BIT(1)
104c8bd03e7Saymeric #define CYCV_RSTMGR_PERMODRST			0x14
105c8bd03e7Saymeric #define CYCV_RSTMGR_PER2MODRST			0x18
106c8bd03e7Saymeric #define CYCV_RSTMGR_BRGMODRST			0x1C
107c8bd03e7Saymeric #define CYCV_RSTMGR_MISCMODRST			0x20
108c8bd03e7Saymeric 
109c8bd03e7Saymeric /* Snoop Control Unit */
110c8bd03e7Saymeric 
111c8bd03e7Saymeric #define CYCV_SCU_BASE				0xFFFEC000
112c8bd03e7Saymeric #define CYCV_SCU_SIZE				0x100
113c8bd03e7Saymeric 
114c8bd03e7Saymeric /* Level 2 Cache */
115c8bd03e7Saymeric 
116c8bd03e7Saymeric #define CYCV_L2CACHE_BASE			0xFFFEF000
117c8bd03e7Saymeric #define CYCV_L2CACHE_SIZE			0x1000
118c8bd03e7Saymeric 
119c8bd03e7Saymeric #endif /* _ARM_ALTERA_CYCV_REG_H */
120