From nobody Tue Jun 16 12:48:40 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 9A69638B142; Fri, 24 Apr 2026 09:37:22 +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=1777023444; cv=none; b=HXcd7VTz8kD6fDBfANZIoD/2Vk1dwH85zK30H+MGOTveBlstbAgSbOJ4IkE0hwmLzQzUYYdDf7zHu2K6CWHhQYvPhz/qdxXZzwXWB2UdnEn2xCIF+7WML8j7fULJrJTajWDn3i+LJveaOhBgQx4BEPs479nAUCCQCw4hF8zOldE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777023444; c=relaxed/simple; bh=a0V0e+SBbKgLrqg7xX2uz/rnFz+l0ndpLNjHfaL2BdM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=JkzzCrmvIy9Xmrw3uauZMTQ5YxuWFa3G8DVKATyttrczWP8nA1NJqCifX7RT8PoKRLeXyLOvswAS5XBTWAiFy675rgGMDCcsj6NI3wC+vJQ/J2jpN0OjS5TxQ/REkK1tYWCJZ0pJjQvO/xhoEvu/2JoI4T3GPJCYi4DsF6ZPbbE= 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=rJ08/PGW; 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="rJ08/PGW" Received: from surface-pro-5 (77.119.189.242.wireless.dyn.drei.com [77.119.189.242]) (authenticated bits=0) by smtp.uibk.ac.at (8.15.2/8.15.2/F1) with ESMTPSA id 63O9agoA1184944 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 24 Apr 2026 11:36:52 +0200 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp.uibk.ac.at 63O9agoA1184944 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=student.uibk.ac.at; s=prod24a; t=1777023412; bh=r7frfbPf1U6f464ol2QjGAiiMus/6aLxPIWxUChKGh4=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=rJ08/PGWx1y9C+1JnR1Bm2TC2dGyA+Lc+AJh5zw1Ruv97sMM5l3b6SjBhswp/jZBF EmQrOjumbHuIH1BoP8agAdkXZ6rurK2MEKC6XGiLavkVInMagJ5DoYA736qXgKFC0/ s14uYtM2xxpMLIVMdwwG2j6pyzjxD51yIIR1aYHM= 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 v5 1/2] dt-bindings: arm: amlogic: add support for Amediatech X98Q Date: Fri, 24 Apr 2026 11:36:32 +0200 Message-ID: <20260424093633.10734-2-christian.koever-draxl@student.uibk.ac.at> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260424093633.10734-1-christian.koever-draxl@student.uibk.ac.at> References: <20260424093633.10734-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.54.0 From nobody Tue Jun 16 12:48:40 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 9803638A736; Fri, 24 Apr 2026 09:37:20 +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=1777023443; cv=none; b=YgiqlhUcmF/5j30xv3ipw8rRxBQUJyWVpC7mfBUlISCfGs7N1381aJJJ7NorWaIPYy0dCOfhcm0TSn5sR4WvO5Rps4SNv4PDAp/jpqup+n65dnCPZSoRY+GBP4QyIjRKpAAzKsb/zXJHHw4FJw2K4LjdFIz24xCPR74tw58I4Mk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777023443; c=relaxed/simple; bh=yJjNdQ4gyuL1fvWl0noG443oVd2WFaesEfV/4B691WA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=KVK8uFJjQjC6yyolAedmnLhVlux7TtsuwG3GFULMRuQjGtWiqIDfyZGUlkg6WKl/g/p4NuOz2SzjyKflJfAvMm3Ef1y+C8UCiTKEZaKMA5xpCxpx54UERz09K7pTfbj7shYYLN9B2oAeLntZ3y2rJZMamBhY1fZirYzgESlLPdk= 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=C9Mn7oN9; 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="C9Mn7oN9" Received: from surface-pro-5 (77.119.189.242.wireless.dyn.drei.com [77.119.189.242]) (authenticated bits=0) by smtp.uibk.ac.at (8.15.2/8.15.2/F1) with ESMTPSA id 63O9agoB1184944 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 24 Apr 2026 11:36:55 +0200 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp.uibk.ac.at 63O9agoB1184944 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=student.uibk.ac.at; s=prod24a; t=1777023416; bh=vtG9ryUpXaA3g5Jnj/VxKyr4WUiVR8itH9Y90O6bAZ0=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=C9Mn7oN9Xepx/TzBsJ6uVR/5oFnewznAKw1wJG0yQbZmoQ40cGANJldIQIaQX2GnN gOESh+bOlrIGcrvhptpUtHaK7voNEBcn+XGTRhbZcn9yGITqbSFtSnkJ2102iYZkSq 9q+xi8pwD5uKWrV1ZFS+OlhEiQCKJltGnngAZi8o= 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 v5 2/2] arm64: dts: amlogic: add support for Amediatech X98Q Date: Fri, 24 Apr 2026 11:36:33 +0200 Message-ID: <20260424093633.10734-3-christian.koever-draxl@student.uibk.ac.at> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260424093633.10734-1-christian.koever-draxl@student.uibk.ac.at> References: <20260424093633.10734-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..fe84259a20f3 --- /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>; +}; + +&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>; + + wifi: wifi@1 { + /* Amlogic W150S1 */ + reg =3D <1>; + }; +}; + +&uart_b { + status =3D "okay"; +}; --=20 2.54.0