0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003 * Device Tree file for Globalscale Marvell ESPRESSOBin Board
0004 * Copyright (C) 2016 Marvell
0005 *
0006 * Romain Perier <romain.perier@free-electrons.com>
0007 *
0008 */
0009
0010 #include <dt-bindings/gpio/gpio.h>
0011 #include "armada-372x.dtsi"
0012
0013 / {
0014 aliases {
0015 ethernet0 = ð0;
0016 /* for dsa slave device */
0017 ethernet1 = &switch0port1;
0018 ethernet2 = &switch0port2;
0019 ethernet3 = &switch0port3;
0020 };
0021
0022 chosen {
0023 stdout-path = "serial0:115200n8";
0024 };
0025
0026 memory@0 {
0027 device_type = "memory";
0028 reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
0029 };
0030
0031 vcc_sd_reg1: regulator {
0032 compatible = "regulator-gpio";
0033 regulator-name = "vcc_sd1";
0034 regulator-min-microvolt = <1800000>;
0035 regulator-max-microvolt = <3300000>;
0036 regulator-boot-on;
0037
0038 gpios = <&gpionb 4 GPIO_ACTIVE_HIGH>;
0039 gpios-states = <0>;
0040 states = <1800000 0x1
0041 3300000 0x0>;
0042 enable-active-high;
0043 };
0044
0045 led2: gpio-led2 {
0046 /* led2 is working only on v7 board */
0047 status = "disabled";
0048
0049 compatible = "gpio-leds";
0050
0051 led2 {
0052 label = "led2";
0053 gpios = <&gpionb 2 GPIO_ACTIVE_LOW>;
0054 default-state = "off";
0055 };
0056 };
0057 };
0058
0059 /* J9 */
0060 &pcie0 {
0061 status = "okay";
0062 pinctrl-names = "default";
0063 pinctrl-0 = <&pcie_reset_pins &pcie_clkreq_pins>;
0064 reset-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>;
0065 };
0066
0067 /* J6 */
0068 &sata {
0069 status = "okay";
0070 };
0071
0072 /* U11 */
0073 &sdhci0 {
0074 /* Main DTS file for Espressobin is without eMMC */
0075 status = "disabled";
0076
0077 non-removable;
0078 bus-width = <8>;
0079 mmc-ddr-1_8v;
0080 mmc-hs400-1_8v;
0081 marvell,xenon-emmc;
0082 marvell,xenon-tun-count = <9>;
0083 marvell,pad-type = "fixed-1-8v";
0084
0085 pinctrl-names = "default";
0086 pinctrl-0 = <&mmc_pins>;
0087
0088 #address-cells = <1>;
0089 #size-cells = <0>;
0090 mmccard: mmccard@0 {
0091 compatible = "mmc-card";
0092 reg = <0>;
0093 };
0094 };
0095
0096 /* J1 */
0097 &sdhci1 {
0098 wp-inverted;
0099 bus-width = <4>;
0100 cd-gpios = <&gpionb 3 GPIO_ACTIVE_LOW>;
0101 marvell,pad-type = "sd";
0102 vqmmc-supply = <&vcc_sd_reg1>;
0103
0104 pinctrl-names = "default";
0105 pinctrl-0 = <&sdio_pins>;
0106 status = "okay";
0107 };
0108
0109 &spi0 {
0110 status = "okay";
0111
0112 flash@0 {
0113 reg = <0>;
0114 compatible = "jedec,spi-nor";
0115 spi-max-frequency = <104000000>;
0116 m25p,fast-read;
0117 };
0118 };
0119
0120 /* Exported on the micro USB connector J5 through an FTDI */
0121 &uart0 {
0122 pinctrl-names = "default";
0123 pinctrl-0 = <&uart1_pins>;
0124 status = "okay";
0125 };
0126
0127 /*
0128 * Connector J17 and J18 expose a number of different features. Some pins are
0129 * multiplexed. This is the case for instance for the following features:
0130 * - UART1 (pin 24 = RX, pin 26 = TX). See armada-3720-db.dts for an example of
0131 * how to enable it. Beware that the signals are 1.8V TTL.
0132 * - I2C
0133 * - SPI
0134 * - MMC
0135 */
0136
0137 /* J7 */
0138 &usb3 {
0139 status = "okay";
0140 };
0141
0142 /* J8 */
0143 &usb2 {
0144 status = "okay";
0145 };
0146
0147 &mdio {
0148 switch0: switch0@1 {
0149 compatible = "marvell,mv88e6085";
0150 #address-cells = <1>;
0151 #size-cells = <0>;
0152 reg = <1>;
0153
0154 dsa,member = <0 0>;
0155
0156 ports {
0157 #address-cells = <1>;
0158 #size-cells = <0>;
0159
0160 switch0port0: port@0 {
0161 reg = <0>;
0162 label = "cpu";
0163 ethernet = <ð0>;
0164 phy-mode = "rgmii-id";
0165 fixed-link {
0166 speed = <1000>;
0167 full-duplex;
0168 };
0169 };
0170
0171 switch0port1: port@1 {
0172 reg = <1>;
0173 label = "wan";
0174 phy-handle = <&switch0phy0>;
0175 };
0176
0177 switch0port2: port@2 {
0178 reg = <2>;
0179 label = "lan0";
0180 phy-handle = <&switch0phy1>;
0181 };
0182
0183 switch0port3: port@3 {
0184 reg = <3>;
0185 label = "lan1";
0186 phy-handle = <&switch0phy2>;
0187 };
0188
0189 };
0190
0191 mdio {
0192 #address-cells = <1>;
0193 #size-cells = <0>;
0194
0195 switch0phy0: switch0phy0@11 {
0196 reg = <0x11>;
0197 };
0198 switch0phy1: switch0phy1@12 {
0199 reg = <0x12>;
0200 };
0201 switch0phy2: switch0phy2@13 {
0202 reg = <0x13>;
0203 };
0204 };
0205 };
0206 };
0207
0208 ð0 {
0209 pinctrl-names = "default";
0210 pinctrl-0 = <&rgmii_pins>, <&smi_pins>;
0211 phy-mode = "rgmii-id";
0212 status = "okay";
0213
0214 fixed-link {
0215 speed = <1000>;
0216 full-duplex;
0217 };
0218 };