0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003 * Copyright (c) 2019 BayLibre, SAS
0004 * Author: Neil Armstrong <narmstrong@baylibre.com>
0005 * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com>
0006 */
0007
0008 /dts-v1/;
0009
0010 #include "meson-g12b-w400.dtsi"
0011 #include <dt-bindings/sound/meson-g12a-tohdmitx.h>
0012
0013 / {
0014 compatible = "ugoos,am6", "amlogic,s922x", "amlogic,g12b";
0015 model = "Ugoos AM6";
0016
0017 spdif_dit: audio-codec-1 {
0018 #sound-dai-cells = <0>;
0019 compatible = "linux,spdif-dit";
0020 status = "okay";
0021 sound-name-prefix = "DIT";
0022 };
0023
0024 sound {
0025 compatible = "amlogic,axg-sound-card";
0026 model = "UGOOS-AM6";
0027 audio-aux-devs = <&tdmout_b>;
0028 audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
0029 "TDMOUT_B IN 1", "FRDDR_B OUT 1",
0030 "TDMOUT_B IN 2", "FRDDR_C OUT 1",
0031 "TDM_B Playback", "TDMOUT_B OUT",
0032 "SPDIFOUT IN 0", "FRDDR_A OUT 3",
0033 "SPDIFOUT IN 1", "FRDDR_B OUT 3",
0034 "SPDIFOUT IN 2", "FRDDR_C OUT 3";
0035
0036 assigned-clocks = <&clkc CLKID_MPLL2>,
0037 <&clkc CLKID_MPLL0>,
0038 <&clkc CLKID_MPLL1>;
0039 assigned-clock-parents = <0>, <0>, <0>;
0040 assigned-clock-rates = <294912000>,
0041 <270950400>,
0042 <393216000>;
0043 status = "okay";
0044
0045 dai-link-0 {
0046 sound-dai = <&frddr_a>;
0047 };
0048
0049 dai-link-1 {
0050 sound-dai = <&frddr_b>;
0051 };
0052
0053 dai-link-2 {
0054 sound-dai = <&frddr_c>;
0055 };
0056
0057 /* 8ch hdmi interface */
0058 dai-link-3 {
0059 sound-dai = <&tdmif_b>;
0060 dai-format = "i2s";
0061 dai-tdm-slot-tx-mask-0 = <1 1>;
0062 dai-tdm-slot-tx-mask-1 = <1 1>;
0063 dai-tdm-slot-tx-mask-2 = <1 1>;
0064 dai-tdm-slot-tx-mask-3 = <1 1>;
0065 mclk-fs = <256>;
0066
0067 codec {
0068 sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
0069 };
0070 };
0071
0072 /* spdif hdmi or toslink interface */
0073 dai-link-4 {
0074 sound-dai = <&spdifout>;
0075
0076 codec-0 {
0077 sound-dai = <&spdif_dit>;
0078 };
0079
0080 codec-1 {
0081 sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>;
0082 };
0083 };
0084
0085 /* spdif hdmi interface */
0086 dai-link-5 {
0087 sound-dai = <&spdifout_b>;
0088
0089 codec {
0090 sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>;
0091 };
0092 };
0093
0094 /* hdmi glue */
0095 dai-link-6 {
0096 sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
0097
0098 codec {
0099 sound-dai = <&hdmi_tx>;
0100 };
0101 };
0102 };
0103 };
0104
0105 &arb {
0106 status = "okay";
0107 };
0108
0109 &clkc_audio {
0110 status = "okay";
0111 };
0112
0113 &frddr_a {
0114 status = "okay";
0115 };
0116
0117 &frddr_b {
0118 status = "okay";
0119 };
0120
0121 &frddr_c {
0122 status = "okay";
0123 };
0124
0125 &ir {
0126 linux,rc-map-name = "rc-khadas";
0127 };
0128
0129 &spdifout {
0130 pinctrl-0 = <&spdif_out_h_pins>;
0131 pinctrl-names = "default";
0132 status = "okay";
0133 };
0134
0135 &spdifout_b {
0136 status = "okay";
0137 };
0138
0139 &tdmif_b {
0140 status = "okay";
0141 };
0142
0143 &tdmout_b {
0144 status = "okay";
0145 };
0146
0147 &tohdmitx {
0148 status = "okay";
0149 };
0150
0151 &uart_A {
0152 status = "okay";
0153 pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
0154 pinctrl-names = "default";
0155 uart-has-rtscts;
0156
0157 bluetooth {
0158 compatible = "brcm,bcm43438-bt";
0159 shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
0160 max-speed = <2000000>;
0161 clocks = <&wifi32k>;
0162 clock-names = "lpo";
0163 };
0164 };
0165
0166 &uart_AO {
0167 status = "okay";
0168 pinctrl-0 = <&uart_ao_a_pins>;
0169 pinctrl-names = "default";
0170 };
0171
0172 &usb {
0173 status = "okay";
0174 dr_mode = "host";
0175 vbus-supply = <&usb_pwr_en>;
0176 };
0177
0178 &usb2_phy0 {
0179 phy-supply = <&usb1_pow>;
0180 };
0181
0182 &usb2_phy1 {
0183 phy-supply = <&usb1_pow>;
0184 };