Hi!
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)
Besides adding machine description this patch adds correction for PHY address for Ultimate version.
Differences from the previous attempt:
- Applied suggestion from Lennert Buytenhek to change PHY addresses in instances of mv643xx_eth_platform_data in case of ultimate version.
Regards,
-- Dmytro Milinevskyy
Signed-off-by: Dmytro Milinevskyy <[email protected]>
---
arch/arm/mach-kirkwood/Kconfig | 7 ++++++
arch/arm/mach-kirkwood/openrd-setup.c | 34 +++++++++++++++++++++++++++++---
2 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig
index 29b2163..110a3b8 100644
--- a/arch/arm/mach-kirkwood/Kconfig
+++ b/arch/arm/mach-kirkwood/Kconfig
@@ -75,6 +75,13 @@ config MACH_OPENRD_CLIENT
Say 'Y' here if you want your kernel to support the
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
bool "LaCie Network Space v2 NAS Board"
help
diff --git a/arch/arm/mach-kirkwood/openrd-setup.c b/arch/arm/mach-kirkwood/openrd-setup.c
index ad3f1ec..5d6797a 100644
--- a/arch/arm/mach-kirkwood/openrd-setup.c
+++ b/arch/arm/mach-kirkwood/openrd-setup.c
@@ -47,6 +47,14 @@ static struct mv643xx_eth_platform_data openrd_ge01_data = {
.phy_addr = MV643XX_ETH_PHY_ADDR(24),
};
+static struct mv643xx_eth_platform_data openrd_ultimate_ge00_data = {
+ .phy_addr = MV643XX_ETH_PHY_ADDR(0),
+};
+
+static struct mv643xx_eth_platform_data openrd_ultimate_ge01_data = {
+ .phy_addr = MV643XX_ETH_PHY_ADDR(1),
+};
+
static struct mv_sata_platform_data openrd_sata_data = {
.n_ports = 2,
};
@@ -73,9 +81,14 @@ static void __init openrd_init(void)
kirkwood_ehci_init();
- kirkwood_ge00_init(&openrd_ge00_data);
- if (machine_is_openrd_client())
- kirkwood_ge01_init(&openrd_ge01_data);
+ if (machine_is_openrd_ultimate()) {
+ kirkwood_ge00_init(&openrd_ultimate_ge00_data);
+ kirkwood_ge01_init(&openrd_ultimate_ge01_data);
+ } else {
+ kirkwood_ge00_init(&openrd_ge00_data);
+ if (machine_is_openrd_client())
+ kirkwood_ge01_init(&openrd_ge01_data);
+ }
kirkwood_sata_init(&openrd_sata_data);
kirkwood_sdio_init(&openrd_mvsdio_data);
@@ -84,7 +97,7 @@ static void __init openrd_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();
return 0;
@@ -116,3 +129,16 @@ MACHINE_START(OPENRD_CLIENT, "Marvell OpenRD Client Board")
.timer = &kirkwood_timer,
MACHINE_END
#endif
+
+#ifdef CONFIG_MACH_OPENRD_ULTIMATE
+MACHINE_START(OPENRD_ULTIMATE, "Marvell OpenRD Ultimate Board")
+ /* Maintainer: Dhaval Vasa <[email protected]> */
+ .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
--
1.7.1
On Tue, Jun 08, 2010 at 10:47:47PM +0300, Dmytro Milinevskyy wrote:
> Differences from the previous attempt:
> - Applied suggestion from Lennert Buytenhek to change PHY addresses in instances of mv643xx_eth_platform_data in case of ultimate version.
The patch looks exactly like the old patch, though?
Oh, I've sent the old version.
My apologies. Will resend the updates version as soon as I get access
to the box.
-- Dima
On Wed, Jun 9, 2010 at 10:25 AM, Lennert Buytenhek
<[email protected]> wrote:
> On Tue, Jun 08, 2010 at 10:47:47PM +0300, Dmytro Milinevskyy wrote:
>
>> Differences from the previous attempt:
>> ?- Applied suggestion from Lennert Buytenhek to change PHY addresses in instances of mv643xx_eth_platform_data in case of ultimate version.
>
> The patch looks exactly like the old patch, though?
>