diff --git a/config/boards/aml-s805-mxq.tvb b/config/boards/aml-s805-mxq.tvb new file mode 100644 index 000000000000..5ff0ed54cd1c --- /dev/null +++ b/config/boards/aml-s805-mxq.tvb @@ -0,0 +1,19 @@ +# MXQ TV box based on Amlogic S805 quad core 1GB RAM SoC GBE +BOARD_NAME="MXQ" +BOARDFAMILY="meson8b" +BOARD_MAINTAINER="" +KERNEL_TARGET="current,edge" +KERNEL_TEST_TARGET="current" +BOOTCONFIG="none" +BOOTSCRIPT="boot-aml-s805-mxq.cmd:boot.cmd" +# The preinstalled U-BOOT looks for this script +BOOTSCRIPT_OUTPUT="s805_autoscript" +BOOTENV_FILE="aml-s805-mxq.txt" + +BOOTSIZE="200" +BOOTFS_TYPE="fat" +BOOT_LOGO=desktop + +family_tweaks() { + cp $SRC/packages/blobs/splash/armbian-u-boot-24.bmp $SDCARD/boot/boot.bmp +} diff --git a/config/bootenv/aml-s805-mxq.txt b/config/bootenv/aml-s805-mxq.txt new file mode 100644 index 000000000000..b7edee36c491 --- /dev/null +++ b/config/bootenv/aml-s805-mxq.txt @@ -0,0 +1,3 @@ +dtb_file=/dtb/meson8b-mxq.dtb + +# The following contents are auto-generated. diff --git a/config/bootscripts/boot-aml-s805-mxq.cmd b/config/bootscripts/boot-aml-s805-mxq.cmd new file mode 100644 index 000000000000..2ad46d2e4321 --- /dev/null +++ b/config/bootscripts/boot-aml-s805-mxq.cmd @@ -0,0 +1,45 @@ +# DO NOT EDIT THIS FILE +# +# Please edit /boot/armbianEnv.txt to set supported parameters +# + +setenv rootdev "LABEL=armbi_root" +setenv rootfstype "ext4" + +# Default Console Device Setting +setenv console "both" +setenv verbosity "1" + +# Enable/Disable USB autosuspend (seems broken on current (6.x) kernels) +# 0 = disabled +# 1 = enabled +setenv usb_autosuspend "0" + +# Find the bootdev +# Same order is followed as in factory U-BOOT, when searching for this script, +# so same device should be found. +# We can't use `test -z` due to the bug: https://lists.denx.de/pipermail/u-boot/2005-August/011447.html +env set bootdev "" +if test -n "${bootdev}"; test $? != 0; then if fatload usb 0 11000000 s805_autoscript; then env set bootdev "usb 0"; fi; fi; +if test -n "${bootdev}"; test $? != 0; then if fatload usb 1 11000000 s805_autoscript; then env set bootdev "usb 1"; fi; fi; +if test -n "${bootdev}"; test $? != 0; then if fatload usb 2 11000000 s805_autoscript; then env set bootdev "usb 2"; fi; fi; +if test -n "${bootdev}"; test $? != 0; then if fatload usb 3 11000000 s805_autoscript; then env set bootdev "usb 3"; fi; fi; +if test -n "${bootdev}"; test $? != 0; then if fatload mmc 0 11000000 s805_autoscript; then env set bootdev "mmc 0"; fi; fi; + +fatload ${bootdev} 0x20800000 /armbianEnv.txt && env import -t 0x20800000 ${filesize} + +########################################### +if test "${console}" = "display" || test "${console}" = "both"; then setenv consoleargs "console=tty1"; fi +if test "${console}" = "serial" || test "${console}" = "both"; then setenv consoleargs "console=ttyAML0,115200n8 ${consoleargs}"; fi +setenv consoleargs "${consoleargs} no_console_suspend consoleblank=0" +if test "${usb_autosuspend}" = "0"; then setenv extraargs "usbcore.autosuspend=-1"; fi + +# Boot Arguments +setenv bootargs "root=${rootdev} rootwait rw ${consoleargs} rootfstype=${rootfstype} loglevel=${verbosity} ${extraargs}" + +# Booting +fatload "${bootdev}" 0x20800000 /uImage +fatload "${bootdev}" 0x22000000 /uInitrd +fatload "${bootdev}" 0x21800000 "${dtb_file}" + +bootm 0x20800000 0x22000000 0x21800000 diff --git a/patch/kernel/archive/meson-6.10/0067-meson8b-mxq-add-HDMI-support.patch b/patch/kernel/archive/meson-6.10/0067-meson8b-mxq-add-HDMI-support.patch new file mode 100644 index 000000000000..eeda43e6ddd1 --- /dev/null +++ b/patch/kernel/archive/meson-6.10/0067-meson8b-mxq-add-HDMI-support.patch @@ -0,0 +1,92 @@ +From 0a16d190127f66d1955482d7f896f2f8fc637218 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dominik=20W=C3=B3jt?= +Date: Tue, 29 Oct 2024 19:31:00 +0100 +Subject: meson8b-mxq: add HDMI support + +Copied from 0066-ARM-dts-meson8b-odroid-c1-enable-HDMI-for-the-Odroid.patch + +--- + arch/arm/boot/dts/amlogic/meson8b-mxq.dts | 60 +++++++++++++++++++++++ + 1 file changed, 60 insertions(+) + +diff --git a/arch/arm/boot/dts/amlogic/meson8b-mxq.dts b/arch/arm/boot/dts/amlogic/meson8b-mxq.dts +index 7adedd3258c3..43e9ea14da2f 100644 +--- a/arch/arm/boot/dts/amlogic/meson8b-mxq.dts ++++ b/arch/arm/boot/dts/amlogic/meson8b-mxq.dts +@@ -27,6 +27,50 @@ memory { + reg = <0x40000000 0x40000000>; + }; + ++ hdmi-connector { ++ compatible = "hdmi-connector"; ++ type = "a"; ++ ++ port { ++ hdmi_connector_in: endpoint { ++ remote-endpoint = <&hdmi_tx_tmds_out>; ++ }; ++ }; ++ }; ++ ++ ++ sound { ++ compatible = "amlogic,gx-sound-card"; ++ model = "ODROID-C1"; ++ ++ assigned-clocks = <&clkc CLKID_MPLL0>, ++ <&clkc CLKID_MPLL1>; ++ assigned-clock-rates = <294912000>, ++ <270950400>; ++ ++ dai-link-0 { ++ sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>; ++ }; ++ ++ dai-link-1 { ++ sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>; ++ dai-format = "i2s"; ++ mclk-fs = <256>; ++ ++ codec-0 { ++ sound-dai = <&aiu AIU_HDMI CTRL_I2S>; ++ }; ++ }; ++ ++ dai-link-2 { ++ sound-dai = <&aiu AIU_HDMI CTRL_OUT>; ++ ++ codec-0 { ++ sound-dai = <&hdmi_tx 0>; ++ }; ++ }; ++ }; ++ + vcck: regulator-vcck { + compatible = "pwm-regulator"; + +@@ -91,6 +135,22 @@ vddee: regulator-vddee { + }; + }; + ++&aiu { ++ status = "okay"; ++}; ++ ++&hdmi_tx { ++ status = "okay"; ++ pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; ++ pinctrl-names = "default"; ++}; ++ ++&hdmi_tx_tmds_port { ++ hdmi_tx_tmds_out: endpoint { ++ remote-endpoint = <&hdmi_connector_in>; ++ }; ++}; ++ + &cpu0 { + cpu-supply = <&vcck>; + }; +-- +2.39.5 +