diff --git a/.github/workflows/matrix.json b/.github/workflows/matrix.json index 035f11a222d..ed3fec2e7a3 100644 --- a/.github/workflows/matrix.json +++ b/.github/workflows/matrix.json @@ -40,5 +40,11 @@ "defconfig": "rock_4se", "architecture": "aarch64", "label": "board/rock-4se" + }, + { + "id": "rockpro64", + "defconfig": "rockpro64", + "architecture": "aarch64", + "label": "board/rockpro64" } ] diff --git a/buildroot-external/board/radxa/rockpro64/boot-env.txt b/buildroot-external/board/radxa/rockpro64/boot-env.txt new file mode 100644 index 00000000000..b8ac7713d13 --- /dev/null +++ b/buildroot-external/board/radxa/rockpro64/boot-env.txt @@ -0,0 +1,11 @@ +# Modify this to enable dt overlays (see README for further information) +# Available overlays: +# - rk3399-pcie-gen2: Enable PCIe Gen2 speed for SSD +# - rk3399-pwm-gpio: Enable the PWM pins (11 and 13) +# - rk3399-disable-wifi-interrupts: Fix initialization of wifi chipset +# Multiple overlays must be separated by a space. For example: +# overlays=rk3399-pcie-gen2 rk3399-disable-wifi-interrupts +overlays= + +# Select device tree (DO NOT MODIFY) +fdtfile=rk3399-rockpro64.dtb diff --git a/buildroot-external/board/radxa/rockpro64/meta b/buildroot-external/board/radxa/rockpro64/meta new file mode 100644 index 00000000000..8a02f87eea4 --- /dev/null +++ b/buildroot-external/board/radxa/rockpro64/meta @@ -0,0 +1,13 @@ +BOARD_ID=rockpro64 +BOARD_NAME="ROCKPro64" +CHASSIS=embedded +BOOTLOADER=uboot +KERNEL_FILE=Image +BOOT_SYS=gpt +BOOT_SIZE=24M +BOOT_SPL=true +BOOT_SPL_SIZE=8M +BOOT_ENV_SIZE=0x8000 +SUPERVISOR_MACHINE=qemuarm-64 +SUPERVISOR_ARCH=aarch64 +DISK_SIZE=2 diff --git a/buildroot-external/configs/rockpro64_defconfig b/buildroot-external/configs/rockpro64_defconfig new file mode 100644 index 00000000000..0e3efd6af51 --- /dev/null +++ b/buildroot-external/configs/rockpro64_defconfig @@ -0,0 +1,155 @@ +BR2_aarch64=y +BR2_cortex_a72_a53=y +BR2_DL_DIR="/cache/dl" +BR2_CCACHE=y +BR2_CCACHE_DIR="/cache/cc" +BR2_OPTIMIZE_2=y +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_HASSOS_PATH)/patches $(BR2_EXTERNAL_HASSOS_PATH)/board/radxa/patches" +# BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set +BR2_GCC_ENABLE_LTO=y +BR2_GCC_VERSION_11_X=y +BR2_INIT_SYSTEMD=y +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_HASSOS_PATH)/rootfs-overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/radxa/rockpro64 $(BR2_EXTERNAL_HASSOS_PATH)/board/radxa/hassos-hook.sh" +BR2_SSP_REGULAR=y +BR2_TARGET_GENERIC_HOSTNAME="homeassistant" +BR2_TARGET_GENERIC_ISSUE="Welcome to Home Assistant" +BR2_TARGET_ROOTFS_SQUASHFS=y +BR2_TARGET_ROOTFS_SQUASHFS4_LZ4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y + +# Firmware +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="9881bb93a3bc0a3ea37e9f093e09ab4b360a9e48" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3399" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_NEEDS_ARM32_TOOLCHAIN=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="" + +# Bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2023.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rockpro64-rk3399" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/bootloader/uboot.config $(BR2_EXTERNAL_HASSOS_PATH)/board/radxa/uboot.config" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYTHON3=y +BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="idbloader.img" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.39" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/radxa/kernel.config" +BR2_LINUX_KERNEL_LZ4=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-rockpro64 rockchip/overlay/rk3399-pcie-gen2 rockchip/overlay/rk3399-disable-wifi-interrupts rockchip/overlay/rk3399-pwm-gpio" +BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y +BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y + +# Host Packages +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_E2FSPROGS=y +BR2_PACKAGE_HOST_GPTFDISK=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_RAUC=y +BR2_PACKAGE_HOST_TEMPIO=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_BOOT_SCRIPT_SOURCE="$(BR2_EXTERNAL_HASSOS_PATH)/board/radxa/uboot-boot.ush" +BR2_PACKAGE_HOST_SWIG=y # required by uboot 2022.10 + +# Packages +BR2_PACKAGE_APPARMOR=y +BR2_PACKAGE_APPARMOR_PROFILES=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y +BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO=y +BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID=y +BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG=y +BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y +BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y +BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT=y +BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y +BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_HASSOS_PATH)/busybox.config" +BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES=y +BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_CIFS_UTILS=y +BR2_PACKAGE_DBUS_BROKER=y +BR2_PACKAGE_DHCP_CLIENT=y +BR2_PACKAGE_DHCP=y +BR2_PACKAGE_DOCKER_CLI=y +BR2_PACKAGE_DOCKER_ENGINE=y +BR2_PACKAGE_DOSFSTOOLS=y +BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_E2FSPROGS=y +BR2_PACKAGE_E2FSPROGS_E2IMAGE=y +BR2_PACKAGE_GPTFDISK=y +BR2_PACKAGE_GPTFDISK_SGDISK=y +BR2_PACKAGE_HASSIO=y +BR2_PACKAGE_HASSIO_ARCH="aarch64" +BR2_PACKAGE_HASSIO_MACHINE="qemuarm-64" # use the generic aarch64 image +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_PACKAGE_IPROUTE2=y +BR2_PACKAGE_IPTABLES_NFTABLES_DEFAULT=y +BR2_PACKAGE_IPTABLES_NFTABLES=y +BR2_PACKAGE_JQ=y +BR2_PACKAGE_LESS=y +BR2_PACKAGE_LIBCGROUP=y +BR2_PACKAGE_LIBCGROUP_TOOLS=y +BR2_PACKAGE_LIBCURL_CURL=y +BR2_PACKAGE_LIBDNET=y +BR2_PACKAGE_LIBSECCOMP=y +# BR2_PACKAGE_LVM2_STANDARD_INSTALL is not set +BR2_PACKAGE_NETWORK_MANAGER=y +BR2_PACKAGE_NETWORK_MANAGER_CLI=y +BR2_PACKAGE_NFS_UTILS=y +# BR2_PACKAGE_NFS_UTILS_RPC_NFSD is not set +BR2_PACKAGE_NVME=y +BR2_PACKAGE_OS_AGENT=y +BR2_PACKAGE_OS_AGENT_BOARD="ROCKPro64" +BR2_PACKAGE_PROCPS_NG=y +BR2_PACKAGE_RAUC=y +BR2_PACKAGE_RAUC_DBUS=y +BR2_PACKAGE_RAUC_NETWORK=y +BR2_PACKAGE_RPCBIND=y +BR2_PACKAGE_SYSTEMD_COREDUMP=y +# BR2_PACKAGE_SYSTEMD_HWDB is not set +BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y +BR2_PACKAGE_SYSTEMD_LOGIND=y +# BR2_PACKAGE_SYSTEMD_NETWORKD is not set +BR2_PACKAGE_SYSTEMD_RANDOMSEED=y +BR2_PACKAGE_TINI=y +BR2_PACKAGE_UDISKS2=y +BR2_PACKAGE_USB_MODESWITCH_DATA=y +BR2_PACKAGE_UTIL_LINUX_LOGIN=y +BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y +BR2_PACKAGE_UTIL_LINUX_PARTX=y +BR2_PACKAGE_UTIL_LINUX_SULOGIN=y +BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y +BR2_PACKAGE_V4L2LOOPBACK=y +BR2_PACKAGE_WIRELESS_REGDB=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y +BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION=y +BR2_PACKAGE_WPA_SUPPLICANT_DBUS=y +BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y +BR2_PACKAGE_WPA_SUPPLICANT_WEXT=y