Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v8 0/3] Add board support for Radxa Rock 5B
@ 2023-07-26 18:04 Kilian Zinnecker via buildroot
  2023-07-26 18:04 ` [Buildroot] [PATCH v8 1/3] package/rockchip-rkbin: new package Kilian Zinnecker via buildroot
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Kilian Zinnecker via buildroot @ 2023-07-26 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Giulio Benetti, Quentin Schulz, Andreas Ziegler, Thomas Petazzoni,
	Kilian Zinnecker

This patch series adds support for the Radxa Rock 5B board, featuring
the Rockchip RK3588 SoC. It adds a package for the Rockchip ATF binary
blobs, needed by U-Boot. It uses a modified Linux kernel from Radxa.
After build, a fit image with compressed kernel is generated, which is
then put into an SD card image alongside U-Boot and the root file
system.

v7 -> v8:

  - Added reference to the now existing license file of the rkbin
    repository in the rockchip-rkbin.mk file
  - Bumped the version of the rockchip-rkbin git repository in the
    package (default version) and the rock5b_defconfig. Changed the
    binary blob filenames accordingly

v6 -> v7:

  - Improved commit titles and commit structure
  - uboot.mk: Fixed installation path for binary
  - Improved automatical pickup of Rockchip blobs by U-Boot
  - rockchip-rkbin.mk: Simplyfied binary selection and installation
  - rock5b_defconfig: removed unecessary configurations
  - post-image.sh: Exchanged own code by calling genimage support
    script
  - uboot.mk: Fixed UBOOT_MAKE_OPTS typo
  - uboot/Config.in: Removed futile default value
  - Fixed variable naming in uboot.mk and rockchip-rkbin.mk
  - Various further cleanups ...

v5 -> v6:

  - Bumps uboot version: now uses 2023.7 instead of release candidate
  - Fixes dependency error in uboot.mk
  - Improves rockchip-rkbin.mk: can now handle different rockchip blob
    file type extensions
  - Improves uboot.mk: can now handle different rockchip blob file
    type extensions
  - Improves rockchip-rkbin.mk: improved menuconfig menu
  - Improves post-image.sh: now automatically copies u-boot to
    BINARIES_DIR through uboot.mk
  - Improves genimage.cfg: removes unnecessary partition offsets
  - Improves boot command handling: now uses uboot.cmd instead of
    uboot fragment file

Kilian Zinnecker (3):
  package/rockchip-rkbin: new package
  boot/uboot: Add support for Rockchip binary blobs
  configs/rock5b: new defconfig

 DEVELOPERS                                 |  5 ++
 board/radxa/rock5b/boot.cmd                |  3 ++
 board/radxa/rock5b/genimage.cfg            | 34 ++++++++++++
 board/radxa/rock5b/linux.fragment          |  1 +
 board/radxa/rock5b/post-image.sh           |  6 +++
 board/radxa/rock5b/readme.txt              | 62 ++++++++++++++++++++++
 board/radxa/rock5b/rock5b.its              | 46 ++++++++++++++++
 boot/uboot/Config.in                       |  9 ++++
 boot/uboot/uboot.mk                        | 17 ++++++
 configs/rock5b_defconfig                   | 42 +++++++++++++++
 package/Config.in                          |  1 +
 package/rockchip-rkbin/Config.in           | 47 ++++++++++++++++
 package/rockchip-rkbin/rockchip-rkbin.hash |  2 +
 package/rockchip-rkbin/rockchip-rkbin.mk   | 46 ++++++++++++++++
 14 files changed, 321 insertions(+)
 create mode 100644 board/radxa/rock5b/boot.cmd
 create mode 100644 board/radxa/rock5b/genimage.cfg
 create mode 100644 board/radxa/rock5b/linux.fragment
 create mode 100755 board/radxa/rock5b/post-image.sh
 create mode 100644 board/radxa/rock5b/readme.txt
 create mode 100644 board/radxa/rock5b/rock5b.its
 create mode 100644 configs/rock5b_defconfig
 create mode 100644 package/rockchip-rkbin/Config.in
 create mode 100644 package/rockchip-rkbin/rockchip-rkbin.hash
 create mode 100644 package/rockchip-rkbin/rockchip-rkbin.mk

-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH v8 1/3] package/rockchip-rkbin: new package
  2023-07-26 18:04 [Buildroot] [PATCH v8 0/3] Add board support for Radxa Rock 5B Kilian Zinnecker via buildroot
@ 2023-07-26 18:04 ` Kilian Zinnecker via buildroot
  2023-07-26 21:41   ` Yann E. MORIN
  2023-07-26 18:04 ` [Buildroot] [PATCH v8 2/3] boot/uboot: Add support for Rockchip binary blobs Kilian Zinnecker via buildroot
  2023-07-26 18:04 ` [Buildroot] [PATCH v8 3/3] configs/rock5b: new defconfig Kilian Zinnecker via buildroot
  2 siblings, 1 reply; 10+ messages in thread
From: Kilian Zinnecker via buildroot @ 2023-07-26 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Giulio Benetti, Quentin Schulz, Andreas Ziegler, Thomas Petazzoni,
	Kilian Zinnecker

This patch adds a package for the Rockchip ATF binary blobs. These
binaries are needed to build U-Boot for some Rockchip SoCs (e.g.,
RK3588). One can config a custom version and manually define which
blobs (for bl31, tpl and optee) to use from the repository.

Signed-off-by: Kilian Zinnecker <kilian.zinnecker@mail.de>
---
 DEVELOPERS                                 |  3 ++
 package/Config.in                          |  1 +
 package/rockchip-rkbin/Config.in           | 47 ++++++++++++++++++++++
 package/rockchip-rkbin/rockchip-rkbin.hash |  2 +
 package/rockchip-rkbin/rockchip-rkbin.mk   | 46 +++++++++++++++++++++
 5 files changed, 99 insertions(+)
 create mode 100644 package/rockchip-rkbin/Config.in
 create mode 100644 package/rockchip-rkbin/rockchip-rkbin.hash
 create mode 100644 package/rockchip-rkbin/rockchip-rkbin.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 6d8b43c31e..464d1db552 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1803,6 +1803,9 @@ F:	package/ramsmp/
 N:	Kieran Bingham <kieran.bingham@ideasonboard.com>
 F:	package/libcamera/
 
+N:	Kilian Zinnecker <kilian.zinnecker@mail.de>
+F:	package/rockchip-rkbin/
+
 N:	Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com>
 F:	package/wqy-zenhei/
 
diff --git a/package/Config.in b/package/Config.in
index 1e551d17c4..1237281701 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -580,6 +580,7 @@ endmenu
 	source "package/read-edid/Config.in"
 	source "package/rng-tools/Config.in"
 	source "package/rockchip-mali/Config.in"
+	source "package/rockchip-rkbin/Config.in"
 	source "package/rpi-userland/Config.in"
 	source "package/rs485conf/Config.in"
 	source "package/rtc-tools/Config.in"
diff --git a/package/rockchip-rkbin/Config.in b/package/rockchip-rkbin/Config.in
new file mode 100644
index 0000000000..85c30c3745
--- /dev/null
+++ b/package/rockchip-rkbin/Config.in
@@ -0,0 +1,47 @@
+config BR2_PACKAGE_ROCKCHIP_RKBIN
+	bool "rockchip-rkbin"
+	depends on BR2_arm || BR2_aarch64
+	help
+	  This package provides Rockchip SoC binary blobs for U-Boot.
+
+if BR2_PACKAGE_ROCKCHIP_RKBIN
+
+config BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION
+	bool "Use a custom version"
+	help
+	  This option allows to use a specific version.
+if BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION
+
+config BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION_VALUE
+	string "Rockchip rkbin version"
+	depends on BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION
+
+endif # BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION
+
+config BR2_PACKAGE_ROCKCHIP_RKBIN_VERSION
+	string
+	default "b4558da0860ca48bf1a571dd33ccba580b9abe23" \
+		if !BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION
+	default BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION_VALUE \
+		if BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION
+
+config BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME
+	string "Rockchip rkbin tpl file path"
+	help
+	  Full path to the tpl file inside the rkbin repository. The
+	  specified file will be copied and used by U-Boot as tpl.
+
+config BR2_PACKAGE_ROCKCHIP_RKBIN_BL31_FILENAME
+	string "Rockchip rkbin bl31 file path"
+	help
+	  Full path to the bl31 file inside the rkbin repository. The
+	  specified file will be copied and used by U-Boot as bl31.
+
+config BR2_PACKAGE_ROCKCHIP_RKBIN_TEE_FILENAME
+	string "Rockchip rkbin tee file path"
+	help
+	  Full path to the TEE file inside the rkbin repository.
+	  The specified file will be copied and used by U-Boot as
+	  TEE.
+
+endif # BR2_PACKAGE_ROCKCHIP_RKBIN
diff --git a/package/rockchip-rkbin/rockchip-rkbin.hash b/package/rockchip-rkbin/rockchip-rkbin.hash
new file mode 100644
index 0000000000..cb71226556
--- /dev/null
+++ b/package/rockchip-rkbin/rockchip-rkbin.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256  bd8d19ace202ff26d1c0b4d7744cd467cd0093801dc674dde57290159eedee2b  rockchip-rkbin-b4558da0860ca48bf1a571dd33ccba580b9abe23-br1.tar.gz
diff --git a/package/rockchip-rkbin/rockchip-rkbin.mk b/package/rockchip-rkbin/rockchip-rkbin.mk
new file mode 100644
index 0000000000..74787585e8
--- /dev/null
+++ b/package/rockchip-rkbin/rockchip-rkbin.mk
@@ -0,0 +1,46 @@
+################################################################################
+#
+# rockchip-rkbin
+#
+################################################################################
+
+ROCKCHIP_RKBIN_VERSION = $(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_VERSION))
+ROCKCHIP_RKBIN_SITE = https://github.com/rockchip-linux/rkbin.git
+ROCKCHIP_RKBIN_SITE_METHOD = git
+ROCKCHIP_RKBIN_LICENSE = PROPRIETARY
+ROCKCHIP_RKBIN_LICENSE_FILES = LICENSE
+
+ROCKCHIP_RKBIN_INSTALL_IMAGES = YES
+ROCKCHIP_RKBIN_INSTALL_TARGET = NO
+
+ifneq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_BL31_FILENAME),"")
+ROCKCHIP_RKBIN_BL31_FILENAME = $(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_BL31_FILENAME))
+endif
+
+ifneq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME),"")
+ROCKCHIP_RKBIN_TPL_FILENAME = $(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME))
+endif
+
+ifneq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_TEE_FILENAME),"")
+ROCKCHIP_RKBIN_TEE_FILENAME = $(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_TEE_FILENAME))
+endif
+
+define ROCKCHIP_RKBIN_INSTALL_IMAGES_CMDS
+	$(if $(ROCKCHIP_RKBIN_BL31_FILENAME), \
+		cp $(@D)/$(ROCKCHIP_RKBIN_BL31_FILENAME) $(BINARIES_DIR)/${ROCKCHIP_RKBIN_BL31_FILENAME##*/})
+	$(if $(ROCKCHIP_RKBIN_TPL_FILENAME), \
+		cp $(@D)/$(ROCKCHIP_RKBIN_TPL_FILENAME) $(BINARIES_DIR)/${ROCKCHIP_RKBIN_TPL_FILENAME##*/})
+	$(if $(ROCKCHIP_RKBIN_TEE_FILENAME), \
+		cp $(@D)/$(ROCKCHIP_RKBIN_TEE_FILENAME) $(BINARIES_DIR)/${ROCKCHIP_RKBIN_TEE_FILENAME##*/})
+endef
+
+ifeq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION),y)
+ifeq ($(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION_VALUE)),)
+$(error No custom rockchip-rkbin version specified. Check your BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION_VALUE setting)
+endif
+ifeq ($(BR_BUILDING),y)
+BR_NO_CHECK_HASH_FOR += rockchip-rkbin-$(ROCKCHIP_RKBIN_VERSION)-br1.tar.gz
+endif
+endif
+
+$(eval $(generic-package))
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH v8 2/3] boot/uboot: Add support for Rockchip binary blobs
  2023-07-26 18:04 [Buildroot] [PATCH v8 0/3] Add board support for Radxa Rock 5B Kilian Zinnecker via buildroot
  2023-07-26 18:04 ` [Buildroot] [PATCH v8 1/3] package/rockchip-rkbin: new package Kilian Zinnecker via buildroot
