1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2019 BayLibre SAS. All rights reserved. 4 * Copyright (c) 2020 Christian Hewitt <christianshewitt@gmail.com> 5 */ 6 7/dts-v1/; 8 9#include "meson-sm1-ac2xx.dtsi" 10#include <dt-bindings/sound/meson-g12a-tohdmitx.h> 11 12/ { 13 compatible = "amediatech,x96-air-gbit", "amlogic,sm1"; 14 model = "Shenzhen Amediatech Technology Co., Ltd X96 Air"; 15 16 sound { 17 compatible = "amlogic,axg-sound-card"; 18 model = "X96-AIR"; 19 audio-aux-devs = <&tdmout_b>; 20 audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1", 21 "TDMOUT_B IN 1", "FRDDR_B OUT 1", 22 "TDMOUT_B IN 2", "FRDDR_C OUT 1", 23 "TDM_B Playback", "TDMOUT_B OUT"; 24 25 assigned-clocks = <&clkc CLKID_MPLL2>, 26 <&clkc CLKID_MPLL0>, 27 <&clkc CLKID_MPLL1>; 28 assigned-clock-parents = <0>, <0>, <0>; 29 assigned-clock-rates = <294912000>, 30 <270950400>, 31 <393216000>; 32 33 dai-link-0 { 34 sound-dai = <&frddr_a>; 35 }; 36 37 dai-link-1 { 38 sound-dai = <&frddr_b>; 39 }; 40 41 dai-link-2 { 42 sound-dai = <&frddr_c>; 43 }; 44 45 /* 8ch hdmi interface */ 46 dai-link-3 { 47 sound-dai = <&tdmif_b>; 48 dai-format = "i2s"; 49 dai-tdm-slot-tx-mask-0 = <1 1>; 50 dai-tdm-slot-tx-mask-1 = <1 1>; 51 dai-tdm-slot-tx-mask-2 = <1 1>; 52 dai-tdm-slot-tx-mask-3 = <1 1>; 53 mclk-fs = <256>; 54 55 codec { 56 sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; 57 }; 58 }; 59 60 /* hdmi glue */ 61 dai-link-4 { 62 sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; 63 64 codec { 65 sound-dai = <&hdmi_tx>; 66 }; 67 }; 68 }; 69}; 70 71&arb { 72 status = "okay"; 73}; 74 75&clkc_audio { 76 status = "okay"; 77}; 78 79ðmac { 80 status = "okay"; 81 82 pinctrl-0 = <ð_pins>, <ð_rgmii_pins>; 83 pinctrl-names = "default"; 84 phy-mode = "rgmii-txid"; 85 phy-handle = <&external_phy>; 86 87 rx-internal-delay-ps = <800>; 88}; 89 90&ext_mdio { 91 external_phy: ethernet-phy@0 { 92 /* Realtek RTL8211F (0x001cc916) */ 93 reg = <0>; 94 max-speed = <1000>; 95 96 reset-assert-us = <10000>; 97 reset-deassert-us = <80000>; 98 reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; 99 100 interrupt-parent = <&gpio_intc>; 101 /* MAC_INTR on GPIOZ_14 */ 102 interrupts = <26 IRQ_TYPE_LEVEL_LOW>; 103 }; 104}; 105 106&frddr_a { 107 status = "okay"; 108}; 109 110&frddr_b { 111 status = "okay"; 112}; 113 114&frddr_c { 115 status = "okay"; 116}; 117 118&ir { 119 linux,rc-map-name = "rc-x96max"; 120}; 121 122&tdmif_b { 123 status = "okay"; 124}; 125 126&tdmout_b { 127 status = "okay"; 128}; 129 130&tohdmitx { 131 status = "okay"; 132}; 133