162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2021 BayLibre SAS 462306a36Sopenharmony_ci * Author: Neil Armstrong <narmstrong@baylibre.com> 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#include "meson-sm1.dtsi" 862306a36Sopenharmony_ci#include <dt-bindings/leds/common.h> 962306a36Sopenharmony_ci#include <dt-bindings/input/linux-event-codes.h> 1062306a36Sopenharmony_ci#include <dt-bindings/gpio/meson-g12a-gpio.h> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci/ { 1362306a36Sopenharmony_ci adc-keys { 1462306a36Sopenharmony_ci compatible = "adc-keys"; 1562306a36Sopenharmony_ci io-channels = <&saradc 2>; 1662306a36Sopenharmony_ci io-channel-names = "buttons"; 1762306a36Sopenharmony_ci keyup-threshold-microvolt = <1800000>; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci button-sw3 { 2062306a36Sopenharmony_ci label = "SW3"; 2162306a36Sopenharmony_ci linux,code = <BTN_3>; 2262306a36Sopenharmony_ci press-threshold-microvolt = <1700000>; 2362306a36Sopenharmony_ci }; 2462306a36Sopenharmony_ci }; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci aliases { 2762306a36Sopenharmony_ci serial0 = &uart_AO; 2862306a36Sopenharmony_ci ethernet0 = ðmac; 2962306a36Sopenharmony_ci }; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci chosen { 3262306a36Sopenharmony_ci stdout-path = "serial0:115200n8"; 3362306a36Sopenharmony_ci }; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci emmc_pwrseq: emmc-pwrseq { 3662306a36Sopenharmony_ci compatible = "mmc-pwrseq-emmc"; 3762306a36Sopenharmony_ci reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; 3862306a36Sopenharmony_ci }; 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci gpio-keys { 4162306a36Sopenharmony_ci compatible = "gpio-keys"; 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci key { 4462306a36Sopenharmony_ci label = "SW1"; 4562306a36Sopenharmony_ci linux,code = <BTN_1>; 4662306a36Sopenharmony_ci gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>; 4762306a36Sopenharmony_ci interrupt-parent = <&gpio_intc>; 4862306a36Sopenharmony_ci interrupts = <IRQID_GPIOAO_3 IRQ_TYPE_EDGE_BOTH>; 4962306a36Sopenharmony_ci }; 5062306a36Sopenharmony_ci }; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci hdmi-connector { 5362306a36Sopenharmony_ci compatible = "hdmi-connector"; 5462306a36Sopenharmony_ci type = "a"; 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci port { 5762306a36Sopenharmony_ci hdmi_connector_in: endpoint { 5862306a36Sopenharmony_ci remote-endpoint = <&hdmi_tx_tmds_out>; 5962306a36Sopenharmony_ci }; 6062306a36Sopenharmony_ci }; 6162306a36Sopenharmony_ci }; 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci leds { 6462306a36Sopenharmony_ci compatible = "gpio-leds"; 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci led-green { 6762306a36Sopenharmony_ci color = <LED_COLOR_ID_GREEN>; 6862306a36Sopenharmony_ci function = LED_FUNCTION_STATUS; 6962306a36Sopenharmony_ci gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; 7062306a36Sopenharmony_ci }; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci led-blue { 7362306a36Sopenharmony_ci color = <LED_COLOR_ID_BLUE>; 7462306a36Sopenharmony_ci function = LED_FUNCTION_STATUS; 7562306a36Sopenharmony_ci gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_LOW>; 7662306a36Sopenharmony_ci linux,default-trigger = "heartbeat"; 7762306a36Sopenharmony_ci }; 7862306a36Sopenharmony_ci }; 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci memory@0 { 8162306a36Sopenharmony_ci device_type = "memory"; 8262306a36Sopenharmony_ci reg = <0x0 0x0 0x0 0x40000000>; 8362306a36Sopenharmony_ci }; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci emmc_1v8: regulator-emmc_1v8 { 8662306a36Sopenharmony_ci compatible = "regulator-fixed"; 8762306a36Sopenharmony_ci regulator-name = "EMMC_1V8"; 8862306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 8962306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 9062306a36Sopenharmony_ci vin-supply = <&vddao_3v3>; 9162306a36Sopenharmony_ci regulator-always-on; 9262306a36Sopenharmony_ci }; 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci dc_in: regulator-dc_in { 9562306a36Sopenharmony_ci compatible = "regulator-fixed"; 9662306a36Sopenharmony_ci regulator-name = "DC_IN"; 9762306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 9862306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 9962306a36Sopenharmony_ci regulator-always-on; 10062306a36Sopenharmony_ci }; 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci vddio_c: regulator-vddio_c { 10362306a36Sopenharmony_ci compatible = "regulator-gpio"; 10462306a36Sopenharmony_ci regulator-name = "VDDIO_C"; 10562306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 10662306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci enable-gpios = <&gpio_ao GPIOE_2 GPIO_OPEN_DRAIN>; 10962306a36Sopenharmony_ci enable-active-high; 11062306a36Sopenharmony_ci regulator-always-on; 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ci gpios = <&gpio_ao GPIOAO_6 GPIO_OPEN_DRAIN>; 11362306a36Sopenharmony_ci gpios-states = <1>; 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci states = <1800000 0>, 11662306a36Sopenharmony_ci <3300000 1>; 11762306a36Sopenharmony_ci }; 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci tflash_vdd: regulator-tflash_vdd { 12062306a36Sopenharmony_ci compatible = "regulator-fixed"; 12162306a36Sopenharmony_ci regulator-name = "TFLASH_VDD"; 12262306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 12362306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 12462306a36Sopenharmony_ci vin-supply = <&dc_in>; 12562306a36Sopenharmony_ci gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>; 12662306a36Sopenharmony_ci enable-active-high; 12762306a36Sopenharmony_ci regulator-always-on; 12862306a36Sopenharmony_ci }; 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci vddao_1v8: regulator-vddao_1v8 { 13162306a36Sopenharmony_ci compatible = "regulator-fixed"; 13262306a36Sopenharmony_ci regulator-name = "VDDAO_1V8"; 13362306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 13462306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 13562306a36Sopenharmony_ci vin-supply = <&vddao_3v3>; 13662306a36Sopenharmony_ci regulator-always-on; 13762306a36Sopenharmony_ci }; 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ci vddao_3v3: regulator-vddao_3v3 { 14062306a36Sopenharmony_ci compatible = "regulator-fixed"; 14162306a36Sopenharmony_ci regulator-name = "VDDAO_3V3"; 14262306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 14362306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 14462306a36Sopenharmony_ci vin-supply = <&dc_in>; 14562306a36Sopenharmony_ci regulator-always-on; 14662306a36Sopenharmony_ci }; 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci vddcpu: regulator-vddcpu { 14962306a36Sopenharmony_ci /* 15062306a36Sopenharmony_ci * SY8120B1ABC DC/DC Regulator. 15162306a36Sopenharmony_ci */ 15262306a36Sopenharmony_ci compatible = "pwm-regulator"; 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ci regulator-name = "VDDCPU"; 15562306a36Sopenharmony_ci regulator-min-microvolt = <690000>; 15662306a36Sopenharmony_ci regulator-max-microvolt = <1050000>; 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci pwm-supply = <&dc_in>; 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ci pwms = <&pwm_AO_cd 1 1250 0>; 16162306a36Sopenharmony_ci pwm-dutycycle-range = <100 0>; 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci regulator-boot-on; 16462306a36Sopenharmony_ci regulator-always-on; 16562306a36Sopenharmony_ci }; 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci /* USB Hub Power Enable */ 16862306a36Sopenharmony_ci vl_pwr_en: regulator-vl_pwr_en { 16962306a36Sopenharmony_ci compatible = "regulator-fixed"; 17062306a36Sopenharmony_ci regulator-name = "VL_PWR_EN"; 17162306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 17262306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 17362306a36Sopenharmony_ci vin-supply = <&dc_in>; 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ci gpio = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>; 17662306a36Sopenharmony_ci enable-active-high; 17762306a36Sopenharmony_ci }; 17862306a36Sopenharmony_ci}; 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ci&arb { 18162306a36Sopenharmony_ci status = "okay"; 18262306a36Sopenharmony_ci}; 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ci&cpu0 { 18562306a36Sopenharmony_ci cpu-supply = <&vddcpu>; 18662306a36Sopenharmony_ci operating-points-v2 = <&cpu_opp_table>; 18762306a36Sopenharmony_ci clocks = <&clkc CLKID_CPU_CLK>; 18862306a36Sopenharmony_ci clock-latency = <50000>; 18962306a36Sopenharmony_ci}; 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ci&cpu1 { 19262306a36Sopenharmony_ci cpu-supply = <&vddcpu>; 19362306a36Sopenharmony_ci operating-points-v2 = <&cpu_opp_table>; 19462306a36Sopenharmony_ci clocks = <&clkc CLKID_CPU1_CLK>; 19562306a36Sopenharmony_ci clock-latency = <50000>; 19662306a36Sopenharmony_ci}; 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ci&cpu2 { 19962306a36Sopenharmony_ci cpu-supply = <&vddcpu>; 20062306a36Sopenharmony_ci operating-points-v2 = <&cpu_opp_table>; 20162306a36Sopenharmony_ci clocks = <&clkc CLKID_CPU2_CLK>; 20262306a36Sopenharmony_ci clock-latency = <50000>; 20362306a36Sopenharmony_ci}; 20462306a36Sopenharmony_ci 20562306a36Sopenharmony_ci&cpu3 { 20662306a36Sopenharmony_ci cpu-supply = <&vddcpu>; 20762306a36Sopenharmony_ci operating-points-v2 = <&cpu_opp_table>; 20862306a36Sopenharmony_ci clocks = <&clkc CLKID_CPU3_CLK>; 20962306a36Sopenharmony_ci clock-latency = <50000>; 21062306a36Sopenharmony_ci}; 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci&ext_mdio { 21362306a36Sopenharmony_ci external_phy: ethernet-phy@0 { 21462306a36Sopenharmony_ci /* Realtek RTL8211F (0x001cc916) */ 21562306a36Sopenharmony_ci reg = <0>; 21662306a36Sopenharmony_ci max-speed = <1000>; 21762306a36Sopenharmony_ci 21862306a36Sopenharmony_ci interrupt-parent = <&gpio_intc>; 21962306a36Sopenharmony_ci /* MAC_INTR on GPIOZ_14 */ 22062306a36Sopenharmony_ci interrupts = <IRQID_GPIOZ_14 IRQ_TYPE_LEVEL_LOW>; 22162306a36Sopenharmony_ci }; 22262306a36Sopenharmony_ci}; 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ciðmac { 22562306a36Sopenharmony_ci pinctrl-0 = <ð_pins>, <ð_rgmii_pins>; 22662306a36Sopenharmony_ci pinctrl-names = "default"; 22762306a36Sopenharmony_ci status = "okay"; 22862306a36Sopenharmony_ci phy-mode = "rgmii-txid"; 22962306a36Sopenharmony_ci phy-handle = <&external_phy>; 23062306a36Sopenharmony_ci}; 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_ci&gpio { 23362306a36Sopenharmony_ci gpio-line-names = 23462306a36Sopenharmony_ci /* GPIOZ */ 23562306a36Sopenharmony_ci "ETH_MDIO", /* GPIOZ_0 */ 23662306a36Sopenharmony_ci "ETH_MDC", /* GPIOZ_1 */ 23762306a36Sopenharmony_ci "ETH_RXCLK", /* GPIOZ_2 */ 23862306a36Sopenharmony_ci "ETH_RX_DV", /* GPIOZ_3 */ 23962306a36Sopenharmony_ci "ETH_RXD0", /* GPIOZ_4 */ 24062306a36Sopenharmony_ci "ETH_RXD1", /* GPIOZ_5 */ 24162306a36Sopenharmony_ci "ETH_RXD2", /* GPIOZ_6 */ 24262306a36Sopenharmony_ci "ETH_RXD3", /* GPIOZ_7 */ 24362306a36Sopenharmony_ci "ETH_TXCLK", /* GPIOZ_8 */ 24462306a36Sopenharmony_ci "ETH_TXEN", /* GPIOZ_9 */ 24562306a36Sopenharmony_ci "ETH_TXD0", /* GPIOZ_10 */ 24662306a36Sopenharmony_ci "ETH_TXD1", /* GPIOZ_11 */ 24762306a36Sopenharmony_ci "ETH_TXD2", /* GPIOZ_12 */ 24862306a36Sopenharmony_ci "ETH_TXD3", /* GPIOZ_13 */ 24962306a36Sopenharmony_ci "ETH_INTR", /* GPIOZ_14 */ 25062306a36Sopenharmony_ci "ETH_NRST", /* GPIOZ_15 */ 25162306a36Sopenharmony_ci /* GPIOH */ 25262306a36Sopenharmony_ci "HDMI_SDA", /* GPIOH_0 */ 25362306a36Sopenharmony_ci "HDMI_SCL", /* GPIOH_1 */ 25462306a36Sopenharmony_ci "HDMI_HPD", /* GPIOH_2 */ 25562306a36Sopenharmony_ci "HDMI_CEC", /* GPIOH_3 */ 25662306a36Sopenharmony_ci "VL-RST_N", /* GPIOH_4 */ 25762306a36Sopenharmony_ci "CON1-P36", /* GPIOH_5 */ 25862306a36Sopenharmony_ci "VL-PWREN", /* GPIOH_6 */ 25962306a36Sopenharmony_ci "WiFi_3V3_1V8", /* GPIOH_7 */ 26062306a36Sopenharmony_ci "TFLASH_VDD_EN", /* GPIOH_8 */ 26162306a36Sopenharmony_ci /* BOOT */ 26262306a36Sopenharmony_ci "eMMC_D0", /* BOOT_0 */ 26362306a36Sopenharmony_ci "eMMC_D1", /* BOOT_1 */ 26462306a36Sopenharmony_ci "eMMC_D2", /* BOOT_2 */ 26562306a36Sopenharmony_ci "eMMC_D3", /* BOOT_3 */ 26662306a36Sopenharmony_ci "eMMC_D4", /* BOOT_4 */ 26762306a36Sopenharmony_ci "eMMC_D5", /* BOOT_5 */ 26862306a36Sopenharmony_ci "eMMC_D6", /* BOOT_6 */ 26962306a36Sopenharmony_ci "eMMC_D7", /* BOOT_7 */ 27062306a36Sopenharmony_ci "eMMC_CLK", /* BOOT_8 */ 27162306a36Sopenharmony_ci "", 27262306a36Sopenharmony_ci "eMMC_CMD", /* BOOT_10 */ 27362306a36Sopenharmony_ci "", 27462306a36Sopenharmony_ci "eMMC_RST#", /* BOOT_12 */ 27562306a36Sopenharmony_ci "eMMC_DS", /* BOOT_13 */ 27662306a36Sopenharmony_ci "", "", 27762306a36Sopenharmony_ci /* GPIOC */ 27862306a36Sopenharmony_ci "SD_D0_B", /* GPIOC_0 */ 27962306a36Sopenharmony_ci "SD_D1_B", /* GPIOC_1 */ 28062306a36Sopenharmony_ci "SD_D2_B", /* GPIOC_2 */ 28162306a36Sopenharmony_ci "SD_D3_B", /* GPIOC_3 */ 28262306a36Sopenharmony_ci "SD_CLK_B", /* GPIOC_4 */ 28362306a36Sopenharmony_ci "SD_CMD_B", /* GPIOC_5 */ 28462306a36Sopenharmony_ci "CARD_EN_DET", /* GPIOC_6 */ 28562306a36Sopenharmony_ci "", 28662306a36Sopenharmony_ci /* GPIOA */ 28762306a36Sopenharmony_ci "", "", "", "", "", "", "", "", 28862306a36Sopenharmony_ci "", "", "", "", "", "", 28962306a36Sopenharmony_ci "CON1-P27", /* GPIOA_14 */ 29062306a36Sopenharmony_ci "CON1-P28", /* GPIOA_15 */ 29162306a36Sopenharmony_ci /* GPIOX */ 29262306a36Sopenharmony_ci "CON1-P16", /* GPIOX_0 */ 29362306a36Sopenharmony_ci "CON1-P18", /* GPIOX_1 */ 29462306a36Sopenharmony_ci "CON1-P22", /* GPIOX_2 */ 29562306a36Sopenharmony_ci "CON1-P11", /* GPIOX_3 */ 29662306a36Sopenharmony_ci "CON1-P13", /* GPIOX_4 */ 29762306a36Sopenharmony_ci "CON1-P07", /* GPIOX_5 */ 29862306a36Sopenharmony_ci "CON1-P33", /* GPIOX_6 */ 29962306a36Sopenharmony_ci "CON1-P15", /* GPIOX_7 */ 30062306a36Sopenharmony_ci "CON1-P19", /* GPIOX_8 */ 30162306a36Sopenharmony_ci "CON1-P21", /* GPIOX_9 */ 30262306a36Sopenharmony_ci "CON1-P24", /* GPIOX_10 */ 30362306a36Sopenharmony_ci "CON1-P23", /* GPIOX_11 */ 30462306a36Sopenharmony_ci "CON1-P08", /* GPIOX_12 */ 30562306a36Sopenharmony_ci "CON1-P10", /* GPIOX_13 */ 30662306a36Sopenharmony_ci "CON1-P29", /* GPIOX_14 */ 30762306a36Sopenharmony_ci "CON1-P31", /* GPIOX_15 */ 30862306a36Sopenharmony_ci "CON1-P26", /* GPIOX_16 */ 30962306a36Sopenharmony_ci "CON1-P03", /* GPIOX_17 */ 31062306a36Sopenharmony_ci "CON1-P05", /* GPIOX_18 */ 31162306a36Sopenharmony_ci "CON1-P32"; /* GPIOX_19 */ 31262306a36Sopenharmony_ci 31362306a36Sopenharmony_ci /* 31462306a36Sopenharmony_ci * WARNING: The USB Hub needs a reset signal to be turned high in 31562306a36Sopenharmony_ci * order to be detected by the USB Controller. This signal should 31662306a36Sopenharmony_ci * be handled by a USB specific power sequence to reset the Hub 31762306a36Sopenharmony_ci * when the USB bus is powered down. 31862306a36Sopenharmony_ci */ 31962306a36Sopenharmony_ci usb-hub-hog { 32062306a36Sopenharmony_ci gpio-hog; 32162306a36Sopenharmony_ci gpios = <GPIOH_4 GPIO_ACTIVE_HIGH>; 32262306a36Sopenharmony_ci output-high; 32362306a36Sopenharmony_ci line-name = "usb-hub-reset"; 32462306a36Sopenharmony_ci }; 32562306a36Sopenharmony_ci}; 32662306a36Sopenharmony_ci 32762306a36Sopenharmony_ci&gpio_ao { 32862306a36Sopenharmony_ci gpio-line-names = 32962306a36Sopenharmony_ci /* GPIOAO */ 33062306a36Sopenharmony_ci "DEBUG TX", /* GPIOAO_0 */ 33162306a36Sopenharmony_ci "DEBUG RX", /* GPIOAO_1 */ 33262306a36Sopenharmony_ci "SYS_LED2", /* GPIOAO_2 */ 33362306a36Sopenharmony_ci "UPDATE_KEY", /* GPIOAO_3 */ 33462306a36Sopenharmony_ci "CON1-P40", /* GPIOAO_4 */ 33562306a36Sopenharmony_ci "IR_IN", /* GPIOAO_5 */ 33662306a36Sopenharmony_ci "TF_3V3N_1V8_EN", /* GPIOAO_6 */ 33762306a36Sopenharmony_ci "CON1-P35", /* GPIOAO_7 */ 33862306a36Sopenharmony_ci "CON1-P12", /* GPIOAO_8 */ 33962306a36Sopenharmony_ci "CON1-P37", /* GPIOAO_9 */ 34062306a36Sopenharmony_ci "CON1-P38", /* GPIOAO_10 */ 34162306a36Sopenharmony_ci "SYS_LED", /* GPIOAO_11 */ 34262306a36Sopenharmony_ci /* GPIOE */ 34362306a36Sopenharmony_ci "VDDEE_PWM", /* GPIOE_0 */ 34462306a36Sopenharmony_ci "VDDCPU_PWM", /* GPIOE_1 */ 34562306a36Sopenharmony_ci "TF_PWR_EN"; /* GPIOE_2 */ 34662306a36Sopenharmony_ci}; 34762306a36Sopenharmony_ci 34862306a36Sopenharmony_ci&hdmi_tx { 34962306a36Sopenharmony_ci status = "okay"; 35062306a36Sopenharmony_ci pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; 35162306a36Sopenharmony_ci pinctrl-names = "default"; 35262306a36Sopenharmony_ci hdmi-supply = <&dc_in>; 35362306a36Sopenharmony_ci}; 35462306a36Sopenharmony_ci 35562306a36Sopenharmony_ci&hdmi_tx_tmds_port { 35662306a36Sopenharmony_ci hdmi_tx_tmds_out: endpoint { 35762306a36Sopenharmony_ci remote-endpoint = <&hdmi_connector_in>; 35862306a36Sopenharmony_ci }; 35962306a36Sopenharmony_ci}; 36062306a36Sopenharmony_ci 36162306a36Sopenharmony_ci&ir { 36262306a36Sopenharmony_ci status = "okay"; 36362306a36Sopenharmony_ci pinctrl-0 = <&remote_input_ao_pins>; 36462306a36Sopenharmony_ci pinctrl-names = "default"; 36562306a36Sopenharmony_ci}; 36662306a36Sopenharmony_ci 36762306a36Sopenharmony_ci&pwm_AO_cd { 36862306a36Sopenharmony_ci pinctrl-0 = <&pwm_ao_d_e_pins>; 36962306a36Sopenharmony_ci pinctrl-names = "default"; 37062306a36Sopenharmony_ci clocks = <&xtal>; 37162306a36Sopenharmony_ci clock-names = "clkin1"; 37262306a36Sopenharmony_ci status = "okay"; 37362306a36Sopenharmony_ci}; 37462306a36Sopenharmony_ci 37562306a36Sopenharmony_ci&saradc { 37662306a36Sopenharmony_ci status = "okay"; 37762306a36Sopenharmony_ci vref-supply = <&vddao_1v8>; 37862306a36Sopenharmony_ci}; 37962306a36Sopenharmony_ci 38062306a36Sopenharmony_ci/* SD card */ 38162306a36Sopenharmony_ci&sd_emmc_b { 38262306a36Sopenharmony_ci status = "okay"; 38362306a36Sopenharmony_ci pinctrl-0 = <&sdcard_c_pins>; 38462306a36Sopenharmony_ci pinctrl-1 = <&sdcard_clk_gate_c_pins>; 38562306a36Sopenharmony_ci pinctrl-names = "default", "clk-gate"; 38662306a36Sopenharmony_ci 38762306a36Sopenharmony_ci bus-width = <4>; 38862306a36Sopenharmony_ci cap-sd-highspeed; 38962306a36Sopenharmony_ci max-frequency = <50000000>; 39062306a36Sopenharmony_ci disable-wp; 39162306a36Sopenharmony_ci 39262306a36Sopenharmony_ci /* TOFIX: SD card is barely usable in SDR modes */ 39362306a36Sopenharmony_ci 39462306a36Sopenharmony_ci cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; 39562306a36Sopenharmony_ci vmmc-supply = <&tflash_vdd>; 39662306a36Sopenharmony_ci vqmmc-supply = <&vddio_c>; 39762306a36Sopenharmony_ci}; 39862306a36Sopenharmony_ci 39962306a36Sopenharmony_ci/* eMMC */ 40062306a36Sopenharmony_ci&sd_emmc_c { 40162306a36Sopenharmony_ci status = "okay"; 40262306a36Sopenharmony_ci pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; 40362306a36Sopenharmony_ci pinctrl-1 = <&emmc_clk_gate_pins>; 40462306a36Sopenharmony_ci pinctrl-names = "default", "clk-gate"; 40562306a36Sopenharmony_ci 40662306a36Sopenharmony_ci bus-width = <8>; 40762306a36Sopenharmony_ci cap-mmc-highspeed; 40862306a36Sopenharmony_ci mmc-ddr-1_8v; 40962306a36Sopenharmony_ci mmc-hs200-1_8v; 41062306a36Sopenharmony_ci max-frequency = <200000000>; 41162306a36Sopenharmony_ci disable-wp; 41262306a36Sopenharmony_ci 41362306a36Sopenharmony_ci mmc-pwrseq = <&emmc_pwrseq>; 41462306a36Sopenharmony_ci vmmc-supply = <&vddao_3v3>; 41562306a36Sopenharmony_ci vqmmc-supply = <&emmc_1v8>; 41662306a36Sopenharmony_ci}; 41762306a36Sopenharmony_ci 41862306a36Sopenharmony_ci&uart_AO { 41962306a36Sopenharmony_ci status = "okay"; 42062306a36Sopenharmony_ci pinctrl-0 = <&uart_ao_a_pins>; 42162306a36Sopenharmony_ci pinctrl-names = "default"; 42262306a36Sopenharmony_ci}; 42362306a36Sopenharmony_ci 42462306a36Sopenharmony_ci&usb { 42562306a36Sopenharmony_ci status = "okay"; 42662306a36Sopenharmony_ci}; 42762306a36Sopenharmony_ci 42862306a36Sopenharmony_ci&usb2_phy0 { 42962306a36Sopenharmony_ci phy-supply = <&dc_in>; 43062306a36Sopenharmony_ci}; 43162306a36Sopenharmony_ci 43262306a36Sopenharmony_ci&usb2_phy1 { 43362306a36Sopenharmony_ci /* Enable the hub which is connected to this port */ 43462306a36Sopenharmony_ci phy-supply = <&vl_pwr_en>; 43562306a36Sopenharmony_ci}; 436