@ 2023-07-26 18:04 ` Kilian Zinnecker via buildroot
  2023-07-26 21:43   ` Yann E. MORIN
  2023-07-26 18:04 ` [Buildroot] [PATCH v8 3/3] configs/rock5b: new defconfig Kilian Zinnecker via buildroot
  2 siblings, 1 reply; 10+ messages in thread
From: Kilian Zinnecker via buildroot @ 2023-07-26 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Giulio Benetti, Quentin Schulz, Andreas Ziegler, Thomas Petazzoni,
	Kilian Zinnecker

Currently for some Rockchip SoCs binary blobs are needed, e.g., for
the RK3588 bl31 and tpl. These blobs are provided by Rockchip. This
patch adds U-Boot package options to use theses binaries, provided
by the rockchip-rkbin package, which is also introduced in this
patch series. The U-Boot package is modified so that it takes the
chosen binaries and automatically uses them during build.

Signed-off-by: Kilian Zinnecker <kilian.zinnecker@mail.de>
---
 boot/uboot/Config.in |  9 +++++++++
 boot/uboot/uboot.mk  | 17 +++++++++++++++++
 2 files changed, 26 insertions(+)

diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
index 085397d03d..7733f8501f 100644
--- a/boot/uboot/Config.in
+++ b/boot/uboot/Config.in
@@ -262,6 +262,15 @@ config BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE
 	  This option makes sure that the i.MX firmwares are copied into
 	  the U-Boot source directory.
 
+config BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN
+	bool "U-Boot needs rockchip-rkbin"
+	depends on BR2_PACKAGE_ROCKCHIP_RKBIN
+	help
+	  For some Rockchip SoCs U-Boot needs binary blobs from
+	  Rockchip.
+	  This option makes sure that the needed binary blobs are copied
+	  into the U-Boot source directory.
+
 menu "U-Boot binary format"
 
 config BR2_TARGET_UBOOT_FORMAT_AIS
diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index 1a6e70a792..b6e270f633 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -207,6 +207,23 @@ endef
 UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_IMX_FW_FILES
 endif
 
+ifeq ($(BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN),y)
+UBOOT_DEPENDENCIES += rockchip-rkbin
+define UBOOT_INSTALL_UBOOT_ROCKCHIP_BIN
+	$(INSTALL) -D -m 0644 $(@D)/u-boot-rockchip.bin $(BINARIES_DIR)/u-boot-rockchip.bin
+endef
+UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_INSTALL_UBOOT_ROCKCHIP_BIN
+ifneq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_BL31_FILENAME),"")
+UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/${notdir $(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_BL31_FILENAME))}
+endif
+ifneq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME),"")
+UBOOT_MAKE_OPTS += ROCKCHIP_TPL=$(BINARIES_DIR)/${notdir $(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME))}
+endif
+ifneq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_TEE_FILENAME),"")
+UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/${notdir $(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_TEE_FILENAME))}
+endif
+endif
+
 ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y)
 UBOOT_DEPENDENCIES += host-dtc
 UBOOT_MAKE_OPTS += DTC=$(HOST_DIR)/bin/dtc
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH v8 3/3] configs/rock5b: new defconfig
  2023-07-26 18:04 [Buildroot] [PATCH v8 0/3] Add board support for Radxa Rock 5B Kilian Zinnecker via buildroot
  2023-07-26 18:04 ` [Buildroot] [PATCH v8 1/3] package/rockchip-rkbin: new package Kilian Zinnecker via buildroot
  2023-07-26 18:04 ` [Buildroot] [PATCH v8 2/3] boot/uboot: Add support for Rockchip binary blobs Kilian Zinnecker via buildroot
@ 2023-07-26 18:04 ` Kilian Zinnecker via buildroot
  2023-07-26 21:45   ` Yann E. MORIN
  2 siblings, 1 reply; 10+ messages in thread
From: Kilian Zinnecker via buildroot @ 2023-07-26 18:04 UTC (permalink / raw)
  To: buildroot
  Cc: Giulio Benetti, Quentin Schulz, Andreas Ziegler, Thomas Petazzoni,
	Kilian Zinnecker

This patch adds the defconfig file needed to build u-boot, kernel
and rootfs for the Rock 5B. In addition it adds a kernel config
fragment file, which activates the needed ethernet driver support.
It also adds a readme and post image scripts, needed to generate an
sdcard.img file, which can be flashed on an SD card to boot the
Radxa Rock 5B.

Signed-off-by: Kilian Zinnecker <kilian.zinnecker@mail.de>
---
 DEVELOPERS                        |  2 +
 board/radxa/rock5b/boot.cmd       |  3 ++
 board/radxa/rock5b/genimage.cfg   | 34 +++++++++++++++++
 board/radxa/rock5b/linux.fragment |  1 +
 board/radxa/rock5b/post-image.sh  |  6 +++
 board/radxa/rock5b/readme.txt     | 62 +++++++++++++++++++++++++++++++
 board/radxa/rock5b/rock5b.its     | 46 +++++++++++++++++++++++
 configs/rock5b_defconfig          | 42 +++++++++++++++++++++
 8 files changed, 196 insertions(+)
 create mode 100644 board/radxa/rock5b/boot.cmd
 create mode 100644 board/radxa/rock5b/genimage.cfg
 create mode 100644 board/radxa/rock5b/linux.fragment
 create mode 100755 board/radxa/rock5b/post-image.sh
 create mode 100644 board/radxa/rock5b/readme.txt
 create mode 100644 board/radxa/rock5b/rock5b.its
 create mode 100644 configs/rock5b_defconfig

diff --git a/DEVELOPERS b/DEVELOPERS
index 464d1db552..0ff44c195d 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1805,6 +1805,8 @@ F:	package/libcamera/
 
 N:	Kilian Zinnecker <kilian.zinnecker@mail.de>
 F:	package/rockchip-rkbin/
+F:	configs/rock5b_defconfig
+F:	board/radxa/rock5b/
 
 N:	Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com>
 F:	package/wqy-zenhei/
diff --git a/board/radxa/rock5b/boot.cmd b/board/radxa/rock5b/boot.cmd
new file mode 100644
index 0000000000..9a3e73e003
--- /dev/null
+++ b/board/radxa/rock5b/boot.cmd
@@ -0,0 +1,3 @@
+setenv bootargs root=/dev/mmcblk0p2 rw rootfstype=ext4 clkin_hz=(25000000) earlycon clk_ignore_unused earlyprintk console=ttyS2,1500000n8 rootwait
+fatload mmc 1:1 ${loadaddr} image.itb
+bootm ${loadaddr}
diff --git a/board/radxa/rock5b/genimage.cfg b/board/radxa/rock5b/genimage.cfg
new file mode 100644
index 0000000000..2943232fc3
--- /dev/null
+++ b/board/radxa/rock5b/genimage.cfg
@@ -0,0 +1,34 @@
+# SD card image for Radxa Rock 5b
+
+image boot.vfat {
+	vfat {
+		files = {
+			"image.itb",
+			"boot.scr"
+		}
+	}
+	size = 16M
+}
+
+image sdcard.img {
+	hdimage {
+		partition-table-type = "hybrid"
+	}
+
+	partition uboot {
+		in-partition-table = "false"
+		image = "u-boot-rockchip.bin"
+		offset = 32K
+	}
+
+	partition boot {
+		partition-type = "0xC"
+		bootable = "true"
+		image = "boot.vfat"
+	}
+
+	partition rootfs {
+		partition-type = 0x83
+		image = "rootfs.ext2"
+	}
+}
diff --git a/board/radxa/rock5b/linux.fragment b/board/radxa/rock5b/linux.fragment
new file mode 100644
index 0000000000..811d42a79b
--- /dev/null
+++ b/board/radxa/rock5b/linux.fragment
@@ -0,0 +1 @@
+CONFIG_R8169=y
diff --git a/board/radxa/rock5b/post-image.sh b/board/radxa/rock5b/post-image.sh
new file mode 100755
index 0000000000..c0f63ab3a2
--- /dev/null
+++ b/board/radxa/rock5b/post-image.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+gzip -fk ${BINARIES_DIR}/Image
+cp board/radxa/rock5b/rock5b.its ${BINARIES_DIR}
+(cd $BINARIES_DIR && mkimage -f rock5b.its image.itb)
+support/scripts/genimage.sh -c board/radxa/rock5b/genimage.cfg
diff --git a/board/radxa/rock5b/readme.txt b/board/radxa/rock5b/readme.txt
new file mode 100644
index 0000000000..a88b9b46fa
--- /dev/null
+++ b/board/radxa/rock5b/readme.txt
@@ -0,0 +1,62 @@
+RADXA ROCK 5B
+==============
+https://wiki.radxa.com/Rock5/hardware/5b
+
+Build:
+======
+  $ make rock5b_defconfig
+  $ make
+
+Files created in output directory
+=================================
+
+output/images
+.
+├── Image
+├── Image.gz
+├── boot.scr
+├── boot.vfat
+├── image.itb
+├── rk3588-rock-5b.dtb
+├── rk3588_bl31_v1.40.elf
+├── rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.12.bin
+├── rock5b.its
+├── rootfs.ext2
+├── rootfs.ext4
+├── rootfs.tar
+├── sdcard.img
+├── u-boot-rockchip.bin
+└── u-boot.bin
+
+Creating bootable SD card:
+==========================
+
+Simply invoke (as root)
+
+sudo dd if=output/images/sdcard.img of=/dev/sdX && sync
+
+Where X is your SD card device.
+
+Booting:
+========
+
+Serial console:
+---------------
+The Rock 5B has a 40-pin GPIO header. Its layout can be seen here:
+https://wiki.radxa.com/Rock5/hardware/5b/gpio
+
+The Uart pins are as follows:
+
+pin 6:  gnd
+pin 8:  tx
+pin 10: rx
+
+Baudrate for this board is 1500000.
+
+Login:
+------
+Enter 'root' as login user, and the prompt is ready.
+
+wiki link:
+----------
+https://forum.radxa.com/c/rock5
diff --git a/board/radxa/rock5b/rock5b.its b/board/radxa/rock5b/rock5b.its
new file mode 100644
index 0000000000..d73659a56e
--- /dev/null
+++ b/board/radxa/rock5b/rock5b.its
@@ -0,0 +1,46 @@
+/dts-v1/;
+
+/ {
+	description = "Rock 5B FIT Image";
+	#address-cells = <1>;
+
+	images {
+		kernel {
+			description = "Kernel";
+			data = /incbin/("Image.gz");
+			type = "kernel";
+			arch = "arm64";
+			os = "linux";
+			compression = "gzip";
+			load = <0x0a200000>;
+			entry = <0x0a200000>;
+			hash {
+				algo = "sha256";
+			};
+		};
+		fdt {
+			description = "Device Tree";
+			data = /incbin/("rk3588-rock-5b.dtb");
+			type = "flat_dt";
+			arch = "arm64";
+			compression = "none";
+			load = <0x0e000000>;
+			entry = <0x0e000000>;
+			hash {
+				algo = "sha256";
+			};
+		};
+	};
+
+	configurations {
+		default = "standard";
+		standard {
+			description = "Standard Boot";
+			kernel = "kernel";
+			fdt = "fdt";
+			hash {
+				algo = "sha256";
+			};
+		};
+	};
+};
diff --git a/configs/rock5b_defconfig b/configs/rock5b_defconfig
new file mode 100644
index 0000000000..b7ed4f8b44
--- /dev/null
+++ b/configs/rock5b_defconfig
@@ -0,0 +1,42 @@
+BR2_aarch64=y
+BR2_cortex_a76_a55=y
+BR2_KERNEL_HEADERS_5_10=y
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/radxa/rock5b/post-image.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS=""
+BR2_TARGET_GENERIC_HOSTNAME="rock5b"
+BR2_TARGET_GENERIC_ISSUE="Welcome to the rock5b board"
+BR2_SYSTEM_DHCP="eth0"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/radxa/kernel.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="52f51a2b5ba178f331af62260d2da86d7472c14b"
+BR2_LINUX_KERNEL_DEFCONFIG="rockchip_linux"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3588-rock-5b"
+BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/radxa/rock5b/linux.fragment"
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="250M"
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.07"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rock5b-rk3588"
+BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
+BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
+BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS=y
+BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN=y
+BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
+BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y
+BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="board/radxa/rock5b/boot.cmd"
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_DTC=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
+BR2_PACKAGE_HOST_UBOOT_TOOLS=y
+BR2_PACKAGE_ROCKCHIP_RKBIN=y
+BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION=y
+BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION_VALUE="b4558da0860ca48bf1a571dd33ccba580b9abe23"
+BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME="bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.12.bin"
+BR2_PACKAGE_ROCKCHIP_RKBIN_BL31_FILENAME="bin/rk35/rk3588_bl31_v1.40.elf"
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH v8 1/3] package/rockchip-rkbin: new package
  2023-07-26 18:04 ` [Buildroot] [PATCH v8 1/3] package/rockchip-rkbin: new package Kilian Zinnecker via buildroot
