1/* 2 * Device Tree file for Marvell Armada 3720 development board 3 * (DB-88F3720-DDR3) 4 * Copyright (C) 2016 Marvell 5 * 6 * Gregory CLEMENT <gregory.clement@free-electrons.com> 7 * 8 * This file is dual-licensed: you can use it either under the terms 9 * of the GPL or the X11 license, at your option. Note that this dual 10 * licensing only applies to this file, and not this project as a 11 * whole. 12 * 13 * a) This file is free software; you can redistribute it and/or 14 * modify it under the terms of the GNU General Public License as 15 * published by the Free Software Foundation; either version 2 of the 16 * License, or (at your option) any later version. 17 * 18 * This file is distributed in the hope that it will be useful, 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 * GNU General Public License for more details. 22 * 23 * Or, alternatively, 24 * 25 * b) Permission is hereby granted, free of charge, to any person 26 * obtaining a copy of this software and associated documentation 27 * files (the "Software"), to deal in the Software without 28 * restriction, including without limitation the rights to use, 29 * copy, modify, merge, publish, distribute, sublicense, and/or 30 * sell copies of the Software, and to permit persons to whom the 31 * Software is furnished to do so, subject to the following 32 * conditions: 33 * 34 * The above copyright notice and this permission notice shall be 35 * included in all copies or substantial portions of the Software. 36 * 37 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 44 * OTHER DEALINGS IN THE SOFTWARE. 45 * 46 * This file is compatible with the version 1.4 and the version 2.0 of 47 * the board, however the CON numbers are different between the 2 48 * version 49 */ 50 51/dts-v1/; 52 53#include <dt-bindings/gpio/gpio.h> 54#include "armada-372x.dtsi" 55 56/ { 57 model = "Marvell Armada 3720 Development Board DB-88F3720-DDR3"; 58 compatible = "marvell,armada-3720-db", "marvell,armada3720", "marvell,armada3710"; 59 60 chosen { 61 stdout-path = "serial0:115200n8"; 62 }; 63 64 memory@0 { 65 device_type = "memory"; 66 reg = <0x00000000 0x00000000 0x00000000 0x20000000>; 67 }; 68 69 exp_usb3_vbus: usb3-vbus { 70 compatible = "regulator-fixed"; 71 regulator-name = "usb3-vbus"; 72 regulator-min-microvolt = <5000000>; 73 regulator-max-microvolt = <5000000>; 74 enable-active-high; 75 regulator-always-on; 76 gpio = <&gpio_exp 1 GPIO_ACTIVE_HIGH>; 77 }; 78 79 usb3_phy: usb3-phy { 80 compatible = "usb-nop-xceiv"; 81 vcc-supply = <&exp_usb3_vbus>; 82 }; 83 84 vcc_sd_reg1: regulator { 85 compatible = "regulator-gpio"; 86 regulator-name = "vcc_sd1"; 87 regulator-min-microvolt = <1800000>; 88 regulator-max-microvolt = <3300000>; 89 regulator-boot-on; 90 91 gpios = <&gpiosb 23 GPIO_ACTIVE_HIGH>; 92 gpios-states = <0>; 93 states = <1800000 0x1 94 3300000 0x0>; 95 enable-active-high; 96 }; 97 98 vcc_sd_reg2: regulator-vmcc { 99 compatible = "regulator-fixed"; 100 regulator-name = "vcc_sd2"; 101 regulator-min-microvolt = <3300000>; 102 regulator-max-microvolt = <3300000>; 103 regulator-boot-on; 104 enable-active-high; 105 gpio = <&gpio_exp 4 GPIO_ACTIVE_HIGH>; 106 }; 107}; 108 109/* Gigabit module on CON19(V2.0)/CON21(V1.4) */ 110ð0 { 111 pinctrl-names = "default"; 112 pinctrl-0 = <&rgmii_pins>; 113 phy-mode = "rgmii-id"; 114 phy = <&phy0>; 115 status = "okay"; 116}; 117 118/* Gigabit module on CON18(V2.0)/CON20(V1.4) */ 119ð1 { 120 phy-mode = "sgmii"; 121 phy = <&phy1>; 122 status = "okay"; 123}; 124 125&i2c0 { 126 pinctrl-names = "default"; 127 pinctrl-0 = <&i2c1_pins>; 128 status = "okay"; 129 130 gpio_exp: pca9555@22 { 131 compatible = "nxp,pca9555"; 132 gpio-controller; 133 #gpio-cells = <2>; 134 135 reg = <0x22>; 136 /* 137 * IO0_0: PWR_EN_USB2 IO1_0: PWR_EN_VTT 138 * IO0_1: PWR_EN_USB23 IO1_1: MPCIE_WDISABLE 139 * IO0_2: PWR_EN_SATA IO1_2: RGMII_DEV_RSTN 140 * IO0_3: PWR_EN_PCIE IO1_3: SGMII_DEV_RSTN 141 * IO0_4: PWR_EN_SD 142 * IO0_5: PWR_EN_EMMC 143 * IO0_6: PWR_EN_RGMII IO1_6: SATA_USB3.0_SEL 144 * IO0_7: PWR_EN_SGMII IO1_7: PWR_MCI_PS 145 */ 146 }; 147 148 rtc@68 { 149 /* PT7C4337A from pericom fully compatible with the ds1337 */ 150 compatible = "dallas,ds1337"; 151 reg = <0x68>; 152 }; 153}; 154 155&mdio { 156 status = "okay"; 157 phy0: ethernet-phy@0 { 158 reg = <0>; 159 }; 160 161 phy1: ethernet-phy@1 { 162 reg = <1>; 163 }; 164}; 165 166/* CON15(V2.0)/CON17(V1.4) : PCIe / CON15(V2.0)/CON12(V1.4) :mini-PCIe */ 167&pcie0 { 168 status = "okay"; 169}; 170 171/* CON3 */ 172&sata { 173 status = "okay"; 174}; 175 176&sdhci0 { 177 non-removable; 178 bus-width = <8>; 179 mmc-ddr-1_8v; 180 mmc-hs400-1_8v; 181 marvell,pad-type = "fixed-1-8v"; 182 status = "okay"; 183}; 184 185/* SD slot module on CON14(V2.0)/CON15(V1.4) */ 186&sdhci1 { 187 wp-inverted; 188 cd-gpios = <&gpiosb 2 GPIO_ACTIVE_LOW>; 189 bus-width = <4>; 190 marvell,pad-type = "sd"; 191 vqmmc-supply = <&vcc_sd_reg1>; 192 vmmc-supply = <&vcc_sd_reg2>; 193 status = "okay"; 194}; 195 196&spi0 { 197 status = "okay"; 198 pinctrl-names = "default"; 199 pinctrl-0 = <&spi_quad_pins>; 200 201 m25p80@0 { 202 compatible = "jedec,spi-nor"; 203 reg = <0>; 204 spi-max-frequency = <108000000>; 205 spi-rx-bus-width = <4>; 206 spi-tx-bus-width = <4>; 207 208 partitions { 209 compatible = "fixed-partitions"; 210 #address-cells = <1>; 211 #size-cells = <1>; 212 partition@0 { 213 label = "bootloader"; 214 reg = <0x0 0x200000>; 215 }; 216 partition@200000 { 217 label = "U-boot Env"; 218 reg = <0x200000 0x10000>; 219 }; 220 partition@210000 { 221 label = "Linux"; 222 reg = <0x210000 0xDF0000>; 223 }; 224 }; 225 }; 226}; 227 228/* 229 * Exported on the micro USB connector CON30(V2.0)/CON32(V1.4) through 230 * an FTDI (also on CON24(V2.0)/CON26(V1.4)). 231 */ 232&uart0 { 233 pinctrl-names = "default"; 234 pinctrl-0 = <&uart1_pins>; 235 status = "okay"; 236}; 237 238/* CON26(V2.0)/CON28(V1.4) */ 239&uart1 { 240 pinctrl-names = "default"; 241 pinctrl-0 = <&uart2_pins>; 242 status = "okay"; 243}; 244 245/* CON27(V2.0)/CON29(V1.4) */ 246&usb2 { 247 status = "okay"; 248}; 249 250/* CON29(V2.0)/CON31(V1.4) */ 251&usb3 { 252 status = "okay"; 253 usb-phy = <&usb3_phy>; 254}; 255