Skip to content

Commit

Permalink
arm64: dts: marvell: add ESPRESSObin variants
Browse files Browse the repository at this point in the history
This commit adds dts for different variants of ESPRESSObin board:

ESPRESSObin with soldered eMMC,

ESPRESSObin V7, compared to prior versions some passive elements changed
and ethernet ports labels positions have been reversed,

ESPRESSObin V7 with soldered eMMC.

Since most of elements are the same, one common dtsi is created and
referenced in each dts of particular variant.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
  • Loading branch information
tmn505 authored and gclement committed Oct 9, 2019
1 parent e1bd6ca commit 447b878
Show file tree
Hide file tree
Showing 5 changed files with 315 additions and 183 deletions.
42 changes: 42 additions & 0 deletions arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dts
@@ -0,0 +1,42 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Device Tree file for Globalscale Marvell ESPRESSOBin Board with eMMC
* Copyright (C) 2018 Marvell
*
* Romain Perier <romain.perier@free-electrons.com>
* Konstantin Porotchkin <kostap@marvell.com>
*
*/
/*
* Schematic available at http://espressobin.net/wp-content/uploads/2017/08/ESPRESSObin_V5_Schematics.pdf
*/

#include "armada-3720-espressobin.dtsi"

/ {
model = "Globalscale Marvell ESPRESSOBin Board (eMMC)";
compatible = "globalscale,espressobin-emmc", "globalscale,espressobin",
"marvell,armada3720", "marvell,armada3710";
};

/* U11 */
&sdhci0 {
non-removable;
bus-width = <8>;
mmc-ddr-1_8v;
mmc-hs400-1_8v;
marvell,xenon-emmc;
marvell,xenon-tun-count = <9>;
marvell,pad-type = "fixed-1-8v";

pinctrl-names = "default";
pinctrl-0 = <&mmc_pins>;
status = "okay";

#address-cells = <1>;
#size-cells = <0>;
mmccard: mmccard@0 {
compatible = "mmc-card";
reg = <0>;
};
};
59 changes: 59 additions & 0 deletions arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts
@@ -0,0 +1,59 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Device Tree file for Globalscale Marvell ESPRESSOBin Board V7 with eMMC
* Copyright (C) 2018 Marvell
*
* Romain Perier <romain.perier@free-electrons.com>
* Konstantin Porotchkin <kostap@marvell.com>
*
*/
/*
* Schematic available at http://wiki.espressobin.net/tiki-download_file.php?fileId=200
*/

#include "armada-3720-espressobin.dtsi"

/ {
model = "Globalscale Marvell ESPRESSOBin Board V7 (eMMC)";
compatible = "globalscale,espressobin-v7-emmc", "globalscale,espressobin-v7",
"globalscale,espressobin", "marvell,armada3720",
"marvell,armada3710";
};

&switch0 {
ports {
port@1 {
reg = <1>;
label = "lan1";
phy-handle = <&switch0phy0>;
};

port@3 {
reg = <3>;
label = "wan";
phy-handle = <&switch0phy2>;
};
};
};

/* U11 */
&sdhci0 {
non-removable;
bus-width = <8>;
mmc-ddr-1_8v;
mmc-hs400-1_8v;
marvell,xenon-emmc;
marvell,xenon-tun-count = <9>;
marvell,pad-type = "fixed-1-8v";

pinctrl-names = "default";
pinctrl-0 = <&mmc_pins>;
status = "okay";

#address-cells = <1>;
#size-cells = <0>;
mmccard: mmccard@0 {
compatible = "mmc-card";
reg = <0>;
};
};
36 changes: 36 additions & 0 deletions arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts
@@ -0,0 +1,36 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Device Tree file for Globalscale Marvell ESPRESSOBin Board V7
* Copyright (C) 2018 Marvell
*
* Romain Perier <romain.perier@free-electrons.com>
* Konstantin Porotchkin <kostap@marvell.com>
*
*/
/*
* Schematic available at http://wiki.espressobin.net/tiki-download_file.php?fileId=200
*/

#include "armada-3720-espressobin.dtsi"

/ {
model = "Globalscale Marvell ESPRESSOBin Board V7";
compatible = "globalscale,espressobin-v7", "globalscale,espressobin",
"marvell,armada3720", "marvell,armada3710";
};

&switch0 {
ports {
port@1 {
reg = <1>;
label = "lan1";
phy-handle = <&switch0phy0>;
};

port@3 {
reg = <3>;
label = "wan";
phy-handle = <&switch0phy2>;
};
};
};
184 changes: 1 addition & 183 deletions arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts
Expand Up @@ -12,191 +12,9 @@

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include "armada-372x.dtsi"
#include "armada-3720-espressobin.dtsi"

/ {
model = "Globalscale Marvell ESPRESSOBin Board";
compatible = "globalscale,espressobin", "marvell,armada3720", "marvell,armada3710";

chosen {
stdout-path = "serial0:115200n8";
};

memory@0 {
device_type = "memory";
reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
};

vcc_sd_reg1: regulator {
compatible = "regulator-gpio";
regulator-name = "vcc_sd1";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;

gpios = <&gpionb 4 GPIO_ACTIVE_HIGH>;
gpios-states = <0>;
states = <1800000 0x1
3300000 0x0>;
enable-active-high;
};
};

/* J9 */
&pcie0 {
status = "okay";
phys = <&comphy1 0>;
pinctrl-names = "default";
pinctrl-0 = <&pcie_reset_pins &pcie_clkreq_pins>;
};

/* J6 */
&sata {
status = "okay";
phys = <&comphy2 0>;
phy-names = "sata-phy";
};

/* J1 */
&sdhci1 {
wp-inverted;
bus-width = <4>;
cd-gpios = <&gpionb 3 GPIO_ACTIVE_LOW>;
marvell,pad-type = "sd";
vqmmc-supply = <&vcc_sd_reg1>;

pinctrl-names = "default";
pinctrl-0 = <&sdio_pins>;
status = "okay";
};

/* U11 */
&sdhci0 {
non-removable;
bus-width = <8>;
mmc-ddr-1_8v;
mmc-hs400-1_8v;
marvell,xenon-emmc;
marvell,xenon-tun-count = <9>;
marvell,pad-type = "fixed-1-8v";

pinctrl-names = "default";
pinctrl-0 = <&mmc_pins>;
/*
* This eMMC is not populated on all boards, so disable it by
* default and let the bootloader enable it, if it is present
*/
status = "disabled";
};

&spi0 {
status = "okay";

flash@0 {
reg = <0>;
compatible = "jedec,spi-nor";
spi-max-frequency = <104000000>;
m25p,fast-read;
};
};

/* Exported on the micro USB connector J5 through an FTDI */
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>;
status = "okay";
};

/*
* Connector J17 and J18 expose a number of different features. Some pins are
* multiplexed. This is the case for instance for the following features:
* - UART1 (pin 24 = RX, pin 26 = TX). See armada-3720-db.dts for an example of
* how to enable it. Beware that the signals are 1.8V TTL.
* - I2C
* - SPI
* - MMC
*/

/* J7 */
&usb3 {
status = "okay";
};

/* J8 */
&usb2 {
status = "okay";
};

&mdio {
switch0: switch0@1 {
compatible = "marvell,mv88e6085";
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;

dsa,member = <0 0>;

ports {
#address-cells = <1>;
#size-cells = <0>;

port@0 {
reg = <0>;
label = "cpu";
ethernet = <&eth0>;
phy-mode = "rgmii-id";
fixed-link {
speed = <1000>;
full-duplex;
};
};

port@1 {
reg = <1>;
label = "wan";
phy-handle = <&switch0phy0>;
};

port@2 {
reg = <2>;
label = "lan0";
phy-handle = <&switch0phy1>;
};

port@3 {
reg = <3>;
label = "lan1";
phy-handle = <&switch0phy2>;
};

};

mdio {
#address-cells = <1>;
#size-cells = <0>;

switch0phy0: switch0phy0@11 {
reg = <0x11>;
};
switch0phy1: switch0phy1@12 {
reg = <0x12>;
};
switch0phy2: switch0phy2@13 {
reg = <0x13>;
};
};
};
};

&eth0 {
pinctrl-names = "default";
pinctrl-0 = <&rgmii_pins>, <&smi_pins>;
phy-mode = "rgmii-id";
status = "okay";

fixed-link {
speed = <1000>;
full-duplex;
};
};

0 comments on commit 447b878

Please sign in to comment.