Commit 44428ab6abbba58aa90b982d4d41b39cbcbec966

Authored by Marek Vasut
1 parent 5d8ad0cd3a

arm: socfpga: clock: Clean up bit definitions

Clean up the clock code definitions so they are aligned with mainline
standards. There are no functional changes in this patch.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Chin Liang See <clsee@altera.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Tom Rini <trini@ti.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Pavel Machek <pavel@denx.de>
Acked-by: Pavel Machek <pavel@denx.de>

Showing 3 changed files with 323 additions and 303 deletions Side-by-side Diff

arch/arm/cpu/armv7/socfpga/clock_manager.c
... ... @@ -13,25 +13,6 @@
13 13 static const struct socfpga_clock_manager *clock_manager_base =
14 14 (struct socfpga_clock_manager *)SOCFPGA_CLKMGR_ADDRESS;
15 15  
16   -#define CLKMGR_BYPASS_ENABLE 1
17   -#define CLKMGR_BYPASS_DISABLE 0
18   -#define CLKMGR_STAT_IDLE 0
19   -#define CLKMGR_STAT_BUSY 1
20   -#define CLKMGR_BYPASS_PERPLLSRC_SELECT_EOSC1 0
21   -#define CLKMGR_BYPASS_PERPLLSRC_SELECT_INPUT_MUX 1
22   -#define CLKMGR_BYPASS_SDRPLLSRC_SELECT_EOSC1 0
23   -#define CLKMGR_BYPASS_SDRPLLSRC_SELECT_INPUT_MUX 1
24   -
25   -#define CLEAR_BGP_EN_PWRDN \
26   - (CLKMGR_MAINPLLGRP_VCO_PWRDN_SET(0)| \
27   - CLKMGR_MAINPLLGRP_VCO_EN_SET(0)| \
28   - CLKMGR_MAINPLLGRP_VCO_BGPWRDN_SET(0))
29   -
30   -#define VCO_EN_BASE \
31   - (CLKMGR_MAINPLLGRP_VCO_PWRDN_SET(0)| \
32   - CLKMGR_MAINPLLGRP_VCO_EN_SET(1)| \
33   - CLKMGR_MAINPLLGRP_VCO_BGPWRDN_SET(0))
34   -
35 16 static void cm_wait_for_lock(uint32_t mask)
36 17 {
37 18 register uint32_t inter_val;
... ... @@ -130,14 +111,8 @@
130 111 writel(0, &clock_manager_base->per_pll.en);
131 112  
132 113 /* Put all plls in bypass */
133   - cm_write_bypass(
134   - CLKMGR_BYPASS_PERPLLSRC_SET(
135   - CLKMGR_BYPASS_PERPLLSRC_SELECT_EOSC1) |
136   - CLKMGR_BYPASS_SDRPLLSRC_SET(
137   - CLKMGR_BYPASS_SDRPLLSRC_SELECT_EOSC1) |
138   - CLKMGR_BYPASS_PERPLL_SET(CLKMGR_BYPASS_ENABLE) |
139   - CLKMGR_BYPASS_SDRPLL_SET(CLKMGR_BYPASS_ENABLE) |
140   - CLKMGR_BYPASS_MAINPLL_SET(CLKMGR_BYPASS_ENABLE));
  114 + cm_write_bypass(CLKMGR_BYPASS_PERPLL | CLKMGR_BYPASS_SDRPLL |
  115 + CLKMGR_BYPASS_MAINPLL);
141 116  
142 117 /*
143 118 * Put all plls VCO registers back to reset value.
144 119  
145 120  
... ... @@ -172,19 +147,14 @@
172 147 * We made sure bgpwr down was assert for 5 us. Now deassert BG PWR DN
173 148 * with numerator and denominator.
174 149 */
175   - writel(cfg->main_vco_base | CLEAR_BGP_EN_PWRDN |
176   - CLKMGR_MAINPLLGRP_VCO_REGEXTSEL_MASK,
177   - &clock_manager_base->main_pll.vco);
  150 + writel(cfg->main_vco_base | CLKMGR_MAINPLLGRP_VCO_REGEXTSEL_MASK,
  151 + &clock_manager_base->main_pll.vco);
178 152  
179   - writel(cfg->peri_vco_base | CLEAR_BGP_EN_PWRDN |
180   - CLKMGR_PERPLLGRP_VCO_REGEXTSEL_MASK,
181   - &clock_manager_base->per_pll.vco);
  153 + writel(cfg->peri_vco_base | CLKMGR_PERPLLGRP_VCO_REGEXTSEL_MASK,
  154 + &clock_manager_base->per_pll.vco);
182 155  
183   - writel(CLKMGR_SDRPLLGRP_VCO_OUTRESET_SET(0) |
184   - CLKMGR_SDRPLLGRP_VCO_OUTRESETALL_SET(0) |
185   - cfg->sdram_vco_base | CLEAR_BGP_EN_PWRDN |
186   - CLKMGR_SDRPLLGRP_VCO_REGEXTSEL_MASK,
187   - &clock_manager_base->sdr_pll.vco);
  156 + writel(cfg->sdram_vco_base | CLKMGR_SDRPLLGRP_VCO_REGEXTSEL_MASK,
  157 + &clock_manager_base->sdr_pll.vco);
188 158  
189 159 /*
190 160 * Time starts here
191 161  
192 162  
... ... @@ -234,18 +204,16 @@
234 204  
235 205 /* Enable vco */
236 206 /* main pll vco */
237   - writel(cfg->main_vco_base | VCO_EN_BASE,
  207 + writel(cfg->main_vco_base | CLKMGR_MAINPLLGRP_VCO_EN,
238 208 &clock_manager_base->main_pll.vco);
239 209  
240 210 /* periferal pll */
241   - writel(cfg->peri_vco_base | VCO_EN_BASE,
  211 + writel(cfg->peri_vco_base | CLKMGR_MAINPLLGRP_VCO_EN,
242 212 &clock_manager_base->per_pll.vco);
243 213  
244 214 /* sdram pll vco */
245   - writel(CLKMGR_SDRPLLGRP_VCO_OUTRESET_SET(0) |
246   - CLKMGR_SDRPLLGRP_VCO_OUTRESETALL_SET(0) |
247   - cfg->sdram_vco_base | VCO_EN_BASE,
248   - &clock_manager_base->sdr_pll.vco);
  215 + writel(cfg->sdram_vco_base | CLKMGR_MAINPLLGRP_VCO_EN,
  216 + &clock_manager_base->sdr_pll.vco);
249 217  
250 218 /* L3 MP and L3 SP */
251 219 writel(cfg->maindiv, &clock_manager_base->main_pll.maindiv);
... ... @@ -296,8 +264,8 @@
296 264 &clock_manager_base->per_pll.vco);
297 265  
298 266 /* assert sdram outresetall */
299   - writel(cfg->sdram_vco_base | VCO_EN_BASE|
300   - CLKMGR_SDRPLLGRP_VCO_OUTRESETALL_SET(1),
  267 + writel(cfg->sdram_vco_base | CLKMGR_MAINPLLGRP_VCO_EN|
  268 + CLKMGR_SDRPLLGRP_VCO_OUTRESETALL,
301 269 &clock_manager_base->sdr_pll.vco);
302 270  
303 271 /* deassert main outresetall */
... ... @@ -309,9 +277,8 @@
309 277 &clock_manager_base->per_pll.vco);
310 278  
311 279 /* deassert sdram outresetall */
312   - writel(CLKMGR_SDRPLLGRP_VCO_OUTRESETALL_SET(0) |
313   - cfg->sdram_vco_base | VCO_EN_BASE,
314   - &clock_manager_base->sdr_pll.vco);
  280 + writel(cfg->sdram_vco_base | CLKMGR_MAINPLLGRP_VCO_EN,
  281 + &clock_manager_base->sdr_pll.vco);
315 282  
316 283 /*
317 284 * now that we've toggled outreset all, all the clocks
318 285  
... ... @@ -335,18 +302,10 @@
335 302 CLKMGR_SDRPLLGRP_S2FUSER2CLK_PHASE_MASK);
336 303  
337 304 /* Take all three PLLs out of bypass when safe mode is cleared. */
338   - cm_write_bypass(
339   - CLKMGR_BYPASS_PERPLLSRC_SET(
340   - CLKMGR_BYPASS_PERPLLSRC_SELECT_EOSC1) |
341   - CLKMGR_BYPASS_SDRPLLSRC_SET(
342   - CLKMGR_BYPASS_SDRPLLSRC_SELECT_EOSC1) |
343   - CLKMGR_BYPASS_PERPLL_SET(CLKMGR_BYPASS_DISABLE) |
344   - CLKMGR_BYPASS_SDRPLL_SET(CLKMGR_BYPASS_DISABLE) |
345   - CLKMGR_BYPASS_MAINPLL_SET(CLKMGR_BYPASS_DISABLE));
  305 + cm_write_bypass(0);
346 306  
347 307 /* clear safe mode */
348   - cm_write_ctrl(readl(&clock_manager_base->ctrl) |
349   - CLKMGR_CTRL_SAFEMODE_SET(CLKMGR_CTRL_SAFEMODE_MASK));
  308 + cm_write_ctrl(readl(&clock_manager_base->ctrl) | CLKMGR_CTRL_SAFEMODE);
350 309  
351 310 /*
352 311 * now that safe mode is clear with clocks gated
... ... @@ -367,9 +326,11 @@
367 326  
368 327 /* get the main VCO clock */
369 328 reg = readl(&clock_manager_base->main_pll.vco);
370   - clock = CONFIG_HPS_CLK_OSC1_HZ /
371   - (CLKMGR_MAINPLLGRP_VCO_DENOM_GET(reg) + 1);
372   - clock *= (CLKMGR_MAINPLLGRP_VCO_NUMER_GET(reg) + 1);
  329 + clock = CONFIG_HPS_CLK_OSC1_HZ;
  330 + clock /= ((reg & CLKMGR_MAINPLLGRP_VCO_DENOM_MASK) >>
  331 + CLKMGR_MAINPLLGRP_VCO_DENOM_OFFSET) + 1;
  332 + clock *= ((reg & CLKMGR_MAINPLLGRP_VCO_NUMER_MASK) >>
  333 + CLKMGR_MAINPLLGRP_VCO_NUMER_OFFSET) + 1;
373 334  
374 335 return clock;
375 336 }
... ... @@ -380,7 +341,8 @@
380 341  
381 342 /* identify PER PLL clock source */
382 343 reg = readl(&clock_manager_base->per_pll.vco);
383   - reg = CLKMGR_PERPLLGRP_VCO_SSRC_GET(reg);
  344 + reg = (reg & CLKMGR_PERPLLGRP_VCO_SSRC_MASK) >>
  345 + CLKMGR_PERPLLGRP_VCO_SSRC_OFFSET;
384 346 if (reg == CLKMGR_VCO_SSRC_EOSC1)
385 347 clock = CONFIG_HPS_CLK_OSC1_HZ;
386 348 else if (reg == CLKMGR_VCO_SSRC_EOSC2)
... ... @@ -390,8 +352,10 @@
390 352  
391 353 /* get the PER VCO clock */
392 354 reg = readl(&clock_manager_base->per_pll.vco);
393   - clock /= (CLKMGR_PERPLLGRP_VCO_DENOM_GET(reg) + 1);
394   - clock *= (CLKMGR_PERPLLGRP_VCO_NUMER_GET(reg) + 1);
  355 + clock /= ((reg & CLKMGR_PERPLLGRP_VCO_DENOM_MASK) >>
  356 + CLKMGR_PERPLLGRP_VCO_DENOM_OFFSET) + 1;
  357 + clock *= ((reg & CLKMGR_PERPLLGRP_VCO_NUMER_MASK) >>
  358 + CLKMGR_PERPLLGRP_VCO_NUMER_OFFSET) + 1;
395 359  
396 360 return clock;
397 361 }
... ... @@ -416,7 +380,8 @@
416 380  
417 381 /* identify SDRAM PLL clock source */
418 382 reg = readl(&clock_manager_base->sdr_pll.vco);
419   - reg = CLKMGR_SDRPLLGRP_VCO_SSRC_GET(reg);
  383 + reg = (reg & CLKMGR_SDRPLLGRP_VCO_SSRC_MASK) >>
  384 + CLKMGR_SDRPLLGRP_VCO_SSRC_OFFSET;
