diff --git a/config/boards/khadas-vim1s.wip b/config/boards/khadas-vim1s.wip index 29482fd76b..719d192b0e 100644 --- a/config/boards/khadas-vim1s.wip +++ b/config/boards/khadas-vim1s.wip @@ -12,5 +12,10 @@ KHADAS_BOARD_ID="kvim1s" # used to compile the fip blobs declare -g KHADAS_OOWOW_BOARD_ID="VIM1S" # for use with EXT=output-image-oowow -# Use extlinux and u-boot-menu extension -SRC_CMDLINE="console=tty0 console=ttyS0,921600 no_console_suspend earlycon=aml-uart,0xfe078000 meson-gx-mmc.caps2_quirks=mmc-hs400 mac=\\\${eth_mac} khadas.serial=\\\${usid} partition_type=generic" +OVERLAY_PREFIX='s4-s905y4' + +function image_specific_armbian_env_ready__set_vim1s_specific_parameters() { + display_alert "Writing vim1s parameters in /boot/armbianEnv.txt" + run_host_command_logged echo "earlycon=on" >>${SDCARD}/boot/armbianEnv.txt + run_host_command_logged echo "extraboardargs=meson-gx-mmc.caps2_quirks=mmc-hs400" >>${SDCARD}/boot/armbianEnv.txt +} diff --git a/config/boards/khadas-vim4.wip b/config/boards/khadas-vim4.wip index 9ef95ee39b..10c7ad476f 100644 --- a/config/boards/khadas-vim4.wip +++ b/config/boards/khadas-vim4.wip @@ -12,5 +12,4 @@ KHADAS_BOARD_ID="kvim4" # used to compile the fip blobs declare -g KHADAS_OOWOW_BOARD_ID="VIM4" # for use with EXT=output-image-oowow -# Use extlinux and u-boot-menu extension -SRC_CMDLINE="console=tty0 console=ttyS0,921600 no_console_suspend earlycon=aml-uart,0xfe078000 mac=\\\${eth_mac} khadas.serial=\\\${usid} partition_type=generic" +OVERLAY_PREFIX='t7-a311d2' diff --git a/config/bootscripts/boot-meson-s4t7.cmd b/config/bootscripts/boot-meson-s4t7.cmd new file mode 100644 index 0000000000..664c3ebe8e --- /dev/null +++ b/config/bootscripts/boot-meson-s4t7.cmd @@ -0,0 +1,78 @@ +# DO NOT EDIT THIS FILE +# +# Please edit /boot/armbianEnv.txt to set supported parameters +# + +setenv overlay_error "false" +setenv console "both" +setenv verbosity "1" +setenv earlycon "off" +setenv bootlogo "false" +setenv earlyconuart "0xfe078000" + +if test "${board_name}" = "kvim1s"; then setenv earlyconuart "0xfe07a000"; fi + +# Show what uboot default fdtfile is +echo "U-boot default fdtfile: ${fdtfile}" + +if test -e ${devtype} ${devnum} ${prefix}armbianEnv.txt; then + load ${devtype} ${devnum} ${loadaddr} ${prefix}armbianEnv.txt + env import -t ${loadaddr} ${filesize} +fi + +if test "${console}" = "both"; then setenv console_serial "true"; setenv console_display "true"; fi +if test "${console}" = "serial"; then setenv console_serial "true"; fi +if test "${console}" = "display"; then setenv console_display "true"; fi + +if test "${console_serial}" = "true"; then setenv consoleargs "console=ttyS0,921600"; fi +if test "${console_display}" = "true"; then setenv consoleargs "console=tty1 ${consoleargs}"; fi + +if test "${earlycon}" = "on"; then setenv consoleargs "earlycon=aml-uart,${earlyconuart} ${consoleargs}"; fi + +if test "${bootlogo}" = "true"; then + setenv consoleargs "splash plymouth.ignore-serial-consoles ${consoleargs}" +else + setenv consoleargs "splash=verbose ${consoleargs}" +fi + +setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} ${consoleargs} no_console_suspend loglevel=${verbosity} mac=${eth_mac} khadas.serial=${usid} partition_type=generic ${extraargs} ${extraboardargs}" + +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} ${scriptaddr} ${prefix}dtb/amlogic/overlay/${overlay_prefix}-${overlay_file}.dtbo; then + echo "Applying kernel provided DT overlay ${overlay_prefix}-${overlay_file}.dtbo" + fdt apply ${scriptaddr} || setenv overlay_error "true" + fi +done + +for overlay_file in ${user_overlays}; do + if load ${devtype} ${devnum} ${scriptaddr} ${prefix}overlay-user/${overlay_file}.dtbo; then + echo "Applying user provided DT overlay ${overlay_file}.dtbo" + fdt apply ${scriptaddr} || 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} ${scriptaddr} ${prefix}dtb/amlogic/overlay/${overlay_prefix}-fixup.scr; then + echo "Applying kernel provided DT fixup script (${overlay_prefix}-fixup.scr)" + source ${scriptaddr} + fi + if test -e ${devtype} ${devnum} ${prefix}fixup.scr; then + load ${devtype} ${devnum} ${scriptaddr} ${prefix}fixup.scr + echo "Applying user provided fixup script (fixup.scr)" + source ${scriptaddr} + fi +fi + +load ${devtype} ${devnum} ${kernel_addr_r} /vmlinuz +load ${devtype} ${devnum} ${ramdisk_addr_r} /initrd.img +booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r} + +# Recompile with: +# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr diff --git a/config/sources/families/meson-s4t7.conf b/config/sources/families/meson-s4t7.conf index f1a405c282..ad8bab822b 100644 --- a/config/sources/families/meson-s4t7.conf +++ b/config/sources/families/meson-s4t7.conf @@ -8,15 +8,6 @@ declare -g LINUXFAMILY="meson-s4t7" declare -g ARCH="arm64" declare -g ATF_COMPILE="no" -# Use extlinux and u-boot-menu extension -SRC_EXTLINUX="yes" -EXTLINUX_UINITRD="no" # Use normal initrd, not uInitrd; we're using vendor uboot and that does not support uInitrd -EXTLINUX_SPECIFIC_FDT="no" # Do NOT use extlinux's "FDT" with BOOT_FDT_FILE; instead just the FDTDIR -enable_extension "u-boot-menu" # this generates the extlinux.conf - -# use Khadas-expected ROOTFS label for older uboot on SPI -declare -g ROOT_FS_LABEL="ROOTFS" - # Determine kernel case $BRANCH in @@ -32,6 +23,8 @@ esac # Lets build uboot from source BOOTSOURCE="https://github.com/khadas/u-boot.git" BOOTBRANCH="branch:khadas-vims-v2019.01" +BOOTENV_FILE='meson.txt' +BOOTSCRIPT="boot-meson-s4t7.cmd:boot.cmd" UBOOT_TARGET_MAP=";;build/u-boot.bin.sd.bin.signed:u-boot.bin.sd.bin.signed build/u-boot.bin.signed:u-boot.bin.signed" ## funny enough, the uboot+fip blobs go in the same spot as normal meson64... @@ -86,3 +79,23 @@ function post_uboot_custom_postprocess__build_fip() { run_host_command_logged bash fip/mk_script.sh "${KHADAS_BOARD_ID}" "${uboot_work_dir}" return 0 } + +function pre_package_kernel_image__copy_meson_s4t7_overlays(){ + display_alert "Copy meson s4t7 overlays" + declare dtbo_destination="${tmp_kernel_install_dirs[INSTALL_DTBS_PATH]}"/amlogic + + run_host_command_logged cp -r ${SRC}/patch/kernel/${KERNELPATCHDIR}/overlay ${dtbo_destination}/ + + display_alert "Enable Device Tree Overlays" + run_host_command_logged ln -sf amlogic/overlay "${tmp_kernel_install_dirs[INSTALL_DTBS_PATH]}"/overlay +} + +function post_family_tweaks_bsp__disable_uinitrd_generation(){ + if [[ -f "${destination}"/etc/initramfs/post-update.d/99-uboot ]] ; then + run_host_command_logged rm "${destination}"/etc/initramfs/post-update.d/99-uboot + fi +} + +function pre_update_initramfs__change_initrd_compression(){ + run_host_command_logged sed -i 's/COMPRESS=.*/COMPRESS=xz/g' $MOUNT/etc/initramfs-tools/initramfs.conf +} \ No newline at end of file diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-i2cm_e.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-i2cm_e.dtbo new file mode 100644 index 0000000000..996cb84dbb Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-i2cm_e.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-i2s.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-i2s.dtbo new file mode 100644 index 0000000000..da5f96477b Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-i2s.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-onewire.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-onewire.dtbo new file mode 100644 index 0000000000..3a3634245a Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-onewire.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-pwm_f.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-pwm_f.dtbo new file mode 100644 index 0000000000..adcfcd863c Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-pwm_f.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-spdifout.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-spdifout.dtbo new file mode 100644 index 0000000000..4ea46d7372 Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-spdifout.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-spi0.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-spi0.dtbo new file mode 100644 index 0000000000..d9d22cafdf Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-spi0.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-uart_c.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-uart_c.dtbo new file mode 100644 index 0000000000..d673fee3b9 Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/s4-s905y4-uart_c.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-ext_board.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-ext_board.dtbo new file mode 100644 index 0000000000..e8da636ce2 Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-ext_board.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-fb-1024x600.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-fb-1024x600.dtbo new file mode 100644 index 0000000000..92d338619a Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-fb-1024x600.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-fix-ts050-mipi-console.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-fix-ts050-mipi-console.dtbo new file mode 100644 index 0000000000..661509e5b3 Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-fix-ts050-mipi-console.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-i2cm_a.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-i2cm_a.dtbo new file mode 100644 index 0000000000..c76b91925e Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-i2cm_a.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-i2cm_f.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-i2cm_f.dtbo new file mode 100644 index 0000000000..99debbd8f4 Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-i2cm_f.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-i2s.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-i2s.dtbo new file mode 100644 index 0000000000..94901f24fa Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-i2s.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-onewire.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-onewire.dtbo new file mode 100644 index 0000000000..3a3634245a Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-onewire.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-pwm_f.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-pwm_f.dtbo new file mode 100644 index 0000000000..54352106f9 Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-pwm_f.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-spdifout.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-spdifout.dtbo new file mode 100644 index 0000000000..c041c05025 Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-spdifout.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-spi0.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-spi0.dtbo new file mode 100644 index 0000000000..d9d22cafdf Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-spi0.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-uart_e.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-uart_e.dtbo new file mode 100644 index 0000000000..21ad3d8255 Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-uart_e.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-vim4n-imx415.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-vim4n-imx415.dtbo new file mode 100644 index 0000000000..e22ebfd9a5 Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-vim4n-imx415.dtbo differ diff --git a/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-vim4n-os08a10.dtbo b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-vim4n-os08a10.dtbo new file mode 100644 index 0000000000..1d183f2b89 Binary files /dev/null and b/patch/kernel/archive/meson-s4t7-5.4/overlay/t7-a311d2-vim4n-os08a10.dtbo differ