All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] ARM: lacie_kw: add support for WIRELESS_SPACE
@ 2012-08-16 18:08 Albert ARIBAUD
  2012-08-17  7:59 ` Prafulla Wadaskar
                   ` (2 more replies)
  0 siblings, 3 replies; 32+ messages in thread
From: Albert ARIBAUD @ 2012-08-16 18:08 UTC (permalink / raw)
  To: u-boot


Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
---

This patch adds the Wireless Space to the lacie_kw sub-targets.
It *should* not change a thing to the already existing sub-targets
(except that each one gets its own prompt).

Owners of NETSPACE_[MAX]_V2, INETSPACE_V2, NET2BIG_V2 please test.

 board/LaCie/netspace_v2/netspace_v2.c |   42 ++----------
 board/LaCie/netspace_v2/netspace_v2.h |  121 +++++++++++++++++++++++++++++++++
 boards.cfg                            |    1 +
 drivers/net/mvgbe.c                   |   10 ++-
 include/configs/lacie_kw.h            |   38 ++++++++++-
 5 files changed, 175 insertions(+), 37 deletions(-)

diff --git a/board/LaCie/netspace_v2/netspace_v2.c b/board/LaCie/netspace_v2/netspace_v2.c
index 68e8a77..084f0cf 100644
--- a/board/LaCie/netspace_v2/netspace_v2.c
+++ b/board/LaCie/netspace_v2/netspace_v2.c
@@ -39,40 +39,7 @@ int board_early_init_f(void)
 			NETSPACE_V2_OE_LOW, NETSPACE_V2_OE_HIGH);
 
 	/* Multi-Purpose Pins Functionality configuration */
-	u32 kwmpp_config[] = {
-		MPP0_SPI_SCn,
-		MPP1_SPI_MOSI,
-		MPP2_SPI_SCK,
-		MPP3_SPI_MISO,
-		MPP4_NF_IO6,
-		MPP5_NF_IO7,
-		MPP6_SYSRST_OUTn,
-		MPP7_GPO,		/* Fan speed (bit 1) */
-		MPP8_TW_SDA,
-		MPP9_TW_SCK,
-		MPP10_UART0_TXD,
-		MPP11_UART0_RXD,
-		MPP12_GPO,		/* Red led */
-		MPP14_GPIO,		/* USB fuse */
-		MPP16_GPIO,		/* SATA 0 power */
-		MPP17_GPIO,		/* SATA 1 power */
-		MPP18_NF_IO0,
-		MPP19_NF_IO1,
-		MPP20_SATA1_ACTn,
-		MPP21_SATA0_ACTn,
-		MPP22_GPIO,		/* Fan speed (bit 0) */
-		MPP23_GPIO,		/* Fan power */
-		MPP24_GPIO,		/* USB mode select */
-		MPP25_GPIO,		/* Fan rotation fail */
-		MPP26_GPIO,		/* USB vbus-in detection */
-		MPP28_GPIO,		/* USB enable vbus-out */
-		MPP29_GPIO,		/* Blue led (slow register) */
-		MPP30_GPIO,		/* Blue led (command register) */
-		MPP31_GPIO,		/* Board power off */
-		MPP32_GPIO,		/* Button (0 = Released, 1 = Pushed) */
-		MPP33_GPIO,		/* Fan speed (bit 2) */
-		0
-	};
+	u32 kwmpp_config[] = NETSPACE_V2_MPP_CONFIG;
 	kirkwood_mpp_conf(kwmpp_config, NULL);
 
 	return 0;
@@ -107,7 +74,12 @@ int misc_init_r(void)
 /* Configure and initialize PHY */
 void reset_phy(void)
 {
-	mv_phy_88e1116_init("egiga0", 8);
+#ifdef CONFIG_EGIGA0_PHY
+	mv_phy_88e1116_init("egiga0", CONFIG_EGIGA0_PHY);
+#endif
+#ifdef CONFIG_EGIGA1_PHY
+	mv_phy_88e1116_init("egiga1", CONFIG_EGIGA1_PHY);
+#endif
 }
 #endif
 
diff --git a/board/LaCie/netspace_v2/netspace_v2.h b/board/LaCie/netspace_v2/netspace_v2.h
index 34e492c..fc1d571 100644
--- a/board/LaCie/netspace_v2/netspace_v2.h
+++ b/board/LaCie/netspace_v2/netspace_v2.h
@@ -24,11 +24,132 @@
 #define NETSPACE_V2_H
 
 /* GPIO configuration */
+
+/* Net Space V2, Net Space Max V2, Internet Space V2: */
+#if defined(CONFIG_NETSPACE_MAX_V2) \
+    || defined(CONFIG_NETSPACE_V2) \
+    || defined(CONFIG_NET2BIG_V2) \
+    || defined(CONFIG_INETSPACE_V2)
+
 #define NETSPACE_V2_OE_LOW		0x06004000
 #define NETSPACE_V2_OE_HIGH		0x00000031
 #define NETSPACE_V2_OE_VAL_LOW		0x10030000
 #define NETSPACE_V2_OE_VAL_HIGH		0x00000000
 
+/* Wireless Space */
+
+#elif defined(CONFIG_WIRELESS_SPACE)
+
+#define NETSPACE_V2_OE_LOW		0xFF006808	
+#define NETSPACE_V2_OE_HIGH		0x0000F989
+#define NETSPACE_V2_OE_VAL_LOW		0x00000000
+#define NETSPACE_V2_OE_VAL_HIGH		0x00000000
+
+#else
+
+#error Undefined or unsupported LaCie KW board variant
+
+#endif
+
 #define NETSPACE_V2_GPIO_BUTTON         32
 
+/* MPP configuration */
+
+/* Net Space V2, Net Space Max V2, Internet Space V2: */
+#if defined(CONFIG_NETSPACE_MAX_V2) \
+	|| defined(CONFIG_NETSPACE_V2) \
+	|| defined(CONFIG_NET2BIG_V2) \
+    || defined(CONFIG_INETSPACE_V2)
+
+#define NETSPACE_V2_MPP_CONFIG	{ \
+		MPP0_SPI_SCn, \
+		MPP1_SPI_MOSI, \
+		MPP2_SPI_SCK, \
+		MPP3_SPI_MISO, \
+		MPP4_NF_IO6, \
+		MPP5_NF_IO7, \
+		MPP6_SYSRST_OUTn, \
+		MPP7_GPO,		/* Fan speed (bit 1) */ \
+		MPP8_TW_SDA, \
+		MPP9_TW_SCK, \
+		MPP10_UART0_TXD, \
+		MPP11_UART0_RXD, \
+		MPP12_GPO,		/* Red led */ \
+		MPP14_GPIO,		/* USB fuse */ \
+		MPP16_GPIO,		/* SATA 0 power */ \
+		MPP17_GPIO,		/* SATA 1 power */ \
+		MPP18_NF_IO0, \
+		MPP19_NF_IO1, \
+		MPP20_SATA1_ACTn, \
+		MPP21_SATA0_ACTn, \
+		MPP22_GPIO,		/* Fan speed (bit 0) */ \
+		MPP23_GPIO,		/* Fan power */ \
+		MPP24_GPIO,		/* USB mode select */ \
+		MPP25_GPIO,		/* Fan rotation fail */ \
+		MPP26_GPIO,		/* USB vbus-in detection */ \
+		MPP28_GPIO,		/* USB enable vbus-out */ \
+		MPP29_GPIO,		/* Blue led (slow register) */ \
+		MPP30_GPIO,		/* Blue led (command register) */ \
+		MPP31_GPIO,		/* Board power off */ \
+		MPP32_GPIO,		/* Button (0 = Released, 1 = Pushed) */ \
+		MPP33_GPIO,		/* Fan speed (bit 2) */ \
+		0 \
+	}
+
+#elif defined(CONFIG_WIRELESS_SPACE)
+
+#define NETSPACE_V2_MPP_CONFIG	{ \
+		MPP0_NF_IO2, \
+		MPP1_NF_IO3, \
+		MPP2_NF_IO4, \
+		MPP3_NF_IO5, \
+		MPP4_NF_IO6, \
+		MPP5_NF_IO7, \
+		MPP6_SYSRST_OUTn, \
+		MPP7_GPO,		/* Fan speed (bit 1) */ \
+		MPP8_TW_SDA, \
+		MPP9_TW_SCK, \
+		MPP10_UART0_TXD, \
+		MPP11_UART0_RXD, \
+		MPP13_GPIO,		/* Red led */ \
+		MPP14_GPIO,		/* USB fuse */ \
+		MPP15_SATA0_ACTn, \
+		MPP16_GPIO,		/* SATA 0 power */ \
+		MPP17_GPIO,		/* SATA 1 power */ \
+		MPP18_NF_IO0, \
+		MPP19_NF_IO1, \
+		MPP20_GE1_0,		/* Gigabit Ethernet 1 */ \
+		MPP21_GE1_1, \
+		MPP22_GE1_2, \
+		MPP23_GE1_3, \
+		MPP24_GE1_4, \
+		MPP25_GE1_5, \
+		MPP26_GE1_6, \
+		MPP27_GE1_7, \
+		MPP28_GE1_8, \
+		MPP29_GE1_9, \
+		MPP30_GE1_10, \
+		MPP31_GE1_11, \
+		MPP32_GE1_12, \
+		MPP33_GE1_13, \
+		MPP34_GE1_14, \
+		MPP35_GE1_15, \
+		MPP36_GPIO,		/* Fan speed (bit 2) */ \
+		MPP37_GPIO,		/* Fan speed (bit 0) */ \
+		MPP38_GPIO,		/* Fan power */ \
+		MPP39_GPIO,		/* Fan rotation fail */ \
+		MPP40_GPIO,		/* Ethernet switch link */ \
+		MPP41_GPIO,		/* USB enable host vbus */ \
+		MPP42_GPIO,		/* LED clock control */ \
+		MPP43_GPIO,		/* WPS button (0 = Pushed, 1 = Released) */ \
+		MPP44_GPIO,		/* Red LED on/off */ \
+		MPP45_GPIO,		/* Red LED timer blink (on=100ms, off=100ms) */ \
+		MPP46_GPIO,		/* Green LED on/off */ \
+		MPP47_GPIO,		/* LED (blue, green) SATA activity blink */ \
+		MPP48_GPIO,		/* Blue LED on/off */ \
+		0 \
+	}
+
+#endif
+
 #endif /* NETSPACE_V2_H */
