diff --git a/.github/workflows/build-armbian.yml b/.github/workflows/build-armbian.yml index 32e6bab89a..e334c7b155 100644 --- a/.github/workflows/build-armbian.yml +++ b/.github/workflows/build-armbian.yml @@ -51,6 +51,7 @@ on: - h66k - h68k - eaidk-610 + - king3399 - beikeyun - l1pro armbian_kernel: diff --git a/build-armbian/armbian-files/common-files/etc/model_database.conf b/build-armbian/armbian-files/common-files/etc/model_database.conf index 49dc4c8998..000616e734 100644 --- a/build-armbian/armbian-files/common-files/etc/model_database.conf +++ b/build-armbian/armbian-files/common-files/etc/model_database.conf @@ -173,6 +173,7 @@ r204 :H68K :rk3568 :rk3568-opc-h68k.dtb # 1.ID 2.MODEL 3.SOC 4.FDTFILE 5.UBOOT_OVERLOAD 6.MAINLINE_UBOOT 7.BOOTLOADER_IMG 8.KERNEL_BRANCH 9.PLATFORM 10.FAMILY 11.BOOT_CONF 12.BOARD 13.BUILD #-------+----------------------------+---------+---------------------------------------+-----------------------------+------------------------------------+--------------------------------+----------------+-----------+--------------+----------------+----------------+------- r301 :EAIDK-610 :rk3399 :rk3399-eaidk-610.dtb :NA :u-boot.itb :idbloader.img :6.x.y :rockchip :rk3399 :armbianEnv.txt :eaidk-610 :yes +r302 :KING3399 :rk3399 :rk3399-king3399.dtb :NA :u-boot.itb :idbloader.img :6.x.y :rockchip :rk3399 :armbianEnv.txt :eaidk-610 :yes # Rockchip RK3328 Family diff --git a/build-armbian/armbian-files/platform-files/rockchip/bootfs/king3399/armbianEnv.txt b/build-armbian/armbian-files/platform-files/rockchip/bootfs/king3399/armbianEnv.txt new file mode 100644 index 0000000000..4719475d0f --- /dev/null +++ b/build-armbian/armbian-files/platform-files/rockchip/bootfs/king3399/armbianEnv.txt @@ -0,0 +1,8 @@ +verbosity=7 +bootlogo=false +overlay_prefix=rockchip +fdtfile=rockchip/rk3399-king3399.dtb +rootdev=/dev/mmcblk0p2 +rootfstype=ext4 +rootflags=rw,errors=remount-ro +docker_optimizations=on \ No newline at end of file diff --git a/build-armbian/armbian-files/platform-files/rockchip/bootfs/king3399/boot.bmp b/build-armbian/armbian-files/platform-files/rockchip/bootfs/king3399/boot.bmp new file mode 100644 index 0000000000..3663f63680 Binary files /dev/null and b/build-armbian/armbian-files/platform-files/rockchip/bootfs/king3399/boot.bmp differ diff --git a/build-armbian/armbian-files/platform-files/rockchip/bootfs/king3399/boot.cmd b/build-armbian/armbian-files/platform-files/rockchip/bootfs/king3399/boot.cmd new file mode 100644 index 0000000000..ceedc9cbf6 --- /dev/null +++ b/build-armbian/armbian-files/platform-files/rockchip/bootfs/king3399/boot.cmd @@ -0,0 +1,77 @@ +# DO NOT EDIT THIS FILE +# +# Please edit /boot/armbianEnv.txt to set supported parameters +# + +setenv load_addr "0x9000000" +setenv overlay_error "false" +# default values +setenv rootdev "/dev/mmcblk0p1" +setenv verbosity "1" +setenv console "both" +setenv bootlogo "false" +setenv rootfstype "ext4" +setenv docker_optimizations "on" +setenv earlycon "off" + +echo "Boot script loaded from ${devtype} ${devnum}" + +if test -e ${devtype} ${devnum} ${prefix}armbianEnv.txt; then + load ${devtype} ${devnum} ${load_addr} ${prefix}armbianEnv.txt + env import -t ${load_addr} ${filesize} +fi + +if test "${logo}" = "disabled"; then setenv logo "logo.nologo"; fi + +if test "${console}" = "display" || test "${console}" = "both"; then setenv consoleargs "console=tty1"; fi +if test "${console}" = "serial" || test "${console}" = "both"; then setenv consoleargs "console=ttyS2,1500000 ${consoleargs}"; fi +if test "${earlycon}" = "on"; then setenv consoleargs "earlycon ${consoleargs}"; fi +if test "${bootlogo}" = "true"; then + setenv consoleargs "splash plymouth.ignore-serial-consoles ${consoleargs}" +else + setenv consoleargs "splash=verbose ${consoleargs}" +fi + +# get PARTUUID of first partition on SD/eMMC the boot script was loaded from +if test "${devtype}" = "mmc"; then part uuid mmc ${devnum}:1 partuuid; fi + +setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} ${consoleargs} consoleblank=0 loglevel=${verbosity} ubootpart=${partuuid} usb-storage.quirks=${usbstoragequirks} ${extraargs} ${extraboardargs}" + +if test "${docker_optimizations}" = "on"; then setenv bootargs "${bootargs} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1"; fi + +load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}uInitrd +load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}Image + +load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile} +fdt addr ${fdt_addr_r} +fdt resize 65536 +for overlay_file in ${overlays}; do + if load ${devtype} ${devnum} ${load_addr} ${prefix}dtb/rockchip/overlay/${overlay_prefix}-${overlay_file}.dtbo; then + echo "Applying kernel provided DT overlay ${overlay_prefix}-${overlay_file}.dtbo" + fdt apply ${load_addr} || setenv overlay_error "true" + fi +done +for overlay_file in ${user_overlays}; do + if load ${devtype} ${devnum} ${load_addr} ${prefix}overlay-user/${overlay_file}.dtbo; then + echo "Applying user provided DT overlay ${overlay_file}.dtbo" + fdt apply ${load_addr} || setenv overlay_error "true" + fi +done +if test "${overlay_error}" = "true"; then + echo "Error applying DT overlays, restoring original DT" + load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile} +else + if load ${devtype} ${devnum} ${load_addr} ${prefix}dtb/rockchip/overlay/${overlay_prefix}-fixup.scr; then + echo "Applying kernel provided DT fixup script (${overlay_prefix}-fixup.scr)" + source ${load_addr} + fi + if test -e ${devtype} ${devnum} ${prefix}fixup.scr; then + load ${devtype} ${devnum} ${load_addr} ${prefix}fixup.scr + echo "Applying user provided fixup script (fixup.scr)" + source ${load_addr} + fi +fi +booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r} + +# Recompile with: +# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr diff --git a/build-armbian/armbian-files/platform-files/rockchip/bootfs/king3399/boot.scr b/build-armbian/armbian-files/platform-files/rockchip/bootfs/king3399/boot.scr new file mode 100644 index 0000000000..707eef35e4 Binary files /dev/null and b/build-armbian/armbian-files/platform-files/rockchip/bootfs/king3399/boot.scr differ diff --git a/build-armbian/armbian-files/platform-files/rockchip/bootfs/king3399/dtb/rk3399-king3399.dtb b/build-armbian/armbian-files/platform-files/rockchip/bootfs/king3399/dtb/rk3399-king3399.dtb new file mode 100644 index 0000000000..eb126b318f Binary files /dev/null and b/build-armbian/armbian-files/platform-files/rockchip/bootfs/king3399/dtb/rk3399-king3399.dtb differ diff --git a/build-armbian/u-boot/rockchip/king3399/idbloader.img b/build-armbian/u-boot/rockchip/king3399/idbloader.img new file mode 100644 index 0000000000..bafe39a3a1 Binary files /dev/null and b/build-armbian/u-boot/rockchip/king3399/idbloader.img differ diff --git a/build-armbian/u-boot/rockchip/king3399/rk3399_loader_v1.27.126.bin b/build-armbian/u-boot/rockchip/king3399/rk3399_loader_v1.27.126.bin new file mode 100644 index 0000000000..aefd83db00 Binary files /dev/null and b/build-armbian/u-boot/rockchip/king3399/rk3399_loader_v1.27.126.bin differ diff --git a/build-armbian/u-boot/rockchip/king3399/u-boot.itb b/build-armbian/u-boot/rockchip/king3399/u-boot.itb new file mode 100644 index 0000000000..e1c3231140 Binary files /dev/null and b/build-armbian/u-boot/rockchip/king3399/u-boot.itb differ