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