14e6a62b6SGregory CLEMENT// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2ec03445cSThomas Petazzoni/* 3ec03445cSThomas Petazzoni * Copyright (C) 2016 Marvell Technology Group Ltd. 4ec03445cSThomas Petazzoni * 5ec03445cSThomas Petazzoni * Device Tree file for Marvell Armada 8040 Development board platform 6ec03445cSThomas Petazzoni */ 7ec03445cSThomas Petazzoni 80ea62502SGrzegorz Jaszczyk#include <dt-bindings/gpio/gpio.h> 9ec03445cSThomas Petazzoni#include "armada-8040.dtsi" 10ec03445cSThomas Petazzoni 11ec03445cSThomas Petazzoni/ { 12ec03445cSThomas Petazzoni model = "Marvell Armada 8040 DB board"; 13ec03445cSThomas Petazzoni compatible = "marvell,armada8040-db", "marvell,armada8040", 14ec03445cSThomas Petazzoni "marvell,armada-ap806-quad", "marvell,armada-ap806"; 15ec03445cSThomas Petazzoni 16ec03445cSThomas Petazzoni chosen { 17ec03445cSThomas Petazzoni stdout-path = "serial0:115200n8"; 18ec03445cSThomas Petazzoni }; 19ec03445cSThomas Petazzoni 20d8bcaabeSRob Herring memory@0 { 21ec03445cSThomas Petazzoni device_type = "memory"; 22ec03445cSThomas Petazzoni reg = <0x0 0x0 0x0 0x80000000>; 23ec03445cSThomas Petazzoni }; 240ea62502SGrzegorz Jaszczyk 25474c5885SYan Markman aliases { 26474c5885SYan Markman ethernet0 = &cp0_eth0; 27474c5885SYan Markman ethernet1 = &cp0_eth2; 28474c5885SYan Markman ethernet2 = &cp1_eth0; 29474c5885SYan Markman ethernet3 = &cp1_eth1; 30d8cc5cf0SKonstantin Porotchkin i2c1 = &cp0_i2c0; 31d8cc5cf0SKonstantin Porotchkin i2c2 = &cp1_i2c0; 32474c5885SYan Markman }; 33474c5885SYan Markman 3491f1be92SThomas Petazzoni cp0_reg_usb3_0_vbus: cp0-usb3-0-vbus { 350ea62502SGrzegorz Jaszczyk compatible = "regulator-fixed"; 3691f1be92SThomas Petazzoni regulator-name = "cp0-usb3h0-vbus"; 370ea62502SGrzegorz Jaszczyk regulator-min-microvolt = <5000000>; 380ea62502SGrzegorz Jaszczyk regulator-max-microvolt = <5000000>; 390ea62502SGrzegorz Jaszczyk enable-active-high; 400ea62502SGrzegorz Jaszczyk gpio = <&expander0 0 GPIO_ACTIVE_HIGH>; 410ea62502SGrzegorz Jaszczyk }; 420ea62502SGrzegorz Jaszczyk 4391f1be92SThomas Petazzoni cp0_reg_usb3_1_vbus: cp0-usb3-1-vbus { 440ea62502SGrzegorz Jaszczyk compatible = "regulator-fixed"; 4591f1be92SThomas Petazzoni regulator-name = "cp0-usb3h1-vbus"; 460ea62502SGrzegorz Jaszczyk regulator-min-microvolt = <5000000>; 470ea62502SGrzegorz Jaszczyk regulator-max-microvolt = <5000000>; 480ea62502SGrzegorz Jaszczyk enable-active-high; 490ea62502SGrzegorz Jaszczyk gpio = <&expander0 1 GPIO_ACTIVE_HIGH>; 500ea62502SGrzegorz Jaszczyk }; 510ea62502SGrzegorz Jaszczyk 5291f1be92SThomas Petazzoni cp0_usb3_0_phy: cp0-usb3-0-phy { 530ea62502SGrzegorz Jaszczyk compatible = "usb-nop-xceiv"; 5491f1be92SThomas Petazzoni vcc-supply = <&cp0_reg_usb3_0_vbus>; 550ea62502SGrzegorz Jaszczyk }; 560ea62502SGrzegorz Jaszczyk 5791f1be92SThomas Petazzoni cp1_reg_usb3_0_vbus: cp1-usb3-0-vbus { 580ea62502SGrzegorz Jaszczyk compatible = "regulator-fixed"; 5991f1be92SThomas Petazzoni regulator-name = "cp1-usb3h0-vbus"; 600ea62502SGrzegorz Jaszczyk regulator-min-microvolt = <5000000>; 610ea62502SGrzegorz Jaszczyk regulator-max-microvolt = <5000000>; 620ea62502SGrzegorz Jaszczyk enable-active-high; 630ea62502SGrzegorz Jaszczyk gpio = <&expander1 0 GPIO_ACTIVE_HIGH>; 640ea62502SGrzegorz Jaszczyk }; 650ea62502SGrzegorz Jaszczyk 6691f1be92SThomas Petazzoni cp1_usb3_0_phy: cp1-usb3-0-phy { 670ea62502SGrzegorz Jaszczyk compatible = "usb-nop-xceiv"; 6891f1be92SThomas Petazzoni vcc-supply = <&cp1_reg_usb3_0_vbus>; 690ea62502SGrzegorz Jaszczyk }; 70ec03445cSThomas Petazzoni}; 71ec03445cSThomas Petazzoni 72ec03445cSThomas Petazzoni&spi0 { 73ec03445cSThomas Petazzoni status = "okay"; 74ec03445cSThomas Petazzoni 75*2f00bb4aSKrzysztof Kozlowski flash@0 { 76ec03445cSThomas Petazzoni compatible = "jedec,spi-nor"; 77ec03445cSThomas Petazzoni reg = <0>; 78ec03445cSThomas Petazzoni spi-max-frequency = <10000000>; 79ec03445cSThomas Petazzoni 80ec03445cSThomas Petazzoni partitions { 81ec03445cSThomas Petazzoni compatible = "fixed-partitions"; 82ec03445cSThomas Petazzoni #address-cells = <1>; 83ec03445cSThomas Petazzoni #size-cells = <1>; 84ec03445cSThomas Petazzoni 85ec03445cSThomas Petazzoni partition@0 { 86ec03445cSThomas Petazzoni label = "U-Boot"; 87ec03445cSThomas Petazzoni reg = <0 0x200000>; 88ec03445cSThomas Petazzoni }; 89ec03445cSThomas Petazzoni partition@400000 { 90ec03445cSThomas Petazzoni label = "Filesystem"; 91ec03445cSThomas Petazzoni reg = <0x200000 0xce0000>; 92ec03445cSThomas Petazzoni }; 93ec03445cSThomas Petazzoni }; 94ec03445cSThomas Petazzoni }; 95ec03445cSThomas Petazzoni}; 96ec03445cSThomas Petazzoni 97ec03445cSThomas Petazzoni/* Accessible over the mini-USB CON9 connector on the main board */ 98ec03445cSThomas Petazzoni&uart0 { 99ec03445cSThomas Petazzoni status = "okay"; 1009e83bbdbSThomas Petazzoni pinctrl-0 = <&uart0_pins>; 1019e83bbdbSThomas Petazzoni pinctrl-names = "default"; 102ec03445cSThomas Petazzoni}; 103ec03445cSThomas Petazzoni 10430571678SThomas Petazzoni/* CON6 on CP0 expansion */ 10591f1be92SThomas Petazzoni&cp0_pcie0 { 106ce55522cSMiquel Raynal phys = <&cp0_comphy0 0>; 107ce55522cSMiquel Raynal phy-names = "cp0-pcie0-x1-phy"; 10830571678SThomas Petazzoni status = "okay"; 10930571678SThomas Petazzoni}; 110ec03445cSThomas Petazzoni 111ec03445cSThomas Petazzoni/* CON5 on CP0 expansion */ 11291f1be92SThomas Petazzoni&cp0_pcie2 { 113ce55522cSMiquel Raynal phys = <&cp0_comphy5 2>; 114ce55522cSMiquel Raynal phy-names = "cp0-pcie2-x1-phy"; 115ec03445cSThomas Petazzoni status = "okay"; 116ec03445cSThomas Petazzoni}; 117ec03445cSThomas Petazzoni 11891f1be92SThomas Petazzoni&cp0_i2c0 { 119ec03445cSThomas Petazzoni status = "okay"; 120ec03445cSThomas Petazzoni clock-frequency = <100000>; 1210ea62502SGrzegorz Jaszczyk 1220ea62502SGrzegorz Jaszczyk /* U31 */ 1230ea62502SGrzegorz Jaszczyk expander0: pca9555@21 { 1240ea62502SGrzegorz Jaszczyk compatible = "nxp,pca9555"; 1250ea62502SGrzegorz Jaszczyk pinctrl-names = "default"; 1260ea62502SGrzegorz Jaszczyk gpio-controller; 1270ea62502SGrzegorz Jaszczyk #gpio-cells = <2>; 1280ea62502SGrzegorz Jaszczyk reg = <0x21>; 1290ea62502SGrzegorz Jaszczyk }; 1300ea62502SGrzegorz Jaszczyk 1310ea62502SGrzegorz Jaszczyk /* U25 */ 1320ea62502SGrzegorz Jaszczyk expander1: pca9555@25 { 1330ea62502SGrzegorz Jaszczyk compatible = "nxp,pca9555"; 1340ea62502SGrzegorz Jaszczyk pinctrl-names = "default"; 1350ea62502SGrzegorz Jaszczyk gpio-controller; 1360ea62502SGrzegorz Jaszczyk #gpio-cells = <2>; 1370ea62502SGrzegorz Jaszczyk reg = <0x25>; 1380ea62502SGrzegorz Jaszczyk }; 1390ea62502SGrzegorz Jaszczyk 140ec03445cSThomas Petazzoni}; 141ec03445cSThomas Petazzoni 142ec03445cSThomas Petazzoni/* CON4 on CP0 expansion */ 14391f1be92SThomas Petazzoni&cp0_sata0 { 144ec03445cSThomas Petazzoni status = "okay"; 145d04abe99SMiquel Raynal 146d04abe99SMiquel Raynal sata-port@0 { 147d04abe99SMiquel Raynal phys = <&cp0_comphy1 0>; 148d04abe99SMiquel Raynal phy-names = "cp0-sata0-0-phy"; 149d04abe99SMiquel Raynal }; 150d04abe99SMiquel Raynal sata-port@1 { 151d04abe99SMiquel Raynal phys = <&cp0_comphy3 1>; 152d04abe99SMiquel Raynal phy-names = "cp0-sata0-1-phy"; 153d04abe99SMiquel Raynal }; 154ec03445cSThomas Petazzoni}; 155ec03445cSThomas Petazzoni 156ec03445cSThomas Petazzoni/* CON9 on CP0 expansion */ 15799fa8ac5SKonstantin Porotchkin&cp0_utmi { 15899fa8ac5SKonstantin Porotchkin status = "okay"; 15999fa8ac5SKonstantin Porotchkin}; 16099fa8ac5SKonstantin Porotchkin 16191f1be92SThomas Petazzoni&cp0_usb3_0 { 16291f1be92SThomas Petazzoni usb-phy = <&cp0_usb3_0_phy>; 16399fa8ac5SKonstantin Porotchkin phys = <&cp0_utmi0>; 16499fa8ac5SKonstantin Porotchkin phy-names = "utmi"; 16599fa8ac5SKonstantin Porotchkin dr_mode = "host"; 166ec03445cSThomas Petazzoni status = "okay"; 167ec03445cSThomas Petazzoni}; 168ec03445cSThomas Petazzoni 16996018a6fSMiquel Raynal&cp0_comphy4 { 17096018a6fSMiquel Raynal cp0_usbh1_con: connector { 17196018a6fSMiquel Raynal compatible = "usb-a-connector"; 17296018a6fSMiquel Raynal phy-supply = <&cp0_reg_usb3_1_vbus>; 17396018a6fSMiquel Raynal }; 17496018a6fSMiquel Raynal}; 17596018a6fSMiquel Raynal 176ec03445cSThomas Petazzoni/* CON10 on CP0 expansion */ 17791f1be92SThomas Petazzoni&cp0_usb3_1 { 17899fa8ac5SKonstantin Porotchkin phys = <&cp0_comphy4 1>, <&cp0_utmi1>; 17999fa8ac5SKonstantin Porotchkin phy-names = "usb", "utmi"; 18099fa8ac5SKonstantin Porotchkin dr_mode = "host"; 181ec03445cSThomas Petazzoni status = "okay"; 182ec03445cSThomas Petazzoni}; 183ec03445cSThomas Petazzoni 18491f1be92SThomas Petazzoni&cp0_mdio { 1853c6912cdSAntoine Tenart status = "okay"; 1863c6912cdSAntoine Tenart 18760894719SThomas Petazzoni phy1: ethernet-phy@1 { 18860894719SThomas Petazzoni reg = <1>; 18960894719SThomas Petazzoni }; 19060894719SThomas Petazzoni}; 19160894719SThomas Petazzoni 19291f1be92SThomas Petazzoni&cp0_ethernet { 19360894719SThomas Petazzoni status = "okay"; 19460894719SThomas Petazzoni}; 19560894719SThomas Petazzoni 19691f1be92SThomas Petazzoni&cp0_eth0 { 1970539cbb5SAntoine Tenart status = "okay"; 19845b25653SKonstantin Porotchkin phy-mode = "10gbase-r"; 199639585acSAntoine Tenart 200639585acSAntoine Tenart fixed-link { 201639585acSAntoine Tenart speed = <10000>; 202639585acSAntoine Tenart full-duplex; 203639585acSAntoine Tenart }; 2040539cbb5SAntoine Tenart}; 2050539cbb5SAntoine Tenart 20691f1be92SThomas Petazzoni&cp0_eth2 { 20760894719SThomas Petazzoni status = "okay"; 20860894719SThomas Petazzoni phy = <&phy1>; 20960894719SThomas Petazzoni phy-mode = "rgmii-id"; 21060894719SThomas Petazzoni}; 21160894719SThomas Petazzoni 21230571678SThomas Petazzoni/* CON6 on CP1 expansion */ 21391f1be92SThomas Petazzoni&cp1_pcie0 { 214ce55522cSMiquel Raynal phys = <&cp1_comphy0 0>; 215ce55522cSMiquel Raynal phy-names = "cp1-pcie0-x1-phy"; 21630571678SThomas Petazzoni status = "okay"; 21730571678SThomas Petazzoni}; 21830571678SThomas Petazzoni 21930571678SThomas Petazzoni/* CON7 on CP1 expansion */ 22091f1be92SThomas Petazzoni&cp1_pcie1 { 221ce55522cSMiquel Raynal phys = <&cp1_comphy4 1>; 222ce55522cSMiquel Raynal phy-names = "cp1-pcie1-x1-phy"; 22330571678SThomas Petazzoni status = "okay"; 22430571678SThomas Petazzoni}; 22530571678SThomas Petazzoni 226ec03445cSThomas Petazzoni/* CON5 on CP1 expansion */ 22791f1be92SThomas Petazzoni&cp1_pcie2 { 228ce55522cSMiquel Raynal phys = <&cp1_comphy5 2>; 229ce55522cSMiquel Raynal phy-names = "cp1-pcie2-x1-phy"; 230ec03445cSThomas Petazzoni status = "okay"; 231ec03445cSThomas Petazzoni}; 232ec03445cSThomas Petazzoni 23391f1be92SThomas Petazzoni&cp1_i2c0 { 234ec03445cSThomas Petazzoni status = "okay"; 235ec03445cSThomas Petazzoni clock-frequency = <100000>; 236ec03445cSThomas Petazzoni}; 237ec03445cSThomas Petazzoni 23891f1be92SThomas Petazzoni&cp1_spi1 { 239441fadadSChristine Gharzuzi status = "okay"; 240441fadadSChristine Gharzuzi 241*2f00bb4aSKrzysztof Kozlowski flash@0 { 242441fadadSChristine Gharzuzi compatible = "jedec,spi-nor"; 243441fadadSChristine Gharzuzi reg = <0x0>; 244441fadadSChristine Gharzuzi spi-max-frequency = <20000000>; 245441fadadSChristine Gharzuzi 246441fadadSChristine Gharzuzi partitions { 247441fadadSChristine Gharzuzi compatible = "fixed-partitions"; 248441fadadSChristine Gharzuzi #address-cells = <1>; 249441fadadSChristine Gharzuzi #size-cells = <1>; 250441fadadSChristine Gharzuzi 251441fadadSChristine Gharzuzi partition@0 { 252441fadadSChristine Gharzuzi label = "Boot"; 253441fadadSChristine Gharzuzi reg = <0x0 0x200000>; 254441fadadSChristine Gharzuzi }; 255441fadadSChristine Gharzuzi partition@200000 { 256441fadadSChristine Gharzuzi label = "Filesystem"; 257441fadadSChristine Gharzuzi reg = <0x200000 0xd00000>; 258441fadadSChristine Gharzuzi }; 259441fadadSChristine Gharzuzi partition@f00000 { 260441fadadSChristine Gharzuzi label = "Boot_2nd"; 261441fadadSChristine Gharzuzi reg = <0xf00000 0x100000>; 262441fadadSChristine Gharzuzi }; 263441fadadSChristine Gharzuzi }; 264441fadadSChristine Gharzuzi }; 265441fadadSChristine Gharzuzi}; 266441fadadSChristine Gharzuzi 2677b31e3adSMiquel Raynal/* 2687b31e3adSMiquel Raynal * Proper NAND usage will require DPR-76 to be in position 1-2, which disables 2697b31e3adSMiquel Raynal * MDIO signal of CP1. 2707b31e3adSMiquel Raynal */ 27141d63e45SMiquel Raynal&cp1_nand_controller { 2727b31e3adSMiquel Raynal pinctrl-0 = <&nand_pins>, <&nand_rb>; 2737b31e3adSMiquel Raynal pinctrl-names = "default"; 27441d63e45SMiquel Raynal 27541d63e45SMiquel Raynal nand@0 { 27641d63e45SMiquel Raynal reg = <0>; 27741d63e45SMiquel Raynal nand-rb = <0>; 27841d63e45SMiquel Raynal nand-on-flash-bbt; 2797b31e3adSMiquel Raynal nand-ecc-strength = <4>; 2807b31e3adSMiquel Raynal nand-ecc-step-size = <512>; 28141d63e45SMiquel Raynal 28241d63e45SMiquel Raynal partitions { 28341d63e45SMiquel Raynal compatible = "fixed-partitions"; 28441d63e45SMiquel Raynal #address-cells = <1>; 28541d63e45SMiquel Raynal #size-cells = <1>; 2867b31e3adSMiquel Raynal 2877b31e3adSMiquel Raynal partition@0 { 2887b31e3adSMiquel Raynal label = "U-Boot"; 2897b31e3adSMiquel Raynal reg = <0 0x200000>; 2907b31e3adSMiquel Raynal }; 2917b31e3adSMiquel Raynal partition@200000 { 2927b31e3adSMiquel Raynal label = "Linux"; 2937b31e3adSMiquel Raynal reg = <0x200000 0xe00000>; 2947b31e3adSMiquel Raynal }; 2957b31e3adSMiquel Raynal partition@1000000 { 2967b31e3adSMiquel Raynal label = "Filesystem"; 2977b31e3adSMiquel Raynal reg = <0x1000000 0x3f000000>; 2987b31e3adSMiquel Raynal }; 2997b31e3adSMiquel Raynal }; 30041d63e45SMiquel Raynal }; 30141d63e45SMiquel Raynal}; 3027b31e3adSMiquel Raynal 303ec03445cSThomas Petazzoni/* CON4 on CP1 expansion */ 30491f1be92SThomas Petazzoni&cp1_sata0 { 305ec03445cSThomas Petazzoni status = "okay"; 306d04abe99SMiquel Raynal 307d04abe99SMiquel Raynal sata-port@0 { 308d04abe99SMiquel Raynal phys = <&cp1_comphy1 0>; 309d04abe99SMiquel Raynal phy-names = "cp1-sata0-0-phy"; 310d04abe99SMiquel Raynal }; 311d04abe99SMiquel Raynal sata-port@1 { 312d04abe99SMiquel Raynal phys = <&cp1_comphy3 1>; 313d04abe99SMiquel Raynal phy-names = "cp1-sata0-1-phy"; 314d04abe99SMiquel Raynal }; 315ec03445cSThomas Petazzoni}; 316ec03445cSThomas Petazzoni 31799fa8ac5SKonstantin Porotchkin&cp1_utmi { 31899fa8ac5SKonstantin Porotchkin status = "okay"; 31999fa8ac5SKonstantin Porotchkin}; 32099fa8ac5SKonstantin Porotchkin 321ec03445cSThomas Petazzoni/* CON9 on CP1 expansion */ 32291f1be92SThomas Petazzoni&cp1_usb3_0 { 32391f1be92SThomas Petazzoni usb-phy = <&cp1_usb3_0_phy>; 32499fa8ac5SKonstantin Porotchkin phys = <&cp1_utmi0>; 32599fa8ac5SKonstantin Porotchkin phy-names = "utmi"; 32699fa8ac5SKonstantin Porotchkin dr_mode = "host"; 327ec03445cSThomas Petazzoni status = "okay"; 328ec03445cSThomas Petazzoni}; 329ec03445cSThomas Petazzoni 330ec03445cSThomas Petazzoni/* CON10 on CP1 expansion */ 33191f1be92SThomas Petazzoni&cp1_usb3_1 { 33299fa8ac5SKonstantin Porotchkin phys = <&cp1_utmi1>; 33399fa8ac5SKonstantin Porotchkin phy-names = "utmi"; 334ec03445cSThomas Petazzoni status = "okay"; 335ec03445cSThomas Petazzoni}; 336910b4c5cSGregory CLEMENT 33791f1be92SThomas Petazzoni&cp1_mdio { 3383c6912cdSAntoine Tenart status = "okay"; 3393c6912cdSAntoine Tenart 3404f08187dSMarcin Wojtas phy0: ethernet-phy@0 { 3414f08187dSMarcin Wojtas reg = <0>; 3424f08187dSMarcin Wojtas }; 3434f08187dSMarcin Wojtas}; 3444f08187dSMarcin Wojtas 34591f1be92SThomas Petazzoni&cp1_ethernet { 3464f08187dSMarcin Wojtas status = "okay"; 3474f08187dSMarcin Wojtas}; 3484f08187dSMarcin Wojtas 34991f1be92SThomas Petazzoni&cp1_eth0 { 3500539cbb5SAntoine Tenart status = "okay"; 35145b25653SKonstantin Porotchkin phy-mode = "10gbase-r"; 352639585acSAntoine Tenart 353639585acSAntoine Tenart fixed-link { 354639585acSAntoine Tenart speed = <10000>; 355639585acSAntoine Tenart full-duplex; 356639585acSAntoine Tenart }; 3570539cbb5SAntoine Tenart}; 3580539cbb5SAntoine Tenart 35991f1be92SThomas Petazzoni&cp1_eth1 { 3604f08187dSMarcin Wojtas status = "okay"; 3614f08187dSMarcin Wojtas phy = <&phy0>; 3624f08187dSMarcin Wojtas phy-mode = "rgmii-id"; 3634f08187dSMarcin Wojtas}; 3644f08187dSMarcin Wojtas 365910b4c5cSGregory CLEMENT&ap_sdhci0 { 366910b4c5cSGregory CLEMENT status = "okay"; 367910b4c5cSGregory CLEMENT bus-width = <4>; 368910b4c5cSGregory CLEMENT non-removable; 369910b4c5cSGregory CLEMENT}; 370910b4c5cSGregory CLEMENT 37191f1be92SThomas Petazzoni&cp0_sdhci0 { 372910b4c5cSGregory CLEMENT status = "okay"; 373910b4c5cSGregory CLEMENT bus-width = <8>; 374910b4c5cSGregory CLEMENT non-removable; 375910b4c5cSGregory CLEMENT}; 376