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