1da2014a2SPaul Mundt /* 2da2014a2SPaul Mundt * linux/arch/sh/boards/se/7751/irq.c 3da2014a2SPaul Mundt * 4da2014a2SPaul Mundt * Copyright (C) 2000 Kazumoto Kojima 5da2014a2SPaul Mundt * 6da2014a2SPaul Mundt * Hitachi SolutionEngine Support. 7da2014a2SPaul Mundt * 8da2014a2SPaul Mundt * Modified for 7751 Solution Engine by 9da2014a2SPaul Mundt * Ian da Silva and Jeremy Siegel, 2001. 10da2014a2SPaul Mundt */ 11da2014a2SPaul Mundt 12da2014a2SPaul Mundt #include <linux/init.h> 13da2014a2SPaul Mundt #include <linux/irq.h> 14da2014a2SPaul Mundt #include <asm/irq.h> 15939a24a6SPaul Mundt #include <mach-se/mach/se7751.h> 16da2014a2SPaul Mundt 17da2014a2SPaul Mundt static struct ipr_data ipr_irq_table[] = { 18da2014a2SPaul Mundt { 13, 3, 3, 2 }, 19da2014a2SPaul Mundt /* Add additional entries here as drivers are added and tested. */ 20da2014a2SPaul Mundt }; 21da2014a2SPaul Mundt 22da2014a2SPaul Mundt static unsigned long ipr_offsets[] = { 23da2014a2SPaul Mundt BCR_ILCRA, 24da2014a2SPaul Mundt BCR_ILCRB, 25da2014a2SPaul Mundt BCR_ILCRC, 26da2014a2SPaul Mundt BCR_ILCRD, 27da2014a2SPaul Mundt BCR_ILCRE, 28da2014a2SPaul Mundt BCR_ILCRF, 29da2014a2SPaul Mundt BCR_ILCRG, 30da2014a2SPaul Mundt }; 31da2014a2SPaul Mundt 32da2014a2SPaul Mundt static struct ipr_desc ipr_irq_desc = { 33da2014a2SPaul Mundt .ipr_offsets = ipr_offsets, 34da2014a2SPaul Mundt .nr_offsets = ARRAY_SIZE(ipr_offsets), 35da2014a2SPaul Mundt 36da2014a2SPaul Mundt .ipr_data = ipr_irq_table, 37da2014a2SPaul Mundt .nr_irqs = ARRAY_SIZE(ipr_irq_table), 38da2014a2SPaul Mundt 39da2014a2SPaul Mundt .chip = { 40da2014a2SPaul Mundt .name = "IPR-se7751", 41da2014a2SPaul Mundt }, 42da2014a2SPaul Mundt }; 43da2014a2SPaul Mundt 44da2014a2SPaul Mundt /* 45da2014a2SPaul Mundt * Initialize IRQ setting 46da2014a2SPaul Mundt */ 47da2014a2SPaul Mundt void __init init_7751se_IRQ(void) 48da2014a2SPaul Mundt { 49da2014a2SPaul Mundt register_ipr_controller(&ipr_irq_desc); 50da2014a2SPaul Mundt } 51