diff options
author | Dmytro Milinevskyy <milinevskyy@gmail.com> | 2010-06-10 15:12:55 -0400 |
---|---|---|
committer | Nicolas Pitre <nico@fluxnic.net> | 2010-07-16 22:01:58 -0400 |
commit | 43b56074b69f3b6d0296e7986e792c7adb1d89c6 (patch) | |
tree | 31d3382c350398baa702be739e1e0638a1f36474 /arch/arm/mach-kirkwood/openrd-setup.c | |
parent | 21f0ba90a447090153edeaf2f14f9f7e8bd9bc80 (diff) |
[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>
Diffstat (limited to 'arch/arm/mach-kirkwood/openrd-setup.c')
-rw-r--r-- | arch/arm/mach-kirkwood/openrd-setup.c | 27 |
1 files changed, 24 insertions, 3 deletions
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 | ||