@ 2023-07-26 21:41   ` Yann E. MORIN
  2023-08-07 11:45     ` Kilian Zinnecker via buildroot
  0 siblings, 1 reply; 10+ messages in thread
From: Yann E. MORIN @ 2023-07-26 21:41 UTC (permalink / raw)
  To: Kilian Zinnecker
  Cc: Thomas Petazzoni, Giulio Benetti, Quentin Schulz, Andreas Ziegler,
	buildroot

Killian, All,

On 2023-07-26 20:04 +0200, Kilian Zinnecker via buildroot spake thusly:
> This patch adds a package for the Rockchip ATF binary blobs. These
> binaries are needed to build U-Boot for some Rockchip SoCs (e.g.,
> RK3588). One can config a custom version and manually define which
> blobs (for bl31, tpl and optee) to use from the repository.

So, there was no rationale about why we sould need a custom version [0],
and the defconfig you provided was actually using the same version as
the predefined one, so we did not have any usage for it in-tree.

[0] yes, I read your reply about the question from Thomas, but
discussing with him we conluded that we indeed did not want to have a
custom version for now. So I dropped it.

If and when the need arises, then it will be time to add it back; see
below.

> Signed-off-by: Kilian Zinnecker <kilian.zinnecker@mail.de>
[--SNIP--]
> diff --git a/package/rockchip-rkbin/Config.in b/package/rockchip-rkbin/Config.in
> new file mode 100644
> index 0000000000..85c30c3745
> --- /dev/null
> +++ b/package/rockchip-rkbin/Config.in
> @@ -0,0 +1,47 @@
> +config BR2_PACKAGE_ROCKCHIP_RKBIN
> +	bool "rockchip-rkbin"
> +	depends on BR2_arm || BR2_aarch64
> +	help
> +	  This package provides Rockchip SoC binary blobs for U-Boot.
> +
> +if BR2_PACKAGE_ROCKCHIP_RKBIN
> +
> +config BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION
> +	bool "Use a custom version"
> +	help
> +	  This option allows to use a specific version.
> +if BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION
> +
> +config BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION_VALUE
> +	string "Rockchip rkbin version"
> +	depends on BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION
> +
> +endif # BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION

So, BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION_VALUE is guarded twice:
once by the if-block, and once be a "depends on". That's sure a strong
guard! ;-)

Nonethless, I've dropped it.

[--SNIP--]
> +config BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME
> +	string "Rockchip rkbin tpl file path"
> +	help
> +	  Full path to the tpl file inside the rkbin repository. The

I've driopped the "Full" qualifier, because that is not a full path, as
it is relative to the top of the rockchip-rkbin directory.

Ditto for the other help texts.

[--SNIP--]
> diff --git a/package/rockchip-rkbin/rockchip-rkbin.hash b/package/rockchip-rkbin/rockchip-rkbin.hash
> new file mode 100644
> index 0000000000..cb71226556
> --- /dev/null
> +++ b/package/rockchip-rkbin/rockchip-rkbin.hash
> @@ -0,0 +1,2 @@
> +# Locally computed
> +sha256  bd8d19ace202ff26d1c0b4d7744cd467cd0093801dc674dde57290159eedee2b  rockchip-rkbin-b4558da0860ca48bf1a571dd33ccba580b9abe23-br1.tar.gz

I've added a hash for the license file. Please check with:

    $ make legal-info
or:
    $ make rockchip-rkbin-legal-info

> diff --git a/package/rockchip-rkbin/rockchip-rkbin.mk b/package/rockchip-rkbin/rockchip-rkbin.mk
> new file mode 100644
> index 0000000000..74787585e8
> --- /dev/null
> +++ b/package/rockchip-rkbin/rockchip-rkbin.mk
> @@ -0,0 +1,46 @@
> +################################################################################
> +#
> +# rockchip-rkbin
> +#
> +################################################################################
> +
> +ROCKCHIP_RKBIN_VERSION = $(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_VERSION))
> +ROCKCHIP_RKBIN_SITE = https://github.com/rockchip-linux/rkbin.git
> +ROCKCHIP_RKBIN_SITE_METHOD = git
> +ROCKCHIP_RKBIN_LICENSE = PROPRIETARY
> +ROCKCHIP_RKBIN_LICENSE_FILES = LICENSE