420 385 if (reg == CLKMGR_VCO_SSRC_EOSC1)
421 386 clock = CONFIG_HPS_CLK_OSC1_HZ;
422 387 else if (reg == CLKMGR_VCO_SSRC_EOSC2)
423 388  
... ... @@ -426,12 +391,15 @@
426 391  
427 392 /* get the SDRAM VCO clock */
428 393 reg = readl(&clock_manager_base->sdr_pll.vco);
429   - clock /= (CLKMGR_SDRPLLGRP_VCO_DENOM_GET(reg) + 1);
430   - clock *= (CLKMGR_SDRPLLGRP_VCO_NUMER_GET(reg) + 1);
  394 + clock /= ((reg & CLKMGR_SDRPLLGRP_VCO_DENOM_MASK) >>
  395 + CLKMGR_SDRPLLGRP_VCO_DENOM_OFFSET) + 1;
  396 + clock *= ((reg & CLKMGR_SDRPLLGRP_VCO_NUMER_MASK) >>
  397 + CLKMGR_SDRPLLGRP_VCO_NUMER_OFFSET) + 1;
431 398  
432 399 /* get the SDRAM (DDR_DQS) clock */
433 400 reg = readl(&clock_manager_base->sdr_pll.ddrdqsclk);
434   - reg = CLKMGR_SDRPLLGRP_DDRDQSCLK_CNT_GET(reg);
  401 + reg = (reg & CLKMGR_SDRPLLGRP_DDRDQSCLK_CNT_MASK) >>
  402 + CLKMGR_SDRPLLGRP_DDRDQSCLK_CNT_OFFSET;
435 403 clock /= (reg + 1);
436 404  
437 405 return clock;
... ... @@ -443,7 +411,8 @@
443 411  
444 412 /* identify the source of L4 SP clock */
445 413 reg = readl(&clock_manager_base->main_pll.l4src);
446   - reg = CLKMGR_MAINPLLGRP_L4SRC_L4SP_GET(reg);
  414 + reg = (reg & CLKMGR_MAINPLLGRP_L4SRC_L4SP) >>
  415 + CLKMGR_MAINPLLGRP_L4SRC_L4SP_OFFSET;
