From nobody Wed Jun 17 04:17:32 2026 Received: from smtp.uibk.ac.at (smtp.uibk.ac.at [138.232.1.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ACF783CA4B3; Wed, 22 Apr 2026 09:59:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=138.232.1.140 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776851999; cv=none; b=dbw+ebHfW3x/H3HiP+RzoNYlZNOdgjvYycdWKH4kUj8goLC1d9HU3U7vUorCG49LLi2R4+hXrgT7Z5eK6mGLcs2Z+tLaP6QdhpvWjHMFzHYRtgA3rEy6m/qPv2HufjptO0KqDJZiTuDyGVmuduLUhso7nPGU2M9LvfsANzR3OLg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776851999; c=relaxed/simple; bh=etlJWlwXLcyTze03ny/2/q5NII6KmJiD8KDOuOx3yZo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=JjTSzxOpWz9RUl9nzO8qr+57FwNG0T6s/7Dc0t8UHREVKvhiK24YVUUlf+CaP8ozw99taDxnnu60y3nM5BxDPXVMq7OaP8RmU6Ln2DWKxVfhsU2TBpzSBH7UCIsl6IdX2jPvO8jMu7fBkoHQo4+66wQ+/DePuax93AW6bd+Nv+w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=student.uibk.ac.at; spf=pass smtp.mailfrom=student.uibk.ac.at; dkim=pass (1024-bit key) header.d=student.uibk.ac.at header.i=@student.uibk.ac.at header.b=IpSd64SB; arc=none smtp.client-ip=138.232.1.140 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=student.uibk.ac.at Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=student.uibk.ac.at Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=student.uibk.ac.at header.i=@student.uibk.ac.at header.b="IpSd64SB" Received: from surface-pro-5 (77.119.189.253.wireless.dyn.drei.com [77.119.189.253]) (authenticated bits=0) by smtp.uibk.ac.at (8.15.2/8.15.2/F1) with ESMTPSA id 63M9xVO43161132 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 22 Apr 2026 11:59:39 +0200 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp.uibk.ac.at 63M9xVO43161132 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=student.uibk.ac.at; s=prod24a; t=1776851980; bh=kNeBbIqYIqxlRsKdVhiR6F22VabQkzDog8hf9Yzq+G4=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=IpSd64SBVkcOAdrNcX2umDMV722PvBB5QXCdtQgFTNOZlBmFWHMfQbOmzluXTqhcW ycXcjdw8NgcBjDfGil7+s4ZrllQ+1bpfHrHLKcfEI9Uf6Lf6/csKXCt/OjyZ3Am4+0 sPSVk8Kd+mD+AB86WY6clnZmf4z0frCuVPiTJ0DI= From: christian.koever-draxl@student.uibk.ac.at To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org, khilman@baylibre.com Cc: jbrunet@baylibre.com, martin.blumenstingl@googlemail.com, devicetree@vger.kernel.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Christian=20Stefan=20K=C3=B6v=C3=A9r-Draxl?= , Conor Dooley Subject: [PATCH v4 1/2] dt-bindings: arm: amlogic: add support for Amediatech X98Q Date: Wed, 22 Apr 2026 11:58:39 +0200 Message-ID: <20260422095840.26139-2-christian.koever-draxl@student.uibk.ac.at> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260422095840.26139-1-christian.koever-draxl@student.uibk.ac.at> References: <20260422095840.26139-1-christian.koever-draxl@student.uibk.ac.at> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: () -12.0 ALL_TRUSTED,RCV_SMTP_AUTH,RCV_SMTP_UIBK,UIBK_PHI_SUBJ,U_H_APTO_LONG,U_RCPTS_11_PLUS X-Scanned-By: MIMEDefang_3.2_at_uibk.ac.at From: Christian Stefan K=C3=B6v=C3=A9r-Draxl Add the board binding for the Amediatech X98Q TV box. Signed-off-by: Christian Stefan K=C3=B6v=C3=A9r-Draxl Acked-by: Conor Dooley --- Documentation/devicetree/bindings/arm/amlogic.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documenta= tion/devicetree/bindings/arm/amlogic.yaml index a885278bc4e2..c0167fbc310a 100644 --- a/Documentation/devicetree/bindings/arm/amlogic.yaml +++ b/Documentation/devicetree/bindings/arm/amlogic.yaml @@ -248,6 +248,13 @@ properties: - const: amlogic,s805x2 - const: amlogic,s4 =20 + - description: Boards with the Amlogic Meson S4 S905W2 SoC + items: + - enum: + - amediatech,x98q + - const: amlogic,s905w2 + - const: amlogic,s4 + - description: Boards with the Amlogic Meson S4 S905Y4 SoC items: - enum: --=20 2.53.0 From nobody Wed Jun 17 04:17:32 2026 Received: from smtp.uibk.ac.at (smtp.uibk.ac.at [138.232.1.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 94D653CAE92; Wed, 22 Apr 2026 09:59:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=138.232.1.140 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776851999; cv=none; b=JEs76EeWi4VCCY0PY8JzUgbrcUFLAwyTDOR6CfXRi2GE13R0EHn0/LAh0i8TY6FyPAZ7geJujort5Kl8v5w4gbzypxnqn1lxgDxokP9VJSI1e2KlCv4dkZbnxR84tbFo7EKH9cehuwWM83ETR0meELQ6b0KO7lUYbRIMBdyMc/c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776851999; c=relaxed/simple; bh=G/MmvhG96OuCjmhGl9RZBnwj8B+IdANKCd+Vhl3D0W0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=tOekpyrArNiFNJwz23gV0KnspYYNCSDh8+pB+XU71bMQQCYvDQsb32MqYu5AbzJxdpsldjuxXM/zeKeKZocCM4GuScL2W6MYPaUWG2I5k9bt2iMAE1JZv6HTktpdRsRAru3dQyBjUoTEKF+XOeer3AvIQGpPUIvHQGSRo93ZRzI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=student.uibk.ac.at; spf=pass smtp.mailfrom=student.uibk.ac.at; dkim=pass (1024-bit key) header.d=student.uibk.ac.at header.i=@student.uibk.ac.at header.b=ca19KtYa; arc=none smtp.client-ip=138.232.1.140 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=student.uibk.ac.at Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=student.uibk.ac.at Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=student.uibk.ac.at header.i=@student.uibk.ac.at header.b="ca19KtYa" Received: from surface-pro-5 (77.119.189.253.wireless.dyn.drei.com [77.119.189.253]) (authenticated bits=0) by smtp.uibk.ac.at (8.15.2/8.15.2/F1) with ESMTPSA id 63M9xVO53161132 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 22 Apr 2026 11:59:40 +0200 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp.uibk.ac.at 63M9xVO53161132 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=student.uibk.ac.at; s=prod24a; t=1776851981; bh=8rSPH1Ufpn7dxM923OsHjQmIEJkfB369DwjgRRG4exM=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=ca19KtYaqE3O5ti2qH6QuNKOVOVA47RI1IUySoWa17nsJSYBoKRff7ikVECiW7xpF pcTcGTalmiXuaQCbja45gfDdpnGASsveEc2OiIa5l8rw6iti2a0K/zjLRKs5Cqf2Jd HrDmyjsjGXPsBFjd07h69VotgO6ycu7WvR4B1ecg= From: christian.koever-draxl@student.uibk.ac.at To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, neil.armstrong@linaro.org, khilman@baylibre.com Cc: jbrunet@baylibre.com, martin.blumenstingl@googlemail.com, devicetree@vger.kernel.org, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Christian=20Stefan=20K=C3=B6v=C3=A9r-Draxl?= Subject: [PATCH v4 2/2] arm64: dts: amlogic: add support for Amediatech X98Q Date: Wed, 22 Apr 2026 11:58:40 +0200 Message-ID: <20260422095840.26139-3-christian.koever-draxl@student.uibk.ac.at> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260422095840.26139-1-christian.koever-draxl@student.uibk.ac.at> References: <20260422095840.26139-1-christian.koever-draxl@student.uibk.ac.at> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: () -12.0 ALL_TRUSTED,RCV_SMTP_AUTH,RCV_SMTP_UIBK,UIBK_PHI_SUBJ,U_H_APTO_LONG,U_RCPTS_11_PLUS X-Scanned-By: MIMEDefang_3.2_at_uibk.ac.at From: Christian Stefan K=C3=B6v=C3=A9r-Draxl Add dts enabling core hardware for the Amediatech X98Q TV box. The board features: - Amlogic S905W2 (Meson S4) SoC - 1 GiB RAM (2 GiB variants exist) - eMMC and microSD card slot - SDIO-based WiFi module (unsupported) - RMII Ethernet with internal PHY - IR receiver and UART console - Status LED Enabled peripherals: - eMMC (HS200) - SD card interface - SDIO bus (WiFi, no driver yet) - Ethernet (RMII) - UART_B - IR receiver - PWM-controlled CPU regulator - PWM and Fixed regulators for core and IO rails Known limitations: - No support for the onboard WiFi module - Missing multimedia (HDMI/audio) Signed-off-by: Christian Stefan K=C3=B6v=C3=A9r-Draxl --- arch/arm64/boot/dts/amlogic/Makefile | 1 + .../boot/dts/amlogic/meson-s4-s905w2-x98q.dts | 249 ++++++++++++++++++ 2 files changed, 250 insertions(+) create mode 100644 arch/arm64/boot/dts/amlogic/meson-s4-s905w2-x98q.dts diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/aml= ogic/Makefile index 15f9c817e502..c7752684dea6 100644 --- a/arch/arm64/boot/dts/amlogic/Makefile +++ b/arch/arm64/boot/dts/amlogic/Makefile @@ -85,6 +85,7 @@ dtb-$(CONFIG_ARCH_MESON) +=3D meson-gxm-ugoos-am3.dtb dtb-$(CONFIG_ARCH_MESON) +=3D meson-gxm-vega-s96.dtb dtb-$(CONFIG_ARCH_MESON) +=3D meson-gxm-wetek-core2.dtb dtb-$(CONFIG_ARCH_MESON) +=3D meson-s4-s805x2-aq222.dtb +dtb-$(CONFIG_ARCH_MESON) +=3D meson-s4-s905w2-x98q.dtb dtb-$(CONFIG_ARCH_MESON) +=3D meson-s4-s905y4-khadas-vim1s.dtb dtb-$(CONFIG_ARCH_MESON) +=3D meson-sm1-a95xf3-air-gbit.dtb dtb-$(CONFIG_ARCH_MESON) +=3D meson-sm1-a95xf3-air.dtb diff --git a/arch/arm64/boot/dts/amlogic/meson-s4-s905w2-x98q.dts b/arch/ar= m64/boot/dts/amlogic/meson-s4-s905w2-x98q.dts index 000000000000..3eecbc858522 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson-s4-s905w2-x98q.dts @@ -0,0 +1,249 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2026 Christian Stefan K=C3=B6ver-Draxl + * Based on meson-s4-s905y4-khadas-vim1s.dts: + * - Copyright (c) 2026 Khadas Technology Co., Ltd. + */ + +/dts-v1/; + +#include "meson-s4.dtsi" + +/ { + model =3D "Shenzhen Amediatech Technology Co., Ltd X98Q"; + compatible =3D "amediatech,x98q", "amlogic,s905w2", "amlogic,s4"; + interrupt-parent =3D <&gic>; + #address-cells =3D <2>; + #size-cells =3D <2>; + + aliases { + mmc0 =3D &emmc; /* eMMC */ + mmc1 =3D &sd; /* SD card */ + mmc2 =3D &sdio; /* SDIO */ + serial0 =3D &uart_b; + }; + + memory@0 { + device_type =3D "memory"; + reg =3D <0x0 0x0 0x0 0x40000000>; + }; + + reserved-memory { + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges; + + /* 52 MiB reserved for ARM Trusted Firmware */ + secmon_reserved: secmon@5000000 { + reg =3D <0x0 0x05000000 0x0 0x3400000>; + no-map; + }; + }; + + emmc_pwrseq: emmc-pwrseq { + compatible =3D "mmc-pwrseq-emmc"; + reset-gpios =3D <&gpio GPIOB_9 GPIO_ACTIVE_LOW>; + }; + + sdio_32k: sdio-32k { + compatible =3D "pwm-clock"; + #clock-cells =3D <0>; + clock-frequency =3D <32768>; + pwms =3D <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ + }; + + sdio_pwrseq: sdio-pwrseq { + compatible =3D "mmc-pwrseq-simple"; + reset-gpios =3D <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; + clocks =3D <&sdio_32k>; + clock-names =3D "ext_clock"; + }; + + main_5v: regulator-main-5v { + compatible =3D "regulator-fixed"; + regulator-name =3D "5V"; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + regulator-always-on; + }; + + sd_3v3: regulator-sd-3v3 { + compatible =3D "regulator-fixed"; + regulator-name =3D "SD_3V3"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + gpio =3D <&gpio GPIOD_4 GPIO_ACTIVE_LOW>; + regulator-always-on; + }; + + vddio_sd: regulator-vddio-sd { + compatible =3D "regulator-gpio"; + regulator-name =3D "VDDIO_SD"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <3300000>; + gpios =3D <&gpio GPIOD_9 GPIO_ACTIVE_HIGH>; + gpios-states =3D <1>; + states =3D <1800000 1 3300000 0>; + }; + + vddao_3v3: regulator-vddao-3v3 { + compatible =3D "regulator-fixed"; + regulator-name =3D "VDDAO_3V3"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + vin-supply =3D <&main_5v>; + regulator-always-on; + }; + + vddio_ao1v8: regulator-vddio-ao1v8 { + compatible =3D "regulator-fixed"; + regulator-name =3D "VDDIO_AO1V8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + vin-supply =3D <&vddao_3v3>; + regulator-always-on; + }; + + /* SY8120B1ABC DC/DC Regulator. */ + vddcpu: regulator-vddcpu { + compatible =3D "pwm-regulator"; + + regulator-name =3D "VDDCPU"; + regulator-min-microvolt =3D <689000>; + regulator-max-microvolt =3D <1049000>; + + vin-supply =3D <&main_5v>; + + pwms =3D <&pwm_ij 1 1500 0>; + pwm-dutycycle-range =3D <100 0>; + + regulator-boot-on; + regulator-always-on; + /* Voltage Duty-Cycle */ + voltage-table =3D <1049000 0>, + <1039000 3>, + <1029000 6>, + <1019000 9>, + <1009000 12>, + <999000 14>, + <989000 17>, + <979000 20>, + <969000 23>, + <959000 26>, + <949000 29>, + <939000 31>, + <929000 34>, + <919000 37>, + <909000 40>, + <899000 43>, + <889000 45>, + <879000 48>, + <869000 51>, + <859000 54>, + <849000 56>, + <839000 59>, + <829000 62>, + <819000 65>, + <809000 68>, + <799000 70>, + <789000 73>, + <779000 76>, + <769000 79>, + <759000 81>, + <749000 84>, + <739000 87>, + <729000 89>, + <719000 92>, + <709000 95>, + <699000 98>, + <689000 100>; + }; +}; + +&emmc { + status =3D "okay"; + pinctrl-0 =3D <&emmc_pins>, <&emmc_ds_pins>; + pinctrl-1 =3D <&emmc_clk_gate_pins>; + pinctrl-names =3D "default", "clk-gate"; + + bus-width =3D <8>; + cap-mmc-highspeed; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + max-frequency =3D <200000000>; + non-removable; + disable-wp; + + mmc-pwrseq =3D <&emmc_pwrseq>; + vmmc-supply =3D <&vddao_3v3>; + vqmmc-supply =3D <&vddio_ao1v8>; +}; + +ðmac { + status =3D "okay"; + phy-handle =3D <&internal_ephy>; + phy-mode =3D "rmii"; +}; + +&ir { + status =3D "okay"; + pinctrl-0 =3D <&remote_pins>; + pinctrl-names =3D "default"; +}; + +&pwm_ef { + status =3D "okay"; + pinctrl-0 =3D <&pwm_e_pins1>; + pinctrl-names =3D "default"; +}; + +&pwm_ij { + status =3D "okay"; +}; + +&sd { + status =3D "okay"; + pinctrl-0 =3D <&sdcard_pins>; + pinctrl-1 =3D <&sdcard_clk_gate_pins>; + pinctrl-names =3D "default", "clk-gate"; + bus-width =3D <4>; + cap-sd-highspeed; + max-frequency =3D <50000000>; + disable-wp; + + cd-gpios =3D <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; + + vmmc-supply =3D <&vddao_3v3>; + vqmmc-supply =3D <&vddao_3v3>; +}; + + /* + * Wireless SDIO Module (Amlogic W150S1) + * Note: There is no driver for this at the moment. + */ + +&sdio { + status =3D "okay"; + pinctrl-0 =3D <&sdio_pins>; + pinctrl-1 =3D <&sdio_clk_gate_pins>; + pinctrl-names =3D "default", "clk-gate"; + #address-cells =3D <1>; + #size-cells =3D <0>; + bus-width =3D <4>; + cap-sd-highspeed; + sd-uhs-sdr50; + sd-uhs-sdr104; + max-frequency =3D <200000000>; + non-removable; + disable-wp; + + no-sd; + no-mmc; + mmc-pwrseq =3D <&sdio_pwrseq>; + vmmc-supply =3D <&vddao_3v3>; + vqmmc-supply =3D <&vddio_ao1v8>; +}; + +&uart_b { + status =3D "okay"; +}; --=20 2.53.0