mirror of
https://github.com/libretro/Lakka-LibreELEC.git
synced 2024-11-28 03:54:36 +00:00
275 lines
5.9 KiB
Diff
275 lines
5.9 KiB
Diff
From 65a60781fde14e49a5dd4c422cc909b61542cc50 Mon Sep 17 00:00:00 2001
|
|
From: Christian Hewitt <christianshewitt@gmail.com>
|
|
Date: Thu, 15 Dec 2022 05:29:31 +0000
|
|
Subject: [PATCH 103/120] WIP: arm64: dts: meson: add support for Ugoos AM6
|
|
Plus
|
|
|
|
The Ugoos AM6 Plus is based on the Amlogic W400 (G12B) reference design
|
|
using the S922XJ (S922X rev-C with Dolby Vision license) chipset.
|
|
|
|
Hardware specifications:
|
|
|
|
- 2GB/4GB LPDDR4 RAM
|
|
- 16GB/32GB eMMC storage
|
|
- 10/100/1000 Base-T Ethernet using External RGMII PHY
|
|
- 802.11 a/b/g/b/ac + BT 5.0 sdio wireless (Ampak 6398S)
|
|
- HDMI 2.0 (4k@60p) video
|
|
- Composite video + 2-channel audio output on 3.5mm jack
|
|
- S/PDIF audio output
|
|
- Aux input
|
|
- 1x USB 3.0
|
|
- 3x USB 2.0
|
|
- 1x micro SD card slot
|
|
- 1x power button (rear)
|
|
|
|
Suggested-by: Furkan Kardame <f.kardame@manjaro.org>
|
|
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
|
|
---
|
|
arch/arm64/boot/dts/amlogic/Makefile | 1 +
|
|
.../dts/amlogic/meson-g12b-ugoos-am6-plus.dts | 221 ++++++++++++++++++
|
|
2 files changed, 222 insertions(+)
|
|
create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6-plus.dts
|
|
|
|
diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
|
|
index bc50ca8b0e79..615b1c496a34 100644
|
|
--- a/arch/arm64/boot/dts/amlogic/Makefile
|
|
+++ b/arch/arm64/boot/dts/amlogic/Makefile
|
|
@@ -21,6 +21,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb
|
|
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-radxa-zero2.dtb
|
|
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-s922x-khadas-vim3.dtb
|
|
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6.dtb
|
|
+dtb-$(CONFIG_ARCH_MESON) += meson-g12b-ugoos-am6-plus.dtb
|
|
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-kii-pro.dtb
|
|
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-beelink-mini-mxiii.dtb
|
|
dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-mecool-ki-plus.dtb
|
|
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6-plus.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6-plus.dts
|
|
new file mode 100644
|
|
index 000000000000..dd5a9665a996
|
|
--- /dev/null
|
|
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6-plus.dts
|
|
@@ -0,0 +1,221 @@
|
|
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
+/*
|
|
+ * Copyright (c) 2019 BayLibre, SAS
|
|
+ * Author: Neil Armstrong <narmstrong@baylibre.com>
|
|
+ * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com>
|
|
+ */
|
|
+
|
|
+/dts-v1/;
|
|
+
|
|
+#include "meson-g12b-w400.dtsi"
|
|
+#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
|
|
+
|
|
+/ {
|
|
+ compatible = "ugoos,am6-plus", "amlogic,s922x", "amlogic,g12b";
|
|
+ model = "Ugoos AM6 Plus";
|
|
+
|
|
+ aliases {
|
|
+ rtc0 = &rtc;
|
|
+ rtc1 = &vrtc;
|
|
+ };
|
|
+
|
|
+ gpio-keys-polled {
|
|
+ compatible = "gpio-keys-polled";
|
|
+ poll-interval = <100>;
|
|
+
|
|
+ power-button {
|
|
+ label = "power";
|
|
+ linux,code = <KEY_POWER>;
|
|
+ gpios = <&gpio_ao GPIOAO_6 GPIO_ACTIVE_HIGH>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ leds {
|
|
+ compatible = "gpio-leds";
|
|
+
|
|
+ led-green {
|
|
+ label = "power:green";
|
|
+ gpios = <&gpio_ao GPIOAO_7 GPIO_ACTIVE_HIGH>;
|
|
+ default-state = "on";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ spdif_dit: audio-codec-1 {
|
|
+ #sound-dai-cells = <0>;
|
|
+ compatible = "linux,spdif-dit";
|
|
+ status = "okay";
|
|
+ sound-name-prefix = "DIT";
|
|
+ };
|
|
+
|
|
+ sound {
|
|
+ compatible = "amlogic,axg-sound-card";
|
|
+ model = "AM6-PLUS";
|
|
+ audio-aux-devs = <&tdmout_b>;
|
|
+ audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
|
|
+ "TDMOUT_B IN 1", "FRDDR_B OUT 1",
|
|
+ "TDMOUT_B IN 2", "FRDDR_C OUT 1",
|
|
+ "TDM_B Playback", "TDMOUT_B OUT",
|
|
+ "SPDIFOUT IN 0", "FRDDR_A OUT 3",
|
|
+ "SPDIFOUT IN 1", "FRDDR_B OUT 3",
|
|
+ "SPDIFOUT IN 2", "FRDDR_C OUT 3";
|
|
+
|
|
+ assigned-clocks = <&clkc CLKID_MPLL2>,
|
|
+ <&clkc CLKID_MPLL0>,
|
|
+ <&clkc CLKID_MPLL1>;
|
|
+ assigned-clock-parents = <0>, <0>, <0>;
|
|
+ assigned-clock-rates = <294912000>,
|
|
+ <270950400>,
|
|
+ <393216000>;
|
|
+ status = "okay";
|
|
+
|
|
+ dai-link-0 {
|
|
+ sound-dai = <&frddr_a>;
|
|
+ };
|
|
+
|
|
+ dai-link-1 {
|
|
+ sound-dai = <&frddr_b>;
|
|
+ };
|
|
+
|
|
+ dai-link-2 {
|
|
+ sound-dai = <&frddr_c>;
|
|
+ };
|
|
+
|
|
+ /* 8ch hdmi interface */
|
|
+ dai-link-3 {
|
|
+ sound-dai = <&tdmif_b>;
|
|
+ dai-format = "i2s";
|
|
+ dai-tdm-slot-tx-mask-0 = <1 1>;
|
|
+ dai-tdm-slot-tx-mask-1 = <1 1>;
|
|
+ dai-tdm-slot-tx-mask-2 = <1 1>;
|
|
+ dai-tdm-slot-tx-mask-3 = <1 1>;
|
|
+ mclk-fs = <256>;
|
|
+
|
|
+ codec {
|
|
+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ /* spdif hdmi or toslink interface */
|
|
+ dai-link-4 {
|
|
+ sound-dai = <&spdifout>;
|
|
+
|
|
+ codec-0 {
|
|
+ sound-dai = <&spdif_dit>;
|
|
+ };
|
|
+
|
|
+ codec-1 {
|
|
+ sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ /* spdif hdmi interface */
|
|
+ dai-link-5 {
|
|
+ sound-dai = <&spdifout_b>;
|
|
+
|
|
+ codec {
|
|
+ sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ /* hdmi glue */
|
|
+ dai-link-6 {
|
|
+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
|
|
+
|
|
+ codec {
|
|
+ sound-dai = <&hdmi_tx>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&arb {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&clkc_audio {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&frddr_a {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&frddr_b {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&frddr_c {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&ir {
|
|
+ linux,rc-map-name = "rc-khadas";
|
|
+};
|
|
+
|
|
+&i2c3 {
|
|
+ status = "okay";
|
|
+ pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
|
|
+ pinctrl-names = "default";
|
|
+
|
|
+ rtc: rtc@51 {
|
|
+ compatible = "haoyu,hym8563";
|
|
+ reg = <0x51>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&spdifout {
|
|
+ pinctrl-0 = <&spdif_out_h_pins>;
|
|
+ pinctrl-names = "default";
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&spdifout_b {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&tdmif_b {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&tdmout_b {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&tohdmitx {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&uart_A {
|
|
+ status = "okay";
|
|
+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
|
|
+ pinctrl-names = "default";
|
|
+ uart-has-rtscts;
|
|
+
|
|
+ bluetooth {
|
|
+ compatible = "brcm,bcm43438-bt";
|
|
+ shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
|
|
+ max-speed = <2000000>;
|
|
+ clocks = <&wifi32k>;
|
|
+ clock-names = "lpo";
|
|
+ };
|
|
+};
|
|
+
|
|
+&uart_AO {
|
|
+ status = "okay";
|
|
+ pinctrl-0 = <&uart_ao_a_pins>;
|
|
+ pinctrl-names = "default";
|
|
+};
|
|
+
|
|
+&usb {
|
|
+ status = "okay";
|
|
+ dr_mode = "host";
|
|
+ vbus-supply = <&usb_pwr_en>;
|
|
+};
|
|
+
|
|
+&usb2_phy0 {
|
|
+ phy-supply = <&usb1_pow>;
|
|
+};
|
|
+
|
|
+&usb2_phy1 {
|
|
+ phy-supply = <&usb1_pow>;
|
|
+};
|
|
--
|
|
2.34.1
|
|
|