[PATCH 03/04] mpc5121: add support for ARIA board

Wolfgang Denk wd at denx.de
Thu May 7 06:21:00 EST 2009


ARIA is a MPC5121E based COM Express module by Dave/DENX.

Signed-off-by: Wolfgang Denk <wd at denx.de>
Cc: Grant Likely <grant.likely at secretlab.ca>
Cc: John Rigby <jcrigby at gmail.com>
---
 arch/powerpc/platforms/512x/Kconfig           |    9 +++
 arch/powerpc/platforms/512x/Makefile          |    1 +
 arch/powerpc/platforms/512x/aria.c            |   73 +++++++++++++++++++++++++
 arch/powerpc/platforms/512x/mpc5121_generic.c |    1 +
 4 files changed, 84 insertions(+), 0 deletions(-)
 create mode 100644 arch/powerpc/platforms/512x/aria.c

diff --git a/arch/powerpc/platforms/512x/Kconfig b/arch/powerpc/platforms/512x/Kconfig
index 4dac9b0..faef03e 100644
--- a/arch/powerpc/platforms/512x/Kconfig
+++ b/arch/powerpc/platforms/512x/Kconfig
@@ -10,6 +10,15 @@ config PPC_MPC5121
 	bool
 	select PPC_MPC512x
 
+config ARIA
+	bool "Dave/DENX ARIA COM Express module"
+	depends on 6xx
+	select DEFAULT_UIMAGE
+	select PPC_MPC5121
+	help
+	  This option enables support for the ARIA board,
+	  a MPC5121E based COM Express module by Dave/DENX.
+
 config MPC5121_ADS
 	bool "Freescale MPC5121E ADS"
 	depends on 6xx
diff --git a/arch/powerpc/platforms/512x/Makefile b/arch/powerpc/platforms/512x/Makefile
--- a/arch/powerpc/platforms/512x/Makefile
+++ b/arch/powerpc/platforms/512x/Makefile
@@ -2,5 +2,6 @@
 # Makefile for the Freescale PowerPC 512x linux kernel.
 #
 obj-y				+= clock.o mpc512x_shared.o
+obj-$(CONFIG_ARIA)		+= aria.o
 obj-$(CONFIG_MPC5121_ADS)	+= mpc5121_ads.o mpc5121_ads_cpld.o
 obj-$(CONFIG_MPC5121_GENERIC)	+= mpc5121_generic.o
diff --git a/arch/powerpc/platforms/512x/aria.c b/arch/powerpc/platforms/512x/aria.c
new file mode 100644
--- /dev/null
+++ b/arch/powerpc/platforms/512x/aria.c
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2009 Wolfgang Denk <wd at denx.de>
+ *
+ * based on mpc5121_ads.c:
+ *
+ * Copyright (C) 2007, 2008 Freescale Semiconductor, Inc. All rights reserved.
+ * Author: John Rigby, <jrigby at freescale.com>, Thur Mar 29 2007
+ *
+ * Description:
+ * ARIA board setup
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ */
+
+#include <linux/kernel.h>
+#include <linux/io.h>
+#include <linux/of_platform.h>
+
+#include <asm/machdep.h>
+#include <asm/ipic.h>
+#include <asm/prom.h>
+#include <asm/time.h>
+
+#include <sysdev/fsl_pci.h>
+
+#include "mpc512x.h"
+
+static void __init aria_setup_arch(void)
+{
+#ifdef CONFIG_PCI
+	struct device_node *np;
+#endif
+	printk(KERN_INFO "ARIA board from Dave/DENX\n");
+
+#ifdef CONFIG_PCI
+	for_each_compatible_node(np, "pci", "fsl,mpc5121-pci")
+		mpc83xx_add_bridge(np);
+#endif
+
+	mpc512x_init_i2c();
+}
+
+static void __init aria_init_IRQ(void)
+{
+	mpc512x_init_IRQ();
+}
+
+/*
+ * Called very early, MMU is off, device-tree isn't unflattened
+ */
+static int __init aria_probe(void)
+{
+	unsigned long root = of_get_flat_dt_root();
+
+	return of_flat_dt_is_compatible(root, "davedenx,aria");
+}
+
+define_machine(aria) {
+	.name			= "ARIA",
+	.probe			= aria_probe,
+	.setup_arch		= aria_setup_arch,
+	.init			= mpc512x_declare_of_platform_devices,
+	.init_IRQ		= aria_init_IRQ,
+	.get_irq		= ipic_get_irq,
+	.calibrate_decr		= generic_calibrate_decr,
+};
diff --git a/arch/powerpc/platforms/512x/mpc5121_generic.c b/arch/powerpc/platforms/512x/mpc5121_generic.c
index 2479de9..228d9a2 100644
--- a/arch/powerpc/platforms/512x/mpc5121_generic.c
+++ b/arch/powerpc/platforms/512x/mpc5121_generic.c
@@ -27,6 +27,7 @@
  * list of supported boards
  */
 static char *board[] __initdata = {
+	"davedenx,aria",
 	"prt,prtlvt",
 	NULL
 };
-- 
1.6.0.6




More information about the Linuxppc-dev mailing list