xref: /freebsd/sys/contrib/device-tree/src/arm64/amlogic/meson-g12b-gtking.dts (revision 7fdf597e96a02165cfe22ff357b857d5fa15ed8a)
1// 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";
25		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
40		assigned-clocks = <&clkc CLKID_MPLL2>,
41				  <&clkc CLKID_MPLL0>,
42				  <&clkc CLKID_MPLL1>;
43		assigned-clock-parents = <0>, <0>, <0>;
44		assigned-clock-rates = <294912000>,
45				       <270950400>,
46				       <393216000>;
47
48		dai-link-0 {
49			sound-dai = <&frddr_a>;
50		};
51
52		dai-link-1 {
53			sound-dai = <&frddr_b>;
54		};
55
56		dai-link-2 {
57			sound-dai = <&frddr_c>;
58		};
59
60		/* 8ch hdmi interface */
61		dai-link-3 {
62			sound-dai = <&tdmif_b>;
63			dai-format = "i2s";
64			dai-tdm-slot-tx-mask-0 = <1 1>;
65			dai-tdm-slot-tx-mask-1 = <1 1>;
66			dai-tdm-slot-tx-mask-2 = <1 1>;
67			dai-tdm-slot-tx-mask-3 = <1 1>;
68			mclk-fs = <256>;
69
70			codec {
71				sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
72			};
73		};
74
75		/* spdif hdmi or toslink interface */
76		dai-link-4 {
77			sound-dai = <&spdifout_a>;
78
79			codec-0 {
80				sound-dai = <&spdif_dit>;
81			};
82
83			codec-1 {
84				sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>;
85			};
86		};
87
88		/* spdif hdmi interface */
89		dai-link-5 {
90			sound-dai = <&spdifout_b>;
91
92			codec {
93				sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>;
94			};
95		};
96
97		/* hdmi glue */
98		dai-link-6 {
99			sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
100
101			codec {
102				sound-dai = <&hdmi_tx>;
103			};
104		};
105	};
106};
107
108&arb {
109	status = "okay";
110};
111
112&clkc_audio {
113	status = "okay";
114};
115
116&frddr_a {
117	status = "okay";
118};
119
120&frddr_b {
121	status = "okay";
122};
123
124&frddr_c {
125	status = "okay";
126};
127
128
129&i2c3 {
130	status = "okay";
131	pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
132	pinctrl-names = "default";
133
134	rtc: rtc@51 {
135		compatible = "nxp,pcf8563";
136		reg = <0x51>;
137		wakeup-source;
138	};
139};
140
141&spdifout_a {
142	pinctrl-0 = <&spdif_out_h_pins>;
143	pinctrl-names = "default";
144	status = "okay";
145};
146
147&spdifout_b {
148	status = "okay";
149};
150
151&tdmif_b {
152	status = "okay";
153};
154
155&tdmout_b {
156	status = "okay";
157};
158
159&tohdmitx {
160	status = "okay";
161};
162