diff --git a/boards.cfg b/boards.cfg
index edd750c..f001b29 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -157,6 +157,7 @@ inetspace_v2                 arm         arm926ejs   netspace_v2         LaCie
 net2big_v2                   arm         arm926ejs   net2big_v2          LaCie          kirkwood	lacie_kw:NET2BIG_V2
 netspace_max_v2              arm         arm926ejs   netspace_v2         LaCie          kirkwood	lacie_kw:NETSPACE_MAX_V2
 netspace_v2                  arm         arm926ejs   netspace_v2         LaCie          kirkwood	lacie_kw:NETSPACE_V2
+wireless_space               arm         arm926ejs   netspace_v2         LaCie          kirkwood	lacie_kw:WIRELESS_SPACE
 dreamplug                    arm         arm926ejs   -                   Marvell        kirkwood
 guruplug                     arm         arm926ejs   -                   Marvell        kirkwood
 mv88f6281gtw_ge              arm         arm926ejs   -                   Marvell        kirkwood
diff --git a/drivers/net/mvgbe.c b/drivers/net/mvgbe.c
index 47bf27c..670edb0 100644
--- a/drivers/net/mvgbe.c
+++ b/drivers/net/mvgbe.c
@@ -653,6 +653,14 @@ int mvgbe_initialize(bd_t *bis)
 	struct eth_device *dev;
 	int devnum;
 	u8 used_ports[MAX_MVGBE_DEVS] = CONFIG_MVGBE_PORTS;