447 416  
448 417 if (reg == CLKMGR_L4_SP_CLK_SRC_MAINPLL) {
449 418 clock = cm_get_main_vco_clk_hz();
... ... @@ -463,7 +432,8 @@
463 432  
464 433 /* get the L4 SP clock which supplied to UART */
465 434 reg = readl(&clock_manager_base->main_pll.maindiv);
466   - reg = CLKMGR_MAINPLLGRP_MAINDIV_L4SPCLK_GET(reg);
  435 + reg = (reg & CLKMGR_MAINPLLGRP_MAINDIV_L4SPCLK_MASK) >>
  436 + CLKMGR_MAINPLLGRP_MAINDIV_L4SPCLK_OFFSET;
467 437 clock = clock / (1 << reg);
468 438  
469 439 return clock;
... ... @@ -475,7 +445,8 @@
475 445  
476 446 /* identify the source of MMC clock */
477 447 reg = readl(&clock_manager_base->per_pll.src);
478   - reg = CLKMGR_PERPLLGRP_SRC_SDMMC_GET(reg);
  448 + reg = (reg & CLKMGR_PERPLLGRP_SRC_SDMMC_MASK) >>
  449 + CLKMGR_PERPLLGRP_SRC_SDMMC_OFFSET;
479 450  
480 451 if (reg == CLKMGR_SDMMC_CLK_SRC_F2S) {
481 452 clock = CONFIG_HPS_CLK_F2S_PER_REF_HZ;
... ... @@ -504,7 +475,8 @@
504 475  
505 476 /* identify the source of QSPI clock */
506 477 reg = readl(&clock_manager_base->per_pll.src);
507   - reg = CLKMGR_PERPLLGRP_SRC_QSPI_GET(reg);
  478 + reg = (reg & CLKMGR_PERPLLGRP_SRC_QSPI_MASK) >>
  479 + CLKMGR_PERPLLGRP_SRC_QSPI_OFFSET;
508 480  
509 481 if (reg == CLKMGR_QSPI_CLK_SRC_F2S) {
510 482 clock = CONFIG_HPS_CLK_F2S_PER_REF_HZ;
arch/arm/cpu/armv7/socfpga/spl.c
... ... @@ -19,6 +19,31 @@
19 19  
20 20 DECLARE_GLOBAL_DATA_PTR;
21 21  
  22 +#define MAIN_VCO_BASE ( \
  23 + (CONFIG_HPS_MAINPLLGRP_VCO_DENOM << \
  24 + CLKMGR_MAINPLLGRP_VCO_DENOM_OFFSET) | \
  25 + (CONFIG_HPS_MAINPLLGRP_VCO_NUMER << \
  26 + CLKMGR_MAINPLLGRP_VCO_NUMER_OFFSET) \
  27 + )
  28 +
  29 +#define PERI_VCO_BASE ( \
  30 + (CONFIG_HPS_PERPLLGRP_VCO_PSRC << \
  31 + CLKMGR_PERPLLGRP_VCO_PSRC_OFFSET) | \
  32 + (CONFIG_HPS_PERPLLGRP_VCO_DENOM << \
  33 + CLKMGR_PERPLLGRP_VCO_DENOM_OFFSET) | \
  34 + (CONFIG_HPS_PERPLLGRP_VCO_NUMER << \
  35 + CLKMGR_PERPLLGRP_VCO_NUMER_OFFSET) \
  36 + )
  37 +
  38 +#define SDR_VCO_BASE ( \
  39 + (CONFIG_HPS_SDRPLLGRP_VCO_SSRC << \
  40 + CLKMGR_SDRPLLGRP_VCO_SSRC_OFFSET) | \
  41 + (CONFIG_HPS_SDRPLLGRP_VCO_DENOM << \
  42 + CLKMGR_SDRPLLGRP_VCO_DENOM_OFFSET) | \
  43 + (CONFIG_HPS_SDRPLLGRP_VCO_NUMER << \
  44 + CLKMGR_SDRPLLGRP_VCO_NUMER_OFFSET) \
  45 + )
  46 +
