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

Commit 041cb624 authored by Sylvain Munaut's avatar Sylvain Munaut Committed by Linus Torvalds
Browse files

[PATCH] ppc32: Fix MPC52xx PCI init in cas the bootloader didn't do it



We were counting on the bootloader to init some stuff, like get the bus out of
reset and enable accesses.

Signed-off-by: default avatarSylvain Munaut <tnt@246tNt.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent db674ed4
Loading
Loading
Loading
Loading
+6 −4
Original line number Original line Diff line number Diff line
@@ -154,9 +154,12 @@ static struct pci_ops mpc52xx_pci_ops = {
static void __init
static void __init
mpc52xx_pci_setup(struct mpc52xx_pci __iomem *pci_regs)
mpc52xx_pci_setup(struct mpc52xx_pci __iomem *pci_regs)
{
{
	u32 tmp;


	/* Setup control regs */
	/* Setup control regs */
		/* Nothing to do afaik */
	tmp = in_be32(&pci_regs->scr);
	tmp |= PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY;
	out_be32(&pci_regs->scr, tmp);


	/* Setup windows */
	/* Setup windows */
	out_be32(&pci_regs->iw0btar, MPC52xx_PCI_IWBTAR_TRANSLATION(
	out_be32(&pci_regs->iw0btar, MPC52xx_PCI_IWBTAR_TRANSLATION(
@@ -197,13 +200,12 @@ mpc52xx_pci_setup(struct mpc52xx_pci __iomem *pci_regs)
	/* Not necessary and can be a bad thing if for example the bootloader
	/* Not necessary and can be a bad thing if for example the bootloader
	   is displaying a splash screen or ... Just left here for
	   is displaying a splash screen or ... Just left here for
	   documentation purpose if anyone need it */
	   documentation purpose if anyone need it */
#if 0
	u32 tmp;
	tmp = in_be32(&pci_regs->gscr);
	tmp = in_be32(&pci_regs->gscr);
#if 0
	out_be32(&pci_regs->gscr, tmp | MPC52xx_PCI_GSCR_PR);
	out_be32(&pci_regs->gscr, tmp | MPC52xx_PCI_GSCR_PR);
	udelay(50);
	udelay(50);
	out_be32(&pci_regs->gscr, tmp);
#endif
#endif
	out_be32(&pci_regs->gscr, tmp & ~MPC52xx_PCI_GSCR_PR);
}
}


static void
static void