+#if defined(CONFIG_MVGBE_PHY_ADRS)
+#define MVGBE_PHY_ADRS CONFIG_MVGBE_PHY_ADRS
+#elif defined(CONFIG_PHY_BASE_ADR)
+#define MVGBE_PHY_ADRS {CONFIG_PHY_BASE_ADR,CONFIG_PHY_BASE_ADR+1}
+#else
+#define MVGBE_PHY_ADRS {8,9}
+#endif
+ 	u8 used_phy_adrs[MAX_MVGBE_DEVS] = MVGBE_PHY_ADRS;
 
 	for (devnum = 0; devnum < MAX_MVGBE_DEVS; devnum++) {
 		/*skip if port is configured not to use */
@@ -733,7 +741,7 @@ error1:
 		miiphy_register(dev->name, smi_reg_read, smi_reg_write);
 		/* Set phy address of the port */
 		miiphy_write(dev->name, MV_PHY_ADR_REQUEST,
-				MV_PHY_ADR_REQUEST, PHY_BASE_ADR + devnum);
+				MV_PHY_ADR_REQUEST, used_phy_adrs[devnum]);
 #endif
 	}
 	return 0;
diff --git a/include/configs/lacie_kw.h b/include/configs/lacie_kw.h
index c35c2db..a979ab4 100644
--- a/include/configs/lacie_kw.h
+++ b/include/configs/lacie_kw.h
@@ -33,6 +33,10 @@
 #elif defined(CONFIG_NET2BIG_V2)
 #define CONFIG_MACH_TYPE		MACH_TYPE_NET2BIG_V2
 #define CONFIG_IDENT_STRING		" 2Big v2"
+#elif defined(CONFIG_WIRELESS_SPACE)
+#define MACH_TYPE_WIRELESS_SPACE	2500 /* is missing in mach-types.h */
+#define CONFIG_MACH_TYPE		MACH_TYPE_WIRELESS_SPACE
+#define CONFIG_IDENT_STRING		" Wireless Space"
 #else
 #error "Unknown board"
 #endif
@@ -73,6 +77,12 @@
 #define CONFIG_SYS_KWD_CONFIG $(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage-is2.cfg
 #endif
 
+#ifdef CONFIG_WIRELESS_SPACE
+/* No SPI but NAND */
+#undef CONFIG_CMD_SF
+#define CONFIG_CMD_NAND
+#endif
+
 /*
  * mv-common.h should be defined after CMD configs since it used them
  * to enable certain macros
@@ -90,8 +100,14 @@
 #define CONFIG_SYS_IDE_MAXDEVICE        1
 #if defined(CONFIG_NET2BIG_V2)
 #define CONFIG_SYS_PROMPT		"2big2> "
-#else
+#elif defined(CONFIG_NETSPACE_V2)
 #define CONFIG_SYS_PROMPT		"ns2> "
+#elif defined(CONFIG_INETSPACE_V2)
+#define CONFIG_SYS_PROMPT		"is2> "
+#elif defined(CONFIG_WIRELESS_SPACE)
+#define CONFIG_SYS_PROMPT		"ws> "
+#else
+#define CONFIG_SYS_PROMPT		"lacie-kw> "
 #endif
 
 /*
@@ -99,7 +115,16 @@
  */
 #ifdef CONFIG_CMD_NET
 #define CONFIG_MISC_INIT_R /* Call misc_init_r() to initialize MAC address */
+#if defined(CONFIG_WIRELESS_SPACE)
+#define CONFIG_MVGBE_PORTS		{1, 1}	/* enable both ports only */
+#define CONFIG_EGIGA1_PHY		0x6		/* egiga1 has a PHY, egiga0 has NOT */
+#define CONFIG_MVGBE_PHY_ADRS	{0xa, 0x6}
+#define CONFIG_MII
+#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
+#else
 #define CONFIG_MVGBE_PORTS		{1, 0} /* enable port 0 only */
+#define CONFIG_EGIGA0_PHY		0x8
+#endif
 #define CONFIG_NETCONSOLE
 #endif
 
@@ -154,11 +179,20 @@
 /*
  * Environment variables configurations
  */
+
+#if defined(CONFIG_WIRELESS_SPACE)
+#define CONFIG_ENV_IS_IN_NAND
+#define CONFIG_ENV_SECT_SIZE		0x10000	/* 64KB */
+#define CONFIG_ENV_SIZE			0x1000	/* 4KB */
+#define CONFIG_ENV_ADDR			0x70000
+#define CONFIG_ENV_OFFSET		0x70000	/* env starts here */
+#else
 #define CONFIG_ENV_IS_IN_SPI_FLASH
 #define CONFIG_ENV_SECT_SIZE		0x10000	/* 64KB */
 #define CONFIG_ENV_SIZE			0x1000	/* 4KB */
 #define CONFIG_ENV_ADDR			0x70000
 #define CONFIG_ENV_OFFSET		0x70000	/* env starts here */
