diff --git a/device/testing/device-amlogic-tvbox/APKBUILD b/device/testing/device-amlogic-tvbox/APKBUILD index 557d05ccc..cf7a52090 100644 --- a/device/testing/device-amlogic-tvbox/APKBUILD +++ b/device/testing/device-amlogic-tvbox/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Ferass El Hafidi pkgname=device-amlogic-tvbox pkgdesc="Amlogic TV box" -pkgver=3 +pkgver=4 pkgrel=0 url="https://postmarketos.org" license="MIT" @@ -22,6 +22,7 @@ subpackages=" $pkgname-kernel-p201:kernel_p201 $pkgname-kernel-p212:kernel_p212 $pkgname-kernel-p241:kernel_p241 + $pkgname-kernel-ugoos-am3:kernel_ugoos_am3 $pkgname-kernel-videostrong-kii-pro:kernel_videostrong_kii_pro $pkgname-kernel-xiaomi-once:kernel_xiaomi_once " @@ -52,6 +53,12 @@ kernel_p241() { devicepkg_subpackage_kernel $startdir $pkgname $subpkgname } +kernel_ugoos_am3() { + pkgdesc="Kernel for Ugoos AM3 (S912)" + depends="linux-postmarketos-amlogic" + devicepkg_subpackage_kernel $startdir $pkgname $subpkgname +} + kernel_videostrong_kii_pro() { pkgdesc="Kernel for Videostrong KII Pro (S905)" depends="linux-postmarketos-amlogic u-boot-amlogic-s905-tv" @@ -66,6 +73,6 @@ kernel_xiaomi_once() { } sha512sums=" -023525ee19a406b07eaea846a6c291d2e93c191c15c907a23f0d16cc17bb71e7e9b3b912d9f07b4010068202d3ca6c85c740beb451f24dadf3c7481c3bb4295e deviceinfo +9f1463d37a2f9099a0324197310b672ea16aa5f8f946f33d86f927fc6d10f7495695c41ef6e9fdda7371b5825d74ead9993da268ba817a597ea834811b6e3c51 deviceinfo 52948c2884a6f6384e12b7a598f70878526d0d3293c214425170145231144ec7de805c038641741a4a5d75b50e554f6a3fa3769784a674217ed032f9b6a233c8 modules-initfs " diff --git a/device/testing/device-amlogic-tvbox/deviceinfo b/device/testing/device-amlogic-tvbox/deviceinfo index bfa2acbf6..5aa7a8558 100644 --- a/device/testing/device-amlogic-tvbox/deviceinfo +++ b/device/testing/device-amlogic-tvbox/deviceinfo @@ -12,6 +12,7 @@ deviceinfo_dtb_p212="amlogic/meson-gxl-p212" deviceinfo_dtb_p241="amlogic/meson-gxl-s805x-p241" deviceinfo_dtb_videostrong_kii_pro="amlogic/meson-gxbb-kii-pro" deviceinfo_dtb_xiaomi_once="amlogic/meson-gxl-s905x-xiaomi-once" +deviceinfo_dtb_ugoos_am3="amlogic/meson-gxm-ugoos-am3" deviceinfo_arch="aarch64" deviceinfo_partition_type="msdos" diff --git a/device/testing/linux-postmarketos-amlogic/0004-arm64-dts-amlogic-Add-Ugoos-AM3.patch b/device/testing/linux-postmarketos-amlogic/0004-arm64-dts-amlogic-Add-Ugoos-AM3.patch new file mode 100644 index 000000000..edee00998 --- /dev/null +++ b/device/testing/linux-postmarketos-amlogic/0004-arm64-dts-amlogic-Add-Ugoos-AM3.patch @@ -0,0 +1,166 @@ +From 0cd647ad564d95733f6ae33f449226ba71392163 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=2E=20Neusch=C3=A4fer?= +Date: Sat, 22 Feb 2025 03:24:54 +0100 +Subject: [PATCH] arm64: dts: amlogic: Add Ugoos AM3 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +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 +--- + arch/arm64/boot/dts/amlogic/Makefile | 1 + + .../boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 2 +- + .../boot/dts/amlogic/meson-gxm-ugoos-am3.dts | 95 +++++++++++++++++++ + 3 files changed, 97 insertions(+), 1 deletion(-) + create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxm-ugoos-am3.dts + +diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile +index 2fbda8419c65a3..bf2bc14528bfa2 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 45ccddd1aaf054..4223b26f7d0f3a 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 00000000000000..c413736f4096df +--- /dev/null ++++ b/arch/arm64/boot/dts/amlogic/meson-gxm-ugoos-am3.dts +@@ -0,0 +1,95 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * Copyright (C) 2025 J. Neuschäfer ++ * ++ * Debug UART (3.3V, 115200 baud) at the corner of the board: ++ * (4) (3) (2) [1] ++ * Vcc RXD TXD GND ++ */ ++ ++/dts-v1/; ++ ++#include ++#include ++ ++#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 = ; ++ 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>; ++}; ++ ++&sdio_pwrseq { ++ reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_HIGH>; ++}; ++ ++/* eMMC */ ++&sd_emmc_c { ++ max-frequency = <100000000>; ++}; +-- +2.48.0.rc1.219.gb6b6757d772 + diff --git a/device/testing/linux-postmarketos-amlogic/APKBUILD b/device/testing/linux-postmarketos-amlogic/APKBUILD index b4a779297..b9800b5c9 100644 --- a/device/testing/linux-postmarketos-amlogic/APKBUILD +++ b/device/testing/linux-postmarketos-amlogic/APKBUILD @@ -4,7 +4,7 @@ # Co-Maintainer: exkc pkgname=linux-postmarketos-amlogic pkgver=6.10.8 -pkgrel=3 +pkgrel=4 pkgdesc="Mainline kernel for Amlogic devices" arch="aarch64" _carch="arm64" @@ -37,6 +37,7 @@ source=" 0001-ARM64-dts-meson-gxl-add-support-for-the-Xiaomi-Mi-Bo.patch 0002-add-x96-mini-support.patch 0003-add-initial-support-for-zte-b860hv5.patch + 0004-arm64-dts-amlogic-Add-Ugoos-AM3.patch " builddir="$srcdir/linux-$pkgver" @@ -70,4 +71,5 @@ fc18d3402801860ffb1ac4bc897cfa3298b42ad1144c0d0466ead40f5e07e757f9a304e0fcce65f2 2c40c1c32eec37c33034f7c11a0423ce6a752cfb98bab38198a64c20f24545436c3a53f0d50c60236518585d42489314123636395242b3d013d51d65f1977a51 0001-ARM64-dts-meson-gxl-add-support-for-the-Xiaomi-Mi-Bo.patch 4538994c7d3bbb0c4740e8ce108b6838618be239a549e407ca239f3ceca8eed29b5a9ca75d162567dbc06b13ac7caacc61ebf55b247ce6fe122fecc7e5b275d5 0002-add-x96-mini-support.patch 222e7c12dbeb931f325b7d4a306c2f1e835992b5503ba3ab387a0b006e0fb2226291d93f32aec8ac7b2f6cf15704f20ef3285bb9bafe7374b11a034639d786ef 0003-add-initial-support-for-zte-b860hv5.patch +90602f3158408c81a072e868abf3d752624a14b3d0aacde7ec410a2fbb13d7d400e75e9c657ee85ffdc48d79928986f580d0ad343e6392d6b32efb1e4530f302 0004-arm64-dts-amlogic-Add-Ugoos-AM3.patch "