[v4,0/6] Add BSP for StarFiveTech VisionFive2 Risc-V board

Message ID 20230410094252.1151370-1-felix.moessbauer@siemens.com
Headers show
Series Add BSP for StarFiveTech VisionFive2 Risc-V board | expand

Message

MOESSBAUER, Felix April 10, 2023, 9:42 a.m. UTC
Changes since v3:

- rebased onto next
- drop "u-boot: make KCFLAGS and HOSTCFLAGS configurable"
- opensbi: update version
- u-boot
  - update which makes patches obsolete
  - support to compile without cross
  - simplify build dependencies
  - remove KCFLAGS injection
- spl_tool: replace with OSS version from StarFive
- linux: update which makes patches obsolete

Changes since v2:

- rebased onto next
- rework u-boot customization (p1)
- update opensbi
- update kernel

Changes since v1:

- rebased onto next (including bitbake 2.0 migration)
- exclude opensbi memory range in u-boot DT
- use upstream OpenSBI version (instead of StarFive version)

This series adds a new machine "starfive-visionfive2" which is a
Risc-V board based on the JH7110 SoC. The BSP is modeled based on the
buildroot SDK [1], but without any proprietary imaging components.

Further, we implement the fit + efi boot toolchain, instead of the
proposed ubootenv + fit version. This also requires that we embed the
board's linux device tree into the fit, as memory and reserved-memory
nodes are resolved via the efi API (implemented by u-boot) instead of
resolving them via the DT in Linux.

As the JH7110 SoC has no usable upstream support yet, we directly
build the 5.15 based kernel from the SDK, instead of porting patches
on top of the standard Linux. Distro kernels are also not supported.

Best regards,
Felix Moessbauer
Siemens AG

Felix Moessbauer (6):
  starfive-visionfive2: package u-boot
  starfive-visionfive2: package opensbi firmware
  starfive-visionfive2: add BSP kernel
  starfive-visionfive2: create u-boot-spl firmware
  starfive-visionfive2: create u-boot-spl FIT image
  starfive-visionfive2: add machine

 meta-isar/conf/local.conf.sample              |  1 +
 .../conf/machine/starfive-visionfive2.conf    | 29 +++++++++++++
 .../starfive-visionfive2-sid-ports.conf       |  7 ++++
 .../jh7110-u-boot-spl-image/files/install     |  1 +
 .../jh7110-u-boot-spl-image/files/rules       | 10 +++++
 .../jh7110-u-boot-spl-image_0.1.bb            | 30 ++++++++++++++
 .../jh7110-u-boot-spl-tool_0.1.bb             | 23 +++++++++++
 .../files/starfive-visionfive2-rules.tmpl     | 17 ++++++++
 ...ensbi-starfive-visionfive2_1.2+20230310.bb | 31 ++++++++++++++
 ...five-visionfive2_2022.01-rc4+VF2-2.11.5.bb | 31 ++++++++++++++
 .../files/rules.tmpl                          | 12 ++++++
 .../files/visionfive2-u-boot-firmware.install |  1 +
 .../visionfive2-uboot-fit-image.its.tmpl      | 41 +++++++++++++++++++
 .../visionfive2-u-boot-firmware.bb            | 36 ++++++++++++++++
 .../linux/files/starfive2_extra.cfg           |  3 ++
 .../linux/linux-starfive_5.15-visionfive2.bb  | 17 ++++++++
 .../canned-wks/starfive-visionfive2.wks.in    | 23 +++++++++++
 17 files changed, 313 insertions(+)
 create mode 100644 meta-isar/conf/machine/starfive-visionfive2.conf
 create mode 100644 meta-isar/conf/multiconfig/starfive-visionfive2-sid-ports.conf
 create mode 100644 meta-isar/recipes-bsp/jh7110-u-boot-spl-image/files/install
 create mode 100644 meta-isar/recipes-bsp/jh7110-u-boot-spl-image/files/rules
 create mode 100644 meta-isar/recipes-bsp/jh7110-u-boot-spl-image/jh7110-u-boot-spl-image_0.1.bb
 create mode 100644 meta-isar/recipes-bsp/jh7110-u-boot-spl-tool/jh7110-u-boot-spl-tool_0.1.bb
 create mode 100644 meta-isar/recipes-bsp/opensbi/files/starfive-visionfive2-rules.tmpl
 create mode 100644 meta-isar/recipes-bsp/opensbi/opensbi-starfive-visionfive2_1.2+20230310.bb
 create mode 100644 meta-isar/recipes-bsp/u-boot/u-boot-starfive-visionfive2_2022.01-rc4+VF2-2.11.5.bb
 create mode 100644 meta-isar/recipes-bsp/visionfive2-u-boot-firmware/files/rules.tmpl
 create mode 100644 meta-isar/recipes-bsp/visionfive2-u-boot-firmware/files/visionfive2-u-boot-firmware.install
 create mode 100644 meta-isar/recipes-bsp/visionfive2-u-boot-firmware/files/visionfive2-uboot-fit-image.its.tmpl
 create mode 100644 meta-isar/recipes-bsp/visionfive2-u-boot-firmware/visionfive2-u-boot-firmware.bb
 create mode 100644 meta-isar/recipes-kernel/linux/files/starfive2_extra.cfg
 create mode 100644 meta-isar/recipes-kernel/linux/linux-starfive_5.15-visionfive2.bb
 create mode 100644 meta-isar/scripts/lib/wic/canned-wks/starfive-visionfive2.wks.in

