Signed-off-by: Albert ARIBAUD <albert.u.b...@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

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

Reply via email to