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

Commit b6f9e595 authored by Kumar Gala's avatar Kumar Gala
Browse files

powerpc/fsl-booke: Add p3041 DS board support



The P3041DS is in the same family of boards as the P4080DS and thus
shares the corenet_ds code.

Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
parent 4267ea72
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -153,6 +153,17 @@ config SBC8560
	help
	  This option enables support for the Wind River SBC8560 board

config P3041_DS
	bool "Freescale P3041 DS"
	select DEFAULT_UIMAGE
	select PPC_E500MC
	select PHYS_64BIT
	select SWIOTLB
	select MPC8xxx_GPIO
	select HAS_RAPIDIO
	help
	  This option enables support for the P3041 DS board

config P4080_DS
	bool "Freescale P4080 DS"
	select DEFAULT_UIMAGE
+1 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ obj-$(CONFIG_MPC85xx_DS) += mpc85xx_ds.o
obj-$(CONFIG_MPC85xx_MDS) += mpc85xx_mds.o
obj-$(CONFIG_MPC85xx_RDB) += mpc85xx_rdb.o
obj-$(CONFIG_P1022_DS)    += p1022_ds.o
obj-$(CONFIG_P3041_DS)    += p3041_ds.o corenet_ds.o
obj-$(CONFIG_P4080_DS)    += p4080_ds.o corenet_ds.o
obj-$(CONFIG_STX_GP3)	  += stx_gp3.o
obj-$(CONFIG_TQM85xx)	  += tqm85xx.o
+64 −0
Original line number Diff line number Diff line
/*
 * P3041 DS Setup
 *
 * Maintained by Kumar Gala (see MAINTAINERS for contact information)
 *
 * Copyright 2009-2010 Freescale Semiconductor Inc.
 *
 * This program 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/pci.h>
#include <linux/kdev_t.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/phy.h>

#include <asm/system.h>
#include <asm/time.h>
#include <asm/machdep.h>
#include <asm/pci-bridge.h>
#include <mm/mmu_decl.h>
#include <asm/prom.h>
#include <asm/udbg.h>
#include <asm/mpic.h>

#include <linux/of_platform.h>
#include <sysdev/fsl_soc.h>
#include <sysdev/fsl_pci.h>

#include "corenet_ds.h"

/*
 * Called very early, device-tree isn't unflattened
 */
static int __init p3041_ds_probe(void)
{
	unsigned long root = of_get_flat_dt_root();

	return of_flat_dt_is_compatible(root, "fsl,P3041DS");
}

define_machine(p3041_ds) {
	.name			= "P3041 DS",
	.probe			= p3041_ds_probe,
	.setup_arch		= corenet_ds_setup_arch,
	.init_IRQ		= corenet_ds_pic_init,
#ifdef CONFIG_PCI
	.pcibios_fixup_bus	= fsl_pcibios_fixup_bus,
#endif
	.get_irq		= mpic_get_coreint_irq,
	.restart		= fsl_rstcr_restart,
	.calibrate_decr		= generic_calibrate_decr,
	.progress		= udbg_progress,
};

machine_device_initcall(p3041_ds, corenet_ds_publish_devices);

#ifdef CONFIG_SWIOTLB
machine_arch_initcall(p3041_ds, swiotlb_setup_bus_notifier);
#endif