[ARM] Marvell OpenRD-Ultimate machine support

This patch adds support for the OpenRD Ultimate machine (could be found
at http://www.arm.linux.org.uk/developer/machines/list.php?id=2884)

Signed-off-by: Dmytro Milinevskyy <milinevskyy@gmail.com>
Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
This commit is contained in:
Dmytro Milinevskyy
2010-06-10 22:12:55 +03:00
committed by Nicolas Pitre
parent 21f0ba90a4
commit 43b56074b6
2 changed files with 31 additions and 3 deletions

View File

@@ -75,6 +75,13 @@ config MACH_OPENRD_CLIENT
Say 'Y' here if you want your kernel to support the Say 'Y' here if you want your kernel to support the
Marvell OpenRD Client Board. Marvell OpenRD Client Board.
config MACH_OPENRD_ULTIMATE
bool "Marvell OpenRD Ultimate Board"
select MACH_OPENRD
help
Say 'Y' here if you want your kernel to support the
Marvell OpenRD Ultimate Board.
config MACH_NETSPACE_V2 config MACH_NETSPACE_V2
bool "LaCie Network Space v2 NAS Board" bool "LaCie Network Space v2 NAS Board"
help help

View File

@@ -1,7 +1,7 @@
/* /*
* arch/arm/mach-kirkwood/openrd-setup.c * arch/arm/mach-kirkwood/openrd-setup.c
* *
* Marvell OpenRD (Base|Client) Board Setup * Marvell OpenRD (Base|Client|Ultimate) Board Setup
* *
* This file is licensed under the terms of the GNU General Public * This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any * License version 2. This program is licensed "as is" without any
@@ -73,9 +73,15 @@ static void __init openrd_init(void)
kirkwood_ehci_init(); kirkwood_ehci_init();
if (machine_is_openrd_ultimate()) {
openrd_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0);
openrd_ge01_data.phy_addr = MV643XX_ETH_PHY_ADDR(1);
}
kirkwood_ge00_init(&openrd_ge00_data); kirkwood_ge00_init(&openrd_ge00_data);
if (machine_is_openrd_client()) if (!machine_is_openrd_base())
kirkwood_ge01_init(&openrd_ge01_data); kirkwood_ge01_init(&openrd_ge01_data);
kirkwood_sata_init(&openrd_sata_data); kirkwood_sata_init(&openrd_sata_data);
kirkwood_sdio_init(&openrd_mvsdio_data); kirkwood_sdio_init(&openrd_mvsdio_data);
@@ -84,7 +90,9 @@ static void __init openrd_init(void)
static int __init openrd_pci_init(void) static int __init openrd_pci_init(void)
{ {
if (machine_is_openrd_base() || machine_is_openrd_client()) if (machine_is_openrd_base() ||
machine_is_openrd_client() ||
machine_is_openrd_ultimate())
kirkwood_pcie_init(); kirkwood_pcie_init();
return 0; return 0;
@@ -116,3 +124,16 @@ MACHINE_START(OPENRD_CLIENT, "Marvell OpenRD Client Board")
.timer = &kirkwood_timer, .timer = &kirkwood_timer,
MACHINE_END MACHINE_END
#endif #endif
#ifdef CONFIG_MACH_OPENRD_ULTIMATE
MACHINE_START(OPENRD_ULTIMATE, "Marvell OpenRD Ultimate Board")
/* Maintainer: Dhaval Vasa <dhaval.vasa@einfochips.com> */
.phys_io = KIRKWOOD_REGS_PHYS_BASE,
.io_pg_offst = ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc,
.boot_params = 0x00000100,
.init_machine = openrd_init,
.map_io = kirkwood_map_io,
.init_irq = kirkwood_init_irq,
.timer = &kirkwood_timer,
MACHINE_END
#endif