[U-Boot] [PATCH 4/4 v4] Preventing needless switching on and off PLL bypass mode, allowing allow single-stepping through the SPL
Marek Vasut
marek.vasut at gmail.com
Tue Feb 7 17:53:09 CET 2012
> From: Robert Delien <robert at delien.nl>
>
> This patch prevents the needless switching on and off of PLL bypass
> mode. With this patch in place, single-stepping through the SPL is
> now possible.
Why did FSL have it in the bootlets though? Fabio, can you explain?
M
>
> Signed-off-by: Robert Delien <robert at delien.nl>
> ---
> arch/arm/cpu/arm926ejs/mx28/spl_mem_init.c | 4 ----
> arch/arm/cpu/arm926ejs/mx28/spl_power_init.c | 24
> ------------------------ 2 files changed, 0 insertions(+), 28 deletions(-)
>
> diff --git a/arch/arm/cpu/arm926ejs/mx28/spl_mem_init.c
> b/arch/arm/cpu/arm926ejs/mx28/spl_mem_init.c index f2fab7c..cf4361c 100644
> --- a/arch/arm/cpu/arm926ejs/mx28/spl_mem_init.c
> +++ b/arch/arm/cpu/arm926ejs/mx28/spl_mem_init.c
> @@ -121,10 +121,6 @@ void mx28_mem_setup_cpu_and_hbus(void)
> writeb(19 & CLKCTRL_FRAC_FRAC_MASK,
> (uint8_t *)&clkctrl_regs->hw_clkctrl_frac0[CLKCTRL_FRAC0_CPU]);
>
> - /* Set CPU bypass */
> - writel(CLKCTRL_CLKSEQ_BYPASS_CPU,
> - &clkctrl_regs->hw_clkctrl_clkseq_set);
> -
> /* HBUS = 151MHz */
> writel(CLKCTRL_HBUS_DIV_MASK, &clkctrl_regs->hw_clkctrl_hbus_set);
> writel(((~3) << CLKCTRL_HBUS_DIV_OFFSET) & CLKCTRL_HBUS_DIV_MASK,
> diff --git a/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c
> b/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c index 380b120..5e21a1e
> 100644
> --- a/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c
> +++ b/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c
> @@ -30,28 +30,6 @@
>
> #include "mx28_init.h"
>
> -void mx28_power_clock2xtal(void)
> -{
> - struct mx28_clkctrl_regs *clkctrl_regs =
> - (struct mx28_clkctrl_regs *)MXS_CLKCTRL_BASE;
> -
> - /* Set XTAL as CPU reference clock */
> - writel(CLKCTRL_CLKSEQ_BYPASS_CPU,
> - &clkctrl_regs->hw_clkctrl_clkseq_set);
> -}
> -
> -void mx28_power_clock2pll(void)
> -{
> - struct mx28_clkctrl_regs *clkctrl_regs =
> - (struct mx28_clkctrl_regs *)MXS_CLKCTRL_BASE;
> -
> - writel(CLKCTRL_PLL0CTRL0_POWER,
> - &clkctrl_regs->hw_clkctrl_pll0ctrl0_set);
> - early_delay(100);
> - writel(CLKCTRL_CLKSEQ_BYPASS_CPU,
> - &clkctrl_regs->hw_clkctrl_clkseq_clr);
> -}
> -
> void mx28_power_clear_auto_restart(void)
> {
> struct mx28_rtc_regs *rtc_regs =
> @@ -606,7 +584,6 @@ void mx28_power_configure_power_source(void)
> mx28_src_power_init();
>
> mx28_5v_boot();
> - mx28_power_clock2pll();
>
> mx28_init_batt_bo();
> mx28_switch_vddd_to_dcdc_source();
> @@ -880,7 +857,6 @@ void mx28_power_init(void)
> struct mx28_power_regs *power_regs =
> (struct mx28_power_regs *)MXS_POWER_BASE;
>
> - mx28_power_clock2xtal();
> mx28_power_clear_auto_restart();
> mx28_power_set_linreg();
> mx28_power_setup_5v_detect();
More information about the U-Boot
mailing list