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