* [PATCH v2 0/2] arm64: Device Tree for Ugoos AM3 board
@ 2025-03-13 23:10 J. Neuschäfer via B4 Relay
2025-03-13 23:10 ` [PATCH v2 1/2] dt-bindings: arm: amlogic: Add Ugoos AM3 J. Neuschäfer via B4 Relay
2025-03-13 23:11 ` [PATCH v2 2/2] arm64: dts: " J. Neuschäfer via B4 Relay
0 siblings, 2 replies; 6+ messages in thread
From: J. Neuschäfer via B4 Relay @ 2025-03-13 23:10 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Neil Armstrong,
Martin Blumenstingl, Jerome Brunet, Kevin Hilman
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-amlogic,
J. Neuschäfer, Krzysztof Kozlowski
This patchset adds a device tree for Ugoos AM3, an Android TV box from
2018. Most hardware functionality has been tested, as noted in patch 2/2.
Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
---
Changes in v2:
- fix vendor name in patch subjects
- fix mistake that made wifi not work
- apply Krzysztof's ACK to patch 1/2
- Link to v1: https://lore.kernel.org/r/20250309-ugoos-am3-v1-0-38cab5a4725b@posteo.net
---
J. Neuschäfer (2):
dt-bindings: arm: amlogic: Add Ugoos AM3
arm64: dts: amlogic: Add Ugoos AM3
Documentation/devicetree/bindings/arm/amlogic.yaml | 1 +
arch/arm64/boot/dts/amlogic/Makefile | 1 +
.../arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 2 +-
.../arm64/boot/dts/amlogic/meson-gxm-ugoos-am3.dts | 91 ++++++++++++++++++++++
4 files changed, 94 insertions(+), 1 deletion(-)
---
base-commit: 2014c95afecee3e76ca4a56956a936e23283f05b
change-id: 20250222-ugoos-am3-f67413860434
Best regards,
--
J. Neuschäfer <j.ne@posteo.net>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 1/2] dt-bindings: arm: amlogic: Add Ugoos AM3
2025-03-13 23:10 [PATCH v2 0/2] arm64: Device Tree for Ugoos AM3 board J. Neuschäfer via B4 Relay
@ 2025-03-13 23:10 ` J. Neuschäfer via B4 Relay
2025-03-19 22:22 ` Martin Blumenstingl
2025-03-13 23:11 ` [PATCH v2 2/2] arm64: dts: " J. Neuschäfer via B4 Relay
1 sibling, 1 reply; 6+ messages in thread
From: J. Neuschäfer via B4 Relay @ 2025-03-13 23:10 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Neil Armstrong,
Martin Blumenstingl, Jerome Brunet, Kevin Hilman
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-amlogic,
J. Neuschäfer, Krzysztof Kozlowski
From: "J. Neuschäfer" <j.ne@posteo.net>
The Ugoos AM3 is a small set-top box based on the Amlogic S912 SoC.
https://ugoos.com/ugoos-am3-16g
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
---
V2:
- fix vendor name in patch subject
- add Krzysztof's ACK
---
Documentation/devicetree/bindings/arm/amlogic.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml
index 0647851ae1f55a27bfb148252532bcf15ca905bf..779568f158ce985e1d12fbee73418549cfc58705 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.yaml
+++ b/Documentation/devicetree/bindings/arm/amlogic.yaml
@@ -127,6 +127,7 @@ properties:
- minix,neo-u9h
- nexbox,a1
- tronsmart,vega-s96
+ - ugoos,am3
- videostrong,gxm-kiii-pro
- wetek,core2
- const: amlogic,s912
--
2.48.0.rc1.219.gb6b6757d772
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 2/2] arm64: dts: amlogic: Add Ugoos AM3
2025-03-13 23:10 [PATCH v2 0/2] arm64: Device Tree for Ugoos AM3 board J. Neuschäfer via B4 Relay
2025-03-13 23:10 ` [PATCH v2 1/2] dt-bindings: arm: amlogic: Add Ugoos AM3 J. Neuschäfer via B4 Relay
@ 2025-03-13 23:11 ` J. Neuschäfer via B4 Relay
2025-03-18 10:24 ` Neil Armstrong
2025-03-19 22:26 ` Martin Blumenstingl
1 sibling, 2 replies; 6+ messages in thread
From: J. Neuschäfer via B4 Relay @ 2025-03-13 23:11 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Neil Armstrong,
Martin Blumenstingl, Jerome Brunet, Kevin Hilman
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-amlogic,
J. Neuschäfer
From: "J. Neuschäfer" <j.ne@posteo.net>
The Ugoos AM3 is a small set-top box based on the Amlogic S912 SoC,
with a board design that is very close to the Q20x development boards.
The MMC max-frequency properties are copied from the downstream device
tree.
https://ugoos.com/ugoos-am3-16g
The following functionality has been tested and is known to work:
- debug serial port
- "update" button inside the case
- USB host mode, on all three ports
- HDMI video/audio output
- eMMC, MicroSD, and SDIO WLAN
- S/PDIF audio output
- Ethernet
- Infrared remote control input
The following functionality doesn't seem to work:
- USB role switching and device mode on the "OTG" port
- case LED
Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
---
V2:
- Fix vendor name in patch subject
- Remove incorrect override of SDIO pwrseq reset line
---
arch/arm64/boot/dts/amlogic/Makefile | 1 +
.../arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 2 +-
.../arm64/boot/dts/amlogic/meson-gxm-ugoos-am3.dts | 91 ++++++++++++++++++++++
3 files changed, 93 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
index 2fbda8419c65a3056410ac45ca3ddaceb69ea4f5..bf2bc14528bfa27e8d6ae2730085fc356d6c6dd8 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -76,6 +76,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q200.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q201.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-rbox-pro.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-s912-libretech-pc.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-gxm-ugoos-am3.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-vega-s96.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-wetek-core2.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-s4-s805x2-aq222.dtb
diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
index 45ccddd1aaf0546632c81a52c8917a923beae883..4223b26f7d0f3aa47e42e9434d24f73b20441981 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
@@ -97,7 +97,7 @@ sdio_pwrseq: sdio-pwrseq {
clock-names = "ext_clock";
};
- cvbs-connector {
+ cvbs_connector: cvbs-connector {
compatible = "composite-video-connector";
port {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-ugoos-am3.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-ugoos-am3.dts
new file mode 100644
index 0000000000000000000000000000000000000000..ba871f3f53bb99b47b325bae228b59b722c5123b
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-ugoos-am3.dts
@@ -0,0 +1,91 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2025 J. Neuschäfer <j.ne@posteo.net>
+ *
+ * Debug UART (3.3V, 115200 baud) at the corner of the board:
+ * (4) (3) (2) [1]
+ * Vcc RXD TXD GND
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/interrupt-controller/amlogic,meson-g12a-gpio-intc.h>
+
+#include "meson-gxm.dtsi"
+#include "meson-gx-p23x-q20x.dtsi"
+
+/ {
+ compatible = "ugoos,am3", "amlogic,s912", "amlogic,meson-gxm";
+ model = "Ugoos AM3";
+
+ adc-keys {
+ compatible = "adc-keys";
+ io-channels = <&saradc 0>;
+ io-channel-names = "buttons";
+ keyup-threshold-microvolt = <1710000>;
+
+ button-function {
+ label = "Update";
+ linux,code = <KEY_VENDOR>;
+ press-threshold-microvolt = <10000>;
+ };
+ };
+};
+
+&cvbs_connector {
+ /* Not used on this board */
+ status = "disabled";
+};
+
+ðmac {
+ pinctrl-0 = <ð_pins>;
+ pinctrl-names = "default";
+
+ /* Select external PHY by default */
+ phy-handle = <&external_phy>;
+
+ amlogic,tx-delay-ns = <2>;
+
+ /* External PHY is in RGMII */
+ phy-mode = "rgmii";
+
+ status = "okay";
+};
+
+&external_mdio {
+ external_phy: ethernet-phy@0 {
+ /* Realtek RTL8211F (0x001cc916) */
+ reg = <0>;
+
+ reset-assert-us = <10000>;
+ reset-deassert-us = <80000>;
+ reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
+
+ interrupt-parent = <&gpio_intc>;
+ /* MAC_INTR on GPIOZ_15 */
+ interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
+ };
+};
+
+&i2c_B {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c_b_pins>;
+
+ rtc: rtc@51 {
+ compatible = "haoyu,hym8563";
+ reg = <0x51>;
+ #clock-cells = <0>;
+ };
+};
+
+/* WLAN: Atheros 10k (QCA9377) */
+&sd_emmc_a {
+ max-frequency = <200000000>;
+};
+
+/* eMMC */
+&sd_emmc_c {
+ max-frequency = <100000000>;
+};
--
2.48.0.rc1.219.gb6b6757d772
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 2/2] arm64: dts: amlogic: Add Ugoos AM3
2025-03-13 23:11 ` [PATCH v2 2/2] arm64: dts: " J. Neuschäfer via B4 Relay
@ 2025-03-18 10:24 ` Neil Armstrong
2025-03-19 22:26 ` Martin Blumenstingl
1 sibling, 0 replies; 6+ messages in thread
From: Neil Armstrong @ 2025-03-18 10:24 UTC (permalink / raw)
To: j.ne, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Martin Blumenstingl, Jerome Brunet, Kevin Hilman
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-amlogic
On 14/03/2025 00:11, J. Neuschäfer via B4 Relay wrote:
> From: "J. Neuschäfer" <j.ne@posteo.net>
>
> The Ugoos AM3 is a small set-top box based on the Amlogic S912 SoC,
> with a board design that is very close to the Q20x development boards.
> The MMC max-frequency properties are copied from the downstream device
> tree.
>
> https://ugoos.com/ugoos-am3-16g
>
> The following functionality has been tested and is known to work:
> - debug serial port
> - "update" button inside the case
> - USB host mode, on all three ports
> - HDMI video/audio output
> - eMMC, MicroSD, and SDIO WLAN
> - S/PDIF audio output
> - Ethernet
> - Infrared remote control input
>
> The following functionality doesn't seem to work:
> - USB role switching and device mode on the "OTG" port
> - case LED
>
> Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
> ---
>
> V2:
> - Fix vendor name in patch subject
> - Remove incorrect override of SDIO pwrseq reset line
> ---
> arch/arm64/boot/dts/amlogic/Makefile | 1 +
> .../arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 2 +-
> .../arm64/boot/dts/amlogic/meson-gxm-ugoos-am3.dts | 91 ++++++++++++++++++++++
> 3 files changed, 93 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
> index 2fbda8419c65a3056410ac45ca3ddaceb69ea4f5..bf2bc14528bfa27e8d6ae2730085fc356d6c6dd8 100644
> --- a/arch/arm64/boot/dts/amlogic/Makefile
> +++ b/arch/arm64/boot/dts/amlogic/Makefile
> @@ -76,6 +76,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q200.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q201.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-gxm-rbox-pro.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-gxm-s912-libretech-pc.dtb
> +dtb-$(CONFIG_ARCH_MESON) += meson-gxm-ugoos-am3.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-gxm-vega-s96.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-gxm-wetek-core2.dtb
> dtb-$(CONFIG_ARCH_MESON) += meson-s4-s805x2-aq222.dtb
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
> index 45ccddd1aaf0546632c81a52c8917a923beae883..4223b26f7d0f3aa47e42e9434d24f73b20441981 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
> @@ -97,7 +97,7 @@ sdio_pwrseq: sdio-pwrseq {
> clock-names = "ext_clock";
> };
>
> - cvbs-connector {
> + cvbs_connector: cvbs-connector {
> compatible = "composite-video-connector";
>
> port {
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-ugoos-am3.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-ugoos-am3.dts
> new file mode 100644
> index 0000000000000000000000000000000000000000..ba871f3f53bb99b47b325bae228b59b722c5123b
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-gxm-ugoos-am3.dts
> @@ -0,0 +1,91 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (C) 2025 J. Neuschäfer <j.ne@posteo.net>
> + *
> + * Debug UART (3.3V, 115200 baud) at the corner of the board:
> + * (4) (3) (2) [1]
> + * Vcc RXD TXD GND
> + */
> +
> +/dts-v1/;
> +
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/interrupt-controller/amlogic,meson-g12a-gpio-intc.h>
> +
> +#include "meson-gxm.dtsi"
> +#include "meson-gx-p23x-q20x.dtsi"
> +
> +/ {
> + compatible = "ugoos,am3", "amlogic,s912", "amlogic,meson-gxm";
> + model = "Ugoos AM3";
> +
> + adc-keys {
> + compatible = "adc-keys";
> + io-channels = <&saradc 0>;
> + io-channel-names = "buttons";
> + keyup-threshold-microvolt = <1710000>;
> +
> + button-function {
> + label = "Update";
> + linux,code = <KEY_VENDOR>;
> + press-threshold-microvolt = <10000>;
> + };
> + };
> +};
> +
> +&cvbs_connector {
> + /* Not used on this board */
> + status = "disabled";
> +};
> +
> +ðmac {
> + pinctrl-0 = <ð_pins>;
> + pinctrl-names = "default";
> +
> + /* Select external PHY by default */
> + phy-handle = <&external_phy>;
> +
> + amlogic,tx-delay-ns = <2>;
> +
> + /* External PHY is in RGMII */
> + phy-mode = "rgmii";
> +
> + status = "okay";
> +};
> +
> +&external_mdio {
> + external_phy: ethernet-phy@0 {
> + /* Realtek RTL8211F (0x001cc916) */
> + reg = <0>;
> +
> + reset-assert-us = <10000>;
> + reset-deassert-us = <80000>;
> + reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
> +
> + interrupt-parent = <&gpio_intc>;
> + /* MAC_INTR on GPIOZ_15 */
> + interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
> + };
> +};
> +
> +&i2c_B {
> + status = "okay";
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2c_b_pins>;
> +
> + rtc: rtc@51 {
> + compatible = "haoyu,hym8563";
> + reg = <0x51>;
> + #clock-cells = <0>;
> + };
> +};
> +
> +/* WLAN: Atheros 10k (QCA9377) */
> +&sd_emmc_a {
> + max-frequency = <200000000>;
> +};
> +
> +/* eMMC */
> +&sd_emmc_c {
> + max-frequency = <100000000>;
> +};
>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: arm: amlogic: Add Ugoos AM3
2025-03-13 23:10 ` [PATCH v2 1/2] dt-bindings: arm: amlogic: Add Ugoos AM3 J. Neuschäfer via B4 Relay
@ 2025-03-19 22:22 ` Martin Blumenstingl
0 siblings, 0 replies; 6+ messages in thread
From: Martin Blumenstingl @ 2025-03-19 22:22 UTC (permalink / raw)
To: j.ne
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Neil Armstrong,
Jerome Brunet, Kevin Hilman, devicetree, linux-kernel,
linux-arm-kernel, linux-amlogic, Krzysztof Kozlowski
On Fri, Mar 14, 2025 at 12:11 AM J. Neuschäfer via B4 Relay
<devnull+j.ne.posteo.net@kernel.org> wrote:
>
> From: "J. Neuschäfer" <j.ne@posteo.net>
>
> The Ugoos AM3 is a small set-top box based on the Amlogic S912 SoC.
>
> https://ugoos.com/ugoos-am3-16g
>
> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 2/2] arm64: dts: amlogic: Add Ugoos AM3
2025-03-13 23:11 ` [PATCH v2 2/2] arm64: dts: " J. Neuschäfer via B4 Relay
2025-03-18 10:24 ` Neil Armstrong
@ 2025-03-19 22:26 ` Martin Blumenstingl
1 sibling, 0 replies; 6+ messages in thread
From: Martin Blumenstingl @ 2025-03-19 22:26 UTC (permalink / raw)
To: j.ne
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Neil Armstrong,
Jerome Brunet, Kevin Hilman, devicetree, linux-kernel,
linux-arm-kernel, linux-amlogic
On Fri, Mar 14, 2025 at 12:11 AM J. Neuschäfer via B4 Relay
<devnull+j.ne.posteo.net@kernel.org> wrote:
>
> From: "J. Neuschäfer" <j.ne@posteo.net>
>
> The Ugoos AM3 is a small set-top box based on the Amlogic S912 SoC,
> with a board design that is very close to the Q20x development boards.
> The MMC max-frequency properties are copied from the downstream device
> tree.
>
> https://ugoos.com/ugoos-am3-16g
>
> The following functionality has been tested and is known to work:
> - debug serial port
> - "update" button inside the case
> - USB host mode, on all three ports
> - HDMI video/audio output
> - eMMC, MicroSD, and SDIO WLAN
> - S/PDIF audio output
> - Ethernet
> - Infrared remote control input
>
> The following functionality doesn't seem to work:
> - USB role switching and device mode on the "OTG" port
> - case LED
>
> Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-03-19 22:26 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-13 23:10 [PATCH v2 0/2] arm64: Device Tree for Ugoos AM3 board J. Neuschäfer via B4 Relay
2025-03-13 23:10 ` [PATCH v2 1/2] dt-bindings: arm: amlogic: Add Ugoos AM3 J. Neuschäfer via B4 Relay
2025-03-19 22:22 ` Martin Blumenstingl
2025-03-13 23:11 ` [PATCH v2 2/2] arm64: dts: " J. Neuschäfer via B4 Relay
2025-03-18 10:24 ` Neil Armstrong
2025-03-19 22:26 ` Martin Blumenstingl
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).