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

Commit 3f6c5dae authored by Roy Zang's avatar Roy Zang Committed by Kumar Gala
Browse files

[POWERPC] Use Freescale pci/pcie common code for 85xx boards



Switch the 85xx platform over to using the FSL generic PCI code.  This
gets ups PCIe support in addition to base PCI support.

Signed-off-by: default avatarRoy Zang <tie-fei.zang@freescale.com>
Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
parent 344ffde7
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -50,9 +50,10 @@ config MPC8560
config MPC85xx
	bool
	select PPC_UDBG_16550
	select PPC_INDIRECT_PCI
	select PPC_INDIRECT_PCI_BE
	select PPC_INDIRECT_PCI if PCI
	select PPC_INDIRECT_PCI_BE if PCI
	select MPIC
	select FSL_PCI if PCI
	select SERIAL_8250_SHARE_IRQ if SERIAL_8250
	default y if MPC8540_ADS || MPC85xx_CDS || MPC8560_ADS \
		|| MPC85xx_MDS || MPC8544_DS
+1 −1
Original line number Diff line number Diff line
#
# Makefile for the PowerPC 85xx linux kernel.
#
obj-$(CONFIG_PPC_85xx)	+= misc.o pci.o
obj-$(CONFIG_PPC_85xx)	+= misc.o
obj-$(CONFIG_MPC8540_ADS) += mpc85xx_ads.o
obj-$(CONFIG_MPC8560_ADS) += mpc85xx_ads.o
obj-$(CONFIG_MPC85xx_CDS) += mpc85xx_cds.o
+0 −1
Original line number Diff line number Diff line
@@ -15,4 +15,3 @@
 */

extern void mpc85xx_restart(char *);
extern int mpc85xx_add_bridge(struct device_node *dev);
+2 −1
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@
#include <asm/udbg.h>

#include <sysdev/fsl_soc.h>
#include <sysdev/fsl_pci.h>
#include "mpc85xx.h"

#ifdef CONFIG_CPM2
@@ -217,7 +218,7 @@ static void __init mpc85xx_ads_setup_arch(void)

#ifdef CONFIG_PCI
	for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
		mpc85xx_add_bridge(np);
		fsl_add_bridge(np, 1);
	ppc_md.pci_exclude_device = mpc85xx_exclude_device;
#endif
}
+9 −5
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@
#include <asm/i8259.h>

#include <sysdev/fsl_soc.h>
#include <sysdev/fsl_pci.h>
#include "mpc85xx.h"

static int cds_pci_slot = 2;
@@ -58,8 +59,6 @@ static volatile u8 *cadmus;
static int mpc85xx_exclude_device(struct pci_controller *hose,
				  u_char bus, u_char devfn)
{
	if ((bus == hose->first_busno) && PCI_SLOT(devfn) == 0)
		return PCIBIOS_DEVICE_NOT_FOUND;
	/* We explicitly do not go past the Tundra 320 Bridge */
	if ((bus == 1) && (PCI_SLOT(devfn) == ARCADIA_2ND_BRIDGE_IDSEL))
		return PCIBIOS_DEVICE_NOT_FOUND;
@@ -218,9 +217,14 @@ static void __init mpc85xx_cds_setup_arch(void)
	}

#ifdef CONFIG_PCI
	for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
		mpc85xx_add_bridge(np);

	for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;) {
		struct resource rsrc;
		of_address_to_resource(np, 0, &rsrc);
		if ((rsrc.start & 0xfffff) == 0x9000)
			fsl_add_bridge(np, 0);
		else
			fsl_add_bridge(np, 1);
	}
	ppc_md.pci_irq_fixup = mpc85xx_cds_pci_irq_fixup;
	ppc_md.pci_exclude_device = mpc85xx_exclude_device;
#endif
Loading