101950c46SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 201950c46SEmmanuel Vadot// Copyright (c) 2024 Freebox SAS 301950c46SEmmanuel Vadot 401950c46SEmmanuel Vadot/* 501950c46SEmmanuel Vadot * SEI codename: SEI530FB (based on SEI510) 601950c46SEmmanuel Vadot * Freebox codename: fbx8am 701950c46SEmmanuel Vadot * Commercial names: Freebox Pop, Player TV Free 4K 801950c46SEmmanuel Vadot */ 901950c46SEmmanuel Vadot 1001950c46SEmmanuel Vadot/dts-v1/; 1101950c46SEmmanuel Vadot 1201950c46SEmmanuel Vadot#include "meson-g12a.dtsi" 1301950c46SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 1401950c46SEmmanuel Vadot#include <dt-bindings/input/input.h> 1501950c46SEmmanuel Vadot#include <dt-bindings/gpio/meson-g12a-gpio.h> 1601950c46SEmmanuel Vadot#include <dt-bindings/sound/meson-g12a-tohdmitx.h> 1701950c46SEmmanuel Vadot 1801950c46SEmmanuel Vadot/ { 1901950c46SEmmanuel Vadot compatible = "freebox,fbx8am", "amlogic,g12a"; 2001950c46SEmmanuel Vadot model = "Freebox Player Pop"; 2101950c46SEmmanuel Vadot chassis-type = "embedded"; 2201950c46SEmmanuel Vadot 2301950c46SEmmanuel Vadot firmware { 2401950c46SEmmanuel Vadot optee { 2501950c46SEmmanuel Vadot compatible = "linaro,optee-tz"; 2601950c46SEmmanuel Vadot method = "smc"; 2701950c46SEmmanuel Vadot }; 2801950c46SEmmanuel Vadot }; 2901950c46SEmmanuel Vadot 3001950c46SEmmanuel Vadot gpio-keys-polled { 3101950c46SEmmanuel Vadot compatible = "gpio-keys-polled"; 3201950c46SEmmanuel Vadot poll-interval = <100>; 3301950c46SEmmanuel Vadot 3401950c46SEmmanuel Vadot /* Physical user-accessible reset button near USB port */ 3501950c46SEmmanuel Vadot power-button { 3601950c46SEmmanuel Vadot label = "Reset"; 3701950c46SEmmanuel Vadot linux,code = <BTN_MISC>; 3801950c46SEmmanuel Vadot gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>; 3901950c46SEmmanuel Vadot }; 4001950c46SEmmanuel Vadot }; 4101950c46SEmmanuel Vadot 4201950c46SEmmanuel Vadot spdif_dit: audio-codec-2 { 4301950c46SEmmanuel Vadot #sound-dai-cells = <0>; 4401950c46SEmmanuel Vadot compatible = "linux,spdif-dit"; 4501950c46SEmmanuel Vadot status = "okay"; 4601950c46SEmmanuel Vadot sound-name-prefix = "DIT"; 4701950c46SEmmanuel Vadot }; 4801950c46SEmmanuel Vadot 4901950c46SEmmanuel Vadot aliases { 5001950c46SEmmanuel Vadot serial0 = &uart_AO; 5101950c46SEmmanuel Vadot ethernet0 = ðmac; 5201950c46SEmmanuel Vadot }; 5301950c46SEmmanuel Vadot 5401950c46SEmmanuel Vadot chosen { 5501950c46SEmmanuel Vadot stdout-path = "serial0:115200n8"; 5601950c46SEmmanuel Vadot }; 5701950c46SEmmanuel Vadot 5801950c46SEmmanuel Vadot emmc_pwrseq: emmc-pwrseq { 5901950c46SEmmanuel Vadot compatible = "mmc-pwrseq-emmc"; 6001950c46SEmmanuel Vadot reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; 6101950c46SEmmanuel Vadot }; 6201950c46SEmmanuel Vadot 6301950c46SEmmanuel Vadot hdmi-connector { 6401950c46SEmmanuel Vadot compatible = "hdmi-connector"; 6501950c46SEmmanuel Vadot type = "a"; 6601950c46SEmmanuel Vadot 6701950c46SEmmanuel Vadot port { 6801950c46SEmmanuel Vadot hdmi_connector_in: endpoint { 6901950c46SEmmanuel Vadot remote-endpoint = <&hdmi_tx_tmds_out>; 7001950c46SEmmanuel Vadot }; 7101950c46SEmmanuel Vadot }; 7201950c46SEmmanuel Vadot }; 7301950c46SEmmanuel Vadot 7401950c46SEmmanuel Vadot memory@0 { 7501950c46SEmmanuel Vadot device_type = "memory"; 7601950c46SEmmanuel Vadot reg = <0x0 0x0 0x0 0x80000000>; 7701950c46SEmmanuel Vadot }; 7801950c46SEmmanuel Vadot 7901950c46SEmmanuel Vadot ao_5v: regulator-ao-5v { 8001950c46SEmmanuel Vadot compatible = "regulator-fixed"; 8101950c46SEmmanuel Vadot regulator-name = "AO_5V"; 8201950c46SEmmanuel Vadot regulator-min-microvolt = <5000000>; 8301950c46SEmmanuel Vadot regulator-max-microvolt = <5000000>; 8401950c46SEmmanuel Vadot vin-supply = <&dc_in>; 8501950c46SEmmanuel Vadot regulator-always-on; 8601950c46SEmmanuel Vadot }; 8701950c46SEmmanuel Vadot 8801950c46SEmmanuel Vadot dc_in: regulator-dc-in { 8901950c46SEmmanuel Vadot compatible = "regulator-fixed"; 9001950c46SEmmanuel Vadot regulator-name = "DC_IN"; 9101950c46SEmmanuel Vadot regulator-min-microvolt = <12000000>; 9201950c46SEmmanuel Vadot regulator-max-microvolt = <12000000>; 9301950c46SEmmanuel Vadot regulator-always-on; 9401950c46SEmmanuel Vadot }; 9501950c46SEmmanuel Vadot 9601950c46SEmmanuel Vadot emmc_1v8: regulator-emmc-1v8 { 9701950c46SEmmanuel Vadot compatible = "regulator-fixed"; 9801950c46SEmmanuel Vadot regulator-name = "EMMC_1V8"; 9901950c46SEmmanuel Vadot regulator-min-microvolt = <1800000>; 10001950c46SEmmanuel Vadot regulator-max-microvolt = <1800000>; 10101950c46SEmmanuel Vadot vin-supply = <&vddao_3v3>; 10201950c46SEmmanuel Vadot regulator-always-on; 10301950c46SEmmanuel Vadot }; 10401950c46SEmmanuel Vadot 10501950c46SEmmanuel Vadot vddao_3v3: regulator-vddao-3v3 { 10601950c46SEmmanuel Vadot compatible = "regulator-fixed"; 10701950c46SEmmanuel Vadot regulator-name = "VDDAO_3V3"; 10801950c46SEmmanuel Vadot regulator-min-microvolt = <3300000>; 10901950c46SEmmanuel Vadot regulator-max-microvolt = <3300000>; 11001950c46SEmmanuel Vadot vin-supply = <&ao_5v>; 11101950c46SEmmanuel Vadot regulator-always-on; 11201950c46SEmmanuel Vadot }; 11301950c46SEmmanuel Vadot 11401950c46SEmmanuel Vadot vddao_3v3_t: regulator-vddao-3v3-t { 11501950c46SEmmanuel Vadot compatible = "regulator-fixed"; 11601950c46SEmmanuel Vadot regulator-name = "VDDAO_3V3_T"; 11701950c46SEmmanuel Vadot regulator-min-microvolt = <3300000>; 11801950c46SEmmanuel Vadot regulator-max-microvolt = <3300000>; 11901950c46SEmmanuel Vadot vin-supply = <&vddao_3v3>; 12001950c46SEmmanuel Vadot gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>; 12101950c46SEmmanuel Vadot enable-active-high; 12201950c46SEmmanuel Vadot }; 12301950c46SEmmanuel Vadot 12401950c46SEmmanuel Vadot vddcpu: regulator-vddcpu { 12501950c46SEmmanuel Vadot /* 12601950c46SEmmanuel Vadot * SY8120B1ABC DC/DC Regulator. 12701950c46SEmmanuel Vadot */ 12801950c46SEmmanuel Vadot compatible = "pwm-regulator"; 12901950c46SEmmanuel Vadot 13001950c46SEmmanuel Vadot regulator-name = "VDDCPU"; 13101950c46SEmmanuel Vadot regulator-min-microvolt = <721000>; 13201950c46SEmmanuel Vadot regulator-max-microvolt = <1022000>; 13301950c46SEmmanuel Vadot 13401950c46SEmmanuel Vadot pwm-supply = <&ao_5v>; 13501950c46SEmmanuel Vadot 13601950c46SEmmanuel Vadot pwms = <&pwm_AO_cd 1 1250 0>; 13701950c46SEmmanuel Vadot pwm-dutycycle-range = <100 0>; 13801950c46SEmmanuel Vadot 13901950c46SEmmanuel Vadot regulator-boot-on; 14001950c46SEmmanuel Vadot regulator-always-on; 14101950c46SEmmanuel Vadot }; 14201950c46SEmmanuel Vadot 14301950c46SEmmanuel Vadot vddio_ao1v8: regulator-vddio-ao1v8 { 14401950c46SEmmanuel Vadot compatible = "regulator-fixed"; 14501950c46SEmmanuel Vadot regulator-name = "VDDIO_AO1V8"; 14601950c46SEmmanuel Vadot regulator-min-microvolt = <1800000>; 14701950c46SEmmanuel Vadot regulator-max-microvolt = <1800000>; 14801950c46SEmmanuel Vadot vin-supply = <&vddao_3v3>; 14901950c46SEmmanuel Vadot regulator-always-on; 15001950c46SEmmanuel Vadot }; 15101950c46SEmmanuel Vadot 15201950c46SEmmanuel Vadot sdio_pwrseq: sdio-pwrseq { 15301950c46SEmmanuel Vadot compatible = "mmc-pwrseq-simple"; 15401950c46SEmmanuel Vadot reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; 15501950c46SEmmanuel Vadot post-power-on-delay-ms = <10>; /* required for 43752 */ 15601950c46SEmmanuel Vadot clocks = <&wifi32k>; 15701950c46SEmmanuel Vadot clock-names = "ext_clock"; 15801950c46SEmmanuel Vadot }; 15901950c46SEmmanuel Vadot 16001950c46SEmmanuel Vadot wifi32k: wifi32k { 16101950c46SEmmanuel Vadot compatible = "pwm-clock"; 16201950c46SEmmanuel Vadot #clock-cells = <0>; 16301950c46SEmmanuel Vadot clock-frequency = <32768>; 16401950c46SEmmanuel Vadot pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 16501950c46SEmmanuel Vadot }; 16601950c46SEmmanuel Vadot 16701950c46SEmmanuel Vadot sound { 16801950c46SEmmanuel Vadot compatible = "amlogic,axg-sound-card"; 16901950c46SEmmanuel Vadot model = "fbx8am"; 17001950c46SEmmanuel Vadot audio-aux-devs = <&tdmout_b>; 17101950c46SEmmanuel Vadot audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1", 17201950c46SEmmanuel Vadot "TDMOUT_B IN 1", "FRDDR_B OUT 1", 17301950c46SEmmanuel Vadot "TDMOUT_B IN 2", "FRDDR_C OUT 1", 17401950c46SEmmanuel Vadot "TDM_B Playback", "TDMOUT_B OUT", 17501950c46SEmmanuel Vadot "SPDIFOUT_A IN 0", "FRDDR_A OUT 3", 17601950c46SEmmanuel Vadot "SPDIFOUT_A IN 1", "FRDDR_B OUT 3", 17701950c46SEmmanuel Vadot "SPDIFOUT_A IN 2", "FRDDR_C OUT 3"; 17801950c46SEmmanuel Vadot 179*b2d2a78aSEmmanuel Vadot clocks = <&clkc CLKID_MPLL2>, 180*b2d2a78aSEmmanuel Vadot <&clkc CLKID_MPLL0>, 181*b2d2a78aSEmmanuel Vadot <&clkc CLKID_MPLL1>; 182*b2d2a78aSEmmanuel Vadot 18301950c46SEmmanuel Vadot assigned-clocks = <&clkc CLKID_MPLL2>, 18401950c46SEmmanuel Vadot <&clkc CLKID_MPLL0>, 18501950c46SEmmanuel Vadot <&clkc CLKID_MPLL1>; 18601950c46SEmmanuel Vadot assigned-clock-parents = <0>, <0>, <0>; 18701950c46SEmmanuel Vadot assigned-clock-rates = <294912000>, 18801950c46SEmmanuel Vadot <270950400>, 18901950c46SEmmanuel Vadot <393216000>; 19001950c46SEmmanuel Vadot 19101950c46SEmmanuel Vadot dai-link-0 { 19201950c46SEmmanuel Vadot sound-dai = <&frddr_a>; 19301950c46SEmmanuel Vadot }; 19401950c46SEmmanuel Vadot 19501950c46SEmmanuel Vadot dai-link-1 { 19601950c46SEmmanuel Vadot sound-dai = <&frddr_b>; 19701950c46SEmmanuel Vadot }; 19801950c46SEmmanuel Vadot 19901950c46SEmmanuel Vadot dai-link-2 { 20001950c46SEmmanuel Vadot sound-dai = <&frddr_c>; 20101950c46SEmmanuel Vadot }; 20201950c46SEmmanuel Vadot 20301950c46SEmmanuel Vadot /* 8ch hdmi interface */ 20401950c46SEmmanuel Vadot dai-link-3 { 20501950c46SEmmanuel Vadot sound-dai = <&tdmif_b>; 20601950c46SEmmanuel Vadot dai-format = "i2s"; 20701950c46SEmmanuel Vadot dai-tdm-slot-tx-mask-0 = <1 1>; 20801950c46SEmmanuel Vadot dai-tdm-slot-tx-mask-1 = <1 1>; 20901950c46SEmmanuel Vadot dai-tdm-slot-tx-mask-2 = <1 1>; 21001950c46SEmmanuel Vadot dai-tdm-slot-tx-mask-3 = <1 1>; 21101950c46SEmmanuel Vadot mclk-fs = <256>; 21201950c46SEmmanuel Vadot 21301950c46SEmmanuel Vadot codec { 21401950c46SEmmanuel Vadot sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; 21501950c46SEmmanuel Vadot }; 21601950c46SEmmanuel Vadot }; 21701950c46SEmmanuel Vadot 21801950c46SEmmanuel Vadot /* spdif hdmi or toslink interface */ 21901950c46SEmmanuel Vadot dai-link-4 { 22001950c46SEmmanuel Vadot sound-dai = <&spdifout_a>; 22101950c46SEmmanuel Vadot 22201950c46SEmmanuel Vadot codec-0 { 22301950c46SEmmanuel Vadot sound-dai = <&spdif_dit>; 22401950c46SEmmanuel Vadot }; 22501950c46SEmmanuel Vadot 22601950c46SEmmanuel Vadot codec-1 { 22701950c46SEmmanuel Vadot sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>; 22801950c46SEmmanuel Vadot }; 22901950c46SEmmanuel Vadot }; 23001950c46SEmmanuel Vadot 23101950c46SEmmanuel Vadot /* spdif hdmi interface */ 23201950c46SEmmanuel Vadot dai-link-5 { 23301950c46SEmmanuel Vadot sound-dai = <&spdifout_b>; 23401950c46SEmmanuel Vadot 23501950c46SEmmanuel Vadot codec { 23601950c46SEmmanuel Vadot sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>; 23701950c46SEmmanuel Vadot }; 23801950c46SEmmanuel Vadot }; 23901950c46SEmmanuel Vadot 24001950c46SEmmanuel Vadot /* hdmi glue */ 24101950c46SEmmanuel Vadot dai-link-6 { 24201950c46SEmmanuel Vadot sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; 24301950c46SEmmanuel Vadot 24401950c46SEmmanuel Vadot codec { 24501950c46SEmmanuel Vadot sound-dai = <&hdmi_tx>; 24601950c46SEmmanuel Vadot }; 24701950c46SEmmanuel Vadot }; 24801950c46SEmmanuel Vadot }; 24901950c46SEmmanuel Vadot}; 25001950c46SEmmanuel Vadot 25101950c46SEmmanuel Vadot&arb { 25201950c46SEmmanuel Vadot status = "okay"; 25301950c46SEmmanuel Vadot}; 25401950c46SEmmanuel Vadot 25501950c46SEmmanuel Vadot&cecb_AO { 25601950c46SEmmanuel Vadot pinctrl-0 = <&cec_ao_b_h_pins>; 25701950c46SEmmanuel Vadot pinctrl-names = "default"; 25801950c46SEmmanuel Vadot status = "okay"; 25901950c46SEmmanuel Vadot hdmi-phandle = <&hdmi_tx>; 26001950c46SEmmanuel Vadot}; 26101950c46SEmmanuel Vadot 26201950c46SEmmanuel Vadot&clkc_audio { 26301950c46SEmmanuel Vadot status = "okay"; 26401950c46SEmmanuel Vadot}; 26501950c46SEmmanuel Vadot 26601950c46SEmmanuel Vadot&cpu0 { 26701950c46SEmmanuel Vadot cpu-supply = <&vddcpu>; 26801950c46SEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 26901950c46SEmmanuel Vadot clocks = <&clkc CLKID_CPU_CLK>; 27001950c46SEmmanuel Vadot clock-latency = <50000>; 27101950c46SEmmanuel Vadot}; 27201950c46SEmmanuel Vadot 27301950c46SEmmanuel Vadot&cpu1 { 27401950c46SEmmanuel Vadot cpu-supply = <&vddcpu>; 27501950c46SEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 27601950c46SEmmanuel Vadot clocks = <&clkc CLKID_CPU_CLK>; 27701950c46SEmmanuel Vadot clock-latency = <50000>; 27801950c46SEmmanuel Vadot}; 27901950c46SEmmanuel Vadot 28001950c46SEmmanuel Vadot&cpu2 { 28101950c46SEmmanuel Vadot cpu-supply = <&vddcpu>; 28201950c46SEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 28301950c46SEmmanuel Vadot clocks = <&clkc CLKID_CPU_CLK>; 28401950c46SEmmanuel Vadot clock-latency = <50000>; 28501950c46SEmmanuel Vadot}; 28601950c46SEmmanuel Vadot 28701950c46SEmmanuel Vadot&cpu3 { 28801950c46SEmmanuel Vadot cpu-supply = <&vddcpu>; 28901950c46SEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 29001950c46SEmmanuel Vadot clocks = <&clkc CLKID_CPU_CLK>; 29101950c46SEmmanuel Vadot clock-latency = <50000>; 29201950c46SEmmanuel Vadot}; 29301950c46SEmmanuel Vadot 29401950c46SEmmanuel Vadotðmac { 29501950c46SEmmanuel Vadot status = "okay"; 29601950c46SEmmanuel Vadot phy-handle = <&internal_ephy>; 29701950c46SEmmanuel Vadot phy-mode = "rmii"; 29801950c46SEmmanuel Vadot}; 29901950c46SEmmanuel Vadot 30001950c46SEmmanuel Vadot&frddr_a { 30101950c46SEmmanuel Vadot status = "okay"; 30201950c46SEmmanuel Vadot}; 30301950c46SEmmanuel Vadot 30401950c46SEmmanuel Vadot&frddr_b { 30501950c46SEmmanuel Vadot status = "okay"; 30601950c46SEmmanuel Vadot}; 30701950c46SEmmanuel Vadot 30801950c46SEmmanuel Vadot&frddr_c { 30901950c46SEmmanuel Vadot status = "okay"; 31001950c46SEmmanuel Vadot}; 31101950c46SEmmanuel Vadot 31201950c46SEmmanuel Vadot&spdifout_a { 31301950c46SEmmanuel Vadot pinctrl-0 = <&spdif_out_h_pins>; 31401950c46SEmmanuel Vadot pinctrl-names = "default"; 31501950c46SEmmanuel Vadot status = "okay"; 31601950c46SEmmanuel Vadot}; 31701950c46SEmmanuel Vadot 31801950c46SEmmanuel Vadot&spdifout_b { 31901950c46SEmmanuel Vadot status = "okay"; 32001950c46SEmmanuel Vadot}; 32101950c46SEmmanuel Vadot 32201950c46SEmmanuel Vadot&hdmi_tx { 32301950c46SEmmanuel Vadot status = "okay"; 32401950c46SEmmanuel Vadot pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; 32501950c46SEmmanuel Vadot pinctrl-names = "default"; 32601950c46SEmmanuel Vadot}; 32701950c46SEmmanuel Vadot 32801950c46SEmmanuel Vadot&hdmi_tx_tmds_port { 32901950c46SEmmanuel Vadot hdmi_tx_tmds_out: endpoint { 33001950c46SEmmanuel Vadot remote-endpoint = <&hdmi_connector_in>; 33101950c46SEmmanuel Vadot }; 33201950c46SEmmanuel Vadot}; 33301950c46SEmmanuel Vadot 33401950c46SEmmanuel Vadot&i2c3 { 33501950c46SEmmanuel Vadot status = "okay"; 33601950c46SEmmanuel Vadot pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>; 33701950c46SEmmanuel Vadot pinctrl-names = "default"; 33801950c46SEmmanuel Vadot}; 33901950c46SEmmanuel Vadot 34001950c46SEmmanuel Vadot&ir { 34101950c46SEmmanuel Vadot status = "okay"; 34201950c46SEmmanuel Vadot pinctrl-0 = <&remote_input_ao_pins>; 34301950c46SEmmanuel Vadot pinctrl-names = "default"; 34401950c46SEmmanuel Vadot}; 34501950c46SEmmanuel Vadot 34601950c46SEmmanuel Vadot&pwm_AO_cd { 34701950c46SEmmanuel Vadot pinctrl-0 = <&pwm_ao_d_e_pins>; 34801950c46SEmmanuel Vadot pinctrl-names = "default"; 34901950c46SEmmanuel Vadot clocks = <&xtal>; 35001950c46SEmmanuel Vadot clock-names = "clkin1"; 35101950c46SEmmanuel Vadot status = "okay"; 35201950c46SEmmanuel Vadot}; 35301950c46SEmmanuel Vadot 35401950c46SEmmanuel Vadot&pwm_ef { 35501950c46SEmmanuel Vadot status = "okay"; 35601950c46SEmmanuel Vadot pinctrl-0 = <&pwm_e_pins>; 35701950c46SEmmanuel Vadot pinctrl-names = "default"; 35801950c46SEmmanuel Vadot clocks = <&xtal>; 35901950c46SEmmanuel Vadot clock-names = "clkin0"; 36001950c46SEmmanuel Vadot}; 36101950c46SEmmanuel Vadot 36201950c46SEmmanuel Vadot&pdm { 36301950c46SEmmanuel Vadot pinctrl-0 = <&pdm_din0_z_pins>, <&pdm_din1_z_pins>, 36401950c46SEmmanuel Vadot <&pdm_din2_z_pins>, <&pdm_din3_z_pins>, 36501950c46SEmmanuel Vadot <&pdm_dclk_z_pins>; 36601950c46SEmmanuel Vadot pinctrl-names = "default"; 36701950c46SEmmanuel Vadot status = "okay"; 36801950c46SEmmanuel Vadot}; 36901950c46SEmmanuel Vadot 37001950c46SEmmanuel Vadot&saradc { 37101950c46SEmmanuel Vadot status = "okay"; 37201950c46SEmmanuel Vadot vref-supply = <&vddio_ao1v8>; 37301950c46SEmmanuel Vadot}; 37401950c46SEmmanuel Vadot 37501950c46SEmmanuel Vadot/* SDIO */ 37601950c46SEmmanuel Vadot&sd_emmc_a { 37701950c46SEmmanuel Vadot status = "okay"; 37801950c46SEmmanuel Vadot pinctrl-0 = <&sdio_pins>; 37901950c46SEmmanuel Vadot pinctrl-1 = <&sdio_clk_gate_pins>; 38001950c46SEmmanuel Vadot pinctrl-names = "default", "clk-gate"; 38101950c46SEmmanuel Vadot #address-cells = <1>; 38201950c46SEmmanuel Vadot #size-cells = <0>; 38301950c46SEmmanuel Vadot 38401950c46SEmmanuel Vadot bus-width = <4>; 38501950c46SEmmanuel Vadot cap-sd-highspeed; 38601950c46SEmmanuel Vadot sd-uhs-sdr50; 38701950c46SEmmanuel Vadot max-frequency = <100000000>; 38801950c46SEmmanuel Vadot 38901950c46SEmmanuel Vadot non-removable; 39001950c46SEmmanuel Vadot disable-wp; 39101950c46SEmmanuel Vadot 39201950c46SEmmanuel Vadot /* WiFi firmware requires power to be kept while in suspend */ 39301950c46SEmmanuel Vadot keep-power-in-suspend; 39401950c46SEmmanuel Vadot 39501950c46SEmmanuel Vadot mmc-pwrseq = <&sdio_pwrseq>; 39601950c46SEmmanuel Vadot 39701950c46SEmmanuel Vadot vmmc-supply = <&vddao_3v3>; 39801950c46SEmmanuel Vadot vqmmc-supply = <&vddio_ao1v8>; 39901950c46SEmmanuel Vadot}; 40001950c46SEmmanuel Vadot 40101950c46SEmmanuel Vadot/* SD card */ 40201950c46SEmmanuel Vadot&sd_emmc_b { 40301950c46SEmmanuel Vadot status = "okay"; 40401950c46SEmmanuel Vadot pinctrl-0 = <&sdcard_c_pins>; 40501950c46SEmmanuel Vadot pinctrl-1 = <&sdcard_clk_gate_c_pins>; 40601950c46SEmmanuel Vadot pinctrl-names = "default", "clk-gate"; 40701950c46SEmmanuel Vadot 40801950c46SEmmanuel Vadot bus-width = <4>; 40901950c46SEmmanuel Vadot cap-sd-highspeed; 41001950c46SEmmanuel Vadot max-frequency = <50000000>; 41101950c46SEmmanuel Vadot disable-wp; 41201950c46SEmmanuel Vadot 41301950c46SEmmanuel Vadot cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; 41401950c46SEmmanuel Vadot vmmc-supply = <&vddao_3v3>; 41501950c46SEmmanuel Vadot vqmmc-supply = <&vddao_3v3>; 41601950c46SEmmanuel Vadot}; 41701950c46SEmmanuel Vadot 41801950c46SEmmanuel Vadot/* eMMC */ 41901950c46SEmmanuel Vadot&sd_emmc_c { 42001950c46SEmmanuel Vadot status = "okay"; 42101950c46SEmmanuel Vadot pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; 42201950c46SEmmanuel Vadot pinctrl-1 = <&emmc_clk_gate_pins>; 42301950c46SEmmanuel Vadot pinctrl-names = "default", "clk-gate"; 42401950c46SEmmanuel Vadot 42501950c46SEmmanuel Vadot bus-width = <8>; 42601950c46SEmmanuel Vadot cap-mmc-highspeed; 42701950c46SEmmanuel Vadot mmc-ddr-1_8v; 42801950c46SEmmanuel Vadot mmc-hs200-1_8v; 42901950c46SEmmanuel Vadot max-frequency = <200000000>; 43001950c46SEmmanuel Vadot non-removable; 43101950c46SEmmanuel Vadot disable-wp; 43201950c46SEmmanuel Vadot 43301950c46SEmmanuel Vadot mmc-pwrseq = <&emmc_pwrseq>; 43401950c46SEmmanuel Vadot vmmc-supply = <&vddao_3v3>; 43501950c46SEmmanuel Vadot vqmmc-supply = <&emmc_1v8>; 43601950c46SEmmanuel Vadot}; 43701950c46SEmmanuel Vadot 43801950c46SEmmanuel Vadot&tdmif_b { 43901950c46SEmmanuel Vadot status = "okay"; 44001950c46SEmmanuel Vadot}; 44101950c46SEmmanuel Vadot 44201950c46SEmmanuel Vadot&tdmout_b { 44301950c46SEmmanuel Vadot status = "okay"; 44401950c46SEmmanuel Vadot}; 44501950c46SEmmanuel Vadot 44601950c46SEmmanuel Vadot&tohdmitx { 44701950c46SEmmanuel Vadot status = "okay"; 44801950c46SEmmanuel Vadot}; 44901950c46SEmmanuel Vadot 45001950c46SEmmanuel Vadot&uart_A { 45101950c46SEmmanuel Vadot status = "okay"; 45201950c46SEmmanuel Vadot pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 45301950c46SEmmanuel Vadot pinctrl-names = "default"; 45401950c46SEmmanuel Vadot uart-has-rtscts; 45501950c46SEmmanuel Vadot}; 45601950c46SEmmanuel Vadot 45701950c46SEmmanuel Vadot&uart_AO { 45801950c46SEmmanuel Vadot status = "okay"; 45901950c46SEmmanuel Vadot pinctrl-0 = <&uart_ao_a_pins>; 46001950c46SEmmanuel Vadot pinctrl-names = "default"; 46101950c46SEmmanuel Vadot}; 46201950c46SEmmanuel Vadot 46301950c46SEmmanuel Vadot&usb { 46401950c46SEmmanuel Vadot status = "okay"; 46501950c46SEmmanuel Vadot dr_mode = "host"; 46601950c46SEmmanuel Vadot}; 467