Message ID | CAP9ODKrJquy81TEu+rZm=nywzJTyL-qy-Wn7iD+8s8gBFbMGVg@mail.gmail.com |
---|---|
State | Not Applicable |
Delegated to: | Stefano Babic |
Headers | show |
Le Tue, 26 Nov 2013 13:59:36 -0200, Otavio Salvador <otavio@ossystems.com.br> a écrit : > > Do you also get the kernel freeze without changing anything in > > u-boot when you disable cpufreq in the kernel ? > > The FSL kernel does not build without cpufreq so I didn't try. > check if your regulator settings is not defaulted to use anatop's ldo by default instead of the PMIC's one. Eric
On Tue, Nov 26, 2013 at 2:09 PM, Eric Bénard <eric@eukrea.com> wrote: > Le Tue, 26 Nov 2013 13:59:36 -0200, > Otavio Salvador <otavio@ossystems.com.br> a écrit : >> > Do you also get the kernel freeze without changing anything in >> > u-boot when you disable cpufreq in the kernel ? >> >> The FSL kernel does not build without cpufreq so I didn't try. >> > check if your regulator settings is not defaulted to use anatop's ldo > by default instead of the PMIC's one. I think what is happening is the invert; in case of mainline kernel it is using the internal LDO while in Freescale kernel it uses the PMIC's one. Hence the failure.
Hi Otavio, On Tue, Nov 26, 2013 at 1:59 PM, Otavio Salvador <otavio@ossystems.com.br> wrote: >> isn't the last change (enabling bypass) sufficient to fix the problem >> or do you also need the 2 power_down before ? > > It does indeed. I did a full test cycle from cold boot and also from > inside system reboot and it works. What do you get on your board when you do? => md.l 0x20c8140 1 Regards, Fabio Estevam
On Tue, Dec 17, 2013 at 12:18 PM, Fabio Estevam <festevam@gmail.com> wrote: > Hi Otavio, > > On Tue, Nov 26, 2013 at 1:59 PM, Otavio Salvador > <otavio@ossystems.com.br> wrote: > >>> isn't the last change (enabling bypass) sufficient to fix the problem >>> or do you also need the 2 power_down before ? >> >> It does indeed. I did a full test cycle from cold boot and also from >> inside system reboot and it works. > > What do you get on your board when you do? > > => md.l 0x20c8140 1 Just to clarify, please run the command above with the original U-boot, ie, without your workaround of setting the ldo bypass mode. Regards, Fabio Estevam
diff --git a/arch/arm/imx-common/cpu.c b/arch/arm/imx-common/cpu.c index 0cd2538..5cac1a9 100644 --- a/arch/arm/imx-common/cpu.c +++ b/arch/arm/imx-common/cpu.c @@ -171,9 +171,21 @@ u32 get_ahb_clk(void) return get_periph_clk() / (ahb_podf + 1); } +static void set_anatop_bypass(void) +{ + struct anatop_regs *anatop = (struct anatop_regs *)ANATOP_BASE_ADDR; + u32 reg = readl(&anatop->reg_core); + + /* bypass VDDARM/VDDSOC */ + reg = reg | (0x1F << 18) | 0x1F; + writel(reg, &anatop->reg_core); +} + #if defined(CONFIG_VIDEO_IPUV3) void arch_preboot_os(void) { + set_anatop_bypass(); + /* disable video before launching O/S */ ipuv3_fb_shutdown(); }