[PATCH v6 0/2] Add support for Xiaomi Mi TV Stick

Ferass El Hafidi posted 2 patches 7 months, 2 weeks ago
Documentation/devicetree/bindings/arm/amlogic.yaml |   7 +
arch/arm64/boot/dts/amlogic/Makefile               |   1 +
.../dts/amlogic/meson-gxl-s805y-xiaomi-aquaman.dts | 262 +++++++++++++++++++++
arch/arm64/boot/dts/amlogic/meson-gxl-s805y.dtsi   |  10 +
4 files changed, 280 insertions(+)
[PATCH v6 0/2] Add support for Xiaomi Mi TV Stick
Posted by Ferass El Hafidi 7 months, 2 weeks ago
This patch series aims to add initial support for the Xiaomi Mi TV
Stick.

Xiaomi Mi TV Stick is a small Amlogic-based Android TV stick released in 
2020, and known as `xiaomi-aquaman` internally (in the downstream kernel,
u-boot, ...)
Its specifications are as follows:
 * Amlogic S805Y SoC (believed to be mostly identical to S805X)
 * 8 GB eMMC
 * 1 GB of RAM
 * Wi-Fi + Bluetooth
 * Android TV 9, upgradable to Android TV 10
 * Google-certified

There are multiple variants:
 * 1. Green PCB, manufactured in 2020, known UART pinout (helpfully 
   labeled on the board)
 * 2. Blue PCB, not much documentation about it, presumably manufactured
   between 2021 and 2023
 * 3. Green PCB, manufactured in 2023/2024, known UART pinout, some layout
   changes compared to the 2020 variant

Among these variants, there are many boards using multiple different
Wi-Fi chips.  Supporting all of them is out of scope for this patch
series.  However, there has been some work identifying Wi-Fi/Bluetooth 
since v4.  Some variants use a Realtek module while others use an
Amlogic module.

As of the time of writing this has only been tested on the 3rd variant.
It is believed that software-wise all three work mostly the same (if we 
don't count Wi-Fi/BT), but testing on the other variants would still be
appreciated.  Sadly, booting Mainline linux is slightly more
challenging on some versions of the original firmware.

The devicetree is based on the Amlogic P241 DTS.

Changes since v5 [1]:
 * add R-b from Martin (bindings patch)
 * remove mentions to analog audio in/out

Changes since v4 [2]:
 * add Acked-by from krzk (bindings patch)
 * Wi-Fi on sd_emmc_b

Changes since v3 [3]:
 * typo fix (`vbus-supply` in `&usb`)

Changes since v2 [4]:
 * fix SoB/From mismatch

Changes since v1 [5]:
 * remove useless nodes: cvbs-connector, ethmac, internal_phy, ir
 * add `amlogic,s805y` DT binding section
 * add S805Y dtsi: meson-gxl-s805y.dtsi
 * adjust DT `model` to "Xiaomi Mi TV Stick (Aquaman)"
 * explain the changes being done a bit more in the commit message for
   the DT patch
 * drop `clocks` and `clock-names` from pwm_ef (background: [6])
 * change sound `model` to "XIAOMI-AQUAMAN"

More information is available on the postmarketOS wiki page [7].

[1]: https://lore.kernel.org/all/20250319190150.31529-2-funderscore@postmarketos.org/
[2]: https://lore.kernel.org/all/20250203174346.13737-1-funderscore@postmarketos.org/
[3]: https://lore.kernel.org/all/20250203091453.15751-1-funderscore@postmarketos.org/
[4]: https://lore.kernel.org/all/20250201193044.28856-1-funderscore@postmarketos.org/
[5]: https://lore.kernel.org/all/20250131200319.19996-1-funderscore@postmarketos.org/
[6]: https://lore.kernel.org/linux-amlogic/20241227212514.1376682-1-martin.blumenstingl@googlemail.com/
[7]: https://wiki.postmarketos.org/wiki/Xiaomi_Mi_TV_Stick_(xiaomi-aquaman)

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
---
Ferass El Hafidi (2):
      dt-bindings: arm: amlogic: add S805Y and Mi TV Stick
      arm64: dts: amlogic: add support for xiaomi-aquaman/Mi TV Stick

 Documentation/devicetree/bindings/arm/amlogic.yaml |   7 +
 arch/arm64/boot/dts/amlogic/Makefile               |   1 +
 .../dts/amlogic/meson-gxl-s805y-xiaomi-aquaman.dts | 262 +++++++++++++++++++++
 arch/arm64/boot/dts/amlogic/meson-gxl-s805y.dtsi   |  10 +
 4 files changed, 280 insertions(+)
---
base-commit: 1a30661c20dee51675a1ddee1b81b6a0e8580412
change-id: 20250502-aquaman-5a099deb3612

Best regards,
-- 
Ferass El Hafidi <funderscore@postmarketos.org>
Re: [PATCH v6 0/2] Add support for Xiaomi Mi TV Stick
Posted by Neil Armstrong 7 months, 2 weeks ago
Hi,

On Fri, 02 May 2025 18:56:04 +0000, Ferass El Hafidi wrote:
> This patch series aims to add initial support for the Xiaomi Mi TV
> Stick.
> 
> Xiaomi Mi TV Stick is a small Amlogic-based Android TV stick released in
> 2020, and known as `xiaomi-aquaman` internally (in the downstream kernel,
> u-boot, ...)
> Its specifications are as follows:
>  * Amlogic S805Y SoC (believed to be mostly identical to S805X)
>  * 8 GB eMMC
>  * 1 GB of RAM
>  * Wi-Fi + Bluetooth
>  * Android TV 9, upgradable to Android TV 10
>  * Google-certified
> 
> [...]

Thanks, Applied to https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git (v6.16/arm64-dt)

[1/2] dt-bindings: arm: amlogic: add S805Y and Mi TV Stick
      https://git.kernel.org/amlogic/c/4954ec9300cfe7ab6f1de1c93c56c236ac0a07e5
[2/2] arm64: dts: amlogic: add support for xiaomi-aquaman/Mi TV Stick
      https://git.kernel.org/amlogic/c/f5d4227c6dcab047579cca7b8e31a476ecdebf7b

These changes has been applied on the intermediate git tree [1].

The v6.16/arm64-dt branch will then be sent via a formal Pull Request to the Linux SoC maintainers
for inclusion in their intermediate git branches in order to be sent to Linus during
the next merge window, or sooner if it's a set of fixes.

In the cases of fixes, those will be merged in the current release candidate
kernel and as soon they appear on the Linux master branch they will be
backported to the previous Stable and Long-Stable kernels [2].

The intermediate git branches are merged daily in the linux-next tree [3],
people are encouraged testing these pre-release kernels and report issues on the
relevant mailing-lists.

If problems are discovered on those changes, please submit a signed-off-by revert
patch followed by a corrective changeset.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
[3] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git

-- 
Neil