* [U-Boot] [PATCH v2] kirkwood: add support for Iomega iConnect board
@ 2012-07-19 15:15 Luka Perkov
2012-07-20 6:02 ` Prafulla Wadaskar
0 siblings, 1 reply; 5+ messages in thread
From: Luka Perkov @ 2012-07-19 15:15 UTC (permalink / raw)
To: u-boot
Add 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=4735
Signed-off-by: Luka Perkov <uboot@lukaperkov.net>
Tested-by: Wojciech Dubowik <wojciech.dubowik@neratec.com>
Tested-by: Tim Fletcher <tim@night-shade.org.uk>
---
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(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index fd0c65c..9e9d8d7 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -787,6 +787,7 @@ Linus Walleij <linus.walleij@linaro.org>
Luka Perkov <uboot@lukaperkov.net>
ib62x0 ARM926EJS
+ iconnect ARM926EJS
Dave Peverley <dpeverley@mpc-data.co.uk>
diff --git a/board/iomega/iconnect/Makefile b/board/iomega/iconnect/Makefile
new file mode 100644
index 0000000..f77fcfb
--- /dev/null
+++ b/board/iomega/iconnect/Makefile
@@ -0,0 +1,43 @@
+#
+# (C) Copyright 2009
+# Marvell Semiconductor <www.marvell.com>
+# Written-by: Prafulla Wadaskar <prafulla@marvell.com>
+#
+# 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 $(TOPDIR)/config.mk
+
+LIB = $(obj)lib$(BOARD).o
+
+COBJS := iconnect.o
+
+SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS := $(addprefix $(obj),$(COBJS))
+SOBJS := $(addprefix $(obj),$(SOBJS))
+
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
+ $(call cmd_link_o_target, $(OBJS) $(SOBJS))
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
diff --git a/board/iomega/iconnect/iconnect.c b/board/iomega/iconnect/iconnect.c
new file mode 100644
index 0000000..6ee3b84
--- /dev/null
+++ b/board/iomega/iconnect/iconnect.c
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2009-2012
+ * Wojciech Dubowik <wojciech.dubowik@neratec.com>
+ * Luka Perkov <uboot@lukaperkov.net>
+ *
+ * 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 <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
+ * 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,
+ MPP42_GPIO,
+ MPP43_GPIO,
+ MPP44_GPIO,
+ MPP45_GPIO,
+ MPP46_GPIO,
+ MPP47_GPIO,
+ MPP48_GPIO,
+ MPP49_GPIO,
+ 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;
+}
diff --git a/board/iomega/iconnect/iconnect.h b/board/iomega/iconnect/iconnect.h
new file mode 100644
index 0000000..2fb3e5e
--- /dev/null
+++ b/board/iomega/iconnect/iconnect.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2009-2012
+ * Wojciech Dubowik <wojciech.dubowik@neratec.com>
+ * Luka Perkov <uboot@lukaperkov.net>
+ *
+ * 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 */
diff --git a/board/iomega/iconnect/kwbimage.cfg b/board/iomega/iconnect/kwbimage.cfg
new file mode 100644
index 0000000..6c9dfe3
--- /dev/null
+++ b/board/iomega/iconnect/kwbimage.cfg
@@ -0,0 +1,165 @@
+#
+# (C) Copyright 2009-2012
+# Wojciech Dubowik <wojciech.dubowik@neratec.com>
+# Luka Perkov <uboot@lukaperkov.net>
+#
+# 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/>.
+#
+# Refer docs/README.kwimage for more details about how-to configure
+# and create kirkwood boot image
+#
+
+# Boot Media configurations
+BOOT_FROM nand
+NAND_ECC_MODE default
+NAND_PAGE_SIZE 0x0800
+
+# SOC registers configuration using bootrom header extension
+# Maximum KWBIMAGE_MAX_CONFIG configurations allowed
+
+# Configure RGMII-0 interface pad voltage to 1.8V
+DATA 0xffd100e0 0x1b1b1b9b
+
+#Dram initalization for SINGLE x16 CL=5 @ 400MHz
+DATA 0xffd01400 0x43000c30 # DDR Configuration register
+# bit13-0: 0xc30, (3120 DDR2 clks refresh rate)
+# bit23-14: 0x0,
+# bit24: 0x1, enable exit self refresh mode on DDR access
+# bit25: 0x1, required
+# bit29-26: 0x0,
+# bit31-30: 0x1,
+
+DATA 0xffd01404 0x37543000 # DDR Controller Control Low
+# bit4: 0x0, addr/cmd in smame cycle
+# bit5: 0x0, clk is driven during self refresh, we don't care for APX
+# bit6: 0x0, use recommended falling edge of clk for addr/cmd
+# bit14: 0x0, input buffer always powered up
+# bit18: 0x1, cpu lock transaction enabled
+# bit23-20: 0x5, recommended value for CL=5 and STARTBURST_DEL disabled bit31=0
+# bit27-24: 0x7, CL+2, STARTBURST sample stages, for freqs 400MHz, unbuffered DIMM
+# bit30-28: 0x3, required
+# bit31: 0x0, no additional STARTBURST delay
+
+DATA 0xffd01408 0x22125451 # DDR Timing (Low) (active cycles value +1)
+# bit3-0: TRAS lsbs
+# bit7-4: TRCD
+# bit11-8: TRP
+# bit15-12: TWR
+# bit19-16: TWTR
+# bit20: TRAS msb
+# bit23-21: 0x0
+# bit27-24: TRRD
+# bit31-28: TRTP
+
+DATA 0xffd0140c 0x00000a33 # DDR Timing (High)
+# bit6-0: TRFC
+# bit8-7: TR2R
+# bit10-9: TR2W
+# bit12-11: TW2W
+# bit31-13: 0x0, required
+
+DATA 0xffd01410 0x000000cc # DDR Address Control
+# bit1-0: 00, Cs0width (x8)
+# bit3-2: 11, Cs0size (1Gb)
+# bit5-4: 00, Cs1width (x8)
+# bit7-6: 11, Cs1size (1Gb)
+# bit9-8: 00, Cs2width (nonexistent)
+# bit11-10: 00, Cs2size (nonexistent)
+# bit13-12: 00, Cs3width (nonexistent)
+# bit15-14: 00, Cs3size (nonexistent)
+# bit16: 0, Cs0AddrSel
+# bit17: 0, Cs1AddrSel
+# bit18: 0, Cs2AddrSel
+# bit19: 0, Cs3AddrSel
+# bit31-20: 0x0, required
+
+DATA 0xffd01414 0x00000000 # DDR Open Pages Control
+# bit0: 0, OpenPage enabled
+# bit31-1: 0x0, required
+
+DATA 0xffd01418 0x00000000 # DDR Operation
+# bit3-0: 0x0, DDR cmd
+# bit31-4: 0x0, required
+
+DATA 0xffd0141c 0x00000c52 # DDR Mode
+# bit2-0: 0x2, BurstLen=2 required
+# bit3: 0x0, BurstType=0 required
+# bit6-4: 0x4, CL=5
+# bit7: 0x0, TestMode=0 normal
+# bit8: 0x0, DLL reset=0 normal
+# bit11-9: 0x6, auto-precharge write recovery ????????????
+# bit12: 0x0, PD must be zero
+# bit31-13: 0x0, required
+
+DATA 0xffd01420 0x00000040 # DDR Extended Mode
+# bit0: 0, DDR DLL enabled
+# bit1: 0, DDR drive strenght normal
+# bit2: 0, DDR ODT control lsd (disabled)
+# bit5-3: 0x0, required
+# bit6: 1, DDR ODT control msb, (disabled)
+# bit9-7: 0x0, required
+# bit10: 0, differential DQS enabled
+# bit11: 0, required
+# bit12: 0, DDR output buffer enabled
+# bit31-13: 0x0, required
+
+DATA 0xffd01424 0x0000f17f # DDR Controller Control High
+# bit2-0: 0x7, required
+# bit3: 0x1, MBUS Burst Chop disabled
+# bit6-4: 0x7, required
+# bit7: 0x0,
+# bit8: 0x1, add writepath sample stage, must be 1 for DDR freq >= 300MHz
+# bit9: 0x0, no half clock cycle addition to dataout
+# bit10: 0x0, 1/4 clock cycle skew enabled for addr/ctl signals
+# bit11: 0x0, 1/4 clock cycle skew disabled for write mesh
+# bit15-12: 0xf, required
+# bit31-16: 0x0, required
+
+DATA 0xffd01428 0x00085520 # DDR2 ODT Read Timing (default values)
+DATA 0xffd0147c 0x00008552 # DDR2 ODT Write Timing (default values)
+
+DATA 0xffd01500 0x00000000 # CS[0]n Base address to 0x0
+DATA 0xffd01504 0x0ffffff1 # CS[0]n Size
+# bit0: 0x1, Window enabled
+# bit1: 0x0, Write Protect disabled
+# bit3-2: 0x0, CS0 hit selected
+# bit23-4: 0xfffff, required
+# bit31-24: 0x0f, Size (i.e. 256MB)
+
+DATA 0xffd01508 0x00000000 # CS[1]n Base address to 256Mb
+DATA 0xffd0150c 0x00000000 # CS[1]n Size, window disabled
+
+DATA 0xffd01514 0x00000000 # CS[2]n Size, window disabled
+DATA 0xffd0151c 0x00000000 # CS[3]n Size, window disabled
+
+DATA 0xffd01494 0x00030000 # DDR ODT Control (Low)
+# bit3-0: ODT0Rd, MODT[0] asserted during read from DRAM CS1
+# bit7-4: ODT0Rd, MODT[0] asserted during read from DRAM CS0
+# bit19-16:2, ODT0Wr, MODT[0] asserted during write to DRAM CS1
+# bit23-20:1, ODT0Wr, MODT[0] asserted during write to DRAM CS0
+
+DATA 0xffd01498 0x00000000 # DDR ODT Control (High)
+# bit1-0: 0x0, ODT0 controlled by ODT Control (low) register above
+# bit3-2: 0x1, ODT1 active NEVER!
+# bit31-4: 0x0, required
+
+DATA 0xffd0149c 0x0000e803 # CPU ODT Control
+DATA 0xffd01480 0x00000001 # DDR Initialization Control
+# bit0: 0x1, enable DDR init upon this register write
+
+# End of Header extension
+DATA 0x0 0x0
diff --git a/boards.cfg b/boards.cfg
index 2d36d83..6dd8a05 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -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
diff --git a/include/configs/iconnect.h b/include/configs/iconnect.h
new file mode 100644
index 0000000..125464a
--- /dev/null
+++ b/include/configs/iconnect.h
@@ -0,0 +1,129 @@
+/*
+ * (C) Copyright 2009-2012
+ * Wojciech Dubowik <wojciech.dubowik@neratec.com>
+ * Luka Perkov <uboot@lukaperkov.net>
+ *
+ * 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 _CONFIG_ICONNECT_H
+#define _CONFIG_ICONNECT_H
+
+/*
+ * Version number information
+ */
+#define CONFIG_IDENT_STRING " Iomega iConnect Wireless"
+
+/*
+ * High level configuration options
+ */
+#define CONFIG_FEROCEON_88FR131 /* CPU Core subversion */
+#define CONFIG_KIRKWOOD /* SOC Family Name */
+#define CONFIG_KW88F6281 /* SOC Name */
+#define CONFIG_SKIP_LOWLEVEL_INIT /* disable board lowlevel_init */
+
+/*
+ * Machine type
+ */
+#define CONFIG_MACH_TYPE MACH_TYPE_ICONNECT
+
+/*
+ * Compression configuration
+ */
+#define CONFIG_BZIP2
+#define CONFIG_LZMA
+#define CONFIG_LZO
+
+/*
+ * Commands configuration
+ */
+#define CONFIG_SYS_NO_FLASH /* declare no flash (NOR/SPI) */
+#define CONFIG_SYS_MVFS
+#include <config_cmd_default.h>
+#define CONFIG_CMD_ENV
+#define CONFIG_CMD_MII
+#define CONFIG_CMD_NAND
+#define CONFIG_CMD_PING
+#define CONFIG_CMD_USB
+
+/*
+ * mv-common.h should be defined after CMD configs since it used them
+ * to enable certain macros
+ */
+#include "mv-common.h"
+
+#undef CONFIG_SYS_PROMPT
+#define CONFIG_SYS_PROMPT "iconnect => "
+
+/*
+ * Environment variables configuration
+ */
+#ifdef CONFIG_CMD_NAND
+#define CONFIG_ENV_IS_IN_NAND
+#define CONFIG_ENV_SECT_SIZE 0x20000
+#else
+#define CONFIG_ENV_IS_NOWHERE
+#endif
+#define CONFIG_ENV_SIZE 0x20000
+#define CONFIG_ENV_OFFSET 0x80000
+
+/*
+ * Default environment variables
+ */
+#define CONFIG_BOOTCOMMAND \
+ "setenv bootargs ${console} ${mtdparts} ${bootargs_root}; " \
+ "ubi part rootfs; " \
+ "ubifsmount rootfs; " \
+ "ubifsload 0x800000 ${kernel}; " \
+ "bootm 0x800000"
+
+#define CONFIG_MTDPARTS \
+ "mtdparts=orion_nand:" \
+ "0x80000 at 0x0(uboot)," \
+ "0x20000 at 0x80000(uboot_env)," \
+ "- at 0xa0000(rootfs)\0"
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "console=console=ttyS0,115200\0" \
+ "mtdids=nand0=orion_nand\0" \
+ "mtdparts="CONFIG_MTDPARTS \
+ "kernel=/boot/uImage\0" \
+ "bootargs_root=noinitrd ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs\0"
+
+/*
+ * Ethernet driver configuration
+ */
+#ifdef CONFIG_CMD_NET
+#define CONFIG_MVGBE_PORTS {1, 0} /* enable port 0 only */
+#define CONFIG_PHY_BASE_ADR 11
+#undef CONFIG_RESET_PHY_R
+#endif /* CONFIG_CMD_NET */
+
+/*
+ * File system
+ */
+#define CONFIG_CMD_EXT2
+#define CONFIG_CMD_FAT
+#define CONFIG_CMD_JFFS2
+#define CONFIG_CMD_UBI
+#define CONFIG_CMD_UBIFS
+#define CONFIG_RBTREE
+#define CONFIG_MTD_DEVICE
+#define CONFIG_MTD_PARTITIONS
+#define CONFIG_CMD_MTDPARTS
+
+#endif /* _CONFIG_ICONNECT_H */
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH v2] kirkwood: add support for Iomega iConnect board
2012-07-19 15:15 [U-Boot] [PATCH v2] kirkwood: add support for Iomega iConnect board Luka Perkov
@ 2012-07-20 6:02 ` Prafulla Wadaskar
2012-07-20 8:53 ` Luka Perkov
0 siblings, 1 reply; 5+ messages in thread
From: Prafulla Wadaskar @ 2012-07-20 6:02 UTC (permalink / raw)
To: u-boot
> -----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 board
>
> Add 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=4735
>
> Signed-off-by: Luka Perkov <uboot@lukaperkov.net>
> Tested-by: Wojciech Dubowik <wojciech.dubowik@neratec.com>
> Tested-by: Tim Fletcher <tim@night-shade.org.uk>
> ---
>
> 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
> ++++++++++++++++++++++++++++++++++++
Is this file (kwbimage.cfg) 100% clone from any existing file already mainlined?
> boards.cfg | 1 +
> include/configs/iconnect.h | 129
> ++++++++++++++++++++++++++++
> 7 files changed, 485 insertions(+)
>
...snip...
> diff --git a/board/iomega/iconnect/iconnect.c
> b/board/iomega/iconnect/iconnect.c
> new file mode 100644
> index 0000000..6ee3b84
> --- /dev/null
> +++ b/board/iomega/iconnect/iconnect.c
> @@ -0,0 +1,107 @@
> +/*
> + * Copyright (C) 2009-2012
> + * Wojciech Dubowik <wojciech.dubowik@neratec.com>
> + * Luka Perkov <uboot@lukaperkov.net>
> + *
> + * 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 <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
> + * 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,
> + 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.
> + 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...
> diff --git a/include/configs/iconnect.h b/include/configs/iconnect.h
> new file mode 100644
> index 0000000..125464a
> --- /dev/null
> +++ b/include/configs/iconnect.h
> @@ -0,0 +1,129 @@
> +/*
> + * (C) Copyright 2009-2012
> + * Wojciech Dubowik <wojciech.dubowik@neratec.com>
> + * Luka Perkov <uboot@lukaperkov.net>
> + *
> + * 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 _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 . . .
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH v2] kirkwood: add support for Iomega iConnect board
2012-07-20 6:02 ` Prafulla Wadaskar
@ 2012-07-20 8:53 ` Luka Perkov
2012-07-20 10:09 ` Wojciech Dubowik
0 siblings, 1 reply; 5+ messages in thread
From: Luka Perkov @ 2012-07-20 8:53 UTC (permalink / raw)
To: u-boot
Hi Prafulla,
On Thu, Jul 19, 2012 at 11:02:58PM -0700, Prafulla Wadaskar wrote:
> > 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?
> > + /* 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,
> > + 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...
> > +#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"
> Reset other thinks looks okay to me.
Great.
Regards,
Luka
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH v2] kirkwood: add support for Iomega iConnect board
2012-07-20 8:53 ` Luka Perkov
@ 2012-07-20 10:09 ` Wojciech Dubowik
2012-07-20 10:30 ` Prafulla Wadaskar
0 siblings, 1 reply; 5+ messages in thread
From: Wojciech Dubowik @ 2012-07-20 10:09 UTC (permalink / raw)
To: u-boot
I have looked at original linux source from Mapower and added
some description.
I also don't have schematics...
Br,
Wojtek
On 07/20/2012 10:53 AM, Luka Perkov wrote:
> Hi Prafulla,
>
> On Thu, Jul 19, 2012 at 11:02:58PM -0700, Prafulla Wadaskar wrote:
>>> 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?
>
>>> + /* 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
>>> + MPP6_SYSRST_OUTn,
Reset signal
>> + MPP7_GPO,
>> + MPP8_TW_SDA,
>> + MPP9_TW_SCK,
MPP8-9 I2C
>>> + MPP10_UART0_TXD,
>>> + MPP11_UART0_RXD,
Serial
>>> + MPP12_GPO,
This should be MPP12_GPIO as it's a reset button
>>> + 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,
This is OTB button
>>> + 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,
>>> + 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
>>> + 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...
>
>>> +#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"
>
>> Reset other thinks looks okay to me.
> Great.
>
> Regards,
> Luka
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH v2] kirkwood: add support for Iomega iConnect board
2012-07-20 10:09 ` Wojciech Dubowik
@ 2012-07-20 10:30 ` Prafulla Wadaskar
0 siblings, 0 replies; 5+ messages in thread
From: Prafulla Wadaskar @ 2012-07-20 10:30 UTC (permalink / raw)
To: u-boot
> -----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
> board
>
> I have looked at original linux source from Mapower and added
> some description.
>
> I also don't have schematics...
>
> Br,
> Wojtek
>
> On 07/20/2012 10:53 AM, Luka Perkov wrote:
> > Hi Prafulla,
> >
> > On Thu, Jul 19, 2012 at 11:02:58PM -0700, Prafulla Wadaskar wrote:
> >>> 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?
Yes, if you can, it would be good since we can avoid one complete file in this patch.
> >
> >>> + /* 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
> >>> + MPP6_SYSRST_OUTn,
> Reset signal
> >> + MPP7_GPO,
> >> + MPP8_TW_SDA,
> >> + MPP9_TW_SCK,
> MPP8-9 I2C
> >>> + MPP10_UART0_TXD,
> >>> + MPP11_UART0_RXD,
> Serial
> >>> + MPP12_GPO,
> This should be MPP12_GPIO as it's a reset button
> >>> + 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,
> This is OTB button
> >>> + 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,
> >>> + 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.
> >>> + 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...
> >
> >>> +#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 . . .
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-07-20 10:30 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-19 15:15 [U-Boot] [PATCH v2] kirkwood: add support for Iomega iConnect board Luka Perkov
2012-07-20 6:02 ` Prafulla Wadaskar
2012-07-20 8:53 ` Luka Perkov
2012-07-20 10:09 ` Wojciech Dubowik
2012-07-20 10:30 ` 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.