From de82b6ffd335f84ce696ba6e0627b85a144b73af Mon Sep 17 00:00:00 2001 From: Joshua Riek Date: Sat, 11 May 2024 07:23:07 -0400 Subject: [PATCH] Add initial support for the Orange Pi 5 Pro (#6506) * Add initial support for the Orange Pi 5 Pro * Enable MotorComm network driver in rk35xx legacy and vendor kernel config * Resolve conflicts --------- Co-authored-by: Igor Pecovnik --- config/boards/orangepi5pro.wip | 62 ++++++++++++++++++++++++ config/kernel/linux-rk35xx-legacy.config | 1 + 2 files changed, 63 insertions(+) create mode 100644 config/boards/orangepi5pro.wip diff --git a/config/boards/orangepi5pro.wip b/config/boards/orangepi5pro.wip new file mode 100644 index 0000000000..227923d013 --- /dev/null +++ b/config/boards/orangepi5pro.wip @@ -0,0 +1,62 @@ +# Rockchip RK3588S octa core 4/8/16GB RAM SoC GBE USB3 WiFi/BT NVMe eMMC +BOARD_NAME="Orange Pi 5 Pro" +BOARDFAMILY="rockchip-rk3588" +BOARD_MAINTAINER="" +BOOTCONFIG="orangepi_5_pro_defconfig" # vendor name, not standard, see hook below, set BOOT_SOC below to compensate +BOOTCONFIG_SATA="orangepi_5_pro_sata_defconfig" +BOOT_SOC="rk3588" +KERNEL_TARGET="legacy,vendor" +KERNEL_TEST_TARGET="legacy" +FULL_DESKTOP="yes" +BOOT_LOGO="desktop" +BOOT_FDT_FILE="rockchip/rk3588s-orangepi-5-pro.dtb" +BOOT_SCENARIO="spl-blobs" +BOOT_SUPPORT_SPI="yes" +BOOT_SPI_RKSPI_LOADER="yes" +IMAGE_PARTITION_TABLE="gpt" +BOOTFS_TYPE="fat" +DDR_BLOB='rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.16.bin' +BL31_BLOB='rk35/rk3588_bl31_v1.45.elf' + +function post_family_tweaks__orangepi5pro_naming_audios() { + display_alert "$BOARD" "Renaming orangepi5pro audios" "info" + + mkdir -p $SDCARD/etc/udev/rules.d/ + echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-hdmi0-sound", ENV{SOUND_DESCRIPTION}="HDMI0 Audio"' > $SDCARD/etc/udev/rules.d/90-naming-audios.rules + echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-dp0-sound", ENV{SOUND_DESCRIPTION}="DP0 Audio"' >> $SDCARD/etc/udev/rules.d/90-naming-audios.rules + echo 'SUBSYSTEM=="sound", ENV{ID_PATH}=="platform-es8388-sound", ENV{SOUND_DESCRIPTION}="ES8388 Audio"' >> $SDCARD/etc/udev/rules.d/90-naming-audios.rules + + return 0 +} + +function post_family_config_branch_legacy__orangepi5pro_uboot_add_sata_target() { + display_alert "$BOARD" "Configuring ($BOARD) standard and sata uboot target map" "info" + + UBOOT_TARGET_MAP=" + BL31=$RKBIN_DIR/$BL31_BLOB $BOOTCONFIG spl/u-boot-spl.bin u-boot.dtb u-boot.itb;;idbloader.img u-boot.itb rkspi_loader.img + BL31=$RKBIN_DIR/$BL31_BLOB $BOOTCONFIG_SATA spl/u-boot-spl.bin u-boot.dtb u-boot.itb;; rkspi_loader_sata.img + " +} + +function post_uboot_custom_postprocess__create_sata_spi_image() { + display_alert "$BOARD" "Create rkspi_loader_sata.img" "info" + + dd if=/dev/zero of=rkspi_loader_sata.img bs=1M count=0 seek=16 + /sbin/parted -s rkspi_loader_sata.img mklabel gpt + /sbin/parted -s rkspi_loader_sata.img unit s mkpart idbloader 64 7167 + /sbin/parted -s rkspi_loader_sata.img unit s mkpart vnvm 7168 7679 + /sbin/parted -s rkspi_loader_sata.img unit s mkpart reserved_space 7680 8063 + /sbin/parted -s rkspi_loader_sata.img unit s mkpart reserved1 8064 8127 + /sbin/parted -s rkspi_loader_sata.img unit s mkpart uboot_env 8128 8191 + /sbin/parted -s rkspi_loader_sata.img unit s mkpart reserved2 8192 16383 + /sbin/parted -s rkspi_loader_sata.img unit s mkpart uboot 16384 32734 + dd if=idbloader.img of=rkspi_loader_sata.img seek=64 conv=notrunc + dd if=u-boot.itb of=rkspi_loader_sata.img seek=16384 conv=notrunc +} + +# Override family config for this board; let's avoid conditionals in family config. +function post_family_config__orangepi5pro_use_vendor_uboot() { + BOOTSOURCE='https://github.com/orangepi-xunlong/u-boot-orangepi.git' + BOOTBRANCH='branch:v2017.09-rk3588' + BOOTPATCHDIR="legacy/u-boot-orangepi5-rk3588" +} diff --git a/config/kernel/linux-rk35xx-legacy.config b/config/kernel/linux-rk35xx-legacy.config index 0bb324d76e..a79fc3429f 100644 --- a/config/kernel/linux-rk35xx-legacy.config +++ b/config/kernel/linux-rk35xx-legacy.config @@ -2500,6 +2500,7 @@ CONFIG_NET_VENDOR_AQUANTIA=y # CONFIG_AQTION is not set # CONFIG_NET_VENDOR_ARC is not set # CONFIG_NET_VENDOR_ATHEROS is not set +CONFIG_NET_VENDOR_MOTORCOMM=y CONFIG_NET_VENDOR_AURORA=y # CONFIG_AURORA_NB8800 is not set # CONFIG_NET_VENDOR_BROADCOM is not set