1ec7e5a56SThomas Petazzoni/* 2ec7e5a56SThomas Petazzoni * Copyright (C) 2016 Marvell Technology Group Ltd. 3ec7e5a56SThomas Petazzoni * 4ec7e5a56SThomas Petazzoni * This file is dual-licensed: you can use it either under the terms 5ec7e5a56SThomas Petazzoni * of the GPLv2 or the X11 license, at your option. Note that this dual 6ec7e5a56SThomas Petazzoni * licensing only applies to this file, and not this project as a 7ec7e5a56SThomas Petazzoni * whole. 8ec7e5a56SThomas Petazzoni * 9ec7e5a56SThomas Petazzoni * a) This library is free software; you can redistribute it and/or 10ec7e5a56SThomas Petazzoni * modify it under the terms of the GNU General Public License as 11ec7e5a56SThomas Petazzoni * published by the Free Software Foundation; either version 2 of the 12ec7e5a56SThomas Petazzoni * License, or (at your option) any later version. 13ec7e5a56SThomas Petazzoni * 14ec7e5a56SThomas Petazzoni * This library is distributed in the hope that it will be useful, 15ec7e5a56SThomas Petazzoni * but WITHOUT ANY WARRANTY; without even the implied warranty of 16ec7e5a56SThomas Petazzoni * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17ec7e5a56SThomas Petazzoni * GNU General Public License for more details. 18ec7e5a56SThomas Petazzoni * 19ec7e5a56SThomas Petazzoni * Or, alternatively, 20ec7e5a56SThomas Petazzoni * 21ec7e5a56SThomas Petazzoni * b) Permission is hereby granted, free of charge, to any person 22ec7e5a56SThomas Petazzoni * obtaining a copy of this software and associated documentation 23ec7e5a56SThomas Petazzoni * files (the "Software"), to deal in the Software without 24ec7e5a56SThomas Petazzoni * restriction, including without limitation the rights to use, 25ec7e5a56SThomas Petazzoni * copy, modify, merge, publish, distribute, sublicense, and/or 26ec7e5a56SThomas Petazzoni * sell copies of the Software, and to permit persons to whom the 27ec7e5a56SThomas Petazzoni * Software is furnished to do so, subject to the following 28ec7e5a56SThomas Petazzoni * conditions: 29ec7e5a56SThomas Petazzoni * 30ec7e5a56SThomas Petazzoni * The above copyright notice and this permission notice shall be 31ec7e5a56SThomas Petazzoni * included in all copies or substantial portions of the Software. 32ec7e5a56SThomas Petazzoni * 33ec7e5a56SThomas Petazzoni * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34ec7e5a56SThomas Petazzoni * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35ec7e5a56SThomas Petazzoni * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36ec7e5a56SThomas Petazzoni * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37ec7e5a56SThomas Petazzoni * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38ec7e5a56SThomas Petazzoni * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39ec7e5a56SThomas Petazzoni * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40ec7e5a56SThomas Petazzoni * OTHER DEALINGS IN THE SOFTWARE. 41ec7e5a56SThomas Petazzoni */ 42ec7e5a56SThomas Petazzoni 43ec7e5a56SThomas Petazzoni/* 44ec7e5a56SThomas Petazzoni * Device Tree file for Marvell Armada 7040 Development board platform 45ec7e5a56SThomas Petazzoni */ 46ec7e5a56SThomas Petazzoni 47915c71daSHanna Hawa#include <dt-bindings/gpio/gpio.h> 48ec7e5a56SThomas Petazzoni#include "armada-7040.dtsi" 49ec7e5a56SThomas Petazzoni 50ec7e5a56SThomas Petazzoni/ { 51ec7e5a56SThomas Petazzoni model = "Marvell Armada 7040 DB board"; 52ec7e5a56SThomas Petazzoni compatible = "marvell,armada7040-db", "marvell,armada7040", 53ec7e5a56SThomas Petazzoni "marvell,armada-ap806-quad", "marvell,armada-ap806"; 54ec7e5a56SThomas Petazzoni 55bf151162SThomas Petazzoni chosen { 56bf151162SThomas Petazzoni stdout-path = "serial0:115200n8"; 57bf151162SThomas Petazzoni }; 58bf151162SThomas Petazzoni 59ec7e5a56SThomas Petazzoni memory@00000000 { 60ec7e5a56SThomas Petazzoni device_type = "memory"; 61ec7e5a56SThomas Petazzoni reg = <0x0 0x0 0x0 0x80000000>; 62ec7e5a56SThomas Petazzoni }; 63915c71daSHanna Hawa 64915c71daSHanna Hawa cpm_reg_usb3_0_vbus: cpm-usb3-0-vbus { 65915c71daSHanna Hawa compatible = "regulator-fixed"; 66915c71daSHanna Hawa regulator-name = "usb3h0-vbus"; 67915c71daSHanna Hawa regulator-min-microvolt = <5000000>; 68915c71daSHanna Hawa regulator-max-microvolt = <5000000>; 69915c71daSHanna Hawa enable-active-high; 70915c71daSHanna Hawa gpio = <&expander0 0 GPIO_ACTIVE_HIGH>; 71915c71daSHanna Hawa }; 72915c71daSHanna Hawa 73915c71daSHanna Hawa cpm_reg_usb3_1_vbus: cpm-usb3-1-vbus { 74915c71daSHanna Hawa compatible = "regulator-fixed"; 75915c71daSHanna Hawa regulator-name = "usb3h1-vbus"; 76915c71daSHanna Hawa regulator-min-microvolt = <5000000>; 77915c71daSHanna Hawa regulator-max-microvolt = <5000000>; 78915c71daSHanna Hawa enable-active-high; 79915c71daSHanna Hawa gpio = <&expander0 1 GPIO_ACTIVE_HIGH>; 80915c71daSHanna Hawa }; 81915c71daSHanna Hawa 82915c71daSHanna Hawa cpm_usb3_0_phy: cpm-usb3-0-phy { 83915c71daSHanna Hawa compatible = "usb-nop-xceiv"; 84915c71daSHanna Hawa vcc-supply = <&cpm_reg_usb3_0_vbus>; 85915c71daSHanna Hawa }; 86915c71daSHanna Hawa 87915c71daSHanna Hawa cpm_usb3_1_phy: cpm-usb3-1-phy { 88915c71daSHanna Hawa compatible = "usb-nop-xceiv"; 89915c71daSHanna Hawa vcc-supply = <&cpm_reg_usb3_1_vbus>; 90915c71daSHanna Hawa }; 91037ad463SAndreas Färber}; 92ec7e5a56SThomas Petazzoni 93037ad463SAndreas Färber&i2c0 { 94037ad463SAndreas Färber status = "okay"; 95037ad463SAndreas Färber clock-frequency = <100000>; 96037ad463SAndreas Färber}; 97037ad463SAndreas Färber 98037ad463SAndreas Färber&spi0 { 99ec7e5a56SThomas Petazzoni status = "okay"; 100ec7e5a56SThomas Petazzoni 101ec7e5a56SThomas Petazzoni spi-flash@0 { 102ec7e5a56SThomas Petazzoni #address-cells = <1>; 103ec7e5a56SThomas Petazzoni #size-cells = <1>; 104fe85e20eSThomas Petazzoni compatible = "jedec,spi-nor"; 105fe85e20eSThomas Petazzoni reg = <0>; 106ec7e5a56SThomas Petazzoni spi-max-frequency = <10000000>; 107ec7e5a56SThomas Petazzoni 108fe85e20eSThomas Petazzoni partitions { 109fe85e20eSThomas Petazzoni compatible = "fixed-partitions"; 110fe85e20eSThomas Petazzoni #address-cells = <1>; 111fe85e20eSThomas Petazzoni #size-cells = <1>; 112fe85e20eSThomas Petazzoni 113ec7e5a56SThomas Petazzoni partition@0 { 114ec7e5a56SThomas Petazzoni label = "U-Boot"; 115ec7e5a56SThomas Petazzoni reg = <0 0x200000>; 116ec7e5a56SThomas Petazzoni }; 117ec7e5a56SThomas Petazzoni partition@400000 { 118ec7e5a56SThomas Petazzoni label = "Filesystem"; 119ec7e5a56SThomas Petazzoni reg = <0x200000 0xce0000>; 120ec7e5a56SThomas Petazzoni }; 121ec7e5a56SThomas Petazzoni }; 122ec7e5a56SThomas Petazzoni }; 123fe85e20eSThomas Petazzoni}; 124ec7e5a56SThomas Petazzoni 125037ad463SAndreas Färber&uart0 { 126ec7e5a56SThomas Petazzoni status = "okay"; 1279e83bbdbSThomas Petazzoni pinctrl-0 = <&uart0_pins>; 1289e83bbdbSThomas Petazzoni pinctrl-names = "default"; 129ec7e5a56SThomas Petazzoni}; 130fea14498SThomas Petazzoni 131fea14498SThomas Petazzoni 132fea14498SThomas Petazzoni&cpm_pcie2 { 133fea14498SThomas Petazzoni status = "okay"; 134fea14498SThomas Petazzoni}; 135fea14498SThomas Petazzoni 136fea14498SThomas Petazzoni&cpm_i2c0 { 137fea14498SThomas Petazzoni status = "okay"; 138fea14498SThomas Petazzoni clock-frequency = <100000>; 139915c71daSHanna Hawa 140915c71daSHanna Hawa expander0: pca9555@21 { 141915c71daSHanna Hawa compatible = "nxp,pca9555"; 142915c71daSHanna Hawa pinctrl-names = "default"; 143915c71daSHanna Hawa gpio-controller; 144915c71daSHanna Hawa #gpio-cells = <2>; 145915c71daSHanna Hawa reg = <0x21>; 146915c71daSHanna Hawa }; 147fea14498SThomas Petazzoni}; 148fea14498SThomas Petazzoni 14973ae5fe8SGregory CLEMENT&cpm_nand { 15073ae5fe8SGregory CLEMENT /* 15173ae5fe8SGregory CLEMENT * SPI on CPM and NAND have common pins on this board. We can 15273ae5fe8SGregory CLEMENT * use only one at a time. To enable the NAND (whihch will 15373ae5fe8SGregory CLEMENT * disable the SPI), the "status = "okay";" line have to be 15473ae5fe8SGregory CLEMENT * added here. 15573ae5fe8SGregory CLEMENT */ 15673ae5fe8SGregory CLEMENT num-cs = <1>; 15773ae5fe8SGregory CLEMENT pinctrl-0 = <&nand_pins>, <&nand_rb>; 15873ae5fe8SGregory CLEMENT pinctrl-names = "default"; 15973ae5fe8SGregory CLEMENT nand-ecc-strength = <4>; 16073ae5fe8SGregory CLEMENT nand-ecc-step-size = <512>; 16173ae5fe8SGregory CLEMENT marvell,nand-enable-arbiter; 16273ae5fe8SGregory CLEMENT nand-on-flash-bbt; 16373ae5fe8SGregory CLEMENT 16473ae5fe8SGregory CLEMENT partition@0 { 16573ae5fe8SGregory CLEMENT label = "U-Boot"; 16673ae5fe8SGregory CLEMENT reg = <0 0x200000>; 16773ae5fe8SGregory CLEMENT }; 16873ae5fe8SGregory CLEMENT partition@200000 { 16973ae5fe8SGregory CLEMENT label = "Linux"; 17073ae5fe8SGregory CLEMENT reg = <0x200000 0xe00000>; 17173ae5fe8SGregory CLEMENT }; 17273ae5fe8SGregory CLEMENT partition@1000000 { 17373ae5fe8SGregory CLEMENT label = "Filesystem"; 17473ae5fe8SGregory CLEMENT reg = <0x1000000 0x3f000000>; 17573ae5fe8SGregory CLEMENT }; 17673ae5fe8SGregory CLEMENT}; 17773ae5fe8SGregory CLEMENT 17873ae5fe8SGregory CLEMENT 179fea14498SThomas Petazzoni&cpm_spi1 { 180fea14498SThomas Petazzoni status = "okay"; 181fea14498SThomas Petazzoni 182fea14498SThomas Petazzoni spi-flash@0 { 183fea14498SThomas Petazzoni #address-cells = <0x1>; 184fea14498SThomas Petazzoni #size-cells = <0x1>; 185fea14498SThomas Petazzoni compatible = "jedec,spi-nor"; 186fea14498SThomas Petazzoni reg = <0x0>; 187fea14498SThomas Petazzoni spi-max-frequency = <20000000>; 188fea14498SThomas Petazzoni 189fea14498SThomas Petazzoni partitions { 190fea14498SThomas Petazzoni compatible = "fixed-partitions"; 191fea14498SThomas Petazzoni #address-cells = <1>; 192fea14498SThomas Petazzoni #size-cells = <1>; 193fea14498SThomas Petazzoni 194fea14498SThomas Petazzoni partition@0 { 195fea14498SThomas Petazzoni label = "U-Boot"; 196fea14498SThomas Petazzoni reg = <0x0 0x200000>; 197fea14498SThomas Petazzoni }; 198fea14498SThomas Petazzoni 199fea14498SThomas Petazzoni partition@400000 { 200fea14498SThomas Petazzoni label = "Filesystem"; 201fea14498SThomas Petazzoni reg = <0x200000 0xe00000>; 202fea14498SThomas Petazzoni }; 203fea14498SThomas Petazzoni }; 204fea14498SThomas Petazzoni }; 205fea14498SThomas Petazzoni}; 206fea14498SThomas Petazzoni 207fea14498SThomas Petazzoni&cpm_sata0 { 208fea14498SThomas Petazzoni status = "okay"; 209fea14498SThomas Petazzoni}; 210fea14498SThomas Petazzoni 211fea14498SThomas Petazzoni&cpm_usb3_0 { 212915c71daSHanna Hawa usb-phy = <&cpm_usb3_0_phy>; 213fea14498SThomas Petazzoni status = "okay"; 214fea14498SThomas Petazzoni}; 215fea14498SThomas Petazzoni 216fea14498SThomas Petazzoni&cpm_usb3_1 { 217915c71daSHanna Hawa usb-phy = <&cpm_usb3_1_phy>; 218fea14498SThomas Petazzoni status = "okay"; 219fea14498SThomas Petazzoni}; 22060894719SThomas Petazzoni 221910b4c5cSGregory CLEMENT&ap_sdhci0 { 222910b4c5cSGregory CLEMENT status = "okay"; 223910b4c5cSGregory CLEMENT bus-width = <4>; 224910b4c5cSGregory CLEMENT no-1-8-v; 225910b4c5cSGregory CLEMENT non-removable; 226910b4c5cSGregory CLEMENT}; 227910b4c5cSGregory CLEMENT 228910b4c5cSGregory CLEMENT&cpm_sdhci0 { 229910b4c5cSGregory CLEMENT status = "okay"; 230910b4c5cSGregory CLEMENT bus-width = <4>; 231910b4c5cSGregory CLEMENT no-1-8-v; 232910b4c5cSGregory CLEMENT non-removable; 233910b4c5cSGregory CLEMENT}; 234910b4c5cSGregory CLEMENT 23560894719SThomas Petazzoni&cpm_mdio { 2363c6912cdSAntoine Tenart status = "okay"; 2373c6912cdSAntoine Tenart 23860894719SThomas Petazzoni phy0: ethernet-phy@0 { 23960894719SThomas Petazzoni reg = <0>; 24060894719SThomas Petazzoni }; 24160894719SThomas Petazzoni phy1: ethernet-phy@1 { 24260894719SThomas Petazzoni reg = <1>; 24360894719SThomas Petazzoni }; 24460894719SThomas Petazzoni}; 24560894719SThomas Petazzoni 24660894719SThomas Petazzoni&cpm_ethernet { 24760894719SThomas Petazzoni status = "okay"; 24860894719SThomas Petazzoni}; 24960894719SThomas Petazzoni 25030967cfeSAntoine Tenart&cpm_eth0 { 25130967cfeSAntoine Tenart status = "okay"; 25230967cfeSAntoine Tenart /* Network PHY */ 25330967cfeSAntoine Tenart phy-mode = "10gbase-kr"; 25430967cfeSAntoine Tenart /* Generic PHY, providing serdes lanes */ 25530967cfeSAntoine Tenart phys = <&cpm_comphy2 0>; 25630967cfeSAntoine Tenart}; 25730967cfeSAntoine Tenart 25860894719SThomas Petazzoni&cpm_eth1 { 25960894719SThomas Petazzoni status = "okay"; 260723abeedSAntoine Tenart /* Network PHY */ 26160894719SThomas Petazzoni phy = <&phy0>; 26260894719SThomas Petazzoni phy-mode = "sgmii"; 263723abeedSAntoine Tenart /* Generic PHY, providing serdes lanes */ 264723abeedSAntoine Tenart phys = <&cpm_comphy0 1>; 26560894719SThomas Petazzoni}; 26660894719SThomas Petazzoni 26760894719SThomas Petazzoni&cpm_eth2 { 26860894719SThomas Petazzoni status = "okay"; 26960894719SThomas Petazzoni phy = <&phy1>; 27060894719SThomas Petazzoni phy-mode = "rgmii-id"; 27160894719SThomas Petazzoni}; 272