From 2bf71e2fda9de36ad00dba8fd50bb02c60b778fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20W=C3=B3jt?= Date: Thu, 31 Oct 2024 14:55:39 +0100 Subject: [PATCH] Add MXQ target. Copy HDMI fix from odroid-c1. --- config/boards/aml-s805-mxq.tvb | 18 ++++ config/bootscripts/boot-aml-s805-mxq.cmd | 30 ++++++ .../0067-meson8b-mxq-add-HDMI-support.patch | 92 +++++++++++++++++++ 3 files changed, 140 insertions(+) create mode 100644 config/boards/aml-s805-mxq.tvb create mode 100644 config/bootscripts/boot-aml-s805-mxq.cmd create mode 100644 patch/kernel/archive/meson-6.10/0067-meson8b-mxq-add-HDMI-support.patch diff --git a/config/boards/aml-s805-mxq.tvb b/config/boards/aml-s805-mxq.tvb new file mode 100644 index 000000000..6a1557968 --- /dev/null +++ b/config/boards/aml-s805-mxq.tvb @@ -0,0 +1,18 @@ +# 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" + +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/bootscripts/boot-aml-s805-mxq.cmd b/config/bootscripts/boot-aml-s805-mxq.cmd new file mode 100644 index 000000000..da48b5d5f --- /dev/null +++ b/config/bootscripts/boot-aml-s805-mxq.cmd @@ -0,0 +1,30 @@ +# TODO: extract dtb file name to config script +# TODO: support for boot from usb + +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" + +########################################### +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 mmc 0:1 0x20800000 uImage +fatload mmc 0:1 0x22000000 uInitrd +fatload mmc 0:1 0x21800000 dtb/meson8b-mxq.dtb + +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 000000000..eeda43e6d --- /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 +