xref: /linux/arch/arm64/boot/dts/amlogic/meson-g12b-dreambox.dtsi (revision 566ab427f827b0256d3e8ce0235d088e6a9c28bd)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2021 Christian Hewitt <christianshewitt@gmail.com>
4 */
5
6#include "meson-g12b-w400.dtsi"
7#include <dt-bindings/gpio/gpio.h>
8#include <dt-bindings/leds/common.h>
9#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
10
11/ {
12	cvbs-connector {
13		status = "disabled";
14	};
15
16	sdio_pwrseq: sdio-pwrseq {
17		compatible = "mmc-pwrseq-simple";
18		reset-gpios = <&gpio GPIOA_11 GPIO_ACTIVE_LOW>;
19		clocks = <&wifi32k>;
20		clock-names = "ext_clock";
21	};
22
23	spdif_dit: audio-codec-1 {
24		#sound-dai-cells = <0>;
25		compatible = "linux,spdif-dit";
26		status = "okay";
27		sound-name-prefix = "DIT";
28	};
29
30	sound {
31		compatible = "amlogic,axg-sound-card";
32		model = "DREAMBOX";
33		audio-aux-devs = <&tdmout_b>;
34		audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
35				"TDMOUT_B IN 1", "FRDDR_B OUT 1",
36				"TDMOUT_B IN 2", "FRDDR_C OUT 1",
37				"TDM_B Playback", "TDMOUT_B OUT",
38				"SPDIFOUT_A IN 0", "FRDDR_A OUT 3",
39				"SPDIFOUT_A IN 1", "FRDDR_B OUT 3",
40				"SPDIFOUT_A IN 2", "FRDDR_C OUT 3";
41
42		clocks = <&clkc CLKID_MPLL2>,
43			 <&clkc CLKID_MPLL0>,
44			 <&clkc CLKID_MPLL1>;
45
46
47		assigned-clocks = <&clkc CLKID_MPLL2>,
48				  <&clkc CLKID_MPLL0>,
49				  <&clkc CLKID_MPLL1>;
50		assigned-clock-parents = <0>, <0>, <0>;
51		assigned-clock-rates = <294912000>,
52				       <270950400>,
53				       <393216000>;
54
55		dai-link-0 {
56			sound-dai = <&frddr_a>;
57		};
58
59		dai-link-1 {
60			sound-dai = <&frddr_b>;
61		};
62
63		dai-link-2 {
64			sound-dai = <&frddr_c>;
65		};
66
67		/* 8ch hdmi interface */
68		dai-link-3 {
69			sound-dai = <&tdmif_b>;
70			dai-format = "i2s";
71			dai-tdm-slot-tx-mask-0 = <1 1>;
72			dai-tdm-slot-tx-mask-1 = <1 1>;
73			dai-tdm-slot-tx-mask-2 = <1 1>;
74			dai-tdm-slot-tx-mask-3 = <1 1>;
75			mclk-fs = <256>;
76
77			codec {
78				sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
79			};
80		};
81
82		/* spdif hdmi or toslink interface */
83		dai-link-4 {
84			sound-dai = <&spdifout_a>;
85
86			codec-0 {
87				sound-dai = <&spdif_dit>;
88			};
89
90			codec-1 {
91				sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>;
92			};
93		};
94
95		/* spdif hdmi interface */
96		dai-link-5 {
97			sound-dai = <&spdifout_b>;
98
99			codec {
100				sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>;
101			};
102		};
103
104		/* hdmi glue */
105		dai-link-6 {
106			sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
107
108			codec {
109				sound-dai = <&hdmi_tx>;
110			};
111		};
112	};
113};
114
115&arb {
116	status = "okay";
117};
118
119&frddr_a {
120	status = "okay";
121};
122
123&frddr_b {
124	status = "okay";
125};
126
127&frddr_c {
128	status = "okay";
129};
130
131&ir {
132	linux,rc-map-name = "rc-dreambox";
133};
134
135&saradc {
136	status = "okay";
137	vref-supply = <&vddao_1v8>;
138};
139
140&spdifout_a {
141	pinctrl-0 = <&spdif_out_h_pins>;
142	pinctrl-names = "default";
143	status = "okay";
144};
145
146&spdifout_b {
147	status = "okay";
148};
149
150&tdmif_b {
151	status = "okay";
152};
153
154&tdmout_b {
155	status = "okay";
156};
157
158&tohdmitx {
159	status = "okay";
160};
161