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 status = "okay"; 33 34 dai-link-0 { 35 sound-dai = <&frddr_a>; 36 }; 37 38 dai-link-1 { 39 sound-dai = <&frddr_b>; 40 }; 41 42 dai-link-2 { 43 sound-dai = <&frddr_c>; 44 }; 45 46 /* 8ch hdmi interface */ 47 dai-link-3 { 48 sound-dai = <&tdmif_b>; 49 dai-format = "i2s"; 50 dai-tdm-slot-tx-mask-0 = <1 1>; 51 dai-tdm-slot-tx-mask-1 = <1 1>; 52 dai-tdm-slot-tx-mask-2 = <1 1>; 53 dai-tdm-slot-tx-mask-3 = <1 1>; 54 mclk-fs = <256>; 55 56 codec { 57 sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; 58 }; 59 }; 60 61 /* hdmi glue */ 62 dai-link-4 { 63 sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; 64 65 codec { 66 sound-dai = <&hdmi_tx>; 67 }; 68 }; 69 }; 70}; 71 72&arb { 73 status = "okay"; 74}; 75 76&clkc_audio { 77 status = "okay"; 78}; 79 80ðmac { 81 status = "okay"; 82 83 pinctrl-0 = <ð_pins>, <ð_rgmii_pins>; 84 pinctrl-names = "default"; 85 phy-mode = "rgmii-txid"; 86 phy-handle = <&external_phy>; 87 88 rx-internal-delay-ps = <800>; 89}; 90 91&ext_mdio { 92 external_phy: ethernet-phy@0 { 93 /* Realtek RTL8211F (0x001cc916) */ 94 reg = <0>; 95 max-speed = <1000>; 96 97 reset-assert-us = <10000>; 98 reset-deassert-us = <80000>; 99 reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; 100 101 interrupt-parent = <&gpio_intc>; 102 /* MAC_INTR on GPIOZ_14 */ 103 interrupts = <26 IRQ_TYPE_LEVEL_LOW>; 104 }; 105}; 106 107&frddr_a { 108 status = "okay"; 109}; 110 111&frddr_b { 112 status = "okay"; 113}; 114 115&frddr_c { 116 status = "okay"; 117}; 118 119&ir { 120 linux,rc-map-name = "rc-x96max"; 121}; 122 123&tdmif_b { 124 status = "okay"; 125}; 126 127&tdmout_b { 128 status = "okay"; 129}; 130 131&tohdmitx { 132 status = "okay"; 133}; 134