Hi Zhuxu,

On Thu Aug 6, 2026 at 8:13 PM CST, Zhuxu Ran wrote:
> The LicheeRV Nano configuration disables board_init(), so the existing
> CV1800B sysreset driver is never bound. This is an existing board issue
> exposed while validating the upstream SG2002 devicetree conversion.
>
> SG2002 uses the same RTC system reset registers as CV1800B. Enable
> board-specific initialization and bind the driver in board_init(),
> following the approach used by Milk-V Duo.
>
> Signed-off-by: Zhuxu Ran <[email protected]>
> ---
>  board/sophgo/licheerv_nano/board.c     | 9 +++++++++
>  configs/sipeed_licheerv_nano_defconfig | 1 -
>  2 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/board/sophgo/licheerv_nano/board.c 
> b/board/sophgo/licheerv_nano/board.c
> index e6099d35dbf..c0685c44662 100644
> --- a/board/sophgo/licheerv_nano/board.c
> +++ b/board/sophgo/licheerv_nano/board.c
> @@ -3,3 +3,12 @@
>   * Copyright (c) 2024, Kongyang Liu <[email protected]>
>   */
>  
> +#include <dm/lists.h>
> +
> +int board_init(void)
> +{
> +     if (IS_ENABLED(CONFIG_SYSRESET_CV1800B))
> +             device_bind_driver(gd->dm_root, "cv1800b_sysreset", "sysreset", 
> NULL);
> +
> +     return 0;
> +}

This looks the same as what Milk-V Duo already does. Since this is an
SoC-level driver that doesn’t change across different boards, could you
please look into extracting it into common code instead?

Also see:

https://lists.u-boot-project.org/pipermail/u-boot/2026-July/625352.html

> diff --git a/configs/sipeed_licheerv_nano_defconfig 
> b/configs/sipeed_licheerv_nano_defconfig
> index 9aa3ede10c5..ab29f327d7a 100644
> --- a/configs/sipeed_licheerv_nano_defconfig
> +++ b/configs/sipeed_licheerv_nano_defconfig
> @@ -17,7 +17,6 @@ CONFIG_SD_BOOT=y
>  CONFIG_BOOTCOMMAND="run distro_bootcmd"
>  CONFIG_SYS_CBSIZE=512
>  CONFIG_SYS_PBSIZE=544
> -# CONFIG_BOARD_INIT is not set
>  CONFIG_SYS_PROMPT="licheerv_nano# "
>  # CONFIG_CMD_BOOTDEV is not set
>  CONFIG_CMD_MBR=y

-- 
Best regards,
Junhui Liu

Reply via email to