The Parallella is a single board computer showcasing the Epiphany
multi-core processor from Adapteva. The board uses a Zynq-7000 SoC which
interconnects to the Epiphany. This patch adds support for booting on
the Zynq system of the board.

More information on this board is available at: https://parallella.org/

Signed-off-by: Nathan Rossi <nat...@nathanrossi.com>
Cc: Albert Aribaud <albert.u.b...@aribaud.net>
Cc: Michal Simek <mon...@monstr.eu>
---
 arch/arm/dts/Makefile             |  1 +
 arch/arm/dts/zynq-parallella.dts  | 96 +++++++++++++++++++++++++++++++++++++++
 configs/zynq_parallella_defconfig | 36 +++++++++++++++
 include/configs/zynq_parallella.h | 17 +++++++
 4 files changed, 150 insertions(+)
 create mode 100644 arch/arm/dts/zynq-parallella.dts
 create mode 100644 configs/zynq_parallella_defconfig
 create mode 100644 include/configs/zynq_parallella.h

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 92c7545..de249a4 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -79,6 +79,7 @@ dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb \
        zynq-zed.dtb \
        zynq-zybo.dtb \
        zynq-microzed.dtb \
+       zynq-parallella.dtb \
        zynq-picozed.dtb \
        zynq-zc770-xm010.dtb \
        zynq-zc770-xm011.dtb \
diff --git a/arch/arm/dts/zynq-parallella.dts b/arch/arm/dts/zynq-parallella.dts
new file mode 100644
index 0000000..2a8a805
--- /dev/null
+++ b/arch/arm/dts/zynq-parallella.dts
@@ -0,0 +1,96 @@
+/*
+ * Adapteva Parallella board DTS
+ *
+ *  Copyright (C) 2011 - 2013 Xilinx
+ *  Copyright (C) 2012 National Instruments Corp.
+ *  Copyright (C) 2014 SUSE LINUX Products GmbH
+ *  Copyright (C) 2016 Nathan Rossi
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+/dts-v1/;
+/include/ "zynq-7000.dtsi"
+
+/ {
+       model = "Adapteva Parallella Board";
+       compatible = "adapteva,parallella", "xlnx,zynq-7000";
+
+       aliases {
+               ethernet0 = &gem0;
+               serial0 = &uart1;
+               spi0 = &qspi;
+               mmc0 = &sdhci0;
+       };
+
+       memory {
+               device_type = "memory";
+               reg = <0x0 0x40000000>;
+       };
+
+       chosen {
+               bootargs = "earlyprintk";
+               stdout-path = "serial0:115200n8";
+       };
+};
+
+&clkc {
+       fclk-enable = <0xf>;
+       ps-clk-frequency = <33333333>;
+};
+
+&gem0 {
+       status = "okay";
+       phy-mode = "rgmii-id";
+       phy-handle = <&ethernet_phy>;
+
+       ethernet_phy: ethernet-phy@0 {
+               /* Marvell 88E1318 */
+               compatible = "ethernet-phy-id0141.0e90",
+                            "ethernet-phy-ieee802.3-c22";
+               reg = <0>;
+               marvell,reg-init = <0x3 0x10 0xff00 0x1e>,
+                                  <0x3 0x11 0xfff0 0xa>;
+       };
+};
+
+&i2c0 {
+       status = "okay";
+
+       isl9305: isl9305@68 {
+               compatible = "isil,isl9305";
+               reg = <0x68>;
+
+               regulators {
+                       dcd1 {
+                               regulator-name = "VDD_DSP";
+                               regulator-always-on;
+                       };
+                       dcd2 {
+                               regulator-name = "1P35V";
+                               regulator-always-on;
+                       };
+                       ldo1 {
+                               regulator-name = "VDD_ADJ";
+                       };
+                       ldo2 {
+                               regulator-name = "VDD_GPIO";
+                               regulator-always-on;
+                       };
+               };
+       };
+};
+
+&sdhci1 {
+       u-boot,dm-pre-reloc;
+       status = "okay";
+};
+
+&uart1 {
+       u-boot,dm-pre-reloc;
+       status = "okay";
+};
+
+&qspi {
+       u-boot,dm-pre-reloc;
+       status = "okay";
+};
diff --git a/configs/zynq_parallella_defconfig 
b/configs/zynq_parallella_defconfig
new file mode 100644
index 0000000..fe05c82
--- /dev/null
+++ b/configs/zynq_parallella_defconfig
@@ -0,0 +1,36 @@
+CONFIG_ARM=y
+CONFIG_SYS_CONFIG_NAME="zynq_parallella"
+CONFIG_ARCH_ZYNQ=y
+CONFIG_DEFAULT_DEVICE_TREE="zynq-parallella"
+CONFIG_SPL=y
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_FIT_SIGNATURE=y
+CONFIG_HUSH_PARSER=y
+CONFIG_SYS_PROMPT="Parallella> "
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+CONFIG_CMD_MMC=y
+CONFIG_CMD_SF=y
+CONFIG_CMD_GPIO=y
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_TFTPPUT=y
+CONFIG_CMD_DHCP=y
+CONFIG_CMD_MII=y
+CONFIG_CMD_PING=y
+CONFIG_CMD_CACHE=y
+CONFIG_CMD_EXT2=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_EXT4_WRITE=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_FS_GENERIC=y
+CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_SPL_DM_SEQ_ALIAS=y
+CONFIG_ZYNQ_SDHCI=y
+CONFIG_SPI_FLASH=y
+CONFIG_SPI_FLASH_BAR=y
+CONFIG_SPI_FLASH_SPANSION=y
+CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_SPI_FLASH_WINBOND=y
+CONFIG_ZYNQ_GEM=y
+CONFIG_ZYNQ_QSPI=y
diff --git a/include/configs/zynq_parallella.h 
b/include/configs/zynq_parallella.h
new file mode 100644
index 0000000..f7d17b8
--- /dev/null
+++ b/include/configs/zynq_parallella.h
@@ -0,0 +1,17 @@
+/*
+ * (C) Copyright 2016 Nathan Rossi
+ *
+ * Configuration for Adapteva Parallella Board
+ * See zynq-common.h for Zynq common configs
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef __CONFIG_ZYNQ_PARALLELLA_H
+#define __CONFIG_ZYNQ_PARALLELLA_H
+
+#define CONFIG_SYS_NO_FLASH
+
+#include <configs/zynq-common.h>
+
+#endif /* __CONFIG_ZYNQ_PARALLELLA_H */
-- 
2.8.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to