22 47 u32 spl_boot_device(void)
23 48 {
24 49 return BOOT_DEVICE_RAM;
25 50  
26 51  
... ... @@ -33,86 +58,87 @@
33 58 cm_config_t cm_default_cfg = {
34 59 /* main group */
35 60 MAIN_VCO_BASE,
36   - CLKMGR_MAINPLLGRP_MPUCLK_CNT_SET(
37   - CONFIG_HPS_MAINPLLGRP_MPUCLK_CNT),
38   - CLKMGR_MAINPLLGRP_MAINCLK_CNT_SET(
39   - CONFIG_HPS_MAINPLLGRP_MAINCLK_CNT),
40   - CLKMGR_MAINPLLGRP_DBGATCLK_CNT_SET(
41   - CONFIG_HPS_MAINPLLGRP_DBGATCLK_CNT),
42   - CLKMGR_MAINPLLGRP_MAINQSPICLK_CNT_SET(
43   - CONFIG_HPS_MAINPLLGRP_MAINQSPICLK_CNT),
44   - CLKMGR_PERPLLGRP_PERNANDSDMMCCLK_CNT_SET(
45   - CONFIG_HPS_MAINPLLGRP_MAINNANDSDMMCCLK_CNT),
46   - CLKMGR_MAINPLLGRP_CFGS2FUSER0CLK_CNT_SET(
47   - CONFIG_HPS_MAINPLLGRP_CFGS2FUSER0CLK_CNT),
48   - CLKMGR_MAINPLLGRP_MAINDIV_L3MPCLK_SET(
49   - CONFIG_HPS_MAINPLLGRP_MAINDIV_L3MPCLK) |
50   - CLKMGR_MAINPLLGRP_MAINDIV_L3SPCLK_SET(
51   - CONFIG_HPS_MAINPLLGRP_MAINDIV_L3SPCLK) |
52   - CLKMGR_MAINPLLGRP_MAINDIV_L4MPCLK_SET(
53   - CONFIG_HPS_MAINPLLGRP_MAINDIV_L4MPCLK) |
54   - CLKMGR_MAINPLLGRP_MAINDIV_L4SPCLK_SET(
55   - CONFIG_HPS_MAINPLLGRP_MAINDIV_L4SPCLK),
56   - CLKMGR_MAINPLLGRP_DBGDIV_DBGATCLK_SET(
57   - CONFIG_HPS_MAINPLLGRP_DBGDIV_DBGATCLK) |
58   - CLKMGR_MAINPLLGRP_DBGDIV_DBGCLK_SET(
59   - CONFIG_HPS_MAINPLLGRP_DBGDIV_DBGCLK),
60   - CLKMGR_MAINPLLGRP_TRACEDIV_TRACECLK_SET(
61   - CONFIG_HPS_MAINPLLGRP_TRACEDIV_TRACECLK),
62   - CLKMGR_MAINPLLGRP_L4SRC_L4MP_SET(
63   - CONFIG_HPS_MAINPLLGRP_L4SRC_L4MP) |
64   - CLKMGR_MAINPLLGRP_L4SRC_L4SP_SET(
65   - CONFIG_HPS_MAINPLLGRP_L4SRC_L4SP),
  61 + (CONFIG_HPS_MAINPLLGRP_MPUCLK_CNT <<
  62 + CLKMGR_MAINPLLGRP_MPUCLK_CNT_OFFSET),
  63 + (CONFIG_HPS_MAINPLLGRP_MAINCLK_CNT <<
  64 + CLKMGR_MAINPLLGRP_MAINCLK_CNT_OFFSET),
  65 + (CONFIG_HPS_MAINPLLGRP_DBGATCLK_CNT <<
  66 + CLKMGR_MAINPLLGRP_DBGATCLK_CNT_OFFSET),
  67 + (CONFIG_HPS_MAINPLLGRP_MAINQSPICLK_CNT <<
  68 + CLKMGR_MAINPLLGRP_MAINQSPICLK_CNT_OFFSET),
  69 + (CONFIG_HPS_MAINPLLGRP_MAINNANDSDMMCCLK_CNT <<
  70 + CLKMGR_PERPLLGRP_PERNANDSDMMCCLK_CNT_OFFSET),
  71 + (CONFIG_HPS_MAINPLLGRP_CFGS2FUSER0CLK_CNT <<
  72 + CLKMGR_MAINPLLGRP_CFGS2FUSER0CLK_CNT_OFFSET),
  73 + (CONFIG_HPS_MAINPLLGRP_MAINDIV_L3MPCLK <<
  74 + CLKMGR_MAINPLLGRP_MAINDIV_L3MPCLK_OFFSET) |
  75 + (CONFIG_HPS_MAINPLLGRP_MAINDIV_L3SPCLK <<
  76 + CLKMGR_MAINPLLGRP_MAINDIV_L3SPCLK_OFFSET) |
  77 + (CONFIG_HPS_MAINPLLGRP_MAINDIV_L4MPCLK <<
  78 + CLKMGR_MAINPLLGRP_MAINDIV_L4MPCLK_OFFSET) |
  79 + (CONFIG_HPS_MAINPLLGRP_MAINDIV_L4SPCLK <<
  80 + CLKMGR_MAINPLLGRP_MAINDIV_L4SPCLK_OFFSET),
  81 + (CONFIG_HPS_MAINPLLGRP_DBGDIV_DBGATCLK <<
  82 + CLKMGR_MAINPLLGRP_DBGDIV_DBGATCLK_OFFSET) |
  83 + (CONFIG_HPS_MAINPLLGRP_DBGDIV_DBGCLK <<
  84 + CLKMGR_MAINPLLGRP_DBGDIV_DBGCLK_OFFSET),
  85 + (CONFIG_HPS_MAINPLLGRP_TRACEDIV_TRACECLK <<
  86 + CLKMGR_MAINPLLGRP_TRACEDIV_TRACECLK_OFFSET),
  87 + (CONFIG_HPS_MAINPLLGRP_L4SRC_L4MP <<
  88 + CLKMGR_MAINPLLGRP_L4SRC_L4MP_OFFSET) |
  89 + (CONFIG_HPS_MAINPLLGRP_L4SRC_L4SP <<
  90 + CLKMGR_MAINPLLGRP_L4SRC_L4SP_OFFSET),
66 91  
67 92 /* peripheral group */
68 93 PERI_VCO_BASE,
69   - CLKMGR_PERPLLGRP_EMAC0CLK_CNT_SET(
70   - CONFIG_HPS_PERPLLGRP_EMAC0CLK_CNT),
71   - CLKMGR_PERPLLGRP_EMAC1CLK_CNT_SET(
72   - CONFIG_HPS_PERPLLGRP_EMAC1CLK_CNT),
73   - CLKMGR_PERPLLGRP_PERQSPICLK_CNT_SET(
74   - CONFIG_HPS_PERPLLGRP_PERQSPICLK_CNT),
75   - CLKMGR_PERPLLGRP_PERNANDSDMMCCLK_CNT_SET(
76   - CONFIG_HPS_PERPLLGRP_PERNANDSDMMCCLK_CNT),
77   - CLKMGR_PERPLLGRP_PERBASECLK_CNT_SET(
78   - CONFIG_HPS_PERPLLGRP_PERBASECLK_CNT),
79   - CLKMGR_PERPLLGRP_S2FUSER1CLK_CNT_SET(
80   - CONFIG_HPS_PERPLLGRP_S2FUSER1CLK_CNT),
81   - CLKMGR_PERPLLGRP_DIV_USBCLK_SET(
82   - CONFIG_HPS_PERPLLGRP_DIV_USBCLK) |
83   - CLKMGR_PERPLLGRP_DIV_SPIMCLK_SET(
84   - CONFIG_HPS_PERPLLGRP_DIV_SPIMCLK) |
85   - CLKMGR_PERPLLGRP_DIV_CAN0CLK_SET(
86   - CONFIG_HPS_PERPLLGRP_DIV_CAN0CLK) |
87   - CLKMGR_PERPLLGRP_DIV_CAN1CLK_SET(
88   - CONFIG_HPS_PERPLLGRP_DIV_CAN1CLK),
89   - CLKMGR_PERPLLGRP_GPIODIV_GPIODBCLK_SET(
90   - CONFIG_HPS_PERPLLGRP_GPIODIV_GPIODBCLK),
91   - CLKMGR_PERPLLGRP_SRC_QSPI_SET(
92   - CONFIG_HPS_PERPLLGRP_SRC_QSPI) |
93   - CLKMGR_PERPLLGRP_SRC_NAND_SET(
94   - CONFIG_HPS_PERPLLGRP_SRC_NAND) |
95   - CLKMGR_PERPLLGRP_SRC_SDMMC_SET(
96   - CONFIG_HPS_PERPLLGRP_SRC_SDMMC),
  94 + (CONFIG_HPS_PERPLLGRP_EMAC0CLK_CNT <<
  95 + CLKMGR_PERPLLGRP_EMAC0CLK_CNT_OFFSET),
  96 + (CONFIG_HPS_PERPLLGRP_EMAC1CLK_CNT <<
  97 + CLKMGR_PERPLLGRP_EMAC1CLK_CNT_OFFSET),
  98 + (CONFIG_HPS_PERPLLGRP_PERQSPICLK_CNT <<
  99 + CLKMGR_PERPLLGRP_PERQSPICLK_CNT_OFFSET),
  100 + (CONFIG_HPS_PERPLLGRP_PERNANDSDMMCCLK_CNT <<
  101 + CLKMGR_PERPLLGRP_PERNANDSDMMCCLK_CNT_OFFSET),
  102 + (CONFIG_HPS_PERPLLGRP_PERBASECLK_CNT <<
  103 + CLKMGR_PERPLLGRP_PERBASECLK_CNT_OFFSET),
  104 + (CONFIG_HPS_PERPLLGRP_S2FUSER1CLK_CNT <<
  105 + CLKMGR_PERPLLGRP_S2FUSER1CLK_CNT_OFFSET),
  106 + (CONFIG_HPS_PERPLLGRP_DIV_USBCLK <<
  107 + CLKMGR_PERPLLGRP_DIV_USBCLK_OFFSET) |
  108 + (CONFIG_HPS_PERPLLGRP_DIV_SPIMCLK <<
  109 + CLKMGR_PERPLLGRP_DIV_SPIMCLK_OFFSET) |
  110 + (CONFIG_HPS_PERPLLGRP_DIV_CAN0CLK <<
  111 + CLKMGR_PERPLLGRP_DIV_CAN0CLK_OFFSET) |
  112 + (CONFIG_HPS_PERPLLGRP_DIV_CAN1CLK <<
  113 + CLKMGR_PERPLLGRP_DIV_CAN1CLK_OFFSET),
  114 + (CONFIG_HPS_PERPLLGRP_GPIODIV_GPIODBCLK <<
  115 + CLKMGR_PERPLLGRP_GPIODIV_GPIODBCLK_OFFSET),
  116 + (CONFIG_HPS_PERPLLGRP_SRC_QSPI <<
  117 + CLKMGR_PERPLLGRP_SRC_QSPI_OFFSET) |
  118 + (CONFIG_HPS_PERPLLGRP_SRC_NAND <<
  119 + CLKMGR_PERPLLGRP_SRC_NAND_OFFSET) |
  120 + (CONFIG_HPS_PERPLLGRP_SRC_SDMMC <<
  121 + CLKMGR_PERPLLGRP_SRC_SDMMC_OFFSET),
97 122  
98 123 /* sdram pll group */
99 124 SDR_VCO_BASE,
100   - CLKMGR_SDRPLLGRP_DDRDQSCLK_PHASE_SET(
101   - CONFIG_HPS_SDRPLLGRP_DDRDQSCLK_PHASE) |
102   - CLKMGR_SDRPLLGRP_DDRDQSCLK_CNT_SET(
103   - CONFIG_HPS_SDRPLLGRP_DDRDQSCLK_CNT),
104   - CLKMGR_SDRPLLGRP_DDR2XDQSCLK_PHASE_SET(
105   - CONFIG_HPS_SDRPLLGRP_DDR2XDQSCLK_PHASE) |
106   - CLKMGR_SDRPLLGRP_DDR2XDQSCLK_CNT_SET(
107   - CONFIG_HPS_SDRPLLGRP_DDR2XDQSCLK_CNT),
108   - CLKMGR_SDRPLLGRP_DDRDQCLK_PHASE_SET(
109   - CONFIG_HPS_SDRPLLGRP_DDRDQCLK_PHASE) |
110   - CLKMGR_SDRPLLGRP_DDRDQCLK_CNT_SET(
111   - CONFIG_HPS_SDRPLLGRP_DDRDQCLK_CNT),
112   - CLKMGR_SDRPLLGRP_S2FUSER2CLK_PHASE_SET(
113   - CONFIG_HPS_SDRPLLGRP_S2FUSER2CLK_PHASE) |
114   - CLKMGR_SDRPLLGRP_S2FUSER2CLK_CNT_SET(
115   - CONFIG_HPS_SDRPLLGRP_S2FUSER2CLK_CNT),
  125 + (CONFIG_HPS_SDRPLLGRP_DDRDQSCLK_PHASE <<
  126 + CLKMGR_SDRPLLGRP_DDRDQSCLK_PHASE_OFFSET) |
  127 + (CONFIG_HPS_SDRPLLGRP_DDRDQSCLK_CNT <<
  128 + CLKMGR_SDRPLLGRP_DDRDQSCLK_CNT_OFFSET),
  129 + (CONFIG_HPS_SDRPLLGRP_DDR2XDQSCLK_PHASE <<
  130 + CLKMGR_SDRPLLGRP_DDR2XDQSCLK_PHASE_OFFSET) |
  131 + (CONFIG_HPS_SDRPLLGRP_DDR2XDQSCLK_CNT <<
  132 + CLKMGR_SDRPLLGRP_DDR2XDQSCLK_CNT_OFFSET),
  133 + (CONFIG_HPS_SDRPLLGRP_DDRDQCLK_PHASE <<
  134 + CLKMGR_SDRPLLGRP_DDRDQCLK_PHASE_OFFSET) |
  135 + (CONFIG_HPS_SDRPLLGRP_DDRDQCLK_CNT <<
  136 + CLKMGR_SDRPLLGRP_DDRDQCLK_CNT_OFFSET),
  137 + (CONFIG_HPS_SDRPLLGRP_S2FUSER2CLK_PHASE <<
  138 + CLKMGR_SDRPLLGRP_S2FUSER2CLK_PHASE_OFFSET) |
  139 + (CONFIG_HPS_SDRPLLGRP_S2FUSER2CLK_CNT <<
  140 + CLKMGR_SDRPLLGRP_S2FUSER2CLK_CNT_OFFSET),
  141 +
116 142 };
117 143  
118 144 debug("Freezing all I/O banks\n");
arch/arm/include/asm/arch-socfpga/clock_manager.h
... ... @@ -118,166 +118,188 @@
118 118 u32 _pad_0xe8_0x200[70];
119 119 };
120 120  
121   -#define CLKMGR_CTRL_SAFEMODE_MASK 0x00000001
122   -#define CLKMGR_CTRL_SAFEMODE_SET(x) (((x) << 0) & 0x00000001)
  121 +#define CLKMGR_CTRL_SAFEMODE (1 << 0)
  122 +#define CLKMGR_CTRL_SAFEMODE_OFFSET 0
