84 lines
2.8 KiB
Plaintext
84 lines
2.8 KiB
Plaintext
#
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Copyright (c) 2013-2023 Igor Pecovnik, igor@armbian.com
|
|
#
|
|
# This file is a part of the Armbian Build Framework
|
|
# https://github.com/armbian/build/
|
|
#
|
|
source "${BASH_SOURCE%/*}/include/sunxi64_common.inc"
|
|
|
|
[[ -z $CPUMIN ]] && CPUMIN=480000
|
|
[[ -z $CPUMAX ]] && CPUMAX=1512000
|
|
GOVERNOR=ondemand
|
|
|
|
case $BRANCH in
|
|
|
|
legacy)
|
|
LINUXFAMILY=sun50iw9-btt
|
|
KERNELSOURCE='https://github.com/niuyuling/linux.git'
|
|
declare -g KERNEL_MAJOR_MINOR="6.1" # Major and minor versions of this kernel.
|
|
KERNELBRANCH="branch:linux-6.1.y-cb1"
|
|
KERNELPATCHDIR="NEED-NOT"
|
|
BOOTSOURCE='https://github.com/niuyuling/u-boot.git'
|
|
BOOTBRANCH='branch:v2023.07-cb1'
|
|
BOOTPATCHDIR='NEED-NOT'
|
|
BOOTDELAY=-2
|
|
ASOUND_STATE='asound.state.sun50iw9-legacy'
|
|
|
|
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'
|
|
BOOTSCRIPT='boot-sun50i-next.cmd:boot.cmd'
|
|
KERNEL_DRIVERS_SKIP+=(driver_rtw88) # This is custom 6.1 driver, skip rtw88 to avoid patching failures
|
|
;;
|
|
|
|
current | edge)
|
|
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'
|
|
BOOTSCRIPT='boot-sun50i-next.cmd:boot.cmd'
|
|
|
|
# Stick to 6.2.16 kernel for edge until ws2812 driver is fixed
|
|
if [[ "$BRANCH" == "edge" ]]; then
|
|
LINUXFAMILY="sun50iw9-btt" # Use a separate kernel deb
|
|
LINUXCONFIG="linux-sunxi64-edge" # But the same kernel config, will be modified below in armbian_kernel_config__enable_ws2812_driver
|
|
KERNEL_MAJOR_MINOR="6.2"
|
|
KERNELBRANCH="tag:v6.2.16"
|
|
KERNELPATCHDIR="archive/sunxi-${KERNEL_MAJOR_MINOR}"
|
|
fi
|
|
|
|
;;
|
|
esac
|
|
|
|
# Enable ws2812 driver for edge kernel
|
|
function armbian_kernel_config__enable_ws2812_driver() {
|
|
if [[ "$BRANCH" == "edge" ]]; then
|
|
kernel_config_modifying_hashes+=("CONFIG_LEDS_WS2812=m")
|
|
if [[ -f .config ]]; then
|
|
kernel_config_set_m CONFIG_LEDS_WS2812
|
|
fi
|
|
fi
|
|
}
|
|
|
|
# This build requires busybox (and dos2unix)
|
|
function add_host_dependencies__sun50iw9_add_busybox_hostdep() {
|
|
display_alert "Adding busybox dep" "for ${BOARD} bootloader compile" "debug"
|
|
declare -g EXTRA_BUILD_DEPS="${EXTRA_BUILD_DEPS} busybox"
|
|
}
|
|
|
|
function family_tweaks_s() {
|
|
if [[ -f $SDCARD/lib/systemd/system/hdmi-audio.service ]]; then
|
|
chroot $SDCARD /bin/bash -c "systemctl --no-reload enable hdmi-audio.service >/dev/null 2>&1"
|
|
fi
|
|
}
|
|
|
|
function family_tweaks_bsp() {
|
|
install -m 755 $SRC/packages/blobs/sunxi/h616/inithdmiaudio $destination/usr/bin/
|
|
cp $SRC/packages/blobs/sunxi/h616/libtinyalsa.so $destination/usr/lib/
|
|
cp $SRC/packages/bsp/sunxi/hdmi-audio.service $destination/lib/systemd/system/
|
|
|
|
}
|