mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
109 lines
3.9 KiB
Plaintext
109 lines
3.9 KiB
Plaintext
enable_extension "rkbin-tools"
|
|
ARCH=armhf
|
|
BOOTSCRIPT="boot-rockchip.cmd:boot.cmd"
|
|
BOOTENV_FILE='rockchip.txt'
|
|
OVERLAY_PREFIX='rockchip'
|
|
UBOOT_TARGET_MAP=";;$SRC/packages/blobs/rockchip/rk3288_boot.bin u-boot-rockchip-with-spl.bin"
|
|
BOOTDELAY=1
|
|
if [[ $BOARD == miqi ]]; then
|
|
BOOTBRANCH='tag:v2017.11'
|
|
else
|
|
BOOTBRANCH='tag:v2022.04'
|
|
fi
|
|
|
|
SERIALCON=ttyS2
|
|
|
|
case $BRANCH in
|
|
|
|
legacy)
|
|
|
|
KERNELSOURCE='https://github.com/armbian/linux'
|
|
KERNELBRANCH='branch:stable-4.4-rk3288-linux'
|
|
KERNELDIR='linux-rockchip'
|
|
|
|
;;
|
|
|
|
current)
|
|
|
|
KERNELBRANCH='branch:linux-5.15.y'
|
|
|
|
;;
|
|
|
|
edge)
|
|
|
|
KERNELBRANCH='branch:linux-5.19.y'
|
|
;;
|
|
|
|
esac
|
|
|
|
CPUMIN="600000"
|
|
CPUMAX="1900000"
|
|
GOVERNOR="ondemand"
|
|
|
|
write_uboot_platform() {
|
|
dd if=/dev/zero of=$2 bs=1k count=1023 seek=1 status=noxfer > /dev/null 2>&1
|
|
dd if=$1/u-boot-rockchip-with-spl.bin of=$2 seek=64 conv=notrunc > /dev/null 2>&1
|
|
}
|
|
|
|
uboot_custom_postprocess() {
|
|
|
|
# xt-q8l-v10 requires the original DDR init blob because u-boot does not support LPDDR2 initialization
|
|
# for rk3288 SoC (binary is in sources/rkbin-tools/rk32 path). U-boot is configured to produce a TPL
|
|
# which is thrown away. SPL does some more initial configurations, expecially pinmux for power hold,
|
|
# so reset works more reliably. U-boot image is set to be at sector 0x200 on the eMMC/SD,
|
|
# so we burn it 0x200-0x40 because of the rockchip 0x40 sectors offset.
|
|
if [[ $BOARD == xt-q8l-v10 ]]; then
|
|
tools/mkimage -n rk3288 -T rksd -d $SRC/cache/sources/rkbin-tools/rk32/rk3288_ddr_400MHz_v1.08.bin u-boot-rockchip-with-spl.bin
|
|
cat spl/u-boot-spl-dtb.bin >> u-boot-rockchip-with-spl.bin
|
|
dd if=u-boot-dtb.img of=u-boot-rockchip-with-spl.bin seek=$((0x200 - 0x40)) conv=notrunc
|
|
else
|
|
tools/mkimage -n rk3288 -T rksd -d tpl/u-boot-tpl.bin u-boot-rockchip-with-spl.bin
|
|
cat spl/u-boot-spl-dtb.bin >> u-boot-rockchip-with-spl.bin
|
|
dd if=u-boot-dtb.img of=u-boot-rockchip-with-spl.bin seek=$((0x200 - 0x40)) conv=notrunc
|
|
fi
|
|
|
|
}
|
|
|
|
family_tweaks() {
|
|
if [[ $BOARD == tinkerboard ]]; then
|
|
chroot $SDCARD /bin/bash -c "apt-get -y -qq install rfkill bluetooth bluez bluez-tools"
|
|
[[ $BRANCH == legacy ]] && chroot $SDCARD /bin/bash -c "systemctl --no-reload enable tinker-bluetooth.service >/dev/null 2>&1"
|
|
sed -i -e "/#load-module module-alsa-sink/r $SRC/packages/bsp/rockchip/pulseaudio.txt" $SDCARD/etc/pulse/default.pa > /dev/null 2>&1
|
|
fi
|
|
|
|
}
|
|
|
|
family_tweaks_bsp() {
|
|
#Graphics and media
|
|
mkdir -p $destination/etc/udev/rules.d
|
|
mkdir -p $destination/usr/local/bin
|
|
cp $SRC/packages/bsp/rockchip/hdmi.rules $destination/etc/udev/rules.d
|
|
cp $SRC/packages/bsp/rockchip/50-hevc.rules $destination/etc/udev/rules.d
|
|
cp $SRC/packages/bsp/rockchip/50-mali.rules $destination/etc/udev/rules.d
|
|
cp $SRC/packages/bsp/rockchip/50-vpu.rules $destination/etc/udev/rules.d
|
|
cp $SRC/packages/bsp/rockchip/60-media.rules $destination/etc/udev/rules.d
|
|
install -m 755 $SRC/packages/bsp/rockchip/hdmi-hotplug $destination/usr/local/bin
|
|
|
|
# Peripheral access for specific groups
|
|
addgroup --system --quiet --gid 997 gpio
|
|
addgroup --system --quiet --gid 998 i2c
|
|
cp $SRC/packages/bsp/rockchip/70-gpio.rules $destination/etc/udev/rules.d
|
|
cp $SRC/packages/bsp/rockchip/71-i2c.rules $destination/etc/udev/rules.d
|
|
|
|
# Tinkerboard Bluetooth (only legacy kernel, mainline uses serdev)
|
|
if [[ $BRANCH == legacy ]]; then
|
|
install -m 755 $SRC/packages/bsp/rockchip/rtk_hciattach $destination/usr/bin
|
|
install -m 755 $SRC/packages/bsp/rockchip/start_bt.sh $destination/usr/local/bin
|
|
cp $SRC/packages/bsp/rockchip/tinker-bluetooth.service $destination/lib/systemd/system/
|
|
fi
|
|
|
|
# Sound
|
|
cp $SRC/packages/bsp/rockchip/asound.conf $destination/etc/
|
|
cp $SRC/packages/bsp/rockchip/89-pulseaudio-usb.rules $destination/etc/udev/rules.d
|
|
|
|
# AP6330 (BCM4330) firmware initramfs hook for in-kernel btbcm driver
|
|
mkdir -p $destination/etc/initramfs-tools/hooks
|
|
install -m 550 $SRC/packages/bsp/rockchip/ap6330-initramfs-firmware $destination/etc/initramfs-tools/hooks
|
|
|
|
}
|