123 123  
124   -#define CLKMGR_BYPASS_MAINPLL_SET(x) (((x) << 0) & 0x00000001)
125   -#define CLKMGR_BYPASS_PERPLLSRC_SET(x) (((x) << 4) & 0x00000010)
126   -#define CLKMGR_BYPASS_PERPLL_SET(x) (((x) << 3) & 0x00000008)
127   -#define CLKMGR_BYPASS_SDRPLLSRC_SET(x) (((x) << 2) & 0x00000004)
128   -#define CLKMGR_BYPASS_SDRPLL_SET(x) (((x) << 1) & 0x00000002)
  124 +#define CLKMGR_BYPASS_PERPLLSRC (1 << 4)
  125 +#define CLKMGR_BYPASS_PERPLLSRC_OFFSET 4
  126 +#define CLKMGR_BYPASS_PERPLL (1 << 3)
  127 +#define CLKMGR_BYPASS_PERPLL_OFFSET 3
  128 +#define CLKMGR_BYPASS_SDRPLLSRC (1 << 2)
  129 +#define CLKMGR_BYPASS_SDRPLLSRC_OFFSET 2
  130 +#define CLKMGR_BYPASS_SDRPLL (1 << 1)
  131 +#define CLKMGR_BYPASS_SDRPLL_OFFSET 1
  132 +#define CLKMGR_BYPASS_MAINPLL (1 << 0)
  133 +#define CLKMGR_BYPASS_MAINPLL_OFFSET 0
129 134  
130   -#define CLKMGR_INTER_MAINPLLLOCKED_MASK 0x00000040
131   -#define CLKMGR_INTER_PERPLLLOCKED_MASK 0x00000080
132   -#define CLKMGR_INTER_SDRPLLLOCKED_MASK 0x00000100
  135 +#define CLKMGR_INTER_SDRPLLLOCKED_MASK 0x00000100
  136 +#define CLKMGR_INTER_PERPLLLOCKED_MASK 0x00000080
  137 +#define CLKMGR_INTER_MAINPLLLOCKED_MASK 0x00000040
133 138  
  139 +#define CLKMGR_STAT_BUSY (1 << 0)
  140 +
134 141 /* Main PLL */
135   -#define CLKMGR_MAINPLLGRP_VCO_BGPWRDN_SET(x) (((x) << 0) & 0x00000001)
136   -#define CLKMGR_MAINPLLGRP_VCO_DENOM_GET(x) (((x) & 0x003f0000) >> 16)
137   -#define CLKMGR_MAINPLLGRP_VCO_DENOM_SET(x) (((x) << 16) & 0x003f0000)
138   -#define CLKMGR_MAINPLLGRP_VCO_EN_SET(x) (((x) << 1) & 0x00000002)
139   -#define CLKMGR_MAINPLLGRP_VCO_NUMER_GET(x) (((x) & 0x0000fff8) >> 3)
140   -#define CLKMGR_MAINPLLGRP_VCO_NUMER_SET(x) (((x) << 3) & 0x0000fff8)
141   -#define CLKMGR_MAINPLLGRP_VCO_OUTRESETALL_MASK 0x01000000
142   -#define CLKMGR_MAINPLLGRP_VCO_PWRDN_SET(x) (((x) << 2) & 0x00000004)
143   -#define CLKMGR_MAINPLLGRP_VCO_REGEXTSEL_MASK 0x80000000
144   -#define CLKMGR_MAINPLLGRP_VCO_RESET_VALUE 0x8001000d
  142 +#define CLKMGR_MAINPLLGRP_VCO_BGPWRDN (1 << 0)
  143 +#define CLKMGR_MAINPLLGRP_VCO_BGPWRDN_OFFSET 0
  144 +#define CLKMGR_MAINPLLGRP_VCO_DENOM_OFFSET 16
  145 +#define CLKMGR_MAINPLLGRP_VCO_DENOM_MASK 0x003f0000
  146 +#define CLKMGR_MAINPLLGRP_VCO_EN (1 << 1)
  147 +#define CLKMGR_MAINPLLGRP_VCO_EN_OFFSET 1
  148 +#define CLKMGR_MAINPLLGRP_VCO_NUMER_OFFSET 3
  149 +#define CLKMGR_MAINPLLGRP_VCO_NUMER_MASK 0x0000fff8
  150 +#define CLKMGR_MAINPLLGRP_VCO_OUTRESETALL_MASK 0x01000000
  151 +#define CLKMGR_MAINPLLGRP_VCO_PWRDN (1 << 2)
  152 +#define CLKMGR_MAINPLLGRP_VCO_PWRDN_OFFSET 2
  153 +#define CLKMGR_MAINPLLGRP_VCO_REGEXTSEL_MASK 0x80000000
  154 +#define CLKMGR_MAINPLLGRP_VCO_RESET_VALUE 0x8001000d
145 155  
146   -#define CLKMGR_MAINPLLGRP_MPUCLK_CNT_SET(x) (((x) << 0) & 0x000001ff)
  156 +#define CLKMGR_MAINPLLGRP_MPUCLK_CNT_OFFSET 0
  157 +#define CLKMGR_MAINPLLGRP_MPUCLK_CNT_MASK 0x000001ff
147 158  
148   -#define CLKMGR_MAINPLLGRP_MAINCLK_CNT_SET(x) (((x) << 0) & 0x000001ff)
  159 +#define CLKMGR_MAINPLLGRP_MAINCLK_CNT_OFFSET 0
  160 +#define CLKMGR_MAINPLLGRP_MAINCLK_CNT_MASK 0x000001ff
149 161  
150   -#define CLKMGR_MAINPLLGRP_DBGATCLK_CNT_SET(x) (((x) << 0) & 0x000001ff)
  162 +#define CLKMGR_MAINPLLGRP_DBGATCLK_CNT_OFFSET 0
  163 +#define CLKMGR_MAINPLLGRP_DBGATCLK_CNT_MASK 0x000001ff
151 164  
152   -#define CLKMGR_MAINPLLGRP_MAINQSPICLK_CNT_SET(x) (((x) << 0) & 0x000001ff)
  165 +#define CLKMGR_MAINPLLGRP_MAINQSPICLK_CNT_OFFSET 0
  166 +#define CLKMGR_MAINPLLGRP_MAINQSPICLK_CNT_MASK 0x000001ff
153 167  
154   -#define CLKMGR_MAINPLLGRP_MAINNANDSDMMCCLK_CNT_SET(x) (((x) << 0) & 0x000001ff)
  168 +#define CLKMGR_MAINPLLGRP_MAINNANDSDMMCCLK_CNT_OFFSET 0
  169 +#define CLKMGR_MAINPLLGRP_MAINNANDSDMMCCLK_CNT_MASK 0x000001ff
