1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * Copyright (c) 2018 Amlogic, Inc. All rights reserved. 4c66ec88fSEmmanuel Vadot */ 5c66ec88fSEmmanuel Vadot 6c66ec88fSEmmanuel Vadot/dts-v1/; 7c66ec88fSEmmanuel Vadot 8c66ec88fSEmmanuel Vadot#include "meson-g12a.dtsi" 9c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 10c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/meson-g12a-gpio.h> 1184943d6fSEmmanuel Vadot#include <dt-bindings/sound/meson-g12a-tohdmitx.h> 1284943d6fSEmmanuel Vadot#include <dt-bindings/sound/meson-g12a-toacodec.h> 13c66ec88fSEmmanuel Vadot 14c66ec88fSEmmanuel Vadot/ { 15c66ec88fSEmmanuel Vadot compatible = "amlogic,u200", "amlogic,g12a"; 16c66ec88fSEmmanuel Vadot model = "Amlogic Meson G12A U200 Development Board"; 17c66ec88fSEmmanuel Vadot 18c66ec88fSEmmanuel Vadot aliases { 19c66ec88fSEmmanuel Vadot serial0 = &uart_AO; 20c66ec88fSEmmanuel Vadot ethernet0 = ðmac; 21c66ec88fSEmmanuel Vadot }; 22c66ec88fSEmmanuel Vadot 2384943d6fSEmmanuel Vadot dioo2133: audio-amplifier-0 { 2484943d6fSEmmanuel Vadot compatible = "simple-audio-amplifier"; 2584943d6fSEmmanuel Vadot enable-gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; 2684943d6fSEmmanuel Vadot VCC-supply = <&vcc_5v>; 2784943d6fSEmmanuel Vadot sound-name-prefix = "10U2"; 2884943d6fSEmmanuel Vadot }; 2984943d6fSEmmanuel Vadot 3084943d6fSEmmanuel Vadot spdif_dir: audio-codec-0 { 3184943d6fSEmmanuel Vadot compatible = "linux,spdif-dir"; 3284943d6fSEmmanuel Vadot #sound-dai-cells = <0>; 3384943d6fSEmmanuel Vadot sound-name-prefix = "DIR"; 3484943d6fSEmmanuel Vadot }; 3584943d6fSEmmanuel Vadot 3684943d6fSEmmanuel Vadot spdif_dit: audio-codec-1 { 3784943d6fSEmmanuel Vadot compatible = "linux,spdif-dit"; 3884943d6fSEmmanuel Vadot #sound-dai-cells = <0>; 3984943d6fSEmmanuel Vadot sound-name-prefix = "DIT"; 4084943d6fSEmmanuel Vadot }; 4184943d6fSEmmanuel Vadot 42c66ec88fSEmmanuel Vadot chosen { 43c66ec88fSEmmanuel Vadot stdout-path = "serial0:115200n8"; 44c66ec88fSEmmanuel Vadot }; 45c66ec88fSEmmanuel Vadot 46c66ec88fSEmmanuel Vadot cvbs-connector { 47c66ec88fSEmmanuel Vadot compatible = "composite-video-connector"; 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel Vadot port { 50c66ec88fSEmmanuel Vadot cvbs_connector_in: endpoint { 51c66ec88fSEmmanuel Vadot remote-endpoint = <&cvbs_vdac_out>; 52c66ec88fSEmmanuel Vadot }; 53c66ec88fSEmmanuel Vadot }; 54c66ec88fSEmmanuel Vadot }; 55c66ec88fSEmmanuel Vadot 56c66ec88fSEmmanuel Vadot emmc_pwrseq: emmc-pwrseq { 57c66ec88fSEmmanuel Vadot compatible = "mmc-pwrseq-emmc"; 58c66ec88fSEmmanuel Vadot reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; 59c66ec88fSEmmanuel Vadot }; 60c66ec88fSEmmanuel Vadot 61c66ec88fSEmmanuel Vadot hdmi-connector { 62c66ec88fSEmmanuel Vadot compatible = "hdmi-connector"; 63c66ec88fSEmmanuel Vadot type = "a"; 64c66ec88fSEmmanuel Vadot 65c66ec88fSEmmanuel Vadot port { 66c66ec88fSEmmanuel Vadot hdmi_connector_in: endpoint { 67c66ec88fSEmmanuel Vadot remote-endpoint = <&hdmi_tx_tmds_out>; 68c66ec88fSEmmanuel Vadot }; 69c66ec88fSEmmanuel Vadot }; 70c66ec88fSEmmanuel Vadot }; 71c66ec88fSEmmanuel Vadot 72c66ec88fSEmmanuel Vadot memory@0 { 73c66ec88fSEmmanuel Vadot device_type = "memory"; 74c66ec88fSEmmanuel Vadot reg = <0x0 0x0 0x0 0x40000000>; 75c66ec88fSEmmanuel Vadot }; 76c66ec88fSEmmanuel Vadot 7701950c46SEmmanuel Vadot flash_1v8: regulator-flash-1v8 { 78c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 79c66ec88fSEmmanuel Vadot regulator-name = "FLASH_1V8"; 80c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 81c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 82c66ec88fSEmmanuel Vadot vin-supply = <&vcc_3v3>; 83c66ec88fSEmmanuel Vadot regulator-always-on; 84c66ec88fSEmmanuel Vadot }; 85c66ec88fSEmmanuel Vadot 8601950c46SEmmanuel Vadot main_12v: regulator-main-12v { 87c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 88c66ec88fSEmmanuel Vadot regulator-name = "12V"; 89c66ec88fSEmmanuel Vadot regulator-min-microvolt = <12000000>; 90c66ec88fSEmmanuel Vadot regulator-max-microvolt = <12000000>; 91c66ec88fSEmmanuel Vadot regulator-always-on; 92c66ec88fSEmmanuel Vadot }; 93c66ec88fSEmmanuel Vadot 9401950c46SEmmanuel Vadot usb_pwr_en: regulator-usb-pwr-en { 95c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 96c66ec88fSEmmanuel Vadot regulator-name = "USB_PWR_EN"; 97c66ec88fSEmmanuel Vadot regulator-min-microvolt = <5000000>; 98c66ec88fSEmmanuel Vadot regulator-max-microvolt = <5000000>; 99c66ec88fSEmmanuel Vadot vin-supply = <&vcc_5v>; 100c66ec88fSEmmanuel Vadot 101c66ec88fSEmmanuel Vadot gpio = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>; 102c66ec88fSEmmanuel Vadot enable-active-high; 103c66ec88fSEmmanuel Vadot }; 104c66ec88fSEmmanuel Vadot 10501950c46SEmmanuel Vadot vcc_1v8: regulator-vcc-1v8 { 106c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 107c66ec88fSEmmanuel Vadot regulator-name = "VCC_1V8"; 108c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 109c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 110c66ec88fSEmmanuel Vadot vin-supply = <&vcc_3v3>; 111c66ec88fSEmmanuel Vadot regulator-always-on; 112c66ec88fSEmmanuel Vadot }; 113c66ec88fSEmmanuel Vadot 11401950c46SEmmanuel Vadot vcc_3v3: regulator-vcc-3v3 { 115c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 116c66ec88fSEmmanuel Vadot regulator-name = "VCC_3V3"; 117c66ec88fSEmmanuel Vadot regulator-min-microvolt = <3300000>; 118c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3300000>; 119c66ec88fSEmmanuel Vadot vin-supply = <&vddao_3v3>; 120c66ec88fSEmmanuel Vadot regulator-always-on; 121c66ec88fSEmmanuel Vadot /* FIXME: actually controlled by VDDCPU_B_EN */ 122c66ec88fSEmmanuel Vadot }; 123c66ec88fSEmmanuel Vadot 12401950c46SEmmanuel Vadot vcc_5v: regulator-vcc-5v { 125c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 126c66ec88fSEmmanuel Vadot regulator-name = "VCC_5V"; 127c66ec88fSEmmanuel Vadot regulator-min-microvolt = <5000000>; 128c66ec88fSEmmanuel Vadot regulator-max-microvolt = <5000000>; 129c66ec88fSEmmanuel Vadot vin-supply = <&main_12v>; 130c66ec88fSEmmanuel Vadot 131c66ec88fSEmmanuel Vadot gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>; 132c66ec88fSEmmanuel Vadot enable-active-high; 133c66ec88fSEmmanuel Vadot }; 134c66ec88fSEmmanuel Vadot 13501950c46SEmmanuel Vadot vddao_1v8: regulator-vddao-1v8 { 136c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 137c66ec88fSEmmanuel Vadot regulator-name = "VDDAO_1V8"; 138c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 139c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 140c66ec88fSEmmanuel Vadot vin-supply = <&vddao_3v3>; 141c66ec88fSEmmanuel Vadot regulator-always-on; 142c66ec88fSEmmanuel Vadot }; 143c66ec88fSEmmanuel Vadot 14401950c46SEmmanuel Vadot vddao_3v3: regulator-vddao-3v3 { 145c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 146c66ec88fSEmmanuel Vadot regulator-name = "VDDAO_3V3"; 147c66ec88fSEmmanuel Vadot regulator-min-microvolt = <3300000>; 148c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3300000>; 149c66ec88fSEmmanuel Vadot vin-supply = <&main_12v>; 150c66ec88fSEmmanuel Vadot regulator-always-on; 151c66ec88fSEmmanuel Vadot }; 152c66ec88fSEmmanuel Vadot 153c66ec88fSEmmanuel Vadot vddcpu: regulator-vddcpu { 154c66ec88fSEmmanuel Vadot /* 155c66ec88fSEmmanuel Vadot * MP8756GD Regulator. 156c66ec88fSEmmanuel Vadot */ 157c66ec88fSEmmanuel Vadot compatible = "pwm-regulator"; 158c66ec88fSEmmanuel Vadot 159c66ec88fSEmmanuel Vadot regulator-name = "VDDCPU"; 160c66ec88fSEmmanuel Vadot regulator-min-microvolt = <721000>; 161c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1022000>; 162c66ec88fSEmmanuel Vadot 1638cc087a1SEmmanuel Vadot pwm-supply = <&main_12v>; 164c66ec88fSEmmanuel Vadot 165c66ec88fSEmmanuel Vadot pwms = <&pwm_AO_cd 1 1250 0>; 166c66ec88fSEmmanuel Vadot pwm-dutycycle-range = <100 0>; 167c66ec88fSEmmanuel Vadot 168c66ec88fSEmmanuel Vadot regulator-boot-on; 169c66ec88fSEmmanuel Vadot regulator-always-on; 170c66ec88fSEmmanuel Vadot }; 17184943d6fSEmmanuel Vadot 17284943d6fSEmmanuel Vadot sound { 17384943d6fSEmmanuel Vadot compatible = "amlogic,axg-sound-card"; 17484943d6fSEmmanuel Vadot model = "U200"; 17584943d6fSEmmanuel Vadot audio-widgets = "Line", "Lineout"; 17684943d6fSEmmanuel Vadot audio-aux-devs = <&tdmout_a>, <&tdmout_b>, <&tdmout_c>, 17784943d6fSEmmanuel Vadot <&tdmin_a>, <&tdmin_b>, <&tdmin_c>, 17884943d6fSEmmanuel Vadot <&tdmin_lb>, <&dioo2133>; 17984943d6fSEmmanuel Vadot audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 0", 18084943d6fSEmmanuel Vadot "TDMOUT_A IN 1", "FRDDR_B OUT 0", 18184943d6fSEmmanuel Vadot "TDMOUT_A IN 2", "FRDDR_C OUT 0", 18284943d6fSEmmanuel Vadot "TDM_A Playback", "TDMOUT_A OUT", 18384943d6fSEmmanuel Vadot "TDMOUT_B IN 0", "FRDDR_A OUT 1", 18484943d6fSEmmanuel Vadot "TDMOUT_B IN 1", "FRDDR_B OUT 1", 18584943d6fSEmmanuel Vadot "TDMOUT_B IN 2", "FRDDR_C OUT 1", 18684943d6fSEmmanuel Vadot "TDM_B Playback", "TDMOUT_B OUT", 18784943d6fSEmmanuel Vadot "TDMOUT_C IN 0", "FRDDR_A OUT 2", 18884943d6fSEmmanuel Vadot "TDMOUT_C IN 1", "FRDDR_B OUT 2", 18984943d6fSEmmanuel Vadot "TDMOUT_C IN 2", "FRDDR_C OUT 2", 19084943d6fSEmmanuel Vadot "TDM_C Playback", "TDMOUT_C OUT", 19184943d6fSEmmanuel Vadot "SPDIFOUT_A IN 0", "FRDDR_A OUT 3", 19284943d6fSEmmanuel Vadot "SPDIFOUT_A IN 1", "FRDDR_B OUT 3", 19384943d6fSEmmanuel Vadot "SPDIFOUT_A IN 2", "FRDDR_C OUT 3", 19484943d6fSEmmanuel Vadot "SPDIFOUT_B IN 0", "FRDDR_A OUT 4", 19584943d6fSEmmanuel Vadot "SPDIFOUT_B IN 1", "FRDDR_B OUT 4", 19684943d6fSEmmanuel Vadot "SPDIFOUT_B IN 2", "FRDDR_C OUT 4", 19784943d6fSEmmanuel Vadot "TDMIN_A IN 0", "TDM_A Capture", 19884943d6fSEmmanuel Vadot "TDMIN_A IN 1", "TDM_B Capture", 19984943d6fSEmmanuel Vadot "TDMIN_A IN 2", "TDM_C Capture", 20084943d6fSEmmanuel Vadot "TDMIN_A IN 3", "TDM_A Loopback", 20184943d6fSEmmanuel Vadot "TDMIN_A IN 4", "TDM_B Loopback", 20284943d6fSEmmanuel Vadot "TDMIN_A IN 5", "TDM_C Loopback", 20384943d6fSEmmanuel Vadot "TDMIN_B IN 0", "TDM_A Capture", 20484943d6fSEmmanuel Vadot "TDMIN_B IN 1", "TDM_B Capture", 20584943d6fSEmmanuel Vadot "TDMIN_B IN 2", "TDM_C Capture", 20684943d6fSEmmanuel Vadot "TDMIN_B IN 3", "TDM_A Loopback", 20784943d6fSEmmanuel Vadot "TDMIN_B IN 4", "TDM_B Loopback", 20884943d6fSEmmanuel Vadot "TDMIN_B IN 5", "TDM_C Loopback", 20984943d6fSEmmanuel Vadot "TDMIN_C IN 0", "TDM_A Capture", 21084943d6fSEmmanuel Vadot "TDMIN_C IN 1", "TDM_B Capture", 21184943d6fSEmmanuel Vadot "TDMIN_C IN 2", "TDM_C Capture", 21284943d6fSEmmanuel Vadot "TDMIN_C IN 3", "TDM_A Loopback", 21384943d6fSEmmanuel Vadot "TDMIN_C IN 4", "TDM_B Loopback", 21484943d6fSEmmanuel Vadot "TDMIN_C IN 5", "TDM_C Loopback", 21584943d6fSEmmanuel Vadot "TDMIN_LB IN 3", "TDM_A Capture", 21684943d6fSEmmanuel Vadot "TDMIN_LB IN 4", "TDM_B Capture", 21784943d6fSEmmanuel Vadot "TDMIN_LB IN 5", "TDM_C Capture", 21884943d6fSEmmanuel Vadot "TDMIN_LB IN 0", "TDM_A Loopback", 21984943d6fSEmmanuel Vadot "TDMIN_LB IN 1", "TDM_B Loopback", 22084943d6fSEmmanuel Vadot "TDMIN_LB IN 2", "TDM_C Loopback", 22184943d6fSEmmanuel Vadot "TODDR_A IN 0", "TDMIN_A OUT", 22284943d6fSEmmanuel Vadot "TODDR_B IN 0", "TDMIN_A OUT", 22384943d6fSEmmanuel Vadot "TODDR_C IN 0", "TDMIN_A OUT", 22484943d6fSEmmanuel Vadot "TODDR_A IN 1", "TDMIN_B OUT", 22584943d6fSEmmanuel Vadot "TODDR_B IN 1", "TDMIN_B OUT", 22684943d6fSEmmanuel Vadot "TODDR_C IN 1", "TDMIN_B OUT", 22784943d6fSEmmanuel Vadot "TODDR_A IN 2", "TDMIN_C OUT", 22884943d6fSEmmanuel Vadot "TODDR_B IN 2", "TDMIN_C OUT", 22984943d6fSEmmanuel Vadot "TODDR_C IN 2", "TDMIN_C OUT", 23084943d6fSEmmanuel Vadot "TODDR_A IN 3", "SPDIFIN Capture", 23184943d6fSEmmanuel Vadot "TODDR_B IN 3", "SPDIFIN Capture", 23284943d6fSEmmanuel Vadot "TODDR_C IN 3", "SPDIFIN Capture", 23384943d6fSEmmanuel Vadot "TODDR_A IN 6", "TDMIN_LB OUT", 23484943d6fSEmmanuel Vadot "TODDR_B IN 6", "TDMIN_LB OUT", 23584943d6fSEmmanuel Vadot "TODDR_C IN 6", "TDMIN_LB OUT", 23684943d6fSEmmanuel Vadot "10U2 INL", "ACODEC LOLP", 23784943d6fSEmmanuel Vadot "10U2 INR", "ACODEC LORP", 23884943d6fSEmmanuel Vadot "Lineout", "10U2 OUTL", 23984943d6fSEmmanuel Vadot "Lineout", "10U2 OUTR"; 24084943d6fSEmmanuel Vadot 241*b2d2a78aSEmmanuel Vadot clocks = <&clkc CLKID_MPLL2>, 242*b2d2a78aSEmmanuel Vadot <&clkc CLKID_MPLL0>, 243*b2d2a78aSEmmanuel Vadot <&clkc CLKID_MPLL1>; 244*b2d2a78aSEmmanuel Vadot 24584943d6fSEmmanuel Vadot assigned-clocks = <&clkc CLKID_MPLL2>, 24684943d6fSEmmanuel Vadot <&clkc CLKID_MPLL0>, 24784943d6fSEmmanuel Vadot <&clkc CLKID_MPLL1>; 24884943d6fSEmmanuel Vadot assigned-clock-parents = <0>, <0>, <0>; 24984943d6fSEmmanuel Vadot assigned-clock-rates = <294912000>, 25084943d6fSEmmanuel Vadot <270950400>, 25184943d6fSEmmanuel Vadot <393216000>; 25284943d6fSEmmanuel Vadot 25384943d6fSEmmanuel Vadot dai-link-0 { 25484943d6fSEmmanuel Vadot sound-dai = <&frddr_a>; 25584943d6fSEmmanuel Vadot }; 25684943d6fSEmmanuel Vadot 25784943d6fSEmmanuel Vadot dai-link-1 { 25884943d6fSEmmanuel Vadot sound-dai = <&frddr_b>; 25984943d6fSEmmanuel Vadot }; 26084943d6fSEmmanuel Vadot 26184943d6fSEmmanuel Vadot dai-link-2 { 26284943d6fSEmmanuel Vadot sound-dai = <&frddr_c>; 26384943d6fSEmmanuel Vadot }; 26484943d6fSEmmanuel Vadot 26584943d6fSEmmanuel Vadot dai-link-3 { 26684943d6fSEmmanuel Vadot sound-dai = <&toddr_a>; 26784943d6fSEmmanuel Vadot }; 26884943d6fSEmmanuel Vadot 26984943d6fSEmmanuel Vadot dai-link-4 { 27084943d6fSEmmanuel Vadot sound-dai = <&toddr_b>; 27184943d6fSEmmanuel Vadot }; 27284943d6fSEmmanuel Vadot 27384943d6fSEmmanuel Vadot dai-link-5 { 27484943d6fSEmmanuel Vadot sound-dai = <&toddr_c>; 27584943d6fSEmmanuel Vadot }; 27684943d6fSEmmanuel Vadot 27784943d6fSEmmanuel Vadot /* Connected to the WIFI/BT chip */ 27884943d6fSEmmanuel Vadot dai-link-6 { 27984943d6fSEmmanuel Vadot sound-dai = <&tdmif_a>; 28084943d6fSEmmanuel Vadot dai-format = "dsp_a"; 28184943d6fSEmmanuel Vadot dai-tdm-slot-tx-mask-0 = <1 1>; 28284943d6fSEmmanuel Vadot mclk-fs = <256>; 28384943d6fSEmmanuel Vadot 28484943d6fSEmmanuel Vadot codec-0 { 28584943d6fSEmmanuel Vadot sound-dai = <&toacodec TOACODEC_IN_A>; 28684943d6fSEmmanuel Vadot }; 28784943d6fSEmmanuel Vadot 28884943d6fSEmmanuel Vadot codec-1 { 28984943d6fSEmmanuel Vadot sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>; 29084943d6fSEmmanuel Vadot }; 29184943d6fSEmmanuel Vadot }; 29284943d6fSEmmanuel Vadot 29384943d6fSEmmanuel Vadot /* Connected to the onboard AD82584F DAC */ 29484943d6fSEmmanuel Vadot dai-link-7 { 29584943d6fSEmmanuel Vadot sound-dai = <&tdmif_b>; 29684943d6fSEmmanuel Vadot dai-format = "i2s"; 29784943d6fSEmmanuel Vadot dai-tdm-slot-tx-mask-0 = <1 1>; 29884943d6fSEmmanuel Vadot mclk-fs = <256>; 29984943d6fSEmmanuel Vadot 30084943d6fSEmmanuel Vadot codec-0 { 30184943d6fSEmmanuel Vadot sound-dai = <&toacodec TOACODEC_IN_B>; 30284943d6fSEmmanuel Vadot }; 30384943d6fSEmmanuel Vadot 30484943d6fSEmmanuel Vadot codec-1 { 30584943d6fSEmmanuel Vadot sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; 30684943d6fSEmmanuel Vadot }; 30784943d6fSEmmanuel Vadot }; 30884943d6fSEmmanuel Vadot 30984943d6fSEmmanuel Vadot /* 8ch HDMI interface */ 31084943d6fSEmmanuel Vadot dai-link-8 { 31184943d6fSEmmanuel Vadot sound-dai = <&tdmif_c>; 31284943d6fSEmmanuel Vadot dai-format = "i2s"; 31384943d6fSEmmanuel Vadot dai-tdm-slot-tx-mask-0 = <1 1>; 31484943d6fSEmmanuel Vadot dai-tdm-slot-tx-mask-1 = <1 1>; 31584943d6fSEmmanuel Vadot dai-tdm-slot-tx-mask-2 = <1 1>; 31684943d6fSEmmanuel Vadot dai-tdm-slot-tx-mask-3 = <1 1>; 31784943d6fSEmmanuel Vadot mclk-fs = <256>; 31884943d6fSEmmanuel Vadot 31984943d6fSEmmanuel Vadot codec-0 { 32084943d6fSEmmanuel Vadot sound-dai = <&toacodec TOACODEC_IN_C>; 32184943d6fSEmmanuel Vadot }; 32284943d6fSEmmanuel Vadot 32384943d6fSEmmanuel Vadot codec-1 { 32484943d6fSEmmanuel Vadot sound-dai = <&tohdmitx TOHDMITX_I2S_IN_C>; 32584943d6fSEmmanuel Vadot }; 32684943d6fSEmmanuel Vadot }; 32784943d6fSEmmanuel Vadot 32884943d6fSEmmanuel Vadot /* spdif hdmi and coax output */ 32984943d6fSEmmanuel Vadot dai-link-9 { 33084943d6fSEmmanuel Vadot sound-dai = <&spdifout_a>; 33184943d6fSEmmanuel Vadot 33284943d6fSEmmanuel Vadot codec-0 { 33384943d6fSEmmanuel Vadot sound-dai = <&spdif_dit>; 33484943d6fSEmmanuel Vadot }; 33584943d6fSEmmanuel Vadot 33684943d6fSEmmanuel Vadot codec-1 { 33784943d6fSEmmanuel Vadot sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>; 33884943d6fSEmmanuel Vadot }; 33984943d6fSEmmanuel Vadot }; 34084943d6fSEmmanuel Vadot 34184943d6fSEmmanuel Vadot /* spdif hdmi interface */ 34284943d6fSEmmanuel Vadot dai-link-10 { 34384943d6fSEmmanuel Vadot sound-dai = <&spdifout_b>; 34484943d6fSEmmanuel Vadot 34584943d6fSEmmanuel Vadot codec { 34684943d6fSEmmanuel Vadot sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>; 34784943d6fSEmmanuel Vadot }; 34884943d6fSEmmanuel Vadot }; 34984943d6fSEmmanuel Vadot 35084943d6fSEmmanuel Vadot /* hdmi glue */ 35184943d6fSEmmanuel Vadot dai-link-11 { 35284943d6fSEmmanuel Vadot sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; 35384943d6fSEmmanuel Vadot 35484943d6fSEmmanuel Vadot codec { 35584943d6fSEmmanuel Vadot sound-dai = <&hdmi_tx>; 35684943d6fSEmmanuel Vadot }; 35784943d6fSEmmanuel Vadot }; 35884943d6fSEmmanuel Vadot 35984943d6fSEmmanuel Vadot /* internal codec glue */ 36084943d6fSEmmanuel Vadot dai-link-12 { 36184943d6fSEmmanuel Vadot sound-dai = <&toacodec TOACODEC_OUT>; 36284943d6fSEmmanuel Vadot 36384943d6fSEmmanuel Vadot codec { 36484943d6fSEmmanuel Vadot sound-dai = <&acodec>; 36584943d6fSEmmanuel Vadot }; 36684943d6fSEmmanuel Vadot }; 36784943d6fSEmmanuel Vadot 36884943d6fSEmmanuel Vadot /* spdif coax input */ 36984943d6fSEmmanuel Vadot dai-link-13 { 37084943d6fSEmmanuel Vadot sound-dai = <&spdifin>; 37184943d6fSEmmanuel Vadot 37284943d6fSEmmanuel Vadot codec { 37384943d6fSEmmanuel Vadot sound-dai = <&spdif_dir>; 37484943d6fSEmmanuel Vadot }; 37584943d6fSEmmanuel Vadot }; 37684943d6fSEmmanuel Vadot }; 37784943d6fSEmmanuel Vadot}; 37884943d6fSEmmanuel Vadot 37984943d6fSEmmanuel Vadot&acodec { 3800e8011faSEmmanuel Vadot AVDD-supply = <&vddao_1v8>; 38184943d6fSEmmanuel Vadot status = "okay"; 38284943d6fSEmmanuel Vadot}; 38384943d6fSEmmanuel Vadot 38484943d6fSEmmanuel Vadot&arb { 38584943d6fSEmmanuel Vadot status = "okay"; 386c66ec88fSEmmanuel Vadot}; 387c66ec88fSEmmanuel Vadot 388c66ec88fSEmmanuel Vadot&cec_AO { 389c66ec88fSEmmanuel Vadot pinctrl-0 = <&cec_ao_a_h_pins>; 390c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 391c66ec88fSEmmanuel Vadot status = "disabled"; 392c66ec88fSEmmanuel Vadot hdmi-phandle = <&hdmi_tx>; 393c66ec88fSEmmanuel Vadot}; 394c66ec88fSEmmanuel Vadot 395c66ec88fSEmmanuel Vadot&cecb_AO { 396c66ec88fSEmmanuel Vadot pinctrl-0 = <&cec_ao_b_h_pins>; 397c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 398c66ec88fSEmmanuel Vadot status = "okay"; 399c66ec88fSEmmanuel Vadot hdmi-phandle = <&hdmi_tx>; 400c66ec88fSEmmanuel Vadot}; 401c66ec88fSEmmanuel Vadot 40284943d6fSEmmanuel Vadot&clkc_audio { 40384943d6fSEmmanuel Vadot status = "okay"; 40484943d6fSEmmanuel Vadot}; 40584943d6fSEmmanuel Vadot 406c66ec88fSEmmanuel Vadot&cpu0 { 407c66ec88fSEmmanuel Vadot cpu-supply = <&vddcpu>; 408c66ec88fSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 409c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_CPU_CLK>; 410c66ec88fSEmmanuel Vadot clock-latency = <50000>; 411c66ec88fSEmmanuel Vadot}; 412c66ec88fSEmmanuel Vadot 413c66ec88fSEmmanuel Vadot&cpu1 { 414c66ec88fSEmmanuel Vadot cpu-supply = <&vddcpu>; 415c66ec88fSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 416c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_CPU_CLK>; 417c66ec88fSEmmanuel Vadot clock-latency = <50000>; 418c66ec88fSEmmanuel Vadot}; 419c66ec88fSEmmanuel Vadot 420c66ec88fSEmmanuel Vadot&cpu2 { 421c66ec88fSEmmanuel Vadot cpu-supply = <&vddcpu>; 422c66ec88fSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 423c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_CPU_CLK>; 424c66ec88fSEmmanuel Vadot clock-latency = <50000>; 425c66ec88fSEmmanuel Vadot}; 426c66ec88fSEmmanuel Vadot 427c66ec88fSEmmanuel Vadot&cpu3 { 428c66ec88fSEmmanuel Vadot cpu-supply = <&vddcpu>; 429c66ec88fSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 430c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_CPU_CLK>; 431c66ec88fSEmmanuel Vadot clock-latency = <50000>; 432c66ec88fSEmmanuel Vadot}; 433c66ec88fSEmmanuel Vadot 43484943d6fSEmmanuel Vadot&clkc_audio { 43584943d6fSEmmanuel Vadot status = "okay"; 43684943d6fSEmmanuel Vadot}; 43784943d6fSEmmanuel Vadot 438c66ec88fSEmmanuel Vadot&cvbs_vdac_port { 439c66ec88fSEmmanuel Vadot cvbs_vdac_out: endpoint { 440c66ec88fSEmmanuel Vadot remote-endpoint = <&cvbs_connector_in>; 441c66ec88fSEmmanuel Vadot }; 442c66ec88fSEmmanuel Vadot}; 443c66ec88fSEmmanuel Vadot 444c66ec88fSEmmanuel Vadotðmac { 445c66ec88fSEmmanuel Vadot status = "okay"; 446c66ec88fSEmmanuel Vadot phy-handle = <&internal_ephy>; 447c66ec88fSEmmanuel Vadot phy-mode = "rmii"; 448c66ec88fSEmmanuel Vadot}; 449c66ec88fSEmmanuel Vadot 45084943d6fSEmmanuel Vadot&frddr_a { 45184943d6fSEmmanuel Vadot status = "okay"; 45284943d6fSEmmanuel Vadot}; 45384943d6fSEmmanuel Vadot 45484943d6fSEmmanuel Vadot&frddr_b { 45584943d6fSEmmanuel Vadot status = "okay"; 45684943d6fSEmmanuel Vadot}; 45784943d6fSEmmanuel Vadot 45884943d6fSEmmanuel Vadot&frddr_c { 45984943d6fSEmmanuel Vadot status = "okay"; 46084943d6fSEmmanuel Vadot}; 46184943d6fSEmmanuel Vadot 462c66ec88fSEmmanuel Vadot&hdmi_tx { 463c66ec88fSEmmanuel Vadot status = "okay"; 464c66ec88fSEmmanuel Vadot pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; 465c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 466c66ec88fSEmmanuel Vadot hdmi-supply = <&vcc_5v>; 467c66ec88fSEmmanuel Vadot}; 468c66ec88fSEmmanuel Vadot 469c66ec88fSEmmanuel Vadot&hdmi_tx_tmds_port { 470c66ec88fSEmmanuel Vadot hdmi_tx_tmds_out: endpoint { 471c66ec88fSEmmanuel Vadot remote-endpoint = <&hdmi_connector_in>; 472c66ec88fSEmmanuel Vadot }; 473c66ec88fSEmmanuel Vadot}; 474c66ec88fSEmmanuel Vadot 475c66ec88fSEmmanuel Vadot&ir { 476c66ec88fSEmmanuel Vadot status = "okay"; 477c66ec88fSEmmanuel Vadot pinctrl-0 = <&remote_input_ao_pins>; 478c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 479c66ec88fSEmmanuel Vadot}; 480c66ec88fSEmmanuel Vadot 481c66ec88fSEmmanuel Vadot/* i2c Touch */ 482c66ec88fSEmmanuel Vadot&i2c0 { 483c66ec88fSEmmanuel Vadot status = "okay"; 484c66ec88fSEmmanuel Vadot pinctrl-0 = <&i2c0_sda_z0_pins>, <&i2c0_sck_z1_pins>; 485c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 486c66ec88fSEmmanuel Vadot}; 487c66ec88fSEmmanuel Vadot 488c66ec88fSEmmanuel Vadot/* i2c CM */ 489c66ec88fSEmmanuel Vadot&i2c2 { 490c66ec88fSEmmanuel Vadot status = "okay"; 491c66ec88fSEmmanuel Vadot pinctrl-0 = <&i2c2_sda_z_pins>, <&i2c2_sck_z_pins>; 492c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 493c66ec88fSEmmanuel Vadot}; 494c66ec88fSEmmanuel Vadot 495c66ec88fSEmmanuel Vadot/* i2c Audio */ 496c66ec88fSEmmanuel Vadot&i2c3 { 497c66ec88fSEmmanuel Vadot status = "okay"; 498c66ec88fSEmmanuel Vadot pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>; 499c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 500c66ec88fSEmmanuel Vadot}; 501c66ec88fSEmmanuel Vadot 502c66ec88fSEmmanuel Vadot&pwm_AO_cd { 503c66ec88fSEmmanuel Vadot pinctrl-0 = <&pwm_ao_d_e_pins>; 504c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 505c66ec88fSEmmanuel Vadot clocks = <&xtal>; 506c66ec88fSEmmanuel Vadot clock-names = "clkin1"; 507c66ec88fSEmmanuel Vadot status = "okay"; 508c66ec88fSEmmanuel Vadot}; 509c66ec88fSEmmanuel Vadot 510c66ec88fSEmmanuel Vadot/* SD card */ 511c66ec88fSEmmanuel Vadot&sd_emmc_b { 512c66ec88fSEmmanuel Vadot status = "okay"; 513c66ec88fSEmmanuel Vadot pinctrl-0 = <&sdcard_c_pins>; 514c66ec88fSEmmanuel Vadot pinctrl-1 = <&sdcard_clk_gate_c_pins>; 515c66ec88fSEmmanuel Vadot pinctrl-names = "default", "clk-gate"; 516c66ec88fSEmmanuel Vadot 517c66ec88fSEmmanuel Vadot bus-width = <4>; 518c66ec88fSEmmanuel Vadot cap-sd-highspeed; 519c66ec88fSEmmanuel Vadot max-frequency = <50000000>; 520c66ec88fSEmmanuel Vadot disable-wp; 521c66ec88fSEmmanuel Vadot 522c66ec88fSEmmanuel Vadot cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; 523c66ec88fSEmmanuel Vadot vmmc-supply = <&vddao_3v3>; 524c66ec88fSEmmanuel Vadot vqmmc-supply = <&vddao_3v3>; 525c66ec88fSEmmanuel Vadot}; 526c66ec88fSEmmanuel Vadot 527c66ec88fSEmmanuel Vadot/* eMMC */ 528c66ec88fSEmmanuel Vadot&sd_emmc_c { 529c66ec88fSEmmanuel Vadot status = "okay"; 530c66ec88fSEmmanuel Vadot pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; 531c66ec88fSEmmanuel Vadot pinctrl-1 = <&emmc_clk_gate_pins>; 532c66ec88fSEmmanuel Vadot pinctrl-names = "default", "clk-gate"; 533c66ec88fSEmmanuel Vadot 534c66ec88fSEmmanuel Vadot bus-width = <8>; 535c66ec88fSEmmanuel Vadot cap-mmc-highspeed; 536c66ec88fSEmmanuel Vadot mmc-ddr-1_8v; 537c66ec88fSEmmanuel Vadot mmc-hs200-1_8v; 538c66ec88fSEmmanuel Vadot max-frequency = <200000000>; 539c66ec88fSEmmanuel Vadot non-removable; 540c66ec88fSEmmanuel Vadot disable-wp; 541c66ec88fSEmmanuel Vadot 542c66ec88fSEmmanuel Vadot mmc-pwrseq = <&emmc_pwrseq>; 543c66ec88fSEmmanuel Vadot vmmc-supply = <&vcc_3v3>; 544c66ec88fSEmmanuel Vadot vqmmc-supply = <&flash_1v8>; 545c66ec88fSEmmanuel Vadot}; 546c66ec88fSEmmanuel Vadot 54784943d6fSEmmanuel Vadot&spdifin { 54884943d6fSEmmanuel Vadot pinctrl-0 = <&spdif_in_h_pins>; 54984943d6fSEmmanuel Vadot pinctrl-names = "default"; 55084943d6fSEmmanuel Vadot status = "okay"; 55184943d6fSEmmanuel Vadot}; 55284943d6fSEmmanuel Vadot 55384943d6fSEmmanuel Vadot&spdifout_a { 55484943d6fSEmmanuel Vadot pinctrl-0 = <&spdif_ao_out_pins>; 55584943d6fSEmmanuel Vadot pinctrl-names = "default"; 55684943d6fSEmmanuel Vadot status = "okay"; 55784943d6fSEmmanuel Vadot}; 55884943d6fSEmmanuel Vadot 55984943d6fSEmmanuel Vadot&spdifout_b { 56084943d6fSEmmanuel Vadot status = "okay"; 56184943d6fSEmmanuel Vadot}; 56284943d6fSEmmanuel Vadot 56384943d6fSEmmanuel Vadot&tdmif_a { 56484943d6fSEmmanuel Vadot pinctrl-0 = <&tdm_a_fs_pins>, <&tdm_a_sclk_pins>, <&tdm_a_dout0_pins> ; 56584943d6fSEmmanuel Vadot pinctrl-names = "default"; 56684943d6fSEmmanuel Vadot status = "okay"; 56784943d6fSEmmanuel Vadot}; 56884943d6fSEmmanuel Vadot 56984943d6fSEmmanuel Vadot&tdmif_b { 57084943d6fSEmmanuel Vadot pinctrl-0 = <&mclk0_a_pins>, <&tdm_b_fs_pins>, <&tdm_b_sclk_pins>, 57184943d6fSEmmanuel Vadot <&tdm_b_dout0_pins>; 57284943d6fSEmmanuel Vadot pinctrl-names = "default"; 57384943d6fSEmmanuel Vadot status = "okay"; 57484943d6fSEmmanuel Vadot 57584943d6fSEmmanuel Vadot assigned-clocks = <&clkc_audio AUD_CLKID_TDM_MCLK_PAD0>, 57684943d6fSEmmanuel Vadot <&clkc_audio AUD_CLKID_TDM_SCLK_PAD1>, 57784943d6fSEmmanuel Vadot <&clkc_audio AUD_CLKID_TDM_LRCLK_PAD1>; 57884943d6fSEmmanuel Vadot assigned-clock-parents = <&clkc_audio AUD_CLKID_MST_B_MCLK>, 57984943d6fSEmmanuel Vadot <&clkc_audio AUD_CLKID_MST_B_SCLK>, 58084943d6fSEmmanuel Vadot <&clkc_audio AUD_CLKID_MST_B_LRCLK>; 58184943d6fSEmmanuel Vadot assigned-clock-rates = <0>, <0>, <0>; 58284943d6fSEmmanuel Vadot}; 58384943d6fSEmmanuel Vadot 58484943d6fSEmmanuel Vadot&tdmif_c { 58584943d6fSEmmanuel Vadot status = "okay"; 58684943d6fSEmmanuel Vadot}; 58784943d6fSEmmanuel Vadot 58884943d6fSEmmanuel Vadot&tdmin_a { 58984943d6fSEmmanuel Vadot status = "okay"; 59084943d6fSEmmanuel Vadot}; 59184943d6fSEmmanuel Vadot 59284943d6fSEmmanuel Vadot&tdmin_b { 59384943d6fSEmmanuel Vadot status = "okay"; 59484943d6fSEmmanuel Vadot}; 59584943d6fSEmmanuel Vadot 59684943d6fSEmmanuel Vadot&tdmin_c { 59784943d6fSEmmanuel Vadot status = "okay"; 59884943d6fSEmmanuel Vadot}; 59984943d6fSEmmanuel Vadot 60084943d6fSEmmanuel Vadot&tdmin_lb { 60184943d6fSEmmanuel Vadot status = "okay"; 60284943d6fSEmmanuel Vadot}; 60384943d6fSEmmanuel Vadot 60484943d6fSEmmanuel Vadot&tdmout_a { 60584943d6fSEmmanuel Vadot status = "okay"; 60684943d6fSEmmanuel Vadot}; 60784943d6fSEmmanuel Vadot 60884943d6fSEmmanuel Vadot&tdmout_b { 60984943d6fSEmmanuel Vadot status = "okay"; 61084943d6fSEmmanuel Vadot}; 61184943d6fSEmmanuel Vadot 61284943d6fSEmmanuel Vadot&tdmout_c { 61384943d6fSEmmanuel Vadot status = "okay"; 61484943d6fSEmmanuel Vadot}; 61584943d6fSEmmanuel Vadot 61684943d6fSEmmanuel Vadot&toacodec { 61784943d6fSEmmanuel Vadot status = "okay"; 61884943d6fSEmmanuel Vadot}; 61984943d6fSEmmanuel Vadot 62084943d6fSEmmanuel Vadot&toddr_a { 62184943d6fSEmmanuel Vadot status = "okay"; 62284943d6fSEmmanuel Vadot}; 62384943d6fSEmmanuel Vadot 62484943d6fSEmmanuel Vadot&toddr_b { 62584943d6fSEmmanuel Vadot status = "okay"; 62684943d6fSEmmanuel Vadot}; 62784943d6fSEmmanuel Vadot 62884943d6fSEmmanuel Vadot&toddr_c { 62984943d6fSEmmanuel Vadot status = "okay"; 63084943d6fSEmmanuel Vadot}; 63184943d6fSEmmanuel Vadot 63284943d6fSEmmanuel Vadot&tohdmitx { 63384943d6fSEmmanuel Vadot status = "okay"; 63484943d6fSEmmanuel Vadot}; 63584943d6fSEmmanuel Vadot 636c66ec88fSEmmanuel Vadot&uart_AO { 637c66ec88fSEmmanuel Vadot status = "okay"; 638c66ec88fSEmmanuel Vadot pinctrl-0 = <&uart_ao_a_pins>; 639c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 640c66ec88fSEmmanuel Vadot}; 641c66ec88fSEmmanuel Vadot 642c66ec88fSEmmanuel Vadot&usb { 643c66ec88fSEmmanuel Vadot status = "okay"; 644c66ec88fSEmmanuel Vadot vbus-supply = <&usb_pwr_en>; 645c66ec88fSEmmanuel Vadot}; 646c66ec88fSEmmanuel Vadot 647c66ec88fSEmmanuel Vadot&usb2_phy0 { 648c66ec88fSEmmanuel Vadot phy-supply = <&vcc_5v>; 649c66ec88fSEmmanuel Vadot}; 650c66ec88fSEmmanuel Vadot 651c66ec88fSEmmanuel Vadot&usb2_phy1 { 652c66ec88fSEmmanuel Vadot phy-supply = <&vcc_5v>; 653c66ec88fSEmmanuel Vadot}; 654