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