Support Orange Pi 5 Ultra
This commit is contained in:
parent
b4268718f0
commit
50eeb374fe
|
|
@ -0,0 +1,15 @@
|
|||
# Rockchip RK3588 SoC
|
||||
BOARD_NAME="Orange Pi 5 Ultra"
|
||||
BOARDFAMILY="rockchip-rk3588"
|
||||
BOOTCONFIG="orangepi_5_ultra_defconfig"
|
||||
KERNEL_TARGET="legacy,current"
|
||||
BOOT_LOGO="desktop"
|
||||
BOOT_FDT_FILE="rockchip/rk3588-orangepi-5-ultra.dtb"
|
||||
BOOT_SCENARIO="spl-blobs"
|
||||
IMAGE_PARTITION_TABLE="gpt"
|
||||
BOOT_SUPPORT_SPI="yes"
|
||||
SKIP_BOOTSPLASH="yes" # Skip boot splash patch, conflicts with CONFIG_VT=yes
|
||||
DISTRIB_TYPE_LEGACY="bullseye bookworm bionic focal jammy"
|
||||
DISTRIB_TYPE_CURRENT="bullseye bookworm jammy"
|
||||
BOOTFS_TYPE="fat"
|
||||
REVISION="1.0.0"
|
||||
|
|
@ -62,7 +62,8 @@ elif [[ $BOARDFAMILY == "rockchip-rk3588" ]]; then
|
|||
|
||||
BOOT_SCENARIO="${BOOT_SCENARIO:=spl-blobs}"
|
||||
|
||||
if [[ "${BOARD}x" =~ orangepi5maxx|orangepi5prox|orangepi5plusx|orangepi5x ]]; then
|
||||
if [[ "${BOARD}x" =~ orangepi5maxx|orangepi5prox|orangepi5plusx|orangepi5x|orangepi5bx|orangepi5ultrax ]]; then
|
||||
|
||||
DDR_BLOB="${DDR_BLOB:=rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.16.bin}"
|
||||
BL31_BLOB='rk35/rk3588_bl31_v1.45_20240422.elf'
|
||||
else
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ case $BRANCH in
|
|||
KERNELPATCHDIR='rockchip-rk3588-legacy'
|
||||
LINUXCONFIG="linux-rockchip-rk3588-legacy"
|
||||
[[ ${BOARD} == orangepi5pro ]] && LINUXCONFIG="linux-rockchip-rk3588-legacy-opi5pro"
|
||||
[[ ${BOARD} == orangepi5max ]] && LINUXCONFIG="linux-rockchip-rk3588-legacy-opi5max"
|
||||
[[ ${BOARD} =~ orangepi5max|orangepi5ultra ]] && LINUXCONFIG="linux-rockchip-rk3588-legacy-opi5max"
|
||||
[[ ${BOARD} == orangepicm5-tablet ]] && LINUXCONFIG="linux-rockchip-rk3588-legacy-opicm5-tablet"
|
||||
|
||||
if [[ "${build_rt_image}" =~ yes ]]; then
|
||||
|
|
@ -39,7 +39,7 @@ case $BRANCH in
|
|||
KERNELPATCHDIR='rockchip-rk3588-current'
|
||||
LINUXCONFIG="linux-rockchip-rk3588-current"
|
||||
[[ ${BOARD} == orangepicm5-tablet ]] && LINUXCONFIG="linux-rockchip-rk3588-current-opicm5-tablet"
|
||||
[[ ${BOARD} =~ orangepi5pro|orangepi5max ]] && LINUXCONFIG="linux-rockchip-rk3588-current-opi5pro"
|
||||
[[ ${BOARD} =~ orangepi5pro|orangepi5max|orangepi5ultra ]] && LINUXCONFIG="linux-rockchip-rk3588-current-opi5pro"
|
||||
|
||||
KERNEL_USE_GCC='> 10.0'
|
||||
esac
|
||||
|
|
@ -113,7 +113,7 @@ family_tweaks_s() {
|
|||
rsync -a --chown=root:root "${EXTER}"/packages/bsp/rk3588/* ${SDCARD}/
|
||||
fi
|
||||
|
||||
if [[ ${BOARD} =~ orangepi5plus|orangepi5max|orangepi900 ]]; then
|
||||
if [[ ${BOARD} =~ orangepi5plus|orangepi5max|orangepi900|orangepi5ultra ]]; then
|
||||
|
||||
if [[ ${SELECTED_CONFIGURATION} == desktop && ${DESKTOP_ENVIRONMENT} == kde-plasma ]]; then
|
||||
rsync -a --chown=root:root --exclude=etc/pulse "${EXTER}"/packages/bsp/orangepi5plus/* ${SDCARD}/
|
||||
|
|
@ -172,6 +172,12 @@ family_tweaks_s() {
|
|||
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-hdmi1-sound", ENV{SOUND_DESCRIPTION}="HDMI1 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
|
||||
|
||||
elif [[ "${BOARD}x" == orangepi5ultrax ]]; then
|
||||
|
||||
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-hdmiin-sound", ENV{SOUND_DESCRIPTION}="HDMI-In 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
|
||||
fi
|
||||
|
||||
# Realtek 8811CU/8821CU usb modeswitch support
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ prepare_board() {
|
|||
rockpro64|renegade-elite|pinebook-pro|station-p1)
|
||||
BOARDFAMILY=rk3399
|
||||
;;
|
||||
orangepi5|orangepicm5|orangepicm5-tablet|orangepi5b|orangepi5plus|orangepi5pro|orangepi5max|orangepitab|orangepi900)
|
||||
orangepi5|orangepicm5|orangepicm5-tablet|orangepi5b|orangepi5plus|orangepi5pro|orangepi5max|orangepi5ultra|orangepitab|orangepi900)
|
||||
[[ $BOARD =~ orangepi5|orangepi5b ]] && echo host > /sys/kernel/debug/usb/fc000000.usb/mode
|
||||
if [[ $BOARD =~ orangepicm5 ]]; then
|
||||
while true; do
|
||||
|
|
@ -204,7 +204,7 @@ prepare_board() {
|
|||
brcm_patchram_plus --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 \
|
||||
--baudrate 1500000 --patchram /lib/firmware/BCM4345C0.hcd /dev/ttyS9 &
|
||||
|
||||
elif [[ $BOARD =~ orangepi5max ]]; then
|
||||
elif [[ $BOARD =~ orangepi5max|orangepi5ultra ]]; then
|
||||
|
||||
rfkill unblock all
|
||||
brcm_patchram_plus --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 \
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ function onCtrlC () {
|
|||
exit 0
|
||||
}
|
||||
|
||||
source /etc/orangepi-release
|
||||
|
||||
device_id=$(v4l2-ctl --list-devices | grep -A1 hdmirx | grep -v hdmirx | awk -F ' ' '{print $NF}')
|
||||
v4l2-ctl -d $device_id --set-dv-bt-timings query 2>&1 > /dev/null
|
||||
width=$(v4l2-ctl -d $device_id --get-dv-timings | grep "Active width" |awk -F ' ' '{print $NF}')
|
||||
|
|
@ -29,10 +31,16 @@ else
|
|||
|
||||
fi
|
||||
|
||||
gst-launch-1.0 alsasrc device=hw:${hdmiin_card},0 ! audioconvert ! audioresample ! queue \
|
||||
if [[ ${BOARD} == orangepi5ultra ]]; then
|
||||
gst-launch-1.0 alsasrc device=hw:${hdmiin_card},0 ! audioconvert ! audioresample ! queue \
|
||||
! tee name=t ! queue ! alsasink device="hw:${hdmi1_card},0" \
|
||||
t. ! queue ! alsasink device="hw:${es8388_card},0" &
|
||||
else
|
||||
gst-launch-1.0 alsasrc device=hw:${hdmiin_card},0 ! audioconvert ! audioresample ! queue \
|
||||
! tee name=t ! queue ! alsasink device="hw:${hdmi0_card},0" \
|
||||
t. ! queue ! alsasink device="hw:${hdmi1_card},0" \
|
||||
t. ! queue ! alsasink device="hw:${es8388_card},0" &
|
||||
fi
|
||||
|
||||
while true
|
||||
do
|
||||
|
|
|
|||
|
|
@ -11,6 +11,9 @@ source /etc/orangepi-release
|
|||
|
||||
card=$(aplay -l | grep "es8388" | cut -d ':' -f 1 | cut -d ' ' -f 2)
|
||||
hdmi0_card=$(aplay -l | grep "hdmi0" | cut -d ':' -f 1 | cut -d ' ' -f 2)
|
||||
if [[ ${BOARD} == orangepi5ultra ]]; then
|
||||
hdmi1_card=$(aplay -l | grep "hdmi1" | cut -d ':' -f 1 | cut -d ' ' -f 2)
|
||||
fi
|
||||
|
||||
if [[ $type == "main" ]]; then
|
||||
|
||||
|
|
@ -53,4 +56,8 @@ arecord -D hw:${card},0 -d 5 -f cd -t wav /tmp/test.wav
|
|||
|
||||
echo "Start playing"
|
||||
aplay /tmp/test.wav -D hw:${card},0
|
||||
aplay /tmp/test.wav -D hw:${hdmi0_card},0
|
||||
if [[ ${BOARD} == orangepi5ultra ]]; then
|
||||
aplay /tmp/test.wav -D hw:${hdmi1_card},0
|
||||
else
|
||||
aplay /tmp/test.wav -D hw:${hdmi0_card},0
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -241,6 +241,7 @@ if [[ -z $BOARD ]]; then
|
|||
#options+=("orangepi900" "Rockchip RK3588 octa core 4-16GB RAM 2.5GBE USB3 USB-C WiFi/BT NVMe")
|
||||
options+=("orangepi5pro" "Rockchip RK3588S octa core 4-16GB RAM GBE USB3 WiFi/BT NVMe eMMC")
|
||||
options+=("orangepi5max" "Rockchip RK3588 octa core 4-16GB RAM 2.5GBE USB3 WiFi/BT NVMe eMMC")
|
||||
options+=("orangepi5ultra" "Rockchip RK3588 octa core 4-16GB RAM 2.5GBE USB3 WiFi/BT NVMe eMMC")
|
||||
options+=("orangepi5plus" "Rockchip RK3588 octa core 4-32GB RAM 2.5GBE USB3 USB-C WiFi/BT NVMe eMMC")
|
||||
options+=("orangepicm4" "Rockchip RK3566 quad core 2-8GB RAM GBE eMMC USB3 NvMe WiFi/BT")
|
||||
options+=("orangepi3b" "Rockchip RK3566 quad core 2-8GB RAM GBE eMMC USB3 NvMe WiFi/BT")
|
||||
|
|
|
|||
Loading…
Reference in New Issue