uboot-mvebu: add support for espressobin
[openwrt/staging/wigyori.git] / package / boot / uboot-mvebu / patches / 132-arm64-dts-armada-3720-espressobin-split-common-parts.patch
diff --git a/package/boot/uboot-mvebu/patches/132-arm64-dts-armada-3720-espressobin-split-common-parts.patch b/package/boot/uboot-mvebu/patches/132-arm64-dts-armada-3720-espressobin-split-common-parts.patch
new file mode 100644 (file)
index 0000000..d3af221
--- /dev/null
@@ -0,0 +1,369 @@
+From ee59573dd531df96de0d9dc8e79b34ed3716c864 Mon Sep 17 00:00:00 2001
+From: Andre Heider <a.heider@gmail.com>
+Date: Fri, 4 Sep 2020 15:38:58 +0200
+Subject: [PATCH] arm64: dts: armada-3720-espressobin: split common parts to
+ .dtsi
+
+Move most of the dts to the new common
+arch/arm/dts/armada-3720-espressobin.dtsi file, just like Linux has.
+
+The dts itself is imported from Linux.
+
+Signed-off-by: Andre Heider <a.heider@gmail.com>
+---
+ arch/arm/dts/armada-3720-espressobin.dts      | 190 ++----------------
+ ...sobin.dts => armada-3720-espressobin.dtsi} |   3 -
+ 2 files changed, 20 insertions(+), 173 deletions(-)
+ rewrite arch/arm/dts/armada-3720-espressobin.dts (95%)
+ copy arch/arm/dts/{armada-3720-espressobin.dts => armada-3720-espressobin.dtsi} (96%)
+
+--- a/arch/arm/dts/armada-3720-espressobin.dts
++++ b/arch/arm/dts/armada-3720-espressobin.dts
+@@ -1,170 +1,20 @@
++// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+ /*
+- * Device Tree file for Marvell Armada 3720 community board
+- * (ESPRESSOBin)
++ * Device Tree file for Globalscale Marvell ESPRESSOBin Board
+  * Copyright (C) 2016 Marvell
+  *
+- * Gregory CLEMENT <gregory.clement@free-electrons.com>
+- * Konstantin Porotchkin <kostap@marvell.com>
++ * Romain Perier <romain.perier@free-electrons.com>
+  *
+- * This file is dual-licensed: you can use it either under the terms
+- * of the GPL or the X11 license, at your option. Note that this dual
+- * licensing only applies to this file, and not this project as a
+- * whole.
+- *
+- *  a) This file is free software; you can redistribute it and/or
+- *     modify it under the terms of the GNU General Public License as
+- *     published by the Free Software Foundation; either version 2 of the
+- *     License, or (at your option) any later version.
+- *
+- *     This file is distributed in the hope that it will be useful
+- *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+- *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- *     GNU General Public License for more details.
+- *
+- * Or, alternatively
+- *
+- *  b) Permission is hereby granted, free of charge, to any person
+- *     obtaining a copy of this software and associated documentation
+- *     files (the "Software"), to deal in the Software without
+- *     restriction, including without limitation the rights to use
+- *     copy, modify, merge, publish, distribute, sublicense, and/or
+- *     sell copies of the Software, and to permit persons to whom the
+- *     Software is furnished to do so, subject to the following
+- *     conditions:
+- *
+- *     The above copyright notice and this permission notice shall be
+- *     included in all copies or substantial portions of the Software.
+- *
+- *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
+- *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+- *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+- *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+- *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
+- *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+- *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+- *     OTHER DEALINGS IN THE SOFTWARE.
++ */
++/*
++ * Schematic available at http://espressobin.net/wp-content/uploads/2017/08/ESPRESSObin_V5_Schematics.pdf
+  */
+ /dts-v1/;
+-#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";
+-      };
+-
+-      aliases {
+-              ethernet0 = &eth0;
+-              i2c0 = &i2c0;
+-              spi0 = &spi0;
+-      };
+-
+-      memory {
+-              device_type = "memory";
+-              reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
+-      };
+-
+-      vcc_sd_reg0: regulator@0 {
+-              compatible = "regulator-gpio";
+-              regulator-name = "vcc_sd0";
+-              regulator-min-microvolt = <1800000>;
+-              regulator-max-microvolt = <3300000>;
+-              regulator-type = "voltage";
+-              states = <1800000 0x1
+-                        3300000 0x0>;
+-              gpios = <&gpionb 4 GPIO_ACTIVE_HIGH>;
+-      };
+-};
+-
+-&comphy {
+-      max-lanes = <3>;
+-      phy0 {
+-              phy-type = <PHY_TYPE_USB3_HOST0>;
+-              phy-speed = <PHY_SPEED_5G>;
+-      };
+-
+-      phy1 {
+-              phy-type = <PHY_TYPE_PEX0>;
+-              phy-speed = <PHY_SPEED_2_5G>;
+-      };
+-
+-      phy2 {
+-              phy-type = <PHY_TYPE_SATA0>;
+-              phy-speed = <PHY_SPEED_5G>;
+-      };
+-};
+-
+-&eth0 {
+-      status = "okay";
+-      pinctrl-names = "default";
+-      pinctrl-0 = <&rgmii_pins>, <&smi_pins>;
+-      phy-mode = "rgmii";
+-      phy_addr = <0x1>;
+-      fixed-link {
+-              speed = <1000>;
+-              full-duplex;
+-      };
+-};
+-
+-&i2c0 {
+-      pinctrl-names = "default";
+-      pinctrl-0 = <&i2c1_pins>;
+-      status = "okay";
+-};
+-
+-/* CON3 */
+-&sata {
+-      status = "okay";
+-};
+-
+-&sdhci0 {
+-      pinctrl-names = "default";
+-      pinctrl-0 = <&sdio_pins>;
+-      bus-width = <4>;
+-      cd-gpios = <&gpionb 3 GPIO_ACTIVE_LOW>;
+-      vqmmc-supply = <&vcc_sd_reg0>;
+-      status = "okay";
+-};
+-
+-&spi0 {
+-      status = "okay";
+-      pinctrl-names = "default";
+-      pinctrl-0 = <&spi_quad_pins>;
+-
+-      spi-flash@0 {
+-              #address-cells = <1>;
+-              #size-cells = <1>;
+-              compatible = "st,m25p128", "jedec,spi-nor";
+-              reg = <0>; /* Chip select 0 */
+-              spi-max-frequency = <50000000>;
+-              m25p,fast-read;
+-      };
+-};
+-
+-/* Exported on the micro USB connector CON32 through an FTDI */
+-&uart0 {
+-      pinctrl-names = "default";
+-      pinctrl-0 = <&uart1_pins>;
+-      status = "okay";
+-};
+-
+-/* CON29 */
+-&usb2 {
+-      status = "okay";
+-};
+-
+-/* CON31 */
+-&usb3 {
+-      status = "okay";
+-};
+-
+-&pcie0 {
+-      pinctrl-names = "default";
+-      pinctrl-0 = <&pcie_pins>;
+-      reset-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>;
+-      status = "okay";
+ };
+--- /dev/null
++++ b/arch/arm/dts/armada-3720-espressobin.dtsi
+@@ -0,0 +1,167 @@
++/*
++ * Device Tree file for Marvell Armada 3720 community board
++ * (ESPRESSOBin)
++ * Copyright (C) 2016 Marvell
++ *
++ * Gregory CLEMENT <gregory.clement@free-electrons.com>
++ * Konstantin Porotchkin <kostap@marvell.com>
++ *
++ * This file is dual-licensed: you can use it either under the terms
++ * of the GPL or the X11 license, at your option. Note that this dual
++ * licensing only applies to this file, and not this project as a
++ * whole.
++ *
++ *  a) This file is free software; you can redistribute it and/or
++ *     modify it under the terms of the GNU General Public License as
++ *     published by the Free Software Foundation; either version 2 of the
++ *     License, or (at your option) any later version.
++ *
++ *     This file is distributed in the hope that it will be useful
++ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *     GNU General Public License for more details.
++ *
++ * Or, alternatively
++ *
++ *  b) Permission is hereby granted, free of charge, to any person
++ *     obtaining a copy of this software and associated documentation
++ *     files (the "Software"), to deal in the Software without
++ *     restriction, including without limitation the rights to use
++ *     copy, modify, merge, publish, distribute, sublicense, and/or
++ *     sell copies of the Software, and to permit persons to whom the
++ *     Software is furnished to do so, subject to the following
++ *     conditions:
++ *
++ *     The above copyright notice and this permission notice shall be
++ *     included in all copies or substantial portions of the Software.
++ *
++ *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
++ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
++ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
++ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
++ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ *     OTHER DEALINGS IN THE SOFTWARE.
++ */
++
++/dts-v1/;
++
++#include "armada-372x.dtsi"
++
++/ {
++      chosen {
++              stdout-path = "serial0:115200n8";
++      };
++
++      aliases {
++              ethernet0 = &eth0;
++              i2c0 = &i2c0;
++              spi0 = &spi0;
++      };
++
++      memory {
++              device_type = "memory";
++              reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
++      };
++
++      vcc_sd_reg0: regulator@0 {
++              compatible = "regulator-gpio";
++              regulator-name = "vcc_sd0";
++              regulator-min-microvolt = <1800000>;
++              regulator-max-microvolt = <3300000>;
++              regulator-type = "voltage";
++              states = <1800000 0x1
++                        3300000 0x0>;
++              gpios = <&gpionb 4 GPIO_ACTIVE_HIGH>;
++      };
++};
++
++&comphy {
++      max-lanes = <3>;
++      phy0 {
++              phy-type = <PHY_TYPE_USB3_HOST0>;
++              phy-speed = <PHY_SPEED_5G>;
++      };
++
++      phy1 {
++              phy-type = <PHY_TYPE_PEX0>;
++              phy-speed = <PHY_SPEED_2_5G>;
++      };
++
++      phy2 {
++              phy-type = <PHY_TYPE_SATA0>;
++              phy-speed = <PHY_SPEED_5G>;
++      };
++};
++
++&eth0 {
++      status = "okay";
++      pinctrl-names = "default";
++      pinctrl-0 = <&rgmii_pins>, <&smi_pins>;
++      phy-mode = "rgmii";
++      phy_addr = <0x1>;
++      fixed-link {
++              speed = <1000>;
++              full-duplex;
++      };
++};
++
++&i2c0 {
++      pinctrl-names = "default";
++      pinctrl-0 = <&i2c1_pins>;
++      status = "okay";
++};
++
++/* CON3 */
++&sata {
++      status = "okay";
++};
++
++&sdhci0 {
++      pinctrl-names = "default";
++      pinctrl-0 = <&sdio_pins>;
++      bus-width = <4>;
++      cd-gpios = <&gpionb 3 GPIO_ACTIVE_LOW>;
++      vqmmc-supply = <&vcc_sd_reg0>;
++      status = "okay";
++};
++
++&spi0 {
++      status = "okay";
++      pinctrl-names = "default";
++      pinctrl-0 = <&spi_quad_pins>;
++
++      spi-flash@0 {
++              #address-cells = <1>;
++              #size-cells = <1>;
++              compatible = "st,m25p128", "jedec,spi-nor";
++              reg = <0>; /* Chip select 0 */
++              spi-max-frequency = <50000000>;
++              m25p,fast-read;
++      };
++};
++
++/* Exported on the micro USB connector CON32 through an FTDI */
++&uart0 {
++      pinctrl-names = "default";
++      pinctrl-0 = <&uart1_pins>;
++      status = "okay";
++};
++
++/* CON29 */
++&usb2 {
++      status = "okay";
++};
++
++/* CON31 */
++&usb3 {
++      status = "okay";
++};
++
++&pcie0 {
++      pinctrl-names = "default";
++      pinctrl-0 = <&pcie_pins>;
++      reset-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>;
++      status = "okay";
++};