kirkwood: add support for Iomega iConnect board
PATCH v2 1/1 kirkwood: add support for Iomega iConnect board
Add support for new board iConnect from Iomega.
More information about the device can be found here:
---
Changes from v1:
* remove #ifdef CONFIG_CMD_IDE part from include/configs/iconnect.h (board does not have IDE ports)
* add compression defines in include/configs/iconnect.h
MAINTAINERS | 1 + board/iomega/iconnect/Makefile | 43 ++++++++++ board/iomega/iconnect/iconnect.c | 107 +++++++++++++++++++++++ board/iomega/iconnect/iconnect.h | 39 +++++++++ board/iomega/iconnect/kwbimage.cfg | 165 ++++++++++++++++++++++++++++++++++++ boards.cfg | 1 + include/configs/iconnect.h | 129 ++++++++++++++++++++++++++++ 7 files changed, 485 insertions(+)
MAINTAINERS +1 -0
@@ -787,6 +787,7 @@ Linus Walleij <[email protected]> Luka Perkov <[email protected]> ib62x0 ARM926EJS + iconnect ARM926EJS Dave Peverley <[email protected]>
board/iomega/iconnect/Makefile new file +43 -0
43 lines not on this page · raw message
board/iomega/iconnect/iconnect.c new file +107 -0
107 lines not on this page · raw message
board/iomega/iconnect/iconnect.h new file +39 -0
@@ -0,0 +1,39 @@ +/* +* Copyright (C) 2009-2012 +* Wojciech Dubowik <[email protected]> +* Luka Perkov <[email protected]> +* +* See file CREDITS for list of people who contributed to this +* project. +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License as +* published by the Free Software Foundation; either version 2 of +* the License, or (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef __ICONNECT_H +#define __ICONNECT_H + +#define ICONNECT_OE_LOW (~(1 << 7)) +#define ICONNECT_OE_HIGH (~(1 << 10)) +#define ICONNECT_OE_VAL_LOW (0) +#define ICONNECT_OE_VAL_HIGH (1 << 10) + +/* PHY related */ +#define MV88E1116_LED_FCTRL_REG 10 +#define MV88E1116_CPRSP_CR3_REG 21 +#define MV88E1116_MAC_CTRL_REG 21 +#define MV88E1116_PGADR_REG 22 +#define MV88E1116_RGMII_TXTM_CTRL (1 << 4) +#define MV88E1116_RGMII_RXTM_CTRL (1 << 5) + +#endif /* __ICONNECT_H */
board/iomega/iconnect/kwbimage.cfg new file +165 -0
165 lines not on this page · raw message
boards.cfg +1 -0
@@ -140,6 +140,7 @@ enbw_cmc arm arm926ejs enbw_cmc enbw calimain arm arm926ejs calimain omicron davinci pogo_e02 arm arm926ejs - cloudengines kirkwood dns325 arm arm926ejs - d-link kirkwood +iconnect arm arm926ejs - iomega kirkwood lschlv2 arm arm926ejs lsxl buffalo kirkwood lsxl:LSCHLV2 lsxhl arm arm926ejs lsxl buffalo kirkwood lsxl:LSXHL km_kirkwood arm arm926ejs km_arm keymile kirkwood km_kirkwood:KM_KIRKWOOD
include/configs/iconnect.h new file +129 -0
129 lines not on this page · raw message
PATCH v2 1/1 kirkwood: add support for Iomega iConnect board
Quoted 28 lines
-----Original Message-----
From: Luka Perkov [mailto:uboot at lukaperkov.net]
Sent: 19 July 2012 20:45
To: u-boot at lists.denx.de
Cc: wojciech.dubowik at neratec.com; tim at night-shade.org.uk; Prafulla Wadaskar
Subject: [PATCH v2] kirkwood: add support for Iomega iConnect boardAdd support for new board iConnect from Iomega.
More information about the device can be found here:
http://go.iomega.com/en/products/network-storage-desktop/wireless-
data-station/network-hard-drive-iconnect/?partner=4735Signed-off-by Luka Perkov <[email protected]>Tested-by Wojciech Dubowik <[email protected]>Tested-by Tim Fletcher <[email protected]>---
Changes from v1:
* remove #ifdef
CONFIG_CMD_IDEpart frominclude/configs/iconnect.h(board does not have IDE ports)
* add compression defines ininclude/configs/iconnect.h
Quoted 6 lines
MAINTAINERS | 1 + board/iomega/iconnect/Makefile | 43 ++++++++++ board/iomega/iconnect/iconnect.c | 107 +++++++++++++++++++++++ board/iomega/iconnect/iconnect.h | 39 +++++++++ board/iomega/iconnect/kwbimage.cfg | 165++++++++++++++++++++++++++++++++++++
Is this file (kwbimage.cfg) 100% clone from any existing file already mainlined?
Quoted 5 lines
boards.cfg | 1 + include/configs/iconnect.h | 129 ++++++++++++++++++++++++++++ 7 files changed, 485 insertions(+)
...snip...
Quoted 95 lines
board/iomega/iconnect/iconnect.c new file +20
-0@@ -0,0 +1,107 @@ +/* +* Copyright (C) 2009-2012 +* Wojciech Dubowik <[email protected]> +* Luka Perkov <[email protected]> +* +* See file CREDITS for list of people who contributed to this +* project. +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License as +* published by the Free Software Foundation; either version 2 of +* the License, or (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */board/iomega/iconnect/iconnect.c new file +15
-0+ +#include <common.h> +#include <miiphy.h> +#include <asm/arch/cpu.h> +#include <asm/arch/kirkwood.h> +#include <asm/arch/mpp.h> +#include "iconnect.h" + +DECLARE_GLOBAL_DATA_PTR ; + +int board_early_init_f (void ) +{ +/* +* default gpio configuration +* There are maximum 64 gpios controlled through 2 sets of registers
board/iomega/iconnect/iconnect.c new file +50
-0+* the below configuration configures mainly initial LED status +*/ +kw_config_gpio (ICONNECT_OE_VAL_LOW , +ICONNECT_OE_VAL_HIGH , +ICONNECT_OE_LOW ,ICONNECT_OE_HIGH ); + +/* Multi-Purpose Pins Functionality configuration */ +u32 kwmpp_config[] = { +MPP0_NF_IO2 , +MPP1_NF_IO3 , +MPP2_NF_IO4 , +MPP3_NF_IO5 , +MPP4_NF_IO6 , +MPP5_NF_IO7 , + MPP6_SYSRST_OUTn, +MPP7_GPO , +MPP8_TW_SDA , +MPP9_TW_SCK , +MPP10_UART0_TXD , +MPP11_UART0_RXD , +MPP12_GPO , +MPP13_SD_CMD , +MPP14_SD_D0 , +MPP15_SD_D1 , +MPP16_SD_D2 , +MPP17_SD_D3 , +MPP18_NF_IO0 , +MPP19_NF_IO1 , +MPP20_GE1_0 , +MPP21_GE1_1 , +MPP22_GE1_2 , +MPP23_GE1_3 , +MPP24_GE1_4 , +MPP25_GE1_5 , +MPP26_GE1_6 , +MPP27_GE1_7 , +MPP28_GPIO , +MPP29_GPIO , +MPP30_GE1_10 , +MPP31_GE1_11 , +MPP32_GE1_12 , +MPP33_GE1_13 , +MPP34_GE1_14 , +MPP35_GPIO , +MPP36_AUDIO_SPDIFI , +MPP37_AUDIO_SPDIFO , +MPP38_GPIO , +MPP39_TDM_SPI_CS0 , +MPP40_TDM_SPI_SCK , +MPP41_GPIO ,
board/iomega/iconnect/iconnect.c line 96
Quoted 10 lines
board/iomega/iconnect/iconnect.c new file +10
-0+MPP42_GPIO , +MPP43_GPIO , +MPP44_GPIO , +MPP45_GPIO , +MPP46_GPIO , +MPP47_GPIO , +MPP48_GPIO , +MPP49_GPIO , +0 + };
As per your schematics, please document possible MPPs being used for what purpose.
Quoted 11 lines
board/iomega/iconnect/iconnect.c new file +11
-0+kirkwood_mpp_conf (kwmpp_config,NULL ); +return 0 ; +} + +int board_init (void ) +{ +/* adress of boot parameters */ + gd->bd->bi_boot_params =kw_sdram_bar (0 ) +0x100 ; + +return 0 ; +}
...snip...
Quoted 28 lines
include/configs/iconnect.h new file +20
-0@@ -0,0 +1,129 @@ +/* +* (C) Copyright 2009-2012 +* Wojciech Dubowik <[email protected]> +* Luka Perkov <[email protected]> +* +* See file CREDITS for list of people who contributed to this +* project. +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License as +* published by the Free Software Foundation; either version 2 of +* the License, or (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
include/configs/iconnect.h line 29
Quoted 8 lines
include/configs/iconnect.h new file +8
-0+ +#ifndef _CONFIG_ICONNECT_H +#define _CONFIG_ICONNECT_H + +/* +* Version number information +*/ +#define CONFIG_IDENT_STRING " Iomega iConnect Wireless"
The strings looks to be too long, is it possible to shorten it?
Reset other thinks looks okay to me.
Regards...
Prafulla . . .
PATCH v2 1/1 kirkwood: add support for Iomega iConnect board
Hi Prafulla,
Quoted 4 lines · Prafulla Wadaskar
Quoted 2 lines
board/iomega/iconnect/kwbimage.cfg | 165++++++++++++++++++++++++++++++++++++
Is this file (kwbimage.cfg) 100% clone from any existing file already mainlined?
No, but I did not check with all .cfg files. Should I?
Quoted 48 lines
Quoted 48 lines
board/iomega/iconnect/iconnect.c new file +48
-0+/* Multi-Purpose Pins Functionality configuration */ +u32 kwmpp_config[] = { +MPP0_NF_IO2 , +MPP1_NF_IO3 , +MPP2_NF_IO4 , +MPP3_NF_IO5 , +MPP4_NF_IO6 , +MPP5_NF_IO7 , + MPP6_SYSRST_OUTn, +MPP7_GPO , +MPP8_TW_SDA , +MPP9_TW_SCK , +MPP10_UART0_TXD , +MPP11_UART0_RXD , +MPP12_GPO , +MPP13_SD_CMD , +MPP14_SD_D0 , +MPP15_SD_D1 , +MPP16_SD_D2 , +MPP17_SD_D3 , +MPP18_NF_IO0 , +MPP19_NF_IO1 , +MPP20_GE1_0 , +MPP21_GE1_1 , +MPP22_GE1_2 , +MPP23_GE1_3 , +MPP24_GE1_4 , +MPP25_GE1_5 , +MPP26_GE1_6 , +MPP27_GE1_7 , +MPP28_GPIO , +MPP29_GPIO , +MPP30_GE1_10 , +MPP31_GE1_11 , +MPP32_GE1_12 , +MPP33_GE1_13 , +MPP34_GE1_14 , +MPP35_GPIO , +MPP36_AUDIO_SPDIFI , +MPP37_AUDIO_SPDIFO , +MPP38_GPIO , +MPP39_TDM_SPI_CS0 , +MPP40_TDM_SPI_SCK , +MPP41_GPIO , +MPP42_GPIO , +MPP43_GPIO , +MPP44_GPIO , +MPP45_GPIO ,
Quoted 8 lines
board/iomega/iconnect/iconnect.c line 96
Quoted 6 lines
board/iomega/iconnect/iconnect.c new file +6
-0+MPP46_GPIO , +MPP47_GPIO , +MPP48_GPIO , +MPP49_GPIO , + 0 + };As per your schematics, please document possible MPPs being used for what purpose.
I dont have schematics, but this values are proven to work. This patch has been in OpenWrt for quite some time, this is updated and cleaner version...
Quoted 3 lines
Quoted 1 line
+#define
CONFIG_IDENT_STRING" Iomega iConnect Wireless"The strings looks to be too long, is it possible to shorten it?
Would this be ok:
#define CONFIG_IDENT_STRING " Iomega iConnect"
Quoted 1 line
Reset other thinks looks okay to me.
Great.
Regards,
Luka
PATCH v2 1/1 kirkwood: add support for Iomega iConnect board
I have looked at original linux source from Mapower and added some description.
I also don't have schematics...
Br,
Wojtek
Quoted 8 lines · Luka Perkov
Hi Prafulla,
Quoted 3 lines · Prafulla Wadaskar
Quoted 2 lines
board/iomega/iconnect/kwbimage.cfg | 165++++++++++++++++++++++++++++++++++++
Is this file (kwbimage.cfg) 100% clone from any existing file already mainlined?
No, but I did not check with all .cfg files. Should I?
Quoted 8 lines
Quoted 8 lines
board/iomega/iconnect/iconnect.c line 50
Quoted 8 lines
board/iomega/iconnect/iconnect.c new file +8
-0+/* Multi-Purpose Pins Functionality configuration */ +u32 kwmpp_config[] = { +MPP0_NF_IO2 , +MPP1_NF_IO3 , +MPP2_NF_IO4 , +MPP3_NF_IO5 , +MPP4_NF_IO6 , +MPP5_NF_IO7 ,
I think these are used for NAND
Quoted 1 line
Quoted 1 line
board/iomega/iconnect/iconnect.c line 51
Quoted 1 line
board/iomega/iconnect/iconnect.c new file +1
-0+ MPP6_SYSRST_OUTn,
Reset signal
Quoted 3 lines
board/iomega/iconnect/iconnect.c line 54
Quoted 3 lines
board/iomega/iconnect/iconnect.c new file +3
-0+MPP7_GPO , +MPP8_TW_SDA , + MPP9_TW_SCK,
MPP8-9 I2C
Quoted 2 lines
Quoted 2 lines
board/iomega/iconnect/iconnect.c line 56
Quoted 2 lines
board/iomega/iconnect/iconnect.c new file +2
-0+MPP10_UART0_TXD , + MPP11_UART0_RXD,
Serial
Quoted 1 line
Quoted 1 line
board/iomega/iconnect/iconnect.c line 57
Quoted 1 line
board/iomega/iconnect/iconnect.c new file +1
-0+ MPP12_GPO,
This should be MPP12_GPIO as it's a reset button
Quoted 15 lines
Quoted 15 lines
Quoted 15 lines
board/iomega/iconnect/iconnect.c new file +15
-0+MPP13_SD_CMD , +MPP14_SD_D0 , +MPP15_SD_D1 , +MPP16_SD_D2 , +MPP17_SD_D3 , +MPP18_NF_IO0 , +MPP19_NF_IO1 , +MPP20_GE1_0 , +MPP21_GE1_1 , +MPP22_GE1_2 , +MPP23_GE1_3 , +MPP24_GE1_4 , +MPP25_GE1_5 , +MPP26_GE1_6 , + MPP27_GE1_7,
Quoted 8 lines
Quoted 8 lines
board/iomega/iconnect/iconnect.c line 80
Quoted 8 lines
board/iomega/iconnect/iconnect.c new file +8
-0+MPP28_GPIO , +MPP29_GPIO , +MPP30_GE1_10 , +MPP31_GE1_11 , +MPP32_GE1_12 , +MPP33_GE1_13 , +MPP34_GE1_14 , + MPP35_GPIO,
This is OTB button
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
board/iomega/iconnect/iconnect.c new file +6
-0+MPP36_AUDIO_SPDIFI , +MPP37_AUDIO_SPDIFO , +MPP38_GPIO , +MPP39_TDM_SPI_CS0 , +MPP40_TDM_SPI_SCK , + MPP41_GPIO,
Quoted 8 lines
Quoted 8 lines
board/iomega/iconnect/iconnect.c line 94
Quoted 8 lines
board/iomega/iconnect/iconnect.c new file +8
-0+MPP42_GPIO , +MPP43_GPIO , +MPP44_GPIO , +MPP45_GPIO , +MPP46_GPIO , +MPP47_GPIO , +MPP48_GPIO , + MPP49_GPIO,
MPP41 => led brightness (default on)
MPP42 => Blue power led
MPP43 => Red power led
MPP44-47 => USB Leds 1-4
MPP48 => OTB Led
MPP49 not used
Quoted 18 lines
Quoted 3 lines
board/iomega/iconnect/iconnect.c line 96
Quoted 2 lines
board/iomega/iconnect/iconnect.c new file +2
-0+ 0 + };As per your schematics, please document possible MPPs being used for what purpose.
I dont have schematics, but this values are proven to work. This patch has been in OpenWrt for quite some time, this is updated and cleaner version...
Quoted 2 lines
Quoted 1 line
+#define
CONFIG_IDENT_STRING" Iomega iConnect Wireless"The strings looks to be too long, is it possible to shorten it?
Would this be ok:
#define
CONFIG_IDENT_STRING" Iomega iConnect"Quoted 1 line
Reset other thinks looks okay to me.
Great.
Regards,
Luka
PATCH v2 1/1 kirkwood: add support for Iomega iConnect board
Quoted 18 lines
-----Original Message-----
From: Wojciech Dubowik [mailto:Wojciech.Dubowik at neratec.com]
Sent: 20 July 2012 15:39
To: Luka Perkov
Cc: Prafulla Wadaskar; u-boot at lists.denx.de; tim at night-shade.org.uk
Subject: Re: [PATCH v2] kirkwood: add support for Iomega iConnect boardI have looked at original linux source from Mapower and added some description.
I also don't have schematics...
Br,
Wojtek
Quoted 9 lines
Quoted 6 lines · Luka Perkov
Hi Prafulla,
Quoted 3 lines · Prafulla Wadaskar
Quoted 2 lines
board/iomega/iconnect/kwbimage.cfg | 165++++++++++++++++++++++++++++++++++++
Is this file (kwbimage.cfg) 100% clone from any existing file
already mainlined?
Quoted 1 line
No, but I did not check with all .cfg files. Should I?
Yes, if you can, it would be good since we can avoid one complete file in this patch.
Quoted 57 lines
Quoted 9 lines
Quoted 9 lines
board/iomega/iconnect/iconnect.c line 50
Quoted 9 lines
board/iomega/iconnect/iconnect.c new file +8
-0+/* Multi-Purpose Pins Functionality configuration */ +u32 kwmpp_config[] = { +MPP0_NF_IO2 , +MPP1_NF_IO3 , +MPP2_NF_IO4 , +MPP3_NF_IO5 , +MPP4_NF_IO6 , +MPP5_NF_IO7 ,I think these are used for NAND
Quoted 1 line
Quoted 1 line
board/iomega/iconnect/iconnect.c line 51
Quoted 1 line
board/iomega/iconnect/iconnect.c new file +1
-0+ MPP6_SYSRST_OUTn,Reset signal
Quoted 3 lines
board/iomega/iconnect/iconnect.c line 54
Quoted 3 lines
board/iomega/iconnect/iconnect.c new file +3
-0+MPP7_GPO , +MPP8_TW_SDA , + MPP9_TW_SCK,MPP8-9 I2C
Quoted 2 lines
Quoted 2 lines
board/iomega/iconnect/iconnect.c line 56
Quoted 2 lines
board/iomega/iconnect/iconnect.c new file +2
-0+MPP10_UART0_TXD , + MPP11_UART0_RXD,Serial
Quoted 1 line
Quoted 1 line
board/iomega/iconnect/iconnect.c line 57
Quoted 1 line
board/iomega/iconnect/iconnect.c new file +1
-0+ MPP12_GPO,This should be
MPP12_GPIOas it's a reset buttonQuoted 15 lines
Quoted 15 lines
Quoted 15 lines
board/iomega/iconnect/iconnect.c new file +15
-0+MPP13_SD_CMD , +MPP14_SD_D0 , +MPP15_SD_D1 , +MPP16_SD_D2 , +MPP17_SD_D3 , +MPP18_NF_IO0 , +MPP19_NF_IO1 , +MPP20_GE1_0 , +MPP21_GE1_1 , +MPP22_GE1_2 , +MPP23_GE1_3 , +MPP24_GE1_4 , +MPP25_GE1_5 , +MPP26_GE1_6 , + MPP27_GE1_7,Quoted 8 lines
Quoted 8 lines
board/iomega/iconnect/iconnect.c line 80
Quoted 8 lines
board/iomega/iconnect/iconnect.c new file +8
-0+MPP28_GPIO , +MPP29_GPIO , +MPP30_GE1_10 , +MPP31_GE1_11 , +MPP32_GE1_12 , +MPP33_GE1_13 , +MPP34_GE1_14 , + MPP35_GPIO,This is OTB button
Quoted 12 lines
Quoted 12 lines
Quoted 12 lines
board/iomega/iconnect/iconnect.c new file +12
-0+MPP36_AUDIO_SPDIFI , +MPP37_AUDIO_SPDIFO , +MPP38_GPIO , +MPP39_TDM_SPI_CS0 , +MPP40_TDM_SPI_SCK , +MPP41_GPIO , +MPP42_GPIO , +MPP43_GPIO , +MPP44_GPIO , +MPP45_GPIO , +MPP46_GPIO , + MPP47_GPIO,
Quoted 8 lines
Quoted 2 lines
Quoted 2 lines
board/iomega/iconnect/iconnect.c line 94
Quoted 2 lines
board/iomega/iconnect/iconnect.c new file +2
-0+MPP48_GPIO , + MPP49_GPIO,MPP41 => led brightness (default on)
MPP42 => Blue power led
MPP43 => Red power led
MPP44-47 => USB Leds 1-4
MPP48 => OTB Led
MPP49 not used
Please leave those GPIO usage as comments for respective line Leave the MPPs for standard peripheral.
Quoted 14 lines
Quoted 3 lines
Quoted 3 lines
board/iomega/iconnect/iconnect.c line 96
Quoted 2 lines
board/iomega/iconnect/iconnect.c new file +2
-0+ 0 + };As per your schematics, please document possible MPPs being used
for what purpose.
Quoted 1 line
I dont have schematics, but this values are proven to work. This
patch
Quoted 8 lines
has been in OpenWrt for quite some time, this is updated and cleaner version...
Quoted 2 lines
Quoted 1 line
+#define
CONFIG_IDENT_STRING" Iomega iConnect Wireless"The strings looks to be too long, is it possible to shorten it?
Would this be ok:
#define
CONFIG_IDENT_STRING" Iomega iConnect"
That looks better (shorter) :-)
Regards...
Prafulla . . .