* [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
* 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
* [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 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).