diff options
| -rw-r--r-- | arch/arm/mach-kirkwood/Kconfig | 7 | ||||
| -rw-r--r-- | arch/arm/mach-kirkwood/openrd-setup.c | 27 |
2 files changed, 31 insertions, 3 deletions
diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig index 427827107b4b..f638ec16bb7f 100644 --- a/arch/arm/mach-kirkwood/Kconfig +++ b/arch/arm/mach-kirkwood/Kconfig | |||
| @@ -75,6 +75,13 @@ config MACH_OPENRD_CLIENT | |||
| 75 | Say 'Y' here if you want your kernel to support the | 75 | Say 'Y' here if you want your kernel to support the |
| 76 | Marvell OpenRD Client Board. | 76 | Marvell OpenRD Client Board. |
| 77 | 77 | ||
| 78 | config MACH_OPENRD_ULTIMATE | ||
| 79 | bool "Marvell OpenRD Ultimate Board" | ||
| 80 | select MACH_OPENRD | ||
| 81 | help | ||
| 82 | Say 'Y' here if you want your kernel to support the | ||
| 83 | Marvell OpenRD Ultimate Board. | ||
| 84 | |||
| 78 | config MACH_NETSPACE_V2 | 85 | config MACH_NETSPACE_V2 |
| 79 | bool "LaCie Network Space v2 NAS Board" | 86 | bool "LaCie Network Space v2 NAS Board" |
| 80 | help | 87 | help |
diff --git a/arch/arm/mach-kirkwood/openrd-setup.c b/arch/arm/mach-kirkwood/openrd-setup.c index ad3f1ec33796..a48103649eba 100644 --- a/arch/arm/mach-kirkwood/openrd-setup.c +++ b/arch/arm/mach-kirkwood/openrd-setup.c | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * arch/arm/mach-kirkwood/openrd-setup.c | 2 | * arch/arm/mach-kirkwood/openrd-setup.c |
| 3 | * | 3 | * |
| 4 | * Marvell OpenRD (Base|Client) Board Setup | 4 | * Marvell OpenRD (Base|Client|Ultimate) Board Setup |
| 5 | * | 5 | * |
| 6 | * This file is licensed under the terms of the GNU General Public | 6 | * This file is licensed under the terms of the GNU General Public |
| 7 | * License version 2. This program is licensed "as is" without any | 7 | * License version 2. This program is licensed "as is" without any |
| @@ -73,9 +73,15 @@ static void __init openrd_init(void) | |||
| 73 | 73 | ||
| 74 | kirkwood_ehci_init(); | 74 | kirkwood_ehci_init(); |
| 75 | 75 | ||
| 76 | if (machine_is_openrd_ultimate()) { | ||
| 77 | openrd_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0); | ||
| 78 | openrd_ge01_data.phy_addr = MV643XX_ETH_PHY_ADDR(1); | ||
| 79 | } | ||
| 80 | |||
| 76 | kirkwood_ge00_init(&openrd_ge00_data); | 81 | kirkwood_ge00_init(&openrd_ge00_data); |
| 77 | if (machine_is_openrd_client()) | 82 | if (!machine_is_openrd_base()) |
| 78 | kirkwood_ge01_init(&openrd_ge01_data); | 83 | kirkwood_ge01_init(&openrd_ge01_data); |
| 84 | |||
| 79 | kirkwood_sata_init(&openrd_sata_data); | 85 | kirkwood_sata_init(&openrd_sata_data); |
| 80 | kirkwood_sdio_init(&openrd_mvsdio_data); | 86 | kirkwood_sdio_init(&openrd_mvsdio_data); |
| 81 | 87 | ||
| @@ -84,7 +90,9 @@ static void __init openrd_init(void) | |||
| 84 | 90 | ||
| 85 | static int __init openrd_pci_init(void) | 91 | static int __init openrd_pci_init(void) |
| 86 | { | 92 | { |
| 87 | if (machine_is_openrd_base() || machine_is_openrd_client()) | 93 | if (machine_is_openrd_base() || |
| 94 | machine_is_openrd_client() || | ||
| 95 | machine_is_openrd_ultimate()) | ||
| 88 | kirkwood_pcie_init(); | 96 | kirkwood_pcie_init(); |
| 89 | 97 | ||
| 90 | return 0; | 98 | return 0; |
| @@ -116,3 +124,16 @@ MACHINE_START(OPENRD_CLIENT, "Marvell OpenRD Client Board") | |||
| 116 | .timer = &kirkwood_timer, | 124 | .timer = &kirkwood_timer, |
| 117 | MACHINE_END | 125 | MACHINE_END |
| 118 | #endif | 126 | #endif |
| 127 | |||
| 128 | #ifdef CONFIG_MACH_OPENRD_ULTIMATE | ||
| 129 | MACHINE_START(OPENRD_ULTIMATE, "Marvell OpenRD Ultimate Board") | ||
| 130 | /* Maintainer: Dhaval Vasa <dhaval.vasa@einfochips.com> */ | ||
| 131 | .phys_io = KIRKWOOD_REGS_PHYS_BASE, | ||
| 132 | .io_pg_offst = ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc, | ||
| 133 | .boot_params = 0x00000100, | ||
| 134 | .init_machine = openrd_init, | ||
| 135 | .map_io = kirkwood_map_io, | ||
| 136 | .init_irq = kirkwood_init_irq, | ||
| 137 | .timer = &kirkwood_timer, | ||
| 138 | MACHINE_END | ||
| 139 | #endif | ||
