From 199d7428322de17211f26ffda0306d8beaf3e5bf Mon Sep 17 00:00:00 2001 From: baiywt Date: Thu, 18 May 2023 21:15:21 +0800 Subject: [PATCH] Support Orange Pi 5 Plus --- configs/orangepi-5-plus-rk3588-spi_defconfig | 17 ++ configs/orangepi-5-plus-rk3588_defconfig | 80 ++++++ include/kernel-5.10 | 4 +- package/boot/uboot-rockchip-rk3588/Makefile | 26 ++ ...new-orangepi-5-plus-rk3588_defconfig.patch | 237 +++++++++++++++++ ...orangepi-5-plus-rk3588-spi_defconfig.patch | 239 ++++++++++++++++++ ...tects-boot-devices-and-enters-downlo.patch | 123 +++++++++ package/kernel/linux/modules/netdevices.mk | 16 ++ .../armv8/base-files/etc/board.d/02_network | 3 +- .../etc/hotplug.d/net/40-net-smp-affinity | 10 + target/linux/rockchip/image/armv8.mk | 32 +++ 11 files changed, 784 insertions(+), 3 deletions(-) create mode 100644 configs/orangepi-5-plus-rk3588-spi_defconfig create mode 100644 configs/orangepi-5-plus-rk3588_defconfig create mode 100644 package/boot/uboot-rockchip-rk3588/patches/105-configs-Add-new-orangepi-5-plus-rk3588_defconfig.patch create mode 100644 package/boot/uboot-rockchip-rk3588/patches/106-configs-Add-new-orangepi-5-plus-rk3588-spi_defconfig.patch create mode 100644 package/boot/uboot-rockchip-rk3588/patches/107-Automatically-detects-boot-devices-and-enters-downlo.patch diff --git a/configs/orangepi-5-plus-rk3588-spi_defconfig b/configs/orangepi-5-plus-rk3588-spi_defconfig new file mode 100644 index 0000000000..128f02f2b1 --- /dev/null +++ b/configs/orangepi-5-plus-rk3588-spi_defconfig @@ -0,0 +1,17 @@ +CONFIG_TARGET_rockchip=y +CONFIG_TARGET_rockchip_armv8=y +CONFIG_TARGET_rockchip_armv8_DEVICE_xunlong_orangepi-5-plus-spi=y +# CONFIG_TARGET_ROOTFS_EXT4FS is not set +CONFIG_PACKAGE_kmod-mac80211=y +CONFIG_PACKAGE_kmod-cfg80211=y +CONFIG_PACKAGE_kmod-rtl8821cu=y +CONFIG_PACKAGE_rtl8723bu-firmware=y +CONFIG_PACKAGE_kmod-rtl8xxxu=y +CONFIG_PACKAGE_usbutils=y +CONFIG_PACKAGE_usb-modeswitch=y +CONFIG_PACKAGE_wpa-supplicant=y +CONFIG_PACKAGE_uhttpd=y +CONFIG_PACKAGE_uhttpd-mod-ubus=y +CONFIG_PACKAGE_hostapd=y +CONFIG_PACKAGE_hostapd-common=y +CONFIG_PACKAGE_openssh-sftp-server=y diff --git a/configs/orangepi-5-plus-rk3588_defconfig b/configs/orangepi-5-plus-rk3588_defconfig new file mode 100644 index 0000000000..f0509c118e --- /dev/null +++ b/configs/orangepi-5-plus-rk3588_defconfig @@ -0,0 +1,80 @@ +CONFIG_TARGET_rockchip=y +CONFIG_TARGET_rockchip_armv8=y +CONFIG_TARGET_rockchip_armv8_DEVICE_xunlong_orangepi-5-plus=y +CONFIG_TARGET_KERNEL_PARTSIZE=64 +CONFIG_TARGET_ROOTFS_PARTSIZE=400 +# CONFIG_PACKAGE_dnsmasq is not set +CONFIG_PACKAGE_dnsmasq-full=y +CONFIG_PACKAGE_iperf3=y +CONFIG_PACKAGE_docker=y +CONFIG_PACKAGE_dockerd=y +CONFIG_PACKAGE_rsync=y +CONFIG_PACKAGE_rsyncd=y +CONFIG_PACKAGE_openssh-sftp-server=y +CONFIG_PACKAGE_iptables-mod-conntrack-extra=y +CONFIG_PACKAGE_iptables-mod-ipopt=y +CONFIG_PACKAGE_iptables-mod-tproxy=y +CONFIG_PACKAGE_zerotier=y +CONFIG_PACKAGE_wpa-supplicant=y +CONFIG_PACKAGE_uhttpd=y +CONFIG_PACKAGE_uhttpd-mod-ubus=y +CONFIG_PACKAGE_hostapd=y +CONFIG_PACKAGE_ifstat=y +CONFIG_PACKAGE_iftop=y +CONFIG_PACKAGE_ipset=y +CONFIG_PACKAGE_netperf=y +CONFIG_PACKAGE_squid=y +CONFIG_PACKAGE_tcpdump=y +CONFIG_PACKAGE_speedtest-netperf=y +CONFIG_PACKAGE_htop=y +CONFIG_PACKAGE_libusb-1.0=y +CONFIG_PACKAGE_blkid=y + +CONFIG_LUCI_LANG_zh_Hans=y +CONFIG_PACKAGE_luci-app-dockerman=y +CONFIG_PACKAGE_luci-app-ttyd=y +CONFIG_PACKAGE_luci-app-samba4=y +CONFIG_PACKAGE_luci-app-statistics=y +CONFIG_PACKAGE_luci-app-transmission=y +CONFIG_PACKAGE_luci-app-commands=y +CONFIG_PACKAGE_luci-app-vnstat2=y +# CONFIG_PACKAGE_luci-theme-argon is not set +CONFIG_PACKAGE_luci-app-aria2=y +CONFIG_PACKAGE_luci-app-ddns=y +CONFIG_PACKAGE_luci-app-watchcat=y +CONFIG_PACKAGE_luci-app-adblock=y +CONFIG_PACKAGE_luci-app-nlbwmon=y +CONFIG_PACKAGE_luci-app-ntpc=y +CONFIG_PACKAGE_luci-app-mwan3=y +CONFIG_PACKAGE_luci-app-qos=y +CONFIG_PACKAGE_luci-app-unbound=y + +CONFIG_PACKAGE_kmod-mt76x0u=y +CONFIG_PACKAGE_kmod-mt7601u=y +CONFIG_PACKAGE_kmod-mt76x2u=y +CONFIG_PACKAGE_kmod-rtl8812au-ct=y +CONFIG_PACKAGE_kmod-rtl8821ae=y +CONFIG_PACKAGE_kmod-rtl8xxxu=y +CONFIG_PACKAGE_kmod-ipt-nat6=y +CONFIG_PACKAGE_kmod-nf-nat6=y +CONFIG_PACKAGE_kmod-usb-serial-option=y +CONFIG_PACKAGE_mt7601u-firmware=y +CONFIG_PACKAGE_rtl8188eu-firmware=y +CONFIG_PACKAGE_rtl8723au-firmware=y +CONFIG_PACKAGE_rtl8723bu-firmware=y +CONFIG_PACKAGE_rtl8821ae-firmware=y +CONFIG_PACKAGE_iw=y +CONFIG_PACKAGE_iwinfo=y +CONFIG_PACKAGE_kmod-mac80211=y +CONFIG_PACKAGE_kmod-cfg80211=y +CONFIG_PACKAGE_kmod-rtl8821cu=y +CONFIG_PACKAGE_kmod-rtw88=y +CONFIG_PACKAGE_rtl8723bu-firmware=y +CONFIG_PACKAGE_rtl8723du-firmware=y +CONFIG_PACKAGE_bcmdhd-firmware=y +CONFIG_PACKAGE_kmod-rtl8xxxu=y +CONFIG_PACKAGE_kmod-bcmdhd=y +CONFIG_PACKAGE_usbutils=y +CONFIG_PACKAGE_usb-modeswitch=y +CONFIG_PACKAGE_iwlwifi-firmware-ax200=y +CONFIG_PACKAGE_iwlwifi-firmware-ax210=y diff --git a/include/kernel-5.10 b/include/kernel-5.10 index 6bd560cf0f..614b44f67a 100644 --- a/include/kernel-5.10 +++ b/include/kernel-5.10 @@ -1,5 +1,5 @@ LINUX_VERSION-5.10 = .110 #LINUX_KERNEL_HASH-5.10.110 = c5c3221aa1a8a8de0fdc889cdbc9091e9a970e2199cbcfaf6cd84888a76caff8 KERNEL_GIT_CLONE_URI = https://github.com/orangepi-xunlong/linux-orangepi -KERNEL_GIT_REF = ebbb39e31ed9b0aaa6ed27272086942fb8661e09 -KERNEL_GIT_OPT = --depth 1 -b orange-pi-5.10-rk3588-openwrt-v3 +KERNEL_GIT_REF = 815104dbe6b6b10c5aed20bbf983f36923188409 +KERNEL_GIT_OPT = --depth 1 -b orange-pi-5.10-rk3588-openwrt-v4 diff --git a/package/boot/uboot-rockchip-rk3588/Makefile b/package/boot/uboot-rockchip-rk3588/Makefile index 03a54f8494..991a9ee6be 100644 --- a/package/boot/uboot-rockchip-rk3588/Makefile +++ b/package/boot/uboot-rockchip-rk3588/Makefile @@ -47,9 +47,35 @@ define U-Boot/orangepi-5-rk3588-spi #OF_PLATDATA:=$(1) endef +define U-Boot/orangepi-5-plus-rk3588 + BUILD_SUBTARGET:=armv8 + NAME:=Orange Pi 5 Plus + BUILD_DEVICES:= \ + xunlong_orangepi-5-plus + DEPENDS:=+PACKAGE_u-boot-orangepi-5-plus-rk3588:arm-trusted-firmware-rk3588 + PKG_BUILD_DEPENDS:=arm-trusted-firmware-rk3588 + ATF:=rk3588_bl31_v1.27.elf + TPL=rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.08.bin + #OF_PLATDATA:=$(1) +endef + +define U-Boot/orangepi-5-plus-rk3588-spi + BUILD_SUBTARGET:=armv8 + NAME:=Orange Pi 5 Plus for Spi Boot + BUILD_DEVICES:= \ + xunlong_orangepi-5-plus-spi + DEPENDS:=+PACKAGE_u-boot-orangepi-5-plus-rk3588-spi:arm-trusted-firmware-rk3588 + PKG_BUILD_DEPENDS:=arm-trusted-firmware-rk3588 + ATF:=rk3588_bl31_v1.27.elf + TPL=rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.08.bin + #OF_PLATDATA:=$(1) +endef + UBOOT_TARGETS := \ orangepi-5-rk3588 \ orangepi-5-rk3588-spi \ + orangepi-5-plus-rk3588 \ + orangepi-5-plus-rk3588-spi \ UBOOT_CONFIGURE_VARS += USE_PRIVATE_LIBGCC=yes diff --git a/package/boot/uboot-rockchip-rk3588/patches/105-configs-Add-new-orangepi-5-plus-rk3588_defconfig.patch b/package/boot/uboot-rockchip-rk3588/patches/105-configs-Add-new-orangepi-5-plus-rk3588_defconfig.patch new file mode 100644 index 0000000000..7f7f07b30b --- /dev/null +++ b/package/boot/uboot-rockchip-rk3588/patches/105-configs-Add-new-orangepi-5-plus-rk3588_defconfig.patch @@ -0,0 +1,237 @@ +From 4fd28b86d1cdfdd11a3caa077c31cc9f31ea10dd Mon Sep 17 00:00:00 2001 +From: baiywt +Date: Thu, 11 May 2023 15:54:40 +0800 +Subject: [PATCH] configs: Add new orangepi-5-plus-rk3588_defconfig + +--- + configs/orangepi-5-plus-rk3588_defconfig | 218 +++++++++++++++++++++++ + 1 file changed, 218 insertions(+) + create mode 100644 configs/orangepi-5-plus-rk3588_defconfig + +diff --git a/configs/orangepi-5-plus-rk3588_defconfig b/configs/orangepi-5-plus-rk3588_defconfig +new file mode 100644 +index 0000000000..a779e9a498 +--- /dev/null ++++ b/configs/orangepi-5-plus-rk3588_defconfig +@@ -0,0 +1,218 @@ ++CONFIG_ARM=y ++CONFIG_ARM_CPU_SUSPEND=y ++CONFIG_ARCH_ROCKCHIP=y ++CONFIG_SPL_GPIO_SUPPORT=y ++CONFIG_SPL_LIBCOMMON_SUPPORT=y ++CONFIG_SPL_LIBGENERIC_SUPPORT=y ++CONFIG_SYS_MALLOC_F_LEN=0x80000 ++CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-rockchip/make_fit_atf.sh" ++CONFIG_ROCKCHIP_RK3588=y ++CONFIG_ROCKCHIP_FIT_IMAGE=y ++CONFIG_ROCKCHIP_HWID_DTB=y ++CONFIG_ROCKCHIP_VENDOR_PARTITION=y ++CONFIG_USING_KERNEL_DTB_V2=y ++CONFIG_ROCKCHIP_FIT_IMAGE_PACK=y ++CONFIG_ROCKCHIP_NEW_IDB=y ++CONFIG_LOADER_INI="RK3588MINIALL.ini" ++CONFIG_TRUST_INI="RK3588TRUST.ini" ++CONFIG_SPL_SERIAL_SUPPORT=y ++CONFIG_SPL_DRIVERS_MISC_SUPPORT=y ++CONFIG_TARGET_EVB_RK3588=y ++CONFIG_SPL_LIBDISK_SUPPORT=y ++CONFIG_SPL_SPI_FLASH_SUPPORT=y ++CONFIG_SPL_SPI_SUPPORT=y ++CONFIG_DEFAULT_DEVICE_TREE="rk3588-orangepi-5-plus" ++CONFIG_DEBUG_UART=y ++CONFIG_FIT=y ++CONFIG_FIT_IMAGE_POST_PROCESS=y ++CONFIG_FIT_HW_CRYPTO=y ++CONFIG_SPL_LOAD_FIT=y ++CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y ++CONFIG_SPL_FIT_HW_CRYPTO=y ++# CONFIG_SPL_SYS_DCACHE_OFF is not set ++CONFIG_BOOTDELAY=3 ++CONFIG_SYS_CONSOLE_INFO_QUIET=y ++# CONFIG_DISPLAY_CPUINFO is not set ++CONFIG_ANDROID_BOOTLOADER=y ++CONFIG_ANDROID_AVB=y ++CONFIG_ANDROID_BOOT_IMAGE_HASH=y ++CONFIG_SPL_BOARD_INIT=y ++# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set ++# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set ++CONFIG_SPL_SEPARATE_BSS=y ++CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y ++CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=0x1 ++CONFIG_SPL_MMC_WRITE=y ++CONFIG_SPL_MTD_SUPPORT=y ++CONFIG_SPL_ATF=y ++CONFIG_FASTBOOT_BUF_ADDR=0xc00800 ++CONFIG_FASTBOOT_BUF_SIZE=0x07000000 ++CONFIG_FASTBOOT_FLASH=y ++CONFIG_FASTBOOT_FLASH_MMC_DEV=0 ++CONFIG_CMD_BOOTZ=y ++CONFIG_CMD_DTIMG=y ++# CONFIG_CMD_ELF is not set ++# CONFIG_CMD_IMI is not set ++# CONFIG_CMD_IMLS is not set ++# CONFIG_CMD_XIMG is not set ++# CONFIG_CMD_LZMADEC is not set ++# CONFIG_CMD_UNZIP is not set ++# CONFIG_CMD_FLASH is not set ++# CONFIG_CMD_FPGA is not set ++CONFIG_CMD_GPT=y ++# CONFIG_CMD_LOADB is not set ++# CONFIG_CMD_LOADS is not set ++CONFIG_CMD_BOOT_ANDROID=y ++CONFIG_CMD_MMC=y ++CONFIG_CMD_PCI=y ++CONFIG_CMD_SF=y ++CONFIG_CMD_SPI=y ++CONFIG_CMD_USB=y ++CONFIG_CMD_USB_MASS_STORAGE=y ++# CONFIG_CMD_ITEST is not set ++# CONFIG_CMD_SETEXPR is not set ++CONFIG_CMD_TFTPPUT=y ++CONFIG_CMD_TFTP_BOOTM=y ++CONFIG_CMD_TFTP_FLASH=y ++# CONFIG_CMD_MISC is not set ++CONFIG_CMD_MTD_BLK=y ++# CONFIG_SPL_DOS_PARTITION is not set ++# CONFIG_ISO_PARTITION is not set ++CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=64 ++CONFIG_SPL_OF_CONTROL=y ++CONFIG_SPL_DTB_MINIMUM=y ++CONFIG_OF_LIVE=y ++CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" ++# CONFIG_NET_TFTP_VARS is not set ++CONFIG_REGMAP=y ++CONFIG_SPL_REGMAP=y ++CONFIG_SYSCON=y ++CONFIG_SPL_SYSCON=y ++# CONFIG_SARADC_ROCKCHIP is not set ++CONFIG_SARADC_ROCKCHIP_V2=y ++CONFIG_CLK=y ++CONFIG_SPL_CLK=y ++CONFIG_CLK_SCMI=y ++CONFIG_SPL_CLK_SCMI=y ++CONFIG_DM_CRYPTO=y ++CONFIG_SPL_DM_CRYPTO=y ++CONFIG_ROCKCHIP_CRYPTO_V2=y ++CONFIG_SPL_ROCKCHIP_CRYPTO_V2=y ++CONFIG_DM_RNG=y ++CONFIG_RNG_ROCKCHIP=y ++CONFIG_SCMI_FIRMWARE=y ++CONFIG_SPL_SCMI_FIRMWARE=y ++CONFIG_ROCKCHIP_GPIO=y ++CONFIG_ROCKCHIP_GPIO_V2=y ++CONFIG_SYS_I2C_ROCKCHIP=y ++CONFIG_DM_KEY=y ++CONFIG_ADC_KEY=y ++CONFIG_MISC=y ++CONFIG_SPL_MISC=y ++CONFIG_MISC_DECOMPRESS=y ++CONFIG_SPL_MISC_DECOMPRESS=y ++CONFIG_ROCKCHIP_OTP=y ++CONFIG_ROCKCHIP_HW_DECOMPRESS=y ++CONFIG_SPL_ROCKCHIP_HW_DECOMPRESS=y ++CONFIG_SPL_ROCKCHIP_SECURE_OTP=y ++CONFIG_MMC_DW=y ++CONFIG_MMC_DW_ROCKCHIP=y ++CONFIG_MMC_SDHCI=y ++CONFIG_MMC_SDHCI_SDMA=y ++CONFIG_MMC_SDHCI_ROCKCHIP=y ++CONFIG_MTD=y ++CONFIG_MTD_BLK=y ++CONFIG_MTD_DEVICE=y ++CONFIG_NAND=y ++CONFIG_MTD_SPI_NAND=y ++CONFIG_SPI_FLASH=y ++CONFIG_SF_DEFAULT_SPEED=80000000 ++CONFIG_SPI_FLASH_EON=y ++CONFIG_SPI_FLASH_GIGADEVICE=y ++CONFIG_SPI_FLASH_MACRONIX=y ++CONFIG_SPI_FLASH_SST=y ++CONFIG_SPI_FLASH_WINBOND=y ++CONFIG_SPI_FLASH_XMC=y ++CONFIG_SPI_FLASH_XTX=y ++CONFIG_SPI_FLASH_MTD=y ++CONFIG_DM_ETH=y ++CONFIG_DM_ETH_PHY=y ++CONFIG_DWC_ETH_QOS=y ++CONFIG_GMAC_ROCKCHIP=y ++CONFIG_NVME=y ++CONFIG_PCI=y ++CONFIG_DM_PCI=y ++CONFIG_DM_PCI_COMPAT=y ++CONFIG_PCIE_DW_ROCKCHIP=y ++CONFIG_PHY_ROCKCHIP_INNO_USB2=y ++CONFIG_PHY_ROCKCHIP_SAMSUNG_HDPTX=y ++CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=y ++CONFIG_PINCTRL=y ++CONFIG_SPL_PINCTRL=y ++CONFIG_DM_PMIC=y ++CONFIG_PMIC_SPI_RK8XX=y ++CONFIG_REGULATOR_PWM=y ++CONFIG_DM_REGULATOR_FIXED=y ++CONFIG_DM_REGULATOR_GPIO=y ++CONFIG_REGULATOR_RK860X=y ++CONFIG_REGULATOR_RK806=y ++CONFIG_PWM_ROCKCHIP=y ++CONFIG_RAM=y ++CONFIG_SPL_RAM=y ++CONFIG_TPL_RAM=y ++CONFIG_ROCKCHIP_SDRAM_COMMON=y ++CONFIG_ROCKCHIP_TPL_INIT_DRAM_TYPE=0 ++CONFIG_DM_RESET=y ++CONFIG_SPL_DM_RESET=y ++CONFIG_SPL_RESET_ROCKCHIP=y ++CONFIG_BAUDRATE=1500000 ++CONFIG_DEBUG_UART_BASE=0xFEB50000 ++CONFIG_DEBUG_UART_CLOCK=24000000 ++CONFIG_DEBUG_UART_SHIFT=2 ++CONFIG_ROCKCHIP_SPI=y ++CONFIG_ROCKCHIP_SFC=y ++CONFIG_SYSRESET=y ++CONFIG_USB=y ++CONFIG_USB_XHCI_HCD=y ++CONFIG_USB_XHCI_DWC3=y ++CONFIG_USB_XHCI_PCI=y ++CONFIG_USB_EHCI_HCD=y ++CONFIG_USB_EHCI_GENERIC=y ++CONFIG_USB_OHCI_HCD=y ++CONFIG_USB_OHCI_GENERIC=y ++CONFIG_USB_DWC3=y ++CONFIG_USB_DWC3_GADGET=y ++CONFIG_USB_DWC3_GENERIC=y ++CONFIG_USB_STORAGE=y ++CONFIG_USB_GADGET=y ++CONFIG_USB_GADGET_MANUFACTURER="Rockchip" ++CONFIG_USB_GADGET_VENDOR_NUM=0x2207 ++CONFIG_USB_GADGET_PRODUCT_NUM=0x350a ++CONFIG_USB_GADGET_DOWNLOAD=y ++CONFIG_DM_VIDEO=y ++CONFIG_DISPLAY=y ++CONFIG_DRM_ROCKCHIP=y ++CONFIG_DRM_ROCKCHIP_DW_MIPI_DSI2=y ++CONFIG_DRM_ROCKCHIP_ANALOGIX_DP=y ++CONFIG_DRM_ROCKCHIP_SAMSUNG_MIPI_DCPHY=y ++CONFIG_USE_TINY_PRINTF=y ++CONFIG_LIB_RAND=y ++CONFIG_SPL_TINY_MEMSET=y ++CONFIG_RSA=y ++CONFIG_SPL_RSA=y ++CONFIG_RSA_N_SIZE=0x200 ++CONFIG_RSA_E_SIZE=0x10 ++CONFIG_RSA_C_SIZE=0x20 ++CONFIG_LZ4=y ++CONFIG_ERRNO_STR=y ++# CONFIG_EFI_LOADER is not set ++CONFIG_AVB_LIBAVB=y ++CONFIG_AVB_LIBAVB_AB=y ++CONFIG_AVB_LIBAVB_ATX=y ++CONFIG_AVB_LIBAVB_USER=y ++CONFIG_RK_AVB_LIBAVB_USER=y ++CONFIG_OPTEE_CLIENT=y ++CONFIG_OPTEE_V2=y ++CONFIG_OPTEE_ALWAYS_USE_SECURITY_PARTITION=y ++CONFIG_SYS_PROMPT="opi# " ++CONFIG_ROCKCHIP_EMMC_IOMUX=y +-- +2.34.1 + diff --git a/package/boot/uboot-rockchip-rk3588/patches/106-configs-Add-new-orangepi-5-plus-rk3588-spi_defconfig.patch b/package/boot/uboot-rockchip-rk3588/patches/106-configs-Add-new-orangepi-5-plus-rk3588-spi_defconfig.patch new file mode 100644 index 0000000000..5c93f33447 --- /dev/null +++ b/package/boot/uboot-rockchip-rk3588/patches/106-configs-Add-new-orangepi-5-plus-rk3588-spi_defconfig.patch @@ -0,0 +1,239 @@ +From c323949240ef6657e16d34d6efaf277859b7f3da Mon Sep 17 00:00:00 2001 +From: baiywt +Date: Thu, 11 May 2023 18:22:17 +0800 +Subject: [PATCH] configs: Add new orangepi-5-plus-rk3588-spi_defconfig + +--- + configs/orangepi-5-plus-rk3588-spi_defconfig | 219 +++++++++++++++++++ + 1 file changed, 219 insertions(+) + create mode 100644 configs/orangepi-5-plus-rk3588-spi_defconfig + +diff --git a/configs/orangepi-5-plus-rk3588-spi_defconfig b/configs/orangepi-5-plus-rk3588-spi_defconfig +new file mode 100644 +index 0000000000..c47445f01a +--- /dev/null ++++ b/configs/orangepi-5-plus-rk3588-spi_defconfig +@@ -0,0 +1,220 @@ ++CONFIG_ARM=y ++CONFIG_ARM_CPU_SUSPEND=y ++CONFIG_ARCH_ROCKCHIP=y ++CONFIG_SPL_GPIO_SUPPORT=y ++CONFIG_SPL_LIBCOMMON_SUPPORT=y ++CONFIG_SPL_LIBGENERIC_SUPPORT=y ++CONFIG_SYS_MALLOC_F_LEN=0x80000 ++CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-rockchip/make_fit_atf.sh" ++CONFIG_ROCKCHIP_RK3588=y ++CONFIG_ROCKCHIP_FIT_IMAGE=y ++CONFIG_ROCKCHIP_HWID_DTB=y ++CONFIG_ROCKCHIP_VENDOR_PARTITION=y ++CONFIG_USING_KERNEL_DTB_V2=y ++CONFIG_ROCKCHIP_FIT_IMAGE_PACK=y ++CONFIG_ROCKCHIP_NEW_IDB=y ++CONFIG_LOADER_INI="RK3588MINIALL.ini" ++CONFIG_TRUST_INI="RK3588TRUST.ini" ++CONFIG_SPL_SERIAL_SUPPORT=y ++CONFIG_SPL_DRIVERS_MISC_SUPPORT=y ++CONFIG_TARGET_EVB_RK3588=y ++CONFIG_SPL_LIBDISK_SUPPORT=y ++CONFIG_SPL_SPI_FLASH_SUPPORT=y ++CONFIG_SPL_SPI_SUPPORT=y ++CONFIG_DEFAULT_DEVICE_TREE="rk3588-orangepi-5-plus" ++CONFIG_DEBUG_UART=y ++CONFIG_FIT=y ++CONFIG_FIT_IMAGE_POST_PROCESS=y ++CONFIG_FIT_HW_CRYPTO=y ++CONFIG_SPL_LOAD_FIT=y ++CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y ++CONFIG_SPL_FIT_HW_CRYPTO=y ++# CONFIG_SPL_SYS_DCACHE_OFF is not set ++CONFIG_BOOTDELAY=3 ++CONFIG_SYS_CONSOLE_INFO_QUIET=y ++# CONFIG_DISPLAY_CPUINFO is not set ++CONFIG_ANDROID_BOOTLOADER=y ++CONFIG_ANDROID_AVB=y ++CONFIG_ANDROID_BOOT_IMAGE_HASH=y ++CONFIG_SPL_BOARD_INIT=y ++# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set ++# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set ++CONFIG_SPL_SEPARATE_BSS=y ++CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION=y ++CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=0x1 ++CONFIG_SPL_MMC_WRITE=y ++CONFIG_SPL_MTD_SUPPORT=y ++CONFIG_SPL_ATF=y ++CONFIG_FASTBOOT_BUF_ADDR=0xc00800 ++CONFIG_FASTBOOT_BUF_SIZE=0x07000000 ++CONFIG_FASTBOOT_FLASH=y ++CONFIG_FASTBOOT_FLASH_MMC_DEV=0 ++CONFIG_CMD_BOOTZ=y ++CONFIG_CMD_DTIMG=y ++# CONFIG_CMD_ELF is not set ++# CONFIG_CMD_IMI is not set ++# CONFIG_CMD_IMLS is not set ++# CONFIG_CMD_XIMG is not set ++# CONFIG_CMD_LZMADEC is not set ++# CONFIG_CMD_UNZIP is not set ++# CONFIG_CMD_FLASH is not set ++# CONFIG_CMD_FPGA is not set ++CONFIG_CMD_GPT=y ++# CONFIG_CMD_LOADB is not set ++# CONFIG_CMD_LOADS is not set ++CONFIG_CMD_BOOT_ANDROID=y ++CONFIG_CMD_MMC=y ++CONFIG_CMD_PCI=y ++CONFIG_CMD_SF=y ++CONFIG_CMD_SPI=y ++CONFIG_CMD_USB=y ++CONFIG_CMD_USB_MASS_STORAGE=y ++# CONFIG_CMD_ITEST is not set ++# CONFIG_CMD_SETEXPR is not set ++CONFIG_CMD_TFTPPUT=y ++CONFIG_CMD_TFTP_BOOTM=y ++CONFIG_CMD_TFTP_FLASH=y ++# CONFIG_CMD_MISC is not set ++CONFIG_CMD_MTD_BLK=y ++# CONFIG_SPL_DOS_PARTITION is not set ++# CONFIG_ISO_PARTITION is not set ++CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=64 ++CONFIG_SPL_OF_CONTROL=y ++CONFIG_SPL_DTB_MINIMUM=y ++CONFIG_OF_LIVE=y ++CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" ++# CONFIG_NET_TFTP_VARS is not set ++CONFIG_REGMAP=y ++CONFIG_SPL_REGMAP=y ++CONFIG_SYSCON=y ++CONFIG_SPL_SYSCON=y ++# CONFIG_SARADC_ROCKCHIP is not set ++CONFIG_SARADC_ROCKCHIP_V2=y ++CONFIG_CLK=y ++CONFIG_SPL_CLK=y ++CONFIG_CLK_SCMI=y ++CONFIG_SPL_CLK_SCMI=y ++CONFIG_DM_CRYPTO=y ++CONFIG_SPL_DM_CRYPTO=y ++CONFIG_ROCKCHIP_CRYPTO_V2=y ++CONFIG_SPL_ROCKCHIP_CRYPTO_V2=y ++CONFIG_DM_RNG=y ++CONFIG_RNG_ROCKCHIP=y ++CONFIG_SCMI_FIRMWARE=y ++CONFIG_SPL_SCMI_FIRMWARE=y ++CONFIG_ROCKCHIP_GPIO=y ++CONFIG_ROCKCHIP_GPIO_V2=y ++CONFIG_SYS_I2C_ROCKCHIP=y ++CONFIG_DM_KEY=y ++CONFIG_ADC_KEY=y ++CONFIG_MISC=y ++CONFIG_SPL_MISC=y ++CONFIG_MISC_DECOMPRESS=y ++CONFIG_SPL_MISC_DECOMPRESS=y ++CONFIG_ROCKCHIP_OTP=y ++CONFIG_ROCKCHIP_HW_DECOMPRESS=y ++CONFIG_SPL_ROCKCHIP_HW_DECOMPRESS=y ++CONFIG_SPL_ROCKCHIP_SECURE_OTP=y ++CONFIG_MMC_DW=y ++CONFIG_MMC_DW_ROCKCHIP=y ++CONFIG_MMC_SDHCI=y ++CONFIG_MMC_SDHCI_SDMA=y ++CONFIG_MMC_SDHCI_ROCKCHIP=y ++CONFIG_MTD=y ++CONFIG_MTD_BLK=y ++CONFIG_MTD_DEVICE=y ++CONFIG_NAND=y ++CONFIG_MTD_SPI_NAND=y ++CONFIG_SPI_FLASH=y ++CONFIG_SF_DEFAULT_SPEED=80000000 ++CONFIG_SPI_FLASH_EON=y ++CONFIG_SPI_FLASH_GIGADEVICE=y ++CONFIG_SPI_FLASH_MACRONIX=y ++CONFIG_SPI_FLASH_SST=y ++CONFIG_SPI_FLASH_WINBOND=y ++CONFIG_SPI_FLASH_XMC=y ++CONFIG_SPI_FLASH_XTX=y ++CONFIG_SPI_FLASH_MTD=y ++CONFIG_DM_ETH=y ++CONFIG_DM_ETH_PHY=y ++CONFIG_DWC_ETH_QOS=y ++CONFIG_GMAC_ROCKCHIP=y ++CONFIG_NVME=y ++CONFIG_PCI=y ++CONFIG_DM_PCI=y ++CONFIG_DM_PCI_COMPAT=y ++CONFIG_PCIE_DW_ROCKCHIP=y ++CONFIG_PHY_ROCKCHIP_INNO_USB2=y ++CONFIG_PHY_ROCKCHIP_SAMSUNG_HDPTX=y ++CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=y ++CONFIG_PINCTRL=y ++CONFIG_SPL_PINCTRL=y ++CONFIG_DM_PMIC=y ++CONFIG_PMIC_SPI_RK8XX=y ++CONFIG_REGULATOR_PWM=y ++CONFIG_DM_REGULATOR_FIXED=y ++CONFIG_DM_REGULATOR_GPIO=y ++CONFIG_REGULATOR_RK860X=y ++CONFIG_REGULATOR_RK806=y ++CONFIG_PWM_ROCKCHIP=y ++CONFIG_RAM=y ++CONFIG_SPL_RAM=y ++CONFIG_TPL_RAM=y ++CONFIG_ROCKCHIP_SDRAM_COMMON=y ++CONFIG_ROCKCHIP_TPL_INIT_DRAM_TYPE=0 ++CONFIG_DM_RESET=y ++CONFIG_SPL_DM_RESET=y ++CONFIG_SPL_RESET_ROCKCHIP=y ++CONFIG_BAUDRATE=1500000 ++CONFIG_DEBUG_UART_BASE=0xFEB50000 ++CONFIG_DEBUG_UART_CLOCK=24000000 ++CONFIG_DEBUG_UART_SHIFT=2 ++CONFIG_ROCKCHIP_SPI=y ++CONFIG_ROCKCHIP_SFC=y ++CONFIG_SYSRESET=y ++CONFIG_USB=y ++CONFIG_USB_XHCI_HCD=y ++CONFIG_USB_XHCI_DWC3=y ++CONFIG_USB_XHCI_PCI=y ++CONFIG_USB_EHCI_HCD=y ++CONFIG_USB_EHCI_GENERIC=y ++CONFIG_USB_OHCI_HCD=y ++CONFIG_USB_OHCI_GENERIC=y ++CONFIG_USB_DWC3=y ++CONFIG_USB_DWC3_GADGET=y ++CONFIG_USB_DWC3_GENERIC=y ++CONFIG_USB_STORAGE=y ++CONFIG_USB_GADGET=y ++CONFIG_USB_GADGET_MANUFACTURER="Rockchip" ++CONFIG_USB_GADGET_VENDOR_NUM=0x2207 ++CONFIG_USB_GADGET_PRODUCT_NUM=0x350a ++CONFIG_USB_GADGET_DOWNLOAD=y ++CONFIG_DM_VIDEO=y ++CONFIG_DISPLAY=y ++CONFIG_DRM_ROCKCHIP=y ++CONFIG_DRM_ROCKCHIP_DW_MIPI_DSI2=y ++CONFIG_DRM_ROCKCHIP_ANALOGIX_DP=y ++CONFIG_DRM_ROCKCHIP_SAMSUNG_MIPI_DCPHY=y ++CONFIG_USE_TINY_PRINTF=y ++CONFIG_LIB_RAND=y ++CONFIG_SPL_TINY_MEMSET=y ++CONFIG_RSA=y ++CONFIG_SPL_RSA=y ++CONFIG_RSA_N_SIZE=0x200 ++CONFIG_RSA_E_SIZE=0x10 ++CONFIG_RSA_C_SIZE=0x20 ++CONFIG_LZ4=y ++CONFIG_ERRNO_STR=y ++# CONFIG_EFI_LOADER is not set ++CONFIG_AVB_LIBAVB=y ++CONFIG_AVB_LIBAVB_AB=y ++CONFIG_AVB_LIBAVB_ATX=y ++CONFIG_AVB_LIBAVB_USER=y ++CONFIG_RK_AVB_LIBAVB_USER=y ++CONFIG_OPTEE_CLIENT=y ++CONFIG_OPTEE_V2=y ++CONFIG_OPTEE_ALWAYS_USE_SECURITY_PARTITION=y ++CONFIG_SYS_PROMPT="opi# " ++CONFIG_MTD_BLK_U_BOOT_OFFS=0x300 ++CONFIG_LZMA=y ++CONFIG_ROCKCHIP_EMMC_IOMUX=y +-- +2.34.1 + diff --git a/package/boot/uboot-rockchip-rk3588/patches/107-Automatically-detects-boot-devices-and-enters-downlo.patch b/package/boot/uboot-rockchip-rk3588/patches/107-Automatically-detects-boot-devices-and-enters-downlo.patch new file mode 100644 index 0000000000..36a719471b --- /dev/null +++ b/package/boot/uboot-rockchip-rk3588/patches/107-Automatically-detects-boot-devices-and-enters-downlo.patch @@ -0,0 +1,123 @@ +From dba96c1ef19f889f2c2e5270bd2dfbb34ae65108 Mon Sep 17 00:00:00 2001 +From: baiywt +Date: Tue, 16 May 2023 19:48:21 +0800 +Subject: [PATCH] Automatically detects boot devices and enters download mode + if needed + +--- + arch/arm/dts/rk3588-orangepi-5-plus.dts | 1 + + arch/arm/mach-rockchip/boot_mode.c | 2 ++ + arch/arm/mach-rockchip/boot_rkimg.c | 12 ++++++++++++ + arch/arm/mach-rockchip/param.c | 3 +++ + include/configs/rockchip-common.h | 12 ++++++++++++ + 5 files changed, 30 insertions(+) + +diff --git a/arch/arm/dts/rk3588-orangepi-5-plus.dts b/arch/arm/dts/rk3588-orangepi-5-plus.dts +index cccecb82ff..66725aeea2 100644 +--- a/arch/arm/dts/rk3588-orangepi-5-plus.dts ++++ b/arch/arm/dts/rk3588-orangepi-5-plus.dts +@@ -163,6 +163,7 @@ + + &pcie3x4 { + u-boot,dm-pre-reloc; ++ vpcie3v3-supply = <&vcc3v3_pcie30>; + reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; + status = "okay"; + }; +diff --git a/arch/arm/mach-rockchip/boot_mode.c b/arch/arm/mach-rockchip/boot_mode.c +index 0436290a4b..8375dcc105 100644 +--- a/arch/arm/mach-rockchip/boot_mode.c ++++ b/arch/arm/mach-rockchip/boot_mode.c +@@ -226,6 +226,7 @@ int rockchip_get_boot_mode(void) + int setup_boot_mode(void) + { + char env_preboot[256] = {0}; ++ const char *devtype_num_set = "run rkimg_bootdev_download"; + + switch (rockchip_get_boot_mode()) { + case BOOT_MODE_BOOTLOADER: +@@ -251,6 +252,7 @@ int setup_boot_mode(void) + break; + #endif + case BOOT_MODE_LOADER: ++ run_command_list(devtype_num_set, -1, 0); + printf("enter Rockusb!\n"); + env_set("preboot", "setenv preboot; download"); + run_command("download", 0); +diff --git a/arch/arm/mach-rockchip/boot_rkimg.c b/arch/arm/mach-rockchip/boot_rkimg.c +index 72e2abceaa..7c60eb8da8 100644 +--- a/arch/arm/mach-rockchip/boot_rkimg.c ++++ b/arch/arm/mach-rockchip/boot_rkimg.c +@@ -50,6 +50,13 @@ __weak int rk_board_scan_bootdev(void) + return run_command_list(devtype_num_set, -1, 0); + } + ++__weak int rk_board_scan_bootdev_download(void) ++{ ++ const char *devtype_num_set = "run rkimg_bootdev_download"; ++ ++ return run_command_list(devtype_num_set, -1, 0); ++} ++ + static int bootdev_init(const char *devtype, const char *devnum) + { + #ifdef CONFIG_MMC +@@ -110,6 +117,10 @@ static void boot_devtype_init(void) + } + #endif + ++#ifdef CONFIG_NVME ++ pci_init(); ++#endif ++ + /* scan list */ + #ifdef CONFIG_MMC + mmc_initialize(gd->bd); +@@ -328,6 +339,7 @@ void setup_download_mode(void) + vbus = rockchip_u2phy_vbus_detect(); + #endif + if (vbus > 0) { ++ rk_board_scan_bootdev_download(); + printf("%sentering download mode...\n", + IS_ENABLED(CONFIG_CMD_ROCKUSB) ? + "" : "no rockusb, "); +diff --git a/arch/arm/mach-rockchip/param.c b/arch/arm/mach-rockchip/param.c +index 0f4f806486..6ea654b0e6 100644 +--- a/arch/arm/mach-rockchip/param.c ++++ b/arch/arm/mach-rockchip/param.c +@@ -257,6 +257,9 @@ int param_parse_atags_bootdev(char **devtype, char **devnum) + case BOOT_TYPE_MTD_BLK_SPI_NOR: + *devtype = "mtd"; + *devnum = "2"; ++#if (defined CONFIG_NVME || defined CONFIG_SCSI) ++ return -EINVAL; ++#endif + break; + #endif + default: +diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h +index 0a73268933..44de67c240 100644 +--- a/include/configs/rockchip-common.h ++++ b/include/configs/rockchip-common.h +@@ -183,6 +183,18 @@ + "setenv devtype spinor; setenv devnum 1;" \ + "else" \ + "setenv devtype ramdisk; setenv devnum 0;" \ ++ "fi; \0" \ ++ "rkimg_bootdev_download=" \ ++ "scsi scan;" \ ++ "nvme scan;" \ ++ "if mmc dev 1; then " \ ++ "setenv devtype mmc; setenv devnum 1;" \ ++ "elif mmc dev 0; then " \ ++ "setenv devtype mmc; setenv devnum 0;" \ ++ "elif nvme dev 0; then " \ ++ "setenv devtype nvme; setenv devnum 0;" \ ++ "elif scsi dev 0; then " \ ++ "setenv devtype scsi; setenv devnum 0;" \ + "fi; \0" + + #if defined(CONFIG_AVB_VBMETA_PUBLIC_KEY_VALIDATE) +-- +2.34.1 + diff --git a/package/kernel/linux/modules/netdevices.mk b/package/kernel/linux/modules/netdevices.mk index abb5693f73..1d56c55e16 100644 --- a/package/kernel/linux/modules/netdevices.mk +++ b/package/kernel/linux/modules/netdevices.mk @@ -659,6 +659,22 @@ endef $(eval $(call KernelPackage,r8169)) +define KernelPackage/r8125 + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=RealTek RTL-8125 PCI Gigabit Ethernet Adapter kernel support + DEPENDS:=@PCI_SUPPORT +kmod-mii +kmod-phy-realtek +LINUX_5_10:kmod-mdio-devres + KCONFIG:= \ + CONFIG_R8125 + FILES:=$(LINUX_DIR)/drivers/net/ethernet/realtek/r8125/r8125.ko + AUTOLOAD:=$(call AutoProbe,r8125) +endef + +define KernelPackage/r8125/description + Kernel modules for RealTek RTL-8125 PCI Gigabit Ethernet adapters +endef + +$(eval $(call KernelPackage,r8125)) + define KernelPackage/ne2k-pci SUBMENU:=$(NETWORK_DEVICES_MENU) diff --git a/target/linux/rockchip/armv8/base-files/etc/board.d/02_network b/target/linux/rockchip/armv8/base-files/etc/board.d/02_network index b656620718..55d7f50094 100644 --- a/target/linux/rockchip/armv8/base-files/etc/board.d/02_network +++ b/target/linux/rockchip/armv8/base-files/etc/board.d/02_network @@ -11,7 +11,8 @@ rockchip_setup_interfaces() friendlyarm,nanopi-r4s) ucidef_set_interfaces_lan_wan 'eth1' 'eth0' ;; - rockchip,rk3588s-orangepi-5) + rockchip,rk3588s-orangepi-5|\ + rockchip,rk3588-orangepi-5-plus) ucidef_set_interfaces_lan_wan 'eth0' 'eth1' ;; *) diff --git a/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity b/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity index c76e62a23a..822a4f14fc 100644 --- a/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity +++ b/target/linux/rockchip/armv8/base-files/etc/hotplug.d/net/40-net-smp-affinity @@ -37,5 +37,15 @@ friendlyarm,nanopi-r4s) set_interface_core 10 "eth0" set_interface_core 20 "eth1" ;; +rockchip,rk3588-orangepi-5-plus) + if [ -d /sys/class/net/eth1 ]; then + pci_bus=$(ls -ld /sys/class/net/eth1/device|awk '{print $NF}' |xargs basename) + if [ ${pci_bus} == "0004:41:00.0" ]; then + ip link set eth0 name eth"${pci_bus:0:4}" + ip link set eth1 name eth0 + ip link set eth"${pci_bus:0:4}" name eth1 + fi + fi + ;; esac diff --git a/target/linux/rockchip/image/armv8.mk b/target/linux/rockchip/image/armv8.mk index fba44ba43b..5cea361cbb 100644 --- a/target/linux/rockchip/image/armv8.mk +++ b/target/linux/rockchip/image/armv8.mk @@ -52,6 +52,16 @@ define Device/xunlong_orangepi-5 endef TARGET_DEVICES += xunlong_orangepi-5 +define Device/xunlong_orangepi-5-plus + DEVICE_VENDOR := XunLong + DEVICE_MODEL := Orange Pi 5 Plus + SOC := rk3588 + UBOOT_DEVICE_NAME := orangepi-5-plus-rk3588 + IMAGE/sysupgrade.img.gz := boot-common | boot-script orangepi-5 | pine64-img | gzip | append-metadata + DEVICE_PACKAGES := kmod-usb-net-rtl8152 kmod-r8125 kmod-iwlwifi +endef +TARGET_DEVICES += xunlong_orangepi-5-plus + define Device/xunlong_orangepi-5-sata DEVICE_VENDOR := XunLong DEVICE_MODEL := Orange Pi 5 For sata boot @@ -83,3 +93,25 @@ define Device/xunlong_orangepi-5-spi IMAGE/firmware.bin := append-kernel | pad-to $$$$(BLOCK_SIZE) | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(FIRMWARE_SIZE) endef TARGET_DEVICES += xunlong_orangepi-5-spi + +define Device/xunlong_orangepi-5-plus-spi + DEVICE_VENDOR := XunLong + DEVICE_MODEL := Orange Pi 5 Plus For Spi Boot + SOC := rk3588 + UBOOT_DEVICE_NAME := orangepi-5-plus-rk3588-spi + DEVICE_PACKAGES := kmod-usb-net-rtl8152 kmod-r8125 + KERNEL_LOADADDR = 0x00400000 + KERNEL := kernel-bin | lzma | uImage lzma + IMAGES := sysupgrade.bin uboot.bin dtb.bin firmware.bin + UBOOT_SIZE := 2048k + DTB_SIZE := 256k + FIRMWARE_SIZE := 14080k + IMAGE_SIZE := 16384k + BLOCK_SIZE := 4k + IMAGE/sysupgrade.bin := pine64-img-spi | pad-to $$$$(UBOOT_SIZE) | append-dtb | pad-to $$$$(DTB_SIZE) \ + | append-kernel | pad-to $$$$(BLOCK_SIZE) | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE) + IMAGE/uboot.bin := pine64-img-spi | pad-to $$$$(BLOCK_SIZE) + IMAGE/dtb.bin := append-dtb | pad-to $$$$(BLOCK_SIZE) + IMAGE/firmware.bin := append-kernel | pad-to $$$$(BLOCK_SIZE) | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(FIRMWARE_SIZE) +endef +TARGET_DEVICES += xunlong_orangepi-5-plus-spi