Comments

MOESSBAUER, Felix May 26, 2023, 5:14 a.m. UTC | #1
Dear maintainers,

are there any news on this series?
Can we merge it?

Best regards,
Felix

On Mon, 2023-04-10 at 09:42 +0000, Felix Moessbauer wrote:
> Changes since v3:
> 
> - rebased onto next
> - drop "u-boot: make KCFLAGS and HOSTCFLAGS configurable"
> - opensbi: update version
> - u-boot
>   - update which makes patches obsolete
>   - support to compile without cross
>   - simplify build dependencies
>   - remove KCFLAGS injection
> - spl_tool: replace with OSS version from StarFive
> - linux: update which makes patches obsolete
> 
> Changes since v2:
> 
> - rebased onto next
> - rework u-boot customization (p1)
> - update opensbi
> - update kernel
> 
> Changes since v1:
> 
> - rebased onto next (including bitbake 2.0 migration)
> - exclude opensbi memory range in u-boot DT
> - use upstream OpenSBI version (instead of StarFive version)
> 
> This series adds a new machine "starfive-visionfive2" which is a
> Risc-V board based on the JH7110 SoC. The BSP is modeled based on the
> buildroot SDK [1], but without any proprietary imaging components.
> 
> Further, we implement the fit + efi boot toolchain, instead of the
> proposed ubootenv + fit version. This also requires that we embed the
> board's linux device tree into the fit, as memory and reserved-memory
> nodes are resolved via the efi API (implemented by u-boot) instead of
> resolving them via the DT in Linux.
> 
> As the JH7110 SoC has no usable upstream support yet, we directly
> build the 5.15 based kernel from the SDK, instead of porting patches
> on top of the standard Linux. Distro kernels are also not supported.
> 
> Best regards,
> Felix Moessbauer
> Siemens AG
> 
> Felix Moessbauer (6):
>   starfive-visionfive2: package u-boot
>   starfive-visionfive2: package opensbi firmware
>   starfive-visionfive2: add BSP kernel
>   starfive-visionfive2: create u-boot-spl firmware
>   starfive-visionfive2: create u-boot-spl FIT image
>   starfive-visionfive2: add machine
> 
>  meta-isar/conf/local.conf.sample              |  1 +
>  .../conf/machine/starfive-visionfive2.conf    | 29 +++++++++++++
>  .../starfive-visionfive2-sid-ports.conf       |  7 ++++
>  .../jh7110-u-boot-spl-image/files/install     |  1 +
>  .../jh7110-u-boot-spl-image/files/rules       | 10 +++++
>  .../jh7110-u-boot-spl-image_0.1.bb            | 30 ++++++++++++++
>  .../jh7110-u-boot-spl-tool_0.1.bb             | 23 +++++++++++
>  .../files/starfive-visionfive2-rules.tmpl     | 17 ++++++++
>  ...ensbi-starfive-visionfive2_1.2+20230310.bb | 31 ++++++++++++++
>  ...five-visionfive2_2022.01-rc4+VF2-2.11.5.bb | 31 ++++++++++++++
>  .../files/rules.tmpl                          | 12 ++++++
>  .../files/visionfive2-u-boot-firmware.install |  1 +
>  .../visionfive2-uboot-fit-image.its.tmpl      | 41
> +++++++++++++++++++
>  .../visionfive2-u-boot-firmware.bb            | 36 ++++++++++++++++
>  .../linux/files/starfive2_extra.cfg           |  3 ++
>  .../linux/linux-starfive_5.15-visionfive2.bb  | 17 ++++++++
>  .../canned-wks/starfive-visionfive2.wks.in    | 23 +++++++++++
>  17 files changed, 313 insertions(+)
>  create mode 100644 meta-isar/conf/machine/starfive-visionfive2.conf
>  create mode 100644 meta-isar/conf/multiconfig/starfive-visionfive2-
> sid-ports.conf
>  create mode 100644 meta-isar/recipes-bsp/jh7110-u-boot-spl-
> image/files/install
>  create mode 100644 meta-isar/recipes-bsp/jh7110-u-boot-spl-
> image/files/rules
>  create mode 100644 meta-isar/recipes-bsp/jh7110-u-boot-spl-
> image/jh7110-u-boot-spl-image_0.1.bb
>  create mode 100644 meta-isar/recipes-bsp/jh7110-u-boot-spl-
> tool/jh7110-u-boot-spl-tool_0.1.bb
>  create mode 100644 meta-isar/recipes-bsp/opensbi/files/starfive-
> visionfive2-rules.tmpl
>  create mode 100644 meta-isar/recipes-bsp/opensbi/opensbi-starfive-
> visionfive2_1.2+20230310.bb
>  create mode 100644 meta-isar/recipes-bsp/u-boot/u-boot-starfive-
> visionfive2_2022.01-rc4+VF2-2.11.5.bb
>  create mode 100644 meta-isar/recipes-bsp/visionfive2-u-boot-
> firmware/files/rules.tmpl
>  create mode 100644 meta-isar/recipes-bsp/visionfive2-u-boot-
> firmware/files/visionfive2-u-boot-firmware.install
>  create mode 100644 meta-isar/recipes-bsp/visionfive2-u-boot-
> firmware/files/visionfive2-uboot-fit-image.its.tmpl
>  create mode 100644 meta-isar/recipes-bsp/visionfive2-u-boot-
> firmware/visionfive2-u-boot-firmware.bb
>  create mode 100644 meta-isar/recipes-
> kernel/linux/files/starfive2_extra.cfg
>  create mode 100644 meta-isar/recipes-kernel/linux/linux-
> starfive_5.15-visionfive2.bb
>  create mode 100644 meta-isar/scripts/lib/wic/canned-wks/starfive-
> visionfive2.wks.in
>
Uladzimir Bely May 27, 2023, 10:41 a.m. UTC | #2
On Mon, 2023-04-10 at 09:42 +0000, 'Felix Moessbauer' via isar-users
wrote:
> Changes since v3:
> 
> - rebased onto next
> - drop "u-boot: make KCFLAGS and HOSTCFLAGS configurable"
> - opensbi: update version
> - u-boot
>   - update which makes patches obsolete
>   - support to compile without cross
>   - simplify build dependencies
>   - remove KCFLAGS injection
> - spl_tool: replace with OSS version from StarFive
> - linux: update which makes patches obsolete
> 
> Changes since v2:
> 
> - rebased onto next
> - rework u-boot customization (p1)
> - update opensbi
> - update kernel
> 
> Changes since v1:
> 
> - rebased onto next (including bitbake 2.0 migration)
> - exclude opensbi memory range in u-boot DT
> - use upstream OpenSBI version (instead of StarFive version)
> 
> This series adds a new machine "starfive-visionfive2" which is a
> Risc-V board based on the JH7110 SoC. The BSP is modeled based on the
> buildroot SDK [1], but without any proprietary imaging components.
> 
> Further, we implement the fit + efi boot toolchain, instead of the
> proposed ubootenv + fit version. This also requires that we embed the
> board's linux device tree into the fit, as memory and reserved-memory
> nodes are resolved via the efi API (implemented by u-boot) instead of
> resolving them via the DT in Linux.
> 
> As the JH7110 SoC has no usable upstream support yet, we directly
> build the 5.15 based kernel from the SDK, instead of porting patches
> on top of the standard Linux. Distro kernels are also not supported.
> 
> Best regards,
> Felix Moessbauer
> Siemens AG
> 
> Felix Moessbauer (6):
>   starfive-visionfive2: package u-boot
>   starfive-visionfive2: package opensbi firmware
>   starfive-visionfive2: add BSP kernel
>   starfive-visionfive2: create u-boot-spl firmware
>   starfive-visionfive2: create u-boot-spl FIT image
>   starfive-visionfive2: add machine
> 
>  meta-isar/conf/local.conf.sample              |  1 +
>  .../conf/machine/starfive-visionfive2.conf    | 29 +++++++++++++
>  .../starfive-visionfive2-sid-ports.conf       |  7 ++++
>  .../jh7110-u-boot-spl-image/files/install     |  1 +
>  .../jh7110-u-boot-spl-image/files/rules       | 10 +++++
>  .../jh7110-u-boot-spl-image_0.1.bb            | 30 ++++++++++++++
>  .../jh7110-u-boot-spl-tool_0.1.bb             | 23 +++++++++++
>  .../files/starfive-visionfive2-rules.tmpl     | 17 ++++++++
>  ...ensbi-starfive-visionfive2_1.2+20230310.bb | 31 ++++++++++++++
>  ...five-visionfive2_2022.01-rc4+VF2-2.11.5.bb | 31 ++++++++++++++
>  .../files/rules.tmpl                          | 12 ++++++
>  .../files/visionfive2-u-boot-firmware.install |  1 +
>  .../visionfive2-uboot-fit-image.its.tmpl      | 41
> +++++++++++++++++++
>  .../visionfive2-u-boot-firmware.bb            | 36 ++++++++++++++++
>  .../linux/files/starfive2_extra.cfg           |  3 ++
>  .../linux/linux-starfive_5.15-visionfive2.bb  | 17 ++++++++
>  .../canned-wks/starfive-visionfive2.wks.in    | 23 +++++++++++
>  17 files changed, 313 insertions(+)
>  create mode 100644 meta-isar/conf/machine/starfive-visionfive2.conf
>  create mode 100644 meta-isar/conf/multiconfig/starfive-visionfive2-
> sid-ports.conf
>  create mode 100644 meta-isar/recipes-bsp/jh7110-u-boot-spl-
> image/files/install
>  create mode 100644 meta-isar/recipes-bsp/jh7110-u-boot-spl-
> image/files/rules
>  create mode 100644 meta-isar/recipes-bsp/jh7110-u-boot-spl-
> image/jh7110-u-boot-spl-image_0.1.bb
>  create mode 100644 meta-isar/recipes-bsp/jh7110-u-boot-spl-
> tool/jh7110-u-boot-spl-tool_0.1.bb
>  create mode 100644 meta-isar/recipes-bsp/opensbi/files/starfive-
> visionfive2-rules.tmpl
>  create mode 100644 meta-isar/recipes-bsp/opensbi/opensbi-starfive-
> visionfive2_1.2+20230310.bb
>  create mode 100644 meta-isar/recipes-bsp/u-boot/u-boot-starfive-
> visionfive2_2022.01-rc4+VF2-2.11.5.bb
>  create mode 100644 meta-isar/recipes-bsp/visionfive2-u-boot-
> firmware/files/rules.tmpl
>  create mode 100644 meta-isar/recipes-bsp/visionfive2-u-boot-
> firmware/files/visionfive2-u-boot-firmware.install
>  create mode 100644 meta-isar/recipes-bsp/visionfive2-u-boot-
> firmware/files/visionfive2-uboot-fit-image.its.tmpl
>  create mode 100644 meta-isar/recipes-bsp/visionfive2-u-boot-
> firmware/visionfive2-u-boot-firmware.bb
>  create mode 100644 meta-isar/recipes-
> kernel/linux/files/starfive2_extra.cfg
>  create mode 100644 meta-isar/recipes-kernel/linux/linux-
> starfive_5.15-visionfive2.bb
>  create mode 100644 meta-isar/scripts/lib/wic/canned-wks/starfive-
> visionfive2.wks.in
> 
> -- 
> 2.34.1
> 

Applied to next, thanks.