Since the license file was only recently added, it should not be defined
except for the known version.

Furthermore, I think hadling the custom version, if we re-introduce it
later, should be done with:

Config.in:

    config BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION
        bool "Use a custom version"
        help
          Some binaries for older hipsets mey get pruned from the
          latest revisions of the repository. Say 'y' here if your
          SoC uses such older binaries.

    config BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION_VALUE
        string "Custom version"
        depends on BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION

rocjchip-rkbin.mk:

    ifeq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION),)
    ROCKCHIP_RKBIN_VERSION = b4558da0860ca48bf1a571dd33ccba580b9abe23
    ROCKCHIP_RKBIN_LICENSE_FILES = LICENSE
    else
    ROCKCHIP_RKBIN_VERSION = $(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION_VALUE))
    ifeq ($(ROCKCHIP_RKBIN_VERSION),)
    $(error blabla check config blabla)
    endif
    BR_NO_CHECK_HASH_FOR += $(ROCKCHIP_RKBIN_SOURCE)
    endif

> +ROCKCHIP_RKBIN_INSTALL_IMAGES = YES
> +ROCKCHIP_RKBIN_INSTALL_TARGET = NO
> +
> +ifneq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_BL31_FILENAME),"")
> +ROCKCHIP_RKBIN_BL31_FILENAME = $(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_BL31_FILENAME))
> +endif

