1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * Copyright (c) 2017 Amlogic, Inc. All rights reserved. 4c66ec88fSEmmanuel Vadot */ 5c66ec88fSEmmanuel Vadot 6c66ec88fSEmmanuel Vadot/dts-v1/; 7c66ec88fSEmmanuel Vadot 8c66ec88fSEmmanuel Vadot#include "meson-axg.dtsi" 9c66ec88fSEmmanuel Vadot#include <dt-bindings/input/input.h> 10c66ec88fSEmmanuel Vadot 11c66ec88fSEmmanuel Vadot/ { 12c66ec88fSEmmanuel Vadot compatible = "amlogic,s400", "amlogic,a113d", "amlogic,meson-axg"; 13c66ec88fSEmmanuel Vadot model = "Amlogic Meson AXG S400 Development Board"; 14c66ec88fSEmmanuel Vadot 1501950c46SEmmanuel Vadot keys { 16c66ec88fSEmmanuel Vadot compatible = "adc-keys"; 17c66ec88fSEmmanuel Vadot io-channels = <&saradc 0>; 18c66ec88fSEmmanuel Vadot io-channel-names = "buttons"; 19c66ec88fSEmmanuel Vadot keyup-threshold-microvolt = <1800000>; 20c66ec88fSEmmanuel Vadot 21c66ec88fSEmmanuel Vadot button-next { 22c66ec88fSEmmanuel Vadot label = "Next"; 23c66ec88fSEmmanuel Vadot linux,code = <KEY_NEXT>; 24c66ec88fSEmmanuel Vadot press-threshold-microvolt = <1116000>; /* 62% */ 25c66ec88fSEmmanuel Vadot }; 26c66ec88fSEmmanuel Vadot 27c66ec88fSEmmanuel Vadot button-prev { 28c66ec88fSEmmanuel Vadot label = "Previous"; 29c66ec88fSEmmanuel Vadot linux,code = <KEY_PREVIOUS>; 30c66ec88fSEmmanuel Vadot press-threshold-microvolt = <900000>; /* 50% */ 31c66ec88fSEmmanuel Vadot }; 32c66ec88fSEmmanuel Vadot 33c66ec88fSEmmanuel Vadot button-wifi { 34c66ec88fSEmmanuel Vadot label = "Wifi"; 35c66ec88fSEmmanuel Vadot linux,code = <KEY_WLAN>; 36c66ec88fSEmmanuel Vadot press-threshold-microvolt = <684000>; /* 38% */ 37c66ec88fSEmmanuel Vadot }; 38c66ec88fSEmmanuel Vadot 39c66ec88fSEmmanuel Vadot button-up { 40c66ec88fSEmmanuel Vadot label = "Volume Up"; 41c66ec88fSEmmanuel Vadot linux,code = <KEY_VOLUMEUP>; 42c66ec88fSEmmanuel Vadot press-threshold-microvolt = <468000>; /* 26% */ 43c66ec88fSEmmanuel Vadot }; 44c66ec88fSEmmanuel Vadot 45c66ec88fSEmmanuel Vadot button-down { 46c66ec88fSEmmanuel Vadot label = "Volume Down"; 47c66ec88fSEmmanuel Vadot linux,code = <KEY_VOLUMEDOWN>; 48c66ec88fSEmmanuel Vadot press-threshold-microvolt = <252000>; /* 14% */ 49c66ec88fSEmmanuel Vadot }; 50c66ec88fSEmmanuel Vadot 51c66ec88fSEmmanuel Vadot button-voice { 52c66ec88fSEmmanuel Vadot label = "Voice"; 53c66ec88fSEmmanuel Vadot linux,code = <KEY_VOICECOMMAND>; 54c66ec88fSEmmanuel Vadot press-threshold-microvolt = <0>; /* 0% */ 55c66ec88fSEmmanuel Vadot }; 56c66ec88fSEmmanuel Vadot }; 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel Vadot aliases { 59c66ec88fSEmmanuel Vadot serial0 = &uart_AO; 60c66ec88fSEmmanuel Vadot serial1 = &uart_A; 61c66ec88fSEmmanuel Vadot }; 62c66ec88fSEmmanuel Vadot 63c66ec88fSEmmanuel Vadot linein: audio-codec-0 { 64c66ec88fSEmmanuel Vadot #sound-dai-cells = <0>; 65c66ec88fSEmmanuel Vadot compatible = "everest,es7241"; 66c66ec88fSEmmanuel Vadot VDDA-supply = <&vcc_3v3>; 67c66ec88fSEmmanuel Vadot VDDP-supply = <&vcc_3v3>; 68c66ec88fSEmmanuel Vadot VDDD-supply = <&vcc_3v3>; 69c66ec88fSEmmanuel Vadot sound-name-prefix = "Linein"; 70c66ec88fSEmmanuel Vadot }; 71c66ec88fSEmmanuel Vadot 72c66ec88fSEmmanuel Vadot lineout: audio-codec-1 { 73c66ec88fSEmmanuel Vadot #sound-dai-cells = <0>; 74c66ec88fSEmmanuel Vadot compatible = "everest,es7154"; 75c66ec88fSEmmanuel Vadot VDD-supply = <&vcc_3v3>; 76c66ec88fSEmmanuel Vadot PVDD-supply = <&vcc_5v>; 77c66ec88fSEmmanuel Vadot sound-name-prefix = "Lineout"; 78c66ec88fSEmmanuel Vadot }; 79c66ec88fSEmmanuel Vadot 80c66ec88fSEmmanuel Vadot spdif_dit: audio-codec-2 { 81c66ec88fSEmmanuel Vadot #sound-dai-cells = <0>; 82c66ec88fSEmmanuel Vadot compatible = "linux,spdif-dit"; 83c66ec88fSEmmanuel Vadot sound-name-prefix = "DIT"; 84c66ec88fSEmmanuel Vadot }; 85c66ec88fSEmmanuel Vadot 86c66ec88fSEmmanuel Vadot dmics: audio-codec-3 { 87c66ec88fSEmmanuel Vadot #sound-dai-cells = <0>; 88c66ec88fSEmmanuel Vadot compatible = "dmic-codec"; 89c66ec88fSEmmanuel Vadot num-channels = <7>; 90c66ec88fSEmmanuel Vadot wakeup-delay-ms = <50>; 91c66ec88fSEmmanuel Vadot sound-name-prefix = "MIC"; 92c66ec88fSEmmanuel Vadot }; 93c66ec88fSEmmanuel Vadot 94c66ec88fSEmmanuel Vadot spdif_dir: audio-codec-4 { 95c66ec88fSEmmanuel Vadot #sound-dai-cells = <0>; 96c66ec88fSEmmanuel Vadot compatible = "linux,spdif-dir"; 97c66ec88fSEmmanuel Vadot sound-name-prefix = "DIR"; 98c66ec88fSEmmanuel Vadot }; 99c66ec88fSEmmanuel Vadot 100c66ec88fSEmmanuel Vadot emmc_pwrseq: emmc-pwrseq { 101c66ec88fSEmmanuel Vadot compatible = "mmc-pwrseq-emmc"; 102c66ec88fSEmmanuel Vadot reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 103c66ec88fSEmmanuel Vadot }; 104c66ec88fSEmmanuel Vadot 105c66ec88fSEmmanuel Vadot chosen { 106c66ec88fSEmmanuel Vadot stdout-path = "serial0:115200n8"; 107c66ec88fSEmmanuel Vadot }; 108c66ec88fSEmmanuel Vadot 109c66ec88fSEmmanuel Vadot memory@0 { 110c66ec88fSEmmanuel Vadot device_type = "memory"; 111c66ec88fSEmmanuel Vadot reg = <0x0 0x0 0x0 0x40000000>; 112c66ec88fSEmmanuel Vadot }; 113c66ec88fSEmmanuel Vadot 11401950c46SEmmanuel Vadot main_12v: regulator-main-12v { 115c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 116c66ec88fSEmmanuel Vadot regulator-name = "12V"; 117c66ec88fSEmmanuel Vadot regulator-min-microvolt = <12000000>; 118c66ec88fSEmmanuel Vadot regulator-max-microvolt = <12000000>; 119c66ec88fSEmmanuel Vadot regulator-always-on; 120c66ec88fSEmmanuel Vadot }; 121c66ec88fSEmmanuel Vadot 12201950c46SEmmanuel Vadot vcc_3v3: regulator-vcc-3v3 { 123c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 124c66ec88fSEmmanuel Vadot regulator-name = "VCC_3V3"; 125c66ec88fSEmmanuel Vadot regulator-min-microvolt = <3300000>; 126c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3300000>; 127c66ec88fSEmmanuel Vadot vin-supply = <&vddao_3v3>; 128c66ec88fSEmmanuel Vadot regulator-always-on; 129c66ec88fSEmmanuel Vadot }; 130c66ec88fSEmmanuel Vadot 13101950c46SEmmanuel Vadot vcc_5v: regulator-vcc-5v { 132c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 133c66ec88fSEmmanuel Vadot regulator-name = "VCC5V"; 134c66ec88fSEmmanuel Vadot regulator-min-microvolt = <5000000>; 135c66ec88fSEmmanuel Vadot regulator-max-microvolt = <5000000>; 136c66ec88fSEmmanuel Vadot vin-supply = <&main_12v>; 137c66ec88fSEmmanuel Vadot 138c66ec88fSEmmanuel Vadot gpio = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>; 139c66ec88fSEmmanuel Vadot enable-active-high; 140c66ec88fSEmmanuel Vadot }; 141c66ec88fSEmmanuel Vadot 14201950c46SEmmanuel Vadot vddao_3v3: regulator-vddao-3v3 { 143c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 144c66ec88fSEmmanuel Vadot regulator-name = "VDDAO_3V3"; 145c66ec88fSEmmanuel Vadot regulator-min-microvolt = <3300000>; 146c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3300000>; 147c66ec88fSEmmanuel Vadot vin-supply = <&main_12v>; 148c66ec88fSEmmanuel Vadot regulator-always-on; 149c66ec88fSEmmanuel Vadot }; 150c66ec88fSEmmanuel Vadot 15101950c46SEmmanuel Vadot vddio_ao18: regulator-vddio-ao18 { 152c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 153c66ec88fSEmmanuel Vadot regulator-name = "VDDIO_AO18"; 154c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 155c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 156c66ec88fSEmmanuel Vadot vin-supply = <&vddao_3v3>; 157c66ec88fSEmmanuel Vadot regulator-always-on; 158c66ec88fSEmmanuel Vadot }; 159c66ec88fSEmmanuel Vadot 16001950c46SEmmanuel Vadot vddio_boot: regulator-vddio-boot { 161c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 162c66ec88fSEmmanuel Vadot regulator-name = "VDDIO_BOOT"; 163c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 164c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 165c66ec88fSEmmanuel Vadot vin-supply = <&vddao_3v3>; 166c66ec88fSEmmanuel Vadot regulator-always-on; 167c66ec88fSEmmanuel Vadot }; 168c66ec88fSEmmanuel Vadot 16901950c46SEmmanuel Vadot usb_pwr: regulator-usb-pwr { 170c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 171c66ec88fSEmmanuel Vadot regulator-name = "USB_PWR"; 172c66ec88fSEmmanuel Vadot regulator-min-microvolt = <5000000>; 173c66ec88fSEmmanuel Vadot regulator-max-microvolt = <5000000>; 174c66ec88fSEmmanuel Vadot vin-supply = <&vcc_5v>; 175c66ec88fSEmmanuel Vadot 176c66ec88fSEmmanuel Vadot gpio = <&gpio_ao GPIOAO_5 GPIO_ACTIVE_HIGH>; 177c66ec88fSEmmanuel Vadot enable-active-high; 178c66ec88fSEmmanuel Vadot }; 179c66ec88fSEmmanuel Vadot 180c66ec88fSEmmanuel Vadot sdio_pwrseq: sdio-pwrseq { 181c66ec88fSEmmanuel Vadot compatible = "mmc-pwrseq-simple"; 182c66ec88fSEmmanuel Vadot reset-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>; 183c66ec88fSEmmanuel Vadot clocks = <&wifi32k>; 184c66ec88fSEmmanuel Vadot clock-names = "ext_clock"; 185c66ec88fSEmmanuel Vadot }; 186c66ec88fSEmmanuel Vadot 187c66ec88fSEmmanuel Vadot speaker-leds { 188c66ec88fSEmmanuel Vadot compatible = "gpio-leds"; 189c66ec88fSEmmanuel Vadot 190c66ec88fSEmmanuel Vadot aled1 { 191c66ec88fSEmmanuel Vadot label = "speaker:aled1"; 192c66ec88fSEmmanuel Vadot gpios = <&gpio_speaker 7 0>; 193c66ec88fSEmmanuel Vadot }; 194c66ec88fSEmmanuel Vadot 195c66ec88fSEmmanuel Vadot aled2 { 196c66ec88fSEmmanuel Vadot label = "speaker:aled2"; 197c66ec88fSEmmanuel Vadot gpios = <&gpio_speaker 6 0>; 198c66ec88fSEmmanuel Vadot }; 199c66ec88fSEmmanuel Vadot 200c66ec88fSEmmanuel Vadot aled3 { 201c66ec88fSEmmanuel Vadot label = "speaker:aled3"; 202c66ec88fSEmmanuel Vadot gpios = <&gpio_speaker 5 0>; 203c66ec88fSEmmanuel Vadot }; 204c66ec88fSEmmanuel Vadot 205c66ec88fSEmmanuel Vadot aled4 { 206c66ec88fSEmmanuel Vadot label = "speaker:aled4"; 207c66ec88fSEmmanuel Vadot gpios = <&gpio_speaker 4 0>; 208c66ec88fSEmmanuel Vadot }; 209c66ec88fSEmmanuel Vadot 210c66ec88fSEmmanuel Vadot aled5 { 211c66ec88fSEmmanuel Vadot label = "speaker:aled5"; 212c66ec88fSEmmanuel Vadot gpios = <&gpio_speaker 3 0>; 213c66ec88fSEmmanuel Vadot }; 214c66ec88fSEmmanuel Vadot 215c66ec88fSEmmanuel Vadot aled6 { 216c66ec88fSEmmanuel Vadot label = "speaker:aled6"; 217c66ec88fSEmmanuel Vadot gpios = <&gpio_speaker 2 0>; 218c66ec88fSEmmanuel Vadot }; 219c66ec88fSEmmanuel Vadot }; 220c66ec88fSEmmanuel Vadot 221c66ec88fSEmmanuel Vadot sound { 222c66ec88fSEmmanuel Vadot compatible = "amlogic,axg-sound-card"; 223c66ec88fSEmmanuel Vadot model = "AXG-S400"; 224c66ec88fSEmmanuel Vadot audio-aux-devs = <&tdmin_a>, <&tdmin_b>, <&tdmin_c>, 225c66ec88fSEmmanuel Vadot <&tdmin_lb>, <&tdmout_c>; 226c66ec88fSEmmanuel Vadot audio-widgets = "Line", "Lineout", 227c66ec88fSEmmanuel Vadot "Line", "Linein", 228c66ec88fSEmmanuel Vadot "Speaker", "Speaker1 Left", 229c66ec88fSEmmanuel Vadot "Speaker", "Speaker1 Right"; 230c66ec88fSEmmanuel Vadot audio-routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2", 231c66ec88fSEmmanuel Vadot "SPDIFOUT IN 0", "FRDDR_A OUT 3", 232c66ec88fSEmmanuel Vadot "TDMOUT_C IN 1", "FRDDR_B OUT 2", 233c66ec88fSEmmanuel Vadot "SPDIFOUT IN 1", "FRDDR_B OUT 3", 234c66ec88fSEmmanuel Vadot "TDMOUT_C IN 2", "FRDDR_C OUT 2", 235c66ec88fSEmmanuel Vadot "SPDIFOUT IN 2", "FRDDR_C OUT 3", 236c66ec88fSEmmanuel Vadot "TDM_C Playback", "TDMOUT_C OUT", 237c66ec88fSEmmanuel Vadot "TDMIN_A IN 2", "TDM_C Capture", 238c66ec88fSEmmanuel Vadot "TDMIN_A IN 5", "TDM_C Loopback", 239c66ec88fSEmmanuel Vadot "TDMIN_B IN 2", "TDM_C Capture", 240c66ec88fSEmmanuel Vadot "TDMIN_B IN 5", "TDM_C Loopback", 241c66ec88fSEmmanuel Vadot "TDMIN_C IN 2", "TDM_C Capture", 242c66ec88fSEmmanuel Vadot "TDMIN_C IN 5", "TDM_C Loopback", 243c66ec88fSEmmanuel Vadot "TDMIN_LB IN 2", "TDM_C Loopback", 244c66ec88fSEmmanuel Vadot "TDMIN_LB IN 5", "TDM_C Capture", 245c66ec88fSEmmanuel Vadot "TODDR_A IN 0", "TDMIN_A OUT", 246c66ec88fSEmmanuel Vadot "TODDR_B IN 0", "TDMIN_A OUT", 247c66ec88fSEmmanuel Vadot "TODDR_C IN 0", "TDMIN_A OUT", 248c66ec88fSEmmanuel Vadot "TODDR_A IN 1", "TDMIN_B OUT", 249c66ec88fSEmmanuel Vadot "TODDR_B IN 1", "TDMIN_B OUT", 250c66ec88fSEmmanuel Vadot "TODDR_C IN 1", "TDMIN_B OUT", 251c66ec88fSEmmanuel Vadot "TODDR_A IN 2", "TDMIN_C OUT", 252c66ec88fSEmmanuel Vadot "TODDR_B IN 2", "TDMIN_C OUT", 253c66ec88fSEmmanuel Vadot "TODDR_C IN 2", "TDMIN_C OUT", 254c66ec88fSEmmanuel Vadot "TODDR_A IN 3", "SPDIFIN Capture", 255c66ec88fSEmmanuel Vadot "TODDR_B IN 3", "SPDIFIN Capture", 256c66ec88fSEmmanuel Vadot "TODDR_C IN 3", "SPDIFIN Capture", 257c66ec88fSEmmanuel Vadot "TODDR_A IN 4", "PDM Capture", 258c66ec88fSEmmanuel Vadot "TODDR_B IN 4", "PDM Capture", 259c66ec88fSEmmanuel Vadot "TODDR_C IN 4", "PDM Capture", 260c66ec88fSEmmanuel Vadot "TODDR_A IN 6", "TDMIN_LB OUT", 261c66ec88fSEmmanuel Vadot "TODDR_B IN 6", "TDMIN_LB OUT", 262c66ec88fSEmmanuel Vadot "TODDR_C IN 6", "TDMIN_LB OUT", 263c66ec88fSEmmanuel Vadot "Lineout", "Lineout AOUTL", 264c66ec88fSEmmanuel Vadot "Lineout", "Lineout AOUTR", 265c66ec88fSEmmanuel Vadot "Speaker1 Left", "SPK1 OUT_A", 266c66ec88fSEmmanuel Vadot "Speaker1 Left", "SPK1 OUT_B", 267c66ec88fSEmmanuel Vadot "Speaker1 Right", "SPK1 OUT_C", 268c66ec88fSEmmanuel Vadot "Speaker1 Right", "SPK1 OUT_D", 269c66ec88fSEmmanuel Vadot "Linein AINL", "Linein", 270c66ec88fSEmmanuel Vadot "Linein AINR", "Linein"; 271*b2d2a78aSEmmanuel Vadot clocks = <&clkc CLKID_HIFI_PLL>, 272*b2d2a78aSEmmanuel Vadot <&clkc CLKID_MPLL0>, 273*b2d2a78aSEmmanuel Vadot <&clkc CLKID_MPLL1>; 274*b2d2a78aSEmmanuel Vadot 275c66ec88fSEmmanuel Vadot assigned-clocks = <&clkc CLKID_HIFI_PLL>, 276c66ec88fSEmmanuel Vadot <&clkc CLKID_MPLL0>, 277c66ec88fSEmmanuel Vadot <&clkc CLKID_MPLL1>; 278c66ec88fSEmmanuel Vadot assigned-clock-parents = <0>, <0>, <0>; 279c66ec88fSEmmanuel Vadot assigned-clock-rates = <589824000>, 280c66ec88fSEmmanuel Vadot <270950400>, 281c66ec88fSEmmanuel Vadot <393216000>; 282c66ec88fSEmmanuel Vadot 283c66ec88fSEmmanuel Vadot dai-link-0 { 284c66ec88fSEmmanuel Vadot sound-dai = <&frddr_a>; 285c66ec88fSEmmanuel Vadot }; 286c66ec88fSEmmanuel Vadot 287c66ec88fSEmmanuel Vadot dai-link-1 { 288c66ec88fSEmmanuel Vadot sound-dai = <&frddr_b>; 289c66ec88fSEmmanuel Vadot }; 290c66ec88fSEmmanuel Vadot 291c66ec88fSEmmanuel Vadot dai-link-2 { 292c66ec88fSEmmanuel Vadot sound-dai = <&frddr_c>; 293c66ec88fSEmmanuel Vadot }; 294c66ec88fSEmmanuel Vadot 295c66ec88fSEmmanuel Vadot dai-link-3 { 296c66ec88fSEmmanuel Vadot sound-dai = <&toddr_a>; 297c66ec88fSEmmanuel Vadot }; 298c66ec88fSEmmanuel Vadot 299c66ec88fSEmmanuel Vadot dai-link-4 { 300c66ec88fSEmmanuel Vadot sound-dai = <&toddr_b>; 301c66ec88fSEmmanuel Vadot }; 302c66ec88fSEmmanuel Vadot 303c66ec88fSEmmanuel Vadot dai-link-5 { 304c66ec88fSEmmanuel Vadot sound-dai = <&toddr_c>; 305c66ec88fSEmmanuel Vadot }; 306c66ec88fSEmmanuel Vadot 307c66ec88fSEmmanuel Vadot dai-link-6 { 308c66ec88fSEmmanuel Vadot sound-dai = <&tdmif_c>; 309c66ec88fSEmmanuel Vadot dai-format = "i2s"; 310c66ec88fSEmmanuel Vadot dai-tdm-slot-tx-mask-2 = <1 1>; 311c66ec88fSEmmanuel Vadot dai-tdm-slot-rx-mask-1 = <1 1>; 312c66ec88fSEmmanuel Vadot mclk-fs = <256>; 313c66ec88fSEmmanuel Vadot 314c66ec88fSEmmanuel Vadot codec-0 { 315c66ec88fSEmmanuel Vadot sound-dai = <&lineout>; 316c66ec88fSEmmanuel Vadot }; 317c66ec88fSEmmanuel Vadot 318c66ec88fSEmmanuel Vadot codec-1 { 319c66ec88fSEmmanuel Vadot sound-dai = <&speaker_amp1>; 320c66ec88fSEmmanuel Vadot }; 321c66ec88fSEmmanuel Vadot 322c66ec88fSEmmanuel Vadot codec-2 { 323c66ec88fSEmmanuel Vadot sound-dai = <&linein>; 324c66ec88fSEmmanuel Vadot }; 325c66ec88fSEmmanuel Vadot 326c66ec88fSEmmanuel Vadot }; 327c66ec88fSEmmanuel Vadot 328c66ec88fSEmmanuel Vadot dai-link-7 { 329c66ec88fSEmmanuel Vadot sound-dai = <&spdifout>; 330c66ec88fSEmmanuel Vadot 331c66ec88fSEmmanuel Vadot codec { 332c66ec88fSEmmanuel Vadot sound-dai = <&spdif_dit>; 333c66ec88fSEmmanuel Vadot }; 334c66ec88fSEmmanuel Vadot }; 335c66ec88fSEmmanuel Vadot 336c66ec88fSEmmanuel Vadot dai-link-8 { 337c66ec88fSEmmanuel Vadot sound-dai = <&spdifin>; 338c66ec88fSEmmanuel Vadot 339c66ec88fSEmmanuel Vadot codec { 340c66ec88fSEmmanuel Vadot sound-dai = <&spdif_dir>; 341c66ec88fSEmmanuel Vadot }; 342c66ec88fSEmmanuel Vadot }; 343c66ec88fSEmmanuel Vadot 344c66ec88fSEmmanuel Vadot dai-link-9 { 345c66ec88fSEmmanuel Vadot sound-dai = <&pdm>; 346c66ec88fSEmmanuel Vadot 347c66ec88fSEmmanuel Vadot codec { 348c66ec88fSEmmanuel Vadot sound-dai = <&dmics>; 349c66ec88fSEmmanuel Vadot }; 350c66ec88fSEmmanuel Vadot }; 351c66ec88fSEmmanuel Vadot }; 352c66ec88fSEmmanuel Vadot 353c66ec88fSEmmanuel Vadot wifi32k: wifi32k { 354c66ec88fSEmmanuel Vadot compatible = "pwm-clock"; 355c66ec88fSEmmanuel Vadot #clock-cells = <0>; 356c66ec88fSEmmanuel Vadot clock-frequency = <32768>; 357c66ec88fSEmmanuel Vadot pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */ 358c66ec88fSEmmanuel Vadot }; 359c66ec88fSEmmanuel Vadot}; 360c66ec88fSEmmanuel Vadot 361c66ec88fSEmmanuel Vadotðmac { 362c66ec88fSEmmanuel Vadot status = "okay"; 363c66ec88fSEmmanuel Vadot pinctrl-0 = <ð_rgmii_y_pins>; 364c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 365c66ec88fSEmmanuel Vadot phy-handle = <ð_phy0>; 366c66ec88fSEmmanuel Vadot phy-mode = "rgmii"; 367c66ec88fSEmmanuel Vadot 368c66ec88fSEmmanuel Vadot mdio { 369c66ec88fSEmmanuel Vadot compatible = "snps,dwmac-mdio"; 370c66ec88fSEmmanuel Vadot #address-cells = <1>; 371c66ec88fSEmmanuel Vadot #size-cells = <0>; 372c66ec88fSEmmanuel Vadot 373c66ec88fSEmmanuel Vadot eth_phy0: ethernet-phy@0 { 374c66ec88fSEmmanuel Vadot /* Realtek RTL8211F (0x001cc916) */ 375c66ec88fSEmmanuel Vadot reg = <0>; 376c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio_intc>; 377c66ec88fSEmmanuel Vadot interrupts = <98 IRQ_TYPE_LEVEL_LOW>; 378c66ec88fSEmmanuel Vadot eee-broken-1000t; 379c66ec88fSEmmanuel Vadot }; 380c66ec88fSEmmanuel Vadot }; 381c66ec88fSEmmanuel Vadot}; 382c66ec88fSEmmanuel Vadot 383c66ec88fSEmmanuel Vadot&frddr_a { 384c66ec88fSEmmanuel Vadot status = "okay"; 385c66ec88fSEmmanuel Vadot}; 386c66ec88fSEmmanuel Vadot 387c66ec88fSEmmanuel Vadot&frddr_b { 388c66ec88fSEmmanuel Vadot status = "okay"; 389c66ec88fSEmmanuel Vadot}; 390c66ec88fSEmmanuel Vadot 391c66ec88fSEmmanuel Vadot&frddr_c { 392c66ec88fSEmmanuel Vadot status = "okay"; 393c66ec88fSEmmanuel Vadot}; 394c66ec88fSEmmanuel Vadot 395c66ec88fSEmmanuel Vadot&ir { 396c66ec88fSEmmanuel Vadot status = "okay"; 397c66ec88fSEmmanuel Vadot pinctrl-0 = <&remote_input_ao_pins>; 398c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 399c66ec88fSEmmanuel Vadot}; 400c66ec88fSEmmanuel Vadot 401c66ec88fSEmmanuel Vadot&i2c1 { 402c66ec88fSEmmanuel Vadot status = "okay"; 403c66ec88fSEmmanuel Vadot pinctrl-0 = <&i2c1_z_pins>; 404c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 405c66ec88fSEmmanuel Vadot 406c66ec88fSEmmanuel Vadot speaker_amp1: audio-codec@1b { 407c66ec88fSEmmanuel Vadot compatible = "ti,tas5707"; 408c66ec88fSEmmanuel Vadot reg = <0x1b>; 409c66ec88fSEmmanuel Vadot reset-gpios = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_LOW>; 410c66ec88fSEmmanuel Vadot #sound-dai-cells = <0>; 411c66ec88fSEmmanuel Vadot AVDD-supply = <&vcc_3v3>; 412c66ec88fSEmmanuel Vadot DVDD-supply = <&vcc_3v3>; 413c66ec88fSEmmanuel Vadot PVDD_A-supply = <&main_12v>; 414c66ec88fSEmmanuel Vadot PVDD_B-supply = <&main_12v>; 415c66ec88fSEmmanuel Vadot PVDD_C-supply = <&main_12v>; 416c66ec88fSEmmanuel Vadot PVDD_D-supply = <&main_12v>; 417c66ec88fSEmmanuel Vadot sound-name-prefix = "SPK1"; 418c66ec88fSEmmanuel Vadot }; 419c66ec88fSEmmanuel Vadot}; 420c66ec88fSEmmanuel Vadot 421c66ec88fSEmmanuel Vadot&i2c_AO { 422c66ec88fSEmmanuel Vadot status = "okay"; 423c66ec88fSEmmanuel Vadot pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>; 424c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 425c66ec88fSEmmanuel Vadot 426c66ec88fSEmmanuel Vadot gpio_speaker: gpio-controller@1f { 427c66ec88fSEmmanuel Vadot compatible = "nxp,pca9557"; 428c66ec88fSEmmanuel Vadot reg = <0x1f>; 429c66ec88fSEmmanuel Vadot gpio-controller; 430c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 431c66ec88fSEmmanuel Vadot vcc-supply = <&vddao_3v3>; 432c66ec88fSEmmanuel Vadot }; 433c66ec88fSEmmanuel Vadot}; 434c66ec88fSEmmanuel Vadot 435c66ec88fSEmmanuel Vadot&pdm { 436c66ec88fSEmmanuel Vadot pinctrl-0 = <&pdm_dclk_a14_pins>, <&pdm_din0_pins>, 437c66ec88fSEmmanuel Vadot <&pdm_din1_pins>, <&pdm_din2_pins>, <&pdm_din3_pins>; 438c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 439c66ec88fSEmmanuel Vadot status = "okay"; 440c66ec88fSEmmanuel Vadot}; 441c66ec88fSEmmanuel Vadot 4425def4c47SEmmanuel Vadot&pcieA { 4435def4c47SEmmanuel Vadot reset-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_LOW>; 4445def4c47SEmmanuel Vadot status = "okay"; 4455def4c47SEmmanuel Vadot}; 4465def4c47SEmmanuel Vadot 4475def4c47SEmmanuel Vadot&pcieB { 4485def4c47SEmmanuel Vadot reset-gpios = <&gpio GPIOZ_10 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; 4495def4c47SEmmanuel Vadot status = "okay"; 4505def4c47SEmmanuel Vadot}; 4515def4c47SEmmanuel Vadot 452c66ec88fSEmmanuel Vadot&pwm_ab { 453c66ec88fSEmmanuel Vadot status = "okay"; 454c66ec88fSEmmanuel Vadot pinctrl-0 = <&pwm_a_x20_pins>; 455c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 456c66ec88fSEmmanuel Vadot}; 457c66ec88fSEmmanuel Vadot 458c66ec88fSEmmanuel Vadot&saradc { 459c66ec88fSEmmanuel Vadot status = "okay"; 460c66ec88fSEmmanuel Vadot vref-supply = <&vddio_ao18>; 461c66ec88fSEmmanuel Vadot}; 462c66ec88fSEmmanuel Vadot 463c66ec88fSEmmanuel Vadot/* wifi module */ 464c66ec88fSEmmanuel Vadot&sd_emmc_b { 465c66ec88fSEmmanuel Vadot status = "okay"; 466c66ec88fSEmmanuel Vadot #address-cells = <1>; 467c66ec88fSEmmanuel Vadot #size-cells = <0>; 468c66ec88fSEmmanuel Vadot 469c66ec88fSEmmanuel Vadot pinctrl-0 = <&sdio_pins>; 470c66ec88fSEmmanuel Vadot pinctrl-1 = <&sdio_clk_gate_pins>; 471c66ec88fSEmmanuel Vadot pinctrl-names = "default", "clk-gate"; 472c66ec88fSEmmanuel Vadot 473c66ec88fSEmmanuel Vadot bus-width = <4>; 474c66ec88fSEmmanuel Vadot cap-sd-highspeed; 475c66ec88fSEmmanuel Vadot sd-uhs-sdr104; 476c66ec88fSEmmanuel Vadot max-frequency = <200000000>; 477c66ec88fSEmmanuel Vadot non-removable; 478c66ec88fSEmmanuel Vadot disable-wp; 479c66ec88fSEmmanuel Vadot 480c66ec88fSEmmanuel Vadot mmc-pwrseq = <&sdio_pwrseq>; 481c66ec88fSEmmanuel Vadot 482c66ec88fSEmmanuel Vadot vmmc-supply = <&vddao_3v3>; 483c66ec88fSEmmanuel Vadot vqmmc-supply = <&vddio_boot>; 484c66ec88fSEmmanuel Vadot 485c66ec88fSEmmanuel Vadot brcmf: wifi@1 { 486c66ec88fSEmmanuel Vadot reg = <1>; 487c66ec88fSEmmanuel Vadot compatible = "brcm,bcm4329-fmac"; 488c66ec88fSEmmanuel Vadot }; 489c66ec88fSEmmanuel Vadot}; 490c66ec88fSEmmanuel Vadot 491c66ec88fSEmmanuel Vadot/* emmc storage */ 492c66ec88fSEmmanuel Vadot&sd_emmc_c { 493c66ec88fSEmmanuel Vadot status = "okay"; 494c66ec88fSEmmanuel Vadot pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 495c66ec88fSEmmanuel Vadot pinctrl-1 = <&emmc_clk_gate_pins>; 496c66ec88fSEmmanuel Vadot pinctrl-names = "default", "clk-gate"; 497c66ec88fSEmmanuel Vadot 498c66ec88fSEmmanuel Vadot bus-width = <8>; 499c66ec88fSEmmanuel Vadot cap-mmc-highspeed; 500c66ec88fSEmmanuel Vadot max-frequency = <200000000>; 501c66ec88fSEmmanuel Vadot non-removable; 502c66ec88fSEmmanuel Vadot disable-wp; 503c66ec88fSEmmanuel Vadot mmc-ddr-1_8v; 504c66ec88fSEmmanuel Vadot mmc-hs200-1_8v; 505c66ec88fSEmmanuel Vadot 506c66ec88fSEmmanuel Vadot mmc-pwrseq = <&emmc_pwrseq>; 507c66ec88fSEmmanuel Vadot 508c66ec88fSEmmanuel Vadot vmmc-supply = <&vcc_3v3>; 509c66ec88fSEmmanuel Vadot vqmmc-supply = <&vddio_boot>; 510c66ec88fSEmmanuel Vadot}; 511c66ec88fSEmmanuel Vadot 512c66ec88fSEmmanuel Vadot&spdifin { 513c66ec88fSEmmanuel Vadot pinctrl-0 = <&spdif_in_a19_pins>; 514c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 515c66ec88fSEmmanuel Vadot status = "okay"; 516c66ec88fSEmmanuel Vadot}; 517c66ec88fSEmmanuel Vadot 518c66ec88fSEmmanuel Vadot&spdifout { 519c66ec88fSEmmanuel Vadot pinctrl-0 = <&spdif_out_a20_pins>; 520c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 521c66ec88fSEmmanuel Vadot status = "okay"; 522c66ec88fSEmmanuel Vadot}; 523c66ec88fSEmmanuel Vadot 524c66ec88fSEmmanuel Vadot&tdmif_a { 525c66ec88fSEmmanuel Vadot pinctrl-0 = <&tdma_sclk_pins>, <&tdma_fs_pins>, 526c66ec88fSEmmanuel Vadot <&tdma_din0_pins>, <&tdma_dout0_x15_pins>; 527c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 528c66ec88fSEmmanuel Vadot status = "okay"; 529c66ec88fSEmmanuel Vadot}; 530c66ec88fSEmmanuel Vadot 531c66ec88fSEmmanuel Vadot&tdmif_b { 532c66ec88fSEmmanuel Vadot pinctrl-0 = <&tdmb_sclk_pins>, <&tdmb_fs_pins>, 533c66ec88fSEmmanuel Vadot <&tdmb_din3_pins>, <&mclk_b_pins>; 534c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 535c66ec88fSEmmanuel Vadot status = "okay"; 536c66ec88fSEmmanuel Vadot}; 537c66ec88fSEmmanuel Vadot 538c66ec88fSEmmanuel Vadot&tdmif_c { 539c66ec88fSEmmanuel Vadot pinctrl-0 = <&tdmc_sclk_pins>, <&tdmc_fs_pins>, 540c66ec88fSEmmanuel Vadot <&tdmc_din1_pins>, <&tdmc_dout2_pins>, 541c66ec88fSEmmanuel Vadot <&mclk_c_pins>; 542c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 543c66ec88fSEmmanuel Vadot status = "okay"; 544c66ec88fSEmmanuel Vadot}; 545c66ec88fSEmmanuel Vadot 546c66ec88fSEmmanuel Vadot&tdmin_a { 547c66ec88fSEmmanuel Vadot status = "okay"; 548c66ec88fSEmmanuel Vadot}; 549c66ec88fSEmmanuel Vadot 550c66ec88fSEmmanuel Vadot&tdmin_b { 551c66ec88fSEmmanuel Vadot status = "okay"; 552c66ec88fSEmmanuel Vadot}; 553c66ec88fSEmmanuel Vadot 554c66ec88fSEmmanuel Vadot&tdmin_c { 555c66ec88fSEmmanuel Vadot status = "okay"; 556c66ec88fSEmmanuel Vadot}; 557c66ec88fSEmmanuel Vadot 558c66ec88fSEmmanuel Vadot&tdmin_lb { 559c66ec88fSEmmanuel Vadot status = "okay"; 560c66ec88fSEmmanuel Vadot}; 561c66ec88fSEmmanuel Vadot 562c66ec88fSEmmanuel Vadot&tdmout_c { 563c66ec88fSEmmanuel Vadot status = "okay"; 564c66ec88fSEmmanuel Vadot}; 565c66ec88fSEmmanuel Vadot 566c66ec88fSEmmanuel Vadot&toddr_a { 567c66ec88fSEmmanuel Vadot status = "okay"; 568c66ec88fSEmmanuel Vadot}; 569c66ec88fSEmmanuel Vadot 570c66ec88fSEmmanuel Vadot&toddr_b { 571c66ec88fSEmmanuel Vadot status = "okay"; 572c66ec88fSEmmanuel Vadot}; 573c66ec88fSEmmanuel Vadot 574c66ec88fSEmmanuel Vadot&toddr_c { 575c66ec88fSEmmanuel Vadot status = "okay"; 576c66ec88fSEmmanuel Vadot}; 577c66ec88fSEmmanuel Vadot 578c66ec88fSEmmanuel Vadot&uart_A { 579c66ec88fSEmmanuel Vadot status = "okay"; 580c66ec88fSEmmanuel Vadot pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 581c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 582c66ec88fSEmmanuel Vadot uart-has-rtscts; 583c66ec88fSEmmanuel Vadot 584c66ec88fSEmmanuel Vadot bluetooth { 585c66ec88fSEmmanuel Vadot compatible = "brcm,bcm43438-bt"; 586c66ec88fSEmmanuel Vadot shutdown-gpios = <&gpio GPIOX_21 GPIO_ACTIVE_HIGH>; 587c66ec88fSEmmanuel Vadot }; 588c66ec88fSEmmanuel Vadot}; 589c66ec88fSEmmanuel Vadot 590c66ec88fSEmmanuel Vadot&uart_AO { 591c66ec88fSEmmanuel Vadot status = "okay"; 592c66ec88fSEmmanuel Vadot pinctrl-0 = <&uart_ao_a_pins>; 593c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 594c66ec88fSEmmanuel Vadot}; 5956be33864SEmmanuel Vadot 5966be33864SEmmanuel Vadot&usb { 5976be33864SEmmanuel Vadot status = "okay"; 5986be33864SEmmanuel Vadot dr_mode = "otg"; 5996be33864SEmmanuel Vadot vbus-supply = <&usb_pwr>; 6006be33864SEmmanuel Vadot}; 601