[PATCH v2 1/3] riscv: sophgo: milkv_duo: initial support added

Kongyang Liu seashell11234455 at gmail.com
Tue Jan 16 17:05:42 CET 2024


Heinrich Schuchardt <xypron.glpk at gmx.de> 于2024年1月15日周一 05:57写道:
>
> On 1/14/24 19:07, Kongyang Liu wrote:
> > Add support for Sophgo's Milk-V Duo board, only minimal device tree and
> > serial console are enabled, and it can boot via vendor first stage
> > bootloader.
> >
> > Signed-off-by: Kongyang Liu <seashell11234455 at gmail.com>
>
> The sequence of patches seems to be wrong.
>
> We expect that after each single patch building succeeds. But the
> device-tree is neither in this patch nor in a preceding patch. Please,
> swap patch 1 and 2.
>
> make[2]: *** No rule to make target
> 'arch/riscv/dts/cv1800b-milkv-duo.dtb', needed by 'dtbs'.
>
>
I forgot defconfig relies on dts files, I will swap patch 1 and 2.

> >
> > ---
> >
> > Changes in v2:
> > - Fold the defconfig patch to first patch
> > - Remove unnecessary environment settings of consoledev and baudrate in
> > config
> >
> >   arch/riscv/Kconfig                 |  4 ++++
> >   board/sophgo/milkv_duo/Kconfig     | 28 ++++++++++++++++++++++++++++
> >   board/sophgo/milkv_duo/MAINTAINERS |  6 ++++++
> >   board/sophgo/milkv_duo/Makefile    |  5 +++++
> >   board/sophgo/milkv_duo/board.c     |  9 +++++++++
> >   configs/milkv_duo_defconfig        | 24 ++++++++++++++++++++++++
> >   include/configs/milkv_duo.h        | 12 ++++++++++++
> >   7 files changed, 88 insertions(+)
> >   create mode 100644 board/sophgo/milkv_duo/Kconfig
> >   create mode 100644 board/sophgo/milkv_duo/MAINTAINERS
> >   create mode 100644 board/sophgo/milkv_duo/Makefile
> >   create mode 100644 board/sophgo/milkv_duo/board.c
> >   create mode 100644 configs/milkv_duo_defconfig
> >   create mode 100644 include/configs/milkv_duo.h
> >
> > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> > index 6d0d812ddb..de99ce3a28 100644
> > --- a/arch/riscv/Kconfig
> > +++ b/arch/riscv/Kconfig
> > @@ -14,6 +14,9 @@ config TARGET_ANDES_AE350
> >   config TARGET_MICROCHIP_ICICLE
> >       bool "Support Microchip PolarFire-SoC Icicle Board"
> >
> > +config TARGET_MILKV_DUO
> > +     bool "Support Milk-v Duo Board"
> > +
> >   config TARGET_OPENPITON_RISCV64
> >       bool "Support RISC-V cores on OpenPiton SoC"
> >
> > @@ -80,6 +83,7 @@ source "board/openpiton/riscv64/Kconfig"
> >   source "board/sifive/unleashed/Kconfig"
> >   source "board/sifive/unmatched/Kconfig"
> >   source "board/sipeed/maix/Kconfig"
> > +source "board/sophgo/milkv_duo/Kconfig"
> >   source "board/starfive/visionfive2/Kconfig"
> >   source "board/thead/th1520_lpi4a/Kconfig"
>
> error: patch failed: arch/riscv/Kconfig:80
>
> Please, rebase.
>
>
I will rebase it.

