1cb7aa33aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2cb7aa33aSEmmanuel Vadot/* 3cb7aa33aSEmmanuel Vadot * Copyright (c) 2021 BayLibre SAS 4cb7aa33aSEmmanuel Vadot * Author: Neil Armstrong <narmstrong@baylibre.com> 5cb7aa33aSEmmanuel Vadot */ 6cb7aa33aSEmmanuel Vadot 7cb7aa33aSEmmanuel Vadot#include "meson-sm1.dtsi" 8cb7aa33aSEmmanuel Vadot#include <dt-bindings/leds/common.h> 9cb7aa33aSEmmanuel Vadot#include <dt-bindings/input/linux-event-codes.h> 10cb7aa33aSEmmanuel Vadot#include <dt-bindings/gpio/meson-g12a-gpio.h> 11cb7aa33aSEmmanuel Vadot 12cb7aa33aSEmmanuel Vadot/ { 13cb7aa33aSEmmanuel Vadot adc-keys { 14cb7aa33aSEmmanuel Vadot compatible = "adc-keys"; 15cb7aa33aSEmmanuel Vadot io-channels = <&saradc 2>; 16cb7aa33aSEmmanuel Vadot io-channel-names = "buttons"; 17cb7aa33aSEmmanuel Vadot keyup-threshold-microvolt = <1800000>; 18cb7aa33aSEmmanuel Vadot 19cb7aa33aSEmmanuel Vadot button-sw3 { 20cb7aa33aSEmmanuel Vadot label = "SW3"; 21cb7aa33aSEmmanuel Vadot linux,code = <BTN_3>; 22cb7aa33aSEmmanuel Vadot press-threshold-microvolt = <1700000>; 23cb7aa33aSEmmanuel Vadot }; 24cb7aa33aSEmmanuel Vadot }; 25cb7aa33aSEmmanuel Vadot 26cb7aa33aSEmmanuel Vadot aliases { 27cb7aa33aSEmmanuel Vadot serial0 = &uart_AO; 28cb7aa33aSEmmanuel Vadot ethernet0 = ðmac; 29cb7aa33aSEmmanuel Vadot }; 30cb7aa33aSEmmanuel Vadot 31cb7aa33aSEmmanuel Vadot chosen { 32cb7aa33aSEmmanuel Vadot stdout-path = "serial0:115200n8"; 33cb7aa33aSEmmanuel Vadot }; 34cb7aa33aSEmmanuel Vadot 35cb7aa33aSEmmanuel Vadot emmc_pwrseq: emmc-pwrseq { 36cb7aa33aSEmmanuel Vadot compatible = "mmc-pwrseq-emmc"; 37cb7aa33aSEmmanuel Vadot reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; 38cb7aa33aSEmmanuel Vadot }; 39cb7aa33aSEmmanuel Vadot 40cb7aa33aSEmmanuel Vadot gpio-keys { 41cb7aa33aSEmmanuel Vadot compatible = "gpio-keys"; 42cb7aa33aSEmmanuel Vadot 43cb7aa33aSEmmanuel Vadot key { 44cb7aa33aSEmmanuel Vadot label = "SW1"; 45cb7aa33aSEmmanuel Vadot linux,code = <BTN_1>; 46cb7aa33aSEmmanuel Vadot gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>; 47cb7aa33aSEmmanuel Vadot interrupt-parent = <&gpio_intc>; 48aa1a8ff2SEmmanuel Vadot interrupts = <IRQID_GPIOAO_3 IRQ_TYPE_EDGE_BOTH>; 49cb7aa33aSEmmanuel Vadot }; 50cb7aa33aSEmmanuel Vadot }; 51cb7aa33aSEmmanuel Vadot 52cb7aa33aSEmmanuel Vadot hdmi-connector { 53cb7aa33aSEmmanuel Vadot compatible = "hdmi-connector"; 54cb7aa33aSEmmanuel Vadot type = "a"; 55cb7aa33aSEmmanuel Vadot 56cb7aa33aSEmmanuel Vadot port { 57cb7aa33aSEmmanuel Vadot hdmi_connector_in: endpoint { 58cb7aa33aSEmmanuel Vadot remote-endpoint = <&hdmi_tx_tmds_out>; 59cb7aa33aSEmmanuel Vadot }; 60cb7aa33aSEmmanuel Vadot }; 61cb7aa33aSEmmanuel Vadot }; 62cb7aa33aSEmmanuel Vadot 63cb7aa33aSEmmanuel Vadot leds { 64cb7aa33aSEmmanuel Vadot compatible = "gpio-leds"; 65cb7aa33aSEmmanuel Vadot 66cb7aa33aSEmmanuel Vadot led-green { 67cb7aa33aSEmmanuel Vadot color = <LED_COLOR_ID_GREEN>; 68cb7aa33aSEmmanuel Vadot function = LED_FUNCTION_STATUS; 69cb7aa33aSEmmanuel Vadot gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; 70cb7aa33aSEmmanuel Vadot }; 71cb7aa33aSEmmanuel Vadot 72cb7aa33aSEmmanuel Vadot led-blue { 73cb7aa33aSEmmanuel Vadot color = <LED_COLOR_ID_BLUE>; 74cb7aa33aSEmmanuel Vadot function = LED_FUNCTION_STATUS; 75cb7aa33aSEmmanuel Vadot gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_LOW>; 76cb7aa33aSEmmanuel Vadot linux,default-trigger = "heartbeat"; 77cb7aa33aSEmmanuel Vadot }; 78cb7aa33aSEmmanuel Vadot }; 79cb7aa33aSEmmanuel Vadot 80cb7aa33aSEmmanuel Vadot memory@0 { 81cb7aa33aSEmmanuel Vadot device_type = "memory"; 82cb7aa33aSEmmanuel Vadot reg = <0x0 0x0 0x0 0x40000000>; 83cb7aa33aSEmmanuel Vadot }; 84cb7aa33aSEmmanuel Vadot 85*01950c46SEmmanuel Vadot emmc_1v8: regulator-emmc-1v8 { 86cb7aa33aSEmmanuel Vadot compatible = "regulator-fixed"; 87cb7aa33aSEmmanuel Vadot regulator-name = "EMMC_1V8"; 88cb7aa33aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 89cb7aa33aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 90cb7aa33aSEmmanuel Vadot vin-supply = <&vddao_3v3>; 91cb7aa33aSEmmanuel Vadot regulator-always-on; 92cb7aa33aSEmmanuel Vadot }; 93cb7aa33aSEmmanuel Vadot 94*01950c46SEmmanuel Vadot dc_in: regulator-dc-in { 95cb7aa33aSEmmanuel Vadot compatible = "regulator-fixed"; 96cb7aa33aSEmmanuel Vadot regulator-name = "DC_IN"; 97cb7aa33aSEmmanuel Vadot regulator-min-microvolt = <5000000>; 98cb7aa33aSEmmanuel Vadot regulator-max-microvolt = <5000000>; 99cb7aa33aSEmmanuel Vadot regulator-always-on; 100cb7aa33aSEmmanuel Vadot }; 101cb7aa33aSEmmanuel Vadot 102*01950c46SEmmanuel Vadot vddio_c: regulator-vddio-c { 103cb7aa33aSEmmanuel Vadot compatible = "regulator-gpio"; 104cb7aa33aSEmmanuel Vadot regulator-name = "VDDIO_C"; 105cb7aa33aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 106cb7aa33aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 107cb7aa33aSEmmanuel Vadot 108fac71e4eSEmmanuel Vadot enable-gpios = <&gpio_ao GPIOE_2 GPIO_OPEN_DRAIN>; 109cb7aa33aSEmmanuel Vadot enable-active-high; 110cb7aa33aSEmmanuel Vadot regulator-always-on; 111cb7aa33aSEmmanuel Vadot 112cb7aa33aSEmmanuel Vadot gpios = <&gpio_ao GPIOAO_6 GPIO_OPEN_DRAIN>; 113cb7aa33aSEmmanuel Vadot gpios-states = <1>; 114cb7aa33aSEmmanuel Vadot 115cb7aa33aSEmmanuel Vadot states = <1800000 0>, 116cb7aa33aSEmmanuel Vadot <3300000 1>; 117cb7aa33aSEmmanuel Vadot }; 118cb7aa33aSEmmanuel Vadot 119*01950c46SEmmanuel Vadot tflash_vdd: regulator-tflash-vdd { 120cb7aa33aSEmmanuel Vadot compatible = "regulator-fixed"; 121cb7aa33aSEmmanuel Vadot regulator-name = "TFLASH_VDD"; 122cb7aa33aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 123cb7aa33aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 124cb7aa33aSEmmanuel Vadot vin-supply = <&dc_in>; 125cb7aa33aSEmmanuel Vadot gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>; 126cb7aa33aSEmmanuel Vadot enable-active-high; 127cb7aa33aSEmmanuel Vadot regulator-always-on; 128cb7aa33aSEmmanuel Vadot }; 129cb7aa33aSEmmanuel Vadot 130*01950c46SEmmanuel Vadot vddao_1v8: regulator-vddao-1v8 { 131cb7aa33aSEmmanuel Vadot compatible = "regulator-fixed"; 132cb7aa33aSEmmanuel Vadot regulator-name = "VDDAO_1V8"; 133cb7aa33aSEmmanuel Vadot regulator-min-microvolt = <1800000>; 134cb7aa33aSEmmanuel Vadot regulator-max-microvolt = <1800000>; 135cb7aa33aSEmmanuel Vadot vin-supply = <&vddao_3v3>; 136cb7aa33aSEmmanuel Vadot regulator-always-on; 137cb7aa33aSEmmanuel Vadot }; 138cb7aa33aSEmmanuel Vadot 139*01950c46SEmmanuel Vadot vddao_3v3: regulator-vddao-3v3 { 140cb7aa33aSEmmanuel Vadot compatible = "regulator-fixed"; 141cb7aa33aSEmmanuel Vadot regulator-name = "VDDAO_3V3"; 142cb7aa33aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 143cb7aa33aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 144cb7aa33aSEmmanuel Vadot vin-supply = <&dc_in>; 145cb7aa33aSEmmanuel Vadot regulator-always-on; 146cb7aa33aSEmmanuel Vadot }; 147cb7aa33aSEmmanuel Vadot 148cb7aa33aSEmmanuel Vadot vddcpu: regulator-vddcpu { 149cb7aa33aSEmmanuel Vadot /* 150cb7aa33aSEmmanuel Vadot * SY8120B1ABC DC/DC Regulator. 151cb7aa33aSEmmanuel Vadot */ 152cb7aa33aSEmmanuel Vadot compatible = "pwm-regulator"; 153cb7aa33aSEmmanuel Vadot 154cb7aa33aSEmmanuel Vadot regulator-name = "VDDCPU"; 155cb7aa33aSEmmanuel Vadot regulator-min-microvolt = <690000>; 156cb7aa33aSEmmanuel Vadot regulator-max-microvolt = <1050000>; 157cb7aa33aSEmmanuel Vadot 158cb7aa33aSEmmanuel Vadot pwm-supply = <&dc_in>; 159cb7aa33aSEmmanuel Vadot 160cb7aa33aSEmmanuel Vadot pwms = <&pwm_AO_cd 1 1250 0>; 161cb7aa33aSEmmanuel Vadot pwm-dutycycle-range = <100 0>; 162cb7aa33aSEmmanuel Vadot 163cb7aa33aSEmmanuel Vadot regulator-boot-on; 164cb7aa33aSEmmanuel Vadot regulator-always-on; 165cb7aa33aSEmmanuel Vadot }; 166cb7aa33aSEmmanuel Vadot 167cb7aa33aSEmmanuel Vadot /* USB Hub Power Enable */ 168*01950c46SEmmanuel Vadot vl_pwr_en: regulator-vl-pwr-en { 169cb7aa33aSEmmanuel Vadot compatible = "regulator-fixed"; 170cb7aa33aSEmmanuel Vadot regulator-name = "VL_PWR_EN"; 171cb7aa33aSEmmanuel Vadot regulator-min-microvolt = <5000000>; 172cb7aa33aSEmmanuel Vadot regulator-max-microvolt = <5000000>; 173cb7aa33aSEmmanuel Vadot vin-supply = <&dc_in>; 174cb7aa33aSEmmanuel Vadot 175cb7aa33aSEmmanuel Vadot gpio = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>; 176cb7aa33aSEmmanuel Vadot enable-active-high; 177cb7aa33aSEmmanuel Vadot }; 178cb7aa33aSEmmanuel Vadot}; 179cb7aa33aSEmmanuel Vadot 180cb7aa33aSEmmanuel Vadot&arb { 181cb7aa33aSEmmanuel Vadot status = "okay"; 182cb7aa33aSEmmanuel Vadot}; 183cb7aa33aSEmmanuel Vadot 184cb7aa33aSEmmanuel Vadot&cpu0 { 185cb7aa33aSEmmanuel Vadot cpu-supply = <&vddcpu>; 186cb7aa33aSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 187cb7aa33aSEmmanuel Vadot clocks = <&clkc CLKID_CPU_CLK>; 188cb7aa33aSEmmanuel Vadot clock-latency = <50000>; 189cb7aa33aSEmmanuel Vadot}; 190cb7aa33aSEmmanuel Vadot 191cb7aa33aSEmmanuel Vadot&cpu1 { 192cb7aa33aSEmmanuel Vadot cpu-supply = <&vddcpu>; 193cb7aa33aSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 194cb7aa33aSEmmanuel Vadot clocks = <&clkc CLKID_CPU1_CLK>; 195cb7aa33aSEmmanuel Vadot clock-latency = <50000>; 196cb7aa33aSEmmanuel Vadot}; 197cb7aa33aSEmmanuel Vadot 198cb7aa33aSEmmanuel Vadot&cpu2 { 199cb7aa33aSEmmanuel Vadot cpu-supply = <&vddcpu>; 200cb7aa33aSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 201cb7aa33aSEmmanuel Vadot clocks = <&clkc CLKID_CPU2_CLK>; 202cb7aa33aSEmmanuel Vadot clock-latency = <50000>; 203cb7aa33aSEmmanuel Vadot}; 204cb7aa33aSEmmanuel Vadot 205cb7aa33aSEmmanuel Vadot&cpu3 { 206cb7aa33aSEmmanuel Vadot cpu-supply = <&vddcpu>; 207cb7aa33aSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 208cb7aa33aSEmmanuel Vadot clocks = <&clkc CLKID_CPU3_CLK>; 209cb7aa33aSEmmanuel Vadot clock-latency = <50000>; 210cb7aa33aSEmmanuel Vadot}; 211cb7aa33aSEmmanuel Vadot 212cb7aa33aSEmmanuel Vadot&ext_mdio { 213cb7aa33aSEmmanuel Vadot external_phy: ethernet-phy@0 { 214cb7aa33aSEmmanuel Vadot /* Realtek RTL8211F (0x001cc916) */ 215cb7aa33aSEmmanuel Vadot reg = <0>; 216cb7aa33aSEmmanuel Vadot max-speed = <1000>; 217cb7aa33aSEmmanuel Vadot 218cb7aa33aSEmmanuel Vadot interrupt-parent = <&gpio_intc>; 219cb7aa33aSEmmanuel Vadot /* MAC_INTR on GPIOZ_14 */ 220aa1a8ff2SEmmanuel Vadot interrupts = <IRQID_GPIOZ_14 IRQ_TYPE_LEVEL_LOW>; 221cb7aa33aSEmmanuel Vadot }; 222cb7aa33aSEmmanuel Vadot}; 223cb7aa33aSEmmanuel Vadot 224cb7aa33aSEmmanuel Vadotðmac { 225cb7aa33aSEmmanuel Vadot pinctrl-0 = <ð_pins>, <ð_rgmii_pins>; 226cb7aa33aSEmmanuel Vadot pinctrl-names = "default"; 227cb7aa33aSEmmanuel Vadot status = "okay"; 228cb7aa33aSEmmanuel Vadot phy-mode = "rgmii-txid"; 229cb7aa33aSEmmanuel Vadot phy-handle = <&external_phy>; 230cb7aa33aSEmmanuel Vadot}; 231cb7aa33aSEmmanuel Vadot 232cb7aa33aSEmmanuel Vadot&gpio { 233cb7aa33aSEmmanuel Vadot gpio-line-names = 234cb7aa33aSEmmanuel Vadot /* GPIOZ */ 235cb7aa33aSEmmanuel Vadot "ETH_MDIO", /* GPIOZ_0 */ 236cb7aa33aSEmmanuel Vadot "ETH_MDC", /* GPIOZ_1 */ 237cb7aa33aSEmmanuel Vadot "ETH_RXCLK", /* GPIOZ_2 */ 238cb7aa33aSEmmanuel Vadot "ETH_RX_DV", /* GPIOZ_3 */ 239cb7aa33aSEmmanuel Vadot "ETH_RXD0", /* GPIOZ_4 */ 240cb7aa33aSEmmanuel Vadot "ETH_RXD1", /* GPIOZ_5 */ 241cb7aa33aSEmmanuel Vadot "ETH_RXD2", /* GPIOZ_6 */ 242cb7aa33aSEmmanuel Vadot "ETH_RXD3", /* GPIOZ_7 */ 243cb7aa33aSEmmanuel Vadot "ETH_TXCLK", /* GPIOZ_8 */ 244cb7aa33aSEmmanuel Vadot "ETH_TXEN", /* GPIOZ_9 */ 245cb7aa33aSEmmanuel Vadot "ETH_TXD0", /* GPIOZ_10 */ 246cb7aa33aSEmmanuel Vadot "ETH_TXD1", /* GPIOZ_11 */ 247cb7aa33aSEmmanuel Vadot "ETH_TXD2", /* GPIOZ_12 */ 248cb7aa33aSEmmanuel Vadot "ETH_TXD3", /* GPIOZ_13 */ 249cb7aa33aSEmmanuel Vadot "ETH_INTR", /* GPIOZ_14 */ 250cb7aa33aSEmmanuel Vadot "ETH_NRST", /* GPIOZ_15 */ 251cb7aa33aSEmmanuel Vadot /* GPIOH */ 252cb7aa33aSEmmanuel Vadot "HDMI_SDA", /* GPIOH_0 */ 253cb7aa33aSEmmanuel Vadot "HDMI_SCL", /* GPIOH_1 */ 254cb7aa33aSEmmanuel Vadot "HDMI_HPD", /* GPIOH_2 */ 255cb7aa33aSEmmanuel Vadot "HDMI_CEC", /* GPIOH_3 */ 256cb7aa33aSEmmanuel Vadot "VL-RST_N", /* GPIOH_4 */ 257cb7aa33aSEmmanuel Vadot "CON1-P36", /* GPIOH_5 */ 258cb7aa33aSEmmanuel Vadot "VL-PWREN", /* GPIOH_6 */ 259cb7aa33aSEmmanuel Vadot "WiFi_3V3_1V8", /* GPIOH_7 */ 260cb7aa33aSEmmanuel Vadot "TFLASH_VDD_EN", /* GPIOH_8 */ 261cb7aa33aSEmmanuel Vadot /* BOOT */ 262cb7aa33aSEmmanuel Vadot "eMMC_D0", /* BOOT_0 */ 263cb7aa33aSEmmanuel Vadot "eMMC_D1", /* BOOT_1 */ 264cb7aa33aSEmmanuel Vadot "eMMC_D2", /* BOOT_2 */ 265cb7aa33aSEmmanuel Vadot "eMMC_D3", /* BOOT_3 */ 266cb7aa33aSEmmanuel Vadot "eMMC_D4", /* BOOT_4 */ 267cb7aa33aSEmmanuel Vadot "eMMC_D5", /* BOOT_5 */ 268cb7aa33aSEmmanuel Vadot "eMMC_D6", /* BOOT_6 */ 269cb7aa33aSEmmanuel Vadot "eMMC_D7", /* BOOT_7 */ 270cb7aa33aSEmmanuel Vadot "eMMC_CLK", /* BOOT_8 */ 271cb7aa33aSEmmanuel Vadot "", 272cb7aa33aSEmmanuel Vadot "eMMC_CMD", /* BOOT_10 */ 273cb7aa33aSEmmanuel Vadot "", 274cb7aa33aSEmmanuel Vadot "eMMC_RST#", /* BOOT_12 */ 275cb7aa33aSEmmanuel Vadot "eMMC_DS", /* BOOT_13 */ 276cb7aa33aSEmmanuel Vadot "", "", 277cb7aa33aSEmmanuel Vadot /* GPIOC */ 278cb7aa33aSEmmanuel Vadot "SD_D0_B", /* GPIOC_0 */ 279cb7aa33aSEmmanuel Vadot "SD_D1_B", /* GPIOC_1 */ 280cb7aa33aSEmmanuel Vadot "SD_D2_B", /* GPIOC_2 */ 281cb7aa33aSEmmanuel Vadot "SD_D3_B", /* GPIOC_3 */ 282cb7aa33aSEmmanuel Vadot "SD_CLK_B", /* GPIOC_4 */ 283cb7aa33aSEmmanuel Vadot "SD_CMD_B", /* GPIOC_5 */ 284cb7aa33aSEmmanuel Vadot "CARD_EN_DET", /* GPIOC_6 */ 285cb7aa33aSEmmanuel Vadot "", 286cb7aa33aSEmmanuel Vadot /* GPIOA */ 287cb7aa33aSEmmanuel Vadot "", "", "", "", "", "", "", "", 288cb7aa33aSEmmanuel Vadot "", "", "", "", "", "", 289cb7aa33aSEmmanuel Vadot "CON1-P27", /* GPIOA_14 */ 290cb7aa33aSEmmanuel Vadot "CON1-P28", /* GPIOA_15 */ 291cb7aa33aSEmmanuel Vadot /* GPIOX */ 292cb7aa33aSEmmanuel Vadot "CON1-P16", /* GPIOX_0 */ 293cb7aa33aSEmmanuel Vadot "CON1-P18", /* GPIOX_1 */ 294cb7aa33aSEmmanuel Vadot "CON1-P22", /* GPIOX_2 */ 295cb7aa33aSEmmanuel Vadot "CON1-P11", /* GPIOX_3 */ 296cb7aa33aSEmmanuel Vadot "CON1-P13", /* GPIOX_4 */ 297cb7aa33aSEmmanuel Vadot "CON1-P07", /* GPIOX_5 */ 298cb7aa33aSEmmanuel Vadot "CON1-P33", /* GPIOX_6 */ 299cb7aa33aSEmmanuel Vadot "CON1-P15", /* GPIOX_7 */ 300cb7aa33aSEmmanuel Vadot "CON1-P19", /* GPIOX_8 */ 301cb7aa33aSEmmanuel Vadot "CON1-P21", /* GPIOX_9 */ 302cb7aa33aSEmmanuel Vadot "CON1-P24", /* GPIOX_10 */ 303cb7aa33aSEmmanuel Vadot "CON1-P23", /* GPIOX_11 */ 304cb7aa33aSEmmanuel Vadot "CON1-P08", /* GPIOX_12 */ 305cb7aa33aSEmmanuel Vadot "CON1-P10", /* GPIOX_13 */ 306cb7aa33aSEmmanuel Vadot "CON1-P29", /* GPIOX_14 */ 307cb7aa33aSEmmanuel Vadot "CON1-P31", /* GPIOX_15 */ 308cb7aa33aSEmmanuel Vadot "CON1-P26", /* GPIOX_16 */ 309cb7aa33aSEmmanuel Vadot "CON1-P03", /* GPIOX_17 */ 310cb7aa33aSEmmanuel Vadot "CON1-P05", /* GPIOX_18 */ 311cb7aa33aSEmmanuel Vadot "CON1-P32"; /* GPIOX_19 */ 312cb7aa33aSEmmanuel Vadot 313cb7aa33aSEmmanuel Vadot /* 314cb7aa33aSEmmanuel Vadot * WARNING: The USB Hub needs a reset signal to be turned high in 315cb7aa33aSEmmanuel Vadot * order to be detected by the USB Controller. This signal should 316cb7aa33aSEmmanuel Vadot * be handled by a USB specific power sequence to reset the Hub 317cb7aa33aSEmmanuel Vadot * when the USB bus is powered down. 318cb7aa33aSEmmanuel Vadot */ 319fac71e4eSEmmanuel Vadot usb-hub-hog { 320cb7aa33aSEmmanuel Vadot gpio-hog; 321cb7aa33aSEmmanuel Vadot gpios = <GPIOH_4 GPIO_ACTIVE_HIGH>; 322cb7aa33aSEmmanuel Vadot output-high; 323cb7aa33aSEmmanuel Vadot line-name = "usb-hub-reset"; 324cb7aa33aSEmmanuel Vadot }; 325cb7aa33aSEmmanuel Vadot}; 326cb7aa33aSEmmanuel Vadot 327cb7aa33aSEmmanuel Vadot&gpio_ao { 328cb7aa33aSEmmanuel Vadot gpio-line-names = 329cb7aa33aSEmmanuel Vadot /* GPIOAO */ 330cb7aa33aSEmmanuel Vadot "DEBUG TX", /* GPIOAO_0 */ 331cb7aa33aSEmmanuel Vadot "DEBUG RX", /* GPIOAO_1 */ 332cb7aa33aSEmmanuel Vadot "SYS_LED2", /* GPIOAO_2 */ 333cb7aa33aSEmmanuel Vadot "UPDATE_KEY", /* GPIOAO_3 */ 334cb7aa33aSEmmanuel Vadot "CON1-P40", /* GPIOAO_4 */ 335cb7aa33aSEmmanuel Vadot "IR_IN", /* GPIOAO_5 */ 336cb7aa33aSEmmanuel Vadot "TF_3V3N_1V8_EN", /* GPIOAO_6 */ 337cb7aa33aSEmmanuel Vadot "CON1-P35", /* GPIOAO_7 */ 338cb7aa33aSEmmanuel Vadot "CON1-P12", /* GPIOAO_8 */ 339cb7aa33aSEmmanuel Vadot "CON1-P37", /* GPIOAO_9 */ 340cb7aa33aSEmmanuel Vadot "CON1-P38", /* GPIOAO_10 */ 341cb7aa33aSEmmanuel Vadot "SYS_LED", /* GPIOAO_11 */ 342cb7aa33aSEmmanuel Vadot /* GPIOE */ 343cb7aa33aSEmmanuel Vadot "VDDEE_PWM", /* GPIOE_0 */ 344cb7aa33aSEmmanuel Vadot "VDDCPU_PWM", /* GPIOE_1 */ 345cb7aa33aSEmmanuel Vadot "TF_PWR_EN"; /* GPIOE_2 */ 346cb7aa33aSEmmanuel Vadot}; 347cb7aa33aSEmmanuel Vadot 348cb7aa33aSEmmanuel Vadot&hdmi_tx { 349cb7aa33aSEmmanuel Vadot status = "okay"; 350cb7aa33aSEmmanuel Vadot pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; 351cb7aa33aSEmmanuel Vadot pinctrl-names = "default"; 352cb7aa33aSEmmanuel Vadot hdmi-supply = <&dc_in>; 353cb7aa33aSEmmanuel Vadot}; 354cb7aa33aSEmmanuel Vadot 355cb7aa33aSEmmanuel Vadot&hdmi_tx_tmds_port { 356cb7aa33aSEmmanuel Vadot hdmi_tx_tmds_out: endpoint { 357cb7aa33aSEmmanuel Vadot remote-endpoint = <&hdmi_connector_in>; 358cb7aa33aSEmmanuel Vadot }; 359cb7aa33aSEmmanuel Vadot}; 360cb7aa33aSEmmanuel Vadot 361cb7aa33aSEmmanuel Vadot&ir { 362cb7aa33aSEmmanuel Vadot status = "okay"; 363cb7aa33aSEmmanuel Vadot pinctrl-0 = <&remote_input_ao_pins>; 364cb7aa33aSEmmanuel Vadot pinctrl-names = "default"; 365cb7aa33aSEmmanuel Vadot}; 366cb7aa33aSEmmanuel Vadot 367cb7aa33aSEmmanuel Vadot&pwm_AO_cd { 368cb7aa33aSEmmanuel Vadot pinctrl-0 = <&pwm_ao_d_e_pins>; 369cb7aa33aSEmmanuel Vadot pinctrl-names = "default"; 370cb7aa33aSEmmanuel Vadot clocks = <&xtal>; 371cb7aa33aSEmmanuel Vadot clock-names = "clkin1"; 372cb7aa33aSEmmanuel Vadot status = "okay"; 373cb7aa33aSEmmanuel Vadot}; 374cb7aa33aSEmmanuel Vadot 375cb7aa33aSEmmanuel Vadot&saradc { 376cb7aa33aSEmmanuel Vadot status = "okay"; 377cb7aa33aSEmmanuel Vadot vref-supply = <&vddao_1v8>; 378cb7aa33aSEmmanuel Vadot}; 379cb7aa33aSEmmanuel Vadot 380cb7aa33aSEmmanuel Vadot/* SD card */ 381cb7aa33aSEmmanuel Vadot&sd_emmc_b { 382cb7aa33aSEmmanuel Vadot status = "okay"; 383cb7aa33aSEmmanuel Vadot pinctrl-0 = <&sdcard_c_pins>; 384cb7aa33aSEmmanuel Vadot pinctrl-1 = <&sdcard_clk_gate_c_pins>; 385cb7aa33aSEmmanuel Vadot pinctrl-names = "default", "clk-gate"; 386cb7aa33aSEmmanuel Vadot 387cb7aa33aSEmmanuel Vadot bus-width = <4>; 388cb7aa33aSEmmanuel Vadot cap-sd-highspeed; 389cb7aa33aSEmmanuel Vadot max-frequency = <50000000>; 390cb7aa33aSEmmanuel Vadot disable-wp; 391cb7aa33aSEmmanuel Vadot 392cb7aa33aSEmmanuel Vadot /* TOFIX: SD card is barely usable in SDR modes */ 393cb7aa33aSEmmanuel Vadot 394cb7aa33aSEmmanuel Vadot cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; 395cb7aa33aSEmmanuel Vadot vmmc-supply = <&tflash_vdd>; 396cb7aa33aSEmmanuel Vadot vqmmc-supply = <&vddio_c>; 397cb7aa33aSEmmanuel Vadot}; 398cb7aa33aSEmmanuel Vadot 399cb7aa33aSEmmanuel Vadot/* eMMC */ 400cb7aa33aSEmmanuel Vadot&sd_emmc_c { 401cb7aa33aSEmmanuel Vadot status = "okay"; 402cb7aa33aSEmmanuel Vadot pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; 403cb7aa33aSEmmanuel Vadot pinctrl-1 = <&emmc_clk_gate_pins>; 404cb7aa33aSEmmanuel Vadot pinctrl-names = "default", "clk-gate"; 405cb7aa33aSEmmanuel Vadot 406cb7aa33aSEmmanuel Vadot bus-width = <8>; 407cb7aa33aSEmmanuel Vadot cap-mmc-highspeed; 408cb7aa33aSEmmanuel Vadot mmc-ddr-1_8v; 409cb7aa33aSEmmanuel Vadot mmc-hs200-1_8v; 410cb7aa33aSEmmanuel Vadot max-frequency = <200000000>; 411cb7aa33aSEmmanuel Vadot disable-wp; 412cb7aa33aSEmmanuel Vadot 413cb7aa33aSEmmanuel Vadot mmc-pwrseq = <&emmc_pwrseq>; 414cb7aa33aSEmmanuel Vadot vmmc-supply = <&vddao_3v3>; 415cb7aa33aSEmmanuel Vadot vqmmc-supply = <&emmc_1v8>; 416cb7aa33aSEmmanuel Vadot}; 417cb7aa33aSEmmanuel Vadot 418cb7aa33aSEmmanuel Vadot&uart_AO { 419cb7aa33aSEmmanuel Vadot status = "okay"; 420cb7aa33aSEmmanuel Vadot pinctrl-0 = <&uart_ao_a_pins>; 421cb7aa33aSEmmanuel Vadot pinctrl-names = "default"; 422cb7aa33aSEmmanuel Vadot}; 423cb7aa33aSEmmanuel Vadot 424cb7aa33aSEmmanuel Vadot&usb { 425cb7aa33aSEmmanuel Vadot status = "okay"; 426cb7aa33aSEmmanuel Vadot}; 427cb7aa33aSEmmanuel Vadot 428cb7aa33aSEmmanuel Vadot&usb2_phy0 { 429cb7aa33aSEmmanuel Vadot phy-supply = <&dc_in>; 430cb7aa33aSEmmanuel Vadot}; 431cb7aa33aSEmmanuel Vadot 432cb7aa33aSEmmanuel Vadot&usb2_phy1 { 433cb7aa33aSEmmanuel Vadot /* Enable the hub which is connected to this port */ 434cb7aa33aSEmmanuel Vadot phy-supply = <&vl_pwr_en>; 435cb7aa33aSEmmanuel Vadot}; 436