[U-Boot] [PATCH/RFC] mx28: print bootmode with cpuinfo
Fabio Estevam
festevam at gmail.com
Tue Jan 24 16:12:14 CET 2012
On 1/24/12, Matthias Fuchs <matthias.fuchs at esd.eu> wrote:
>> - One patch that touches the HW_DIGCTRL_SCRATCH register (this part is
>> what fixed the RAM size retrievel after a "reboot" in the kernel
> And what is this part? I was not aware of this issue. What exactly part
> of my patch fixes this issue?
I started removing all the pieces of your patch and then I noticed
that the part below was responsible for making the "reboot" command in
Linux to work:
void mx28_common_spl_init(const iomux_cfg_t *iomux_setup,
const unsigned int iomux_size)
{
+ uint32_t bm = readl(0x80018910) & 0xf;
+ writel(bm, HW_DIGCTRL_SCRATCH0);
+ writel(bm, HW_DIGCTRL_SCRATCH1);
+
mxs_iomux_setup_multiple_pads(iomux_setup, iomux_size);
mx28_power_init();
mx28_mem_init();
I also noticed that even if I replace these lines with a
early_delay(1) it also makes "reboot" to work fine.
It looks like we need something to be executed before the
mxs_iomux_setup_multiple_pads
The patch below works fine:
--- a/arch/arm/cpu/arm926ejs/mx28/spl_boot.c
+++ b/arch/arm/cpu/arm926ejs/mx28/spl_boot.c
@@ -49,8 +49,8 @@ void early_delay(int delay)
void mx28_common_spl_init(const iomux_cfg_t *iomux_setup,
const unsigned int iomux_size)
{
- mxs_iomux_setup_multiple_pads(iomux_setup, iomux_size);
mx28_power_init();
+ mxs_iomux_setup_multiple_pads(iomux_setup, iomux_size);
mx28_mem_init();
mx28_power_wait_pswitch();
}
,though I don't have a good explanation for it right now.
More information about the U-Boot
mailing list