> >
> > diff --git a/board/sophgo/milkv_duo/Kconfig b/board/sophgo/milkv_duo/Kconfig
> > new file mode 100644
> > index 0000000000..2a458f291c
> > --- /dev/null
> > +++ b/board/sophgo/milkv_duo/Kconfig
> > @@ -0,0 +1,28 @@
> > +if TARGET_MILKV_DUO
> > +
> > +config SYS_BOARD
> > +     default "milkv_duo"
> > +
> > +config SYS_VENDOR
> > +     default "sophgo"
> > +
> > +config SYS_CPU
> > +     default "generic"
> > +
> > +config SYS_CONFIG_NAME
> > +     default "milkv_duo"
> > +
> > +config TEXT_BASE
> > +     default 0x80200000
> > +
> > +config ENV_SIZE
> > +     default 0x20000
> > +
> > +config ENV_SECT_SIZE
> > +     default 0x40000
> > +
> > +config BOARD_SPECIFIC_OPTIONS
> > +     def_bool y
> > +     select GENERIC_RISCV
> > +
> > +endif
> > diff --git a/board/sophgo/milkv_duo/MAINTAINERS b/board/sophgo/milkv_duo/MAINTAINERS
> > new file mode 100644
> > index 0000000000..651a0592f7
> > --- /dev/null
> > +++ b/board/sophgo/milkv_duo/MAINTAINERS
> > @@ -0,0 +1,6 @@
> > +Milk-V Duo
> > +M:   Kongyang Liu <seashell11234455 at gmail.com>
> > +S:   Maintained
> > +F:   board/sophgo/milkv_duo/
> > +F:   configs/milkv_duo_defconfig
> > +F:   doc/board/sophgo/milkv_duo.rst
> > diff --git a/board/sophgo/milkv_duo/Makefile b/board/sophgo/milkv_duo/Makefile
> > new file mode 100644
> > index 0000000000..a087013f5c
> > --- /dev/null
> > +++ b/board/sophgo/milkv_duo/Makefile
> > @@ -0,0 +1,5 @@
> > +# SPDX-License-Identifier: GPL-2.0+
> > +#
> > +# Copyright (c) 2024, Kongyang Liu <seashell11234455 at gmail.com>
> > +
> > +obj-y := board.o
> > diff --git a/board/sophgo/milkv_duo/board.c b/board/sophgo/milkv_duo/board.c
> > new file mode 100644
> > index 0000000000..eaa47be173
> > --- /dev/null
> > +++ b/board/sophgo/milkv_duo/board.c
> > @@ -0,0 +1,9 @@
> > +// SPDX-License-Identifier: GPL-2.0+
> > +/*
> > + * Copyright (c) 2024, Kongyang Liu <seashell11234455 at gmail.com>
> > + */
> > +
> > +int board_init(void)
> > +{
> > +     return 0;
> > +}
> > diff --git a/configs/milkv_duo_defconfig b/configs/milkv_duo_defconfig
> > new file mode 100644
> > index 0000000000..c4782639ef
> > --- /dev/null
> > +++ b/configs/milkv_duo_defconfig
> > @@ -0,0 +1,24 @@
> > +CONFIG_RISCV=y
> > +CONFIG_SYS_MALLOC_LEN=0x820000
> > +CONFIG_SYS_MALLOC_F_LEN=0x2000
> > +CONFIG_NR_DRAM_BANKS=1
> > +CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> > +CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x82300000
> > +CONFIG_DEFAULT_DEVICE_TREE="cv1800b-milkv-duo"
> > +CONFIG_IDENT_STRING="milkv_duo"
> > +CONFIG_SYS_LOAD_ADDR=0x80080000
> > +CONFIG_TARGET_MILKV_DUO=y
> > +CONFIG_ARCH_RV64I=y
> > +CONFIG_RISCV_SMODE=y
> > +CONFIG_FIT=y
> > +CONFIG_SUPPORT_RAW_INITRD=y
> > +CONFIG_HUSH_PARSER=y
> > +CONFIG_SYS_PROMPT="milkv_duo# "
> > +CONFIG_SYS_MAXARGS=64
> > +CONFIG_SYS_CBSIZE=512
> > +CONFIG_SYS_PBSIZE=544
> > +CONFIG_SYS_BOOTM_LEN=0x4000000
> > +CONFIG_ENV_OVERWRITE=y
> > +CONFIG_SYS_NS16550=y
> > +CONFIG_SYS_NS16550_MEM32=y
> > +# CONFIG_EFI_LOADER is not set
>
> Is there a limitation on the size of the binary or why are you excluding
> this option?
>
> With the loady command you should be able to load an EFI binary via the
> UART and then launch it. U-Boot comes with some EFI test applications
> that you could run like smbiosdump.efi.
>
In my memory, enabling the CONFIG_EFI_LOADER option resulted in some
errors on this board, but I forgot what those errors were. I will
verify it, and if
there are no issues, I will enable this option.

Best regards
Kongyang Liu

> Best regards
>
> Heinrich
>
> > diff --git a/include/configs/milkv_duo.h b/include/configs/milkv_duo.h
> > new file mode 100644
> > index 0000000000..0b4109dc1f
> > --- /dev/null
> > +++ b/include/configs/milkv_duo.h
> > @@ -0,0 +1,12 @@
> > +/* SPDX-License-Identifier: GPL-2.0+ */
> > +/*
> > + * Copyright (c) 2024, Kongyang Liu <seashell11234455 at gmail.com>
> > + *
> > + */
> > +
> > +#ifndef __CONFIG_H
> > +#define __CONFIG_H
> > +
> > +#define CFG_SYS_SDRAM_BASE         0x80000000
> > +
> > +#endif /* __CONFIG_H */
>


More information about the U-Boot mailing list