[U-Boot] [PATCH] rockchip: Fix SPL console output when ROCKCHIP_SPL_BACK_TO_BROM is enabled
Simon Glass
sjg at chromium.org
Fri Sep 23 04:28:45 CEST 2016
Acked-by: Simon Glass <sjg at chromium.org>
On 13 August 2016 at 05:08, Ziyuan Xu <xzy.xu at rock-chips.com> wrote:
> 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