18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (C) 2016 Marvell Technology Group Ltd. 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Device Tree file for Marvell Armada 7040 Development board platform 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 98c2ecf20Sopenharmony_ci#include "armada-7040.dtsi" 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci/ { 128c2ecf20Sopenharmony_ci model = "Marvell Armada 7040 DB board"; 138c2ecf20Sopenharmony_ci compatible = "marvell,armada7040-db", "marvell,armada7040", 148c2ecf20Sopenharmony_ci "marvell,armada-ap806-quad", "marvell,armada-ap806"; 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci chosen { 178c2ecf20Sopenharmony_ci stdout-path = "serial0:115200n8"; 188c2ecf20Sopenharmony_ci }; 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci memory@0 { 218c2ecf20Sopenharmony_ci device_type = "memory"; 228c2ecf20Sopenharmony_ci reg = <0x0 0x0 0x0 0x80000000>; 238c2ecf20Sopenharmony_ci }; 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci aliases { 268c2ecf20Sopenharmony_ci ethernet0 = &cp0_eth0; 278c2ecf20Sopenharmony_ci ethernet1 = &cp0_eth1; 288c2ecf20Sopenharmony_ci ethernet2 = &cp0_eth2; 298c2ecf20Sopenharmony_ci }; 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci cp0_exp_usb3_0_current_regulator: gpio-regulator { 328c2ecf20Sopenharmony_ci compatible = "regulator-gpio"; 338c2ecf20Sopenharmony_ci regulator-name = "cp0-usb3-0-current-regulator"; 348c2ecf20Sopenharmony_ci regulator-type = "current"; 358c2ecf20Sopenharmony_ci regulator-min-microamp = <500000>; 368c2ecf20Sopenharmony_ci regulator-max-microamp = <900000>; 378c2ecf20Sopenharmony_ci gpios = <&expander0 4 GPIO_ACTIVE_HIGH>; 388c2ecf20Sopenharmony_ci states = <500000 0x0 398c2ecf20Sopenharmony_ci 900000 0x1>; 408c2ecf20Sopenharmony_ci enable-active-high; 418c2ecf20Sopenharmony_ci gpios-states = <0>; 428c2ecf20Sopenharmony_ci }; 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci cp0_exp_usb3_1_current_regulator: gpio-regulator { 458c2ecf20Sopenharmony_ci compatible = "regulator-gpio"; 468c2ecf20Sopenharmony_ci regulator-name = "cp0-usb3-1-current-regulator"; 478c2ecf20Sopenharmony_ci regulator-type = "current"; 488c2ecf20Sopenharmony_ci regulator-min-microamp = <500000>; 498c2ecf20Sopenharmony_ci regulator-max-microamp = <900000>; 508c2ecf20Sopenharmony_ci gpios = <&expander0 5 GPIO_ACTIVE_HIGH>; 518c2ecf20Sopenharmony_ci states = <500000 0x0 528c2ecf20Sopenharmony_ci 900000 0x1>; 538c2ecf20Sopenharmony_ci enable-active-high; 548c2ecf20Sopenharmony_ci gpios-states = <0>; 558c2ecf20Sopenharmony_ci }; 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci cp0_reg_usb3_0_vbus: cp0-usb3-0-vbus { 588c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 598c2ecf20Sopenharmony_ci regulator-name = "usb3h0-vbus"; 608c2ecf20Sopenharmony_ci regulator-min-microvolt = <5000000>; 618c2ecf20Sopenharmony_ci regulator-max-microvolt = <5000000>; 628c2ecf20Sopenharmony_ci enable-active-high; 638c2ecf20Sopenharmony_ci gpio = <&expander0 0 GPIO_ACTIVE_HIGH>; 648c2ecf20Sopenharmony_ci vin-supply = <&cp0_exp_usb3_0_current_regulator>; 658c2ecf20Sopenharmony_ci }; 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci cp0_reg_usb3_1_vbus: cp0-usb3-1-vbus { 688c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 698c2ecf20Sopenharmony_ci regulator-name = "usb3h1-vbus"; 708c2ecf20Sopenharmony_ci regulator-min-microvolt = <5000000>; 718c2ecf20Sopenharmony_ci regulator-max-microvolt = <5000000>; 728c2ecf20Sopenharmony_ci enable-active-high; 738c2ecf20Sopenharmony_ci gpio = <&expander0 1 GPIO_ACTIVE_HIGH>; 748c2ecf20Sopenharmony_ci vin-supply = <&cp0_exp_usb3_1_current_regulator>; 758c2ecf20Sopenharmony_ci }; 768c2ecf20Sopenharmony_ci}; 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ci&i2c0 { 798c2ecf20Sopenharmony_ci status = "okay"; 808c2ecf20Sopenharmony_ci clock-frequency = <100000>; 818c2ecf20Sopenharmony_ci}; 828c2ecf20Sopenharmony_ci 838c2ecf20Sopenharmony_ci&spi0 { 848c2ecf20Sopenharmony_ci status = "okay"; 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci spi-flash@0 { 878c2ecf20Sopenharmony_ci compatible = "jedec,spi-nor"; 888c2ecf20Sopenharmony_ci reg = <0>; 898c2ecf20Sopenharmony_ci spi-max-frequency = <10000000>; 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_ci partitions { 928c2ecf20Sopenharmony_ci compatible = "fixed-partitions"; 938c2ecf20Sopenharmony_ci #address-cells = <1>; 948c2ecf20Sopenharmony_ci #size-cells = <1>; 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci partition@0 { 978c2ecf20Sopenharmony_ci label = "U-Boot"; 988c2ecf20Sopenharmony_ci reg = <0 0x200000>; 998c2ecf20Sopenharmony_ci }; 1008c2ecf20Sopenharmony_ci partition@400000 { 1018c2ecf20Sopenharmony_ci label = "Filesystem"; 1028c2ecf20Sopenharmony_ci reg = <0x200000 0xce0000>; 1038c2ecf20Sopenharmony_ci }; 1048c2ecf20Sopenharmony_ci }; 1058c2ecf20Sopenharmony_ci }; 1068c2ecf20Sopenharmony_ci}; 1078c2ecf20Sopenharmony_ci 1088c2ecf20Sopenharmony_ci&uart0 { 1098c2ecf20Sopenharmony_ci status = "okay"; 1108c2ecf20Sopenharmony_ci pinctrl-0 = <&uart0_pins>; 1118c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1128c2ecf20Sopenharmony_ci}; 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_ci&cp0_pcie2 { 1168c2ecf20Sopenharmony_ci status = "okay"; 1178c2ecf20Sopenharmony_ci phys = <&cp0_comphy5 2>; 1188c2ecf20Sopenharmony_ci phy-names = "cp0-pcie2-x1-phy"; 1198c2ecf20Sopenharmony_ci}; 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ci&cp0_i2c0 { 1228c2ecf20Sopenharmony_ci status = "okay"; 1238c2ecf20Sopenharmony_ci clock-frequency = <100000>; 1248c2ecf20Sopenharmony_ci 1258c2ecf20Sopenharmony_ci expander0: pca9555@21 { 1268c2ecf20Sopenharmony_ci compatible = "nxp,pca9555"; 1278c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1288c2ecf20Sopenharmony_ci gpio-controller; 1298c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1308c2ecf20Sopenharmony_ci reg = <0x21>; 1318c2ecf20Sopenharmony_ci /* 1328c2ecf20Sopenharmony_ci * IO0_0: USB3_PWR_EN0 IO1_0: USB_3_1_Dev_Detect 1338c2ecf20Sopenharmony_ci * IO0_1: USB3_PWR_EN1 IO1_1: USB2_1_current_limit 1348c2ecf20Sopenharmony_ci * IO0_2: DDR3_4_Detect IO1_2: Hcon_IO_RstN 1358c2ecf20Sopenharmony_ci * IO0_3: USB2_DEVICE_DETECT 1368c2ecf20Sopenharmony_ci * IO0_4: GPIO_0 IO1_4: SD_Status 1378c2ecf20Sopenharmony_ci * IO0_5: GPIO_1 IO1_5: LDO_5V_Enable 1388c2ecf20Sopenharmony_ci * IO0_6: IHB_5V_Enable IO1_6: PWR_EN_eMMC 1398c2ecf20Sopenharmony_ci * IO0_7: IO1_7: SDIO_Vcntrl 1408c2ecf20Sopenharmony_ci */ 1418c2ecf20Sopenharmony_ci }; 1428c2ecf20Sopenharmony_ci}; 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ci&cp0_nand_controller { 1458c2ecf20Sopenharmony_ci /* 1468c2ecf20Sopenharmony_ci * SPI on CPM and NAND have common pins on this board. We can 1478c2ecf20Sopenharmony_ci * use only one at a time. To enable the NAND (which will 1488c2ecf20Sopenharmony_ci * disable the SPI), the "status = "okay";" line have to be 1498c2ecf20Sopenharmony_ci * added here. 1508c2ecf20Sopenharmony_ci */ 1518c2ecf20Sopenharmony_ci pinctrl-0 = <&nand_pins>, <&nand_rb>; 1528c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1538c2ecf20Sopenharmony_ci 1548c2ecf20Sopenharmony_ci nand@0 { 1558c2ecf20Sopenharmony_ci reg = <0>; 1568c2ecf20Sopenharmony_ci label = "pxa3xx_nand-0"; 1578c2ecf20Sopenharmony_ci nand-rb = <0>; 1588c2ecf20Sopenharmony_ci nand-on-flash-bbt; 1598c2ecf20Sopenharmony_ci nand-ecc-strength = <4>; 1608c2ecf20Sopenharmony_ci nand-ecc-step-size = <512>; 1618c2ecf20Sopenharmony_ci 1628c2ecf20Sopenharmony_ci partitions { 1638c2ecf20Sopenharmony_ci compatible = "fixed-partitions"; 1648c2ecf20Sopenharmony_ci #address-cells = <1>; 1658c2ecf20Sopenharmony_ci #size-cells = <1>; 1668c2ecf20Sopenharmony_ci 1678c2ecf20Sopenharmony_ci partition@0 { 1688c2ecf20Sopenharmony_ci label = "U-Boot"; 1698c2ecf20Sopenharmony_ci reg = <0 0x200000>; 1708c2ecf20Sopenharmony_ci }; 1718c2ecf20Sopenharmony_ci 1728c2ecf20Sopenharmony_ci partition@200000 { 1738c2ecf20Sopenharmony_ci label = "Linux"; 1748c2ecf20Sopenharmony_ci reg = <0x200000 0xe00000>; 1758c2ecf20Sopenharmony_ci }; 1768c2ecf20Sopenharmony_ci 1778c2ecf20Sopenharmony_ci partition@1000000 { 1788c2ecf20Sopenharmony_ci label = "Filesystem"; 1798c2ecf20Sopenharmony_ci reg = <0x1000000 0x3f000000>; 1808c2ecf20Sopenharmony_ci }; 1818c2ecf20Sopenharmony_ci 1828c2ecf20Sopenharmony_ci }; 1838c2ecf20Sopenharmony_ci }; 1848c2ecf20Sopenharmony_ci}; 1858c2ecf20Sopenharmony_ci 1868c2ecf20Sopenharmony_ci&cp0_spi1 { 1878c2ecf20Sopenharmony_ci status = "okay"; 1888c2ecf20Sopenharmony_ci 1898c2ecf20Sopenharmony_ci spi-flash@0 { 1908c2ecf20Sopenharmony_ci compatible = "jedec,spi-nor"; 1918c2ecf20Sopenharmony_ci reg = <0x0>; 1928c2ecf20Sopenharmony_ci spi-max-frequency = <20000000>; 1938c2ecf20Sopenharmony_ci 1948c2ecf20Sopenharmony_ci partitions { 1958c2ecf20Sopenharmony_ci compatible = "fixed-partitions"; 1968c2ecf20Sopenharmony_ci #address-cells = <1>; 1978c2ecf20Sopenharmony_ci #size-cells = <1>; 1988c2ecf20Sopenharmony_ci 1998c2ecf20Sopenharmony_ci partition@0 { 2008c2ecf20Sopenharmony_ci label = "U-Boot"; 2018c2ecf20Sopenharmony_ci reg = <0x0 0x200000>; 2028c2ecf20Sopenharmony_ci }; 2038c2ecf20Sopenharmony_ci 2048c2ecf20Sopenharmony_ci partition@400000 { 2058c2ecf20Sopenharmony_ci label = "Filesystem"; 2068c2ecf20Sopenharmony_ci reg = <0x200000 0xe00000>; 2078c2ecf20Sopenharmony_ci }; 2088c2ecf20Sopenharmony_ci }; 2098c2ecf20Sopenharmony_ci }; 2108c2ecf20Sopenharmony_ci}; 2118c2ecf20Sopenharmony_ci 2128c2ecf20Sopenharmony_ci&cp0_sata0 { 2138c2ecf20Sopenharmony_ci status = "okay"; 2148c2ecf20Sopenharmony_ci 2158c2ecf20Sopenharmony_ci sata-port@1 { 2168c2ecf20Sopenharmony_ci phys = <&cp0_comphy3 1>; 2178c2ecf20Sopenharmony_ci phy-names = "cp0-sata0-1-phy"; 2188c2ecf20Sopenharmony_ci }; 2198c2ecf20Sopenharmony_ci}; 2208c2ecf20Sopenharmony_ci 2218c2ecf20Sopenharmony_ci&cp0_comphy1 { 2228c2ecf20Sopenharmony_ci cp0_usbh0_con: connector { 2238c2ecf20Sopenharmony_ci compatible = "usb-a-connector"; 2248c2ecf20Sopenharmony_ci phy-supply = <&cp0_reg_usb3_0_vbus>; 2258c2ecf20Sopenharmony_ci }; 2268c2ecf20Sopenharmony_ci}; 2278c2ecf20Sopenharmony_ci 2288c2ecf20Sopenharmony_ci&cp0_usb3_0 { 2298c2ecf20Sopenharmony_ci phys = <&cp0_comphy1 0>; 2308c2ecf20Sopenharmony_ci phy-names = "cp0-usb3h0-comphy"; 2318c2ecf20Sopenharmony_ci status = "okay"; 2328c2ecf20Sopenharmony_ci}; 2338c2ecf20Sopenharmony_ci 2348c2ecf20Sopenharmony_ci&cp0_comphy4 { 2358c2ecf20Sopenharmony_ci cp0_usbh1_con: connector { 2368c2ecf20Sopenharmony_ci compatible = "usb-a-connector"; 2378c2ecf20Sopenharmony_ci phy-supply = <&cp0_reg_usb3_1_vbus>; 2388c2ecf20Sopenharmony_ci }; 2398c2ecf20Sopenharmony_ci}; 2408c2ecf20Sopenharmony_ci 2418c2ecf20Sopenharmony_ci&cp0_usb3_1 { 2428c2ecf20Sopenharmony_ci phys = <&cp0_comphy4 1>; 2438c2ecf20Sopenharmony_ci phy-names = "cp0-usb3h1-comphy"; 2448c2ecf20Sopenharmony_ci status = "okay"; 2458c2ecf20Sopenharmony_ci}; 2468c2ecf20Sopenharmony_ci 2478c2ecf20Sopenharmony_ci&ap_sdhci0 { 2488c2ecf20Sopenharmony_ci status = "okay"; 2498c2ecf20Sopenharmony_ci bus-width = <4>; 2508c2ecf20Sopenharmony_ci no-1-8-v; 2518c2ecf20Sopenharmony_ci non-removable; 2528c2ecf20Sopenharmony_ci}; 2538c2ecf20Sopenharmony_ci 2548c2ecf20Sopenharmony_ci&cp0_sdhci0 { 2558c2ecf20Sopenharmony_ci status = "okay"; 2568c2ecf20Sopenharmony_ci bus-width = <4>; 2578c2ecf20Sopenharmony_ci no-1-8-v; 2588c2ecf20Sopenharmony_ci cd-gpios = <&expander0 12 GPIO_ACTIVE_LOW>; 2598c2ecf20Sopenharmony_ci}; 2608c2ecf20Sopenharmony_ci 2618c2ecf20Sopenharmony_ci&cp0_mdio { 2628c2ecf20Sopenharmony_ci status = "okay"; 2638c2ecf20Sopenharmony_ci 2648c2ecf20Sopenharmony_ci phy0: ethernet-phy@0 { 2658c2ecf20Sopenharmony_ci reg = <0>; 2668c2ecf20Sopenharmony_ci }; 2678c2ecf20Sopenharmony_ci phy1: ethernet-phy@1 { 2688c2ecf20Sopenharmony_ci reg = <1>; 2698c2ecf20Sopenharmony_ci }; 2708c2ecf20Sopenharmony_ci}; 2718c2ecf20Sopenharmony_ci 2728c2ecf20Sopenharmony_ci&cp0_ethernet { 2738c2ecf20Sopenharmony_ci status = "okay"; 2748c2ecf20Sopenharmony_ci}; 2758c2ecf20Sopenharmony_ci 2768c2ecf20Sopenharmony_ci&cp0_eth0 { 2778c2ecf20Sopenharmony_ci status = "okay"; 2788c2ecf20Sopenharmony_ci /* Network PHY */ 2798c2ecf20Sopenharmony_ci phy-mode = "10gbase-kr"; 2808c2ecf20Sopenharmony_ci /* Generic PHY, providing serdes lanes */ 2818c2ecf20Sopenharmony_ci phys = <&cp0_comphy2 0>; 2828c2ecf20Sopenharmony_ci 2838c2ecf20Sopenharmony_ci fixed-link { 2848c2ecf20Sopenharmony_ci speed = <10000>; 2858c2ecf20Sopenharmony_ci full-duplex; 2868c2ecf20Sopenharmony_ci }; 2878c2ecf20Sopenharmony_ci}; 2888c2ecf20Sopenharmony_ci 2898c2ecf20Sopenharmony_ci&cp0_eth1 { 2908c2ecf20Sopenharmony_ci status = "okay"; 2918c2ecf20Sopenharmony_ci /* Network PHY */ 2928c2ecf20Sopenharmony_ci phy = <&phy0>; 2938c2ecf20Sopenharmony_ci phy-mode = "sgmii"; 2948c2ecf20Sopenharmony_ci /* Generic PHY, providing serdes lanes */ 2958c2ecf20Sopenharmony_ci phys = <&cp0_comphy0 1>; 2968c2ecf20Sopenharmony_ci}; 2978c2ecf20Sopenharmony_ci 2988c2ecf20Sopenharmony_ci&cp0_eth2 { 2998c2ecf20Sopenharmony_ci status = "okay"; 3008c2ecf20Sopenharmony_ci phy = <&phy1>; 3018c2ecf20Sopenharmony_ci phy-mode = "rgmii-id"; 3028c2ecf20Sopenharmony_ci}; 303