Files
orangepi-build/external/config/sources/families/sun50iw9.conf
2024-07-10 14:52:44 +08:00

161 lines
5.6 KiB
Plaintext

source "${BASH_SOURCE%/*}/include/sunxi64_common.inc"
LINUXFAMILY=sun50iw9
[[ -z $CPUMIN ]] && CPUMIN=480000
[[ -z $CPUMAX ]] && CPUMAX=1512000
GOVERNOR=ondemand
ASOUND_STATE=asound.state.sun50iw9-${BRANCH}
case $BRANCH in
legacy)
KERNELBRANCH="branch:orange-pi-4.9-sun50iw9"
BOOTBRANCH='branch:v2018.05-sun50iw9'
KERNELPATCHDIR=${BOARDFAMILY}-${BRANCH}
UBOOT_TARGET_MAP=";;dts/${BOARD}-u-boot.dts boot0_sdcard.fex boot_package.fex"
UBOOT_COMPILER="arm-linux-gnueabi-"
UBOOT_USE_GCC='> 6.0'
BOOTENV_FILE=sun50iw9-default.txt
BOOTSCRIPT='boot-sun50iw9.cmd:boot.cmd'
KERNEL_USE_GCC='> 10.0'
OFFSET=20
ATFSOURCE=""
ATF_COMPILE="no"
INITRD_ARCH=arm
;;
current)
OVERLAY_PREFIX='sun50i-h616'
KERNELBRANCH="branch:orange-pi-5.4-sun50iw9"
#BOOTBRANCH='branch:u-boot-2018'
[[ $BOARD =~ orangepizero2 ]] && BOOTBRANCH='branch:v2018.05-sun50iw9'
[[ $BOARD =~ orangepizero3|orangepir1b|orangepizero2w ]] && BOOTBRANCH='branch:v2018.05-h618'
KERNELPATCHDIR=${BOARDFAMILY}-${BRANCH}
UBOOT_TARGET_MAP=";;dts/${BOARD}-u-boot.dts boot0_sdcard.fex boot_package.fex"
UBOOT_COMPILER="arm-linux-gnueabi-"
UBOOT_USE_GCC='> 6.0'
BOOTENV_FILE=sun50iw9-default.txt
BOOTSCRIPT='boot-sun50iw9.cmd:boot.cmd'
KERNEL_USE_GCC='> 10.0'
OFFSET=20
ATFSOURCE=""
ATF_COMPILE="no"
INITRD_ARCH=arm
;;
next)
OVERLAY_PREFIX='sun50i-h616'
ATFSOURCE='https://github.com/ARM-software/arm-trusted-firmware'
ATFBRANCH='branch:master'
ATF_PLAT="sun50i_h616";
ATF_TARGET_MAP='PLAT=sun50i_h616 DEBUG=1 bl31;;build/sun50i_h616/debug/bl31.bin'
UBOOT_TARGET_MAP=';;u-boot-sunxi-with-spl.bin'
[[ $BOARD =~ orangepizero2 ]] && BOOTBRANCH='branch:v2021.10-sunxi'
BOOTSCRIPT='boot-sun50iw9-next.cmd:boot.cmd'
if [[ $BOARD =~ orangepizero3|orangepir1b|orangepizero2w ]]; then
BOOTBRANCH='branch:v2024.01'
fi
## For Linux5.16.y
#KERNELBRANCH="branch:orange-pi-5.16-sunxi64"
#LINUXCONFIG="linux-5.16-sun50iw9-current"
## For Linu6.1.y
KERNELBRANCH="branch:orange-pi-6.1-sun50iw9"
LINUXCONFIG="linux-6.1-sun50iw9-next"
;;
esac
family_tweaks_s()
{
rsync -a --chown=root:root "${EXTER}"/packages/bsp/overlays_arm64/* ${SDCARD}/
chroot $SDCARD /bin/bash -c "apt-get -y -qq install rfkill bluetooth bluez bluez-tools ir-keytable tree lirc v4l-utils dnsmasq" >/dev/null 2>&1
if [[ $BUILD_DESKTOP == yes ]]; then
sed -i "s/auto-profiles = yes/auto-profiles = no/" ${SDCARD}/usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf
if [[ $BRANCH =~ legacy ]]; then
echo "load-module module-alsa-sink device=hw:0,0 sink_name=AudioCodec-Playback sink_properties=\"device.description='Audio Codec'\"" >> ${SDCARD}/etc/pulse/default.pa
echo "load-module module-alsa-sink device=hw:1,0 sink_name=HDMI-Playback sink_properties=\"device.description='HDMI Audio'\"" >> ${SDCARD}/etc/pulse/default.pa
elif [[ $BRANCH =~ current|next ]]; then
echo "load-module module-alsa-sink device=hw:0,0 sink_name=AudioCodec-Playback sink_properties=\"device.description='Audio Codec'\"" >> ${SDCARD}/etc/pulse/default.pa
echo "load-module module-alsa-sink device=hw:2,0 sink_name=HDMI-Playback sink_properties=\"device.description='HDMI Audio'\"" >> ${SDCARD}/etc/pulse/default.pa
fi
fi
if [[ ${BRANCH} == current ]]; then
sed -i 's/^debug_uart.*/debug_uart=ttyAS0/' "${SDCARD}"/boot/orangepiEnv.txt
SERIALCON="ttyAS0"
fi
install_wiringop
install_docker
}
family_tweaks_bsp()
{
install -m 755 $EXTER/packages/blobs/bt/hciattach/hciattach_opi_${ARCH} $destination/usr/bin/hciattach_opi
if [[ ${BOARD} == orangepizero2w ]]; then
install -m 755 $EXTER/packages/bsp/h618/sun50i-h618-lradc-keys-${BRANCH}.dts $destination/usr/src/sun50i-h618-lradc-keys.dts
fi
}
uboot_custom_postprocess()
{
if [[ ${BRANCH} =~ legacy|current && $(dpkg --print-architecture) == amd64 ]]; then
rm dts/*.dts sys_config ${BOARD}-u-boot-${BRANCH}.dtb -r >/dev/null 2>&1
export PATH=${EXTER}/packages/pack-uboot/${BOARDFAMILY}/tools/:$PATH
cp ${EXTER}/packages/pack-uboot/${BOARDFAMILY}/bin/* . -r
cp sys_config/sys_config_${BOARD}.fex sys_config.fex
cp u-boot.bin u-boot.fex
if [[ $KERNELBRANCH == "branch:orange-pi-5.4-sun50iw9" ]]; then
mv monitor.fex-linux5.4 monitor.fex
mv boot_package.cfg-linux5.4 boot_package.cfg
mv boot0_sdcard.fex-linux5.4 boot0_sdcard.fex
fi
cp dts/${BOARD}-u-boot-${BRANCH}.dts dts/${BOARD}-u-boot.dts
# make u-boot dtb
$EXTER/packages/pack-uboot/${BOARDFAMILY}/tools/dtc -p 2048 -W no-unit_address_vs_reg -@ -O dtb -o ${BOARD}-u-boot.dtb -b 0 dts/${BOARD}-u-boot-${BRANCH}.dts >/dev/null 2>&1
[[ ! -f ${BOARD}-u-boot.dtb ]] && exit_with_error "dts compilation failed"
busybox unix2dos sys_config.fex
$EXTER/packages/pack-uboot/${BOARDFAMILY}/tools/script sys_config.fex >/dev/null 2>&1
cp ${BOARD}-u-boot.dtb sunxi.fex
$EXTER/packages/pack-uboot/${BOARDFAMILY}/tools/update_dtb sunxi.fex 4096 >/dev/null 2>&1
$EXTER/packages/pack-uboot/${BOARDFAMILY}/tools/update_uboot -no_merge u-boot.fex sys_config.bin >/dev/null 2>&1
update_uboot -no_merge u-boot.bin sys_config.bin >/dev/null 2>&1
#pack boot package
busybox unix2dos boot_package.cfg
$EXTER/packages/pack-uboot/${BOARDFAMILY}/tools/dragonsecboot -pack boot_package.cfg >/dev/null 2>&1
if [[ ${MERGE_UBOOT} == yes ]]; then
display_alert "Merge u-boot" "u-boot-${BOARD}-merged.bin" "info"
dd if=/dev/zero of=u-boot-${BOARD}-merged.bin bs=1M count=20 > /dev/null 2>&1
dd if=boot0_sdcard.fex of=u-boot-${BOARD}-merged.bin bs=8k seek=1 conv=fsync > /dev/null 2>&1
dd if=boot_package.fex of=u-boot-${BOARD}-merged.bin bs=8k seek=2050 conv=fsync > /dev/null 2>&1
mv u-boot-${BOARD}-merged.bin ${DEB_STORAGE}/u-boot/
fi
fi
}