[U-Boot] [PATCH] rockchip: Fix SPL console output when ROCKCHIP_SPL_BACK_TO_BROM is enabled

Ziyuan Xu xzy.xu at rock-chips.com
Sat Aug 13 13:08:41 CEST 2016


Acked-by: Ziyuan Xu <xzy.xu at rock-chips.com>


On 2016年08月11日 19:08, Sandy Patterson wrote:
>
> On Wed, Aug 10, 2016 at 11:01 PM, Ziyuan Xu <xzy.xu at rock-chips.com 
> <mailto:xzy.xu at rock-chips.com>> wrote:
>
>
>
>     On 2016年08月10日 22:21, Sandy Patterson wrote:
>
>         Move back_to_bootrom() call later in SPL init so that the
>         console is
>         initialized and printouts happen.
>
>         Currently when ROCKCHIP_SPL_BACK_TO_BROM is enabled there is
>         no console
>         output from the SPL init stages.
>
>         I wasn't sure exactly where this should happen, so if we are
>         set to do
>         run spl_board_init, then go back to bootrom there after
>         preloader_console_init(). Otherwise fall back to old behavior
>         of doing
>         it in board_init_f.
>
>     In fact, ROCKCHIP_SPL_BACK_TO_BROM's aim is to reduce SPL's size,
>     and we can undef CONFIG_SPL_MMC_SUPPORT and other thing.
>     The SPL only in charge of DDR initialization, so that boot rom
>     could load u-boot to RAM.
>     If you really need something output, you can enable EARYLY_UART in
>     rk3288-board-spl.c:board_init_f().
>     But the above is my own understanding.
>
> EARLY_UART is a good tool, but this patch just fixes printouts. It's 
> not enabling or disabling any code compilation. The console init and 
> version information code is there. I just move the back_to_bootrom 
> call later in the SPL if that later point exits. You can still 
> disable CONFIG_SPL_BOARD_INIT and it will fall back to calling the 
> bootrom earlier.
>
> We don't actually need that much space. We chose to use BOOT_TO_BROM 
> instead of disabling the console in SPL.
>
> We disable CONFIG_SPL_MMC_SUPPORT in our production system within the 
> rock2.h file if CONFIG_SPL_MMC_SUPPORT. I'll submit another patch for 
> that. I think if boootrom is used then the mmc should be removed from 
> spl. I'm not really sure how the config system is supposed to work in 
> this case.
>
>
>         Signed-off-by: Sandy Patterson <apatterson at sightlogix.com
>         <mailto:apatterson at sightlogix.com>>
>         ---
>
>           arch/arm/mach-rockchip/rk3288-board-spl.c | 5 ++++-
>           1 file changed, 4 insertions(+), 1 deletion(-)
>
>         diff --git a/arch/arm/mach-rockchip/rk3288-board-spl.c
>         b/arch/arm/mach-rockchip/rk3288-board-spl.c
>         index e0d92a6..0c2d525 100644
>         --- a/arch/arm/mach-rockchip/rk3288-board-spl.c
>         +++ b/arch/arm/mach-rockchip/rk3288-board-spl.c
>         @@ -206,7 +206,7 @@ void board_init_f(ulong dummy)
>                         debug("DRAM init failed: %d\n", ret);
>                         return;
>                 }
>         -#ifdef CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
>         +#if defined(CONFIG_ROCKCHIP_SPL_BACK_TO_BROM) &&
>         !defined(CONFIG_SPL_BOARD_INIT)
>                 back_to_bootrom();
>           #endif
>           }
>         @@ -273,6 +273,9 @@ void spl_board_init(void)
>                 }
>                 preloader_console_init();
>         +#ifdef CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
>         +       back_to_bootrom();
>         +#endif
>                 return;
>           err:
>                 printf("spl_board_init: Error %d\n", ret);
>
>
>
>




More information about the U-Boot mailing list