[PATCH 00/10] arm64: dts: amlogic: S4 SoC additions and the Amediatech X98Q

From: christian . koever-draxl

Date: Fri Nov 06 2026 - 05:50:03 EST


From: Christian Stefan Kövér-Draxl <ckoever@xxxxxxxxxx>

Patches 2-9 add S4 SoC blocks to meson-s4.dtsi, one feature per patch:
caches, PSCI idle state, S4 secure monitor compatible, Mali GPU, CPU
thermal sensor and zone, GE2D, USB host and AO CEC. Patch 10 adds the
Amediatech X98Q TV box (S905W2) that all of it was tested on; patch 1
its binding.

The board has two USB ports, an SD slot, Ethernet, HDMI, a power LED
and an IR receiver, and no analog audio output. CPU frequency scaling,
audio and the video decoder are left out until their drivers and
bindings are settled; the HDMI display path is not in mainline for S4.

Dependencies (bindings, sent separately):
- amlogic,meson-s4-sm (firmware: meson: sm power-off)
- amlogic,s4-thermal (thermal S4)
- amlogic,s4-ge2d (ge2d binding)
- amlogic,meson-s4-usb-ctrl, s4-usb2-phy (usb-ctrl, usb2 phy S4)
- amlogic,core-phase-degrees (mmc core phase)
- wakeup-source on meson-ir, rc-x98q (meson-ir, rc keytable)
- amlogic,shared-antenna (Bluetooth W1)

Tool use (Documentation/process/generated-content.rst):
This work was done with the help of an AI coding assistant, Claude
(Anthropic), used through Claude Code over many sessions. It did a large
part of the hands-on work: it read the vendor kernel and the firmware
interfaces, probed registers on the board, drafted the code and the
changelogs, and ran the builds, checkpatch, dt_binding_check and the
tests on the hardware. I directed the work, reviewed every change and
the final patches, and take responsibility for them. There is no single
prompt to quote; the sessions were of the form "find out why X fails on
this board, fix it, test it on the box".

Tested on an Amediatech X98Q TV box (Amlogic S905W2, S4 family, 2 GiB),
vendor U-Boot and BL31/OP-TEE, Linux 7.3 plus this work.

Christian Stefan Kövér-Draxl (10):
dt-bindings: arm: amlogic: add the Amediatech X98Q
arm64: dts: amlogic: meson-s4: describe the CPU caches
arm64: dts: amlogic: meson-s4: add the PSCI CPU idle state
arm64: dts: amlogic: meson-s4: use the S4 secure monitor compatible
arm64: dts: amlogic: meson-s4: add the Mali GPU
arm64: dts: amlogic: meson-s4: add the CPU thermal sensor and zone
arm64: dts: amlogic: meson-s4: add the GE2D
arm64: dts: amlogic: meson-s4: add the USB host
arm64: dts: amlogic: meson-s4: add the AO CEC controller
arm64: dts: amlogic: add the Amediatech X98Q

.../devicetree/bindings/arm/amlogic.yaml | 7 +
arch/arm64/boot/dts/amlogic/Makefile | 1 +
.../boot/dts/amlogic/meson-s4-s905w2-x98q.dts | 310 ++++++++++++++++++
arch/arm64/boot/dts/amlogic/meson-s4.dtsi | 246 +++++++++++++-
4 files changed, 563 insertions(+), 1 deletion(-)
create mode 100644 arch/arm64/boot/dts/amlogic/meson-s4-s905w2-x98q.dts


base-commit: 7be4bc52fd9e0e55dc9a2e0232b89427d2c4b614
--
2.56.0