No need to test before setting the variable.

> +ifneq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME),"")
> +ROCKCHIP_RKBIN_TPL_FILENAME = $(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME))
> +endif
> +
> +ifneq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_TEE_FILENAME),"")
> +ROCKCHIP_RKBIN_TEE_FILENAME = $(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_TEE_FILENAME))
> +endif
> +
> +define ROCKCHIP_RKBIN_INSTALL_IMAGES_CMDS
> +	$(if $(ROCKCHIP_RKBIN_BL31_FILENAME), \
> +		cp $(@D)/$(ROCKCHIP_RKBIN_BL31_FILENAME) $(BINARIES_DIR)/${ROCKCHIP_RKBIN_BL31_FILENAME##*/})
> +	$(if $(ROCKCHIP_RKBIN_TPL_FILENAME), \
> +		cp $(@D)/$(ROCKCHIP_RKBIN_TPL_FILENAME) $(BINARIES_DIR)/${ROCKCHIP_RKBIN_TPL_FILENAME##*/})
> +	$(if $(ROCKCHIP_RKBIN_TEE_FILENAME), \
> +		cp $(@D)/$(ROCKCHIP_RKBIN_TEE_FILENAME) $(BINARIES_DIR)/${ROCKCHIP_RKBIN_TEE_FILENAME##*/})

I've simplified this with a $(foreach...)

Applied to master with these changes, thanks.

Regards,
Yann E. MORIN.

> +endef
> +
> +ifeq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION),y)
> +ifeq ($(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION_VALUE)),)
> +$(error No custom rockchip-rkbin version specified. Check your BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION_VALUE setting)
> +endif
> +ifeq ($(BR_BUILDING),y)
> +BR_NO_CHECK_HASH_FOR += rockchip-rkbin-$(ROCKCHIP_RKBIN_VERSION)-br1.tar.gz
> +endif
> +endif
> +
> +$(eval $(generic-package))
> -- 
> 2.34.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH v8 2/3] boot/uboot: Add support for Rockchip binary blobs
  2023-07-26 18:04 ` [Buildroot] [PATCH v8 2/3] boot/uboot: Add support for Rockchip binary blobs Kilian Zinnecker via buildroot
@ 2023-07-26 21:43   ` Yann E. MORIN
  2023-08-07 11:46     ` Kilian Zinnecker via buildroot
  0 siblings, 1 reply; 10+ messages in thread
From: Yann E. MORIN @ 2023-07-26 21:43 UTC (permalink / raw)
  To: Kilian Zinnecker
  Cc: Thomas Petazzoni, Giulio Benetti, Quentin Schulz, Andreas Ziegler,
	buildroot

Kilian, All,

On 2023-07-26 20:04 +0200, Kilian Zinnecker via buildroot spake thusly:
> Currently for some Rockchip SoCs binary blobs are needed, e.g., for
> the RK3588 bl31 and tpl. These blobs are provided by Rockchip. This
> patch adds U-Boot package options to use theses binaries, provided
> by the rockchip-rkbin package, which is also introduced in this
> patch series. The U-Boot package is modified so that it takes the
> chosen binaries and automatically uses them during build.
> 
> Signed-off-by: Kilian Zinnecker <kilian.zinnecker@mail.de>
> ---
>  boot/uboot/Config.in |  9 +++++++++
>  boot/uboot/uboot.mk  | 17 +++++++++++++++++
>  2 files changed, 26 insertions(+)
> 
> diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
> index 085397d03d..7733f8501f 100644
> --- a/boot/uboot/Config.in
> +++ b/boot/uboot/Config.in
> @@ -262,6 +262,15 @@ config BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE
>  	  This option makes sure that the i.MX firmwares are copied into
>  	  the U-Boot source directory.
>  
> +config BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN
> +	bool "U-Boot needs rockchip-rkbin"
> +	depends on BR2_PACKAGE_ROCKCHIP_RKBIN
> +	help
> +	  For some Rockchip SoCs U-Boot needs binary blobs from
> +	  Rockchip.
> +	  This option makes sure that the needed binary blobs are copied
> +	  into the U-Boot source directory.
> +
>  menu "U-Boot binary format"
>  
>  config BR2_TARGET_UBOOT_FORMAT_AIS
> diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
> index 1a6e70a792..b6e270f633 100644
> --- a/boot/uboot/uboot.mk
> +++ b/boot/uboot/uboot.mk
> @@ -207,6 +207,23 @@ endef
>  UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_IMX_FW_FILES
>  endif
>  
> +ifeq ($(BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN),y)
> +UBOOT_DEPENDENCIES += rockchip-rkbin
> +define UBOOT_INSTALL_UBOOT_ROCKCHIP_BIN
> +	$(INSTALL) -D -m 0644 $(@D)/u-boot-rockchip.bin $(BINARIES_DIR)/u-boot-rockchip.bin
> +endef
> +UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_INSTALL_UBOOT_ROCKCHIP_BIN
> +ifneq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_BL31_FILENAME),"")
> +UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/${notdir $(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_BL31_FILENAME))}

I've re-used the already-qstripped variables from the rockchip-rkbin
package.

Also, I switched from using curly brances to the ;ore standard (for
Buildroot) parethesis.

Applied to master, thanks.

Regards,
Yann E. MORIN.

> +endif
> +ifneq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME),"")
> +UBOOT_MAKE_OPTS += ROCKCHIP_TPL=$(BINARIES_DIR)/${notdir $(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME))}
> +endif
> +ifneq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_TEE_FILENAME),"")
> +UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/${notdir $(call qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_TEE_FILENAME))}
> +endif
> +endif
> +
>  ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y)
>  UBOOT_DEPENDENCIES += host-dtc
>  UBOOT_MAKE_OPTS += DTC=$(HOST_DIR)/bin/dtc
> -- 
> 2.34.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH v8 3/3] configs/rock5b: new defconfig
  2023-07-26 18:04 ` [Buildroot] [PATCH v8 3/3] configs/rock5b: new defconfig Kilian Zinnecker via buildroot
@ 2023-07-26 21:45   ` Yann E. MORIN
  0 siblings, 0 replies; 10+ messages in thread
From: Yann E. MORIN @ 2023-07-26 21:45 UTC (permalink / raw)
  To: Kilian Zinnecker
  Cc: Thomas Petazzoni, Giulio Benetti, Quentin Schulz, Andreas Ziegler,
	buildroot

Kilian, All,

On 2023-07-26 20:04 +0200, Kilian Zinnecker via buildroot spake thusly:
> This patch adds the defconfig file needed to build u-boot, kernel
> and rootfs for the Rock 5B. In addition it adds a kernel config
> fragment file, which activates the needed ethernet driver support.
> It also adds a readme and post image scripts, needed to generate an
> sdcard.img file, which can be flashed on an SD card to boot the
> Radxa Rock 5B.
> 
> Signed-off-by: Kilian Zinnecker <kilian.zinnecker@mail.de>
> ---
[--SNIP--]
> diff --git a/board/radxa/rock5b/post-image.sh b/board/radxa/rock5b/post-image.sh
> new file mode 100755
> index 0000000000..c0f63ab3a2
> --- /dev/null
> +++ b/board/radxa/rock5b/post-image.sh
> @@ -0,0 +1,6 @@
> +#!/usr/bin/env bash
> +
> +gzip -fk ${BINARIES_DIR}/Image
> +cp board/radxa/rock5b/rock5b.its ${BINARIES_DIR}
> +(cd $BINARIES_DIR && mkimage -f rock5b.its image.itb)
> +support/scripts/genimage.sh -c board/radxa/rock5b/genimage.cfg

    $ make check-package
    board/radxa/rock5b/post-image.sh:0: run 'shellcheck' and fix the warnings

I fixed those errors. I also made the script "set -e" so it exits on
error on the first error.

I've also dropped the custom version, which in fact was not custom.

Applied to master, thanks.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH v8 1/3] package/rockchip-rkbin: new package
  2023-07-26 21:41   ` Yann E. MORIN
@ 2023-08-07 11:45     ` Kilian Zinnecker via buildroot
  2023-08-07 17:29       ` Yann E. MORIN
  0 siblings, 1 reply; 10+ messages in thread
From: Kilian Zinnecker via buildroot @ 2023-08-07 11:45 UTC (permalink / raw)
  To: Yann E. MORIN
  Cc: Thomas Petazzoni, Giulio Benetti, Quentin Schulz, Andreas Ziegler,
	buildroot

Hello Yann, all

thanks for your review, fixes and applying the patches. And sorry for the late 
answer. What I write now is imho not so important anymore, still I want to 
give some reply:

> > This patch adds a package for the Rockchip ATF binary blobs. These
> > binaries are needed to build U-Boot for some Rockchip SoCs (e.g.,
> > RK3588). One can config a custom version and manually define which
> > blobs (for bl31, tpl and optee) to use from the repository.
> 
> So, there was no rationale about why we sould need a custom version [0],
> and the defconfig you provided was actually using the same version as
> the predefined one, so we did not have any usage for it in-tree.
> 
> [0] yes, I read your reply about the question from Thomas, but
> discussing with him we conluded that we indeed did not want to have a
> custom version for now. So I dropped it.
> 
> If and when the need arises, then it will be time to add it back; see
> below.

I personally still favor it, but its not so important to me and I can 
understand, that you don't see much need at the moment and probably prefer to 
keep it simple, so I am totally fine with dropping the custom version stuff. As 
you say: If need arises, we can then revaluate.

[--SNIP--]

> > +config BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME
> > +	string "Rockchip rkbin tpl file path"
> > +	help
> > +	  Full path to the tpl file inside the rkbin repository. The
> 
> I've driopped the "Full" qualifier, because that is not a full path, as
> it is relative to the top of the rockchip-rkbin directory.
> 
> Ditto for the other help texts.

Agreed. However, you introduced some typo on one occasion, by snipping "Full" 
and "path" to "Fath ;)

https://gitlab.com/buildroot.org/buildroot/-/blob/
8d1180aa483b624f1be27bd0858c2f6665ebf36c/package/rockchip-rkbin/Config.in#L12

> > diff --git a/package/rockchip-rkbin/rockchip-rkbin.hash
> > b/package/rockchip-rkbin/rockchip-rkbin.hash new file mode 100644
> > index 0000000000..cb71226556
> > --- /dev/null
> > +++ b/package/rockchip-rkbin/rockchip-rkbin.hash
> > @@ -0,0 +1,2 @@
> > +# Locally computed
> > +sha256  bd8d19ace202ff26d1c0b4d7744cd467cd0093801dc674dde57290159eedee2b 
> > rockchip-rkbin-b4558da0860ca48bf1a571dd33ccba580b9abe23-br1.tar.gz
> I've added a hash for the license file. Please check with:
> 
>     $ make legal-info
> or:
>     $ make rockchip-rkbin-legal-info

Thanks, seems to work on my PC.

> > diff --git a/package/rockchip-rkbin/rockchip-rkbin.mk
> > b/package/rockchip-rkbin/rockchip-rkbin.mk new file mode 100644
> > index 0000000000..74787585e8
> > --- /dev/null
> > +++ b/package/rockchip-rkbin/rockchip-rkbin.mk
> > @@ -0,0 +1,46 @@
> > +#########################################################################
> > ####### +#
> > +# rockchip-rkbin
> > +#
> > +#########################################################################
> > ####### +
> > +ROCKCHIP_RKBIN_VERSION = $(call
> > qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_VERSION)) +ROCKCHIP_RKBIN_SITE =
> > https://github.com/rockchip-linux/rkbin.git +ROCKCHIP_RKBIN_SITE_METHOD =
> > git
> > +ROCKCHIP_RKBIN_LICENSE = PROPRIETARY
> > +ROCKCHIP_RKBIN_LICENSE_FILES = LICENSE
> 
> Since the license file was only recently added, it should not be defined
> except for the known version.
> 
> Furthermore, I think hadling the custom version, if we re-introduce it
> later, should be done with:
> 
> Config.in:
> 
>     config BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION
>         bool "Use a custom version"
>         help
>           Some binaries for older hipsets mey get pruned from the
>           latest revisions of the repository. Say 'y' here if your
>           SoC uses such older binaries.
> 
>     config BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION_VALUE
>         string "Custom version"
>         depends on BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION
> 
> rocjchip-rkbin.mk:
> 
>     ifeq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION),)
>     ROCKCHIP_RKBIN_VERSION = b4558da0860ca48bf1a571dd33ccba580b9abe23
>     ROCKCHIP_RKBIN_LICENSE_FILES = LICENSE
>     else
>     ROCKCHIP_RKBIN_VERSION = $(call
> qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_CUSTOM_VERSION_VALUE)) ifeq
> ($(ROCKCHIP_RKBIN_VERSION),)
>     $(error blabla check config blabla)
>     endif
>     BR_NO_CHECK_HASH_FOR += $(ROCKCHIP_RKBIN_SOURCE)
>     endif