+#endif
 
 /*
  * Default environment variables
@@ -185,4 +219,6 @@
 	"usbload=usb start && "					\
 		"fatload usb 0:1 $loadaddr /boot/$bootfile\0"
 
+//#define DEBUG
+
 #endif /* _CONFIG_LACIE_KW_H */
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2012-12-20  6:51 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-16 18:08 [U-Boot] [PATCH] ARM: lacie_kw: add support for WIRELESS_SPACE Albert ARIBAUD
2012-08-17  7:59 ` Prafulla Wadaskar
2012-08-17 17:37   ` Albert ARIBAUD
2012-08-17 17:55 ` Tom Rini
2012-08-17 21:28   ` Albert ARIBAUD
2012-08-21  7:16     ` Prafulla Wadaskar
2012-08-22 15:16       ` Simon Guinot
2012-09-22  8:51         ` Albert ARIBAUD
2012-09-22 17:38           ` Tom Rini
2012-10-05 20:40             ` Albert ARIBAUD
2012-10-19 21:38 ` [U-Boot] [PATCH v2 1/2] mvgbe: allow non-sequential PHY addresses Albert ARIBAUD
2012-10-19 21:38   ` [U-Boot] [PATCH v2 2/2] ARM: lacie_kw: add support for WIRELESS_SPACE Albert ARIBAUD
2012-10-19 22:57     ` Albert ARIBAUD
2012-10-20  0:17     ` Simon Guinot
2012-10-27 12:11       ` Albert ARIBAUD
2012-10-19 23:57   ` [U-Boot] [PATCH v3 1/2] mvgbe: allow non-sequential PHY addresses Albert ARIBAUD
2012-10-19 23:57     ` [U-Boot] [PATCH v3 2/2] ARM: lacie_kw: add support for WIRELESS_SPACE Albert ARIBAUD
2012-11-04 23:32       ` [U-Boot] [PATCH v4 1/4] mvgbe: allow non-sequential PHY addresses Albert ARIBAUD
2012-11-04 23:32         ` [U-Boot] [PATCH v4 2/4] mv88e61xx: refactor PHY and SWITCH level-code Albert ARIBAUD
2012-11-04 23:32           ` [U-Boot] [PATCH v4 3/4] kirkwood: make MPP arrays static const Albert ARIBAUD
2012-11-04 23:32             ` [U-Boot] [PATCH v4 4/4] ARM: lacie_kw: add support for WIRELESS_SPACE Albert ARIBAUD
2012-11-10  7:09               ` Prafulla Wadaskar
2012-11-25  3:21                 ` Albert ARIBAUD
2012-11-25  6:41                   ` Prafulla Wadaskar
2012-11-10  7:02             ` [U-Boot] [PATCH v4 3/4] kirkwood: make MPP arrays static const Prafulla Wadaskar
2012-11-10  6:56           ` [U-Boot] [PATCH v4 2/4] mv88e61xx: refactor PHY and SWITCH level-code Prafulla Wadaskar
2012-11-10  6:41         ` [U-Boot] [PATCH v4 1/4] mvgbe: allow non-sequential PHY addresses Prafulla Wadaskar
2012-11-26 21:27         ` [U-Boot] [PATCH v5 0/3] Add support for the LaCie Wireless Space Albert ARIBAUD
2012-11-26 21:27           ` [U-Boot] [PATCH v5 1/3] mv88e61xx: refactor PHY and SWITCH level-code Albert ARIBAUD
2012-11-26 21:27             ` [U-Boot] [PATCH v5 2/3] kirkwood: make MPP arrays static const Albert ARIBAUD
2012-11-26 21:27               ` [U-Boot] [PATCH v5 3/3] ARM: lacie_kw: add support for WIRELESS_SPACE Albert ARIBAUD
2012-12-20  6:51           ` [U-Boot] [PATCH v5 0/3] Add support for the LaCie Wireless Space Prafulla Wadaskar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.