xref: /openbmc/u-boot/arch/arm/mach-socfpga/include/mach/clock_manager_gen5.h (revision 83d290c56fab2d38cd1ab4c4cc7099559c1d5046)
1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
2de778115SLey Foon Tan /*
3de778115SLey Foon Tan  *  Copyright (C) 2013-2017 Altera Corporation <www.altera.com>
4de778115SLey Foon Tan  */
5de778115SLey Foon Tan 
6de778115SLey Foon Tan #ifndef _CLOCK_MANAGER_GEN5_H_
7de778115SLey Foon Tan #define _CLOCK_MANAGER_GEN5_H_
8de778115SLey Foon Tan 
9de778115SLey Foon Tan #ifndef __ASSEMBLER__
10de778115SLey Foon Tan 
11de778115SLey Foon Tan struct cm_config {
12de778115SLey Foon Tan 	/* main group */
13de778115SLey Foon Tan 	u32 main_vco_base;
14de778115SLey Foon Tan 	u32 mpuclk;
15de778115SLey Foon Tan 	u32 mainclk;
16de778115SLey Foon Tan 	u32 dbgatclk;
17de778115SLey Foon Tan 	u32 mainqspiclk;
18de778115SLey Foon Tan 	u32 mainnandsdmmcclk;
19de778115SLey Foon Tan 	u32 cfg2fuser0clk;
20de778115SLey Foon Tan 	u32 maindiv;
21de778115SLey Foon Tan 	u32 dbgdiv;
22de778115SLey Foon Tan 	u32 tracediv;
23de778115SLey Foon Tan 	u32 l4src;
24de778115SLey Foon Tan 
25de778115SLey Foon Tan 	/* peripheral group */
26de778115SLey Foon Tan 	u32 peri_vco_base;
27de778115SLey Foon Tan 	u32 emac0clk;
28de778115SLey Foon Tan 	u32 emac1clk;
29de778115SLey Foon Tan 	u32 perqspiclk;
30de778115SLey Foon Tan 	u32 pernandsdmmcclk;
31de778115SLey Foon Tan 	u32 perbaseclk;
32de778115SLey Foon Tan 	u32 s2fuser1clk;
33de778115SLey Foon Tan 	u32 perdiv;
34de778115SLey Foon Tan 	u32 gpiodiv;
35de778115SLey Foon Tan 	u32 persrc;
36de778115SLey Foon Tan 
37de778115SLey Foon Tan 	/* sdram pll group */
38de778115SLey Foon Tan 	u32 sdram_vco_base;
39de778115SLey Foon Tan 	u32 ddrdqsclk;
40de778115SLey Foon Tan 	u32 ddr2xdqsclk;
41de778115SLey Foon Tan 	u32 ddrdqclk;
42de778115SLey Foon Tan 	u32 s2fuser2clk;
43de778115SLey Foon Tan 
44de778115SLey Foon Tan 	/* altera group */
45de778115SLey Foon Tan 	u32 altera_grp_mpuclk;
46de778115SLey Foon Tan };
47de778115SLey Foon Tan 
48de778115SLey Foon Tan struct socfpga_clock_manager_main_pll {
49de778115SLey Foon Tan 	u32	vco;
50de778115SLey Foon Tan 	u32	misc;
51de778115SLey Foon Tan 	u32	mpuclk;
52de778115SLey Foon Tan 	u32	mainclk;
53de778115SLey Foon Tan 	u32	dbgatclk;
54de778115SLey Foon Tan 	u32	mainqspiclk;
55de778115SLey Foon Tan 	u32	mainnandsdmmcclk;
56de778115SLey Foon Tan 	u32	cfgs2fuser0clk;
57de778115SLey Foon Tan 	u32	en;
58de778115SLey Foon Tan 	u32	maindiv;
59de778115SLey Foon Tan 	u32	dbgdiv;
60de778115SLey Foon Tan 	u32	tracediv;
61de778115SLey Foon Tan 	u32	l4src;
62de778115SLey Foon Tan 	u32	stat;
63de778115SLey Foon Tan 	u32	_pad_0x38_0x40[2];
64de778115SLey Foon Tan };
65de778115SLey Foon Tan 
66de778115SLey Foon Tan struct socfpga_clock_manager_per_pll {
67de778115SLey Foon Tan 	u32	vco;
68de778115SLey Foon Tan 	u32	misc;
69de778115SLey Foon Tan 	u32	emac0clk;
70de778115SLey Foon Tan 	u32	emac1clk;
71de778115SLey Foon Tan 	u32	perqspiclk;
72de778115SLey Foon Tan 	u32	pernandsdmmcclk;
73de778115SLey Foon Tan 	u32	perbaseclk;
74de778115SLey Foon Tan 	u32	s2fuser1clk;
75de778115SLey Foon Tan 	u32	en;
76de778115SLey Foon Tan 	u32	div;
77de778115SLey Foon Tan 	u32	gpiodiv;
78de778115SLey Foon Tan 	u32	src;
79de778115SLey Foon Tan 	u32	stat;
80de778115SLey Foon Tan 	u32	_pad_0x34_0x40[3];
81de778115SLey Foon Tan };
82de778115SLey Foon Tan 
83de778115SLey Foon Tan struct socfpga_clock_manager_sdr_pll {
84de778115SLey Foon Tan 	u32	vco;
85de778115SLey Foon Tan 	u32	ctrl;
86de778115SLey Foon Tan 	u32	ddrdqsclk;
87de778115SLey Foon Tan 	u32	ddr2xdqsclk;
88de778115SLey Foon Tan 	u32	ddrdqclk;
89de778115SLey Foon Tan 	u32	s2fuser2clk;
90de778115SLey Foon Tan 	u32	en;
91de778115SLey Foon Tan 	u32	stat;
92de778115SLey Foon Tan };
93de778115SLey Foon Tan 
94de778115SLey Foon Tan struct socfpga_clock_manager_altera {
95de778115SLey Foon Tan 	u32	mpuclk;
96de778115SLey Foon Tan 	u32	mainclk;
97de778115SLey Foon Tan };
98de778115SLey Foon Tan 
99de778115SLey Foon Tan struct socfpga_clock_manager {
100de778115SLey Foon Tan 	u32	ctrl;
101de778115SLey Foon Tan 	u32	bypass;
102de778115SLey Foon Tan 	u32	inter;
103de778115SLey Foon Tan 	u32	intren;
104de778115SLey Foon Tan 	u32	dbctrl;
105de778115SLey Foon Tan 	u32	stat;
106de778115SLey Foon Tan 	u32	_pad_0x18_0x3f[10];
107de778115SLey Foon Tan 	struct socfpga_clock_manager_main_pll main_pll;
108de778115SLey Foon Tan 	struct socfpga_clock_manager_per_pll per_pll;
109de778115SLey Foon Tan 	struct socfpga_clock_manager_sdr_pll sdr_pll;
110de778115SLey Foon Tan 	struct socfpga_clock_manager_altera altera;
111de778115SLey Foon Tan 	u32	_pad_0xe8_0x200[70];
112de778115SLey Foon Tan };
113de778115SLey Foon Tan 
114de778115SLey Foon Tan /* Clock speed accessors */
115de778115SLey Foon Tan unsigned long cm_get_mpu_clk_hz(void);
116de778115SLey Foon Tan unsigned long cm_get_sdram_clk_hz(void);
117de778115SLey Foon Tan unsigned int cm_get_l4_sp_clk_hz(void);
118de778115SLey Foon Tan unsigned int cm_get_mmc_controller_clk_hz(void);
119de778115SLey Foon Tan unsigned int cm_get_qspi_controller_clk_hz(void);
120de778115SLey Foon Tan unsigned int cm_get_spi_controller_clk_hz(void);
121de778115SLey Foon Tan const unsigned int cm_get_osc_clk_hz(const int osc);
122de778115SLey Foon Tan const unsigned int cm_get_f2s_per_ref_clk_hz(void);
123de778115SLey Foon Tan const unsigned int cm_get_f2s_sdr_ref_clk_hz(void);
124de778115SLey Foon Tan 
125de778115SLey Foon Tan /* Clock configuration accessors */
126de778115SLey Foon Tan int cm_basic_init(const struct cm_config * const cfg);
127de778115SLey Foon Tan const struct cm_config * const cm_get_default_config(void);
128de778115SLey Foon Tan #endif /* __ASSEMBLER__ */
129de778115SLey Foon Tan 
130de778115SLey Foon Tan #define LOCKED_MASK \
131de778115SLey Foon Tan 	(CLKMGR_INTER_SDRPLLLOCKED_MASK  | \
132de778115SLey Foon Tan 	CLKMGR_INTER_PERPLLLOCKED_MASK  | \
133de778115SLey Foon Tan 	CLKMGR_INTER_MAINPLLLOCKED_MASK)
134de778115SLey Foon Tan 
135de778115SLey Foon Tan #define CLKMGR_CTRL_SAFEMODE				BIT(0)
136de778115SLey Foon Tan #define CLKMGR_CTRL_SAFEMODE_OFFSET			0
137de778115SLey Foon Tan 
138de778115SLey Foon Tan #define CLKMGR_BYPASS_PERPLLSRC				BIT(4)
139de778115SLey Foon Tan #define CLKMGR_BYPASS_PERPLLSRC_OFFSET			4
140de778115SLey Foon Tan #define CLKMGR_BYPASS_PERPLL				BIT(3)
141de778115SLey Foon Tan #define CLKMGR_BYPASS_PERPLL_OFFSET			3
142de778115SLey Foon Tan #define CLKMGR_BYPASS_SDRPLLSRC				BIT(2)
143de778115SLey Foon Tan #define CLKMGR_BYPASS_SDRPLLSRC_OFFSET			2
144de778115SLey Foon Tan #define CLKMGR_BYPASS_SDRPLL				BIT(1)
145de778115SLey Foon Tan #define CLKMGR_BYPASS_SDRPLL_OFFSET			1
146de778115SLey Foon Tan #define CLKMGR_BYPASS_MAINPLL				BIT(0)
147de778115SLey Foon Tan #define CLKMGR_BYPASS_MAINPLL_OFFSET			0
148de778115SLey Foon Tan 
149de778115SLey Foon Tan #define CLKMGR_INTER_MAINPLLLOST_MASK			BIT(3)
150de778115SLey Foon Tan #define CLKMGR_INTER_PERPLLLOST_MASK			BIT(4)
151de778115SLey Foon Tan #define CLKMGR_INTER_SDRPLLLOST_MASK			BIT(5)
152de778115SLey Foon Tan #define CLKMGR_INTER_MAINPLLLOCKED_MASK			BIT(6)
153de778115SLey Foon Tan #define CLKMGR_INTER_PERPLLLOCKED_MASK			BIT(7)
154de778115SLey Foon Tan #define CLKMGR_INTER_SDRPLLLOCKED_MASK			BIT(8)
155de778115SLey Foon Tan 
156de778115SLey Foon Tan #define CLKMGR_STAT_BUSY				BIT(0)
157de778115SLey Foon Tan 
158de778115SLey Foon Tan /* Main PLL */
159de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_BGPWRDN			BIT(0)
160de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_BGPWRDN_OFFSET		0
161de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_DENOM_OFFSET		16
162de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_DENOM_MASK		0x003f0000
163de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_EN			BIT(1)
164de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_EN_OFFSET			1
165de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_NUMER_OFFSET		3
166de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_NUMER_MASK		0x0000fff8
167de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_OUTRESETALL_MASK		0x01000000
168de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_PWRDN			BIT(2)
169de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_PWRDN_OFFSET		2
170de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_REGEXTSEL_MASK		0x80000000
171de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_VCO_RESET_VALUE		0x8001000d
172de778115SLey Foon Tan 
173de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MPUCLK_CNT_OFFSET		0
174de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MPUCLK_CNT_MASK		0x000001ff
175de778115SLey Foon Tan 
176de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINCLK_CNT_OFFSET		0
177de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINCLK_CNT_MASK		0x000001ff
178de778115SLey Foon Tan 
179de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_DBGATCLK_CNT_OFFSET		0
180de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_DBGATCLK_CNT_MASK		0x000001ff
181de778115SLey Foon Tan 
182de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINQSPICLK_CNT_OFFSET	0
183de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINQSPICLK_CNT_MASK		0x000001ff
184de778115SLey Foon Tan 
185de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINNANDSDMMCCLK_CNT_OFFSET	0
186de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINNANDSDMMCCLK_CNT_MASK	0x000001ff
187de778115SLey Foon Tan 
188de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_CFGS2FUSER0CLK_CNT_OFFSET	0
189de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_CFGS2FUSER0CLK_CNT_MASK	0x000001ff
190de778115SLey Foon Tan 
191de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_EN_L4MPCLK_MASK		BIT(2)
192de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_EN_DBGATCLK_MASK		BIT(4)
193de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_EN_DBGCLK_MASK		BIT(5)
194de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_EN_DBGTRACECLK_MASK		BIT(6)
195de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_EN_DBGTIMERCLK_MASK		BIT(7)
196de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_EN_S2FUSER0CLK_MASK		BIT(9)
197de778115SLey Foon Tan 
198de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINDIV_L3MPCLK_OFFSET	0
199de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINDIV_L3MPCLK_MASK		0x00000003
200de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINDIV_L3SPCLK_OFFSET	2
201de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINDIV_L3SPCLK_MASK		0x0000000c
202de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINDIV_L4MPCLK_OFFSET	4
203de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINDIV_L4MPCLK_MASK		0x00000070
204de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINDIV_L4SPCLK_OFFSET	7
205de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_MAINDIV_L4SPCLK_MASK		0x00000380
206de778115SLey Foon Tan 
207de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_DBGDIV_DBGATCLK_OFFSET	0
208de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_DBGDIV_DBGATCLK_MASK		0x00000003
209de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_DBGDIV_DBGCLK_OFFSET		2
210de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_DBGDIV_DBGCLK_MASK		0x0000000c
211de778115SLey Foon Tan 
212de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_TRACEDIV_TRACECLK_OFFSET	0
213de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_TRACEDIV_TRACECLK_MASK	0x00000007
214de778115SLey Foon Tan 
215de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_L4SRC_L4MP			BIT(0)
216de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_L4SRC_L4MP_OFFSET		0
217de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_L4SRC_L4SP			BIT(1)
218de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_L4SRC_L4SP_OFFSET		1
219de778115SLey Foon Tan #define CLKMGR_MAINPLLGRP_L4SRC_RESET_VALUE		0x00000000
220de778115SLey Foon Tan #define CLKMGR_L4_SP_CLK_SRC_MAINPLL			0x0
221de778115SLey Foon Tan #define CLKMGR_L4_SP_CLK_SRC_PERPLL			0x1
222de778115SLey Foon Tan 
223de778115SLey Foon Tan /* Per PLL */
224de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_DENOM_OFFSET		16
225de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_DENOM_MASK			0x003f0000
226de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_NUMER_OFFSET		3
227de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_NUMER_MASK			0x0000fff8
228de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_OUTRESETALL_MASK		0x01000000
229de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_PSRC_OFFSET		22
230de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_PSRC_MASK			0x00c00000
231de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_REGEXTSEL_MASK		0x80000000
232de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_RESET_VALUE		0x8001000d
233de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_SSRC_OFFSET		22
234de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_VCO_SSRC_MASK			0x00c00000
235de778115SLey Foon Tan 
236de778115SLey Foon Tan #define CLKMGR_VCO_SSRC_EOSC1				0x0
237de778115SLey Foon Tan #define CLKMGR_VCO_SSRC_EOSC2				0x1
238de778115SLey Foon Tan #define CLKMGR_VCO_SSRC_F2S				0x2
239de778115SLey Foon Tan 
240de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_EMAC0CLK_CNT_OFFSET		0
241de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_EMAC0CLK_CNT_MASK		0x000001ff
242de778115SLey Foon Tan 
243de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_EMAC1CLK_CNT_OFFSET		0
244de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_EMAC1CLK_CNT_MASK		0x000001ff
245de778115SLey Foon Tan 
246de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_PERQSPICLK_CNT_OFFSET		0
247de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_PERQSPICLK_CNT_MASK		0x000001ff
248de778115SLey Foon Tan 
249de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_PERNANDSDMMCCLK_CNT_OFFSET	0
250de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_PERNANDSDMMCCLK_CNT_MASK	0x000001ff
251de778115SLey Foon Tan 
252de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_PERBASECLK_CNT_OFFSET		0
253de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_PERBASECLK_CNT_MASK		0x000001ff
254de778115SLey Foon Tan 
255de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_S2FUSER1CLK_CNT_OFFSET		0
256de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_S2FUSER1CLK_CNT_MASK		0x000001ff
257de778115SLey Foon Tan 
258de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_EN_NANDCLK_MASK		0x00000400
259de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_EN_SDMMCCLK_MASK		0x00000100
260de778115SLey Foon Tan 
261de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_DIV_CAN0CLK_OFFSET		6
262de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_DIV_CAN0CLK_MASK		0x000001c0
263de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_DIV_CAN1CLK_OFFSET		9
264de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_DIV_CAN1CLK_MASK		0x00000e00
265de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_DIV_SPIMCLK_OFFSET		3
266de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_DIV_SPIMCLK_OFFSET		3
267de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_DIV_USBCLK_OFFSET		0
268de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_DIV_USBCLK_MASK		0x00000007
269de778115SLey Foon Tan 
270de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_GPIODIV_GPIODBCLK_OFFSET	0
271de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_GPIODIV_GPIODBCLK_MASK		0x00ffffff
272de778115SLey Foon Tan 
273de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_SRC_NAND_OFFSET		2
274de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_SRC_NAND_MASK			0x0000000c
275de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_SRC_QSPI_OFFSET		4
276de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_SRC_QSPI_MASK			0x00000030
277de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_SRC_RESET_VALUE		0x00000015
278de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_SRC_SDMMC_OFFSET		0
279de778115SLey Foon Tan #define CLKMGR_PERPLLGRP_SRC_SDMMC_MASK			0x00000003
280de778115SLey Foon Tan #define CLKMGR_SDMMC_CLK_SRC_F2S			0x0
281de778115SLey Foon Tan #define CLKMGR_SDMMC_CLK_SRC_MAIN			0x1
282de778115SLey Foon Tan #define CLKMGR_SDMMC_CLK_SRC_PER			0x2
283de778115SLey Foon Tan #define CLKMGR_QSPI_CLK_SRC_F2S				0x0
284de778115SLey Foon Tan #define CLKMGR_QSPI_CLK_SRC_MAIN			0x1
285de778115SLey Foon Tan #define CLKMGR_QSPI_CLK_SRC_PER				0x2
286de778115SLey Foon Tan 
287de778115SLey Foon Tan /* SDR PLL */
288de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_DENOM_OFFSET		16
289de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_DENOM_MASK			0x003f0000
290de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_NUMER_OFFSET		3
291de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_NUMER_MASK			0x0000fff8
292de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_OUTRESETALL		BIT(24)
293de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_OUTRESETALL_OFFSET		24
294de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_OUTRESET_OFFSET		25
295de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_OUTRESET_MASK		0x7e000000
296de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_REGEXTSEL_MASK		BIT(31)
297de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_RESET_VALUE		0x8001000d
298de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_SSRC_OFFSET		22
299de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_VCO_SSRC_MASK			0x00c00000
300de778115SLey Foon Tan 
301de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDRDQSCLK_CNT_OFFSET		0
302de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDRDQSCLK_CNT_MASK		0x000001ff
303de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDRDQSCLK_PHASE_OFFSET		9
304de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDRDQSCLK_PHASE_MASK		0x00000e00
305de778115SLey Foon Tan 
306de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDR2XDQSCLK_CNT_OFFSET		0
307de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDR2XDQSCLK_CNT_MASK		0x000001ff
308de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDR2XDQSCLK_PHASE_OFFSET	9
309de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDR2XDQSCLK_PHASE_MASK		0x00000e00
310de778115SLey Foon Tan 
311de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDRDQCLK_CNT_OFFSET		0
312de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDRDQCLK_CNT_MASK		0x000001ff
313de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDRDQCLK_PHASE_OFFSET		9
314de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_DDRDQCLK_PHASE_MASK		0x00000e00
315de778115SLey Foon Tan 
316de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_S2FUSER2CLK_CNT_OFFSET		0
317de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_S2FUSER2CLK_CNT_MASK		0x000001ff
318de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_S2FUSER2CLK_PHASE_OFFSET	9
319de778115SLey Foon Tan #define CLKMGR_SDRPLLGRP_S2FUSER2CLK_PHASE_MASK		0x00000e00
320de778115SLey Foon Tan 
321de778115SLey Foon Tan #endif /* _CLOCK_MANAGER_GEN5_H_ */
322