1114abfe1SNeil Armstrong// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 29d59b708SYixun Lan/* 39d59b708SYixun Lan * Copyright (c) 2017 Amlogic, Inc. All rights reserved. 49d59b708SYixun Lan */ 59d59b708SYixun Lan 69d59b708SYixun Lan/dts-v1/; 79d59b708SYixun Lan 89d59b708SYixun Lan#include "meson-axg.dtsi" 9aabe5d2dSJerome Brunet#include <dt-bindings/input/input.h> 109d59b708SYixun Lan 119d59b708SYixun Lan/ { 129d59b708SYixun Lan compatible = "amlogic,s400", "amlogic,a113d", "amlogic,meson-axg"; 139d59b708SYixun Lan model = "Amlogic Meson AXG S400 Development Board"; 149d59b708SYixun Lan 15aabe5d2dSJerome Brunet adc_keys { 16aabe5d2dSJerome Brunet compatible = "adc-keys"; 17aabe5d2dSJerome Brunet io-channels = <&saradc 0>; 18aabe5d2dSJerome Brunet io-channel-names = "buttons"; 19aabe5d2dSJerome Brunet keyup-threshold-microvolt = <1800000>; 20aabe5d2dSJerome Brunet 21aabe5d2dSJerome Brunet button-next { 22aabe5d2dSJerome Brunet label = "Next"; 23aabe5d2dSJerome Brunet linux,code = <KEY_NEXT>; 24aabe5d2dSJerome Brunet press-threshold-microvolt = <1116000>; /* 62% */ 25aabe5d2dSJerome Brunet }; 26aabe5d2dSJerome Brunet 27aabe5d2dSJerome Brunet button-prev { 28aabe5d2dSJerome Brunet label = "Previous"; 29aabe5d2dSJerome Brunet linux,code = <KEY_PREVIOUS>; 30aabe5d2dSJerome Brunet press-threshold-microvolt = <900000>; /* 50% */ 31aabe5d2dSJerome Brunet }; 32aabe5d2dSJerome Brunet 33aabe5d2dSJerome Brunet button-wifi { 34aabe5d2dSJerome Brunet label = "Wifi"; 35aabe5d2dSJerome Brunet linux,code = <KEY_WLAN>; 36aabe5d2dSJerome Brunet press-threshold-microvolt = <684000>; /* 38% */ 37aabe5d2dSJerome Brunet }; 38aabe5d2dSJerome Brunet 39aabe5d2dSJerome Brunet button-up { 40aabe5d2dSJerome Brunet label = "Volume Up"; 41aabe5d2dSJerome Brunet linux,code = <KEY_VOLUMEUP>; 42aabe5d2dSJerome Brunet press-threshold-microvolt = <468000>; /* 26% */ 43aabe5d2dSJerome Brunet }; 44aabe5d2dSJerome Brunet 45aabe5d2dSJerome Brunet button-down { 46aabe5d2dSJerome Brunet label = "Volume Down"; 47aabe5d2dSJerome Brunet linux,code = <KEY_VOLUMEDOWN>; 48aabe5d2dSJerome Brunet press-threshold-microvolt = <252000>; /* 14% */ 49aabe5d2dSJerome Brunet }; 50aabe5d2dSJerome Brunet 51aabe5d2dSJerome Brunet button-voice { 52aabe5d2dSJerome Brunet label = "Voice"; 53aabe5d2dSJerome Brunet linux,code = <KEY_VOICECOMMAND>; 54aabe5d2dSJerome Brunet press-threshold-microvolt = <0>; /* 0% */ 55aabe5d2dSJerome Brunet }; 56aabe5d2dSJerome Brunet }; 57aabe5d2dSJerome Brunet 589d59b708SYixun Lan aliases { 599d59b708SYixun Lan serial0 = &uart_AO; 603e5925c6SYixun Lan serial1 = &uart_A; 619d59b708SYixun Lan }; 62221cf34bSNan Li 63fbd5cbc5SJerome Brunet linein: audio-codec-0 { 648c0cf40fSJerome Brunet #sound-dai-cells = <0>; 658c0cf40fSJerome Brunet compatible = "everest,es7241"; 668c0cf40fSJerome Brunet VDDA-supply = <&vcc_3v3>; 678c0cf40fSJerome Brunet VDDP-supply = <&vcc_3v3>; 688c0cf40fSJerome Brunet VDDD-supply = <&vcc_3v3>; 698c0cf40fSJerome Brunet status = "okay"; 708c0cf40fSJerome Brunet sound-name-prefix = "Linein"; 718c0cf40fSJerome Brunet }; 728c0cf40fSJerome Brunet 73fbd5cbc5SJerome Brunet lineout: audio-codec-1 { 748c0cf40fSJerome Brunet #sound-dai-cells = <0>; 758c0cf40fSJerome Brunet compatible = "everest,es7154"; 768c0cf40fSJerome Brunet VDD-supply = <&vcc_3v3>; 778c0cf40fSJerome Brunet PVDD-supply = <&vcc_5v>; 788c0cf40fSJerome Brunet status = "okay"; 798c0cf40fSJerome Brunet sound-name-prefix = "Lineout"; 808c0cf40fSJerome Brunet }; 818c0cf40fSJerome Brunet 82fbd5cbc5SJerome Brunet spdif_dit: audio-codec-2 { 838c0cf40fSJerome Brunet #sound-dai-cells = <0>; 848c0cf40fSJerome Brunet compatible = "linux,spdif-dit"; 858c0cf40fSJerome Brunet status = "okay"; 868c0cf40fSJerome Brunet sound-name-prefix = "DIT"; 878c0cf40fSJerome Brunet }; 888c0cf40fSJerome Brunet 89fbd5cbc5SJerome Brunet dmics: audio-codec-3 { 9063d1e757SJerome Brunet #sound-dai-cells = <0>; 9163d1e757SJerome Brunet compatible = "dmic-codec"; 9263d1e757SJerome Brunet num-channels = <7>; 9363d1e757SJerome Brunet wakeup-delay-ms = <50>; 9463d1e757SJerome Brunet status = "okay"; 9563d1e757SJerome Brunet sound-name-prefix = "MIC"; 9663d1e757SJerome Brunet }; 9763d1e757SJerome Brunet 98e6a55397SJerome Brunet spdif_dir: audio-codec-4 { 99e6a55397SJerome Brunet #sound-dai-cells = <0>; 100e6a55397SJerome Brunet compatible = "linux,spdif-dir"; 101e6a55397SJerome Brunet status = "okay"; 102e6a55397SJerome Brunet sound-name-prefix = "DIR"; 103e6a55397SJerome Brunet }; 104e6a55397SJerome Brunet 1058c0cf40fSJerome Brunet emmc_pwrseq: emmc-pwrseq { 1068c0cf40fSJerome Brunet compatible = "mmc-pwrseq-emmc"; 1078c0cf40fSJerome Brunet reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 1088c0cf40fSJerome Brunet }; 1098c0cf40fSJerome Brunet 1102250e0f5SNeil Armstrong chosen { 1112250e0f5SNeil Armstrong stdout-path = "serial0:115200n8"; 1122250e0f5SNeil Armstrong }; 1132250e0f5SNeil Armstrong 1142250e0f5SNeil Armstrong memory@0 { 1152250e0f5SNeil Armstrong device_type = "memory"; 1162250e0f5SNeil Armstrong reg = <0x0 0x0 0x0 0x40000000>; 1172250e0f5SNeil Armstrong }; 1182250e0f5SNeil Armstrong 119e120289cSJerome Brunet main_12v: regulator-main_12v { 120e120289cSJerome Brunet compatible = "regulator-fixed"; 121e120289cSJerome Brunet regulator-name = "12V"; 122e120289cSJerome Brunet regulator-min-microvolt = <12000000>; 123e120289cSJerome Brunet regulator-max-microvolt = <12000000>; 1249f2619d5SJerome Brunet regulator-always-on; 125e120289cSJerome Brunet }; 126e120289cSJerome Brunet 127221cf34bSNan Li vcc_3v3: regulator-vcc_3v3 { 128221cf34bSNan Li compatible = "regulator-fixed"; 129221cf34bSNan Li regulator-name = "VCC_3V3"; 130221cf34bSNan Li regulator-min-microvolt = <3300000>; 131221cf34bSNan Li regulator-max-microvolt = <3300000>; 1329f2619d5SJerome Brunet vin-supply = <&vddao_3v3>; 1339f2619d5SJerome Brunet regulator-always-on; 134221cf34bSNan Li }; 135221cf34bSNan Li 136ff36932eSJerome Brunet vcc_5v: regulator-vcc_5v { 137ff36932eSJerome Brunet compatible = "regulator-fixed"; 138ff36932eSJerome Brunet regulator-name = "VCC5V"; 139ff36932eSJerome Brunet regulator-min-microvolt = <5000000>; 140ff36932eSJerome Brunet regulator-max-microvolt = <5000000>; 141ff36932eSJerome Brunet vin-supply = <&main_12v>; 142ff36932eSJerome Brunet 143ff36932eSJerome Brunet gpio = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>; 144ff36932eSJerome Brunet enable-active-high; 145ff36932eSJerome Brunet }; 146ff36932eSJerome Brunet 1478c0cf40fSJerome Brunet vddao_3v3: regulator-vddao_3v3 { 1488c0cf40fSJerome Brunet compatible = "regulator-fixed"; 1498c0cf40fSJerome Brunet regulator-name = "VDDAO_3V3"; 1508c0cf40fSJerome Brunet regulator-min-microvolt = <3300000>; 1518c0cf40fSJerome Brunet regulator-max-microvolt = <3300000>; 1528c0cf40fSJerome Brunet vin-supply = <&main_12v>; 1538c0cf40fSJerome Brunet regulator-always-on; 1548c0cf40fSJerome Brunet }; 1558c0cf40fSJerome Brunet 1568c0cf40fSJerome Brunet vddio_ao18: regulator-vddio_ao18 { 1578c0cf40fSJerome Brunet compatible = "regulator-fixed"; 1588c0cf40fSJerome Brunet regulator-name = "VDDIO_AO18"; 1598c0cf40fSJerome Brunet regulator-min-microvolt = <1800000>; 1608c0cf40fSJerome Brunet regulator-max-microvolt = <1800000>; 1618c0cf40fSJerome Brunet vin-supply = <&vddao_3v3>; 1628c0cf40fSJerome Brunet regulator-always-on; 1638c0cf40fSJerome Brunet }; 1648c0cf40fSJerome Brunet 1658c0cf40fSJerome Brunet vddio_boot: regulator-vddio_boot { 1668c0cf40fSJerome Brunet compatible = "regulator-fixed"; 1678c0cf40fSJerome Brunet regulator-name = "VDDIO_BOOT"; 1688c0cf40fSJerome Brunet regulator-min-microvolt = <1800000>; 1698c0cf40fSJerome Brunet regulator-max-microvolt = <1800000>; 1708c0cf40fSJerome Brunet vin-supply = <&vddao_3v3>; 1718c0cf40fSJerome Brunet regulator-always-on; 1728c0cf40fSJerome Brunet }; 1738c0cf40fSJerome Brunet 174fd1a3b7eSJerome Brunet usb_pwr: regulator-usb_pwr { 175fd1a3b7eSJerome Brunet compatible = "regulator-fixed"; 176fd1a3b7eSJerome Brunet regulator-name = "USB_PWR"; 177fd1a3b7eSJerome Brunet regulator-min-microvolt = <5000000>; 178fd1a3b7eSJerome Brunet regulator-max-microvolt = <5000000>; 179fd1a3b7eSJerome Brunet vin-supply = <&vcc_5v>; 180fd1a3b7eSJerome Brunet 181fd1a3b7eSJerome Brunet gpio = <&gpio_ao GPIOAO_5 GPIO_ACTIVE_HIGH>; 182fd1a3b7eSJerome Brunet enable-active-high; 183221cf34bSNan Li }; 184221cf34bSNan Li 1855a8a2ed6SYixun Lan sdio_pwrseq: sdio-pwrseq { 1865a8a2ed6SYixun Lan compatible = "mmc-pwrseq-simple"; 1875a8a2ed6SYixun Lan reset-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>; 1885a8a2ed6SYixun Lan clocks = <&wifi32k>; 1895a8a2ed6SYixun Lan clock-names = "ext_clock"; 1905a8a2ed6SYixun Lan }; 1915a8a2ed6SYixun Lan 1926279f666SJerome Brunet speaker-leds { 1936279f666SJerome Brunet compatible = "gpio-leds"; 1946279f666SJerome Brunet 1956279f666SJerome Brunet aled1 { 1966279f666SJerome Brunet label = "speaker:aled1"; 1976279f666SJerome Brunet gpios = <&gpio_speaker 7 0>; 1986279f666SJerome Brunet }; 1996279f666SJerome Brunet 2006279f666SJerome Brunet aled2 { 2016279f666SJerome Brunet label = "speaker:aled2"; 2026279f666SJerome Brunet gpios = <&gpio_speaker 6 0>; 2036279f666SJerome Brunet }; 2046279f666SJerome Brunet 2056279f666SJerome Brunet aled3 { 2066279f666SJerome Brunet label = "speaker:aled3"; 2076279f666SJerome Brunet gpios = <&gpio_speaker 5 0>; 2086279f666SJerome Brunet }; 2096279f666SJerome Brunet 2106279f666SJerome Brunet aled4 { 2116279f666SJerome Brunet label = "speaker:aled4"; 2126279f666SJerome Brunet gpios = <&gpio_speaker 4 0>; 2136279f666SJerome Brunet }; 2146279f666SJerome Brunet 2156279f666SJerome Brunet aled5 { 2166279f666SJerome Brunet label = "speaker:aled5"; 2176279f666SJerome Brunet gpios = <&gpio_speaker 3 0>; 2186279f666SJerome Brunet }; 2196279f666SJerome Brunet 2206279f666SJerome Brunet aled6 { 2216279f666SJerome Brunet label = "speaker:aled6"; 2226279f666SJerome Brunet gpios = <&gpio_speaker 2 0>; 2236279f666SJerome Brunet }; 2246279f666SJerome Brunet }; 225cfc34f04SJerome Brunet 2266f59dc1aSJerome Brunet sound { 2276f59dc1aSJerome Brunet compatible = "amlogic,axg-sound-card"; 2286f59dc1aSJerome Brunet model = "AXG-S400"; 2296f59dc1aSJerome Brunet audio-aux-devs = <&tdmin_a>, <&tdmin_b>, <&tdmin_c>, 2306f59dc1aSJerome Brunet <&tdmin_lb>, <&tdmout_c>; 2316f59dc1aSJerome Brunet audio-widgets = "Line", "Lineout", 2326f59dc1aSJerome Brunet "Line", "Linein", 2336f59dc1aSJerome Brunet "Speaker", "Speaker1 Left", 2346f59dc1aSJerome Brunet "Speaker", "Speaker1 Right"; 2356f59dc1aSJerome Brunet audio-routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2", 2366f59dc1aSJerome Brunet "SPDIFOUT IN 0", "FRDDR_A OUT 3", 2376f59dc1aSJerome Brunet "TDMOUT_C IN 1", "FRDDR_B OUT 2", 2386f59dc1aSJerome Brunet "SPDIFOUT IN 1", "FRDDR_B OUT 3", 2396f59dc1aSJerome Brunet "TDMOUT_C IN 2", "FRDDR_C OUT 2", 2406f59dc1aSJerome Brunet "SPDIFOUT IN 2", "FRDDR_C OUT 3", 2416f59dc1aSJerome Brunet "TDM_C Playback", "TDMOUT_C OUT", 2426f59dc1aSJerome Brunet "TDMIN_A IN 2", "TDM_C Capture", 2436f59dc1aSJerome Brunet "TDMIN_A IN 5", "TDM_C Loopback", 2446f59dc1aSJerome Brunet "TDMIN_B IN 2", "TDM_C Capture", 2456f59dc1aSJerome Brunet "TDMIN_B IN 5", "TDM_C Loopback", 2466f59dc1aSJerome Brunet "TDMIN_C IN 2", "TDM_C Capture", 2476f59dc1aSJerome Brunet "TDMIN_C IN 5", "TDM_C Loopback", 2486f59dc1aSJerome Brunet "TDMIN_LB IN 2", "TDM_C Loopback", 2496f59dc1aSJerome Brunet "TDMIN_LB IN 5", "TDM_C Capture", 2506f59dc1aSJerome Brunet "TODDR_A IN 0", "TDMIN_A OUT", 2516f59dc1aSJerome Brunet "TODDR_B IN 0", "TDMIN_A OUT", 2526f59dc1aSJerome Brunet "TODDR_C IN 0", "TDMIN_A OUT", 2536f59dc1aSJerome Brunet "TODDR_A IN 1", "TDMIN_B OUT", 2546f59dc1aSJerome Brunet "TODDR_B IN 1", "TDMIN_B OUT", 2556f59dc1aSJerome Brunet "TODDR_C IN 1", "TDMIN_B OUT", 2566f59dc1aSJerome Brunet "TODDR_A IN 2", "TDMIN_C OUT", 2576f59dc1aSJerome Brunet "TODDR_B IN 2", "TDMIN_C OUT", 2586f59dc1aSJerome Brunet "TODDR_C IN 2", "TDMIN_C OUT", 25999e322ccSJerome Brunet "TODDR_A IN 3", "SPDIFIN Capture", 26099e322ccSJerome Brunet "TODDR_B IN 3", "SPDIFIN Capture", 26199e322ccSJerome Brunet "TODDR_C IN 3", "SPDIFIN Capture", 262d85163c7SJerome Brunet "TODDR_A IN 4", "PDM Capture", 263d85163c7SJerome Brunet "TODDR_B IN 4", "PDM Capture", 264d85163c7SJerome Brunet "TODDR_C IN 4", "PDM Capture", 2656f59dc1aSJerome Brunet "TODDR_A IN 6", "TDMIN_LB OUT", 2666f59dc1aSJerome Brunet "TODDR_B IN 6", "TDMIN_LB OUT", 2676f59dc1aSJerome Brunet "TODDR_C IN 6", "TDMIN_LB OUT", 2686f59dc1aSJerome Brunet "Lineout", "Lineout AOUTL", 2696f59dc1aSJerome Brunet "Lineout", "Lineout AOUTR", 2706f59dc1aSJerome Brunet "Speaker1 Left", "SPK1 OUT_A", 2716f59dc1aSJerome Brunet "Speaker1 Left", "SPK1 OUT_B", 2726f59dc1aSJerome Brunet "Speaker1 Right", "SPK1 OUT_C", 2736f59dc1aSJerome Brunet "Speaker1 Right", "SPK1 OUT_D", 2746f59dc1aSJerome Brunet "Linein AINL", "Linein", 2756f59dc1aSJerome Brunet "Linein AINR", "Linein"; 2766f59dc1aSJerome Brunet assigned-clocks = <&clkc CLKID_HIFI_PLL>, 2776f59dc1aSJerome Brunet <&clkc CLKID_MPLL0>, 2786f59dc1aSJerome Brunet <&clkc CLKID_MPLL1>; 2796f59dc1aSJerome Brunet assigned-clock-parents = <0>, <0>, <0>; 2806f59dc1aSJerome Brunet assigned-clock-rates = <589824000>, 2816f59dc1aSJerome Brunet <270950400>, 2826f59dc1aSJerome Brunet <393216000>; 2836f59dc1aSJerome Brunet 284fbd5cbc5SJerome Brunet dai-link-0 { 2856f59dc1aSJerome Brunet sound-dai = <&frddr_a>; 2866f59dc1aSJerome Brunet }; 2876f59dc1aSJerome Brunet 288fbd5cbc5SJerome Brunet dai-link-1 { 2896f59dc1aSJerome Brunet sound-dai = <&frddr_b>; 2906f59dc1aSJerome Brunet }; 2916f59dc1aSJerome Brunet 292fbd5cbc5SJerome Brunet dai-link-2 { 2936f59dc1aSJerome Brunet sound-dai = <&frddr_c>; 2946f59dc1aSJerome Brunet }; 2956f59dc1aSJerome Brunet 296fbd5cbc5SJerome Brunet dai-link-3 { 2976f59dc1aSJerome Brunet sound-dai = <&toddr_a>; 2986f59dc1aSJerome Brunet }; 2996f59dc1aSJerome Brunet 300fbd5cbc5SJerome Brunet dai-link-4 { 3016f59dc1aSJerome Brunet sound-dai = <&toddr_b>; 3026f59dc1aSJerome Brunet }; 3036f59dc1aSJerome Brunet 304fbd5cbc5SJerome Brunet dai-link-5 { 3056f59dc1aSJerome Brunet sound-dai = <&toddr_c>; 3066f59dc1aSJerome Brunet }; 3076f59dc1aSJerome Brunet 308fbd5cbc5SJerome Brunet dai-link-6 { 3096f59dc1aSJerome Brunet sound-dai = <&tdmif_c>; 3106f59dc1aSJerome Brunet dai-format = "i2s"; 3116f59dc1aSJerome Brunet dai-tdm-slot-tx-mask-2 = <1 1>; 3126f59dc1aSJerome Brunet dai-tdm-slot-rx-mask-1 = <1 1>; 3136f59dc1aSJerome Brunet mclk-fs = <256>; 3146f59dc1aSJerome Brunet 31543004923SJerome Brunet codec-0 { 3166f59dc1aSJerome Brunet sound-dai = <&lineout>; 3176f59dc1aSJerome Brunet }; 3186f59dc1aSJerome Brunet 31943004923SJerome Brunet codec-1 { 3206f59dc1aSJerome Brunet sound-dai = <&speaker_amp1>; 3216f59dc1aSJerome Brunet }; 3226f59dc1aSJerome Brunet 32343004923SJerome Brunet codec-2 { 3246f59dc1aSJerome Brunet sound-dai = <&linein>; 3256f59dc1aSJerome Brunet }; 3266f59dc1aSJerome Brunet 3276f59dc1aSJerome Brunet }; 3286f59dc1aSJerome Brunet 329fbd5cbc5SJerome Brunet dai-link-7 { 3306f59dc1aSJerome Brunet sound-dai = <&spdifout>; 3316f59dc1aSJerome Brunet 3326f59dc1aSJerome Brunet codec { 3336f59dc1aSJerome Brunet sound-dai = <&spdif_dit>; 3346f59dc1aSJerome Brunet }; 3356f59dc1aSJerome Brunet }; 336d85163c7SJerome Brunet 337fbd5cbc5SJerome Brunet dai-link-8 { 33899e322ccSJerome Brunet sound-dai = <&spdifin>; 33999e322ccSJerome Brunet 34099e322ccSJerome Brunet codec { 34199e322ccSJerome Brunet sound-dai = <&spdif_dir>; 34299e322ccSJerome Brunet }; 34399e322ccSJerome Brunet }; 34499e322ccSJerome Brunet 34599e322ccSJerome Brunet dai-link-9 { 346d85163c7SJerome Brunet sound-dai = <&pdm>; 347d85163c7SJerome Brunet 348d85163c7SJerome Brunet codec { 349d85163c7SJerome Brunet sound-dai = <&dmics>; 350d85163c7SJerome Brunet }; 351d85163c7SJerome Brunet }; 3526f59dc1aSJerome Brunet }; 3538c0cf40fSJerome Brunet 3548c0cf40fSJerome Brunet wifi32k: wifi32k { 3558c0cf40fSJerome Brunet compatible = "pwm-clock"; 3568c0cf40fSJerome Brunet #clock-cells = <0>; 3578c0cf40fSJerome Brunet clock-frequency = <32768>; 3588c0cf40fSJerome Brunet pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */ 3598c0cf40fSJerome Brunet }; 3609d59b708SYixun Lan}; 3619d59b708SYixun Lan 362f6f6ac91SYixun Lanðmac { 363f6f6ac91SYixun Lan status = "okay"; 364f6f6ac91SYixun Lan pinctrl-0 = <ð_rgmii_y_pins>; 365f6f6ac91SYixun Lan pinctrl-names = "default"; 3666d28d577SJerome Brunet phy-handle = <ð_phy0>; 3676d28d577SJerome Brunet phy-mode = "rgmii"; 3686d28d577SJerome Brunet 3696d28d577SJerome Brunet mdio { 3706d28d577SJerome Brunet compatible = "snps,dwmac-mdio"; 3716d28d577SJerome Brunet #address-cells = <1>; 3726d28d577SJerome Brunet #size-cells = <0>; 3736d28d577SJerome Brunet 3746d28d577SJerome Brunet eth_phy0: ethernet-phy@0 { 3756d28d577SJerome Brunet /* Realtek RTL8211F (0x001cc916) */ 3766d28d577SJerome Brunet reg = <0>; 377de7c2fa5SCarlo Caione interrupt-parent = <&gpio_intc>; 378de7c2fa5SCarlo Caione interrupts = <98 IRQ_TYPE_LEVEL_LOW>; 3796d28d577SJerome Brunet eee-broken-1000t; 3806d28d577SJerome Brunet }; 3816d28d577SJerome Brunet }; 382f6f6ac91SYixun Lan}; 383f6f6ac91SYixun Lan 384a0ef1c1cSJerome Brunet&frddr_a { 385a0ef1c1cSJerome Brunet status = "okay"; 386a0ef1c1cSJerome Brunet}; 387a0ef1c1cSJerome Brunet 388a0ef1c1cSJerome Brunet&frddr_b { 389a0ef1c1cSJerome Brunet status = "okay"; 390a0ef1c1cSJerome Brunet}; 391a0ef1c1cSJerome Brunet 392a0ef1c1cSJerome Brunet&frddr_c { 393a0ef1c1cSJerome Brunet status = "okay"; 394a0ef1c1cSJerome Brunet}; 395a0ef1c1cSJerome Brunet 3967bd46a79SYixun Lan&ir { 3977bd46a79SYixun Lan status = "okay"; 3987bd46a79SYixun Lan pinctrl-0 = <&remote_input_ao_pins>; 3997bd46a79SYixun Lan pinctrl-names = "default"; 4007bd46a79SYixun Lan}; 4017d6d8a20SJian Hu 4027d6d8a20SJian Hu&i2c1 { 4037d6d8a20SJian Hu status = "okay"; 4047d6d8a20SJian Hu pinctrl-0 = <&i2c1_z_pins>; 4057d6d8a20SJian Hu pinctrl-names = "default"; 406a90193b9SJerome Brunet 407a90193b9SJerome Brunet speaker_amp1: audio-codec@1b { 408a90193b9SJerome Brunet compatible = "ti,tas5707"; 409a90193b9SJerome Brunet reg = <0x1b>; 410a90193b9SJerome Brunet reset-gpios = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_LOW>; 411a90193b9SJerome Brunet #sound-dai-cells = <0>; 412a90193b9SJerome Brunet AVDD-supply = <&vcc_3v3>; 413a90193b9SJerome Brunet DVDD-supply = <&vcc_3v3>; 414a90193b9SJerome Brunet PVDD_A-supply = <&main_12v>; 415a90193b9SJerome Brunet PVDD_B-supply = <&main_12v>; 416a90193b9SJerome Brunet PVDD_C-supply = <&main_12v>; 417a90193b9SJerome Brunet PVDD_D-supply = <&main_12v>; 4186f59dc1aSJerome Brunet sound-name-prefix = "SPK1"; 419a90193b9SJerome Brunet }; 4207d6d8a20SJian Hu}; 421221cf34bSNan Li 422ffe2f2a4SJerome Brunet&i2c_AO { 423ffe2f2a4SJerome Brunet status = "okay"; 424ffe2f2a4SJerome Brunet pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>; 425ffe2f2a4SJerome Brunet pinctrl-names = "default"; 4266279f666SJerome Brunet 4276279f666SJerome Brunet gpio_speaker: gpio-controller@1f { 4286279f666SJerome Brunet compatible = "nxp,pca9557"; 4296279f666SJerome Brunet reg = <0x1f>; 4306279f666SJerome Brunet gpio-controller; 4316279f666SJerome Brunet #gpio-cells = <2>; 4326279f666SJerome Brunet vcc-supply = <&vddao_3v3>; 4336279f666SJerome Brunet }; 434ffe2f2a4SJerome Brunet}; 435ffe2f2a4SJerome Brunet 436d85163c7SJerome Brunet&pdm { 437d85163c7SJerome Brunet pinctrl-0 = <&pdm_dclk_a14_pins>, <&pdm_din0_pins>, 438d85163c7SJerome Brunet <&pdm_din1_pins>, <&pdm_din2_pins>, <&pdm_din3_pins>; 439d85163c7SJerome Brunet pinctrl-names = "default"; 440d85163c7SJerome Brunet status = "okay"; 441d85163c7SJerome Brunet}; 442d85163c7SJerome Brunet 443*9715b01dSNeil Armstrong&pcieA { 444*9715b01dSNeil Armstrong reset-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_LOW>; 445*9715b01dSNeil Armstrong status = "okay"; 446*9715b01dSNeil Armstrong}; 447*9715b01dSNeil Armstrong 448*9715b01dSNeil Armstrong&pcieB { 449*9715b01dSNeil Armstrong reset-gpios = <&gpio GPIOZ_10 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; 450*9715b01dSNeil Armstrong status = "okay"; 451*9715b01dSNeil Armstrong}; 452*9715b01dSNeil Armstrong 4535a8a2ed6SYixun Lan&pwm_ab { 4545a8a2ed6SYixun Lan status = "okay"; 4555a8a2ed6SYixun Lan pinctrl-0 = <&pwm_a_x20_pins>; 4565a8a2ed6SYixun Lan pinctrl-names = "default"; 4575a8a2ed6SYixun Lan}; 4585a8a2ed6SYixun Lan 4598c0cf40fSJerome Brunet&saradc { 460221cf34bSNan Li status = "okay"; 4618c0cf40fSJerome Brunet vref-supply = <&vddio_ao18>; 462221cf34bSNan Li}; 4635a8a2ed6SYixun Lan 4645a8a2ed6SYixun Lan/* wifi module */ 4655a8a2ed6SYixun Lan&sd_emmc_b { 4665a8a2ed6SYixun Lan status = "okay"; 4675a8a2ed6SYixun Lan #address-cells = <1>; 4685a8a2ed6SYixun Lan #size-cells = <0>; 4695a8a2ed6SYixun Lan 4705a8a2ed6SYixun Lan pinctrl-0 = <&sdio_pins>; 4715a8a2ed6SYixun Lan pinctrl-1 = <&sdio_clk_gate_pins>; 4725a8a2ed6SYixun Lan pinctrl-names = "default", "clk-gate"; 4735a8a2ed6SYixun Lan 4745a8a2ed6SYixun Lan bus-width = <4>; 4755a8a2ed6SYixun Lan cap-sd-highspeed; 4765ca872c5SJerome Brunet sd-uhs-sdr104; 4775ca872c5SJerome Brunet max-frequency = <200000000>; 4785a8a2ed6SYixun Lan non-removable; 4795a8a2ed6SYixun Lan disable-wp; 4805a8a2ed6SYixun Lan 4815a8a2ed6SYixun Lan mmc-pwrseq = <&sdio_pwrseq>; 4825a8a2ed6SYixun Lan 4835a8a2ed6SYixun Lan vmmc-supply = <&vddao_3v3>; 4845a8a2ed6SYixun Lan vqmmc-supply = <&vddio_boot>; 4855a8a2ed6SYixun Lan 4865a8a2ed6SYixun Lan brcmf: wifi@1 { 4875a8a2ed6SYixun Lan reg = <1>; 4885a8a2ed6SYixun Lan compatible = "brcm,bcm4329-fmac"; 4895a8a2ed6SYixun Lan }; 4905a8a2ed6SYixun Lan}; 491a51b74eaSXingyu Chen 4928c0cf40fSJerome Brunet/* emmc storage */ 4938c0cf40fSJerome Brunet&sd_emmc_c { 494b43033b1SJerome Brunet status = "okay"; 495b43033b1SJerome Brunet pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 4968c0cf40fSJerome Brunet pinctrl-1 = <&emmc_clk_gate_pins>; 4978c0cf40fSJerome Brunet pinctrl-names = "default", "clk-gate"; 4988c0cf40fSJerome Brunet 4998c0cf40fSJerome Brunet bus-width = <8>; 5008c0cf40fSJerome Brunet cap-mmc-highspeed; 501ec01fb69SJerome Brunet max-frequency = <200000000>; 5028c0cf40fSJerome Brunet non-removable; 5038c0cf40fSJerome Brunet disable-wp; 5048c0cf40fSJerome Brunet mmc-ddr-1_8v; 5058c0cf40fSJerome Brunet mmc-hs200-1_8v; 5068c0cf40fSJerome Brunet 507087e9a46SJerome Brunet mmc-pwrseq = <&emmc_pwrseq>; 508087e9a46SJerome Brunet 5098c0cf40fSJerome Brunet vmmc-supply = <&vcc_3v3>; 5108c0cf40fSJerome Brunet vqmmc-supply = <&vddio_boot>; 511a51b74eaSXingyu Chen}; 512a0ef1c1cSJerome Brunet 51399e322ccSJerome Brunet&spdifin { 51499e322ccSJerome Brunet pinctrl-0 = <&spdif_in_a19_pins>; 51599e322ccSJerome Brunet pinctrl-names = "default"; 51699e322ccSJerome Brunet status = "okay"; 51799e322ccSJerome Brunet}; 51899e322ccSJerome Brunet 519a0ef1c1cSJerome Brunet&spdifout { 520a0ef1c1cSJerome Brunet pinctrl-0 = <&spdif_out_a20_pins>; 521a0ef1c1cSJerome Brunet pinctrl-names = "default"; 522a0ef1c1cSJerome Brunet status = "okay"; 523a0ef1c1cSJerome Brunet}; 524a0ef1c1cSJerome Brunet 525a0ef1c1cSJerome Brunet&tdmif_a { 526a0ef1c1cSJerome Brunet pinctrl-0 = <&tdma_sclk_pins>, <&tdma_fs_pins>, 527a0ef1c1cSJerome Brunet <&tdma_din0_pins>, <&tdma_dout0_x15_pins>; 528a0ef1c1cSJerome Brunet pinctrl-names = "default"; 529a0ef1c1cSJerome Brunet status = "okay"; 530a0ef1c1cSJerome Brunet}; 531a0ef1c1cSJerome Brunet 532a0ef1c1cSJerome Brunet&tdmif_b { 533a0ef1c1cSJerome Brunet pinctrl-0 = <&tdmb_sclk_pins>, <&tdmb_fs_pins>, 534a0ef1c1cSJerome Brunet <&tdmb_din3_pins>, <&mclk_b_pins>; 535a0ef1c1cSJerome Brunet pinctrl-names = "default"; 536a0ef1c1cSJerome Brunet status = "okay"; 537a0ef1c1cSJerome Brunet}; 538a0ef1c1cSJerome Brunet 539a0ef1c1cSJerome Brunet&tdmif_c { 540a0ef1c1cSJerome Brunet pinctrl-0 = <&tdmc_sclk_pins>, <&tdmc_fs_pins>, 541a0ef1c1cSJerome Brunet <&tdmc_din1_pins>, <&tdmc_dout2_pins>, 542a0ef1c1cSJerome Brunet <&mclk_c_pins>; 543a0ef1c1cSJerome Brunet pinctrl-names = "default"; 544a0ef1c1cSJerome Brunet status = "okay"; 545a0ef1c1cSJerome Brunet}; 546a0ef1c1cSJerome Brunet 5478c0cf40fSJerome Brunet&tdmin_a { 5488c0cf40fSJerome Brunet status = "okay"; 5498c0cf40fSJerome Brunet}; 5508c0cf40fSJerome Brunet 5518c0cf40fSJerome Brunet&tdmin_b { 5528c0cf40fSJerome Brunet status = "okay"; 5538c0cf40fSJerome Brunet}; 5548c0cf40fSJerome Brunet 5558c0cf40fSJerome Brunet&tdmin_c { 5568c0cf40fSJerome Brunet status = "okay"; 5578c0cf40fSJerome Brunet}; 5588c0cf40fSJerome Brunet 5598c0cf40fSJerome Brunet&tdmin_lb { 5608c0cf40fSJerome Brunet status = "okay"; 5618c0cf40fSJerome Brunet}; 5628c0cf40fSJerome Brunet 5638c0cf40fSJerome Brunet&tdmout_c { 5648c0cf40fSJerome Brunet status = "okay"; 5658c0cf40fSJerome Brunet}; 5668c0cf40fSJerome Brunet 567a0ef1c1cSJerome Brunet&toddr_a { 568a0ef1c1cSJerome Brunet status = "okay"; 569a0ef1c1cSJerome Brunet}; 570a0ef1c1cSJerome Brunet 571a0ef1c1cSJerome Brunet&toddr_b { 572a0ef1c1cSJerome Brunet status = "okay"; 573a0ef1c1cSJerome Brunet}; 574a0ef1c1cSJerome Brunet 575a0ef1c1cSJerome Brunet&toddr_c { 576a0ef1c1cSJerome Brunet status = "okay"; 577a0ef1c1cSJerome Brunet}; 5788c0cf40fSJerome Brunet 5798c0cf40fSJerome Brunet&uart_A { 5808c0cf40fSJerome Brunet status = "okay"; 581a708c685SJerome Brunet pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 5828c0cf40fSJerome Brunet pinctrl-names = "default"; 583a708c685SJerome Brunet uart-has-rtscts; 584ac444768SJerome Brunet 585ac444768SJerome Brunet bluetooth { 586ac444768SJerome Brunet compatible = "brcm,bcm43438-bt"; 587ac444768SJerome Brunet shutdown-gpios = <&gpio GPIOX_21 GPIO_ACTIVE_HIGH>; 588ac444768SJerome Brunet }; 5898c0cf40fSJerome Brunet}; 5908c0cf40fSJerome Brunet 5918c0cf40fSJerome Brunet&uart_AO { 5928c0cf40fSJerome Brunet status = "okay"; 5938c0cf40fSJerome Brunet pinctrl-0 = <&uart_ao_a_pins>; 5948c0cf40fSJerome Brunet pinctrl-names = "default"; 5958c0cf40fSJerome Brunet}; 596f450d2c2SNeil Armstrong 597f450d2c2SNeil Armstrong&usb { 598f450d2c2SNeil Armstrong status = "okay"; 599f450d2c2SNeil Armstrong dr_mode = "otg"; 600f450d2c2SNeil Armstrong vbus-supply = <&usb_pwr>; 601f450d2c2SNeil Armstrong}; 602