155 170  
156   -#define CLKMGR_MAINPLLGRP_CFGS2FUSER0CLK_CNT_SET(x) (((x) << 0) & 0x000001ff)
  171 +#define CLKMGR_MAINPLLGRP_CFGS2FUSER0CLK_CNT_OFFSET 0
  172 +#define CLKMGR_MAINPLLGRP_CFGS2FUSER0CLK_CNT_MASK 0x000001ff
157 173  
158   -#define CLKMGR_MAINPLLGRP_EN_DBGATCLK_MASK 0x00000010
159   -#define CLKMGR_MAINPLLGRP_EN_DBGCLK_MASK 0x00000020
160   -#define CLKMGR_MAINPLLGRP_EN_DBGTIMERCLK_MASK 0x00000080
161   -#define CLKMGR_MAINPLLGRP_EN_DBGTRACECLK_MASK 0x00000040
162   -#define CLKMGR_MAINPLLGRP_EN_L4MPCLK_MASK 0x00000004
163   -#define CLKMGR_MAINPLLGRP_EN_S2FUSER0CLK_MASK 0x00000200
  174 +#define CLKMGR_MAINPLLGRP_EN_DBGATCLK_MASK 0x00000010
  175 +#define CLKMGR_MAINPLLGRP_EN_DBGCLK_MASK 0x00000020
  176 +#define CLKMGR_MAINPLLGRP_EN_DBGTIMERCLK_MASK 0x00000080
  177 +#define CLKMGR_MAINPLLGRP_EN_DBGTRACECLK_MASK 0x00000040
  178 +#define CLKMGR_MAINPLLGRP_EN_L4MPCLK_MASK 0x00000004
  179 +#define CLKMGR_MAINPLLGRP_EN_S2FUSER0CLK_MASK 0x00000200
164 180  
165   -#define CLKMGR_MAINPLLGRP_MAINDIV_L3MPCLK_SET(x) (((x) << 0) & 0x00000003)
166   -#define CLKMGR_MAINPLLGRP_MAINDIV_L3SPCLK_SET(x) (((x) << 2) & 0x0000000c)
167   -#define CLKMGR_MAINPLLGRP_MAINDIV_L4MPCLK_SET(x) (((x) << 4) & 0x00000070)
168   -#define CLKMGR_MAINPLLGRP_MAINDIV_L4SPCLK_GET(x) (((x) & 0x00000380) >> 7)
169   -#define CLKMGR_MAINPLLGRP_MAINDIV_L4SPCLK_SET(x) (((x) << 7) & 0x00000380)
  181 +#define CLKMGR_MAINPLLGRP_MAINDIV_L3MPCLK_OFFSET 0
  182 +#define CLKMGR_MAINPLLGRP_MAINDIV_L3MPCLK_MASK 0x00000003
  183 +#define CLKMGR_MAINPLLGRP_MAINDIV_L3SPCLK_OFFSET 2
  184 +#define CLKMGR_MAINPLLGRP_MAINDIV_L3SPCLK_MASK 0x0000000c
  185 +#define CLKMGR_MAINPLLGRP_MAINDIV_L4MPCLK_OFFSET 4
  186 +#define CLKMGR_MAINPLLGRP_MAINDIV_L4MPCLK_MASK 0x00000070
  187 +#define CLKMGR_MAINPLLGRP_MAINDIV_L4SPCLK_OFFSET 7
  188 +#define CLKMGR_MAINPLLGRP_MAINDIV_L4SPCLK_MASK 0x00000380
170 189  
171   -#define CLKMGR_MAINPLLGRP_DBGDIV_DBGATCLK_SET(x) (((x) << 0) & 0x00000003)
172   -#define CLKMGR_MAINPLLGRP_DBGDIV_DBGCLK_SET(x) (((x) << 2) & 0x0000000c)
  190 +#define CLKMGR_MAINPLLGRP_DBGDIV_DBGATCLK_OFFSET 0
  191 +#define CLKMGR_MAINPLLGRP_DBGDIV_DBGATCLK_MASK 0x00000003
  192 +#define CLKMGR_MAINPLLGRP_DBGDIV_DBGCLK_OFFSET 2
  193 +#define CLKMGR_MAINPLLGRP_DBGDIV_DBGCLK_MASK 0x0000000c
173 194  
174   -#define CLKMGR_MAINPLLGRP_TRACEDIV_TRACECLK_SET(x) (((x) << 0) & 0x00000007)
  195 +#define CLKMGR_MAINPLLGRP_TRACEDIV_TRACECLK_OFFSET 0
  196 +#define CLKMGR_MAINPLLGRP_TRACEDIV_TRACECLK_MASK 0x00000007
175 197  
176   -#define CLKMGR_MAINPLLGRP_L4SRC_L4MP_SET(x) (((x) << 0) & 0x00000001)
177   -#define CLKMGR_MAINPLLGRP_L4SRC_L4SP_GET(x) (((x) & 0x00000002) >> 1)
178   -#define CLKMGR_MAINPLLGRP_L4SRC_L4SP_SET(x) (((x) << 1) & 0x00000002)
179   -#define CLKMGR_MAINPLLGRP_L4SRC_RESET_VALUE 0x00000000
180   -#define CLKMGR_L4_SP_CLK_SRC_MAINPLL 0x0
181   -#define CLKMGR_L4_SP_CLK_SRC_PERPLL 0x1
  198 +#define CLKMGR_MAINPLLGRP_L4SRC_L4MP (1 << 0)
  199 +#define CLKMGR_MAINPLLGRP_L4SRC_L4MP_OFFSET 0
  200 +#define CLKMGR_MAINPLLGRP_L4SRC_L4SP (1 << 1)
  201 +#define CLKMGR_MAINPLLGRP_L4SRC_L4SP_OFFSET 1
  202 +#define CLKMGR_MAINPLLGRP_L4SRC_RESET_VALUE 0x00000000
  203 +#define CLKMGR_L4_SP_CLK_SRC_MAINPLL 0x0
  204 +#define CLKMGR_L4_SP_CLK_SRC_PERPLL 0x1
182 205  
183 206 /* Per PLL */
184   -#define CLKMGR_PERPLLGRP_VCO_DENOM_GET(x) (((x) & 0x003f0000) >> 16)
185   -#define CLKMGR_PERPLLGRP_VCO_DENOM_SET(x) (((x) << 16) & 0x003f0000)
186   -#define CLKMGR_PERPLLGRP_VCO_NUMER_GET(x) (((x) & 0x0000fff8) >> 3)
187   -#define CLKMGR_PERPLLGRP_VCO_NUMER_SET(x) (((x) << 3) & 0x0000fff8)
188   -#define CLKMGR_PERPLLGRP_VCO_OUTRESETALL_MASK 0x01000000
189   -#define CLKMGR_PERPLLGRP_VCO_PSRC_SET(x) (((x) << 22) & 0x00c00000)
190   -#define CLKMGR_PERPLLGRP_VCO_REGEXTSEL_MASK 0x80000000
191   -#define CLKMGR_PERPLLGRP_VCO_RESET_VALUE 0x8001000d
192   -#define CLKMGR_PERPLLGRP_VCO_SSRC_GET(x) (((x) & 0x00c00000) >> 22)
193   -#define CLKMGR_VCO_SSRC_EOSC1 0x0
194   -#define CLKMGR_VCO_SSRC_EOSC2 0x1
195   -#define CLKMGR_VCO_SSRC_F2S 0x2
  207 +#define CLKMGR_PERPLLGRP_VCO_DENOM_OFFSET 16
  208 +#define CLKMGR_PERPLLGRP_VCO_DENOM_MASK 0x003f0000
  209 +#define CLKMGR_PERPLLGRP_VCO_NUMER_OFFSET 3
  210 +#define CLKMGR_PERPLLGRP_VCO_NUMER_MASK 0x0000fff8
  211 +#define CLKMGR_PERPLLGRP_VCO_OUTRESETALL_MASK 0x01000000
  212 +#define CLKMGR_PERPLLGRP_VCO_PSRC_OFFSET 22
  213 +#define CLKMGR_PERPLLGRP_VCO_PSRC_MASK 0x00c00000
  214 +#define CLKMGR_PERPLLGRP_VCO_REGEXTSEL_MASK 0x80000000
  215 +#define CLKMGR_PERPLLGRP_VCO_RESET_VALUE 0x8001000d
  216 +#define CLKMGR_PERPLLGRP_VCO_SSRC_OFFSET 22
  217 +#define CLKMGR_PERPLLGRP_VCO_SSRC_MASK 0x00c00000
