175dba886SGregory CLEMENT// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2ec7e5a56SThomas Petazzoni/* 3ec7e5a56SThomas Petazzoni * Copyright (C) 2016 Marvell Technology Group Ltd. 4ec7e5a56SThomas Petazzoni * 5ec7e5a56SThomas Petazzoni * Device Tree file for Marvell Armada 7040 Development board platform 6ec7e5a56SThomas Petazzoni */ 7ec7e5a56SThomas Petazzoni 8915c71daSHanna Hawa#include <dt-bindings/gpio/gpio.h> 9ec7e5a56SThomas Petazzoni#include "armada-7040.dtsi" 10ec7e5a56SThomas Petazzoni 11ec7e5a56SThomas Petazzoni/ { 12ec7e5a56SThomas Petazzoni model = "Marvell Armada 7040 DB board"; 13ec7e5a56SThomas Petazzoni compatible = "marvell,armada7040-db", "marvell,armada7040", 14ec7e5a56SThomas Petazzoni "marvell,armada-ap806-quad", "marvell,armada-ap806"; 15ec7e5a56SThomas Petazzoni 16bf151162SThomas Petazzoni chosen { 17bf151162SThomas Petazzoni stdout-path = "serial0:115200n8"; 18bf151162SThomas Petazzoni }; 19bf151162SThomas Petazzoni 20d8bcaabeSRob Herring memory@0 { 21ec7e5a56SThomas Petazzoni device_type = "memory"; 22ec7e5a56SThomas Petazzoni reg = <0x0 0x0 0x0 0x80000000>; 23ec7e5a56SThomas Petazzoni }; 24915c71daSHanna Hawa 25474c5885SYan Markman aliases { 26474c5885SYan Markman ethernet0 = &cp0_eth0; 27474c5885SYan Markman ethernet1 = &cp0_eth1; 28474c5885SYan Markman ethernet2 = &cp0_eth2; 29474c5885SYan Markman }; 30474c5885SYan Markman 3191f1be92SThomas Petazzoni cp0_reg_usb3_0_vbus: cp0-usb3-0-vbus { 32915c71daSHanna Hawa compatible = "regulator-fixed"; 33915c71daSHanna Hawa regulator-name = "usb3h0-vbus"; 34915c71daSHanna Hawa regulator-min-microvolt = <5000000>; 35915c71daSHanna Hawa regulator-max-microvolt = <5000000>; 36915c71daSHanna Hawa enable-active-high; 37915c71daSHanna Hawa gpio = <&expander0 0 GPIO_ACTIVE_HIGH>; 38915c71daSHanna Hawa }; 39915c71daSHanna Hawa 4091f1be92SThomas Petazzoni cp0_reg_usb3_1_vbus: cp0-usb3-1-vbus { 41915c71daSHanna Hawa compatible = "regulator-fixed"; 42915c71daSHanna Hawa regulator-name = "usb3h1-vbus"; 43915c71daSHanna Hawa regulator-min-microvolt = <5000000>; 44915c71daSHanna Hawa regulator-max-microvolt = <5000000>; 45915c71daSHanna Hawa enable-active-high; 46915c71daSHanna Hawa gpio = <&expander0 1 GPIO_ACTIVE_HIGH>; 47915c71daSHanna Hawa }; 48915c71daSHanna Hawa 4991f1be92SThomas Petazzoni cp0_usb3_0_phy: cp0-usb3-0-phy { 50915c71daSHanna Hawa compatible = "usb-nop-xceiv"; 5191f1be92SThomas Petazzoni vcc-supply = <&cp0_reg_usb3_0_vbus>; 52915c71daSHanna Hawa }; 53915c71daSHanna Hawa 5491f1be92SThomas Petazzoni cp0_usb3_1_phy: cp0-usb3-1-phy { 55915c71daSHanna Hawa compatible = "usb-nop-xceiv"; 5691f1be92SThomas Petazzoni vcc-supply = <&cp0_reg_usb3_1_vbus>; 57915c71daSHanna Hawa }; 58037ad463SAndreas Färber}; 59ec7e5a56SThomas Petazzoni 60037ad463SAndreas Färber&i2c0 { 61037ad463SAndreas Färber status = "okay"; 62037ad463SAndreas Färber clock-frequency = <100000>; 63037ad463SAndreas Färber}; 64037ad463SAndreas Färber 65037ad463SAndreas Färber&spi0 { 66ec7e5a56SThomas Petazzoni status = "okay"; 67ec7e5a56SThomas Petazzoni 68ec7e5a56SThomas Petazzoni spi-flash@0 { 69ec7e5a56SThomas Petazzoni #address-cells = <1>; 70ec7e5a56SThomas Petazzoni #size-cells = <1>; 71fe85e20eSThomas Petazzoni compatible = "jedec,spi-nor"; 72fe85e20eSThomas Petazzoni reg = <0>; 73ec7e5a56SThomas Petazzoni spi-max-frequency = <10000000>; 74ec7e5a56SThomas Petazzoni 75fe85e20eSThomas Petazzoni partitions { 76fe85e20eSThomas Petazzoni compatible = "fixed-partitions"; 77fe85e20eSThomas Petazzoni #address-cells = <1>; 78fe85e20eSThomas Petazzoni #size-cells = <1>; 79fe85e20eSThomas Petazzoni 80ec7e5a56SThomas Petazzoni partition@0 { 81ec7e5a56SThomas Petazzoni label = "U-Boot"; 82ec7e5a56SThomas Petazzoni reg = <0 0x200000>; 83ec7e5a56SThomas Petazzoni }; 84ec7e5a56SThomas Petazzoni partition@400000 { 85ec7e5a56SThomas Petazzoni label = "Filesystem"; 86ec7e5a56SThomas Petazzoni reg = <0x200000 0xce0000>; 87ec7e5a56SThomas Petazzoni }; 88ec7e5a56SThomas Petazzoni }; 89ec7e5a56SThomas Petazzoni }; 90fe85e20eSThomas Petazzoni}; 91ec7e5a56SThomas Petazzoni 92037ad463SAndreas Färber&uart0 { 93ec7e5a56SThomas Petazzoni status = "okay"; 949e83bbdbSThomas Petazzoni pinctrl-0 = <&uart0_pins>; 959e83bbdbSThomas Petazzoni pinctrl-names = "default"; 96ec7e5a56SThomas Petazzoni}; 97fea14498SThomas Petazzoni 98fea14498SThomas Petazzoni 9991f1be92SThomas Petazzoni&cp0_pcie2 { 100fea14498SThomas Petazzoni status = "okay"; 101fea14498SThomas Petazzoni}; 102fea14498SThomas Petazzoni 10391f1be92SThomas Petazzoni&cp0_i2c0 { 104fea14498SThomas Petazzoni status = "okay"; 105fea14498SThomas Petazzoni clock-frequency = <100000>; 106915c71daSHanna Hawa 107915c71daSHanna Hawa expander0: pca9555@21 { 108915c71daSHanna Hawa compatible = "nxp,pca9555"; 109915c71daSHanna Hawa pinctrl-names = "default"; 110915c71daSHanna Hawa gpio-controller; 111915c71daSHanna Hawa #gpio-cells = <2>; 112915c71daSHanna Hawa reg = <0x21>; 113a5f5c5bbSGregory CLEMENT /* 114a5f5c5bbSGregory CLEMENT * IO0_0: USB3_PWR_EN0 IO1_0: USB_3_1_Dev_Detect 115a5f5c5bbSGregory CLEMENT * IO0_1: USB3_PWR_EN1 IO1_1: USB2_1_current_limit 116a5f5c5bbSGregory CLEMENT * IO0_2: DDR3_4_Detect IO1_2: Hcon_IO_RstN 117a5f5c5bbSGregory CLEMENT * IO0_3: USB2_DEVICE_DETECT 118a5f5c5bbSGregory CLEMENT * IO0_4: GPIO_0 IO1_4: SD_Status 119a5f5c5bbSGregory CLEMENT * IO0_5: GPIO_1 IO1_5: LDO_5V_Enable 120a5f5c5bbSGregory CLEMENT * IO0_6: IHB_5V_Enable IO1_6: PWR_EN_eMMC 121a5f5c5bbSGregory CLEMENT * IO0_7: IO1_7: SDIO_Vcntrl 122a5f5c5bbSGregory CLEMENT */ 123915c71daSHanna Hawa }; 124fea14498SThomas Petazzoni}; 125fea14498SThomas Petazzoni 1261e09a73fSMiquel Raynal&cp0_nand_controller { 12773ae5fe8SGregory CLEMENT /* 12873ae5fe8SGregory CLEMENT * SPI on CPM and NAND have common pins on this board. We can 1291e09a73fSMiquel Raynal * use only one at a time. To enable the NAND (which will 13073ae5fe8SGregory CLEMENT * disable the SPI), the "status = "okay";" line have to be 13173ae5fe8SGregory CLEMENT * added here. 13273ae5fe8SGregory CLEMENT */ 13373ae5fe8SGregory CLEMENT pinctrl-0 = <&nand_pins>, <&nand_rb>; 13473ae5fe8SGregory CLEMENT pinctrl-names = "default"; 1351e09a73fSMiquel Raynal 1361e09a73fSMiquel Raynal nand@0 { 1371e09a73fSMiquel Raynal reg = <0>; 1381e09a73fSMiquel Raynal label = "pxa3xx_nand-0"; 1391e09a73fSMiquel Raynal nand-rb = <0>; 1401e09a73fSMiquel Raynal nand-on-flash-bbt; 14173ae5fe8SGregory CLEMENT nand-ecc-strength = <4>; 14273ae5fe8SGregory CLEMENT nand-ecc-step-size = <512>; 1431e09a73fSMiquel Raynal 1441e09a73fSMiquel Raynal partitions { 1451e09a73fSMiquel Raynal compatible = "fixed-partitions"; 1461e09a73fSMiquel Raynal #address-cells = <1>; 1471e09a73fSMiquel Raynal #size-cells = <1>; 14873ae5fe8SGregory CLEMENT 14973ae5fe8SGregory CLEMENT partition@0 { 15073ae5fe8SGregory CLEMENT label = "U-Boot"; 15173ae5fe8SGregory CLEMENT reg = <0 0x200000>; 15273ae5fe8SGregory CLEMENT }; 1531e09a73fSMiquel Raynal 15473ae5fe8SGregory CLEMENT partition@200000 { 15573ae5fe8SGregory CLEMENT label = "Linux"; 15673ae5fe8SGregory CLEMENT reg = <0x200000 0xe00000>; 15773ae5fe8SGregory CLEMENT }; 1581e09a73fSMiquel Raynal 15973ae5fe8SGregory CLEMENT partition@1000000 { 16073ae5fe8SGregory CLEMENT label = "Filesystem"; 16173ae5fe8SGregory CLEMENT reg = <0x1000000 0x3f000000>; 16273ae5fe8SGregory CLEMENT }; 16373ae5fe8SGregory CLEMENT 1641e09a73fSMiquel Raynal }; 1651e09a73fSMiquel Raynal }; 1661e09a73fSMiquel Raynal}; 16773ae5fe8SGregory CLEMENT 16891f1be92SThomas Petazzoni&cp0_spi1 { 169fea14498SThomas Petazzoni status = "okay"; 170fea14498SThomas Petazzoni 171fea14498SThomas Petazzoni spi-flash@0 { 172fea14498SThomas Petazzoni #address-cells = <0x1>; 173fea14498SThomas Petazzoni #size-cells = <0x1>; 174fea14498SThomas Petazzoni compatible = "jedec,spi-nor"; 175fea14498SThomas Petazzoni reg = <0x0>; 176fea14498SThomas Petazzoni spi-max-frequency = <20000000>; 177fea14498SThomas Petazzoni 178fea14498SThomas Petazzoni partitions { 179fea14498SThomas Petazzoni compatible = "fixed-partitions"; 180fea14498SThomas Petazzoni #address-cells = <1>; 181fea14498SThomas Petazzoni #size-cells = <1>; 182fea14498SThomas Petazzoni 183fea14498SThomas Petazzoni partition@0 { 184fea14498SThomas Petazzoni label = "U-Boot"; 185fea14498SThomas Petazzoni reg = <0x0 0x200000>; 186fea14498SThomas Petazzoni }; 187fea14498SThomas Petazzoni 188fea14498SThomas Petazzoni partition@400000 { 189fea14498SThomas Petazzoni label = "Filesystem"; 190fea14498SThomas Petazzoni reg = <0x200000 0xe00000>; 191fea14498SThomas Petazzoni }; 192fea14498SThomas Petazzoni }; 193fea14498SThomas Petazzoni }; 194fea14498SThomas Petazzoni}; 195fea14498SThomas Petazzoni 19691f1be92SThomas Petazzoni&cp0_sata0 { 197fea14498SThomas Petazzoni status = "okay"; 198fea14498SThomas Petazzoni}; 199fea14498SThomas Petazzoni 20091f1be92SThomas Petazzoni&cp0_usb3_0 { 20191f1be92SThomas Petazzoni usb-phy = <&cp0_usb3_0_phy>; 202fea14498SThomas Petazzoni status = "okay"; 203fea14498SThomas Petazzoni}; 204fea14498SThomas Petazzoni 20591f1be92SThomas Petazzoni&cp0_usb3_1 { 20691f1be92SThomas Petazzoni usb-phy = <&cp0_usb3_1_phy>; 207fea14498SThomas Petazzoni status = "okay"; 208fea14498SThomas Petazzoni}; 20960894719SThomas Petazzoni 210910b4c5cSGregory CLEMENT&ap_sdhci0 { 211910b4c5cSGregory CLEMENT status = "okay"; 212910b4c5cSGregory CLEMENT bus-width = <4>; 213910b4c5cSGregory CLEMENT no-1-8-v; 214910b4c5cSGregory CLEMENT non-removable; 215910b4c5cSGregory CLEMENT}; 216910b4c5cSGregory CLEMENT 21791f1be92SThomas Petazzoni&cp0_sdhci0 { 218910b4c5cSGregory CLEMENT status = "okay"; 219910b4c5cSGregory CLEMENT bus-width = <4>; 220910b4c5cSGregory CLEMENT no-1-8-v; 221c4e3bf29SGregory CLEMENT cd-gpios = <&expander0 12 GPIO_ACTIVE_LOW>; 222910b4c5cSGregory CLEMENT}; 223910b4c5cSGregory CLEMENT 22491f1be92SThomas Petazzoni&cp0_mdio { 2253c6912cdSAntoine Tenart status = "okay"; 2263c6912cdSAntoine Tenart 22760894719SThomas Petazzoni phy0: ethernet-phy@0 { 22860894719SThomas Petazzoni reg = <0>; 22960894719SThomas Petazzoni }; 23060894719SThomas Petazzoni phy1: ethernet-phy@1 { 23160894719SThomas Petazzoni reg = <1>; 23260894719SThomas Petazzoni }; 23360894719SThomas Petazzoni}; 23460894719SThomas Petazzoni 23591f1be92SThomas Petazzoni&cp0_ethernet { 23660894719SThomas Petazzoni status = "okay"; 23760894719SThomas Petazzoni}; 23860894719SThomas Petazzoni 23991f1be92SThomas Petazzoni&cp0_eth0 { 24030967cfeSAntoine Tenart status = "okay"; 24130967cfeSAntoine Tenart /* Network PHY */ 24230967cfeSAntoine Tenart phy-mode = "10gbase-kr"; 24330967cfeSAntoine Tenart /* Generic PHY, providing serdes lanes */ 24491f1be92SThomas Petazzoni phys = <&cp0_comphy2 0>; 2454640efc0SAntoine Tenart 2464640efc0SAntoine Tenart fixed-link { 2474640efc0SAntoine Tenart speed = <10000>; 2484640efc0SAntoine Tenart full-duplex; 2494640efc0SAntoine Tenart }; 25030967cfeSAntoine Tenart}; 25130967cfeSAntoine Tenart 25291f1be92SThomas Petazzoni&cp0_eth1 { 25360894719SThomas Petazzoni status = "okay"; 254723abeedSAntoine Tenart /* Network PHY */ 25560894719SThomas Petazzoni phy = <&phy0>; 25660894719SThomas Petazzoni phy-mode = "sgmii"; 257723abeedSAntoine Tenart /* Generic PHY, providing serdes lanes */ 25891f1be92SThomas Petazzoni phys = <&cp0_comphy0 1>; 25960894719SThomas Petazzoni}; 26060894719SThomas Petazzoni 26191f1be92SThomas Petazzoni&cp0_eth2 { 26260894719SThomas Petazzoni status = "okay"; 26360894719SThomas Petazzoni phy = <&phy1>; 26460894719SThomas Petazzoni phy-mode = "rgmii-id"; 26560894719SThomas Petazzoni}; 266