BOOTSCRIPT="boot-rockchip.cmd:boot.cmd" BOOTENV_FILE='rockchip-default.txt' OVERLAY_PREFIX='rockchip' UBOOT_TARGET_MAP=";;$SRC/packages/blobs/rockchip/rk3288_boot.bin u-boot-rockchip-with-spl.bin" UBOOT_USE_GCC='> 6.4' BOOTDELAY=0 BOOTSOURCE=$MAINLINE_UBOOT_SOURCE BOOTDIR=$MAINLINE_UBOOT_DIR if [[ $BOARD == miqi ]]; then BOOTBRANCH='tag:v2017.11' else BOOTBRANCH='tag:v2018.11' fi SERIALCON=ttyS2 case $BRANCH in default) KERNELSOURCE='https://github.com/rockchip-linux/kernel.git' KERNELBRANCH='branch:stable-4.4-rk3288-linux' KERNELPATCHDIR='rockchip-default' KERNELDIR='linux-rockchip' KERNEL_USE_GCC='> 7.0' ;; next) KERNELSOURCE=$MAINLINE_KERNEL_SOURCE KERNELBRANCH='branch:linux-4.19.y' KERNELDIR=$MAINLINE_KERNEL_DIR KERNEL_USE_GCC='> 7.0' ;; dev) KERNELSOURCE=$MAINLINE_KERNEL_SOURCE KERNELBRANCH='branch:linux-5.2.y' KERNELDIR=$MAINLINE_KERNEL_DIR KERNEL_USE_GCC='> 7.0' ;; 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.03.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 spl/u-boot-spl-dtb.bin u-boot-rockchip-with-spl.bin cat u-boot-dtb.bin >> u-boot-rockchip-with-spl.bin fi } family_tweaks() { if [[ $BOARD == tinkerboard ]]; then chroot $SDCARD /bin/bash -c "apt-get -y -qq install rfkill bluetooth bluez bluez-tools" 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 if [[ $BOARD == xt-q8l-v10 ]]; then echo "fdtfile=rk3288-xt-q8l-v10.dtb" >> $SDCARD/boot/armbianEnv.txt mkdir -p $SDCARD/etc/firmware/ ln -sf /lib/firmware/brcm/BCM4330B1.hcd $SDCARD/etc/firmware chroot $SDCARD /bin/bash -c "systemctl --no-reload enable ap6330-bluetooth.service >/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 # Bluetooth 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/ # 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 bluetooth (required for xt-q8l-v10) cp $SRC/packages/bsp/rockchip/ap6330-bluetooth.service $destination/lib/systemd/system/ }