This patch adds support for Iomega iConnect Wireless board. It overrides Marvell RD-88F6281 board since they share same mach id.
This board has already serial header installed with following pinout: +3.3 || TX || GND || RX I have tested ramdisk image from u-boot with: >> tftpboot 0x2000000 openwrt-kirkwood-uImage >> bootm 0x2000000 Working: - ethernet - usb TODO: - flashing to NAND (haven't tested it yet) - get crypto driver loaded - add support for on-board LM63 sensor - add support for RT3090 wireless card - eventually get mach id for this board and add separate setup file Signed-off-by: Wojciech Dubowik <wojciech.dubo...@neratec.com> Index: target/linux/kirkwood/profiles/300-iConnect.mk =================================================================== --- target/linux/kirkwood/profiles/300-iConnect.mk (revision 0) +++ target/linux/kirkwood/profiles/300-iConnect.mk (revision 0) @@ -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:= +endef + +define Profile/Iconnect/Description + Iomega iConnect Wireless +endef + +$(eval $(call Profile,Iconnect)) Index: target/linux/kirkwood/patches/200-iconnect.patch =================================================================== --- target/linux/kirkwood/patches/200-iconnect.patch (revision 0) +++ target/linux/kirkwood/patches/200-iconnect.patch (revision 0) @@ -0,0 +1,112 @@ +--- a/arch/arm/mach-kirkwood/Kconfig ++++ b/arch/arm/mach-kirkwood/Kconfig +@@ -105,6 +105,14 @@ + Say 'Y' here if you want your kernel to support the + Seagate FreeAgent DockStar. + ++config MACH_ICONNECT ++ bool "Iomega iConnect Wireless" ++ depends on MACH_RD88F6281 ++ help ++ Say 'Y' here if you want your kernel to support the ++ Iomega iConnect Wireless. Overrides Marvell RD-88F6281 ++ Reference Board. ++ + endmenu + + endif +--- a/arch/arm/mach-kirkwood/rd88f6281-setup.c ++++ b/arch/arm/mach-kirkwood/rd88f6281-setup.c +@@ -24,6 +24,31 @@ + #include "common.h" + #include "mpp.h" + ++#ifdef CONFIG_MACH_ICONNECT ++static struct mtd_partition rd88f6281_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 rd88f6281_ge00_data = { ++ .phy_addr = MV643XX_ETH_PHY_ADDR(11), ++}; ++#else + static struct mtd_partition rd88f6281_nand_parts[] = { + { + .name = "u-boot", +@@ -41,9 +66,7 @@ + }; + + static struct mv643xx_eth_platform_data rd88f6281_ge00_data = { +- .phy_addr = MV643XX_ETH_PHY_NONE, +- .speed = SPEED_1000, +- .duplex = DUPLEX_FULL, ++ .phy_addr = MV643XX_ETH_PHY_ADDR(11), + }; + + static struct dsa_chip_data rd88f6281_switch_chip_data = { +@@ -70,7 +93,7 @@ + static struct mvsdio_platform_data rd88f6281_mvsdio_data = { + .gpio_card_detect = 28, + }; +- ++#endif + static unsigned int rd88f6281_mpp_config[] __initdata = { + MPP28_GPIO, + 0 +@@ -91,6 +114,7 @@ + + kirkwood_ge00_init(&rd88f6281_ge00_data); + kirkwood_pcie_id(&dev, &rev); ++#ifndef CONFIG_MACH_ICONNECT + if (rev == MV88F6281_REV_A0) { + rd88f6281_switch_chip_data.sw_addr = 10; + kirkwood_ge01_init(&rd88f6281_ge01_data); +@@ -101,6 +125,7 @@ + + kirkwood_sata_init(&rd88f6281_sata_data); + kirkwood_sdio_init(&rd88f6281_mvsdio_data); ++#endif + kirkwood_uart0_init(); + } + +@@ -113,6 +138,18 @@ + } + subsys_initcall(rd88f6281_pci_init); + ++#ifdef CONFIG_MACH_ICONNECT ++MACHINE_START(RD88F6281, "Iomega iConnect Wireless") ++ /* Maintainer: Saeed Bishara <sa...@marvell.com> */ ++ .phys_io = KIRKWOOD_REGS_PHYS_BASE, ++ .io_pg_offst = ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc, ++ .boot_params = 0x00000100, ++ .init_machine = rd88f6281_init, ++ .map_io = kirkwood_map_io, ++ .init_irq = kirkwood_init_irq, ++ .timer = &kirkwood_timer, ++MACHINE_END ++#else + MACHINE_START(RD88F6281, "Marvell RD-88F6281 Reference Board") + /* Maintainer: Saeed Bishara <sa...@marvell.com> */ + .phys_io = KIRKWOOD_REGS_PHYS_BASE, +@@ -123,3 +160,4 @@ + .init_irq = kirkwood_init_irq, + .timer = &kirkwood_timer, + MACHINE_END ++#endif +\ No newline at end of file Index: target/linux/kirkwood/config-default =================================================================== --- target/linux/kirkwood/config-default (revision 23057) +++ target/linux/kirkwood/config-default (working copy) @@ -95,6 +95,7 @@ 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 @@ -103,7 +104,7 @@ # CONFIG_MACH_OPENRD_BASE is not set # CONFIG_MACH_OPENRD_CLIENT is not set # CONFIG_MACH_RD88F6192_NAS is not set -# CONFIG_MACH_RD88F6281 is not set +CONFIG_MACH_RD88F6281=y CONFIG_MACH_SHEEVAPLUG=y # CONFIG_MACH_TS219 is not set # CONFIG_MACH_TS41X is not set _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel