1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * Copyright (C) 2016 Marvell Technology Group Ltd. 4c66ec88fSEmmanuel Vadot * 5c66ec88fSEmmanuel Vadot * Device Tree file for Marvell Armada 7040 Development board platform 6c66ec88fSEmmanuel Vadot */ 7c66ec88fSEmmanuel Vadot 8c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 9c66ec88fSEmmanuel Vadot#include "armada-7040.dtsi" 10c66ec88fSEmmanuel Vadot 11c66ec88fSEmmanuel Vadot/ { 12c66ec88fSEmmanuel Vadot model = "Marvell Armada 7040 DB board"; 13c66ec88fSEmmanuel Vadot compatible = "marvell,armada7040-db", "marvell,armada7040", 14c66ec88fSEmmanuel Vadot "marvell,armada-ap806-quad", "marvell,armada-ap806"; 15c66ec88fSEmmanuel Vadot 16c66ec88fSEmmanuel Vadot chosen { 17c66ec88fSEmmanuel Vadot stdout-path = "serial0:115200n8"; 18c66ec88fSEmmanuel Vadot }; 19c66ec88fSEmmanuel Vadot 20c66ec88fSEmmanuel Vadot memory@0 { 21c66ec88fSEmmanuel Vadot device_type = "memory"; 22c66ec88fSEmmanuel Vadot reg = <0x0 0x0 0x0 0x80000000>; 23c66ec88fSEmmanuel Vadot }; 24c66ec88fSEmmanuel Vadot 25c66ec88fSEmmanuel Vadot aliases { 26c66ec88fSEmmanuel Vadot ethernet0 = &cp0_eth0; 27c66ec88fSEmmanuel Vadot ethernet1 = &cp0_eth1; 28c66ec88fSEmmanuel Vadot ethernet2 = &cp0_eth2; 29c66ec88fSEmmanuel Vadot }; 30c66ec88fSEmmanuel Vadot 31c66ec88fSEmmanuel Vadot cp0_exp_usb3_0_current_regulator: gpio-regulator { 32c66ec88fSEmmanuel Vadot compatible = "regulator-gpio"; 33c66ec88fSEmmanuel Vadot regulator-name = "cp0-usb3-0-current-regulator"; 34c66ec88fSEmmanuel Vadot regulator-type = "current"; 35c66ec88fSEmmanuel Vadot regulator-min-microamp = <500000>; 36c66ec88fSEmmanuel Vadot regulator-max-microamp = <900000>; 37c66ec88fSEmmanuel Vadot gpios = <&expander0 4 GPIO_ACTIVE_HIGH>; 38c66ec88fSEmmanuel Vadot states = <500000 0x0 39c66ec88fSEmmanuel Vadot 900000 0x1>; 40c66ec88fSEmmanuel Vadot enable-active-high; 41c66ec88fSEmmanuel Vadot gpios-states = <0>; 42c66ec88fSEmmanuel Vadot }; 43c66ec88fSEmmanuel Vadot 44c66ec88fSEmmanuel Vadot cp0_exp_usb3_1_current_regulator: gpio-regulator { 45c66ec88fSEmmanuel Vadot compatible = "regulator-gpio"; 46c66ec88fSEmmanuel Vadot regulator-name = "cp0-usb3-1-current-regulator"; 47c66ec88fSEmmanuel Vadot regulator-type = "current"; 48c66ec88fSEmmanuel Vadot regulator-min-microamp = <500000>; 49c66ec88fSEmmanuel Vadot regulator-max-microamp = <900000>; 50c66ec88fSEmmanuel Vadot gpios = <&expander0 5 GPIO_ACTIVE_HIGH>; 51c66ec88fSEmmanuel Vadot states = <500000 0x0 52c66ec88fSEmmanuel Vadot 900000 0x1>; 53c66ec88fSEmmanuel Vadot enable-active-high; 54c66ec88fSEmmanuel Vadot gpios-states = <0>; 55c66ec88fSEmmanuel Vadot }; 56c66ec88fSEmmanuel Vadot 57c66ec88fSEmmanuel Vadot cp0_reg_usb3_0_vbus: cp0-usb3-0-vbus { 58c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 59c66ec88fSEmmanuel Vadot regulator-name = "usb3h0-vbus"; 60c66ec88fSEmmanuel Vadot regulator-min-microvolt = <5000000>; 61c66ec88fSEmmanuel Vadot regulator-max-microvolt = <5000000>; 62c66ec88fSEmmanuel Vadot enable-active-high; 63c66ec88fSEmmanuel Vadot gpio = <&expander0 0 GPIO_ACTIVE_HIGH>; 64c66ec88fSEmmanuel Vadot vin-supply = <&cp0_exp_usb3_0_current_regulator>; 65c66ec88fSEmmanuel Vadot }; 66c66ec88fSEmmanuel Vadot 67c66ec88fSEmmanuel Vadot cp0_reg_usb3_1_vbus: cp0-usb3-1-vbus { 68c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 69c66ec88fSEmmanuel Vadot regulator-name = "usb3h1-vbus"; 70c66ec88fSEmmanuel Vadot regulator-min-microvolt = <5000000>; 71c66ec88fSEmmanuel Vadot regulator-max-microvolt = <5000000>; 72c66ec88fSEmmanuel Vadot enable-active-high; 73c66ec88fSEmmanuel Vadot gpio = <&expander0 1 GPIO_ACTIVE_HIGH>; 74c66ec88fSEmmanuel Vadot vin-supply = <&cp0_exp_usb3_1_current_regulator>; 75c66ec88fSEmmanuel Vadot }; 76c66ec88fSEmmanuel Vadot}; 77c66ec88fSEmmanuel Vadot 78c66ec88fSEmmanuel Vadot&i2c0 { 79c66ec88fSEmmanuel Vadot status = "okay"; 80c66ec88fSEmmanuel Vadot clock-frequency = <100000>; 81c66ec88fSEmmanuel Vadot}; 82c66ec88fSEmmanuel Vadot 83c66ec88fSEmmanuel Vadot&spi0 { 84c66ec88fSEmmanuel Vadot status = "okay"; 85c66ec88fSEmmanuel Vadot 86*d5b0e70fSEmmanuel Vadot flash@0 { 87c66ec88fSEmmanuel Vadot compatible = "jedec,spi-nor"; 88c66ec88fSEmmanuel Vadot reg = <0>; 89c66ec88fSEmmanuel Vadot spi-max-frequency = <10000000>; 90c66ec88fSEmmanuel Vadot 91c66ec88fSEmmanuel Vadot partitions { 92c66ec88fSEmmanuel Vadot compatible = "fixed-partitions"; 93c66ec88fSEmmanuel Vadot #address-cells = <1>; 94c66ec88fSEmmanuel Vadot #size-cells = <1>; 95c66ec88fSEmmanuel Vadot 96c66ec88fSEmmanuel Vadot partition@0 { 97c66ec88fSEmmanuel Vadot label = "U-Boot"; 98c66ec88fSEmmanuel Vadot reg = <0 0x200000>; 99c66ec88fSEmmanuel Vadot }; 100c66ec88fSEmmanuel Vadot partition@400000 { 101c66ec88fSEmmanuel Vadot label = "Filesystem"; 102c66ec88fSEmmanuel Vadot reg = <0x200000 0xce0000>; 103c66ec88fSEmmanuel Vadot }; 104c66ec88fSEmmanuel Vadot }; 105c66ec88fSEmmanuel Vadot }; 106c66ec88fSEmmanuel Vadot}; 107c66ec88fSEmmanuel Vadot 108c66ec88fSEmmanuel Vadot&uart0 { 109c66ec88fSEmmanuel Vadot status = "okay"; 110c66ec88fSEmmanuel Vadot pinctrl-0 = <&uart0_pins>; 111c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 112c66ec88fSEmmanuel Vadot}; 113c66ec88fSEmmanuel Vadot 114c66ec88fSEmmanuel Vadot 115c66ec88fSEmmanuel Vadot&cp0_pcie2 { 116c66ec88fSEmmanuel Vadot status = "okay"; 117c66ec88fSEmmanuel Vadot phys = <&cp0_comphy5 2>; 118c66ec88fSEmmanuel Vadot phy-names = "cp0-pcie2-x1-phy"; 119c66ec88fSEmmanuel Vadot}; 120c66ec88fSEmmanuel Vadot 121c66ec88fSEmmanuel Vadot&cp0_i2c0 { 122c66ec88fSEmmanuel Vadot status = "okay"; 123c66ec88fSEmmanuel Vadot clock-frequency = <100000>; 124c66ec88fSEmmanuel Vadot 125c66ec88fSEmmanuel Vadot expander0: pca9555@21 { 126c66ec88fSEmmanuel Vadot compatible = "nxp,pca9555"; 127c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 128c66ec88fSEmmanuel Vadot gpio-controller; 129c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 130c66ec88fSEmmanuel Vadot reg = <0x21>; 131c66ec88fSEmmanuel Vadot /* 132c66ec88fSEmmanuel Vadot * IO0_0: USB3_PWR_EN0 IO1_0: USB_3_1_Dev_Detect 133c66ec88fSEmmanuel Vadot * IO0_1: USB3_PWR_EN1 IO1_1: USB2_1_current_limit 134c66ec88fSEmmanuel Vadot * IO0_2: DDR3_4_Detect IO1_2: Hcon_IO_RstN 135c66ec88fSEmmanuel Vadot * IO0_3: USB2_DEVICE_DETECT 136c66ec88fSEmmanuel Vadot * IO0_4: GPIO_0 IO1_4: SD_Status 137c66ec88fSEmmanuel Vadot * IO0_5: GPIO_1 IO1_5: LDO_5V_Enable 138c66ec88fSEmmanuel Vadot * IO0_6: IHB_5V_Enable IO1_6: PWR_EN_eMMC 139c66ec88fSEmmanuel Vadot * IO0_7: IO1_7: SDIO_Vcntrl 140c66ec88fSEmmanuel Vadot */ 141c66ec88fSEmmanuel Vadot }; 142c66ec88fSEmmanuel Vadot}; 143c66ec88fSEmmanuel Vadot 144c66ec88fSEmmanuel Vadot&cp0_nand_controller { 145c66ec88fSEmmanuel Vadot /* 146c66ec88fSEmmanuel Vadot * SPI on CPM and NAND have common pins on this board. We can 147c66ec88fSEmmanuel Vadot * use only one at a time. To enable the NAND (which will 148c66ec88fSEmmanuel Vadot * disable the SPI), the "status = "okay";" line have to be 149c66ec88fSEmmanuel Vadot * added here. 150c66ec88fSEmmanuel Vadot */ 151c66ec88fSEmmanuel Vadot pinctrl-0 = <&nand_pins>, <&nand_rb>; 152c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 153c66ec88fSEmmanuel Vadot 154c66ec88fSEmmanuel Vadot nand@0 { 155c66ec88fSEmmanuel Vadot reg = <0>; 156c66ec88fSEmmanuel Vadot label = "pxa3xx_nand-0"; 157c66ec88fSEmmanuel Vadot nand-rb = <0>; 158c66ec88fSEmmanuel Vadot nand-on-flash-bbt; 159c66ec88fSEmmanuel Vadot nand-ecc-strength = <4>; 160c66ec88fSEmmanuel Vadot nand-ecc-step-size = <512>; 161c66ec88fSEmmanuel Vadot 162c66ec88fSEmmanuel Vadot partitions { 163c66ec88fSEmmanuel Vadot compatible = "fixed-partitions"; 164c66ec88fSEmmanuel Vadot #address-cells = <1>; 165c66ec88fSEmmanuel Vadot #size-cells = <1>; 166c66ec88fSEmmanuel Vadot 167c66ec88fSEmmanuel Vadot partition@0 { 168c66ec88fSEmmanuel Vadot label = "U-Boot"; 169c66ec88fSEmmanuel Vadot reg = <0 0x200000>; 170c66ec88fSEmmanuel Vadot }; 171c66ec88fSEmmanuel Vadot 172c66ec88fSEmmanuel Vadot partition@200000 { 173c66ec88fSEmmanuel Vadot label = "Linux"; 174c66ec88fSEmmanuel Vadot reg = <0x200000 0xe00000>; 175c66ec88fSEmmanuel Vadot }; 176c66ec88fSEmmanuel Vadot 177c66ec88fSEmmanuel Vadot partition@1000000 { 178c66ec88fSEmmanuel Vadot label = "Filesystem"; 179c66ec88fSEmmanuel Vadot reg = <0x1000000 0x3f000000>; 180c66ec88fSEmmanuel Vadot }; 181c66ec88fSEmmanuel Vadot 182c66ec88fSEmmanuel Vadot }; 183c66ec88fSEmmanuel Vadot }; 184c66ec88fSEmmanuel Vadot}; 185c66ec88fSEmmanuel Vadot 186c66ec88fSEmmanuel Vadot&cp0_spi1 { 187c66ec88fSEmmanuel Vadot status = "okay"; 188c66ec88fSEmmanuel Vadot 189*d5b0e70fSEmmanuel Vadot flash@0 { 190c66ec88fSEmmanuel Vadot compatible = "jedec,spi-nor"; 191c66ec88fSEmmanuel Vadot reg = <0x0>; 192c66ec88fSEmmanuel Vadot spi-max-frequency = <20000000>; 193c66ec88fSEmmanuel Vadot 194c66ec88fSEmmanuel Vadot partitions { 195c66ec88fSEmmanuel Vadot compatible = "fixed-partitions"; 196c66ec88fSEmmanuel Vadot #address-cells = <1>; 197c66ec88fSEmmanuel Vadot #size-cells = <1>; 198c66ec88fSEmmanuel Vadot 199c66ec88fSEmmanuel Vadot partition@0 { 200c66ec88fSEmmanuel Vadot label = "U-Boot"; 201c66ec88fSEmmanuel Vadot reg = <0x0 0x200000>; 202c66ec88fSEmmanuel Vadot }; 203c66ec88fSEmmanuel Vadot 204c66ec88fSEmmanuel Vadot partition@400000 { 205c66ec88fSEmmanuel Vadot label = "Filesystem"; 206c66ec88fSEmmanuel Vadot reg = <0x200000 0xe00000>; 207c66ec88fSEmmanuel Vadot }; 208c66ec88fSEmmanuel Vadot }; 209c66ec88fSEmmanuel Vadot }; 210c66ec88fSEmmanuel Vadot}; 211c66ec88fSEmmanuel Vadot 212c66ec88fSEmmanuel Vadot&cp0_sata0 { 213c66ec88fSEmmanuel Vadot status = "okay"; 214c66ec88fSEmmanuel Vadot 215c66ec88fSEmmanuel Vadot sata-port@1 { 216c66ec88fSEmmanuel Vadot phys = <&cp0_comphy3 1>; 217c66ec88fSEmmanuel Vadot phy-names = "cp0-sata0-1-phy"; 218c66ec88fSEmmanuel Vadot }; 219c66ec88fSEmmanuel Vadot}; 220c66ec88fSEmmanuel Vadot 2212eb4d8dcSEmmanuel Vadot&cp0_utmi { 2222eb4d8dcSEmmanuel Vadot status = "okay"; 2232eb4d8dcSEmmanuel Vadot}; 2242eb4d8dcSEmmanuel Vadot 225c66ec88fSEmmanuel Vadot&cp0_comphy1 { 226c66ec88fSEmmanuel Vadot cp0_usbh0_con: connector { 227c66ec88fSEmmanuel Vadot compatible = "usb-a-connector"; 228c66ec88fSEmmanuel Vadot phy-supply = <&cp0_reg_usb3_0_vbus>; 229c66ec88fSEmmanuel Vadot }; 230c66ec88fSEmmanuel Vadot}; 231c66ec88fSEmmanuel Vadot 232c66ec88fSEmmanuel Vadot&cp0_usb3_0 { 2332eb4d8dcSEmmanuel Vadot phys = <&cp0_comphy1 0>, <&cp0_utmi0>; 2342eb4d8dcSEmmanuel Vadot phy-names = "cp0-usb3h0-comphy", "utmi"; 2352eb4d8dcSEmmanuel Vadot dr_mode = "host"; 236c66ec88fSEmmanuel Vadot status = "okay"; 237c66ec88fSEmmanuel Vadot}; 238c66ec88fSEmmanuel Vadot 239c66ec88fSEmmanuel Vadot&cp0_comphy4 { 240c66ec88fSEmmanuel Vadot cp0_usbh1_con: connector { 241c66ec88fSEmmanuel Vadot compatible = "usb-a-connector"; 242c66ec88fSEmmanuel Vadot phy-supply = <&cp0_reg_usb3_1_vbus>; 243c66ec88fSEmmanuel Vadot }; 244c66ec88fSEmmanuel Vadot}; 245c66ec88fSEmmanuel Vadot 246c66ec88fSEmmanuel Vadot&cp0_usb3_1 { 2472eb4d8dcSEmmanuel Vadot phys = <&cp0_comphy4 1>, <&cp0_utmi1>; 2482eb4d8dcSEmmanuel Vadot phy-names = "cp0-usb3h1-comphy", "utmi"; 2492eb4d8dcSEmmanuel Vadot dr_mode = "host"; 250c66ec88fSEmmanuel Vadot status = "okay"; 251c66ec88fSEmmanuel Vadot}; 252c66ec88fSEmmanuel Vadot 253c66ec88fSEmmanuel Vadot&ap_sdhci0 { 254c66ec88fSEmmanuel Vadot status = "okay"; 255c66ec88fSEmmanuel Vadot bus-width = <4>; 256c66ec88fSEmmanuel Vadot no-1-8-v; 257c66ec88fSEmmanuel Vadot non-removable; 258c66ec88fSEmmanuel Vadot}; 259c66ec88fSEmmanuel Vadot 260c66ec88fSEmmanuel Vadot&cp0_sdhci0 { 261c66ec88fSEmmanuel Vadot status = "okay"; 262c66ec88fSEmmanuel Vadot bus-width = <4>; 263c66ec88fSEmmanuel Vadot no-1-8-v; 264c66ec88fSEmmanuel Vadot cd-gpios = <&expander0 12 GPIO_ACTIVE_LOW>; 265c66ec88fSEmmanuel Vadot}; 266c66ec88fSEmmanuel Vadot 267c66ec88fSEmmanuel Vadot&cp0_mdio { 268c66ec88fSEmmanuel Vadot status = "okay"; 269c66ec88fSEmmanuel Vadot 270c66ec88fSEmmanuel Vadot phy0: ethernet-phy@0 { 271c66ec88fSEmmanuel Vadot reg = <0>; 272c66ec88fSEmmanuel Vadot }; 273c66ec88fSEmmanuel Vadot phy1: ethernet-phy@1 { 274c66ec88fSEmmanuel Vadot reg = <1>; 275c66ec88fSEmmanuel Vadot }; 276c66ec88fSEmmanuel Vadot}; 277c66ec88fSEmmanuel Vadot 278c66ec88fSEmmanuel Vadot&cp0_ethernet { 279c66ec88fSEmmanuel Vadot status = "okay"; 280c66ec88fSEmmanuel Vadot}; 281c66ec88fSEmmanuel Vadot 282c66ec88fSEmmanuel Vadot&cp0_eth0 { 283c66ec88fSEmmanuel Vadot status = "okay"; 284c66ec88fSEmmanuel Vadot /* Network PHY */ 285354d7675SEmmanuel Vadot phy-mode = "10gbase-r"; 286c66ec88fSEmmanuel Vadot /* Generic PHY, providing serdes lanes */ 287c66ec88fSEmmanuel Vadot phys = <&cp0_comphy2 0>; 288c66ec88fSEmmanuel Vadot 289c66ec88fSEmmanuel Vadot fixed-link { 290c66ec88fSEmmanuel Vadot speed = <10000>; 291c66ec88fSEmmanuel Vadot full-duplex; 292c66ec88fSEmmanuel Vadot }; 293c66ec88fSEmmanuel Vadot}; 294c66ec88fSEmmanuel Vadot 295c66ec88fSEmmanuel Vadot&cp0_eth1 { 296c66ec88fSEmmanuel Vadot status = "okay"; 297c66ec88fSEmmanuel Vadot /* Network PHY */ 298c66ec88fSEmmanuel Vadot phy = <&phy0>; 299c66ec88fSEmmanuel Vadot phy-mode = "sgmii"; 300c66ec88fSEmmanuel Vadot /* Generic PHY, providing serdes lanes */ 301c66ec88fSEmmanuel Vadot phys = <&cp0_comphy0 1>; 302c66ec88fSEmmanuel Vadot}; 303c66ec88fSEmmanuel Vadot 304c66ec88fSEmmanuel Vadot&cp0_eth2 { 305c66ec88fSEmmanuel Vadot status = "okay"; 306c66ec88fSEmmanuel Vadot phy = <&phy1>; 307c66ec88fSEmmanuel Vadot phy-mode = "rgmii-id"; 308c66ec88fSEmmanuel Vadot}; 309