Great, thanks! I did actually have in mind, that the custom version and the 
(in older versions not existing) LICENSE file may cause problems. But I didn't 
know what to do about it and forgot to ask here. Thanks!

[--SNIP--]

> > +ifneq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME),"")
> > +ROCKCHIP_RKBIN_TPL_FILENAME = $(call
> > qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME)) +endif
> > +
> > +ifneq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_TEE_FILENAME),"")
> > +ROCKCHIP_RKBIN_TEE_FILENAME = $(call
> > qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_TEE_FILENAME)) +endif
> > +
> > +define ROCKCHIP_RKBIN_INSTALL_IMAGES_CMDS
> > +	$(if $(ROCKCHIP_RKBIN_BL31_FILENAME), \
> > +		cp $(@D)/$(ROCKCHIP_RKBIN_BL31_FILENAME)
> > $(BINARIES_DIR)/${ROCKCHIP_RKBIN_BL31_FILENAME##*/}) +	$(if
> > $(ROCKCHIP_RKBIN_TPL_FILENAME), \
> > +		cp $(@D)/$(ROCKCHIP_RKBIN_TPL_FILENAME)
> > $(BINARIES_DIR)/${ROCKCHIP_RKBIN_TPL_FILENAME##*/}) +	$(if
> > $(ROCKCHIP_RKBIN_TEE_FILENAME), \
> > +		cp $(@D)/$(ROCKCHIP_RKBIN_TEE_FILENAME)
> > $(BINARIES_DIR)/${ROCKCHIP_RKBIN_TEE_FILENAME##*/})
> I've simplified this with a $(foreach...)

Thanks, much better of course!

> Applied to master with these changes, thanks.

Thanks for reviewing!

Best regards,
Kilian




_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH v8 2/3] boot/uboot: Add support for Rockchip binary blobs
  2023-07-26 21:43   ` Yann E. MORIN
@ 2023-08-07 11:46     ` Kilian Zinnecker via buildroot
  0 siblings, 0 replies; 10+ messages in thread
From: Kilian Zinnecker via buildroot @ 2023-08-07 11:46 UTC (permalink / raw)
  To: Yann E. MORIN
  Cc: Thomas Petazzoni, Giulio Benetti, Quentin Schulz, Andreas Ziegler,
	buildroot

Hello Yann, all,

[--SNIP--]

> > +ifeq ($(BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN),y)
> > +UBOOT_DEPENDENCIES += rockchip-rkbin
> > +define UBOOT_INSTALL_UBOOT_ROCKCHIP_BIN
> > +	$(INSTALL) -D -m 0644 $(@D)/u-boot-rockchip.bin
> > $(BINARIES_DIR)/u-boot-rockchip.bin +endef
> > +UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_INSTALL_UBOOT_ROCKCHIP_BIN
> > +ifneq ($(BR2_PACKAGE_ROCKCHIP_RKBIN_BL31_FILENAME),"")
> > +UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/${notdir $(call
> > qstrip,$(BR2_PACKAGE_ROCKCHIP_RKBIN_BL31_FILENAME))}
> I've re-used the already-qstripped variables from the rockchip-rkbin
> package.
> 
> Also, I switched from using curly brances to the ;ore standard (for
> Buildroot) parethesis.

Yes, much better of course, thanks!

[--SNIP--]

Best regards,
Kilian


_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH v8 1/3] package/rockchip-rkbin: new package
  2023-08-07 11:45     ` Kilian Zinnecker via buildroot
@ 2023-08-07 17:29       ` Yann E. MORIN
  0 siblings, 0 replies; 10+ messages in thread
From: Yann E. MORIN @ 2023-08-07 17:29 UTC (permalink / raw)
  To: Kilian Zinnecker
  Cc: Thomas Petazzoni, Giulio Benetti, Quentin Schulz, Andreas Ziegler,
	buildroot

Kilian, All,

On 2023-08-07 13:45 +0200, Kilian Zinnecker spake thusly:
[--SNIP--]
> > > +config BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME
> > > +	string "Rockchip rkbin tpl file path"
> > > +	help
> > > +	  Full path to the tpl file inside the rkbin repository. The
> > I've driopped the "Full" qualifier, because that is not a full path, as
> > it is relative to the top of the rockchip-rkbin directory.
> > Ditto for the other help texts.
> Agreed. However, you introduced some typo on one occasion, by snipping "Full" 
> and "path" to "Fath ;)

You may have noticed that typoes are my hallmark, the very personal
signature of mine! ;-)

> https://gitlab.com/buildroot.org/buildroot/-/blob/
> 8d1180aa483b624f1be27bd0858c2f6665ebf36c/package/rockchip-rkbin/Config.in#L12

Fixed, thanks.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-08-07 17:30 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-26 18:04 [Buildroot] [PATCH v8 0/3] Add board support for Radxa Rock 5B Kilian Zinnecker via buildroot
2023-07-26 18:04 ` [Buildroot] [PATCH v8 1/3] package/rockchip-rkbin: new package Kilian Zinnecker via buildroot
2023-07-26 21:41   ` Yann E. MORIN
2023-08-07 11:45     ` Kilian Zinnecker via buildroot
2023-08-07 17:29       ` Yann E. MORIN
2023-07-26 18:04 ` [Buildroot] [PATCH v8 2/3] boot/uboot: Add support for Rockchip binary blobs Kilian Zinnecker via buildroot
2023-07-26 21:43   ` Yann E. MORIN
2023-08-07 11:46     ` Kilian Zinnecker via buildroot
2023-07-26 18:04 ` [Buildroot] [PATCH v8 3/3] configs/rock5b: new defconfig Kilian Zinnecker via buildroot
2023-07-26 21:45   ` Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox