summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/u-boot/default/patches/0005-HACK-rockchip-Remove-binman-image-descriptions.patch307
-rw-r--r--config/u-boot/gru_bob/config/default2
-rw-r--r--config/u-boot/gru_kevin/config/default2
3 files changed, 309 insertions, 2 deletions
diff --git a/config/u-boot/default/patches/0005-HACK-rockchip-Remove-binman-image-descriptions.patch b/config/u-boot/default/patches/0005-HACK-rockchip-Remove-binman-image-descriptions.patch
new file mode 100644
index 00000000..ac3ada3b
--- /dev/null
+++ b/config/u-boot/default/patches/0005-HACK-rockchip-Remove-binman-image-descriptions.patch
@@ -0,0 +1,307 @@
+From b14bc4a5d8dc31294dde4ee9ce8008d763c695de Mon Sep 17 00:00:00 2001
+From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
+Date: Fri, 13 Oct 2023 14:06:26 +0300
+Subject: [PATCH] HACK: rockchip: Remove binman image descriptions
+
+For Rockchip boards binman tries to build SPI and MMC images that
+require an externally built BL31 file to be provided, and the build
+fails otherwise. This is not really as configurable as it should be.
+
+Some downstreams only care about build outputs for U-Boot proper. As a
+hack to make sure they can do so without building BL31, remove the
+binman image descriptions from the device-tree sources. However,
+BINMAN_FDT expects these to be present and has to be disabled as well.
+
+Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
+---
+ arch/arm/dts/rk3288-u-boot.dtsi | 24 ----
+ arch/arm/dts/rk3399-gru-u-boot.dtsi | 6 -
+ arch/arm/dts/rk3399-u-boot.dtsi | 25 ----
+ arch/arm/dts/rockchip-u-boot.dtsi | 186 ----------------------------
+ 4 files changed, 241 deletions(-)
+
+diff --git a/arch/arm/dts/rk3288-u-boot.dtsi b/arch/arm/dts/rk3288-u-boot.dtsi
+index c4c5a2d225c4..432ab92d97c9 100644
+--- a/arch/arm/dts/rk3288-u-boot.dtsi
++++ b/arch/arm/dts/rk3288-u-boot.dtsi
+@@ -55,30 +55,6 @@ noc: syscon@ffac0000 {
+ };
+ };
+
+-#if defined(CONFIG_ROCKCHIP_SPI_IMAGE) && defined(CONFIG_HAS_ROM)
+-&binman {
+- rom {
+- filename = "u-boot.rom";
+- size = <0x400000>;
+- pad-byte = <0xff>;
+-
+- mkimage {
+- args = "-n rk3288 -T rkspi";
+- u-boot-spl {
+- };
+- };
+- u-boot-img {
+- offset = <0x20000>;
+- };
+- u-boot {
+- offset = <0x300000>;
+- };
+- fdtmap {
+- };
+- };
+-};
+-#endif
+-
+ &bus_intmem {
+ ddr_sram: ddr-sram@1000 {
+ compatible = "rockchip,rk3288-ddr-sram";
+diff --git a/arch/arm/dts/rk3399-gru-u-boot.dtsi b/arch/arm/dts/rk3399-gru-u-boot.dtsi
+index b1604a6872c0..54296b4d7a1c 100644
+--- a/arch/arm/dts/rk3399-gru-u-boot.dtsi
++++ b/arch/arm/dts/rk3399-gru-u-boot.dtsi
+@@ -15,12 +15,6 @@ config {
+ };
+ };
+
+-&binman {
+- rom {
+- size = <0x800000>;
+- };
+-};
+-
+ &cros_ec {
+ ec-interrupt = <&gpio0 RK_PA1 GPIO_ACTIVE_LOW>;
+ };
+diff --git a/arch/arm/dts/rk3399-u-boot.dtsi b/arch/arm/dts/rk3399-u-boot.dtsi
+index 3423b882c437..0bf4c481b39a 100644
+--- a/arch/arm/dts/rk3399-u-boot.dtsi
++++ b/arch/arm/dts/rk3399-u-boot.dtsi
+@@ -60,31 +60,6 @@ pmusgrf: syscon@ff330000 {
+
+ };
+
+-#if defined(CONFIG_ROCKCHIP_SPI_IMAGE) && defined(CONFIG_HAS_ROM)
+-&binman {
+- multiple-images;
+- rom {
+- filename = "u-boot.rom";
+- size = <0x400000>;
+- pad-byte = <0xff>;
+-
+- mkimage {
+- args = "-n rk3399 -T rkspi";
+- u-boot-spl {
+- };
+- };
+- u-boot-img {
+- offset = <0x40000>;
+- };
+- u-boot {
+- offset = <0x300000>;
+- };
+- fdtmap {
+- };
+- };
+-};
+-#endif /* CONFIG_ROCKCHIP_SPI_IMAGE && CONFIG_HAS_ROM */
+-
+ &cru {
+ bootph-all;
+ };
+diff --git a/arch/arm/dts/rockchip-u-boot.dtsi b/arch/arm/dts/rockchip-u-boot.dtsi
+index be2658e8ef18..3d55553e4401 100644
+--- a/arch/arm/dts/rockchip-u-boot.dtsi
++++ b/arch/arm/dts/rockchip-u-boot.dtsi
+@@ -10,189 +10,3 @@ binman: binman {
+ multiple-images;
+ };
+ };
+-
+-#ifdef CONFIG_SPL
+-&binman {
+- simple-bin {
+- filename = "u-boot-rockchip.bin";
+- pad-byte = <0xff>;
+-
+- mkimage {
+- filename = "idbloader.img";
+- args = "-n", CONFIG_SYS_SOC, "-T", "rksd";
+- multiple-data-files;
+-
+-#ifdef CONFIG_ROCKCHIP_EXTERNAL_TPL
+- rockchip-tpl {
+- };
+-#elif defined(CONFIG_TPL)
+- u-boot-tpl {
+- };
+-#endif
+- u-boot-spl {
+- };
+- };
+-
+-#if defined(CONFIG_SPL_FIT) && (defined(CONFIG_ARM64) || defined(CONFIG_SPL_OPTEE_IMAGE))
+- fit: fit {
+-#ifdef CONFIG_ARM64
+- description = "FIT image for U-Boot with bl31 (TF-A)";
+-#else
+- description = "FIT image with OP-TEE";
+-#endif
+- #address-cells = <1>;
+- fit,fdt-list = "of-list";
+- filename = "u-boot.itb";
+- fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
+- fit,align = <512>;
+- offset = <CONFIG_SPL_PAD_TO>;
+- images {
+- u-boot {
+- description = "U-Boot";
+- type = "standalone";
+- os = "U-Boot";
+-#ifdef CONFIG_ARM64
+- arch = "arm64";
+-#else
+- arch = "arm";
+-#endif
+- compression = "none";
+- load = <CONFIG_TEXT_BASE>;
+- entry = <CONFIG_TEXT_BASE>;
+- u-boot-nodtb {
+- };
+-#ifdef CONFIG_SPL_FIT_SIGNATURE
+- hash {
+- algo = "sha256";
+- };
+-#endif
+- };
+-
+-#ifdef CONFIG_ARM64
+- @atf-SEQ {
+- fit,operation = "split-elf";
+- description = "ARM Trusted Firmware";
+- type = "firmware";
+- arch = "arm64";
+- os = "arm-trusted-firmware";
+- compression = "none";
+- fit,load;
+- fit,entry;
+- fit,data;
+-
+- atf-bl31 {
+- };
+-#ifdef CONFIG_SPL_FIT_SIGNATURE
+- hash {
+- algo = "sha256";
+- };
+-#endif
+- };
+- @tee-SEQ {
+- fit,operation = "split-elf";
+- description = "TEE";
+- type = "tee";
+- arch = "arm64";
+- os = "tee";
+- compression = "none";
+- fit,load;
+- fit,entry;
+- fit,data;
+-
+- tee-os {
+- optional;
+- };
+-#ifdef CONFIG_SPL_FIT_SIGNATURE
+- hash {
+- algo = "sha256";
+- };
+-#endif
+- };
+-#else
+- op-tee {
+- description = "OP-TEE";
+- type = "tee";
+- arch = "arm";
+- os = "tee";
+- compression = "none";
+- load = <(CFG_SYS_SDRAM_BASE + 0x8400000)>;
+- entry = <(CFG_SYS_SDRAM_BASE + 0x8400000)>;
+-
+- tee-os {
+- };
+-#ifdef CONFIG_SPL_FIT_SIGNATURE
+- hash {
+- algo = "sha256";
+- };
+-#endif
+- };
+-#endif
+-
+- @fdt-SEQ {
+- description = "fdt-NAME";
+- compression = "none";
+- type = "flat_dt";
+-#ifdef CONFIG_SPL_FIT_SIGNATURE
+- hash {
+- algo = "sha256";
+- };
+-#endif
+- };
+- };
+-
+- configurations {
+- default = "@config-DEFAULT-SEQ";
+- @config-SEQ {
+- description = "NAME.dtb";
+- fdt = "fdt-SEQ";
+-#ifdef CONFIG_ARM64
+- fit,firmware = "atf-1", "u-boot";
+-#else
+- fit,firmware = "op-tee", "u-boot";
+-#endif
+- fit,loadables;
+- };
+- };
+- };
+-#else
+- u-boot-img {
+- offset = <CONFIG_SPL_PAD_TO>;
+- };
+-#endif
+- };
+-
+-#ifdef CONFIG_ROCKCHIP_SPI_IMAGE
+- simple-bin-spi {
+- filename = "u-boot-rockchip-spi.bin";
+- pad-byte = <0xff>;
+-
+- mkimage {
+- filename = "idbloader-spi.img";
+- args = "-n", CONFIG_SYS_SOC, "-T", "rkspi";
+- multiple-data-files;
+-
+-#ifdef CONFIG_ROCKCHIP_EXTERNAL_TPL
+- rockchip-tpl {
+- };
+-#elif defined(CONFIG_TPL)
+- u-boot-tpl {
+- };
+-#endif
+- u-boot-spl {
+- };
+- };
+-
+-#if defined(CONFIG_ARM64) || defined(CONFIG_SPL_OPTEE_IMAGE)
+- fit {
+- type = "blob";
+- filename = "u-boot.itb";
+-#else
+- u-boot-img {
+-#endif
+- /* Sync with u-boot,spl-payload-offset if present */
+- offset = <CONFIG_SYS_SPI_U_BOOT_OFFS>;
+- };
+- };
+-#endif /* CONFIG_ROCKCHIP_SPI_IMAGE */
+-};
+-#endif /* CONFIG_SPL */
+--
+2.42.0
+
diff --git a/config/u-boot/gru_bob/config/default b/config/u-boot/gru_bob/config/default
index 7035ffe6..d91093bd 100644
--- a/config/u-boot/gru_bob/config/default
+++ b/config/u-boot/gru_bob/config/default
@@ -2175,7 +2175,7 @@ CONFIG_FS_FAT_MAX_CLUSTSIZE=65536
# CONFIG_SYS_TIMER_COUNTS_DOWN is not set
# CONFIG_PHYSMEM is not set
# CONFIG_BCH is not set
-CONFIG_BINMAN_FDT=y
+# CONFIG_BINMAN_FDT is not set
# CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set
CONFIG_CHARSET=y
# CONFIG_DYNAMIC_CRC_TABLE is not set
diff --git a/config/u-boot/gru_kevin/config/default b/config/u-boot/gru_kevin/config/default
index a76b6b9c..42386785 100644
--- a/config/u-boot/gru_kevin/config/default
+++ b/config/u-boot/gru_kevin/config/default
@@ -2175,7 +2175,7 @@ CONFIG_FS_FAT_MAX_CLUSTSIZE=65536
# CONFIG_SYS_TIMER_COUNTS_DOWN is not set
# CONFIG_PHYSMEM is not set
# CONFIG_BCH is not set
-CONFIG_BINMAN_FDT=y
+# CONFIG_BINMAN_FDT is not set
# CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set
CONFIG_CHARSET=y
# CONFIG_DYNAMIC_CRC_TABLE is not set