Lines Matching +full:cdr +full:- +full:mode

1 // SPDX-License-Identifier: GPL-2.0+
4 * Copyright (C) 2004-2007, 2012 Freescale Semiconductor, Inc.
5 * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
44 clrsetbits_be16(&ccm->cdr, 0x0f00, CCM_CDR_LPDIV(i)); in clock_enter_limp()
46 /* Enable Limp Mode */ in clock_enter_limp()
47 setbits_be16(&ccm->misccr, CCM_MISCCR_LIMP); in clock_enter_limp()
51 * brief Exit Limp mode
52 * warning The PLL should be set and locked prior to exiting Limp mode
59 /* Exit Limp mode */ in clock_exit_limp()
60 clrbits_be16(&ccm->misccr, CCM_MISCCR_LIMP); in clock_exit_limp()
63 while (!(in_be32(&pll->psr) & PLL_PSR_LOCK)) in clock_exit_limp()
68 * get_clocks() fills in gd->cpu_clock and gd->bus_clk
78 pcrvalue = in_be32(&pll->pcr) & 0xFF0F0FFF; in get_clocks()
82 bootmode = 0; /* Normal Mode */ in get_clocks()
85 bootmode = 3; /* Serial Mode */ in get_clocks()
89 /* Normal mode */ in get_clocks()
90 vco = ((in_be32(&pll->pcr) & 0xFF000000) >> 24) * CONFIG_SYS_INPUT_CLKSRC; in get_clocks()
93 pcrvalue = (in_be32(&pll->pcr) & 0x00FFFFFF); in get_clocks()
95 out_be32(&pll->pcr, pcrvalue); in get_clocks()
97 ((in_be32(&pll->pcr) & 0xFF000000) >> 24) * in get_clocks()
100 gd->arch.vco_clk = vco; /* Vco clock */ in get_clocks()
102 /* serial mode */ in get_clocks()
103 vco = ((in_be32(&pll->pcr) & 0xFF000000) >> 24) * CONFIG_SYS_INPUT_CLKSRC; in get_clocks()
104 gd->arch.vco_clk = vco; /* Vco clock */ in get_clocks()
107 if ((in_be16(&ccm->ccr) & CCM_MISCCR_LIMP) == CCM_MISCCR_LIMP) { in get_clocks()
108 /* Limp mode */ in get_clocks()
110 gd->arch.inp_clk = CONFIG_SYS_INPUT_CLKSRC; /* Input clock */ in get_clocks()
112 temp = (in_be32(&pll->pcr) & PLL_PCR_OUTDIV1_MASK) + 1; in get_clocks()
113 gd->cpu_clk = vco / temp; /* cpu clock */ in get_clocks()
115 temp = ((in_be32(&pll->pcr) & PLL_PCR_OUTDIV2_MASK) >> 4) + 1; in get_clocks()
116 gd->arch.flb_clk = vco / temp; /* flexbus clock */ in get_clocks()
117 gd->bus_clk = gd->arch.flb_clk; in get_clocks()
121 gd->arch.i2c1_clk = gd->bus_clk; in get_clocks()