1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 3 * Copyright 2023 Gateworks Corporation 4 */ 5 6 #include <dt-bindings/gpio/gpio.h> 7 #include <dt-bindings/leds/common.h> 8 #include <dt-bindings/phy/phy-imx8-pcie.h> 9 10 / { 11 aliases { 12 ethernet1 = ð1; 13 }; 14 15 connector { 16 compatible = "gpio-usb-b-conne 17 pinctrl-names = "default"; 18 pinctrl-0 = <&pinctrl_usbcon1> 19 type = "micro"; 20 label = "otg"; 21 vbus-supply = <®_usb1_vbus> 22 id-gpios = <&gpio3 21 GPIO_ACT 23 24 port { 25 usb_dr_connector: endp 26 remote-endpoin 27 }; 28 }; 29 }; 30 31 led-controller { 32 compatible = "gpio-leds"; 33 pinctrl-names = "default"; 34 pinctrl-0 = <&pinctrl_gpio_led 35 36 led-0 { 37 function = LED_FUNCTIO 38 color = <LED_COLOR_ID_ 39 gpios = <&gpio4 1 GPIO 40 default-state = "on"; 41 linux,default-trigger 42 }; 43 44 led-1 { 45 function = LED_FUNCTIO 46 color = <LED_COLOR_ID_ 47 gpios = <&gpio4 5 GPIO 48 default-state = "off"; 49 }; 50 }; 51 52 pcie0_refclk: clock-pcie0 { 53 compatible = "fixed-clock"; 54 #clock-cells = <0>; 55 clock-frequency = <100000000>; 56 }; 57 58 pps { 59 compatible = "pps-gpio"; 60 pinctrl-names = "default"; 61 pinctrl-0 = <&pinctrl_pps>; 62 gpios = <&gpio4 3 GPIO_ACTIVE_ 63 status = "okay"; 64 }; 65 66 reg_usb1_vbus: regulator-usb1 { 67 compatible = "regulator-fixed" 68 pinctrl-names = "default"; 69 pinctrl-0 = <&pinctrl_reg_usb1 70 regulator-name = "usb1_vbus"; 71 gpio = <&gpio1 12 GPIO_ACTIVE_ 72 enable-active-high; 73 regulator-min-microvolt = <500 74 regulator-max-microvolt = <500 75 }; 76 77 reg_usb2_vbus: regulator-usb2 { 78 compatible = "regulator-fixed" 79 pinctrl-names = "default"; 80 pinctrl-0 = <&pinctrl_reg_usb2 81 regulator-name = "usb2_vbus"; 82 gpio = <&gpio4 12 GPIO_ACTIVE_ 83 enable-active-high; 84 regulator-min-microvolt = <500 85 regulator-max-microvolt = <500 86 }; 87 88 reg_usdhc2_vmmc: regulator-usdhc2-vmmc 89 compatible = "regulator-fixed" 90 pinctrl-names = "default"; 91 pinctrl-0 = <&pinctrl_usdhc2_v 92 regulator-name = "VDD_3V3_SD"; 93 enable-active-high; 94 gpio = <&gpio2 19 0>; /* SD2_R 95 off-on-delay-us = <12000>; 96 regulator-max-microvolt = <330 97 regulator-min-microvolt = <330 98 startup-delay-us = <100>; 99 }; 100 }; 101 102 /* off-board header */ 103 &ecspi2 { 104 pinctrl-names = "default"; 105 pinctrl-0 = <&pinctrl_spi2>; 106 cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW> 107 <&gpio1 10 GPIO_ACTIVE_LOW> 108 status = "okay"; 109 110 tpm@1 { 111 compatible = "atmel,attpm20p", 112 reg = <0x1>; 113 spi-max-frequency = <36000000> 114 }; 115 }; 116 117 &gpio4 { 118 gpio-line-names = 119 "", "", "", "", 120 "", "", "", "", 121 "dio1", "", "", "dio0", 122 "", "", "pci_usb_sel", "", 123 "", "", "", "", 124 "", "", "rs485_en", "rs485_ter 125 "", "", "", "rs485_half", 126 "pci_wdis#", "", "", ""; 127 }; 128 129 &i2c2 { 130 clock-frequency = <400000>; 131 pinctrl-names = "default"; 132 pinctrl-0 = <&pinctrl_i2c2>; 133 status = "okay"; 134 135 accelerometer@19 { 136 compatible = "st,lis2de12"; 137 reg = <0x19>; 138 pinctrl-names = "default"; 139 pinctrl-0 = <&pinctrl_accel>; 140 st,drdy-int-pin = <1>; 141 interrupt-parent = <&gpio4>; 142 interrupts = <21 IRQ_TYPE_LEVE 143 }; 144 }; 145 146 &pcie_phy { 147 fsl,refclk-pad-mode = <IMX8_PCIE_REFCL 148 fsl,clkreq-unsupported; 149 clocks = <&pcie0_refclk>; 150 clock-names = "ref"; 151 status = "okay"; 152 }; 153 154 &pcie { 155 pinctrl-names = "default"; 156 pinctrl-0 = <&pinctrl_pcie0>; 157 reset-gpio = <&gpio4 29 GPIO_ACTIVE_LO 158 status = "okay"; 159 160 pcie@0,0 { 161 reg = <0x0000 0 0 0 0>; 162 device_type = "pci"; 163 #address-cells = <3>; 164 #size-cells = <2>; 165 ranges; 166 167 pcie@0,0 { 168 reg = <0x0000 0 0 0 0> 169 device_type = "pci"; 170 #address-cells = <3>; 171 #size-cells = <2>; 172 ranges; 173 174 pcie@3,0 { 175 reg = <0x1800 176 device_type = 177 #address-cells 178 #size-cells = 179 ranges; 180 181 eth1: ethernet 182 reg = 183 #addre 184 #size- 185 ranges 186 local- 187 }; 188 }; 189 }; 190 }; 191 }; 192 193 /* GPS */ 194 &uart1 { 195 pinctrl-names = "default"; 196 pinctrl-0 = <&pinctrl_uart1>; 197 status = "okay"; 198 }; 199 200 /* off-board header */ 201 &uart3 { 202 pinctrl-names = "default"; 203 pinctrl-0 = <&pinctrl_uart3>; 204 status = "okay"; 205 }; 206 207 /* RS232 */ 208 &uart4 { 209 pinctrl-names = "default"; 210 pinctrl-0 = <&pinctrl_uart4>; 211 status = "okay"; 212 }; 213 214 /* USB1 - OTG */ 215 &usb3_0 { 216 pinctrl-names = "default"; 217 pinctrl-0 = <&pinctrl_usb1>; 218 fsl,over-current-active-low; 219 status = "okay"; 220 }; 221 222 &usb3_phy0 { 223 status = "okay"; 224 }; 225 226 &usb_dwc3_0 { 227 /* dual role is implemented but not a 228 adp-disable; 229 hnp-disable; 230 srp-disable; 231 dr_mode = "otg"; 232 usb-role-switch; 233 role-switch-default-mode = "peripheral 234 status = "okay"; 235 236 port { 237 usb3_dwc: endpoint { 238 remote-endpoint = <&us 239 }; 240 }; 241 }; 242 243 /* USB2 - USB3.0 Hub */ 244 &usb3_1 { 245 fsl,permanently-attached; 246 fsl,disable-port-power-control; 247 status = "okay"; 248 }; 249 250 &usb3_phy1 { 251 vbus-supply = <®_usb2_vbus>; 252 status = "okay"; 253 }; 254 255 &usb_dwc3_1 { 256 dr_mode = "host"; 257 status = "okay"; 258 }; 259 260 /* microSD */ 261 &usdhc2 { 262 pinctrl-names = "default", "state_100m 263 pinctrl-0 = <&pinctrl_usdhc2>, <&pinct 264 pinctrl-1 = <&pinctrl_usdhc2_100mhz>, 265 pinctrl-2 = <&pinctrl_usdhc2_200mhz>, 266 cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW> 267 bus-width = <4>; 268 vmmc-supply = <®_usdhc2_vmmc>; 269 status = "okay"; 270 }; 271 272 &iomuxc { 273 pinctrl-names = "default"; 274 pinctrl-0 = <&pinctrl_hog>; 275 276 pinctrl_hog: hoggrp { 277 fsl,pins = < 278 MX8MP_IOMUXC_SAI1_RXD6 279 MX8MP_IOMUXC_SAI1_TXC_ 280 MX8MP_IOMUXC_SAI1_TXD2 281 MX8MP_IOMUXC_SAI2_MCLK 282 MX8MP_IOMUXC_SAI2_RXC_ 283 MX8MP_IOMUXC_SAI2_RXD0 284 MX8MP_IOMUXC_SAI3_RXFS 285 >; 286 }; 287 288 pinctrl_accel: accelgrp { 289 fsl,pins = < 290 MX8MP_IOMUXC_SAI2_RXFS 291 >; 292 }; 293 294 pinctrl_gpio_leds: gpioledgrp { 295 fsl,pins = < 296 MX8MP_IOMUXC_SAI1_RXC_ 297 MX8MP_IOMUXC_SAI1_RXD3 298 >; 299 }; 300 301 pinctrl_pcie0: pcie0grp { 302 fsl,pins = < 303 MX8MP_IOMUXC_SAI3_RXC_ 304 >; 305 }; 306 307 pinctrl_pps: ppsgrp { 308 fsl,pins = < 309 MX8MP_IOMUXC_SAI1_RXD1 310 >; 311 }; 312 313 pinctrl_reg_usb1_en: regusb1grp { 314 fsl,pins = < 315 MX8MP_IOMUXC_GPIO1_IO1 316 >; 317 }; 318 319 pinctrl_usb1: usb1grp { 320 fsl,pins = < 321 MX8MP_IOMUXC_GPIO1_IO1 322 >; 323 }; 324 325 pinctrl_usbcon1: usbcon1grp { 326 fsl,pins = < 327 MX8MP_IOMUXC_SAI5_RXD0 328 >; 329 }; 330 331 pinctrl_reg_usb2_en: regusb2grp { 332 fsl,pins = < 333 MX8MP_IOMUXC_SAI1_TXD0 334 >; 335 }; 336 337 pinctrl_spi2: spi2grp { 338 fsl,pins = < 339 MX8MP_IOMUXC_ECSPI2_SC 340 MX8MP_IOMUXC_ECSPI2_MO 341 MX8MP_IOMUXC_ECSPI2_MI 342 MX8MP_IOMUXC_ECSPI2_SS 343 MX8MP_IOMUXC_GPIO1_IO1 344 >; 345 }; 346 347 pinctrl_uart1: uart1grp { 348 fsl,pins = < 349 MX8MP_IOMUXC_UART1_RXD 350 MX8MP_IOMUXC_UART1_TXD 351 >; 352 }; 353 354 pinctrl_uart3: uart3grp { 355 fsl,pins = < 356 MX8MP_IOMUXC_UART3_RXD 357 MX8MP_IOMUXC_UART3_TXD 358 >; 359 }; 360 361 pinctrl_uart4: uart4grp { 362 fsl,pins = < 363 MX8MP_IOMUXC_UART4_RXD 364 MX8MP_IOMUXC_UART4_TXD 365 >; 366 }; 367 368 pinctrl_usdhc1: usdhc1grp { 369 fsl,pins = < 370 MX8MP_IOMUXC_SD1_CLK__ 371 MX8MP_IOMUXC_SD1_CMD__ 372 MX8MP_IOMUXC_SD1_DATA0 373 MX8MP_IOMUXC_SD1_DATA1 374 MX8MP_IOMUXC_SD1_DATA2 375 MX8MP_IOMUXC_SD1_DATA3 376 >; 377 }; 378 379 pinctrl_usdhc2: usdhc2grp { 380 fsl,pins = < 381 MX8MP_IOMUXC_SD2_CLK__ 382 MX8MP_IOMUXC_SD2_CMD__ 383 MX8MP_IOMUXC_SD2_DATA0 384 MX8MP_IOMUXC_SD2_DATA1 385 MX8MP_IOMUXC_SD2_DATA2 386 MX8MP_IOMUXC_SD2_DATA3 387 MX8MP_IOMUXC_GPIO1_IO0 388 >; 389 }; 390 391 pinctrl_usdhc2_100mhz: usdhc2-100mhzgr 392 fsl,pins = < 393 MX8MP_IOMUXC_SD2_CLK__ 394 MX8MP_IOMUXC_SD2_CMD__ 395 MX8MP_IOMUXC_SD2_DATA0 396 MX8MP_IOMUXC_SD2_DATA1 397 MX8MP_IOMUXC_SD2_DATA2 398 MX8MP_IOMUXC_SD2_DATA3 399 MX8MP_IOMUXC_GPIO1_IO0 400 >; 401 }; 402 403 pinctrl_usdhc2_200mhz: usdhc2-200mhzgr 404 fsl,pins = < 405 MX8MP_IOMUXC_SD2_CLK__ 406 MX8MP_IOMUXC_SD2_CMD__ 407 MX8MP_IOMUXC_SD2_DATA0 408 MX8MP_IOMUXC_SD2_DATA1 409 MX8MP_IOMUXC_SD2_DATA2 410 MX8MP_IOMUXC_SD2_DATA3 411 MX8MP_IOMUXC_GPIO1_IO0 412 >; 413 }; 414 415 pinctrl_usdhc2_vmmc: usdhc2-vmmc-grp { 416 fsl,pins = < 417 MX8MP_IOMUXC_SD2_RESET 418 >; 419 }; 420 421 pinctrl_usdhc2_gpio: usdhc2gpiogrp { 422 fsl,pins = < 423 MX8MP_IOMUXC_SD2_CD_B_ 424 >; 425 }; 426 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.