xref: /linux/arch/sh/include/mach-x3proto/mach/ilsel.h (revision d39d0ed196aa1685bb24771e92f78633c66ac9cb)
1*d39d0ed1SPaul Mundt #ifndef __ASM_SH_ILSEL_H
2*d39d0ed1SPaul Mundt #define __ASM_SH_ILSEL_H
3*d39d0ed1SPaul Mundt 
4*d39d0ed1SPaul Mundt typedef enum {
5*d39d0ed1SPaul Mundt 	ILSEL_NONE,
6*d39d0ed1SPaul Mundt 	ILSEL_LAN,
7*d39d0ed1SPaul Mundt 	ILSEL_USBH_I,
8*d39d0ed1SPaul Mundt 	ILSEL_USBH_S,
9*d39d0ed1SPaul Mundt 	ILSEL_USBH_V,
10*d39d0ed1SPaul Mundt 	ILSEL_RTC,
11*d39d0ed1SPaul Mundt 	ILSEL_USBP_I,
12*d39d0ed1SPaul Mundt 	ILSEL_USBP_S,
13*d39d0ed1SPaul Mundt 	ILSEL_USBP_V,
14*d39d0ed1SPaul Mundt 	ILSEL_KEY,
15*d39d0ed1SPaul Mundt 
16*d39d0ed1SPaul Mundt 	/*
17*d39d0ed1SPaul Mundt 	 * ILSEL Aliases - corner cases for interleaved level tables.
18*d39d0ed1SPaul Mundt 	 *
19*d39d0ed1SPaul Mundt 	 * Someone thought this was a good idea and less hassle than
20*d39d0ed1SPaul Mundt 	 * demuxing a shared vector, really.
21*d39d0ed1SPaul Mundt 	 */
22*d39d0ed1SPaul Mundt 
23*d39d0ed1SPaul Mundt 	/* ILSEL0 and 2 */
24*d39d0ed1SPaul Mundt 	ILSEL_FPGA0,
25*d39d0ed1SPaul Mundt 	ILSEL_FPGA1,
26*d39d0ed1SPaul Mundt 	ILSEL_EX1,
27*d39d0ed1SPaul Mundt 	ILSEL_EX2,
28*d39d0ed1SPaul Mundt 	ILSEL_EX3,
29*d39d0ed1SPaul Mundt 	ILSEL_EX4,
30*d39d0ed1SPaul Mundt 
31*d39d0ed1SPaul Mundt 	/* ILSEL1 and 3 */
32*d39d0ed1SPaul Mundt 	ILSEL_FPGA2 = ILSEL_FPGA0,
33*d39d0ed1SPaul Mundt 	ILSEL_FPGA3 = ILSEL_FPGA1,
34*d39d0ed1SPaul Mundt 	ILSEL_EX5 = ILSEL_EX1,
35*d39d0ed1SPaul Mundt 	ILSEL_EX6 = ILSEL_EX2,
36*d39d0ed1SPaul Mundt 	ILSEL_EX7 = ILSEL_EX3,
37*d39d0ed1SPaul Mundt 	ILSEL_EX8 = ILSEL_EX4,
38*d39d0ed1SPaul Mundt } ilsel_source_t;
39*d39d0ed1SPaul Mundt 
40*d39d0ed1SPaul Mundt /* arch/sh/boards/renesas/x3proto/ilsel.c */
41*d39d0ed1SPaul Mundt int ilsel_enable(ilsel_source_t set);
42*d39d0ed1SPaul Mundt int ilsel_enable_fixed(ilsel_source_t set, unsigned int level);
43*d39d0ed1SPaul Mundt void ilsel_disable(unsigned int irq);
44*d39d0ed1SPaul Mundt 
45*d39d0ed1SPaul Mundt #endif /* __ASM_SH_ILSEL_H */
46