[U-Boot] [PATCH 1/2] arm: mvebu: fix boot from UART on ClearFog Base
Baruch Siach
baruch at tkos.co.il
Mon Sep 18 17:57:20 UTC 2017
Hi Stefan,
On Mon, Sep 18, 2017 at 06:00:23PM +0200, Stefan Roese wrote:
> On 20.08.2017 15:46, Baruch Siach wrote:
> > The ClearFog Base boot from UART when setting the DIP switches to 01001.
> > Unfortunately, the SPL code sometimes fails to detect the UART boot
> > method at run-time. Add an alternative SAR UART boot value to fix this.
> >
> > Signed-off-by: Baruch Siach <baruch at tkos.co.il>
> > ---
> > arch/arm/mach-mvebu/include/mach/soc.h | 1 +
> > arch/arm/mach-mvebu/spl.c | 1 +
> > 2 files changed, 2 insertions(+)
> >
> > diff --git a/arch/arm/mach-mvebu/include/mach/soc.h b/arch/arm/mach-mvebu/include/mach/soc.h
> > index 0900e4008c12..44bac63b4447 100644
> > --- a/arch/arm/mach-mvebu/include/mach/soc.h
> > +++ b/arch/arm/mach-mvebu/include/mach/soc.h
> > @@ -139,6 +139,7 @@
> > #define BOOT_DEV_SEL_MASK (0x3f << BOOT_DEV_SEL_OFFS)
> >
> > #define BOOT_FROM_UART 0x28
> > +#define BOOT_FROM_UART_ALT 0x3f
> > #define BOOT_FROM_SPI 0x32
> > #define BOOT_FROM_MMC 0x30
> > #define BOOT_FROM_MMC_ALT 0x31
> > diff --git a/arch/arm/mach-mvebu/spl.c b/arch/arm/mach-mvebu/spl.c
> > index 3cf02a54cea2..4b9c41360589 100644
> > --- a/arch/arm/mach-mvebu/spl.c
> > +++ b/arch/arm/mach-mvebu/spl.c
> > @@ -42,6 +42,7 @@ static u32 get_boot_device(void)
> > return BOOT_DEVICE_MMC1;
> > #endif
> > case BOOT_FROM_UART:
> > + case BOOT_FROM_UART_ALT:
> > return BOOT_DEVICE_UART;
> > case BOOT_FROM_SPI:
> > default:
>
> This patch produces this error for some MVEBU boards:
>
> [stefan at stefan-work u-boot-marvell (master)]$ make db-mv784mp-gp_defconfig
> HOSTCC scripts/basic/fixdep
> HOSTCC scripts/kconfig/conf.o
> SHIPPED scripts/kconfig/zconf.tab.c
> SHIPPED scripts/kconfig/zconf.lex.c
> SHIPPED scripts/kconfig/zconf.hash.c
> HOSTCC scripts/kconfig/zconf.tab.o
> HOSTLD scripts/kconfig/conf
> #
> # configuration written to .config
> #
> [stefan at stefan-work u-boot-marvell (master)]$ make -s -j10
> arch/arm/mach-mvebu/spl.c: In function ‘get_boot_device’:
> arch/arm/mach-mvebu/spl.c:45:7: error: ‘BOOT_FROM_UART_ALT’ undeclared (first use in this function)
> case BOOT_FROM_UART_ALT:
> ^~~~~~~~~~~~~~~~~~
> arch/arm/mach-mvebu/spl.c:45:7: note: each undeclared identifier is reported only once for each function it appears in
> scripts/Makefile.build:280: recipe for target 'spl/arch/arm/mach-mvebu/spl.o' failed
Sorry about that.
> Could you please fix this by either adding this UART_ALT for other
> MVEBUs as well (AXP, I didn't check if its available), or restricting
> its usage on the A38x?
How about:
#ifdef BOOT_FROM_UART_ALT
case BOOT_FROM_UART_ALT:
#endif
return BOOT_DEVICE_UART;
> Please make sure that future patches are compile clean for at least
> all MVEBU targets.
Will do.
Thanks for testing and reviewing.
baruch
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
More information about the U-Boot
mailing list