Merge pull request #10180 from chewitt/amlogic-upstream

Amlogic: bump kernel to Linux 6.16-rc3 and add support for tm16xx LED controllers
This commit is contained in:
Rudi Heitbaum
2025-06-26 22:00:50 +10:00
committed by GitHub
62 changed files with 679 additions and 1761 deletions

View File

@@ -0,0 +1,33 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2025-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="tm16xx"
PKG_VERSION="9148a4e12ba6cf4b375a7fd352667f7f27823426"
PKG_SHA256="e8fbbc5c8c36b3eb42f1f8d7c907106ccf3a2b5af4b2382c6ca4ea63e07fde70"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/jefflessard/tm16xx-display/"
PKG_URL="https://github.com/jefflessard/tm16xx-display/archive/${PKG_VERSION}.tar.gz"
PKG_LONGDESC="Linux kernel driver for auxiliary displays using TM1628 compatible controllers"
PKG_IS_KERNEL_PKG="yes"
pre_make_target() {
unset LDFLAGS
}
make_target() {
kernel_make V=1 KDIR=$(kernel_path) module
}
makeinstall_target() {
mkdir -p ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
cp *.ko ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
mkdir -p ${INSTALL}/usr/sbin
cp display-service ${INSTALL}/usr/sbin
cp display-utils ${INSTALL}/usr/sbin
mkdir -p ${INSTALL}/usr/lib/systemd/system
cp display.service ${INSTALL}/usr/lib/systemd/system
}
post_install() {
enable_service display.service
}

View File

@@ -16,8 +16,8 @@ PKG_PATCH_DIRS="${LINUX}"
case "${LINUX}" in
amlogic)
PKG_VERSION="3ef49626da6dd67013fc2cf0a4e4c9e158bb59f7" # 6.15.1
PKG_SHA256="dd0c9b097906d7cbcd1281c0fbc489ffdd803495bffd2d159c5e994213362468"
PKG_VERSION="86731a2a651e58953fc949573895f2fa6d456841" # 6.16-rc3
PKG_SHA256="008b00968a8bfc0627580b82a2d30c7304336a4f92a58e80cdbc2d4723e01840"
PKG_URL="https://github.com/torvalds/linux/archive/${PKG_VERSION}.tar.gz"
PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz"
PKG_PATCH_DIRS="default"

View File

@@ -120,7 +120,6 @@ makeinstall_target() {
sed -e "s/@DISTRONAME@-@OS_VERSION@/${DISTRONAME}-${OS_VERSION}/g" \
-i ${INSTALL}/usr/bin/pastebinit
ln -sf pastebinit ${INSTALL}/usr/bin/paste
cp ${PKG_DIR}/scripts/vfd-clock ${INSTALL}/usr/bin/
mkdir -p ${INSTALL}/usr/sbin
cp ${PKG_DIR}/scripts/kernel-overlays-setup ${INSTALL}/usr/sbin
@@ -167,7 +166,6 @@ post_install() {
enable_service ledfix.service
enable_service shell.service
enable_service show-version.service
enable_service vfd-clock.service
enable_service var.mount
enable_service locale.service

View File

@@ -1,45 +0,0 @@
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2022-present Team LibreELEC (https://libreelec.tv)
do_start() {
while sleep 1; do
printf "%4s" "$(date +'%l %M' | tr -d '[:space:]')" >"$LED_PATH_TEXT"
if [ "$LED_COLON" = "off" ]; then
echo "1" >"$LED_PATH_COLON"
LED_COLON="on"
else
echo "0" >"$LED_PATH_COLON"
LED_COLON="off"
fi
done
}
do_stop() {
echo "0" >"$LED_PATH_COLON"
echo " " >"$LED_PATH_TEXT"
}
case $(dtname) in
oranth,tx3-mini | oranth,tx9-pro | sunvell,t95z-plus)
LED_PATH_COLON="/sys/devices/platform/spi/spi_master/spi0/spi0.0/leds/:colon/brightness"
LED_PATH_TEXT="/sys/devices/platform/spi/spi_master/spi0/spi0.0/display_text"
;;
default | *)
# noop
;;
esac
if [ -n "$LED_PATH_COLON" ] && [ -n "$LED_PATH_TEXT" ]; then
case $1 in
start)
do_start
;;
stop)
do_stop
;;
esac
else
exit 0
fi