196 218  
197   -#define CLKMGR_PERPLLGRP_EMAC0CLK_CNT_SET(x) (((x) << 0) & 0x000001ff)
  219 +#define CLKMGR_VCO_SSRC_EOSC1 0x0
  220 +#define CLKMGR_VCO_SSRC_EOSC2 0x1
  221 +#define CLKMGR_VCO_SSRC_F2S 0x2
198 222  
199   -#define CLKMGR_PERPLLGRP_EMAC1CLK_CNT_SET(x) (((x) << 0) & 0x000001ff)
  223 +#define CLKMGR_PERPLLGRP_EMAC0CLK_CNT_OFFSET 0
  224 +#define CLKMGR_PERPLLGRP_EMAC0CLK_CNT_MASK 0x000001ff
200 225  
201   -#define CLKMGR_PERPLLGRP_PERQSPICLK_CNT_SET(x) (((x) << 0) & 0x000001ff)
  226 +#define CLKMGR_PERPLLGRP_EMAC1CLK_CNT_OFFSET 0
  227 +#define CLKMGR_PERPLLGRP_EMAC1CLK_CNT_MASK 0x000001ff
202 228  
203   -#define CLKMGR_PERPLLGRP_PERNANDSDMMCCLK_CNT_SET(x) (((x) << 0) & 0x000001ff)
  229 +#define CLKMGR_PERPLLGRP_PERQSPICLK_CNT_OFFSET 0
  230 +#define CLKMGR_PERPLLGRP_PERQSPICLK_CNT_MASK 0x000001ff
204 231  
205   -#define CLKMGR_PERPLLGRP_PERBASECLK_CNT_SET(x) (((x) << 0) & 0x000001ff)
  232 +#define CLKMGR_PERPLLGRP_PERNANDSDMMCCLK_CNT_OFFSET 0
  233 +#define CLKMGR_PERPLLGRP_PERNANDSDMMCCLK_CNT_MASK 0x000001ff
206 234  
207   -#define CLKMGR_PERPLLGRP_S2FUSER1CLK_CNT_SET(x) (((x) << 0) & 0x000001ff)
  235 +#define CLKMGR_PERPLLGRP_PERBASECLK_CNT_OFFSET 0
  236 +#define CLKMGR_PERPLLGRP_PERBASECLK_CNT_MASK 0x000001ff
208 237  
209   -#define CLKMGR_PERPLLGRP_EN_NANDCLK_MASK 0x00000400
210   -#define CLKMGR_PERPLLGRP_EN_SDMMCCLK_MASK 0x00000100
  238 +#define CLKMGR_PERPLLGRP_S2FUSER1CLK_CNT_OFFSET 0
  239 +#define CLKMGR_PERPLLGRP_S2FUSER1CLK_CNT_MASK 0x000001ff
211 240  
212   -#define CLKMGR_PERPLLGRP_DIV_CAN0CLK_SET(x) (((x) << 6) & 0x000001c0)
213   -#define CLKMGR_PERPLLGRP_DIV_CAN1CLK_SET(x) (((x) << 9) & 0x00000e00)
214   -#define CLKMGR_PERPLLGRP_DIV_SPIMCLK_SET(x) (((x) << 3) & 0x00000038)
215   -#define CLKMGR_PERPLLGRP_DIV_SPIMCLK_SET(x) (((x) << 3) & 0x00000038)
216   -#define CLKMGR_PERPLLGRP_DIV_USBCLK_SET(x) (((x) << 0) & 0x00000007)
  241 +#define CLKMGR_PERPLLGRP_EN_NANDCLK_MASK 0x00000400
  242 +#define CLKMGR_PERPLLGRP_EN_SDMMCCLK_MASK 0x00000100
217 243  
218   -#define CLKMGR_PERPLLGRP_GPIODIV_GPIODBCLK_SET(x) (((x) << 0) & 0x00ffffff)
  244 +#define CLKMGR_PERPLLGRP_DIV_CAN0CLK_OFFSET 6
  245 +#define CLKMGR_PERPLLGRP_DIV_CAN0CLK_MASK 0x000001c0
  246 +#define CLKMGR_PERPLLGRP_DIV_CAN1CLK_OFFSET 9
  247 +#define CLKMGR_PERPLLGRP_DIV_CAN1CLK_MASK 0x00000e00
  248 +#define CLKMGR_PERPLLGRP_DIV_SPIMCLK_OFFSET 3
  249 +#define CLKMGR_PERPLLGRP_DIV_SPIMCLK_OFFSET 3
  250 +#define CLKMGR_PERPLLGRP_DIV_USBCLK_OFFSET 0
  251 +#define CLKMGR_PERPLLGRP_DIV_USBCLK_MASK 0x00000007
219 252  
220   -#define CLKMGR_PERPLLGRP_SRC_NAND_SET(x) (((x) << 2) & 0x0000000c)
221   -#define CLKMGR_PERPLLGRP_SRC_QSPI_GET(x) (((x) & 0x00000030) >> 4)
222   -#define CLKMGR_PERPLLGRP_SRC_QSPI_SET(x) (((x) << 4) & 0x00000030)
223   -#define CLKMGR_PERPLLGRP_SRC_RESET_VALUE 0x00000015
224   -#define CLKMGR_PERPLLGRP_SRC_SDMMC_GET(x) (((x) & 0x00000003) >> 0)
225   -#define CLKMGR_PERPLLGRP_SRC_SDMMC_SET(x) (((x) << 0) & 0x00000003)
226   -#define CLKMGR_SDMMC_CLK_SRC_F2S 0x0
227   -#define CLKMGR_SDMMC_CLK_SRC_MAIN 0x1
228   -#define CLKMGR_SDMMC_CLK_SRC_PER 0x2
229   -#define CLKMGR_QSPI_CLK_SRC_F2S 0x0
230   -#define CLKMGR_QSPI_CLK_SRC_MAIN 0x1
231   -#define CLKMGR_QSPI_CLK_SRC_PER 0x2
  253 +#define CLKMGR_PERPLLGRP_GPIODIV_GPIODBCLK_OFFSET 0
  254 +#define CLKMGR_PERPLLGRP_GPIODIV_GPIODBCLK_MASK 0x00ffffff
232 255  
  256 +#define CLKMGR_PERPLLGRP_SRC_NAND_OFFSET 2
  257 +#define CLKMGR_PERPLLGRP_SRC_NAND_MASK 0x0000000c
  258 +#define CLKMGR_PERPLLGRP_SRC_QSPI_OFFSET 4
  259 +#define CLKMGR_PERPLLGRP_SRC_QSPI_MASK 0x00000030
  260 +#define CLKMGR_PERPLLGRP_SRC_RESET_VALUE 0x00000015
  261 +#define CLKMGR_PERPLLGRP_SRC_SDMMC_OFFSET 0
  262 +#define CLKMGR_PERPLLGRP_SRC_SDMMC_MASK 0x00000003
  263 +#define CLKMGR_SDMMC_CLK_SRC_F2S 0x0
  264 +#define CLKMGR_SDMMC_CLK_SRC_MAIN 0x1
  265 +#define CLKMGR_SDMMC_CLK_SRC_PER 0x2
  266 +#define CLKMGR_QSPI_CLK_SRC_F2S 0x0
  267 +#define CLKMGR_QSPI_CLK_SRC_MAIN 0x1
  268 +#define CLKMGR_QSPI_CLK_SRC_PER 0x2
  269 +
