1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Copyright (C) 2022 Marek Vasut <marex@denx.de> 4*f126890aSEmmanuel Vadot */ 5*f126890aSEmmanuel Vadot 6*f126890aSEmmanuel Vadot/ { 7*f126890aSEmmanuel Vadot aliases { 8*f126890aSEmmanuel Vadot ethernet0 = ðernet0; 9*f126890aSEmmanuel Vadot ethernet1 = &ksz8851; 10*f126890aSEmmanuel Vadot mmc0 = &sdmmc1; 11*f126890aSEmmanuel Vadot rtc0 = &hwrtc; 12*f126890aSEmmanuel Vadot rtc1 = &rtc; 13*f126890aSEmmanuel Vadot serial0 = &uart4; 14*f126890aSEmmanuel Vadot serial1 = &uart8; 15*f126890aSEmmanuel Vadot serial2 = &usart3; 16*f126890aSEmmanuel Vadot serial3 = &uart5; 17*f126890aSEmmanuel Vadot spi0 = &qspi; 18*f126890aSEmmanuel Vadot }; 19*f126890aSEmmanuel Vadot 20*f126890aSEmmanuel Vadot chosen { 21*f126890aSEmmanuel Vadot stdout-path = "serial0:115200n8"; 22*f126890aSEmmanuel Vadot }; 23*f126890aSEmmanuel Vadot 24*f126890aSEmmanuel Vadot led { 25*f126890aSEmmanuel Vadot compatible = "gpio-leds"; 26*f126890aSEmmanuel Vadot led1 { 27*f126890aSEmmanuel Vadot label = "yellow:user0"; 28*f126890aSEmmanuel Vadot gpios = <&gpioz 6 GPIO_ACTIVE_LOW>; 29*f126890aSEmmanuel Vadot default-state = "off"; 30*f126890aSEmmanuel Vadot }; 31*f126890aSEmmanuel Vadot 32*f126890aSEmmanuel Vadot led2 { 33*f126890aSEmmanuel Vadot label = "red:user1"; 34*f126890aSEmmanuel Vadot gpios = <&gpioz 3 GPIO_ACTIVE_LOW>; 35*f126890aSEmmanuel Vadot default-state = "off"; 36*f126890aSEmmanuel Vadot }; 37*f126890aSEmmanuel Vadot }; 38*f126890aSEmmanuel Vadot 39*f126890aSEmmanuel Vadot ethernet_vio: vioregulator { 40*f126890aSEmmanuel Vadot compatible = "regulator-fixed"; 41*f126890aSEmmanuel Vadot regulator-name = "vio"; 42*f126890aSEmmanuel Vadot regulator-min-microvolt = <3300000>; 43*f126890aSEmmanuel Vadot regulator-max-microvolt = <3300000>; 44*f126890aSEmmanuel Vadot gpio = <&gpioh 2 GPIO_ACTIVE_LOW>; 45*f126890aSEmmanuel Vadot regulator-always-on; 46*f126890aSEmmanuel Vadot regulator-boot-on; 47*f126890aSEmmanuel Vadot vin-supply = <&vdd>; 48*f126890aSEmmanuel Vadot }; 49*f126890aSEmmanuel Vadot}; 50*f126890aSEmmanuel Vadot 51*f126890aSEmmanuel Vadot&adc { /* X11 ADC inputs */ 52*f126890aSEmmanuel Vadot pinctrl-names = "default"; 53*f126890aSEmmanuel Vadot pinctrl-0 = <&adc12_ain_pins_b>; 54*f126890aSEmmanuel Vadot vdd-supply = <&vdd>; 55*f126890aSEmmanuel Vadot vdda-supply = <&vdda>; 56*f126890aSEmmanuel Vadot vref-supply = <&vdda>; 57*f126890aSEmmanuel Vadot status = "okay"; 58*f126890aSEmmanuel Vadot 59*f126890aSEmmanuel Vadot adc1: adc@0 { 60*f126890aSEmmanuel Vadot status = "okay"; 61*f126890aSEmmanuel Vadot channel@0 { 62*f126890aSEmmanuel Vadot reg = <0>; 63*f126890aSEmmanuel Vadot st,min-sample-time-ns = <5000>; 64*f126890aSEmmanuel Vadot }; 65*f126890aSEmmanuel Vadot channel@1 { 66*f126890aSEmmanuel Vadot reg = <1>; 67*f126890aSEmmanuel Vadot st,min-sample-time-ns = <5000>; 68*f126890aSEmmanuel Vadot }; 69*f126890aSEmmanuel Vadot channel@6 { 70*f126890aSEmmanuel Vadot reg = <6>; 71*f126890aSEmmanuel Vadot st,min-sample-time-ns = <5000>; 72*f126890aSEmmanuel Vadot }; 73*f126890aSEmmanuel Vadot }; 74*f126890aSEmmanuel Vadot 75*f126890aSEmmanuel Vadot adc2: adc@100 { 76*f126890aSEmmanuel Vadot status = "okay"; 77*f126890aSEmmanuel Vadot channel@0 { 78*f126890aSEmmanuel Vadot reg = <0>; 79*f126890aSEmmanuel Vadot st,min-sample-time-ns = <5000>; 80*f126890aSEmmanuel Vadot }; 81*f126890aSEmmanuel Vadot channel@1 { 82*f126890aSEmmanuel Vadot reg = <1>; 83*f126890aSEmmanuel Vadot st,min-sample-time-ns = <5000>; 84*f126890aSEmmanuel Vadot }; 85*f126890aSEmmanuel Vadot channel@2 { 86*f126890aSEmmanuel Vadot reg = <2>; 87*f126890aSEmmanuel Vadot st,min-sample-time-ns = <5000>; 88*f126890aSEmmanuel Vadot }; 89*f126890aSEmmanuel Vadot }; 90*f126890aSEmmanuel Vadot}; 91*f126890aSEmmanuel Vadot 92*f126890aSEmmanuel Vadotðernet0 { 93*f126890aSEmmanuel Vadot status = "okay"; 94*f126890aSEmmanuel Vadot pinctrl-0 = <ðernet0_rgmii_pins_c>; 95*f126890aSEmmanuel Vadot pinctrl-1 = <ðernet0_rgmii_sleep_pins_c>; 96*f126890aSEmmanuel Vadot pinctrl-names = "default", "sleep"; 97*f126890aSEmmanuel Vadot phy-mode = "rgmii"; 98*f126890aSEmmanuel Vadot max-speed = <1000>; 99*f126890aSEmmanuel Vadot phy-handle = <&phy0>; 100*f126890aSEmmanuel Vadot 101*f126890aSEmmanuel Vadot mdio { 102*f126890aSEmmanuel Vadot #address-cells = <1>; 103*f126890aSEmmanuel Vadot #size-cells = <0>; 104*f126890aSEmmanuel Vadot compatible = "snps,dwmac-mdio"; 105*f126890aSEmmanuel Vadot reset-gpios = <&gpioz 2 GPIO_ACTIVE_LOW>; 106*f126890aSEmmanuel Vadot reset-delay-us = <1000>; 107*f126890aSEmmanuel Vadot reset-post-delay-us = <1000>; 108*f126890aSEmmanuel Vadot 109*f126890aSEmmanuel Vadot phy0: ethernet-phy@7 { 110*f126890aSEmmanuel Vadot reg = <7>; 111*f126890aSEmmanuel Vadot 112*f126890aSEmmanuel Vadot rxc-skew-ps = <1500>; 113*f126890aSEmmanuel Vadot rxdv-skew-ps = <540>; 114*f126890aSEmmanuel Vadot rxd0-skew-ps = <420>; 115*f126890aSEmmanuel Vadot rxd1-skew-ps = <420>; 116*f126890aSEmmanuel Vadot rxd2-skew-ps = <420>; 117*f126890aSEmmanuel Vadot rxd3-skew-ps = <420>; 118*f126890aSEmmanuel Vadot 119*f126890aSEmmanuel Vadot txc-skew-ps = <1440>; 120*f126890aSEmmanuel Vadot txen-skew-ps = <540>; 121*f126890aSEmmanuel Vadot txd0-skew-ps = <420>; 122*f126890aSEmmanuel Vadot txd1-skew-ps = <420>; 123*f126890aSEmmanuel Vadot txd2-skew-ps = <420>; 124*f126890aSEmmanuel Vadot txd3-skew-ps = <420>; 125*f126890aSEmmanuel Vadot }; 126*f126890aSEmmanuel Vadot }; 127*f126890aSEmmanuel Vadot}; 128*f126890aSEmmanuel Vadot 129*f126890aSEmmanuel Vadot&fmc { 130*f126890aSEmmanuel Vadot pinctrl-names = "default", "sleep"; 131*f126890aSEmmanuel Vadot pinctrl-0 = <&fmc_pins_b>; 132*f126890aSEmmanuel Vadot pinctrl-1 = <&fmc_sleep_pins_b>; 133*f126890aSEmmanuel Vadot status = "okay"; 134*f126890aSEmmanuel Vadot 135*f126890aSEmmanuel Vadot ksz8851: ethernet@1,0 { 136*f126890aSEmmanuel Vadot compatible = "micrel,ks8851-mll"; 137*f126890aSEmmanuel Vadot reg = <1 0x0 0x2>, <1 0x2 0x20000>; 138*f126890aSEmmanuel Vadot interrupt-parent = <&gpioc>; 139*f126890aSEmmanuel Vadot interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 140*f126890aSEmmanuel Vadot bank-width = <2>; 141*f126890aSEmmanuel Vadot 142*f126890aSEmmanuel Vadot /* Timing values are in nS */ 143*f126890aSEmmanuel Vadot st,fmc2-ebi-cs-mux-enable; 144*f126890aSEmmanuel Vadot st,fmc2-ebi-cs-transaction-type = <4>; 145*f126890aSEmmanuel Vadot st,fmc2-ebi-cs-buswidth = <16>; 146*f126890aSEmmanuel Vadot st,fmc2-ebi-cs-address-setup-ns = <5>; 147*f126890aSEmmanuel Vadot st,fmc2-ebi-cs-address-hold-ns = <5>; 148*f126890aSEmmanuel Vadot st,fmc2-ebi-cs-bus-turnaround-ns = <5>; 149*f126890aSEmmanuel Vadot st,fmc2-ebi-cs-data-setup-ns = <45>; 150*f126890aSEmmanuel Vadot st,fmc2-ebi-cs-data-hold-ns = <1>; 151*f126890aSEmmanuel Vadot st,fmc2-ebi-cs-write-address-setup-ns = <5>; 152*f126890aSEmmanuel Vadot st,fmc2-ebi-cs-write-address-hold-ns = <5>; 153*f126890aSEmmanuel Vadot st,fmc2-ebi-cs-write-bus-turnaround-ns = <5>; 154*f126890aSEmmanuel Vadot st,fmc2-ebi-cs-write-data-setup-ns = <45>; 155*f126890aSEmmanuel Vadot st,fmc2-ebi-cs-write-data-hold-ns = <1>; 156*f126890aSEmmanuel Vadot }; 157*f126890aSEmmanuel Vadot}; 158*f126890aSEmmanuel Vadot 159*f126890aSEmmanuel Vadot&gpioa { 160*f126890aSEmmanuel Vadot gpio-line-names = "", "", "", "", 161*f126890aSEmmanuel Vadot "DRCC-VAR2", "", "", "", 162*f126890aSEmmanuel Vadot "", "", "", "", 163*f126890aSEmmanuel Vadot "", "", "", ""; 164*f126890aSEmmanuel Vadot}; 165*f126890aSEmmanuel Vadot 166*f126890aSEmmanuel Vadot&gpioe { 167*f126890aSEmmanuel Vadot gpio-line-names = "", "", "", "", 168*f126890aSEmmanuel Vadot "", "DRCC-GPIO0", "", "", 169*f126890aSEmmanuel Vadot "", "", "", "", 170*f126890aSEmmanuel Vadot "", "", "", ""; 171*f126890aSEmmanuel Vadot}; 172*f126890aSEmmanuel Vadot 173*f126890aSEmmanuel Vadot&gpiog { 174*f126890aSEmmanuel Vadot gpio-line-names = "", "", "", "", 175*f126890aSEmmanuel Vadot "", "", "", "", 176*f126890aSEmmanuel Vadot "", "", "", "", 177*f126890aSEmmanuel Vadot "DRCC-GPIO5", "", "", ""; 178*f126890aSEmmanuel Vadot}; 179*f126890aSEmmanuel Vadot 180*f126890aSEmmanuel Vadot&gpioh { 181*f126890aSEmmanuel Vadot gpio-line-names = "", "", "", "DRCC-HW2", 182*f126890aSEmmanuel Vadot "DRCC-GPIO4", "", "", "", 183*f126890aSEmmanuel Vadot "DRCC-HW1", "DRCC-HW0", "", "DRCC-VAR1", 184*f126890aSEmmanuel Vadot "DRCC-VAR0", "", "", "DRCC-GPIO6"; 185*f126890aSEmmanuel Vadot}; 186*f126890aSEmmanuel Vadot 187*f126890aSEmmanuel Vadot&gpioi { 188*f126890aSEmmanuel Vadot gpio-line-names = "", "", "", "", 189*f126890aSEmmanuel Vadot "", "", "", "DRCC-GPIO2", 190*f126890aSEmmanuel Vadot "", "DRCC-GPIO1", "", "", 191*f126890aSEmmanuel Vadot "", "", "", ""; 192*f126890aSEmmanuel Vadot}; 193*f126890aSEmmanuel Vadot 194*f126890aSEmmanuel Vadot&i2c1 { /* X11 I2C1 */ 195*f126890aSEmmanuel Vadot pinctrl-names = "default"; 196*f126890aSEmmanuel Vadot pinctrl-0 = <&i2c1_pins_b>; 197*f126890aSEmmanuel Vadot i2c-scl-rising-time-ns = <185>; 198*f126890aSEmmanuel Vadot i2c-scl-falling-time-ns = <20>; 199*f126890aSEmmanuel Vadot status = "okay"; 200*f126890aSEmmanuel Vadot /delete-property/dmas; 201*f126890aSEmmanuel Vadot /delete-property/dma-names; 202*f126890aSEmmanuel Vadot}; 203*f126890aSEmmanuel Vadot 204*f126890aSEmmanuel Vadot&i2c4 { 205*f126890aSEmmanuel Vadot hwrtc: rtc@32 { 206*f126890aSEmmanuel Vadot compatible = "microcrystal,rv8803"; 207*f126890aSEmmanuel Vadot reg = <0x32>; 208*f126890aSEmmanuel Vadot }; 209*f126890aSEmmanuel Vadot 210*f126890aSEmmanuel Vadot eeprom@50 { 211*f126890aSEmmanuel Vadot compatible = "atmel,24c04"; 212*f126890aSEmmanuel Vadot reg = <0x50>; 213*f126890aSEmmanuel Vadot pagesize = <16>; 214*f126890aSEmmanuel Vadot }; 215*f126890aSEmmanuel Vadot 216*f126890aSEmmanuel Vadot dh_mac_eeprom: eeprom@53 { 217*f126890aSEmmanuel Vadot compatible = "atmel,24c02"; 218*f126890aSEmmanuel Vadot reg = <0x53>; 219*f126890aSEmmanuel Vadot pagesize = <16>; 220*f126890aSEmmanuel Vadot }; 221*f126890aSEmmanuel Vadot}; 222*f126890aSEmmanuel Vadot 223*f126890aSEmmanuel Vadot&sdmmc1 { /* MicroSD */ 224*f126890aSEmmanuel Vadot pinctrl-names = "default", "opendrain", "sleep"; 225*f126890aSEmmanuel Vadot pinctrl-0 = <&sdmmc1_b4_pins_a>; 226*f126890aSEmmanuel Vadot pinctrl-1 = <&sdmmc1_b4_od_pins_a>; 227*f126890aSEmmanuel Vadot pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 228*f126890aSEmmanuel Vadot cd-gpios = <&gpioi 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 229*f126890aSEmmanuel Vadot disable-wp; 230*f126890aSEmmanuel Vadot st,neg-edge; 231*f126890aSEmmanuel Vadot bus-width = <4>; 232*f126890aSEmmanuel Vadot vmmc-supply = <&vdd>; 233*f126890aSEmmanuel Vadot vqmmc-supply = <&vdd>; 234*f126890aSEmmanuel Vadot status = "okay"; 235*f126890aSEmmanuel Vadot}; 236*f126890aSEmmanuel Vadot 237*f126890aSEmmanuel Vadot&sdmmc2 { /* eMMC */ 238*f126890aSEmmanuel Vadot pinctrl-names = "default", "opendrain", "sleep"; 239*f126890aSEmmanuel Vadot pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_c>; 240*f126890aSEmmanuel Vadot pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_c>; 241*f126890aSEmmanuel Vadot pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_c>; 242*f126890aSEmmanuel Vadot bus-width = <8>; 243*f126890aSEmmanuel Vadot no-sd; 244*f126890aSEmmanuel Vadot no-sdio; 245*f126890aSEmmanuel Vadot non-removable; 246*f126890aSEmmanuel Vadot st,neg-edge; 247*f126890aSEmmanuel Vadot vmmc-supply = <&v3v3>; 248*f126890aSEmmanuel Vadot vqmmc-supply = <&vdd>; 249*f126890aSEmmanuel Vadot status = "okay"; 250*f126890aSEmmanuel Vadot}; 251*f126890aSEmmanuel Vadot 252*f126890aSEmmanuel Vadot&sdmmc3 { /* SDIO Wi-Fi */ 253*f126890aSEmmanuel Vadot pinctrl-names = "default", "opendrain", "sleep"; 254*f126890aSEmmanuel Vadot pinctrl-0 = <&sdmmc3_b4_pins_a>; 255*f126890aSEmmanuel Vadot pinctrl-1 = <&sdmmc3_b4_od_pins_a>; 256*f126890aSEmmanuel Vadot pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>; 257*f126890aSEmmanuel Vadot broken-cd; 258*f126890aSEmmanuel Vadot bus-width = <4>; 259*f126890aSEmmanuel Vadot mmc-ddr-3_3v; 260*f126890aSEmmanuel Vadot st,neg-edge; 261*f126890aSEmmanuel Vadot vmmc-supply = <&v3v3>; 262*f126890aSEmmanuel Vadot vqmmc-supply = <&v3v3>; 263*f126890aSEmmanuel Vadot status = "okay"; 264*f126890aSEmmanuel Vadot}; 265*f126890aSEmmanuel Vadot 266*f126890aSEmmanuel Vadot&spi2 { /* X11 SPI */ 267*f126890aSEmmanuel Vadot pinctrl-names = "default"; 268*f126890aSEmmanuel Vadot pinctrl-0 = <&spi2_pins_b>; 269*f126890aSEmmanuel Vadot cs-gpios = <&gpioi 0 0>; 270*f126890aSEmmanuel Vadot status = "disabled"; 271*f126890aSEmmanuel Vadot /delete-property/dmas; 272*f126890aSEmmanuel Vadot /delete-property/dma-names; 273*f126890aSEmmanuel Vadot}; 274*f126890aSEmmanuel Vadot 275*f126890aSEmmanuel Vadot&uart4 { 276*f126890aSEmmanuel Vadot label = "UART0"; 277*f126890aSEmmanuel Vadot pinctrl-names = "default"; 278*f126890aSEmmanuel Vadot pinctrl-0 = <&uart4_pins_d>; 279*f126890aSEmmanuel Vadot /delete-property/dmas; 280*f126890aSEmmanuel Vadot /delete-property/dma-names; 281*f126890aSEmmanuel Vadot status = "okay"; 282*f126890aSEmmanuel Vadot}; 283*f126890aSEmmanuel Vadot 284*f126890aSEmmanuel Vadot&uart5 { /* X11 UART */ 285*f126890aSEmmanuel Vadot label = "X11-UART5"; 286*f126890aSEmmanuel Vadot pinctrl-names = "default"; 287*f126890aSEmmanuel Vadot pinctrl-0 = <&uart5_pins_a>; 288*f126890aSEmmanuel Vadot /delete-property/dmas; 289*f126890aSEmmanuel Vadot /delete-property/dma-names; 290*f126890aSEmmanuel Vadot status = "okay"; 291*f126890aSEmmanuel Vadot}; 292*f126890aSEmmanuel Vadot 293*f126890aSEmmanuel Vadot&uart8 { 294*f126890aSEmmanuel Vadot label = "RS485-1"; 295*f126890aSEmmanuel Vadot pinctrl-names = "default"; 296*f126890aSEmmanuel Vadot pinctrl-0 = <&uart8_pins_a &uart8_rtscts_pins_a>; 297*f126890aSEmmanuel Vadot uart-has-rtscts; 298*f126890aSEmmanuel Vadot /delete-property/dmas; 299*f126890aSEmmanuel Vadot /delete-property/dma-names; 300*f126890aSEmmanuel Vadot status = "okay"; 301*f126890aSEmmanuel Vadot}; 302*f126890aSEmmanuel Vadot 303*f126890aSEmmanuel Vadot&usart3 { /* RS485 or RS232 */ 304*f126890aSEmmanuel Vadot label = "RS485-2"; 305*f126890aSEmmanuel Vadot pinctrl-names = "default", "sleep"; 306*f126890aSEmmanuel Vadot pinctrl-0 = <&usart3_pins_e>; 307*f126890aSEmmanuel Vadot pinctrl-1 = <&usart3_sleep_pins_e>; 308*f126890aSEmmanuel Vadot uart-has-rtscts; 309*f126890aSEmmanuel Vadot /delete-property/dmas; 310*f126890aSEmmanuel Vadot /delete-property/dma-names; 311*f126890aSEmmanuel Vadot status = "okay"; 312*f126890aSEmmanuel Vadot}; 313*f126890aSEmmanuel Vadot 314*f126890aSEmmanuel Vadot&usbh_ehci { 315*f126890aSEmmanuel Vadot status = "okay"; 316*f126890aSEmmanuel Vadot}; 317*f126890aSEmmanuel Vadot 318*f126890aSEmmanuel Vadot&usbh_ohci { 319*f126890aSEmmanuel Vadot status = "okay"; 320*f126890aSEmmanuel Vadot}; 321*f126890aSEmmanuel Vadot 322*f126890aSEmmanuel Vadot&usbotg_hs { 323*f126890aSEmmanuel Vadot dr_mode = "otg"; 324*f126890aSEmmanuel Vadot pinctrl-0 = <&usbotg_hs_pins_a>; 325*f126890aSEmmanuel Vadot pinctrl-names = "default"; 326*f126890aSEmmanuel Vadot phy-names = "usb2-phy"; 327*f126890aSEmmanuel Vadot phys = <&usbphyc_port1 0>; 328*f126890aSEmmanuel Vadot vbus-supply = <&vbus_otg>; 329*f126890aSEmmanuel Vadot status = "okay"; 330*f126890aSEmmanuel Vadot}; 331*f126890aSEmmanuel Vadot 332*f126890aSEmmanuel Vadot&usbphyc { 333*f126890aSEmmanuel Vadot status = "okay"; 334*f126890aSEmmanuel Vadot}; 335*f126890aSEmmanuel Vadot 336*f126890aSEmmanuel Vadot&usbphyc_port0 { 337*f126890aSEmmanuel Vadot phy-supply = <&vdd_usb>; 338*f126890aSEmmanuel Vadot connector { 339*f126890aSEmmanuel Vadot compatible = "usb-a-connector"; 340*f126890aSEmmanuel Vadot vbus-supply = <&vbus_sw>; 341*f126890aSEmmanuel Vadot }; 342*f126890aSEmmanuel Vadot}; 343*f126890aSEmmanuel Vadot 344*f126890aSEmmanuel Vadot&usbphyc_port1 { 345*f126890aSEmmanuel Vadot phy-supply = <&vdd_usb>; 346*f126890aSEmmanuel Vadot}; 347