[kirkwood] Iomega iConnect Wireless platform support
This patch adds support for Iomega iConnect Wireless. Leds and wireless card support are still missing. Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@neratec.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23217 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
1813e6bd1c
commit
39483a0cb0
|
@ -90,6 +90,7 @@ CONFIG_LEGACY_PTY_COUNT=256
|
|||
CONFIG_MACH_DOCKSTAR=y
|
||||
# CONFIG_MACH_ESATA_SHEEVAPLUG is not set
|
||||
# CONFIG_MACH_GURUPLUG is not set
|
||||
CONFIG_MACH_ICONNECT=y
|
||||
# CONFIG_MACH_INETSPACE_V2 is not set
|
||||
# CONFIG_MACH_MV88F6281GTW_GE is not set
|
||||
# CONFIG_MACH_NET2BIG_V2 is not set
|
||||
|
|
|
@ -0,0 +1,123 @@
|
|||
--- a/arch/arm/mach-kirkwood/Makefile
|
||||
+++ b/arch/arm/mach-kirkwood/Makefile
|
||||
@@ -8,6 +8,7 @@
|
||||
obj-$(CONFIG_MACH_DOCKSTAR) += dockstar-setup.o
|
||||
obj-$(CONFIG_MACH_ESATA_SHEEVAPLUG) += sheevaplug-setup.o
|
||||
obj-$(CONFIG_MACH_GURUPLUG) += guruplug-setup.o
|
||||
+obj-$(CONFIG_MACH_ICONNECT) += iconnect-setup.o
|
||||
obj-$(CONFIG_MACH_TS219) += ts219-setup.o tsx1x-common.o
|
||||
obj-$(CONFIG_MACH_TS41X) += ts41x-setup.o tsx1x-common.o
|
||||
obj-$(CONFIG_MACH_OPENRD) += openrd-setup.o
|
||||
--- a/arch/arm/mach-kirkwood/Kconfig
|
||||
+++ b/arch/arm/mach-kirkwood/Kconfig
|
||||
@@ -105,6 +105,12 @@
|
||||
Say 'Y' here if you want your kernel to support the
|
||||
Seagate FreeAgent DockStar.
|
||||
|
||||
+config MACH_ICONNECT
|
||||
+ bool "Iomega iConnect Wireless"
|
||||
+ help
|
||||
+ Say 'Y' here if you want your kernel to support the
|
||||
+ Iomega iConnect Wireless.
|
||||
+
|
||||
endmenu
|
||||
|
||||
endif
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-kirkwood/iconnect-setup.c
|
||||
@@ -0,0 +1,95 @@
|
||||
+/*
|
||||
+ * arch/arm/mach-kirkwood/iconnect-setup.c
|
||||
+ *
|
||||
+ * Iomega iConnect Wireless
|
||||
+ *
|
||||
+ * This file is licensed under the terms of the GNU General Public
|
||||
+ * License version 2. This program is licensed "as is" without any
|
||||
+ * warranty of any kind, whether express or implied.
|
||||
+ */
|
||||
+
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/platform_device.h>
|
||||
+#include <linux/irq.h>
|
||||
+#include <linux/mtd/partitions.h>
|
||||
+#include <linux/mv643xx_eth.h>
|
||||
+#include <linux/ethtool.h>
|
||||
+#include <asm/mach-types.h>
|
||||
+#include <asm/mach/arch.h>
|
||||
+#include <mach/kirkwood.h>
|
||||
+#include "common.h"
|
||||
+#include "mpp.h"
|
||||
+
|
||||
+static struct mtd_partition iconnect_nand_parts[] = {
|
||||
+ {
|
||||
+ .name = "u-boot",
|
||||
+ .offset = 0,
|
||||
+ .size = SZ_1M
|
||||
+ }, {
|
||||
+ .name = "uImage",
|
||||
+ .offset = MTDPART_OFS_NXTBLK,
|
||||
+ .size = SZ_1M + SZ_2M
|
||||
+ }, {
|
||||
+ .name = "rootfs",
|
||||
+ .offset = MTDPART_OFS_NXTBLK,
|
||||
+ .size = SZ_32M,
|
||||
+ }, {
|
||||
+ .name = "data",
|
||||
+ .offset = MTDPART_OFS_NXTBLK,
|
||||
+ .size = MTDPART_SIZ_FULL
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+static struct mv643xx_eth_platform_data iconnect_ge00_data = {
|
||||
+ .phy_addr = MV643XX_ETH_PHY_ADDR(11),
|
||||
+};
|
||||
+
|
||||
+static unsigned int iconnect_mpp_config[] __initdata = {
|
||||
+ MPP8_TW_SDA,
|
||||
+ MPP9_TW_SCK,
|
||||
+ MPP10_UART0_TXD,
|
||||
+ MPP11_UART0_RXD,
|
||||
+ MPP28_GPIO,
|
||||
+ 0
|
||||
+};
|
||||
+
|
||||
+static void __init iconnect_init(void)
|
||||
+{
|
||||
+ u32 dev, rev;
|
||||
+
|
||||
+ /*
|
||||
+ * Basic setup. Needs to be called early.
|
||||
+ */
|
||||
+ kirkwood_init();
|
||||
+ kirkwood_mpp_conf(iconnect_mpp_config);
|
||||
+
|
||||
+ kirkwood_nand_init(ARRAY_AND_SIZE(iconnect_nand_parts), 25);
|
||||
+ kirkwood_ehci_init();
|
||||
+
|
||||
+ kirkwood_ge00_init(&iconnect_ge00_data);
|
||||
+ kirkwood_pcie_id(&dev, &rev);
|
||||
+
|
||||
+ kirkwood_uart0_init();
|
||||
+ kirkwood_i2c_init();
|
||||
+}
|
||||
+
|
||||
+static int __init iconnect_pci_init(void)
|
||||
+{
|
||||
+ if (machine_is_iconnect())
|
||||
+ kirkwood_pcie_init();
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+subsys_initcall(iconnect_pci_init);
|
||||
+
|
||||
+
|
||||
+MACHINE_START(ICONNECT, "Iomega iConnect Wireless")
|
||||
+ .phys_io = KIRKWOOD_REGS_PHYS_BASE,
|
||||
+ .io_pg_offst = ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc,
|
||||
+ .boot_params = 0x00000100,
|
||||
+ .init_machine = iconnect_init,
|
||||
+ .map_io = kirkwood_map_io,
|
||||
+ .init_irq = kirkwood_init_irq,
|
||||
+ .timer = &kirkwood_timer,
|
||||
+MACHINE_END
|
|
@ -0,0 +1,17 @@
|
|||
#
|
||||
# Copyright (C) 2006 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
define Profile/Iconnect
|
||||
NAME:=Iomega iConnect Wireless
|
||||
PACKAGES:=kmod-i2c-mv64xxx kmod-hwmon-core kmod-hwmon-lm63
|
||||
endef
|
||||
|
||||
define Profile/Iconnect/Description
|
||||
Iomega iConnect Wireless
|
||||
endef
|
||||
|
||||
$(eval $(call Profile,Iconnect))
|
Loading…
Reference in New Issue