1/* 2 * Copyright (C) 2016 Marvell Technology Group Ltd. 3 * 4 * This file is dual-licensed: you can use it either under the terms 5 * of the GPLv2 or the X11 license, at your option. Note that this dual 6 * licensing only applies to this file, and not this project as a 7 * whole. 8 * 9 * a) This library is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU General Public License as 11 * published by the Free Software Foundation; either version 2 of the 12 * License, or (at your option) any later version. 13 * 14 * This library is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * Or, alternatively, 20 * 21 * b) Permission is hereby granted, free of charge, to any person 22 * obtaining a copy of this software and associated documentation 23 * files (the "Software"), to deal in the Software without 24 * restriction, including without limitation the rights to use, 25 * copy, modify, merge, publish, distribute, sublicense, and/or 26 * sell copies of the Software, and to permit persons to whom the 27 * Software is furnished to do so, subject to the following 28 * conditions: 29 * 30 * The above copyright notice and this permission notice shall be 31 * included in all copies or substantial portions of the Software. 32 * 33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40 * OTHER DEALINGS IN THE SOFTWARE. 41 */ 42 43/* 44 * Device Tree file for Marvell Armada 8040 Development board platform 45 */ 46 47#include <dt-bindings/gpio/gpio.h> 48#include "armada-8040.dtsi" 49 50/ { 51 model = "Marvell Armada 8040 DB board"; 52 compatible = "marvell,armada8040-db", "marvell,armada8040", 53 "marvell,armada-ap806-quad", "marvell,armada-ap806"; 54 55 chosen { 56 stdout-path = "serial0:115200n8"; 57 }; 58 59 memory@00000000 { 60 device_type = "memory"; 61 reg = <0x0 0x0 0x0 0x80000000>; 62 }; 63 64 aliases { 65 ethernet0 = &cpm_eth0; 66 ethernet1 = &cpm_eth2; 67 ethernet2 = &cps_eth0; 68 ethernet3 = &cps_eth1; 69 }; 70 71 cpm_reg_usb3_0_vbus: cpm-usb3-0-vbus { 72 compatible = "regulator-fixed"; 73 regulator-name = "cpm-usb3h0-vbus"; 74 regulator-min-microvolt = <5000000>; 75 regulator-max-microvolt = <5000000>; 76 enable-active-high; 77 gpio = <&expander0 0 GPIO_ACTIVE_HIGH>; 78 }; 79 80 cpm_reg_usb3_1_vbus: cpm-usb3-1-vbus { 81 compatible = "regulator-fixed"; 82 regulator-name = "cpm-usb3h1-vbus"; 83 regulator-min-microvolt = <5000000>; 84 regulator-max-microvolt = <5000000>; 85 enable-active-high; 86 gpio = <&expander0 1 GPIO_ACTIVE_HIGH>; 87 }; 88 89 cpm_usb3_0_phy: cpm-usb3-0-phy { 90 compatible = "usb-nop-xceiv"; 91 vcc-supply = <&cpm_reg_usb3_0_vbus>; 92 }; 93 94 cpm_usb3_1_phy: cpm-usb3-1-phy { 95 compatible = "usb-nop-xceiv"; 96 vcc-supply = <&cpm_reg_usb3_1_vbus>; 97 }; 98 99 cps_reg_usb3_0_vbus: cps-usb3-0-vbus { 100 compatible = "regulator-fixed"; 101 regulator-name = "cps-usb3h0-vbus"; 102 regulator-min-microvolt = <5000000>; 103 regulator-max-microvolt = <5000000>; 104 enable-active-high; 105 gpio = <&expander1 0 GPIO_ACTIVE_HIGH>; 106 }; 107 108 cps_usb3_0_phy: cps-usb3-0-phy { 109 compatible = "usb-nop-xceiv"; 110 vcc-supply = <&cps_reg_usb3_0_vbus>; 111 }; 112}; 113 114&i2c0 { 115 status = "okay"; 116 clock-frequency = <100000>; 117}; 118 119&spi0 { 120 status = "okay"; 121 122 spi-flash@0 { 123 #address-cells = <1>; 124 #size-cells = <1>; 125 compatible = "jedec,spi-nor"; 126 reg = <0>; 127 spi-max-frequency = <10000000>; 128 129 partitions { 130 compatible = "fixed-partitions"; 131 #address-cells = <1>; 132 #size-cells = <1>; 133 134 partition@0 { 135 label = "U-Boot"; 136 reg = <0 0x200000>; 137 }; 138 partition@400000 { 139 label = "Filesystem"; 140 reg = <0x200000 0xce0000>; 141 }; 142 }; 143 }; 144}; 145 146/* Accessible over the mini-USB CON9 connector on the main board */ 147&uart0 { 148 status = "okay"; 149}; 150 151 152/* CON5 on CP0 expansion */ 153&cpm_pcie2 { 154 status = "okay"; 155}; 156 157&cpm_i2c0 { 158 status = "okay"; 159 clock-frequency = <100000>; 160 161 /* U31 */ 162 expander0: pca9555@21 { 163 compatible = "nxp,pca9555"; 164 pinctrl-names = "default"; 165 gpio-controller; 166 #gpio-cells = <2>; 167 reg = <0x21>; 168 }; 169 170 /* U25 */ 171 expander1: pca9555@25 { 172 compatible = "nxp,pca9555"; 173 pinctrl-names = "default"; 174 gpio-controller; 175 #gpio-cells = <2>; 176 reg = <0x25>; 177 }; 178 179}; 180 181/* CON4 on CP0 expansion */ 182&cpm_sata0 { 183 status = "okay"; 184}; 185 186/* CON9 on CP0 expansion */ 187&cpm_usb3_0 { 188 usb-phy = <&cpm_usb3_0_phy>; 189 status = "okay"; 190}; 191 192/* CON10 on CP0 expansion */ 193&cpm_usb3_1 { 194 usb-phy = <&cpm_usb3_1_phy>; 195 status = "okay"; 196}; 197 198&cpm_mdio { 199 status = "okay"; 200 201 phy1: ethernet-phy@1 { 202 reg = <1>; 203 }; 204}; 205 206&cpm_ethernet { 207 status = "okay"; 208}; 209 210&cpm_eth2 { 211 status = "okay"; 212 phy = <&phy1>; 213 phy-mode = "rgmii-id"; 214}; 215 216/* CON5 on CP1 expansion */ 217&cps_pcie2 { 218 status = "okay"; 219}; 220 221&cps_i2c0 { 222 status = "okay"; 223 clock-frequency = <100000>; 224}; 225 226/* CON4 on CP1 expansion */ 227&cps_sata0 { 228 status = "okay"; 229}; 230 231/* CON9 on CP1 expansion */ 232&cps_usb3_0 { 233 usb-phy = <&cps_usb3_0_phy>; 234 status = "okay"; 235}; 236 237/* CON10 on CP1 expansion */ 238&cps_usb3_1 { 239 status = "okay"; 240}; 241 242&cps_mdio { 243 status = "okay"; 244 245 phy0: ethernet-phy@0 { 246 reg = <0>; 247 }; 248}; 249 250&cps_ethernet { 251 status = "okay"; 252}; 253 254&cps_eth1 { 255 status = "okay"; 256 phy = <&phy0>; 257 phy-mode = "rgmii-id"; 258}; 259 260&ap_sdhci0 { 261 status = "okay"; 262 bus-width = <4>; 263 non-removable; 264}; 265 266&cpm_sdhci0 { 267 status = "okay"; 268 bus-width = <8>; 269 non-removable; 270}; 271