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