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