233 270 /* SDR PLL */
234   -#define CLKMGR_SDRPLLGRP_VCO_DENOM_GET(x) (((x) & 0x003f0000) >> 16)
235   -#define CLKMGR_SDRPLLGRP_VCO_DENOM_SET(x) (((x) << 16) & 0x003f0000)
236   -#define CLKMGR_SDRPLLGRP_VCO_NUMER_GET(x) (((x) & 0x0000fff8) >> 3)
237   -#define CLKMGR_SDRPLLGRP_VCO_NUMER_SET(x) (((x) << 3) & 0x0000fff8)
238   -#define CLKMGR_SDRPLLGRP_VCO_OUTRESETALL_SET(x) (((x) << 24) & 0x01000000)
239   -#define CLKMGR_SDRPLLGRP_VCO_OUTRESETALL_SET(x) (((x) << 24) & 0x01000000)
240   -#define CLKMGR_SDRPLLGRP_VCO_OUTRESET_MASK 0x7e000000
241   -#define CLKMGR_SDRPLLGRP_VCO_OUTRESET_SET(x) (((x) << 25) & 0x7e000000)
242   -#define CLKMGR_SDRPLLGRP_VCO_REGEXTSEL_MASK 0x80000000
243   -#define CLKMGR_SDRPLLGRP_VCO_RESET_VALUE 0x8001000d
244   -#define CLKMGR_SDRPLLGRP_VCO_SSRC_GET(x) (((x) & 0x00c00000) >> 22)
245   -#define CLKMGR_SDRPLLGRP_VCO_SSRC_SET(x) (((x) << 22) & 0x00c00000)
  271 +#define CLKMGR_SDRPLLGRP_VCO_DENOM_OFFSET 16
  272 +#define CLKMGR_SDRPLLGRP_VCO_DENOM_MASK 0x003f0000
  273 +#define CLKMGR_SDRPLLGRP_VCO_NUMER_OFFSET 3
  274 +#define CLKMGR_SDRPLLGRP_VCO_NUMER_MASK 0x0000fff8
  275 +#define CLKMGR_SDRPLLGRP_VCO_OUTRESETALL (1 << 24)
  276 +#define CLKMGR_SDRPLLGRP_VCO_OUTRESETALL_OFFSET 24
  277 +#define CLKMGR_SDRPLLGRP_VCO_OUTRESET_OFFSET 25
  278 +#define CLKMGR_SDRPLLGRP_VCO_OUTRESET_MASK 0x7e000000
  279 +#define CLKMGR_SDRPLLGRP_VCO_REGEXTSEL_MASK 0x80000000
  280 +#define CLKMGR_SDRPLLGRP_VCO_RESET_VALUE 0x8001000d
  281 +#define CLKMGR_SDRPLLGRP_VCO_SSRC_OFFSET 22
  282 +#define CLKMGR_SDRPLLGRP_VCO_SSRC_MASK 0x00c00000
246 283  
247   -#define CLKMGR_SDRPLLGRP_DDRDQSCLK_CNT_GET(x) (((x) & 0x000001ff) >> 0)
248   -#define CLKMGR_SDRPLLGRP_DDRDQSCLK_CNT_MASK 0x000001ff
249   -#define CLKMGR_SDRPLLGRP_DDRDQSCLK_CNT_SET(x) (((x) << 0) & 0x000001ff)
250   -#define CLKMGR_SDRPLLGRP_DDRDQSCLK_PHASE_MASK 0x001ffe00
251   -#define CLKMGR_SDRPLLGRP_DDRDQSCLK_PHASE_SET(x) (((x) << 9) & 0x00000e00)
  284 +#define CLKMGR_SDRPLLGRP_DDRDQSCLK_CNT_OFFSET 0
  285 +#define CLKMGR_SDRPLLGRP_DDRDQSCLK_CNT_MASK 0x000001ff
  286 +#define CLKMGR_SDRPLLGRP_DDRDQSCLK_PHASE_OFFSET 9
  287 +#define CLKMGR_SDRPLLGRP_DDRDQSCLK_PHASE_MASK 0x00000e00
252 288  
253   -#define CLKMGR_SDRPLLGRP_DDR2XDQSCLK_CNT_MASK 0x000001ff
254   -#define CLKMGR_SDRPLLGRP_DDR2XDQSCLK_CNT_SET(x) (((x) << 0) & 0x000001ff)
255   -#define CLKMGR_SDRPLLGRP_DDR2XDQSCLK_PHASE_MASK 0x001ffe00
256   -#define CLKMGR_SDRPLLGRP_DDR2XDQSCLK_PHASE_SET(x) (((x) << 9) & 0x00000e00)
  289 +#define CLKMGR_SDRPLLGRP_DDR2XDQSCLK_CNT_OFFSET 0
  290 +#define CLKMGR_SDRPLLGRP_DDR2XDQSCLK_CNT_MASK 0x000001ff
  291 +#define CLKMGR_SDRPLLGRP_DDR2XDQSCLK_PHASE_OFFSET 9
  292 +#define CLKMGR_SDRPLLGRP_DDR2XDQSCLK_PHASE_MASK 0x00000e00
257 293  
258   -#define CLKMGR_SDRPLLGRP_DDRDQCLK_CNT_MASK 0x000001ff
259   -#define CLKMGR_SDRPLLGRP_DDRDQCLK_CNT_SET(x) (((x) << 0) & 0x000001ff)
260   -#define CLKMGR_SDRPLLGRP_DDRDQCLK_PHASE_MASK 0x001ffe00
261   -#define CLKMGR_SDRPLLGRP_DDRDQCLK_PHASE_SET(x) (((x) << 9) & 0x00000e00)
  294 +#define CLKMGR_SDRPLLGRP_DDRDQCLK_CNT_OFFSET 0
  295 +#define CLKMGR_SDRPLLGRP_DDRDQCLK_CNT_MASK 0x000001ff
  296 +#define CLKMGR_SDRPLLGRP_DDRDQCLK_PHASE_OFFSET 9
  297 +#define CLKMGR_SDRPLLGRP_DDRDQCLK_PHASE_MASK 0x00000e00
262 298  
263   -#define CLKMGR_SDRPLLGRP_S2FUSER2CLK_CNT_MASK 0x000001ff
264   -#define CLKMGR_SDRPLLGRP_S2FUSER2CLK_CNT_SET(x) (((x) << 0) & 0x000001ff)
265   -#define CLKMGR_SDRPLLGRP_S2FUSER2CLK_PHASE_MASK 0x001ffe00
266   -#define CLKMGR_SDRPLLGRP_S2FUSER2CLK_PHASE_SET(x) (((x) << 9) & 0x00000e00)
267   -
268   -#define MAIN_VCO_BASE \
269   - (CLKMGR_MAINPLLGRP_VCO_DENOM_SET(CONFIG_HPS_MAINPLLGRP_VCO_DENOM) | \
270   - CLKMGR_MAINPLLGRP_VCO_NUMER_SET(CONFIG_HPS_MAINPLLGRP_VCO_NUMER))
271   -
272   -#define PERI_VCO_BASE \
273   - (CLKMGR_PERPLLGRP_VCO_PSRC_SET(CONFIG_HPS_PERPLLGRP_VCO_PSRC) | \
274   - CLKMGR_PERPLLGRP_VCO_DENOM_SET(CONFIG_HPS_PERPLLGRP_VCO_DENOM) | \
275   - CLKMGR_PERPLLGRP_VCO_NUMER_SET(CONFIG_HPS_PERPLLGRP_VCO_NUMER))
276   -
277   -#define SDR_VCO_BASE \
278   - (CLKMGR_SDRPLLGRP_VCO_SSRC_SET(CONFIG_HPS_SDRPLLGRP_VCO_SSRC) | \
279   - CLKMGR_SDRPLLGRP_VCO_DENOM_SET(CONFIG_HPS_SDRPLLGRP_VCO_DENOM) | \
280   - CLKMGR_SDRPLLGRP_VCO_NUMER_SET(CONFIG_HPS_SDRPLLGRP_VCO_NUMER))
  299 +#define CLKMGR_SDRPLLGRP_S2FUSER2CLK_CNT_OFFSET 0
  300 +#define CLKMGR_SDRPLLGRP_S2FUSER2CLK_CNT_MASK 0x000001ff
  301 +#define CLKMGR_SDRPLLGRP_S2FUSER2CLK_PHASE_OFFSET 9
  302 +#define CLKMGR_SDRPLLGRP_S2FUSER2CLK_PHASE_MASK 0x00000e00
281 303  
282 304 #endif /* _CLOCK_MANAGER_H_ */