[U-Boot] [PATCH 1/2] rockchip: add CONFIG_SPL_ROCKCHIP_SERIAL

Simon Glass sjg at chromium.org
Tue Dec 1 16:12:44 CET 2015


Hi Lin,

On 30 November 2015 at 23:51, hl <hl at rock-chips.com> wrote:
> Hi Simon,
>
>
> On 27/11/15 11:37, Simon Glass wrote:
>>
>> Hi Lin,
>>
>> On 26 November 2015 at 19:35, Simon Glass <sjg at chromium.org> wrote:
>>>
>>> Hi Lin,
>>>
>>> On 19 November 2015 at 22:58, Lin Huang <hl at rock-chips.com> wrote:
>>>>
>>>> we can use this config to disable rockchip serial driver in SPL stage,
>>>> since some rockchip soc sram size is small(rk3036 etc), so we don't
>>>> want rockchip serial driver build in SPL, but we still want use common
>>>> debug driver in SPL.
>>>>
>>>> Signed-off-by: Lin Huang <hl at rock-chips.com>
>>>> ---
>>>>   arch/arm/mach-rockchip/Kconfig  | 3 +++
>>>>   drivers/serial/Makefile         | 2 +-
>>>>   include/configs/rk3288_common.h | 1 +
>>>>   3 files changed, 5 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/arch/arm/mach-rockchip/Kconfig
>>>> b/arch/arm/mach-rockchip/Kconfig
>>>> index ccff81a..595263c 100644
>>>> --- a/arch/arm/mach-rockchip/Kconfig
>>>> +++ b/arch/arm/mach-rockchip/Kconfig
>>>> @@ -59,6 +59,9 @@ config DM_GPIO
>>>>   config ROCKCHIP_SERIAL
>>>>          default y
>>>>
>>>> +config SPL_ROCKCHIP_SERIAL
>>>> +       default n
>>>> +
>>>
>>> It will already default to 'n', so this can be omitted.
>>>
>>> Also you should add this new CONFIG to drivers/serial/Kconfig, below
>>> the existing (non-SPL) one.
>>>
>>>>   source "arch/arm/mach-rockchip/rk3288/Kconfig"
>>>>   source "arch/arm/mach-rockchip/rk3036/Kconfig"
>>>>   endif
>>>> diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile
>>>> index 1818c7c..73e30c6 100644
>>>> --- a/drivers/serial/Makefile
>>>> +++ b/drivers/serial/Makefile
>>>> @@ -41,7 +41,7 @@ obj-$(CONFIG_ZYNQ_SERIAL) += serial_zynq.o
>>>>   obj-$(CONFIG_BFIN_SERIAL) += serial_bfin.o
>>>>   obj-$(CONFIG_FSL_LPUART) += serial_lpuart.o
>>>>   obj-$(CONFIG_MXS_AUART) += mxs_auart.o
>>>> -obj-$(CONFIG_ROCKCHIP_SERIAL) += serial_rockchip.o
>>>> +obj-$(CONFIG_$(SPL_)ROCKCHIP_SERIAL) += serial_rockchip.o
>>>>   obj-$(CONFIG_ARC_SERIAL) += serial_arc.o
>>>>   obj-$(CONFIG_TEGRA_SERIAL) += serial_tegra.o
>>>>   obj-$(CONFIG_UNIPHIER_SERIAL) += serial_uniphier.o
>>>> diff --git a/include/configs/rk3288_common.h
>>>> b/include/configs/rk3288_common.h
>>>> index 74c7ee1..7f3d1ee 100644
>>>> --- a/include/configs/rk3288_common.h
>>>> +++ b/include/configs/rk3288_common.h
>>>> @@ -30,6 +30,7 @@
>>>>   #define CONFIG_SPL_LIBCOMMON_SUPPORT
>>>>   #define CONFIG_SPL_LIBGENERIC_SUPPORT
>>>>   #define CONFIG_SPL_SERIAL_SUPPORT
>>>> +#define CONFIG_SPL_ROCKCHIP_SERIAL
>>>
>>> You should add this to the rk3288 defconfig files, instead of here.
>>> Kconfig items should not be added to config header files - in fact we
>>> plan to eventually remove the config header files.
>>>
>>>>   #define CONFIG_SYS_NS16550
>>>>   #define CONFIG_SYS_NS16550_MEM32
>>>>   #define CONFIG_SPL_BOARD_INIT
>>>> --
>>>> 1.9.1
>>>>
>> Actually, serial_rockchip.c has been removed in mainline. So you may
>> not need this patch, or maybe it can be reduced in size. Please check
>> the current u-boot-rockchip/master.
>
>     i cherry-pick the
>
>     [PATCH 2/2] rockchip: rk3036: enable CONFIG_DEBUG_UART, and use ns16550
> uart driver
>
>     in u-boot-rockchip/master branch, build it,  but fail, it is will call
> hang() in arch/arm/lib/div0,

That sounds like a symptom of a divide by 0 error?

>     so i need to define  CONFIG_SPL_LIBGENERIC_SUPPORT, but if i do it, the
> spl size too big.

I am hoping that we can enable the debug UART without bringing in full
serial support. Do you think it is possible? We just want printch()
etc., not printf().

Regards,
Simon


More information about the U-Boot mailing list