View File

@@ -1,15 +0,0 @@
[Unit]
Description=VFD Clock Service
After=network-online.target graphical.target
Requires=graphical.target
Wants=kodi.target
[Service]
Type=oneshot
ExecStart=/bin/sh /usr/bin/vfd-clock start
ExecStopPost=/bin/sh /usr/bin/vfd-clock stop
RemainAfterExit=yes
StartLimitInterval=0
[Install]
WantedBy=kodi.target

View File

@@ -1,7 +1,7 @@
From 0d1897b3d18140c48625e0a8cded448d8a181d3f Mon Sep 17 00:00:00 2001
From 9a711d3aca9f7bd053caefec4f1bef07ba1a4817 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sat, 13 Apr 2019 05:41:51 +0000
Subject: [PATCH 01/50] LOCAL: set meson-gx cma pool to 896MB
Subject: [PATCH 01/37] LOCAL: set meson-gx cma pool to 896MB
This change sets the CMA pool to a larger 896MB! value for vdec use

View File

@@ -1,7 +1,7 @@
From 99c6d58e2b3d289b0ccaf39c500a6875abb14780 Mon Sep 17 00:00:00 2001
From 5979e28bfa5986d47ba62f147feb5d9b83f16e6d Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Wed, 14 Aug 2019 19:58:14 +0000
Subject: [PATCH 02/50] LOCAL: set meson-g12 cma pool to 896MB
Subject: [PATCH 02/37] LOCAL: set meson-g12 cma pool to 896MB
This change sets the CMA pool to a larger 896MB! value for vdec use
@@ -11,7 +11,7 @@ Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
index 69834b49673d..4b75b4d07901 100644
index dcc927a9da80..0b6f13f8911b 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
@@ -117,7 +117,7 @@ secmon_reserved_bl32: secmon@5300000 {

View File

@@ -1,7 +1,7 @@
From 49c3682d0bf8ce8d8a77a522164da223e05bbdae Mon Sep 17 00:00:00 2001
From 3df5b83cf844e053806a57afd5a4af8d11617c5d Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sat, 13 Apr 2019 05:45:18 +0000
Subject: [PATCH 03/50] LOCAL: arm64: fix Kodi sysinfo CPU information
Subject: [PATCH 03/37] LOCAL: arm64: fix Kodi sysinfo CPU information
This allows the CPU information to show in the Kodi sysinfo screen, e.g.
@@ -9,23 +9,25 @@ This allows the CPU information to show in the Kodi sysinfo screen, e.g.
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
---
arch/arm64/kernel/cpuinfo.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
arch/arm64/kernel/cpuinfo.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/kernel/cpuinfo.c b/arch/arm64/kernel/cpuinfo.c
index 285d7d538342..117c83566fd7 100644
index c1f2b6b04b41..8bbdb64ec3ec 100644
--- a/arch/arm64/kernel/cpuinfo.c
+++ b/arch/arm64/kernel/cpuinfo.c
@@ -222,8 +222,7 @@ static int c_show(struct seq_file *m, void *v)
* "processor". Give glibc what it expects.
*/
seq_printf(m, "processor\t: %d\n", i);
- if (compat)
- seq_printf(m, "model name\t: ARMv8 Processor rev %d (%s)\n",
+ seq_printf(m, "model name\t: ARMv8 Processor rev %d (%s)\n",
MIDR_REVISION(midr), COMPAT_ELF_PLATFORM);
@@ -221,9 +221,8 @@ static int c_show(struct seq_file *m, void *v)
* "processor". Give glibc what it expects.
*/
seq_printf(m, "processor\t: %d\n", cpu);
- if (compat)
- seq_printf(m, "model name\t: ARMv8 Processor rev %d (%s)\n",
- MIDR_REVISION(midr), COMPAT_ELF_PLATFORM);
+ seq_printf(m, "model name\t: ARMv8 Processor rev %d (%s)\n",
+ MIDR_REVISION(midr), COMPAT_ELF_PLATFORM);
seq_printf(m, "BogoMIPS\t: %lu.%02lu\n",
seq_printf(m, "BogoMIPS\t: %lu.%02lu\n",
loops_per_jiffy / (500000UL/HZ),
--
2.34.1

View File

@@ -1,7 +1,7 @@
From 765093b18eb098db4bfc6036eb02c99a0217dd92 Mon Sep 17 00:00:00 2001
From cacea1a7dcf9e69c3d1cfc1026a05a9332bf9837 Mon Sep 17 00:00:00 2001
From: Neil Armstrong <narmstrong@baylibre.com>
Date: Thu, 3 Nov 2016 15:29:23 +0100
Subject: [PATCH 04/50] LOCAL: arm64: meson: add Amlogic Meson GX PM Suspend
Subject: [PATCH 04/37] LOCAL: arm64: meson: add Amlogic Meson GX PM Suspend
The Amlogic Meson GX SoCs uses a non-standard argument to the
PSCI CPU_SUSPEND call to enter system suspend.

View File

@@ -1,7 +1,7 @@
From 0e93f1bf987e1ca7bf6e094a7657cfa894d3c308 Mon Sep 17 00:00:00 2001
From ac95c04240bf6d1f12158f819bb9c0a0d06d6653 Mon Sep 17 00:00:00 2001
From: Neil Armstrong <narmstrong@baylibre.com>
Date: Thu, 3 Nov 2016 15:29:25 +0100
Subject: [PATCH 05/50] LOCAL: arm64: dts: meson: add support for GX PM and
Subject: [PATCH 05/37] LOCAL: arm64: dts: meson: add support for GX PM and
Virtual RTC
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>

View File

@@ -1,7 +1,7 @@
From cae8d14554d6cbfad5ea7a14ae76e2b0312f2a4f Mon Sep 17 00:00:00 2001
From 3198831b6d71337b85e5011fc820ea13057ab3a6 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Thu, 21 Jan 2021 01:35:36 +0000
Subject: [PATCH 06/50] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to
Subject: [PATCH 06/37] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to
Khadas VIM
Add aliases to ensure the vrtc time (which normally proves first) is /dev/rtc1

View File

@@ -1,7 +1,7 @@
From 5cbe1c3b07ccb36041afa878db1540977f62475f Mon Sep 17 00:00:00 2001
From 596472232f2a08c7dd62597c9c041be4333e22b0 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Sat, 6 Nov 2021 13:01:08 +0000
Subject: [PATCH 07/50] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to
Subject: [PATCH 07/37] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to
Khadas VIM2
Add aliases to ensure the vrtc time (which normally proves first) is /dev/rtc1

View File

@@ -1,7 +1,7 @@
From 0b52c619a4ca1ae1569ff3d8b33d0d1f791e8378 Mon Sep 17 00:00:00 2001
From a8f90df94245a52d5a0aff58a640b5c86e0ed83c Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Mon, 1 Feb 2021 19:27:40 +0000
Subject: [PATCH 08/50] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to Minix
Subject: [PATCH 08/37] LOCAL: arm64: dts: meson: add rtc/vrtc aliases to Minix
NEO U9-H
Add node aliases to prevent meson-vrtc from claiming /dev/rtc0

View File

@@ -1,7 +1,7 @@
From 74691114248dc2f00dbaada19b5506f6a78ef7bd Mon Sep 17 00:00:00 2001
From e751b7cfeaca07cef1b14cebbd4dc567ed50ed37 Mon Sep 17 00:00:00 2001
From: Anssi Hannula <anssi.hannula@iki.fi>
Date: Sun, 17 Apr 2022 04:37:48 +0000
Subject: [PATCH 09/50] LOCAL: ASoC: meson: assign internal PCM
Subject: [PATCH 09/37] LOCAL: ASoC: meson: assign internal PCM
chmap/ELD/IEC958 kctls to device 0
On SoC sound devices utilizing codec2codec DAI links with an HDMI codec the kctls
@@ -40,7 +40,7 @@ index 6eaa950504cf..f2f05f1c4f98 100644
knew.private_value = private_value;
info->kctl = snd_ctl_new1(&knew, info);
diff --git a/sound/soc/codecs/hdmi-codec.c b/sound/soc/codecs/hdmi-codec.c
index bc01ff65bd6f..41dc02826343 100644
index 31121f9c18c9..606abb3889c1 100644
--- a/sound/soc/codecs/hdmi-codec.c
+++ b/sound/soc/codecs/hdmi-codec.c
@@ -821,7 +821,8 @@ static int hdmi_codec_pcm_new(struct snd_soc_pcm_runtime *rtd,

View File

@@ -1,7 +1,7 @@
From 531d05b9fae9b0eadd0dc597f195bc500d492879 Mon Sep 17 00:00:00 2001
From 3de630c16f0ddbaa6442ebc3b6938bc1c4526b34 Mon Sep 17 00:00:00 2001
From: Christian Hewitt <christianshewitt@gmail.com>
Date: Thu, 5 Jan 2023 15:16:46 +0000
Subject: [PATCH 10/50] LOCAL: media: meson: vdec: disable MPEG1/MPEG2 hardware
Subject: [PATCH 10/37] LOCAL: media: meson: vdec: disable MPEG1/MPEG2 hardware
decoding
The MPEG1/2 decoder is broken and nobody has volunteered to poke

View File

@@ -1,70 +0,0 @@
From 72bed39069eff09afa075b506f434ddb60beb05c Mon Sep 17 00:00:00 2001
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: Sat, 29 Mar 2025 19:58:51 +0100
Subject: [PATCH 11/50] FROMGIT(6.16): arm64: dts: amlogic: gxbb: enable UART
RX and TX pull up by default
Some boards have noise on the UART RX line when the UART pins are not
connected to another device (such as an USB UART adapter). This can
be addressed by using a pull up resistor. Not all boards may provide
such a pull up resistor on the PCB so enable the SoC's pull-up on the
UART RX and TX pads by default. This matches the default (from u-boot
or SoC hardware) state for the pinmux configuration on these pads.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
index 6c134592c7bb..f69923da07fe 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
@@ -105,7 +105,7 @@ uart_ao_a_pins: uart_ao_a {
mux {
groups = "uart_tx_ao_a", "uart_rx_ao_a";
function = "uart_ao";
- bias-disable;
+ bias-pull-up;
};
};
@@ -122,7 +122,7 @@ uart_ao_b_pins: uart_ao_b {
mux {
groups = "uart_tx_ao_b", "uart_rx_ao_b";
function = "uart_ao_b";
- bias-disable;
+ bias-pull-up;
};
};
@@ -520,7 +520,7 @@ mux {
groups = "uart_tx_a",
"uart_rx_a";
function = "uart_a";
- bias-disable;
+ bias-pull-up;
};
};
@@ -538,7 +538,7 @@ mux {
groups = "uart_tx_b",
"uart_rx_b";
function = "uart_b";
- bias-disable;
+ bias-pull-up;
};
};
@@ -556,7 +556,7 @@ mux {
groups = "uart_tx_c",
"uart_rx_c";
function = "uart_c";
- bias-disable;
+ bias-pull-up;
};
};
--
2.34.1

View File

@@ -1,7 +1,7 @@
From 71896885a3cc8e53b4a8b42edbcde5e2e12a8835 Mon Sep 17 00:00:00 2001
From 4c895bf75fbf67654d02032cfbdfa57fa4777b20 Mon Sep 17 00:00:00 2001
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: Wed, 9 Apr 2025 23:44:22 +0200
Subject: [PATCH 18/50] FROMLIST(v1): drm/meson: fix resource cleanup in
Subject: [PATCH 11/37] FROMLIST(v1): drm/meson: fix resource cleanup in
meson_drv_bind_master() on error
meson_drv_bind_master() does not free resources in the order they are

View File

@@ -1,79 +0,0 @@
From 4a84dbe5beb7a386e4ef00cd72c8c70db3b57c60 Mon Sep 17 00:00:00 2001
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: Sat, 29 Mar 2025 19:58:52 +0100
Subject: [PATCH 12/50] FROMGIT(6.16): arm64: dts: amlogic: gxl: enable UART RX
and TX pull up by default
Some boards have noise on the UART RX line when the UART pins are not
connected to another device (such as an USB UART adapter). This can
be addressed by using a pull up resistor. Not all boards may provide
such a pull up resistor on the PCB so enable the SoC's pull-up on the
UART RX and TX pads by default. This matches the default (from u-boot
or SoC hardware) state for the pinmux configuration on these pads.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
index 19b8a39de6a0..bc52b9e954b4 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
@@ -163,7 +163,7 @@ uart_ao_a_pins: uart_ao_a {
mux {
groups = "uart_tx_ao_a", "uart_rx_ao_a";
function = "uart_ao";
- bias-disable;
+ bias-pull-up;
};
};
@@ -180,7 +180,7 @@ uart_ao_b_pins: uart_ao_b {
mux {
groups = "uart_tx_ao_b", "uart_rx_ao_b";
function = "uart_ao_b";
- bias-disable;
+ bias-pull-up;
};
};
@@ -188,7 +188,7 @@ uart_ao_b_0_1_pins: uart_ao_b_0_1 {
mux {
groups = "uart_tx_ao_b_0", "uart_rx_ao_b_1";
function = "uart_ao_b";
- bias-disable;
+ bias-pull-up;
};
};
@@ -522,7 +522,7 @@ mux {
groups = "uart_tx_a",
"uart_rx_a";
function = "uart_a";
- bias-disable;
+ bias-pull-up;
};
};
@@ -540,7 +540,7 @@ mux {
groups = "uart_tx_b",
"uart_rx_b";
function = "uart_b";
- bias-disable;
+ bias-pull-up;
};
};
@@ -558,7 +558,7 @@ mux {
groups = "uart_tx_c",
"uart_rx_c";
function = "uart_c";
- bias-disable;
+ bias-pull-up;
};
};
--
2.34.1

