1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2016 Andreas Färber 4 */ 5 6#include "imx6sx.dtsi" 7 8/ { 9 compatible = "fsl,imx6sx"; 10 11 chosen { 12 stdout-path = "serial0:115200n8"; 13 }; 14 15 leds { 16 compatible = "gpio-leds"; 17 18 red { 19 label = "udoo-neo:red:mmc"; 20 gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>; 21 default-state = "off"; 22 linux,default-trigger = "mmc0"; 23 }; 24 25 orange { 26 label = "udoo-neo:orange:user"; 27 gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; 28 default-state = "keep"; 29 }; 30 }; 31 32 reg_sdio_pwr: regulator-sdio-pwr { 33 compatible = "regulator-fixed"; 34 gpio = <&gpio6 1 GPIO_ACTIVE_HIGH>; 35 enable-active-high; 36 regulator-name = "SDIO_PWR"; 37 regulator-min-microvolt = <3300000>; 38 regulator-max-microvolt = <3300000>; 39 regulator-boot-on; 40 }; 41 42 reg_usb_otg1_vbus: regulator-usb-otg1-vbus { 43 compatible = "regulator-fixed"; 44 pinctrl-names = "default"; 45 pinctrl-0 = <&pinctrl_otg1_reg>; 46 regulator-name = "usb_otg1_vbus"; 47 regulator-min-microvolt = <5000000>; 48 regulator-max-microvolt = <5000000>; 49 gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>; 50 enable-active-high; 51 }; 52 53 reg_usb_otg2_vbus: regulator-usb-otg2-vbus { 54 compatible = "regulator-fixed"; 55 pinctrl-names = "default"; 56 pinctrl-0 = <&pinctrl_otg2_reg>; 57 regulator-name = "usb_otg2_vbus"; 58 regulator-min-microvolt = <5000000>; 59 regulator-max-microvolt = <5000000>; 60 gpio = <&gpio4 12 GPIO_ACTIVE_HIGH>; 61 enable-active-high; 62 }; 63 64 reg_wlan: regulator-wlan { 65 compatible = "regulator-fixed"; 66 regulator-name = "wlan-en-regulator"; 67 regulator-min-microvolt = <1800000>; 68 regulator-max-microvolt = <1800000>; 69 gpio = <&gpio2 12 GPIO_ACTIVE_HIGH>; 70 startup-delay-us = <70000>; 71 enable-active-high; 72 }; 73}; 74 75&fec1 { 76 pinctrl-names = "default"; 77 pinctrl-0 = <&pinctrl_enet1>; 78 phy-mode = "rmii"; 79 phy-reset-duration = <10>; 80 phy-reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>; 81}; 82 83&i2c1 { 84 pinctrl-names = "default"; 85 pinctrl-0 = <&pinctrl_i2c1>; 86 clock-frequency = <100000>; 87 status = "okay"; 88 89 pmic: pmic@8 { 90 compatible = "fsl,pfuze3000"; 91 reg = <0x08>; 92 93 regulators { 94 sw1a_reg: sw1a { 95 regulator-min-microvolt = <700000>; 96 regulator-max-microvolt = <1475000>; 97 regulator-boot-on; 98 regulator-always-on; 99 regulator-ramp-delay = <6250>; 100 }; 101 102 sw1c_reg: sw1b { 103 regulator-min-microvolt = <700000>; 104 regulator-max-microvolt = <1475000>; 105 regulator-boot-on; 106 regulator-always-on; 107 regulator-ramp-delay = <6250>; 108 }; 109 110 sw2_reg: sw2 { 111 regulator-min-microvolt = <1500000>; 112 regulator-max-microvolt = <1850000>; 113 regulator-boot-on; 114 regulator-always-on; 115 }; 116 117 sw3a_reg: sw3 { 118 regulator-min-microvolt = <900000>; 119 regulator-max-microvolt = <1650000>; 120 regulator-boot-on; 121 regulator-always-on; 122 }; 123 124 swbst_reg: swbst { 125 regulator-min-microvolt = <5000000>; 126 regulator-max-microvolt = <5150000>; 127 }; 128 129 snvs_reg: vsnvs { 130 regulator-min-microvolt = <1000000>; 131 regulator-max-microvolt = <3000000>; 132 regulator-boot-on; 133 regulator-always-on; 134 }; 135 136 vref_reg: vrefddr { 137 regulator-boot-on; 138 regulator-always-on; 139 }; 140 141 vgen1_reg: vldo1 { 142 regulator-min-microvolt = <1800000>; 143 regulator-max-microvolt = <3300000>; 144 regulator-always-on; 145 }; 146 147 vgen2_reg: vldo2 { 148 regulator-min-microvolt = <800000>; 149 regulator-max-microvolt = <1550000>; 150 }; 151 152 vgen3_reg: vccsd { 153 regulator-min-microvolt = <2850000>; 154 regulator-max-microvolt = <3300000>; 155 regulator-always-on; 156 }; 157 158 vgen4_reg: v33 { 159 regulator-min-microvolt = <2850000>; 160 regulator-max-microvolt = <3300000>; 161 regulator-always-on; 162 }; 163 164 vgen5_reg: vldo3 { 165 regulator-min-microvolt = <1800000>; 166 regulator-max-microvolt = <3300000>; 167 regulator-always-on; 168 }; 169 170 vgen6_reg: vldo4 { 171 regulator-min-microvolt = <1800000>; 172 regulator-max-microvolt = <3300000>; 173 regulator-always-on; 174 }; 175 }; 176 }; 177}; 178 179&i2c2 { /* Brick snap in sensors connector */ 180 pinctrl-names = "default"; 181 pinctrl-0 = <&pinctrl_i2c2>; 182 clock-frequency = <100000>; 183 status = "okay"; 184}; 185 186&i2c4 { /* Onboard Motion sensors */ 187 pinctrl-names = "default"; 188 pinctrl-0 = <&pinctrl_i2c4>; 189 clock-frequency = <100000>; 190 status = "disabled"; 191}; 192 193&iomuxc { 194 pinctrl_bt_reg: btreggrp { 195 fsl,pins = 196 <MX6SX_PAD_KEY_ROW2__GPIO2_IO_17 0x15059>; 197 }; 198 199 pinctrl_enet1: enet1grp { 200 fsl,pins = 201 <MX6SX_PAD_ENET1_CRS__GPIO2_IO_1 0xa0b1>, 202 <MX6SX_PAD_ENET1_MDC__ENET1_MDC 0xa0b1>, 203 <MX6SX_PAD_ENET1_MDIO__ENET1_MDIO 0xa0b1>, 204 <MX6SX_PAD_RGMII1_TD0__ENET1_TX_DATA_0 0xa0b1>, 205 <MX6SX_PAD_RGMII1_TD1__ENET1_TX_DATA_1 0xa0b1>, 206 <MX6SX_PAD_RGMII1_TX_CTL__ENET1_TX_EN 0xa0b1>, 207 208 <MX6SX_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x3081>, 209 <MX6SX_PAD_ENET2_TX_CLK__GPIO2_IO_9 0x3081>, 210 <MX6SX_PAD_RGMII1_RD0__ENET1_RX_DATA_0 0x3081>, 211 <MX6SX_PAD_RGMII1_RD1__ENET1_RX_DATA_1 0x3081>, 212 <MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN 0x3081>, 213 <MX6SX_PAD_RGMII1_RXC__ENET1_RX_ER 0x3081>, 214 215 <MX6SX_PAD_ENET2_RX_CLK__ENET2_REF_CLK_25M 0x91>; 216 }; 217 218 pinctrl_i2c1: i2c1grp { 219 fsl,pins = 220 <MX6SX_PAD_GPIO1_IO00__I2C1_SCL 0x4001b8b1>, 221 <MX6SX_PAD_GPIO1_IO01__I2C1_SDA 0x4001b8b1>; 222 }; 223 224 pinctrl_i2c2: i2c2grp { 225 fsl,pins = 226 <MX6SX_PAD_GPIO1_IO03__I2C2_SDA 0x4001b8b1>, 227 <MX6SX_PAD_GPIO1_IO02__I2C2_SCL 0x4001b8b1>; 228 }; 229 230 pinctrl_i2c4: i2c4grp { 231 fsl,pins = 232 <MX6SX_PAD_USB_H_DATA__I2C4_SDA 0x4001b8b1>, 233 <MX6SX_PAD_USB_H_STROBE__I2C4_SCL 0x4001b8b1>; 234 }; 235 236 pinctrl_uart1: uart1grp { 237 fsl,pins = 238 <MX6SX_PAD_GPIO1_IO04__UART1_DCE_TX 0x1b0b1>, 239 <MX6SX_PAD_GPIO1_IO05__UART1_DCE_RX 0x1b0b1>; 240 }; 241 242 pinctrl_uart2: uart2grp { 243 fsl,pins = 244 <MX6SX_PAD_GPIO1_IO06__UART2_DCE_TX 0x1b0b1>, 245 <MX6SX_PAD_GPIO1_IO07__UART2_DCE_RX 0x1b0b1>; 246 }; 247 248 pinctrl_uart3: uart3grp { 249 fsl,pins = 250 <MX6SX_PAD_SD3_DATA4__UART3_DCE_RX 0x13059>, 251 <MX6SX_PAD_SD3_DATA5__UART3_DCE_TX 0x13059>, 252 <MX6SX_PAD_SD3_DATA6__UART3_DCE_RTS 0x13059>, 253 <MX6SX_PAD_SD3_DATA7__UART3_DCE_CTS 0x13059>; 254 }; 255 256 pinctrl_uart5: uart5grp { 257 fsl,pins = 258 <MX6SX_PAD_SD4_DATA4__UART5_DCE_RX 0x1b0b1>, 259 <MX6SX_PAD_SD4_DATA5__UART5_DCE_TX 0x1b0b1>; 260 }; 261 262 pinctrl_uart6: uart6grp { 263 fsl,pins = 264 <MX6SX_PAD_CSI_DATA00__UART6_RI_B 0x1b0b1>, 265 <MX6SX_PAD_CSI_DATA01__UART6_DSR_B 0x1b0b1>, 266 <MX6SX_PAD_CSI_DATA02__UART6_DTR_B 0x1b0b1>, 267 <MX6SX_PAD_CSI_DATA03__UART6_DCD_B 0x1b0b1>, 268 <MX6SX_PAD_CSI_DATA04__UART6_DCE_RX 0x1b0b1>, 269 <MX6SX_PAD_CSI_DATA05__UART6_DCE_TX 0x1b0b1>, 270 <MX6SX_PAD_CSI_DATA06__UART6_DCE_RTS 0x1b0b1>, 271 <MX6SX_PAD_CSI_DATA07__UART6_DCE_CTS 0x1b0b1>; 272 }; 273 274 pinctrl_otg1_reg: otg1grp { 275 fsl,pins = 276 <MX6SX_PAD_GPIO1_IO09__GPIO1_IO_9 0x10b0>; 277 }; 278 279 280 pinctrl_otg2_reg: otg2grp { 281 fsl,pins = 282 <MX6SX_PAD_NAND_RE_B__GPIO4_IO_12 0x10b0>; 283 }; 284 285 pinctrl_usb_otg1: usbotg1grp { 286 fsl,pins = 287 <MX6SX_PAD_GPIO1_IO10__ANATOP_OTG1_ID 0x17059>, 288 <MX6SX_PAD_GPIO1_IO08__USB_OTG1_OC 0x10b0>; 289 }; 290 291 pinctrl_usb_otg2: usbot2ggrp { 292 fsl,pins = 293 <MX6SX_PAD_QSPI1A_DATA0__USB_OTG2_OC 0x10b0>; 294 }; 295 296 pinctrl_usdhc2: usdhc2grp { 297 fsl,pins = 298 <MX6SX_PAD_SD2_CMD__USDHC2_CMD 0x17059>, 299 <MX6SX_PAD_SD2_CLK__USDHC2_CLK 0x10059>, 300 <MX6SX_PAD_SD2_DATA0__USDHC2_DATA0 0x17059>, 301 <MX6SX_PAD_SD2_DATA1__USDHC2_DATA1 0x17059>, 302 <MX6SX_PAD_SD2_DATA2__USDHC2_DATA2 0x17059>, 303 <MX6SX_PAD_SD2_DATA3__USDHC2_DATA3 0x17059>, 304 <MX6SX_PAD_SD1_DATA0__GPIO6_IO_2 0x17059>; /* CD */ 305 }; 306 307 pinctrl_usdhc3: usdhc3grp { 308 fsl,pins = 309 <MX6SX_PAD_KEY_COL2__GPIO2_IO_12 0x15059>, 310 <MX6SX_PAD_KEY_ROW1__GPIO2_IO_16 0x13059>, 311 <MX6SX_PAD_SD3_DATA0__USDHC3_DATA0 0x17069>, 312 <MX6SX_PAD_SD3_DATA1__USDHC3_DATA1 0x17069>, 313 <MX6SX_PAD_SD3_DATA2__USDHC3_DATA2 0x17069>, 314 <MX6SX_PAD_SD3_DATA3__USDHC3_DATA3 0x17069>, 315 <MX6SX_PAD_SD3_CMD__USDHC3_CMD 0x17069>, 316 <MX6SX_PAD_SD3_CLK__USDHC3_CLK 0x10069>, 317 <MX6SX_PAD_CSI_MCLK__OSC32K_32K_OUT 0x10059>; 318 }; 319}; 320 321&uart1 { 322 pinctrl-names = "default"; 323 pinctrl-0 = <&pinctrl_uart1>; 324 status = "okay"; 325}; 326 327/* Cortex-M4 serial */ 328&uart2 { 329 pinctrl-names = "default"; 330 pinctrl-0 = <&pinctrl_uart2>; 331 status = "disabled"; 332}; 333 334&uart3 { /* Bluetooth - only on Extended/Full versions */ 335 pinctrl-names = "default"; 336 pinctrl-0 = <&pinctrl_uart3>; 337 uart-has-rtscts; 338 status = "disabled"; 339 340 bluetooth { 341 compatible = "ti,wl1831-st"; 342 enable-gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>; 343 pinctrl-names = "default"; 344 pinctrl-0 = <&pinctrl_bt_reg>; 345 max-speed = <921600>; 346 }; 347}; 348 349/* Arduino serial */ 350&uart5 { 351 pinctrl-names = "default"; 352 pinctrl-0 = <&pinctrl_uart5>; 353 status = "disabled"; 354}; 355 356&uart6 { 357 pinctrl-names = "default"; 358 pinctrl-0 = <&pinctrl_uart6>; 359 uart-has-rtscts; 360 status = "disabled"; 361}; 362 363&usbotg1 { /* J2 micro USB port */ 364 vbus-supply = <®_usb_otg1_vbus>; 365 pinctrl-names = "default"; 366 pinctrl-0 = <&pinctrl_usb_otg1>; 367 status = "okay"; 368}; 369 370&usbotg2 { /* J3 host USB port */ 371 vbus-supply = <®_usb_otg2_vbus>; 372 pinctrl-names = "default"; 373 pinctrl-0 = <&pinctrl_usb_otg2>; 374 dr_mode = "host"; 375 status = "okay"; 376}; 377 378&usdhc2 { 379 pinctrl-names = "default"; 380 pinctrl-0 = <&pinctrl_usdhc2>; 381 vmmc-supply = <®_sdio_pwr>; 382 bus-width = <4>; 383 cd-gpios = <&gpio6 2 GPIO_ACTIVE_LOW>; 384 no-1-8-v; 385 keep-power-in-suspend; 386 wakeup-source; 387 status = "okay"; 388}; 389 390&usdhc3 { /* Wi-Fi */ 391 pinctrl-names = "default"; 392 pinctrl-0 = <&pinctrl_usdhc3>; 393 non-removable; 394 vmmc-supply = <®_wlan>; 395 cap-power-off-card; 396 wakeup-source; 397 keep-power-in-suspend; 398 #address-cells = <1>; 399 #size-cells = <0>; 400 status = "okay"; 401 402 wlcore: wlcore@2 { 403 compatible = "ti,wl1831"; 404 reg = <2>; 405 interrupt-parent = <&gpio2>; 406 interrupts = <16 IRQ_TYPE_EDGE_RISING>; 407 ref-clock-frequency = <38400000>; 408 tcxo-clock-frequency = <26000000>; 409 }; 410}; 411