fixups-sdk7780.c (0bbc9bc3189f24de946777af43c9033c8c4871e4) fixups-sdk7780.c (a6d377b6969235a3b5a6e87bdcef387d0976b41c)
1/*
2 * arch/sh/drivers/pci/fixups-sdk7780.c
3 *
4 * PCI fixups for the SDK7780SE03
5 *
6 * Copyright (C) 2003 Lineo uSolutions, Inc.
7 * Copyright (C) 2004 - 2006 Paul Mundt
1/*
2 * arch/sh/drivers/pci/fixups-sdk7780.c
3 *
4 * PCI fixups for the SDK7780SE03
5 *
6 * Copyright (C) 2003 Lineo uSolutions, Inc.
7 * Copyright (C) 2004 - 2006 Paul Mundt
8 * Copyright (C) 2006 Nobuhiro Iwamatsu
8 *
9 * This file is subject to the terms and conditions of the GNU General Public
10 * License. See the file "COPYING" in the main directory of this archive
11 * for more details.
12 */
13#include <linux/pci.h>
9 *
10 * This file is subject to the terms and conditions of the GNU General Public
11 * License. See the file "COPYING" in the main directory of this archive
12 * for more details.
13 */
14#include <linux/pci.h>
15#include <linux/io.h>
14#include "pci-sh4.h"
16#include "pci-sh4.h"
15#include <asm/io.h>
16
17
18/* IDSEL [16][17][18][19][20][21][22][23][24][25][26][27][28][29][30][31] */
19static char sdk7780_irq_tab[4][16] __initdata = {
20 /* INTA */
21 { 65, 68, 67, 68, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
22 /* INTB */
23 { 66, 65, -1, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
24 /* INTC */
25 { 67, 66, -1, 66, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
26 /* INTD */
27 { 68, 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
28};
29
30int __init pcibios_map_platform_irq(struct pci_dev *pdev, u8 slot, u8 pin)
31{
32 return sdk7780_irq_tab[pin-1][slot];
33}
17int pci_fixup_pcic(struct pci_channel *chan)
18{
19 /* Enable all interrupts, so we know what to fix */
20 pci_write_reg(chan, 0x0000C3FF, SH7780_PCIIMR);
21 pci_write_reg(chan, 0x0000380F, SH7780_PCIAINTM);
22
23 /* Set up standard PCI config registers */
24 pci_write_reg(chan, 0xFB00, SH7780_PCISTATUS);

--- 33 unchanged lines hidden ---
34int pci_fixup_pcic(struct pci_channel *chan)
35{
36 /* Enable all interrupts, so we know what to fix */
37 pci_write_reg(chan, 0x0000C3FF, SH7780_PCIIMR);
38 pci_write_reg(chan, 0x0000380F, SH7780_PCIAINTM);
39
40 /* Set up standard PCI config registers */
41 pci_write_reg(chan, 0xFB00, SH7780_PCISTATUS);

--- 33 unchanged lines hidden ---