blob: e203113867451e4226a145162f27d1f06d0a3743 [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 = "azw,gtking", "amlogic,s922x", "amlogic,g12b";
15 model = "Beelink GT-King";
16
17 aliases {
18 rtc0 = &rtc;
19 rtc1 = &vrtc;
20 };
21
22 spdif_dit: audio-codec-1 {
23 #sound-dai-cells = <0>;
24 compatible = "linux,spdif-dit";
Tom Rini53633a82024-02-29 12:33:36 -050025 sound-name-prefix = "DIT";
26 };
27
28 sound {
29 compatible = "amlogic,axg-sound-card";
30 model = "GTKING";
31 audio-aux-devs = <&tdmout_b>;
32 audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
33 "TDMOUT_B IN 1", "FRDDR_B OUT 1",
34 "TDMOUT_B IN 2", "FRDDR_C OUT 1",
35 "TDM_B Playback", "TDMOUT_B OUT",
36 "SPDIFOUT_A IN 0", "FRDDR_A OUT 3",
37 "SPDIFOUT_A IN 1", "FRDDR_B OUT 3",
38 "SPDIFOUT_A IN 2", "FRDDR_C OUT 3";
39
Tom Rini9c8af152024-12-24 12:03:04 -060040 clocks = <&clkc CLKID_MPLL2>,
41 <&clkc CLKID_MPLL0>,
42 <&clkc CLKID_MPLL1>;
43
Tom Rini53633a82024-02-29 12:33:36 -050044 assigned-clocks = <&clkc CLKID_MPLL2>,
45 <&clkc CLKID_MPLL0>,
46 <&clkc CLKID_MPLL1>;
47 assigned-clock-parents = <0>, <0>, <0>;
48 assigned-clock-rates = <294912000>,
49 <270950400>,
50 <393216000>;
51
52 dai-link-0 {
53 sound-dai = <&frddr_a>;
54 };
55
56 dai-link-1 {
57 sound-dai = <&frddr_b>;
58 };
59
60 dai-link-2 {
61 sound-dai = <&frddr_c>;
62 };
63
64 /* 8ch hdmi interface */
65 dai-link-3 {
66 sound-dai = <&tdmif_b>;
67 dai-format = "i2s";
68 dai-tdm-slot-tx-mask-0 = <1 1>;
69 dai-tdm-slot-tx-mask-1 = <1 1>;
70 dai-tdm-slot-tx-mask-2 = <1 1>;
71 dai-tdm-slot-tx-mask-3 = <1 1>;
72 mclk-fs = <256>;
73
74 codec {
75 sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
76 };
77 };
78
79 /* spdif hdmi or toslink interface */
80 dai-link-4 {
81 sound-dai = <&spdifout_a>;
82
83 codec-0 {
84 sound-dai = <&spdif_dit>;
85 };
86
87 codec-1 {
88 sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>;
89 };
90 };
91
92 /* spdif hdmi interface */
93 dai-link-5 {
94 sound-dai = <&spdifout_b>;
95
96 codec {
97 sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>;
98 };
99 };
100
101 /* hdmi glue */
102 dai-link-6 {
103 sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
104
105 codec {
106 sound-dai = <&hdmi_tx>;
107 };
108 };
109 };
110};
111
112&arb {
113 status = "okay";
114};
115
116&clkc_audio {
117 status = "okay";
118};
119
120&frddr_a {
121 status = "okay";
122};
123
124&frddr_b {
125 status = "okay";
126};
127
128&frddr_c {
129 status = "okay";
130};
131
132
133&i2c3 {
134 status = "okay";
135 pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
136 pinctrl-names = "default";
137
138 rtc: rtc@51 {
139 compatible = "nxp,pcf8563";
140 reg = <0x51>;
141 wakeup-source;
142 };
143};
144
145&spdifout_a {
146 pinctrl-0 = <&spdif_out_h_pins>;
147 pinctrl-names = "default";
148 status = "okay";
149};
150
151&spdifout_b {
152 status = "okay";
153};
154
155&tdmif_b {
156 status = "okay";
157};
158
159&tdmout_b {
160 status = "okay";
161};
162
163&tohdmitx {
164 status = "okay";
165};