1/* 2 * Copyright (C) 2015, 2016 Zodiac Inflight Innovations 3 * 4 * Based on an original 'vf610-twr.dts' which is Copyright 2015, 5 * Freescale Semiconductor, Inc. 6 * 7 * This file is dual-licensed: you can use it either under the terms 8 * of the GPL or the X11 license, at your option. Note that this dual 9 * licensing only applies to this file, and not this project as a 10 * whole. 11 * 12 * a) This file is free software; you can redistribute it and/or 13 * modify it under the terms of the GNU General Public License 14 * version 2 as published by the Free Software Foundation. 15 * 16 * This file is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNU General Public License for more details. 20 * 21 * Or, alternatively, 22 * 23 * b) Permission is hereby granted, free of charge, to any person 24 * obtaining a copy of this software and associated documentation 25 * files (the "Software"), to deal in the Software without 26 * restriction, including without limitation the rights to use, 27 * copy, modify, merge, publish, distribute, sublicense, and/or 28 * sell copies of the Software, and to permit persons to whom the 29 * Software is furnished to do so, subject to the following 30 * conditions: 31 * 32 * The above copyright notice and this permission notice shall be 33 * included in all copies or substantial portions of the Software. 34 * 35 * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND, 36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 42 * OTHER DEALINGS IN THE SOFTWARE. 43 */ 44 45#include "vf610.dtsi" 46 47/ { 48 chosen { 49 stdout-path = "serial0:115200n8"; 50 }; 51 52 memory { 53 reg = <0x80000000 0x20000000>; 54 }; 55 56 gpio-leds { 57 compatible = "gpio-leds"; 58 pinctrl-0 = <&pinctrl_leds_debug>; 59 pinctrl-names = "default"; 60 61 debug { 62 label = "zii:green:debug1"; 63 gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>; 64 linux,default-trigger = "heartbeat"; 65 }; 66 }; 67 68 reg_vcc_3v3_mcu: regulator-vcc-3v3-mcu { 69 compatible = "regulator-fixed"; 70 regulator-name = "vcc_3v3_mcu"; 71 regulator-min-microvolt = <3300000>; 72 regulator-max-microvolt = <3300000>; 73 }; 74 75 usb0_vbus: regulator-usb0-vbus { 76 compatible = "regulator-fixed"; 77 pinctrl-0 = <&pinctrl_usb_vbus>; 78 regulator-name = "usb_vbus"; 79 regulator-min-microvolt = <5000000>; 80 regulator-max-microvolt = <5000000>; 81 enable-active-high; 82 regulator-always-on; 83 regulator-boot-on; 84 gpio = <&gpio0 6 0>; 85 }; 86}; 87 88&adc0 { 89 pinctrl-names = "default"; 90 pinctrl-0 = <&pinctrl_adc0_ad5>; 91 vref-supply = <®_vcc_3v3_mcu>; 92 status = "okay"; 93}; 94 95&edma0 { 96 status = "okay"; 97}; 98 99&esdhc1 { 100 pinctrl-names = "default"; 101 pinctrl-0 = <&pinctrl_esdhc1>; 102 bus-width = <4>; 103 status = "okay"; 104}; 105 106&fec0 { 107 phy-mode = "rmii"; 108 pinctrl-names = "default"; 109 pinctrl-0 = <&pinctrl_fec0>; 110 status = "okay"; 111}; 112 113&fec1 { 114 phy-mode = "rmii"; 115 pinctrl-names = "default"; 116 pinctrl-0 = <&pinctrl_fec1>; 117 status = "okay"; 118 119 fixed-link { 120 speed = <100>; 121 full-duplex; 122 }; 123 124 mdio1: mdio { 125 #address-cells = <1>; 126 #size-cells = <0>; 127 status = "okay"; 128 }; 129}; 130 131&i2c0 { 132 clock-frequency = <100000>; 133 pinctrl-names = "default", "gpio"; 134 pinctrl-0 = <&pinctrl_i2c0>; 135 pinctrl-1 = <&pinctrl_i2c0_gpio>; 136 scl-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; 137 sda-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>; 138 status = "okay"; 139 140 lm75@48 { 141 compatible = "national,lm75"; 142 reg = <0x48>; 143 }; 144 145 at24c04@50 { 146 compatible = "atmel,24c04"; 147 reg = <0x50>; 148 }; 149 150 at24c04@52 { 151 compatible = "atmel,24c04"; 152 reg = <0x52>; 153 }; 154 155 ds1682@6b { 156 compatible = "dallas,ds1682"; 157 reg = <0x6b>; 158 }; 159}; 160 161&i2c1 { 162 clock-frequency = <100000>; 163 pinctrl-names = "default"; 164 pinctrl-0 = <&pinctrl_i2c1>; 165 status = "okay"; 166}; 167 168&i2c2 { 169 clock-frequency = <100000>; 170 pinctrl-names = "default"; 171 pinctrl-0 = <&pinctrl_i2c2>; 172 status = "okay"; 173}; 174 175&uart0 { 176 pinctrl-names = "default"; 177 pinctrl-0 = <&pinctrl_uart0>; 178 status = "okay"; 179}; 180 181&uart1 { 182 pinctrl-names = "default"; 183 pinctrl-0 = <&pinctrl_uart1>; 184 status = "okay"; 185}; 186 187&uart2 { 188 pinctrl-names = "default"; 189 pinctrl-0 = <&pinctrl_uart2>; 190 status = "okay"; 191}; 192 193&usbdev0 { 194 disable-over-current; 195 vbus-supply = <&usb0_vbus>; 196 dr_mode = "host"; 197 status = "okay"; 198}; 199 200&usbh1 { 201 disable-over-current; 202 status = "okay"; 203}; 204 205&usbmisc0 { 206 status = "okay"; 207}; 208 209&usbmisc1 { 210 status = "okay"; 211}; 212 213&usbphy0 { 214 status = "okay"; 215}; 216 217&usbphy1 { 218 status = "okay"; 219}; 220 221&iomuxc { 222 pinctrl_adc0_ad5: adc0ad5grp { 223 fsl,pins = < 224 VF610_PAD_PTC30__ADC0_SE5 0x00a1 225 >; 226 }; 227 228 pinctrl_dspi0: dspi0grp { 229 fsl,pins = < 230 VF610_PAD_PTB18__DSPI0_CS1 0x1182 231 VF610_PAD_PTB19__DSPI0_CS0 0x1182 232 VF610_PAD_PTB20__DSPI0_SIN 0x1181 233 VF610_PAD_PTB21__DSPI0_SOUT 0x1182 234 VF610_PAD_PTB22__DSPI0_SCK 0x1182 235 >; 236 }; 237 238 pinctrl_dspi2: dspi2grp { 239 fsl,pins = < 240 VF610_PAD_PTD31__DSPI2_CS1 0x1182 241 VF610_PAD_PTD30__DSPI2_CS0 0x1182 242 VF610_PAD_PTD29__DSPI2_SIN 0x1181 243 VF610_PAD_PTD28__DSPI2_SOUT 0x1182 244 VF610_PAD_PTD27__DSPI2_SCK 0x1182 245 >; 246 }; 247 248 pinctrl_esdhc1: esdhc1grp { 249 fsl,pins = < 250 VF610_PAD_PTA24__ESDHC1_CLK 0x31ef 251 VF610_PAD_PTA25__ESDHC1_CMD 0x31ef 252 VF610_PAD_PTA26__ESDHC1_DAT0 0x31ef 253 VF610_PAD_PTA27__ESDHC1_DAT1 0x31ef 254 VF610_PAD_PTA28__ESDHC1_DATA2 0x31ef 255 VF610_PAD_PTA29__ESDHC1_DAT3 0x31ef 256 VF610_PAD_PTA7__GPIO_134 0x219d 257 >; 258 }; 259 260 pinctrl_fec0: fec0grp { 261 fsl,pins = < 262 VF610_PAD_PTC0__ENET_RMII0_MDC 0x30d2 263 VF610_PAD_PTC1__ENET_RMII0_MDIO 0x30d3 264 VF610_PAD_PTC2__ENET_RMII0_CRS 0x30d1 265 VF610_PAD_PTC3__ENET_RMII0_RXD1 0x30d1 266 VF610_PAD_PTC4__ENET_RMII0_RXD0 0x30d1 267 VF610_PAD_PTC5__ENET_RMII0_RXER 0x30d1 268 VF610_PAD_PTC6__ENET_RMII0_TXD1 0x30d2 269 VF610_PAD_PTC7__ENET_RMII0_TXD0 0x30d2 270 VF610_PAD_PTC8__ENET_RMII0_TXEN 0x30d2 271 >; 272 }; 273 274 pinctrl_fec1: fec1grp { 275 fsl,pins = < 276 VF610_PAD_PTA6__RMII_CLKIN 0x30d1 277 VF610_PAD_PTC9__ENET_RMII1_MDC 0x30d2 278 VF610_PAD_PTC10__ENET_RMII1_MDIO 0x30d3 279 VF610_PAD_PTC11__ENET_RMII1_CRS 0x30d1 280 VF610_PAD_PTC12__ENET_RMII1_RXD1 0x30d1 281 VF610_PAD_PTC13__ENET_RMII1_RXD0 0x30d1 282 VF610_PAD_PTC14__ENET_RMII1_RXER 0x30d1 283 VF610_PAD_PTC15__ENET_RMII1_TXD1 0x30d2 284 VF610_PAD_PTC16__ENET_RMII1_TXD0 0x30d2 285 VF610_PAD_PTC17__ENET_RMII1_TXEN 0x30d2 286 >; 287 }; 288 289 pinctrl_gpio_spi0: pinctrl-gpio-spi0 { 290 fsl,pins = < 291 VF610_PAD_PTB22__GPIO_44 0x33e2 292 VF610_PAD_PTB21__GPIO_43 0x33e2 293 VF610_PAD_PTB20__GPIO_42 0x33e1 294 VF610_PAD_PTB19__GPIO_41 0x33e2 295 VF610_PAD_PTB18__GPIO_40 0x33e2 296 >; 297 }; 298 299 pinctrl_gpio_switch0: pinctrl-gpio-switch0 { 300 fsl,pins = < 301 VF610_PAD_PTB5__GPIO_27 0x219d 302 >; 303 }; 304 305 pinctrl_gpio_switch1: pinctrl-gpio-switch1 { 306 fsl,pins = < 307 VF610_PAD_PTB4__GPIO_26 0x219d 308 >; 309 }; 310 311 pinctrl_i2c_mux_reset: pinctrl-i2c-mux-reset { 312 fsl,pins = < 313 VF610_PAD_PTE14__GPIO_119 0x31c2 314 >; 315 }; 316 317 pinctrl_i2c0: i2c0grp { 318 fsl,pins = < 319 VF610_PAD_PTB14__I2C0_SCL 0x37ff 320 VF610_PAD_PTB15__I2C0_SDA 0x37ff 321 >; 322 }; 323 324 pinctrl_i2c0_gpio: i2c0grp-gpio { 325 fsl,pins = < 326 VF610_PAD_PTB14__GPIO_36 0x31c2 327 VF610_PAD_PTB15__GPIO_37 0x31c2 328 >; 329 }; 330 331 332 pinctrl_i2c1: i2c1grp { 333 fsl,pins = < 334 VF610_PAD_PTB16__I2C1_SCL 0x37ff 335 VF610_PAD_PTB17__I2C1_SDA 0x37ff 336 >; 337 }; 338 339 pinctrl_i2c2: i2c2grp { 340 fsl,pins = < 341 VF610_PAD_PTA22__I2C2_SCL 0x37ff 342 VF610_PAD_PTA23__I2C2_SDA 0x37ff 343 >; 344 }; 345 346 pinctrl_leds_debug: pinctrl-leds-debug { 347 fsl,pins = < 348 VF610_PAD_PTD20__GPIO_74 0x31c2 349 >; 350 }; 351 352 pinctrl_qspi0: qspi0grp { 353 fsl,pins = < 354 VF610_PAD_PTD7__QSPI0_B_QSCK 0x31c3 355 VF610_PAD_PTD8__QSPI0_B_CS0 0x31ff 356 VF610_PAD_PTD9__QSPI0_B_DATA3 0x31c3 357 VF610_PAD_PTD10__QSPI0_B_DATA2 0x31c3 358 VF610_PAD_PTD11__QSPI0_B_DATA1 0x31c3 359 VF610_PAD_PTD12__QSPI0_B_DATA0 0x31c3 360 >; 361 }; 362 363 pinctrl_uart0: uart0grp { 364 fsl,pins = < 365 VF610_PAD_PTB10__UART0_TX 0x21a2 366 VF610_PAD_PTB11__UART0_RX 0x21a1 367 >; 368 }; 369 370 pinctrl_uart1: uart1grp { 371 fsl,pins = < 372 VF610_PAD_PTB23__UART1_TX 0x21a2 373 VF610_PAD_PTB24__UART1_RX 0x21a1 374 >; 375 }; 376 377 pinctrl_uart2: uart2grp { 378 fsl,pins = < 379 VF610_PAD_PTD0__UART2_TX 0x21a2 380 VF610_PAD_PTD1__UART2_RX 0x21a1 381 >; 382 }; 383 384 pinctrl_usb_vbus: pinctrl-usb-vbus { 385 fsl,pins = < 386 VF610_PAD_PTA16__GPIO_6 0x31c2 387 >; 388 }; 389 390 pinctrl_usb0_host: usb0-host-grp { 391 fsl,pins = < 392 VF610_PAD_PTD6__GPIO_85 0x0062 393 >; 394 }; 395}; 396