12cd2310fSChristian Hewitt// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 22cd2310fSChristian Hewitt/* 32cd2310fSChristian Hewitt * Copyright (c) 2019 BayLibre, SAS 42cd2310fSChristian Hewitt * Author: Neil Armstrong <narmstrong@baylibre.com> 52cd2310fSChristian Hewitt * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com> 62cd2310fSChristian Hewitt */ 72cd2310fSChristian Hewitt 82cd2310fSChristian Hewitt/dts-v1/; 92cd2310fSChristian Hewitt 103cb74db9SChristian Hewitt#include "meson-g12b-w400.dtsi" 112cd2310fSChristian Hewitt#include <dt-bindings/sound/meson-g12a-tohdmitx.h> 122cd2310fSChristian Hewitt 132cd2310fSChristian Hewitt/ { 145c28dcbbSNeil Armstrong compatible = "ugoos,am6", "amlogic,s922x", "amlogic,g12b"; 152cd2310fSChristian Hewitt model = "Ugoos AM6"; 162cd2310fSChristian Hewitt 172cd2310fSChristian Hewitt spdif_dit: audio-codec-1 { 182cd2310fSChristian Hewitt #sound-dai-cells = <0>; 192cd2310fSChristian Hewitt compatible = "linux,spdif-dit"; 202cd2310fSChristian Hewitt sound-name-prefix = "DIT"; 212cd2310fSChristian Hewitt }; 222cd2310fSChristian Hewitt 232cd2310fSChristian Hewitt sound { 242cd2310fSChristian Hewitt compatible = "amlogic,axg-sound-card"; 25933b80edSChristian Hewitt model = "UGOOS-AM6"; 262cd2310fSChristian Hewitt audio-aux-devs = <&tdmout_b>; 272cd2310fSChristian Hewitt audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1", 282cd2310fSChristian Hewitt "TDMOUT_B IN 1", "FRDDR_B OUT 1", 292cd2310fSChristian Hewitt "TDMOUT_B IN 2", "FRDDR_C OUT 1", 302cd2310fSChristian Hewitt "TDM_B Playback", "TDMOUT_B OUT", 313f0b916fSJerome Brunet "SPDIFOUT_A IN 0", "FRDDR_A OUT 3", 323f0b916fSJerome Brunet "SPDIFOUT_A IN 1", "FRDDR_B OUT 3", 333f0b916fSJerome Brunet "SPDIFOUT_A IN 2", "FRDDR_C OUT 3"; 342cd2310fSChristian Hewitt 35*9b5d2511SNeil Armstrong clocks = <&clkc CLKID_MPLL2>, 36*9b5d2511SNeil Armstrong <&clkc CLKID_MPLL0>, 37*9b5d2511SNeil Armstrong <&clkc CLKID_MPLL1>; 38*9b5d2511SNeil Armstrong 392cd2310fSChristian Hewitt assigned-clocks = <&clkc CLKID_MPLL2>, 402cd2310fSChristian Hewitt <&clkc CLKID_MPLL0>, 412cd2310fSChristian Hewitt <&clkc CLKID_MPLL1>; 422cd2310fSChristian Hewitt assigned-clock-parents = <0>, <0>, <0>; 432cd2310fSChristian Hewitt assigned-clock-rates = <294912000>, 442cd2310fSChristian Hewitt <270950400>, 452cd2310fSChristian Hewitt <393216000>; 462cd2310fSChristian Hewitt 472cd2310fSChristian Hewitt dai-link-0 { 482cd2310fSChristian Hewitt sound-dai = <&frddr_a>; 492cd2310fSChristian Hewitt }; 502cd2310fSChristian Hewitt 512cd2310fSChristian Hewitt dai-link-1 { 522cd2310fSChristian Hewitt sound-dai = <&frddr_b>; 532cd2310fSChristian Hewitt }; 542cd2310fSChristian Hewitt 552cd2310fSChristian Hewitt dai-link-2 { 562cd2310fSChristian Hewitt sound-dai = <&frddr_c>; 572cd2310fSChristian Hewitt }; 582cd2310fSChristian Hewitt 592cd2310fSChristian Hewitt /* 8ch hdmi interface */ 602cd2310fSChristian Hewitt dai-link-3 { 612cd2310fSChristian Hewitt sound-dai = <&tdmif_b>; 622cd2310fSChristian Hewitt dai-format = "i2s"; 632cd2310fSChristian Hewitt dai-tdm-slot-tx-mask-0 = <1 1>; 642cd2310fSChristian Hewitt dai-tdm-slot-tx-mask-1 = <1 1>; 652cd2310fSChristian Hewitt dai-tdm-slot-tx-mask-2 = <1 1>; 662cd2310fSChristian Hewitt dai-tdm-slot-tx-mask-3 = <1 1>; 672cd2310fSChristian Hewitt mclk-fs = <256>; 682cd2310fSChristian Hewitt 692cd2310fSChristian Hewitt codec { 702cd2310fSChristian Hewitt sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; 712cd2310fSChristian Hewitt }; 722cd2310fSChristian Hewitt }; 732cd2310fSChristian Hewitt 742cd2310fSChristian Hewitt /* spdif hdmi or toslink interface */ 752cd2310fSChristian Hewitt dai-link-4 { 763f0b916fSJerome Brunet sound-dai = <&spdifout_a>; 772cd2310fSChristian Hewitt 782cd2310fSChristian Hewitt codec-0 { 792cd2310fSChristian Hewitt sound-dai = <&spdif_dit>; 802cd2310fSChristian Hewitt }; 812cd2310fSChristian Hewitt 822cd2310fSChristian Hewitt codec-1 { 832cd2310fSChristian Hewitt sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>; 842cd2310fSChristian Hewitt }; 852cd2310fSChristian Hewitt }; 862cd2310fSChristian Hewitt 872cd2310fSChristian Hewitt /* spdif hdmi interface */ 882cd2310fSChristian Hewitt dai-link-5 { 892cd2310fSChristian Hewitt sound-dai = <&spdifout_b>; 902cd2310fSChristian Hewitt 912cd2310fSChristian Hewitt codec { 922cd2310fSChristian Hewitt sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>; 932cd2310fSChristian Hewitt }; 942cd2310fSChristian Hewitt }; 952cd2310fSChristian Hewitt 962cd2310fSChristian Hewitt /* hdmi glue */ 972cd2310fSChristian Hewitt dai-link-6 { 982cd2310fSChristian Hewitt sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; 992cd2310fSChristian Hewitt 1002cd2310fSChristian Hewitt codec { 1012cd2310fSChristian Hewitt sound-dai = <&hdmi_tx>; 1022cd2310fSChristian Hewitt }; 1032cd2310fSChristian Hewitt }; 1042cd2310fSChristian Hewitt }; 1052cd2310fSChristian Hewitt}; 1062cd2310fSChristian Hewitt 1072cd2310fSChristian Hewitt&arb { 1082cd2310fSChristian Hewitt status = "okay"; 1092cd2310fSChristian Hewitt}; 1102cd2310fSChristian Hewitt 1112cd2310fSChristian Hewitt&clkc_audio { 1122cd2310fSChristian Hewitt status = "okay"; 1132cd2310fSChristian Hewitt}; 1142cd2310fSChristian Hewitt 1152cd2310fSChristian Hewitt&frddr_a { 1162cd2310fSChristian Hewitt status = "okay"; 1172cd2310fSChristian Hewitt}; 1182cd2310fSChristian Hewitt 1192cd2310fSChristian Hewitt&frddr_b { 1202cd2310fSChristian Hewitt status = "okay"; 1212cd2310fSChristian Hewitt}; 1222cd2310fSChristian Hewitt 1232cd2310fSChristian Hewitt&frddr_c { 1242cd2310fSChristian Hewitt status = "okay"; 1252cd2310fSChristian Hewitt}; 1262cd2310fSChristian Hewitt 1272cd2310fSChristian Hewitt&ir { 1282cd2310fSChristian Hewitt linux,rc-map-name = "rc-khadas"; 1292cd2310fSChristian Hewitt}; 1302cd2310fSChristian Hewitt 1313f0b916fSJerome Brunet&spdifout_a { 1322cd2310fSChristian Hewitt pinctrl-0 = <&spdif_out_h_pins>; 1332cd2310fSChristian Hewitt pinctrl-names = "default"; 1342cd2310fSChristian Hewitt status = "okay"; 1352cd2310fSChristian Hewitt}; 1362cd2310fSChristian Hewitt 1372cd2310fSChristian Hewitt&spdifout_b { 1382cd2310fSChristian Hewitt status = "okay"; 1392cd2310fSChristian Hewitt}; 1402cd2310fSChristian Hewitt 1412cd2310fSChristian Hewitt&tdmif_b { 1422cd2310fSChristian Hewitt status = "okay"; 1432cd2310fSChristian Hewitt}; 1442cd2310fSChristian Hewitt 1452cd2310fSChristian Hewitt&tdmout_b { 1462cd2310fSChristian Hewitt status = "okay"; 1472cd2310fSChristian Hewitt}; 1482cd2310fSChristian Hewitt 1492cd2310fSChristian Hewitt&tohdmitx { 1502cd2310fSChristian Hewitt status = "okay"; 1512cd2310fSChristian Hewitt}; 1522cd2310fSChristian Hewitt 1532cd2310fSChristian Hewitt&uart_A { 1542cd2310fSChristian Hewitt status = "okay"; 1552cd2310fSChristian Hewitt pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 1562cd2310fSChristian Hewitt pinctrl-names = "default"; 1572cd2310fSChristian Hewitt uart-has-rtscts; 1582cd2310fSChristian Hewitt 1592cd2310fSChristian Hewitt bluetooth { 1602cd2310fSChristian Hewitt compatible = "brcm,bcm43438-bt"; 1612cd2310fSChristian Hewitt shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; 1622cd2310fSChristian Hewitt max-speed = <2000000>; 1632cd2310fSChristian Hewitt clocks = <&wifi32k>; 1642cd2310fSChristian Hewitt clock-names = "lpo"; 1652cd2310fSChristian Hewitt }; 1662cd2310fSChristian Hewitt}; 1672cd2310fSChristian Hewitt 1682cd2310fSChristian Hewitt&uart_AO { 1692cd2310fSChristian Hewitt status = "okay"; 1702cd2310fSChristian Hewitt pinctrl-0 = <&uart_ao_a_pins>; 1712cd2310fSChristian Hewitt pinctrl-names = "default"; 1722cd2310fSChristian Hewitt}; 1732cd2310fSChristian Hewitt 1742cd2310fSChristian Hewitt&usb { 1752cd2310fSChristian Hewitt status = "okay"; 1762cd2310fSChristian Hewitt dr_mode = "host"; 1774e025fd9SNeil Armstrong vbus-supply = <&usb_pwr_en>; 1782cd2310fSChristian Hewitt}; 1792cd2310fSChristian Hewitt 1802cd2310fSChristian Hewitt&usb2_phy0 { 1812cd2310fSChristian Hewitt phy-supply = <&usb1_pow>; 1822cd2310fSChristian Hewitt}; 1832cd2310fSChristian Hewitt 1842cd2310fSChristian Hewitt&usb2_phy1 { 1852cd2310fSChristian Hewitt phy-supply = <&usb1_pow>; 1862cd2310fSChristian Hewitt}; 187