From patchwork Fri Oct 19 23:57:37 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Albert ARIBAUD X-Patchwork-Id: 192881 X-Patchwork-Delegate: prafulla@marvell.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id DB7712C008F for ; Sat, 20 Oct 2012 10:58:14 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 6D8934A507; Sat, 20 Oct 2012 01:58:13 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jXfV2C1WY-uT; Sat, 20 Oct 2012 01:58:13 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id BDF804A4E4; Sat, 20 Oct 2012 01:58:11 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 974374A4EA for ; Sat, 20 Oct 2012 01:58:10 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AkGdZNkxDmm2 for ; Sat, 20 Oct 2012 01:58:09 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from smtp1-g21.free.fr (smtp1-g21.free.fr [212.27.42.1]) by theia.denx.de (Postfix) with ESMTP id 27CCA4A4E4 for ; Sat, 20 Oct 2012 01:58:07 +0200 (CEST) Received: from localhost.localdomain (unknown [IPv6:2a01:e35:2eb9:20:858d:9ff9:1cfd:f1aa]) (Authenticated sender: albert.aribaud) by smtp1-g21.free.fr (Postfix) with ESMTPSA id 6081F940026; Sat, 20 Oct 2012 01:57:59 +0200 (CEST) From: Albert ARIBAUD To: U-Boot Date: Sat, 20 Oct 2012 01:57:37 +0200 Message-Id: <1350691057-26414-2-git-send-email-albert.u.boot@aribaud.net> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1350691057-26414-1-git-send-email-albert.u.boot@aribaud.net> References: <1350682689-2986-1-git-send-email-albert.u.boot@aribaud.net> <1350691057-26414-1-git-send-email-albert.u.boot@aribaud.net> Subject: [U-Boot] [PATCH v3 2/2] ARM: lacie_kw: add support for WIRELESS_SPACE X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de Signed-off-by: Albert ARIBAUD --- Changes in v3: - fix broken support for NETSPACE_(MINI|LITE)_V2 Changes in v2: - split the patch in two: mvgbe phy/port changes and WS support. - removed spurious DEBUG define - fixed various checkpatch errors/warnings/typos board/LaCie/netspace_v2/netspace_v2.c | 44 ++---------- board/LaCie/netspace_v2/netspace_v2.h | 125 +++++++++++++++++++++++++++++++++ boards.cfg | 1 + include/configs/lacie_kw.h | 42 ++++++++++- 4 files changed, 172 insertions(+), 40 deletions(-) diff --git a/board/LaCie/netspace_v2/netspace_v2.c b/board/LaCie/netspace_v2/netspace_v2.c index 101a80a..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,10 +74,11 @@ int misc_init_r(void) /* Configure and initialize PHY */ void reset_phy(void) { -#if defined(CONFIG_NETSPACE_LITE_V2) || defined(CONFIG_NETSPACE_MINI_V2) - mv_phy_88e1318_init("egiga0", 0); -#else - 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..1c671c1 100644 --- a/board/LaCie/netspace_v2/netspace_v2.h +++ b/board/LaCie/netspace_v2/netspace_v2.h @@ -24,11 +24,136 @@ #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) \ + || defined(CONFIG_NETSPACE_MINI_V2) \ + || defined(CONFIG_NETSPACE_LITE_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) \ + || defined(CONFIG_NETSPACE_MINI_V2) \ + || defined(CONFIG_NETSPACE_LITE_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=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 d467f56..3f49b18 100644 --- a/boards.cfg +++ b/boards.cfg @@ -168,6 +168,7 @@ netspace_lite_v2 arm arm926ejs netspace_v2 LaCie netspace_max_v2 arm arm926ejs netspace_v2 LaCie kirkwood lacie_kw:NETSPACE_MAX_V2 netspace_mini_v2 arm arm926ejs netspace_v2 LaCie kirkwood lacie_kw:NETSPACE_MINI_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/include/configs/lacie_kw.h b/include/configs/lacie_kw.h index 09b5798..fdbc785 100644 --- a/include/configs/lacie_kw.h +++ b/include/configs/lacie_kw.h @@ -44,6 +44,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 @@ -96,6 +100,12 @@ #define CONFIG_SYS_KWD_CONFIG $(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage-ns2l.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 @@ -115,8 +125,14 @@ #define CONFIG_SYS_PROMPT "d2v2> " #elif 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 /* @@ -124,9 +140,22 @@ */ #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 */ +#define CONFIG_EGIGA1_PHY 0x6 /* ONLY egiga1 has a PHY */ +#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_NETCONSOLE +#if defined(CONFIG_NETSPACE_LITE_V2) || defined(CONFIG_NETSPACE_MINI_V2) +#define CONFIG_EGIGA0_PHY 0x0 +#else +#define CONFIG_EGIGA0_PHY 0x8 #endif +#endif /* CONFIG_WIRELESS_SPACE */ +#define CONFIG_NETCONSOLE +#endif /* CONFIG_CMD_NET */ /* * SATA Driver configuration @@ -186,11 +215,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