blob: 4c1a75b926ee34fe271c3b2c0fca09db05f50fe5 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2019 BayLibre, SAS
4 * Author: Neil Armstrong <narmstrong@baylibre.com>
5 * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com>
6 */
7
8/dts-v1/;
9
10#include "meson-g12b-w400.dtsi"
11#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
12
13/ {
14 compatible = "ugoos,am6", "amlogic,s922x", "amlogic,g12b";
15 model = "Ugoos AM6";
16
17 spdif_dit: audio-codec-1 {
18 #sound-dai-cells = <0>;
19 compatible = "linux,spdif-dit";
Tom Rini53633a82024-02-29 12:33:36 -050020 sound-name-prefix = "DIT";
21 };
22
23 sound {
24 compatible = "amlogic,axg-sound-card";
25 model = "UGOOS-AM6";
26 audio-aux-devs = <&tdmout_b>;
27 audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
28 "TDMOUT_B IN 1", "FRDDR_B OUT 1",
29 "TDMOUT_B IN 2", "FRDDR_C OUT 1",
30 "TDM_B Playback", "TDMOUT_B OUT",
31 "SPDIFOUT_A IN 0", "FRDDR_A OUT 3",
32 "SPDIFOUT_A IN 1", "FRDDR_B OUT 3",
33 "SPDIFOUT_A IN 2", "FRDDR_C OUT 3";
34
Tom Rini9c8af152024-12-24 12:03:04 -060035 clocks = <&clkc CLKID_MPLL2>,
36 <&clkc CLKID_MPLL0>,
37 <&clkc CLKID_MPLL1>;
38
Tom Rini53633a82024-02-29 12:33:36 -050039 assigned-clocks = <&clkc CLKID_MPLL2>,
40 <&clkc CLKID_MPLL0>,
41 <&clkc CLKID_MPLL1>;
42 assigned-clock-parents = <0>, <0>, <0>;
43 assigned-clock-rates = <294912000>,
44 <270950400>,
45 <393216000>;
46
47 dai-link-0 {
48 sound-dai = <&frddr_a>;
49 };
50
51 dai-link-1 {
52 sound-dai = <&frddr_b>;
53 };
54
55 dai-link-2 {
56 sound-dai = <&frddr_c>;
57 };
58
59 /* 8ch hdmi interface */
60 dai-link-3 {
61 sound-dai = <&tdmif_b>;
62 dai-format = "i2s";
63 dai-tdm-slot-tx-mask-0 = <1 1>;
64 dai-tdm-slot-tx-mask-1 = <1 1>;
65 dai-tdm-slot-tx-mask-2 = <1 1>;
66 dai-tdm-slot-tx-mask-3 = <1 1>;
67 mclk-fs = <256>;
68
69 codec {
70 sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
71 };
72 };
73
74 /* spdif hdmi or toslink interface */
75 dai-link-4 {
76 sound-dai = <&spdifout_a>;
77
78 codec-0 {
79 sound-dai = <&spdif_dit>;
80 };
81
82 codec-1 {
83 sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>;
84 };
85 };
86
87 /* spdif hdmi interface */
88 dai-link-5 {
89 sound-dai = <&spdifout_b>;
90
91 codec {
92 sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>;
93 };
94 };
95
96 /* hdmi glue */
97 dai-link-6 {
98 sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
99
100 codec {
101 sound-dai = <&hdmi_tx>;
102 };
103 };
104 };
105};
106
107&arb {
108 status = "okay";
109};
110
111&clkc_audio {
112 status = "okay";
113};
114
115&frddr_a {
116 status = "okay";
117};
118
119&frddr_b {
120 status = "okay";
121};
122
123&frddr_c {
124 status = "okay";
125};
126
127&ir {
128 linux,rc-map-name = "rc-khadas";
129};
130
131&spdifout_a {
132 pinctrl-0 = <&spdif_out_h_pins>;
133 pinctrl-names = "default";
134 status = "okay";
135};
136
137&spdifout_b {
138 status = "okay";
139};
140
141&tdmif_b {
142 status = "okay";
143};
144
145&tdmout_b {
146 status = "okay";
147};
148
149&tohdmitx {
150 status = "okay";
151};
152
153&uart_A {
154 status = "okay";
155 pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
156 pinctrl-names = "default";
157 uart-has-rtscts;
158
159 bluetooth {
160 compatible = "brcm,bcm43438-bt";
161 shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
162 max-speed = <2000000>;
163 clocks = <&wifi32k>;
164 clock-names = "lpo";
165 };
166};
167
168&uart_AO {
169 status = "okay";
170 pinctrl-0 = <&uart_ao_a_pins>;
171 pinctrl-names = "default";
172};
173
174&usb {
175 status = "okay";
176 dr_mode = "host";
177 vbus-supply = <&usb_pwr_en>;
178};
179
180&usb2_phy0 {
181 phy-supply = <&usb1_pow>;
182};
183
184&usb2_phy1 {
185 phy-supply = <&usb1_pow>;
186};