sh: x3proto: ILSEL IRQ support.
This adds functionality for the on-board ILSEL IRQs that chain IRL mode events. Many on-board devices (ethernet, usb, etc.) rely on ILSEL IRQs directly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
45
include/asm-sh/ilsel.h
Normal file
45
include/asm-sh/ilsel.h
Normal file
@@ -0,0 +1,45 @@
|
||||
#ifndef __ASM_SH_ILSEL_H
|
||||
#define __ASM_SH_ILSEL_H
|
||||
|
||||
typedef enum {
|
||||
ILSEL_NONE,
|
||||
ILSEL_LAN,
|
||||
ILSEL_USBH_I,
|
||||
ILSEL_USBH_S,
|
||||
ILSEL_USBH_V,
|
||||
ILSEL_RTC,
|
||||
ILSEL_USBP_I,
|
||||
ILSEL_USBP_S,
|
||||
ILSEL_USBP_V,
|
||||
ILSEL_KEY,
|
||||
|
||||
/*
|
||||
* ILSEL Aliases - corner cases for interleaved level tables.
|
||||
*
|
||||
* Someone thought this was a good idea and less hassle than
|
||||
* demuxing a shared vector, really.
|
||||
*/
|
||||
|
||||
/* ILSEL0 and 2 */
|
||||
ILSEL_FPGA0,
|
||||
ILSEL_FPGA1,
|
||||
ILSEL_EX1,
|
||||
ILSEL_EX2,
|
||||
ILSEL_EX3,
|
||||
ILSEL_EX4,
|
||||
|
||||
/* ILSEL1 and 3 */
|
||||
ILSEL_FPGA2 = ILSEL_FPGA0,
|
||||
ILSEL_FPGA3 = ILSEL_FPGA1,
|
||||
ILSEL_EX5 = ILSEL_EX1,
|
||||
ILSEL_EX6 = ILSEL_EX2,
|
||||
ILSEL_EX7 = ILSEL_EX3,
|
||||
ILSEL_EX8 = ILSEL_EX4,
|
||||
} ilsel_source_t;
|
||||
|
||||
/* arch/sh/boards/renesas/x3proto/ilsel.c */
|
||||
int ilsel_enable(ilsel_source_t set);
|
||||
int ilsel_enable_fixed(ilsel_source_t set, unsigned int level);
|
||||
void ilsel_disable(unsigned int irq);
|
||||
|
||||
#endif /* __ASM_SH_ILSEL_H */
|
Reference in New Issue
Block a user