2008-01-23 12:50:51 +09:00
/*
* arch / sh / drivers / pci / fixups - sdk7780 . c
*
* PCI fixups for the SDK7780SE03
*
* Copyright ( C ) 2003 Lineo uSolutions , Inc .
* Copyright ( C ) 2004 - 2006 Paul Mundt
2009-04-17 20:11:44 +09:00
* Copyright ( C ) 2006 Nobuhiro Iwamatsu
2008-01-23 12:50:51 +09:00
*
* This file is subject to the terms and conditions of the GNU General Public
* License . See the file " COPYING " in the main directory of this archive
* for more details .
*/
# include <linux/pci.h>
2009-04-17 20:11:44 +09:00
# include <linux/io.h>
2012-05-18 17:42:29 +09:00
# include <linux/sh_intc.h>
2008-01-23 12:50:51 +09:00
# include "pci-sh4.h"
2012-05-18 17:42:29 +09:00
# define IRQ_INTA evt2irq(0xa20)
# define IRQ_INTB evt2irq(0xa40)
# define IRQ_INTC evt2irq(0xa60)
# define IRQ_INTD evt2irq(0xa80)
2009-04-17 20:11:44 +09:00
/* IDSEL [16][17][18][19][20][21][22][23][24][25][26][27][28][29][30][31] */
static char sdk7780_irq_tab [ 4 ] [ 16 ] __initdata = {
/* INTA */
2012-05-18 17:42:29 +09:00
{ IRQ_INTA , IRQ_INTD , IRQ_INTC , IRQ_INTD , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
- 1 , - 1 , - 1 , - 1 , - 1 , - 1 } ,
2009-04-17 20:11:44 +09:00
/* INTB */
2012-05-18 17:42:29 +09:00
{ IRQ_INTB , IRQ_INTA , - 1 , IRQ_INTA , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
- 1 , - 1 , - 1 , - 1 } ,
2009-04-17 20:11:44 +09:00
/* INTC */
2012-05-18 17:42:29 +09:00
{ IRQ_INTC , IRQ_INTB , - 1 , IRQ_INTB , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
- 1 , - 1 , - 1 , - 1 } ,
2009-04-17 20:11:44 +09:00
/* INTD */
2012-05-18 17:42:29 +09:00
{ IRQ_INTD , IRQ_INTC , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
- 1 , - 1 , - 1 } ,
2009-04-17 20:11:44 +09:00
} ;
2011-06-10 15:30:21 +01:00
int __init pcibios_map_platform_irq ( const struct pci_dev * pdev , u8 slot , u8 pin )
2009-04-17 20:11:44 +09:00
{
return sdk7780_irq_tab [ pin - 1 ] [ slot ] ;
}