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

Commit 545c069c authored by Josh Boyer's avatar Josh Boyer
Browse files

[POWERPC] Walnut board support



Board support for the PPC405 Walnut evaluation board

Signed-off-by: default avatarJosh Boyer <jwboyer@linux.vnet.ibm.com>
Acked-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
parent 7f2814d2
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -53,13 +53,13 @@
#	help
#	  This option enables support for the IBM PPC405GPr evaluation board.

#config WALNUT
#	bool "Walnut"
#	depends on 40x
#	default y
#	select 405GP
#	help
#	  This option enables support for the IBM PPC405GP evaluation board.
config WALNUT
	bool "Walnut"
	depends on 40x
	default y
	select 405GP
	help
	  This option enables support for the IBM PPC405GP evaluation board.

#config XILINX_ML300
#	bool "Xilinx-ML300"
+1 −1
Original line number Diff line number Diff line
# empty makefile so make clean works
 No newline at end of file
obj-$(CONFIG_WALNUT) += walnut.o
+68 −0
Original line number Diff line number Diff line
/*
 * Architecture- / platform-specific boot-time initialization code for
 * IBM PowerPC 4xx based boards. Adapted from original
 * code by Gary Thomas, Cort Dougan <cort@fsmlabs.com>, and Dan Malek
 * <dan@net4x.com>.
 *
 * Copyright(c) 1999-2000 Grant Erickson <grant@lcse.umn.edu>
 *
 * Rewritten and ported to the merged powerpc tree:
 * Copyright 2007 IBM Corporation
 * Josh Boyer <jwboyer@linux.vnet.ibm.com>
 *
 * 2002 (c) MontaVista, Software, Inc.  This file is licensed under
 * the terms of the GNU General Public License version 2.  This program
 * is licensed "as is" without any warranty of any kind, whether express
 * or implied.
 */

#include <linux/init.h>
#include <asm/machdep.h>
#include <asm/prom.h>
#include <asm/udbg.h>
#include <asm/time.h>
#include <asm/uic.h>
#include <asm/of_platform.h>

static struct of_device_id walnut_of_bus[] = {
	{ .compatible = "ibm,plb3", },
	{ .compatible = "ibm,opb", },
	{ .compatible = "ibm,ebc", },
	{},
};

static int __init walnut_device_probe(void)
{
	if (!machine_is(walnut))
		return 0;

	/* FIXME: do bus probe here */
	of_platform_bus_probe(NULL, walnut_of_bus, NULL);

	return 0;
}
device_initcall(walnut_device_probe);

static int __init walnut_probe(void)
{
	unsigned long root = of_get_flat_dt_root();

	if (!of_flat_dt_is_compatible(root, "ibm,walnut"))
		return 0;

	return 1;
}

static void __init walnut_setup_arch(void)
{
}

define_machine(walnut) {
	.name			= "Walnut",
	.probe			= walnut_probe,
	.setup_arch		= walnut_setup_arch,
	.progress		= udbg_progress,
	.init_IRQ		= uic_init_tree,
	.get_irq		= uic_get_irq,
	.calibrate_decr	= generic_calibrate_decr,
};
+1 −1
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@ source "arch/powerpc/platforms/85xx/Kconfig"
source "arch/powerpc/platforms/86xx/Kconfig"
source "arch/powerpc/platforms/embedded6xx/Kconfig"
source "arch/powerpc/platforms/44x/Kconfig"
#source "arch/powerpc/platforms/4xx/Kconfig
source "arch/powerpc/platforms/40x/Kconfig"

config PPC_NATIVE
	bool
+1 −1
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ obj-$(CONFIG_PPC_PMAC) += powermac/
endif
endif
obj-$(CONFIG_PPC_CHRP)		+= chrp/
#obj-$(CONFIG_4xx)		+= 4xx/
obj-$(CONFIG_40x)		+= 40x/
obj-$(CONFIG_44x)		+= 44x/
obj-$(CONFIG_PPC_MPC52xx)	+= 52xx/
obj-$(CONFIG_PPC_8xx)		+= 8xx/