Marvell OpenRD-Ultimate machine support
Subsystems (2)
PATCH 1/1 Marvell OpenRD-Ultimate machine support
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:
- Correctly filled instances of mv643xx_eth_platform_data in case of ultimate version.
- Do PCIE initialization for Ultimate version along with Base and Client
- Init ge01 if (!openrd-base) to make the code cleaner
Regards,
-- Dmytro Milinevskyy
--- arch/arm/mach-kirkwood/Kconfig | 7 +++++++ arch/arm/mach-kirkwood/openrd-setup.c | 27 ++++++++++++++++++++++++--- 2 files changed, 31 insertions(+), 3 deletions(-)
arch/arm/mach-kirkwood/Kconfig +7 -0
@@ -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
arch/arm/mach-kirkwood/openrd-setup.c +24 -3
@@ -1,7 +1,7 @@/* * 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 * License version 2. This program is licensed "as is" without any
@@ -73,9 +73,15 @@ static void __init openrd_init(void)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); -if (machine_is_openrd_client ()) +if (!machine_is_openrd_base ())kirkwood_ge01_init (&openrd_ge01_data); +kirkwood_sata_init (&openrd_sata_data);kirkwood_sdio_init (&openrd_mvsdio_data);
@@ -84,7 +90,9 @@ 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 +124,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
Signature · 1 line
1.7.1
Quoted 1 line · Dmytro Milinevskyy
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)
arch/arm/mach-kirkwood/openrd-setup.c MACHINE_START(OPENRD_CLIENT, "Marvell OpenRD Client Board") · line 130
Quoted 2 lines
arch/arm/mach-kirkwood/openrd-setup.c +2
-0+MACHINE_START (OPENRD_ULTIMATE ,"Marvell OpenRD Ultimate Board" ) +/* Maintainer: Dhaval Vasa <[email protected]> */
I wonder whether this is correct, though.