187 lines
4.4 KiB
Diff
187 lines
4.4 KiB
Diff
|
From efd1039ff812f1d6bb58d57ea84802a428b58ccd Mon Sep 17 00:00:00 2001
|
||
|
From: "@exkc" <exkc@exkc.moe>
|
||
|
Date: Tue, 14 Mar 2023 23:08:03 +0800
|
||
|
Subject: [PATCH] ARM64: dts: meson-gxl: add support for the Xiaomi Mi Box 3
|
||
|
|
||
|
The Xiaomi Mi Box 3 is a TV box based on the Amlogic S905X chipset.
|
||
|
There are two variants:
|
||
|
- 2 GiB of DDR3 memory
|
||
|
- 8 GB eMMC flash
|
||
|
|
||
|
Both variants come with:
|
||
|
- 802.11a/b/g/n/ac wifi (BCM4345)
|
||
|
- HDMI and AV (CVBS) output
|
||
|
- 1x USB (utilizing both USB ports provided by the SoC)
|
||
|
|
||
|
The board seems to be very similar to the P212 reference
|
||
|
boards, which is why it includes meson-gxl-s905x-p212.dtsi:
|
||
|
---
|
||
|
arch/arm64/boot/dts/amlogic/Makefile | 1 +
|
||
|
.../amlogic/meson-gxl-s905x-xiaomi-once.dts | 142 ++++++++++++++++++
|
||
|
2 files changed, 143 insertions(+)
|
||
|
create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s905x-xiaomi-once.dts
|
||
|
|
||
|
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
|
||
|
index e213aeebb..904bb1e19 100644
|
||
|
--- a/arch/arm64/boot/dts/amlogic/Makefile
|
||
|
+++ b/arch/arm64/boot/dts/amlogic/Makefile
|
||
|
@@ -45,6 +45,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc-v2.dtb
|
||
|
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-libretech-cc.dtb
|
||
|
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb
|
||
|
dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb
|
||
|
+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-xiaomi-once.dtb
|
||
|
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-gt1-ultimate.dtb
|
||
|
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-khadas-vim2.dtb
|
||
|
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-mecool-kiii-pro.dtb
|
||
|
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-xiaomi-once.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-xiaomi-once.dts
|
||
|
new file mode 100644
|
||
|
index 000000000..6169c0dc0
|
||
|
--- /dev/null
|
||
|
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-xiaomi-once.dts
|
||
|
@@ -0,0 +1,142 @@
|
||
|
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||
|
+/*
|
||
|
+ * Copyright (c) 2023 exkc <exxxxkc@getgoogleoff.me>
|
||
|
+ * Based on meson-gxl-s905x-p212.dts
|
||
|
+ *
|
||
|
+ */
|
||
|
+
|
||
|
+/dts-v1/;
|
||
|
+
|
||
|
+#include "meson-gxl-s905x-p212.dtsi"
|
||
|
+#include <dt-bindings/sound/meson-aiu.h>
|
||
|
+
|
||
|
+/ {
|
||
|
+ compatible = "xiaomi,once", "amlogic,s905x", "amlogic,meson-gxl";
|
||
|
+ model = "Xiaomi Mi Box 3";
|
||
|
+
|
||
|
+ dio2133: analog-amplifier {
|
||
|
+ compatible = "simple-audio-amplifier";
|
||
|
+ sound-name-prefix = "AU2";
|
||
|
+ VCC-supply = <&hdmi_5v>;
|
||
|
+ enable-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>;
|
||
|
+ };
|
||
|
+
|
||
|
+ cvbs-connector {
|
||
|
+ compatible = "composite-video-connector";
|
||
|
+
|
||
|
+ port {
|
||
|
+ cvbs_connector_in: endpoint {
|
||
|
+ remote-endpoint = <&cvbs_vdac_out>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ hdmi-connector {
|
||
|
+ compatible = "hdmi-connector";
|
||
|
+ type = "a";
|
||
|
+
|
||
|
+ port {
|
||
|
+ hdmi_connector_in: endpoint {
|
||
|
+ remote-endpoint = <&hdmi_tx_tmds_out>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ sound {
|
||
|
+ compatible = "amlogic,gx-sound-card";
|
||
|
+ model = "XIAOMI-ONCE";
|
||
|
+ audio-aux-devs = <&dio2133>;
|
||
|
+ audio-widgets = "Line", "Lineout";
|
||
|
+ audio-routing = "Lineout", "AU2 OUTL",
|
||
|
+ "Lineout", "AU2 OUTR";
|
||
|
+ assigned-clocks = <&clkc CLKID_MPLL0>,
|
||
|
+ <&clkc CLKID_MPLL1>,
|
||
|
+ <&clkc CLKID_MPLL2>;
|
||
|
+ assigned-clock-parents = <0>, <0>, <0>;
|
||
|
+ assigned-clock-rates = <294912000>,
|
||
|
+ <270950400>,
|
||
|
+ <393216000>;
|
||
|
+ dai-link-0 {
|
||
|
+ sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
|
||
|
+ };
|
||
|
+
|
||
|
+ dai-link-1 {
|
||
|
+ sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
|
||
|
+ dai-format = "i2s";
|
||
|
+ mclk-fs = <256>;
|
||
|
+
|
||
|
+ codec-0 {
|
||
|
+ sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
|
||
|
+ };
|
||
|
+
|
||
|
+ codec-1 {
|
||
|
+ sound-dai = <&aiu AIU_ACODEC CTRL_I2S>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ dai-link-2 {
|
||
|
+ sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
|
||
|
+
|
||
|
+ codec-0 {
|
||
|
+ sound-dai = <&hdmi_tx>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ dai-link-3 {
|
||
|
+ sound-dai = <&aiu AIU_ACODEC CTRL_OUT>;
|
||
|
+
|
||
|
+ codec-0 {
|
||
|
+ sound-dai = <&acodec>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&acodec {
|
||
|
+ AVDD-supply = <&vddio_ao18>;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&aiu {
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&cec_AO {
|
||
|
+ status = "okay";
|
||
|
+ pinctrl-0 = <&ao_cec_pins>;
|
||
|
+ pinctrl-names = "default";
|
||
|
+ hdmi-phandle = <&hdmi_tx>;
|
||
|
+};
|
||
|
+
|
||
|
+&cvbs_vdac_port {
|
||
|
+ cvbs_vdac_out: endpoint {
|
||
|
+ remote-endpoint = <&cvbs_connector_in>;
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&hdmi_tx {
|
||
|
+ status = "okay";
|
||
|
+ pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
|
||
|
+ pinctrl-names = "default";
|
||
|
+ hdmi-supply = <&hdmi_5v>;
|
||
|
+};
|
||
|
+
|
||
|
+&hdmi_tx_tmds_port {
|
||
|
+ hdmi_tx_tmds_out: endpoint {
|
||
|
+ remote-endpoint = <&hdmi_connector_in>;
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+ðmac {
|
||
|
+ status = "disabled";
|
||
|
+};
|
||
|
+
|
||
|
+&usb {
|
||
|
+ status = "okay";
|
||
|
+ dr_mode = "host";
|
||
|
+};
|
||
|
+
|
||
|
+/* This UART is brought out to the uarl pad on the pcb*/
|
||
|
+&uart_AO {
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
--
|
||
|
2.39.2
|
||
|
|