18b749a02SChristian Hewitt// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 28b749a02SChristian Hewitt/* 38b749a02SChristian Hewitt * Copyright (c) 2019 BayLibre SAS. All rights reserved. 48b749a02SChristian Hewitt * Copyright (c) 2020 Christian Hewitt <christianshewitt@gmail.com> 58b749a02SChristian Hewitt */ 68b749a02SChristian Hewitt 78b749a02SChristian Hewitt/dts-v1/; 88b749a02SChristian Hewitt 98b749a02SChristian Hewitt#include "meson-sm1-ac2xx.dtsi" 108b749a02SChristian Hewitt#include <dt-bindings/sound/meson-g12a-tohdmitx.h> 118b749a02SChristian Hewitt 128b749a02SChristian Hewitt/ { 138b749a02SChristian Hewitt compatible = "cyx,a95xf3-air-gbit", "amlogic,sm1"; 148b749a02SChristian Hewitt model = "Shenzhen CYX Industrial Co., Ltd A95XF3-AIR"; 158b749a02SChristian Hewitt 168b749a02SChristian Hewitt sound { 178b749a02SChristian Hewitt compatible = "amlogic,axg-sound-card"; 188b749a02SChristian Hewitt model = "A95XF3-AIR"; 198b749a02SChristian Hewitt audio-aux-devs = <&tdmout_b>; 208b749a02SChristian Hewitt audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1", 218b749a02SChristian Hewitt "TDMOUT_B IN 1", "FRDDR_B OUT 1", 228b749a02SChristian Hewitt "TDMOUT_B IN 2", "FRDDR_C OUT 1", 238b749a02SChristian Hewitt "TDM_B Playback", "TDMOUT_B OUT"; 248b749a02SChristian Hewitt 258b749a02SChristian Hewitt assigned-clocks = <&clkc CLKID_MPLL2>, 268b749a02SChristian Hewitt <&clkc CLKID_MPLL0>, 278b749a02SChristian Hewitt <&clkc CLKID_MPLL1>; 288b749a02SChristian Hewitt assigned-clock-parents = <0>, <0>, <0>; 298b749a02SChristian Hewitt assigned-clock-rates = <294912000>, 308b749a02SChristian Hewitt <270950400>, 318b749a02SChristian Hewitt <393216000>; 328b749a02SChristian Hewitt 338b749a02SChristian Hewitt dai-link-0 { 348b749a02SChristian Hewitt sound-dai = <&frddr_a>; 358b749a02SChristian Hewitt }; 368b749a02SChristian Hewitt 378b749a02SChristian Hewitt dai-link-1 { 388b749a02SChristian Hewitt sound-dai = <&frddr_b>; 398b749a02SChristian Hewitt }; 408b749a02SChristian Hewitt 418b749a02SChristian Hewitt dai-link-2 { 428b749a02SChristian Hewitt sound-dai = <&frddr_c>; 438b749a02SChristian Hewitt }; 448b749a02SChristian Hewitt 458b749a02SChristian Hewitt /* 8ch hdmi interface */ 468b749a02SChristian Hewitt dai-link-3 { 478b749a02SChristian Hewitt sound-dai = <&tdmif_b>; 488b749a02SChristian Hewitt dai-format = "i2s"; 498b749a02SChristian Hewitt dai-tdm-slot-tx-mask-0 = <1 1>; 508b749a02SChristian Hewitt dai-tdm-slot-tx-mask-1 = <1 1>; 518b749a02SChristian Hewitt dai-tdm-slot-tx-mask-2 = <1 1>; 528b749a02SChristian Hewitt dai-tdm-slot-tx-mask-3 = <1 1>; 538b749a02SChristian Hewitt mclk-fs = <256>; 548b749a02SChristian Hewitt 558b749a02SChristian Hewitt codec { 568b749a02SChristian Hewitt sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; 578b749a02SChristian Hewitt }; 588b749a02SChristian Hewitt }; 598b749a02SChristian Hewitt 608b749a02SChristian Hewitt /* hdmi glue */ 618b749a02SChristian Hewitt dai-link-4 { 628b749a02SChristian Hewitt sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; 638b749a02SChristian Hewitt 648b749a02SChristian Hewitt codec { 658b749a02SChristian Hewitt sound-dai = <&hdmi_tx>; 668b749a02SChristian Hewitt }; 678b749a02SChristian Hewitt }; 688b749a02SChristian Hewitt }; 698b749a02SChristian Hewitt}; 708b749a02SChristian Hewitt 718b749a02SChristian Hewitt&arb { 728b749a02SChristian Hewitt status = "okay"; 738b749a02SChristian Hewitt}; 748b749a02SChristian Hewitt 758b749a02SChristian Hewitt&clkc_audio { 768b749a02SChristian Hewitt status = "okay"; 778b749a02SChristian Hewitt}; 788b749a02SChristian Hewitt 798b749a02SChristian Hewittðmac { 808b749a02SChristian Hewitt status = "okay"; 818b749a02SChristian Hewitt 828b749a02SChristian Hewitt pinctrl-0 = <ð_pins>, <ð_rgmii_pins>; 838b749a02SChristian Hewitt pinctrl-names = "default"; 848b749a02SChristian Hewitt phy-mode = "rgmii-txid"; 858b749a02SChristian Hewitt phy-handle = <&external_phy>; 868b749a02SChristian Hewitt 878b749a02SChristian Hewitt rx-internal-delay-ps = <800>; 888b749a02SChristian Hewitt}; 898b749a02SChristian Hewitt 908b749a02SChristian Hewitt&ext_mdio { 918b749a02SChristian Hewitt external_phy: ethernet-phy@0 { 928b749a02SChristian Hewitt /* Realtek RTL8211F (0x001cc916) */ 938b749a02SChristian Hewitt reg = <0>; 948b749a02SChristian Hewitt max-speed = <1000>; 958b749a02SChristian Hewitt 968b749a02SChristian Hewitt reset-assert-us = <10000>; 978b749a02SChristian Hewitt reset-deassert-us = <80000>; 988b749a02SChristian Hewitt reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; 998b749a02SChristian Hewitt 1008b749a02SChristian Hewitt interrupt-parent = <&gpio_intc>; 1018b749a02SChristian Hewitt /* MAC_INTR on GPIOZ_14 */ 102*6387e0aaSHuqiang Qin interrupts = <IRQID_GPIOZ_14 IRQ_TYPE_LEVEL_LOW>; 1038b749a02SChristian Hewitt }; 1048b749a02SChristian Hewitt}; 1058b749a02SChristian Hewitt 1068b749a02SChristian Hewitt&frddr_a { 1078b749a02SChristian Hewitt status = "okay"; 1088b749a02SChristian Hewitt}; 1098b749a02SChristian Hewitt 1108b749a02SChristian Hewitt&frddr_b { 1118b749a02SChristian Hewitt status = "okay"; 1128b749a02SChristian Hewitt}; 1138b749a02SChristian Hewitt 1148b749a02SChristian Hewitt&frddr_c { 1158b749a02SChristian Hewitt status = "okay"; 1168b749a02SChristian Hewitt}; 1178b749a02SChristian Hewitt 1188b749a02SChristian Hewitt&tdmif_b { 1198b749a02SChristian Hewitt status = "okay"; 1208b749a02SChristian Hewitt}; 1218b749a02SChristian Hewitt 1228b749a02SChristian Hewitt&tdmout_b { 1238b749a02SChristian Hewitt status = "okay"; 1248b749a02SChristian Hewitt}; 1258b749a02SChristian Hewitt 1268b749a02SChristian Hewitt&tohdmitx { 1278b749a02SChristian Hewitt status = "okay"; 1288b749a02SChristian Hewitt}; 129