1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2*724ba675SRob Herring 3*724ba675SRob Herring/* 4*724ba675SRob Herring * Copyright (C) 2018 Zodiac Inflight Innovations 5*724ba675SRob Herring */ 6*724ba675SRob Herring 7*724ba675SRob Herring/dts-v1/; 8*724ba675SRob Herring#include "vf610.dtsi" 9*724ba675SRob Herring 10*724ba675SRob Herring/ { 11*724ba675SRob Herring model = "ZII VF610 CFU1 Board"; 12*724ba675SRob Herring compatible = "zii,vf610cfu1", "zii,vf610dev", "fsl,vf610"; 13*724ba675SRob Herring 14*724ba675SRob Herring chosen { 15*724ba675SRob Herring stdout-path = &uart0; 16*724ba675SRob Herring }; 17*724ba675SRob Herring 18*724ba675SRob Herring memory@80000000 { 19*724ba675SRob Herring device_type = "memory"; 20*724ba675SRob Herring reg = <0x80000000 0x20000000>; 21*724ba675SRob Herring }; 22*724ba675SRob Herring 23*724ba675SRob Herring gpio-leds { 24*724ba675SRob Herring compatible = "gpio-leds"; 25*724ba675SRob Herring pinctrl-0 = <&pinctrl_leds_debug>; 26*724ba675SRob Herring pinctrl-names = "default"; 27*724ba675SRob Herring 28*724ba675SRob Herring led-debug { 29*724ba675SRob Herring label = "zii:green:debug1"; 30*724ba675SRob Herring gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; 31*724ba675SRob Herring linux,default-trigger = "heartbeat"; 32*724ba675SRob Herring }; 33*724ba675SRob Herring 34*724ba675SRob Herring led-fail { 35*724ba675SRob Herring label = "zii:red:fail"; 36*724ba675SRob Herring gpios = <&gpio3 12 GPIO_ACTIVE_LOW>; 37*724ba675SRob Herring default-state = "off"; 38*724ba675SRob Herring }; 39*724ba675SRob Herring 40*724ba675SRob Herring led-status { 41*724ba675SRob Herring label = "zii:green:status"; 42*724ba675SRob Herring gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>; 43*724ba675SRob Herring default-state = "off"; 44*724ba675SRob Herring }; 45*724ba675SRob Herring 46*724ba675SRob Herring led-debug-a { 47*724ba675SRob Herring label = "zii:green:debug_a"; 48*724ba675SRob Herring gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>; 49*724ba675SRob Herring default-state = "off"; 50*724ba675SRob Herring }; 51*724ba675SRob Herring 52*724ba675SRob Herring led-debug-b { 53*724ba675SRob Herring label = "zii:green:debug_b"; 54*724ba675SRob Herring gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>; 55*724ba675SRob Herring default-state = "off"; 56*724ba675SRob Herring }; 57*724ba675SRob Herring }; 58*724ba675SRob Herring 59*724ba675SRob Herring reg_vcc_3v3_mcu: regulator-vcc-3v3-mcu { 60*724ba675SRob Herring compatible = "regulator-fixed"; 61*724ba675SRob Herring regulator-name = "vcc_3v3_mcu"; 62*724ba675SRob Herring regulator-min-microvolt = <3300000>; 63*724ba675SRob Herring regulator-max-microvolt = <3300000>; 64*724ba675SRob Herring }; 65*724ba675SRob Herring 66*724ba675SRob Herring sff: sfp { 67*724ba675SRob Herring compatible = "sff,sff"; 68*724ba675SRob Herring pinctrl-0 = <&pinctrl_optical>; 69*724ba675SRob Herring pinctrl-names = "default"; 70*724ba675SRob Herring i2c-bus = <&i2c0>; 71*724ba675SRob Herring los-gpio = <&gpio4 4 GPIO_ACTIVE_HIGH>; 72*724ba675SRob Herring tx-disable-gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; 73*724ba675SRob Herring }; 74*724ba675SRob Herring 75*724ba675SRob Herring supply-voltage-monitor { 76*724ba675SRob Herring compatible = "iio-hwmon"; 77*724ba675SRob Herring io-channels = <&adc0 8>, /* 28VDC_IN */ 78*724ba675SRob Herring <&adc0 9>, /* +3.3V */ 79*724ba675SRob Herring <&adc1 8>, /* VCC_1V5 */ 80*724ba675SRob Herring <&adc1 9>; /* VCC_1V2 */ 81*724ba675SRob Herring }; 82*724ba675SRob Herring}; 83*724ba675SRob Herring 84*724ba675SRob Herring&adc0 { 85*724ba675SRob Herring vref-supply = <®_vcc_3v3_mcu>; 86*724ba675SRob Herring status = "okay"; 87*724ba675SRob Herring}; 88*724ba675SRob Herring 89*724ba675SRob Herring&adc1 { 90*724ba675SRob Herring vref-supply = <®_vcc_3v3_mcu>; 91*724ba675SRob Herring status = "okay"; 92*724ba675SRob Herring}; 93*724ba675SRob Herring 94*724ba675SRob Herring&dspi1 { 95*724ba675SRob Herring bus-num = <1>; 96*724ba675SRob Herring pinctrl-names = "default"; 97*724ba675SRob Herring pinctrl-0 = <&pinctrl_dspi1>; 98*724ba675SRob Herring /* 99*724ba675SRob Herring * Some CFU1s come with SPI-NOR chip DNPed, so we leave this 100*724ba675SRob Herring * node disabled by default and rely on bootloader to enable 101*724ba675SRob Herring * it when appropriate. 102*724ba675SRob Herring */ 103*724ba675SRob Herring status = "disabled"; 104*724ba675SRob Herring 105*724ba675SRob Herring flash@0 { 106*724ba675SRob Herring #address-cells = <1>; 107*724ba675SRob Herring #size-cells = <1>; 108*724ba675SRob Herring compatible = "m25p128", "jedec,spi-nor"; 109*724ba675SRob Herring reg = <0>; 110*724ba675SRob Herring spi-max-frequency = <50000000>; 111*724ba675SRob Herring 112*724ba675SRob Herring partition@0 { 113*724ba675SRob Herring label = "m25p128-0"; 114*724ba675SRob Herring reg = <0x0 0x01000000>; 115*724ba675SRob Herring }; 116*724ba675SRob Herring }; 117*724ba675SRob Herring}; 118*724ba675SRob Herring 119*724ba675SRob Herring&edma0 { 120*724ba675SRob Herring status = "okay"; 121*724ba675SRob Herring}; 122*724ba675SRob Herring 123*724ba675SRob Herring&edma1 { 124*724ba675SRob Herring status = "okay"; 125*724ba675SRob Herring}; 126*724ba675SRob Herring 127*724ba675SRob Herring&esdhc0 { 128*724ba675SRob Herring pinctrl-names = "default"; 129*724ba675SRob Herring pinctrl-0 = <&pinctrl_esdhc0>; 130*724ba675SRob Herring bus-width = <8>; 131*724ba675SRob Herring non-removable; 132*724ba675SRob Herring no-1-8-v; 133*724ba675SRob Herring keep-power-in-suspend; 134*724ba675SRob Herring no-sdio; 135*724ba675SRob Herring no-sd; 136*724ba675SRob Herring status = "okay"; 137*724ba675SRob Herring}; 138*724ba675SRob Herring 139*724ba675SRob Herring&esdhc1 { 140*724ba675SRob Herring pinctrl-names = "default"; 141*724ba675SRob Herring pinctrl-0 = <&pinctrl_esdhc1>; 142*724ba675SRob Herring bus-width = <4>; 143*724ba675SRob Herring no-sdio; 144*724ba675SRob Herring status = "okay"; 145*724ba675SRob Herring}; 146*724ba675SRob Herring 147*724ba675SRob Herring&fec1 { 148*724ba675SRob Herring phy-mode = "rmii"; 149*724ba675SRob Herring pinctrl-names = "default"; 150*724ba675SRob Herring pinctrl-0 = <&pinctrl_fec1>; 151*724ba675SRob Herring status = "okay"; 152*724ba675SRob Herring 153*724ba675SRob Herring fixed-link { 154*724ba675SRob Herring speed = <100>; 155*724ba675SRob Herring full-duplex; 156*724ba675SRob Herring }; 157*724ba675SRob Herring 158*724ba675SRob Herring mdio1: mdio { 159*724ba675SRob Herring #address-cells = <1>; 160*724ba675SRob Herring #size-cells = <0>; 161*724ba675SRob Herring clock-frequency = <12500000>; 162*724ba675SRob Herring suppress-preamble; 163*724ba675SRob Herring status = "okay"; 164*724ba675SRob Herring 165*724ba675SRob Herring switch0: switch0@0 { 166*724ba675SRob Herring compatible = "marvell,mv88e6085"; 167*724ba675SRob Herring pinctrl-names = "default"; 168*724ba675SRob Herring pinctrl-0 = <&pinctrl_switch>; 169*724ba675SRob Herring reg = <0>; 170*724ba675SRob Herring eeprom-length = <512>; 171*724ba675SRob Herring interrupt-parent = <&gpio3>; 172*724ba675SRob Herring interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 173*724ba675SRob Herring interrupt-controller; 174*724ba675SRob Herring #interrupt-cells = <2>; 175*724ba675SRob Herring 176*724ba675SRob Herring ports { 177*724ba675SRob Herring #address-cells = <1>; 178*724ba675SRob Herring #size-cells = <0>; 179*724ba675SRob Herring 180*724ba675SRob Herring port@0 { 181*724ba675SRob Herring reg = <0>; 182*724ba675SRob Herring label = "eth_cu_1000_1"; 183*724ba675SRob Herring }; 184*724ba675SRob Herring 185*724ba675SRob Herring port@1 { 186*724ba675SRob Herring reg = <1>; 187*724ba675SRob Herring label = "eth_cu_1000_2"; 188*724ba675SRob Herring }; 189*724ba675SRob Herring 190*724ba675SRob Herring port@2 { 191*724ba675SRob Herring reg = <2>; 192*724ba675SRob Herring label = "eth_cu_1000_3"; 193*724ba675SRob Herring }; 194*724ba675SRob Herring 195*724ba675SRob Herring port@5 { 196*724ba675SRob Herring reg = <5>; 197*724ba675SRob Herring label = "eth_fc_1000_1"; 198*724ba675SRob Herring phy-mode = "1000base-x"; 199*724ba675SRob Herring managed = "in-band-status"; 200*724ba675SRob Herring sfp = <&sff>; 201*724ba675SRob Herring }; 202*724ba675SRob Herring 203*724ba675SRob Herring port@6 { 204*724ba675SRob Herring reg = <6>; 205*724ba675SRob Herring phy-mode = "rmii"; 206*724ba675SRob Herring ethernet = <&fec1>; 207*724ba675SRob Herring 208*724ba675SRob Herring fixed-link { 209*724ba675SRob Herring speed = <100>; 210*724ba675SRob Herring full-duplex; 211*724ba675SRob Herring }; 212*724ba675SRob Herring }; 213*724ba675SRob Herring }; 214*724ba675SRob Herring }; 215*724ba675SRob Herring }; 216*724ba675SRob Herring}; 217*724ba675SRob Herring 218*724ba675SRob Herring&i2c0 { 219*724ba675SRob Herring clock-frequency = <100000>; 220*724ba675SRob Herring pinctrl-names = "default"; 221*724ba675SRob Herring pinctrl-0 = <&pinctrl_i2c0>; 222*724ba675SRob Herring status = "okay"; 223*724ba675SRob Herring 224*724ba675SRob Herring io-expander@22 { 225*724ba675SRob Herring compatible = "nxp,pca9554"; 226*724ba675SRob Herring reg = <0x22>; 227*724ba675SRob Herring gpio-controller; 228*724ba675SRob Herring #gpio-cells = <2>; 229*724ba675SRob Herring }; 230*724ba675SRob Herring 231*724ba675SRob Herring lm75@48 { 232*724ba675SRob Herring compatible = "national,lm75"; 233*724ba675SRob Herring reg = <0x48>; 234*724ba675SRob Herring }; 235*724ba675SRob Herring 236*724ba675SRob Herring eeprom@52 { 237*724ba675SRob Herring compatible = "atmel,24c04"; 238*724ba675SRob Herring reg = <0x52>; 239*724ba675SRob Herring label = "nvm"; 240*724ba675SRob Herring }; 241*724ba675SRob Herring 242*724ba675SRob Herring eeprom@54 { 243*724ba675SRob Herring compatible = "atmel,24c04"; 244*724ba675SRob Herring reg = <0x54>; 245*724ba675SRob Herring label = "nameplate"; 246*724ba675SRob Herring }; 247*724ba675SRob Herring}; 248*724ba675SRob Herring 249*724ba675SRob Herring&i2c1 { 250*724ba675SRob Herring clock-frequency = <100000>; 251*724ba675SRob Herring pinctrl-names = "default"; 252*724ba675SRob Herring pinctrl-0 = <&pinctrl_i2c1>; 253*724ba675SRob Herring status = "okay"; 254*724ba675SRob Herring 255*724ba675SRob Herring watchdog@38 { 256*724ba675SRob Herring compatible = "zii,rave-wdt"; 257*724ba675SRob Herring reg = <0x38>; 258*724ba675SRob Herring }; 259*724ba675SRob Herring}; 260*724ba675SRob Herring 261*724ba675SRob Herring&snvsrtc { 262*724ba675SRob Herring status = "disabled"; 263*724ba675SRob Herring}; 264*724ba675SRob Herring 265*724ba675SRob Herring&uart0 { 266*724ba675SRob Herring pinctrl-names = "default"; 267*724ba675SRob Herring pinctrl-0 = <&pinctrl_uart0>; 268*724ba675SRob Herring status = "okay"; 269*724ba675SRob Herring}; 270*724ba675SRob Herring 271*724ba675SRob Herring&iomuxc { 272*724ba675SRob Herring pinctrl_dspi1: dspi1grp { 273*724ba675SRob Herring fsl,pins = < 274*724ba675SRob Herring VF610_PAD_PTD5__DSPI1_CS0 0x1182 275*724ba675SRob Herring VF610_PAD_PTC6__DSPI1_SIN 0x1181 276*724ba675SRob Herring VF610_PAD_PTC7__DSPI1_SOUT 0x1182 277*724ba675SRob Herring VF610_PAD_PTC8__DSPI1_SCK 0x1182 278*724ba675SRob Herring >; 279*724ba675SRob Herring }; 280*724ba675SRob Herring 281*724ba675SRob Herring pinctrl_esdhc0: esdhc0grp { 282*724ba675SRob Herring fsl,pins = < 283*724ba675SRob Herring VF610_PAD_PTC0__ESDHC0_CLK 0x31ef 284*724ba675SRob Herring VF610_PAD_PTC1__ESDHC0_CMD 0x31ef 285*724ba675SRob Herring VF610_PAD_PTC2__ESDHC0_DAT0 0x31ef 286*724ba675SRob Herring VF610_PAD_PTC3__ESDHC0_DAT1 0x31ef 287*724ba675SRob Herring VF610_PAD_PTC4__ESDHC0_DAT2 0x31ef 288*724ba675SRob Herring VF610_PAD_PTC5__ESDHC0_DAT3 0x31ef 289*724ba675SRob Herring VF610_PAD_PTD23__ESDHC0_DAT4 0x31ef 290*724ba675SRob Herring VF610_PAD_PTD22__ESDHC0_DAT5 0x31ef 291*724ba675SRob Herring VF610_PAD_PTD21__ESDHC0_DAT6 0x31ef 292*724ba675SRob Herring VF610_PAD_PTD20__ESDHC0_DAT7 0x31ef 293*724ba675SRob Herring >; 294*724ba675SRob Herring }; 295*724ba675SRob Herring 296*724ba675SRob Herring pinctrl_esdhc1: esdhc1grp { 297*724ba675SRob Herring fsl,pins = < 298*724ba675SRob Herring VF610_PAD_PTA24__ESDHC1_CLK 0x31ef 299*724ba675SRob Herring VF610_PAD_PTA25__ESDHC1_CMD 0x31ef 300*724ba675SRob Herring VF610_PAD_PTA26__ESDHC1_DAT0 0x31ef 301*724ba675SRob Herring VF610_PAD_PTA27__ESDHC1_DAT1 0x31ef 302*724ba675SRob Herring VF610_PAD_PTA28__ESDHC1_DATA2 0x31ef 303*724ba675SRob Herring VF610_PAD_PTA29__ESDHC1_DAT3 0x31ef 304*724ba675SRob Herring >; 305*724ba675SRob Herring }; 306*724ba675SRob Herring 307*724ba675SRob Herring pinctrl_fec1: fec1grp { 308*724ba675SRob Herring fsl,pins = < 309*724ba675SRob Herring VF610_PAD_PTA6__RMII_CLKIN 0x30d1 310*724ba675SRob Herring VF610_PAD_PTC9__ENET_RMII1_MDC 0x30fe 311*724ba675SRob Herring VF610_PAD_PTC10__ENET_RMII1_MDIO 0x30d3 312*724ba675SRob Herring VF610_PAD_PTC11__ENET_RMII1_CRS 0x30d1 313*724ba675SRob Herring VF610_PAD_PTC12__ENET_RMII1_RXD1 0x30d1 314*724ba675SRob Herring VF610_PAD_PTC13__ENET_RMII1_RXD0 0x30d1 315*724ba675SRob Herring VF610_PAD_PTC14__ENET_RMII1_RXER 0x30d1 316*724ba675SRob Herring VF610_PAD_PTC15__ENET_RMII1_TXD1 0x30d2 317*724ba675SRob Herring VF610_PAD_PTC16__ENET_RMII1_TXD0 0x30d2 318*724ba675SRob Herring VF610_PAD_PTC17__ENET_RMII1_TXEN 0x30d2 319*724ba675SRob Herring >; 320*724ba675SRob Herring }; 321*724ba675SRob Herring 322*724ba675SRob Herring pinctrl_i2c0: i2c0grp { 323*724ba675SRob Herring fsl,pins = < 324*724ba675SRob Herring VF610_PAD_PTB14__I2C0_SCL 0x37ff 325*724ba675SRob Herring VF610_PAD_PTB15__I2C0_SDA 0x37ff 326*724ba675SRob Herring >; 327*724ba675SRob Herring }; 328*724ba675SRob Herring 329*724ba675SRob Herring pinctrl_i2c1: i2c1grp { 330*724ba675SRob Herring fsl,pins = < 331*724ba675SRob Herring VF610_PAD_PTB16__I2C1_SCL 0x37ff 332*724ba675SRob Herring VF610_PAD_PTB17__I2C1_SDA 0x37ff 333*724ba675SRob Herring >; 334*724ba675SRob Herring }; 335*724ba675SRob Herring 336*724ba675SRob Herring pinctrl_leds_debug: pinctrl-leds-debug { 337*724ba675SRob Herring fsl,pins = < 338*724ba675SRob Herring VF610_PAD_PTD3__GPIO_82 0x31c2 339*724ba675SRob Herring VF610_PAD_PTE3__GPIO_108 0x31c2 340*724ba675SRob Herring VF610_PAD_PTE4__GPIO_109 0x31c2 341*724ba675SRob Herring VF610_PAD_PTE5__GPIO_110 0x31c2 342*724ba675SRob Herring VF610_PAD_PTE6__GPIO_111 0x31c2 343*724ba675SRob Herring >; 344*724ba675SRob Herring }; 345*724ba675SRob Herring 346*724ba675SRob Herring pinctrl_optical: optical-grp { 347*724ba675SRob Herring fsl,pins = < 348*724ba675SRob Herring /* SFF SD input */ 349*724ba675SRob Herring VF610_PAD_PTE27__GPIO_132 0x3061 350*724ba675SRob Herring 351*724ba675SRob Herring /* SFF Transmit disable output */ 352*724ba675SRob Herring VF610_PAD_PTE13__GPIO_118 0x3043 353*724ba675SRob Herring >; 354*724ba675SRob Herring }; 355*724ba675SRob Herring 356*724ba675SRob Herring pinctrl_switch: switch-grp { 357*724ba675SRob Herring fsl,pins = < 358*724ba675SRob Herring VF610_PAD_PTB28__GPIO_98 0x3061 359*724ba675SRob Herring >; 360*724ba675SRob Herring }; 361*724ba675SRob Herring 362*724ba675SRob Herring pinctrl_uart0: uart0grp { 363*724ba675SRob Herring fsl,pins = < 364*724ba675SRob Herring VF610_PAD_PTB10__UART0_TX 0x21a2 365*724ba675SRob Herring VF610_PAD_PTB11__UART0_RX 0x21a1 366*724ba675SRob Herring >; 367*724ba675SRob Herring }; 368*724ba675SRob Herring}; 369