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