0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003 * Copyright (c) 2019 BayLibre SAS. All rights reserved.
0004 * Copyright (c) 2020 Christian Hewitt <christianshewitt@gmail.com>
0005 */
0006
0007 /dts-v1/;
0008
0009 #include "meson-sm1-ac2xx.dtsi"
0010 #include <dt-bindings/sound/meson-g12a-tohdmitx.h>
0011
0012 / {
0013 compatible = "amediatech,x96-air-gbit", "amlogic,sm1";
0014 model = "Shenzhen Amediatech Technology Co., Ltd X96 Air";
0015
0016 sound {
0017 compatible = "amlogic,axg-sound-card";
0018 model = "X96-AIR";
0019 audio-aux-devs = <&tdmout_b>;
0020 audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
0021 "TDMOUT_B IN 1", "FRDDR_B OUT 1",
0022 "TDMOUT_B IN 2", "FRDDR_C OUT 1",
0023 "TDM_B Playback", "TDMOUT_B OUT";
0024
0025 assigned-clocks = <&clkc CLKID_MPLL2>,
0026 <&clkc CLKID_MPLL0>,
0027 <&clkc CLKID_MPLL1>;
0028 assigned-clock-parents = <0>, <0>, <0>;
0029 assigned-clock-rates = <294912000>,
0030 <270950400>,
0031 <393216000>;
0032 status = "okay";
0033
0034 dai-link-0 {
0035 sound-dai = <&frddr_a>;
0036 };
0037
0038 dai-link-1 {
0039 sound-dai = <&frddr_b>;
0040 };
0041
0042 dai-link-2 {
0043 sound-dai = <&frddr_c>;
0044 };
0045
0046 /* 8ch hdmi interface */
0047 dai-link-3 {
0048 sound-dai = <&tdmif_b>;
0049 dai-format = "i2s";
0050 dai-tdm-slot-tx-mask-0 = <1 1>;
0051 dai-tdm-slot-tx-mask-1 = <1 1>;
0052 dai-tdm-slot-tx-mask-2 = <1 1>;
0053 dai-tdm-slot-tx-mask-3 = <1 1>;
0054 mclk-fs = <256>;
0055
0056 codec {
0057 sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
0058 };
0059 };
0060
0061 /* hdmi glue */
0062 dai-link-4 {
0063 sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
0064
0065 codec {
0066 sound-dai = <&hdmi_tx>;
0067 };
0068 };
0069 };
0070 };
0071
0072 &arb {
0073 status = "okay";
0074 };
0075
0076 &clkc_audio {
0077 status = "okay";
0078 };
0079
0080 ðmac {
0081 status = "okay";
0082
0083 pinctrl-0 = <ð_pins>, <ð_rgmii_pins>;
0084 pinctrl-names = "default";
0085 phy-mode = "rgmii-txid";
0086 phy-handle = <&external_phy>;
0087
0088 rx-internal-delay-ps = <800>;
0089 };
0090
0091 &ext_mdio {
0092 external_phy: ethernet-phy@0 {
0093 /* Realtek RTL8211F (0x001cc916) */
0094 reg = <0>;
0095 max-speed = <1000>;
0096
0097 reset-assert-us = <10000>;
0098 reset-deassert-us = <80000>;
0099 reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
0100
0101 interrupt-parent = <&gpio_intc>;
0102 /* MAC_INTR on GPIOZ_14 */
0103 interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
0104 };
0105 };
0106
0107 &frddr_a {
0108 status = "okay";
0109 };
0110
0111 &frddr_b {
0112 status = "okay";
0113 };
0114
0115 &frddr_c {
0116 status = "okay";
0117 };
0118
0119 &ir {
0120 linux,rc-map-name = "rc-x96max";
0121 };
0122
0123 &tdmif_b {
0124 status = "okay";
0125 };
0126
0127 &tdmout_b {
0128 status = "okay";
0129 };
0130
0131 &tohdmitx {
0132 status = "okay";
0133 };