xref: /freebsd/sys/contrib/device-tree/src/arm64/amlogic/meson-g12b-dreambox.dtsi (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
10e8011faSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
20e8011faSEmmanuel Vadot/*
30e8011faSEmmanuel Vadot * Copyright (c) 2021 Christian Hewitt <christianshewitt@gmail.com>
40e8011faSEmmanuel Vadot */
50e8011faSEmmanuel Vadot
60e8011faSEmmanuel Vadot#include "meson-g12b-w400.dtsi"
70e8011faSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
80e8011faSEmmanuel Vadot#include <dt-bindings/leds/common.h>
90e8011faSEmmanuel Vadot#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
100e8011faSEmmanuel Vadot
110e8011faSEmmanuel Vadot/ {
120e8011faSEmmanuel Vadot	cvbs-connector {
130e8011faSEmmanuel Vadot		status = "disabled";
140e8011faSEmmanuel Vadot	};
150e8011faSEmmanuel Vadot
160e8011faSEmmanuel Vadot	sdio_pwrseq: sdio-pwrseq {
170e8011faSEmmanuel Vadot		compatible = "mmc-pwrseq-simple";
180e8011faSEmmanuel Vadot		reset-gpios = <&gpio GPIOA_11 GPIO_ACTIVE_LOW>;
190e8011faSEmmanuel Vadot		clocks = <&wifi32k>;
200e8011faSEmmanuel Vadot		clock-names = "ext_clock";
210e8011faSEmmanuel Vadot	};
220e8011faSEmmanuel Vadot
230e8011faSEmmanuel Vadot	spdif_dit: audio-codec-1 {
240e8011faSEmmanuel Vadot		#sound-dai-cells = <0>;
250e8011faSEmmanuel Vadot		compatible = "linux,spdif-dit";
260e8011faSEmmanuel Vadot		status = "okay";
270e8011faSEmmanuel Vadot		sound-name-prefix = "DIT";
280e8011faSEmmanuel Vadot	};
290e8011faSEmmanuel Vadot
300e8011faSEmmanuel Vadot	sound {
310e8011faSEmmanuel Vadot		compatible = "amlogic,axg-sound-card";
320e8011faSEmmanuel Vadot		model = "DREAMBOX";
330e8011faSEmmanuel Vadot		audio-aux-devs = <&tdmout_b>;
340e8011faSEmmanuel Vadot		audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
350e8011faSEmmanuel Vadot				"TDMOUT_B IN 1", "FRDDR_B OUT 1",
360e8011faSEmmanuel Vadot				"TDMOUT_B IN 2", "FRDDR_C OUT 1",
370e8011faSEmmanuel Vadot				"TDM_B Playback", "TDMOUT_B OUT",
380e8011faSEmmanuel Vadot				"SPDIFOUT_A IN 0", "FRDDR_A OUT 3",
390e8011faSEmmanuel Vadot				"SPDIFOUT_A IN 1", "FRDDR_B OUT 3",
400e8011faSEmmanuel Vadot				"SPDIFOUT_A IN 2", "FRDDR_C OUT 3";
41*b2d2a78aSEmmanuel Vadot
42*b2d2a78aSEmmanuel Vadot		clocks = <&clkc CLKID_MPLL2>,
43*b2d2a78aSEmmanuel Vadot			 <&clkc CLKID_MPLL0>,
44*b2d2a78aSEmmanuel Vadot			 <&clkc CLKID_MPLL1>;
45*b2d2a78aSEmmanuel Vadot
46*b2d2a78aSEmmanuel Vadot
470e8011faSEmmanuel Vadot		assigned-clocks = <&clkc CLKID_MPLL2>,
480e8011faSEmmanuel Vadot				  <&clkc CLKID_MPLL0>,
490e8011faSEmmanuel Vadot				  <&clkc CLKID_MPLL1>;
500e8011faSEmmanuel Vadot		assigned-clock-parents = <0>, <0>, <0>;
510e8011faSEmmanuel Vadot		assigned-clock-rates = <294912000>,
520e8011faSEmmanuel Vadot				       <270950400>,
530e8011faSEmmanuel Vadot				       <393216000>;
540e8011faSEmmanuel Vadot
550e8011faSEmmanuel Vadot		dai-link-0 {
560e8011faSEmmanuel Vadot			sound-dai = <&frddr_a>;
570e8011faSEmmanuel Vadot		};
580e8011faSEmmanuel Vadot
590e8011faSEmmanuel Vadot		dai-link-1 {
600e8011faSEmmanuel Vadot			sound-dai = <&frddr_b>;
610e8011faSEmmanuel Vadot		};
620e8011faSEmmanuel Vadot
630e8011faSEmmanuel Vadot		dai-link-2 {
640e8011faSEmmanuel Vadot			sound-dai = <&frddr_c>;
650e8011faSEmmanuel Vadot		};
660e8011faSEmmanuel Vadot
670e8011faSEmmanuel Vadot		/* 8ch hdmi interface */
680e8011faSEmmanuel Vadot		dai-link-3 {
690e8011faSEmmanuel Vadot			sound-dai = <&tdmif_b>;
700e8011faSEmmanuel Vadot			dai-format = "i2s";
710e8011faSEmmanuel Vadot			dai-tdm-slot-tx-mask-0 = <1 1>;
720e8011faSEmmanuel Vadot			dai-tdm-slot-tx-mask-1 = <1 1>;
730e8011faSEmmanuel Vadot			dai-tdm-slot-tx-mask-2 = <1 1>;
740e8011faSEmmanuel Vadot			dai-tdm-slot-tx-mask-3 = <1 1>;
750e8011faSEmmanuel Vadot			mclk-fs = <256>;
760e8011faSEmmanuel Vadot
770e8011faSEmmanuel Vadot			codec {
780e8011faSEmmanuel Vadot				sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
790e8011faSEmmanuel Vadot			};
800e8011faSEmmanuel Vadot		};
810e8011faSEmmanuel Vadot
820e8011faSEmmanuel Vadot		/* spdif hdmi or toslink interface */
830e8011faSEmmanuel Vadot		dai-link-4 {
840e8011faSEmmanuel Vadot			sound-dai = <&spdifout_a>;
850e8011faSEmmanuel Vadot
860e8011faSEmmanuel Vadot			codec-0 {
870e8011faSEmmanuel Vadot				sound-dai = <&spdif_dit>;
880e8011faSEmmanuel Vadot			};
890e8011faSEmmanuel Vadot
900e8011faSEmmanuel Vadot			codec-1 {
910e8011faSEmmanuel Vadot				sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>;
920e8011faSEmmanuel Vadot			};
930e8011faSEmmanuel Vadot		};
940e8011faSEmmanuel Vadot
950e8011faSEmmanuel Vadot		/* spdif hdmi interface */
960e8011faSEmmanuel Vadot		dai-link-5 {
970e8011faSEmmanuel Vadot			sound-dai = <&spdifout_b>;
980e8011faSEmmanuel Vadot
990e8011faSEmmanuel Vadot			codec {
1000e8011faSEmmanuel Vadot				sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>;
1010e8011faSEmmanuel Vadot			};
1020e8011faSEmmanuel Vadot		};
1030e8011faSEmmanuel Vadot
1040e8011faSEmmanuel Vadot		/* hdmi glue */
1050e8011faSEmmanuel Vadot		dai-link-6 {
1060e8011faSEmmanuel Vadot			sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
1070e8011faSEmmanuel Vadot
1080e8011faSEmmanuel Vadot			codec {
1090e8011faSEmmanuel Vadot				sound-dai = <&hdmi_tx>;
1100e8011faSEmmanuel Vadot			};
1110e8011faSEmmanuel Vadot		};
1120e8011faSEmmanuel Vadot	};
1130e8011faSEmmanuel Vadot};
1140e8011faSEmmanuel Vadot
1150e8011faSEmmanuel Vadot&arb {
1160e8011faSEmmanuel Vadot	status = "okay";
1170e8011faSEmmanuel Vadot};
1180e8011faSEmmanuel Vadot
1190e8011faSEmmanuel Vadot&frddr_a {
1200e8011faSEmmanuel Vadot	status = "okay";
1210e8011faSEmmanuel Vadot};
1220e8011faSEmmanuel Vadot
1230e8011faSEmmanuel Vadot&frddr_b {
1240e8011faSEmmanuel Vadot	status = "okay";
1250e8011faSEmmanuel Vadot};
1260e8011faSEmmanuel Vadot
1270e8011faSEmmanuel Vadot&frddr_c {
1280e8011faSEmmanuel Vadot	status = "okay";
1290e8011faSEmmanuel Vadot};
1300e8011faSEmmanuel Vadot
1310e8011faSEmmanuel Vadot&ir {
1320e8011faSEmmanuel Vadot	linux,rc-map-name = "rc-dreambox";
1330e8011faSEmmanuel Vadot};
1340e8011faSEmmanuel Vadot
1350e8011faSEmmanuel Vadot&saradc {
1360e8011faSEmmanuel Vadot	status = "okay";
1370e8011faSEmmanuel Vadot	vref-supply = <&vddao_1v8>;
1380e8011faSEmmanuel Vadot};
1390e8011faSEmmanuel Vadot
1400e8011faSEmmanuel Vadot&spdifout_a {
1410e8011faSEmmanuel Vadot	pinctrl-0 = <&spdif_out_h_pins>;
1420e8011faSEmmanuel Vadot	pinctrl-names = "default";
1430e8011faSEmmanuel Vadot	status = "okay";
1440e8011faSEmmanuel Vadot};
1450e8011faSEmmanuel Vadot
1460e8011faSEmmanuel Vadot&spdifout_b {
1470e8011faSEmmanuel Vadot	status = "okay";
1480e8011faSEmmanuel Vadot};
1490e8011faSEmmanuel Vadot
1500e8011faSEmmanuel Vadot&tdmif_b {
1510e8011faSEmmanuel Vadot	status = "okay";
1520e8011faSEmmanuel Vadot};
1530e8011faSEmmanuel Vadot
1540e8011faSEmmanuel Vadot&tdmout_b {
1550e8011faSEmmanuel Vadot	status = "okay";
1560e8011faSEmmanuel Vadot};
1570e8011faSEmmanuel Vadot
1580e8011faSEmmanuel Vadot&tohdmitx {
1590e8011faSEmmanuel Vadot	status = "okay";
1600e8011faSEmmanuel Vadot};
161