Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 43b56074 authored by Dmytro Milinevskyy's avatar Dmytro Milinevskyy Committed by Nicolas Pitre
Browse files

[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: default avatarDmytro Milinevskyy <milinevskyy@gmail.com>
Acked-by: default avatarLennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: default avatarNicolas Pitre <nico@fluxnic.net>
parent 21f0ba90
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -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
+24 −3
Original line number Original line Diff line number Diff line
/*
/*
 * 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