[U-Boot] Boot reason in SPL for OMAP4

Hello,
In TI x-loader, the boot reason is copied to a scratchpad 0x4A326000 as shown here: https://gitorious.org/x-loader/x-loader/source/HEAD:cpu/omap4/start.S#L102
How can I access the boot reason in u-boot or in the SPL?
Grégoire

On Tue, Sep 30, 2014 at 10:26:08AM -0700, Gregoire Gentil wrote:
Hello,
In TI x-loader, the boot reason is copied to a scratchpad 0x4A326000 as shown here: https://gitorious.org/x-loader/x-loader/source/HEAD:cpu/omap4/start.S#L102
How can I access the boot reason in u-boot or in the SPL?
spl_boot_mode() and spl_boot_device().

On 10/01/2014 10:34 AM, Tom Rini wrote:
On Tue, Sep 30, 2014 at 10:26:08AM -0700, Gregoire Gentil wrote:
Hello,
In TI x-loader, the boot reason is copied to a scratchpad 0x4A326000 as shown here: https://gitorious.org/x-loader/x-loader/source/HEAD:cpu/omap4/start.S#L102
How can I access the boot reason in u-boot or in the SPL?
spl_boot_mode() and spl_boot_device().
Thank you. Yes, I found the calls. My point is that I need the boot_device after SPL and it's not transmitted down the chain. Doing the following reestablishes what the legacy x-loader was doing:
*(volatile unsigned int *)(0x4A326000) = spl_boot_device();
I think that it's safe as the SRAM is not used after SPL,
Grégoire

On Wed, Oct 01, 2014 at 12:13:50PM -0700, Gregoire Gentil wrote:
On 10/01/2014 10:34 AM, Tom Rini wrote:
On Tue, Sep 30, 2014 at 10:26:08AM -0700, Gregoire Gentil wrote:
Hello,
In TI x-loader, the boot reason is copied to a scratchpad 0x4A326000 as shown here: https://gitorious.org/x-loader/x-loader/source/HEAD:cpu/omap4/start.S#L102
How can I access the boot reason in u-boot or in the SPL?
spl_boot_mode() and spl_boot_device().
Thank you. Yes, I found the calls. My point is that I need the boot_device after SPL and it's not transmitted down the chain. Doing the following reestablishes what the legacy x-loader was doing:
*(volatile unsigned int *)(0x4A326000) = spl_boot_device();
I think that it's safe as the SRAM is not used after SPL,
It's possibly good enough for your needs, yes. I had toyed with the idea of passing this down more formally and generically but hadn't gotten far.

Hello,
If you try to compile u-boot head for OMAP4 without CONFIG_USB_HOST_ETHER, it's failing.
--- a/arch/arm/cpu/armv7/omap-common/utils.c +++ b/arch/arm/cpu/armv7/omap-common/utils.c @@ -57,6 +57,8 @@ void __weak usb_fake_mac_from_die_id(u32 *id) device_mac[4] = id[0] & 0xff; device_mac[5] = (id[0] >> 8) & 0xff;
+#ifdef CONFIG_USB_HOST_ETHER eth_setenv_enetaddr("usbethaddr", device_mac); +#endif } }
Grégoire
participants (2)
-
Gregoire Gentil
-
Tom Rini