View File

@@ -1,7 +1,7 @@
From 06cfee817d6258d81dc254db20e18780f294ac2b Mon Sep 17 00:00:00 2001
From 6745bff6c6c1ee1746c955504a3ea32d12ec8d79 Mon Sep 17 00:00:00 2001
From: Zhang Kunbo <zhangkunbo@huawei.com>
Date: Wed, 6 Nov 2024 02:45:48 +0000
Subject: [PATCH 32/50] FROMLIST(v1): drm/meson: Avoid use-after-free issues
Subject: [PATCH 12/37] FROMLIST(v1): drm/meson: Avoid use-after-free issues
with crtc
It's dangerous to call drm_crtc_init_with_planes() whose second

View File

@@ -1,70 +0,0 @@
From 31a7decb0a9fde10cb9182f2d4bda8a07b4ec32f Mon Sep 17 00:00:00 2001
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date: Sat, 29 Mar 2025 19:58:53 +0100
Subject: [PATCH 13/50] FROMGIT(6.16): arm64: dts: amlogic: g12: enable UART RX
and TX pull up by default
Some boards have noise on the UART RX line when the UART pins are not
connected to another device (such as an USB UART adapter). This can
be addressed by using a pull up resistor. Not all boards may provide
such a pull up resistor on the PCB so enable the SoC's pull-up on the
UART RX and TX pads by default. This matches the default (from u-boot
or SoC hardware) state for the pinmux configuration on these pads.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
index 4b75b4d07901..0b6f13f8911b 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
@@ -1503,7 +1503,7 @@ mux {
groups = "uart_a_tx",
"uart_a_rx";
function = "uart_a";
- bias-disable;
+ bias-pull-up;
};
};
@@ -1521,7 +1521,7 @@ mux {
groups = "uart_b_tx",
"uart_b_rx";
function = "uart_b";
- bias-disable;
+ bias-pull-up;
};
};
@@ -1918,7 +1918,7 @@ mux {
groups = "uart_ao_a_tx",
"uart_ao_a_rx";
function = "uart_ao_a";
- bias-disable;
+ bias-pull-up;
};
};
@@ -1936,7 +1936,7 @@ mux {
groups = "uart_ao_b_tx_2",
"uart_ao_b_rx_3";
function = "uart_ao_b";
- bias-disable;
+ bias-pull-up;
};
};
@@ -1945,7 +1945,7 @@ mux {
groups = "uart_ao_b_tx_8",
"uart_ao_b_rx_9";
function = "uart_ao_b";
- bias-disable;
+ bias-pull-up;
};
};
--
2.34.1

Some files were not shown because too many files have changed in this diff Show More