aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlistair Delva <adelva@google.com>2021-02-15 14:00:53 -0800
committerAlistair Delva <adelva@google.com>2021-02-22 04:12:53 +0000
commitff6ef7da9cd02e32cbc36e165db441b32ecf3280 (patch)
tree61a599c2395b70789a4fd70e32e31daf0c1268f4
parent670afbd0e6ba1d8ebd57ce61018b5902f478c73e (diff)
ANDROID: Move rockpi4 build to build.sh
Support building U-Boot with build/build.sh, which uses our hermetic clang toolchain, so the binaries can be built on the Android builders. This disables STATIC_RELA which is broken with clang at the moment, similarly to the QEMU targets. This change also removes any changes we made vs upstream to the rock-pi-4-rk3399_defconfig and moves them into rockpi4.fragment. This is merged at build time instead. Signed-off-by: Alistair Delva <adelva@google.com> Change-Id: I17e52667e78796aac0557c6a368c0a2b7cabf50f
-rw-r--r--build.config.rockpi418
-rw-r--r--configs/rock-pi-4-rk3399_defconfig5
-rw-r--r--rockpi4.fragment11
3 files changed, 30 insertions, 4 deletions
diff --git a/build.config.rockpi4 b/build.config.rockpi4
new file mode 100644
index 00000000000..1cf9f17926b
--- /dev/null
+++ b/build.config.rockpi4
@@ -0,0 +1,18 @@
+. ${ROOT_DIR}/u-boot/build.config.aarch64
+
+# NOTE: Due to upstream bugs with OF_EMBED, this make target
+# must be built with -j1 (no parallel make) or it WILL fail!
+
+DEFCONFIG=rockpi4_defconfig
+PRE_DEFCONFIG_CMDS="KCONFIG_CONFIG=${ROOT_DIR}/${KERNEL_DIR}/configs/${DEFCONFIG} ${ROOT_DIR}/${KERNEL_DIR}/scripts/kconfig/merge_config.sh -m -r ${ROOT_DIR}/${KERNEL_DIR}/configs/rock-pi-4-rk3399_defconfig ${ROOT_DIR}/${KERNEL_DIR}/rockpi4.fragment"
+POST_DEFCONFIG_CMDS="rm ${ROOT_DIR}/${KERNEL_DIR}/configs/${DEFCONFIG}"
+
+MAKE_GOALS="
+BL31=${PWD}/u-boot/bl31.elf
+"
+
+FILES="
+idbloader.img
+u-boot.itb
+u-boot-rockchip.bin
+"
diff --git a/configs/rock-pi-4-rk3399_defconfig b/configs/rock-pi-4-rk3399_defconfig
index 10439529ab3..c7e1a8d2e4b 100644
--- a/configs/rock-pi-4-rk3399_defconfig
+++ b/configs/rock-pi-4-rk3399_defconfig
@@ -22,18 +22,15 @@ CONFIG_CMD_GPT=y
CONFIG_CMD_MMC=y
CONFIG_CMD_PCI=y
CONFIG_CMD_USB=y
+# CONFIG_CMD_SETEXPR is not set
CONFIG_CMD_TIME=y
CONFIG_SPL_OF_CONTROL=y
CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
CONFIG_ENV_IS_IN_MMC=y
-CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_ROCKCHIP_GPIO=y
-CONFIG_DM_GPIO=y
-CONFIG_CMD_GPIO=y
CONFIG_SYS_I2C_ROCKCHIP=y
CONFIG_MISC=y
-CONFIG_ROCKCHIP_EFUSE=y
CONFIG_MMC_DW=y
CONFIG_MMC_DW_ROCKCHIP=y
CONFIG_MMC_SDHCI=y
diff --git a/rockpi4.fragment b/rockpi4.fragment
new file mode 100644
index 00000000000..b112f5fdbb5
--- /dev/null
+++ b/rockpi4.fragment
@@ -0,0 +1,11 @@
+# Disable STATIC_RELA as it is broken with clang/llvm on arm64
+# CONFIG_STATIC_RELA is not set
+
+# Disable OF_SEPARATE as it is broken with clang/llvm on arm64
+# CONFIG_OF_SEPARATE is not set
+CONFIG_OF_EMBED=y
+
+CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_DM_GPIO=y
+CONFIG_CMD_GPIO=y
+CONFIG_ROCKCHIP_EFUSE=y