[PATCH] ARM: zii-vf610-dev: Add ZII SSMB DTU board

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Add the Zodiac Digital Tapping Unit, a VF610 based network device with
5 Ethernet ports.

Signed-off-by: Andrey Smirnov <andrew.smirnov@xxxxxxxxx>
---
 arch/arm/boards/zii-vf610-dev/board.c    |  4 +++-
 arch/arm/boards/zii-vf610-dev/lowlevel.c |  5 +++++
 arch/arm/dts/Makefile                    |  3 ++-
 arch/arm/dts/vf610-zii-ssmb-dtu.dts      | 16 ++++++++++++++++
 4 files changed, 26 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm/dts/vf610-zii-ssmb-dtu.dts

diff --git a/arch/arm/boards/zii-vf610-dev/board.c b/arch/arm/boards/zii-vf610-dev/board.c
index e74ada396..2ac0685bd 100644
--- a/arch/arm/boards/zii-vf610-dev/board.c
+++ b/arch/arm/boards/zii-vf610-dev/board.c
@@ -66,6 +66,7 @@ static int zii_vf610_dev_set_hostname(void)
 		const char *compatible;
 		const char *hostname;
 	} boards[] = {
+		{ "zii,vf610dtu", "dtu" },
 		{ "zii,vf610spu3", "spu3" },
 		{ "zii,vf610spb4", "spb4" },
 		{ "zii,vf610cfu1", "cfu1" },
@@ -114,7 +115,8 @@ static int zii_vf610_register_emmc_bbu(void)
 
 	if (!of_machine_is_compatible("zii,vf610spu3") &&
 	    !of_machine_is_compatible("zii,vf610cfu1") &&
-	    !of_machine_is_compatible("zii,vf610spb4"))
+	    !of_machine_is_compatible("zii,vf610spb4") &&
+	    !of_machine_is_compatible("zii,vf610dtu"))
 		return 0;
 
 	ret = vf610_bbu_internal_mmcboot_register_handler("eMMC",
diff --git a/arch/arm/boards/zii-vf610-dev/lowlevel.c b/arch/arm/boards/zii-vf610-dev/lowlevel.c
index 0db645931..b320fbc0c 100644
--- a/arch/arm/boards/zii-vf610-dev/lowlevel.c
+++ b/arch/arm/boards/zii-vf610-dev/lowlevel.c
@@ -42,6 +42,7 @@ enum zii_platform_vf610_type {
 	ZII_PLATFORM_VF610_CFU1		= 0x04,
 	ZII_PLATFORM_VF610_DEV_REV_C	= 0x05,
 	ZII_PLATFORM_VF610_SPB4		= 0x06,
+	ZII_PLATFORM_VF610_SSMB_DTU	= 0x07,
 };
 
 static unsigned int get_system_type(void)
@@ -79,6 +80,7 @@ extern char __dtb_vf610_zii_dev_rev_c_start[];
 extern char __dtb_vf610_zii_cfu1_start[];
 extern char __dtb_vf610_zii_ssmb_spu3_start[];
 extern char __dtb_vf610_zii_scu4_aib_start[];
+extern char __dtb_vf610_zii_ssmb_dtu_start[];
 extern char __dtb_vf610_zii_spb4_start[];
 
 ENTRY_FUNCTION(start_zii_vf610_dev, r0, r1, r2)
@@ -120,6 +122,9 @@ ENTRY_FUNCTION(start_zii_vf610_dev, r0, r1, r2)
 	case ZII_PLATFORM_VF610_SPB4:
 		fdt = __dtb_vf610_zii_spb4_start;
 		break;
+	case ZII_PLATFORM_VF610_SSMB_DTU:
+		fdt = __dtb_vf610_zii_ssmb_dtu_start;
+		break;
 	}
 
 	vf610_barebox_entry(fdt + get_runtime_offset());
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 1c6129816..be3edbb0c 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -125,7 +125,8 @@ pbl-dtb-$(CONFIG_MACH_ZII_VF610_DEV) += \
 	vf610-zii-cfu1.dtb.o		\
 	vf610-zii-ssmb-spu3.dtb.o	\
 	vf610-zii-scu4-aib.dtb.o	\
-	vf610-zii-spb4.dtb.o
+	vf610-zii-spb4.dtb.o		\
+	vf610-zii-ssmb-dtu.dtb.o
 pbl-dtb-$(CONFIG_MACH_AT91SAM9263EK_DT) += at91sam9263ek.dtb.o
 pbl-dtb-$(CONFIG_MACH_MICROCHIP_KSZ9477_EVB) += at91-microchip-ksz9477-evb.dtb.o
 pbl-dtb-$(CONFIG_MACH_AT91SAM9X5EK) += at91sam9x5ek.dtb.o
diff --git a/arch/arm/dts/vf610-zii-ssmb-dtu.dts b/arch/arm/dts/vf610-zii-ssmb-dtu.dts
new file mode 100644
index 000000000..6ffb7aa62
--- /dev/null
+++ b/arch/arm/dts/vf610-zii-ssmb-dtu.dts
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+
+#include <arm/vf610-zii-ssmb-dtu.dts>
+
+#include "vf610-zii-dev.dtsi"
+
+/ {
+	aliases {
+		/*
+		* NVMEM device corresponding to EEPROM attached to
+		* the switch shared DT node with it, so we use that
+		* fact to create a desirable naming
+		*/
+		switch-eeprom = &switch0;
+	};
+};
\ No newline at end of file
-- 
2.20.1


_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux