static struct platform_device sa11x0ir_device = { .name = "sa11x0-ir", .id = -1, .num_resources = ARRAY_SIZE(sa11x0ir_resources), .resource = sa11x0ir_resources, }; void sa11x0_register_irda(struct irda_platform_data *irda) { sa11x0_register_device(&sa11x0ir_device, irda); } static struct resource sa1100_rtc_resources[] = { DEFINE_RES_MEM(0x90010000, 0x9001003f), DEFINE_RES_IRQ_NAMED(IRQ_RTC1Hz, "rtc 1Hz"), DEFINE_RES_IRQ_NAMED(IRQ_RTCAlrm, "rtc alarm"), }; static struct platform_device sa11x0rtc_device = { .name = "sa1100-rtc", .id = -1, .num_resources = ARRAY_SIZE(sa1100_rtc_resources), .resource = sa1100_rtc_resources, }; static struct resource sa11x0dma_resources[] = { DEFINE_RES_MEM(DMA_PHYS, DMA_SIZE), DEFINE_RES_IRQ(IRQ_DMA0), DEFINE_RES_IRQ(IRQ_DMA1), DEFINE_RES_IRQ(IRQ_DMA2),
static const struct regmap_range axp806_volatile_ranges[] = { regmap_reg_range(AXP20X_IRQ1_STATE, AXP20X_IRQ2_STATE), }; static const struct regmap_access_table axp806_writeable_table = { .yes_ranges = axp806_writeable_ranges, .n_yes_ranges = ARRAY_SIZE(axp806_writeable_ranges), }; static const struct regmap_access_table axp806_volatile_table = { .yes_ranges = axp806_volatile_ranges, .n_yes_ranges = ARRAY_SIZE(axp806_volatile_ranges), }; static const struct resource axp152_pek_resources[] = { DEFINE_RES_IRQ_NAMED(AXP152_IRQ_PEK_RIS_EDGE, "PEK_DBR"), DEFINE_RES_IRQ_NAMED(AXP152_IRQ_PEK_FAL_EDGE, "PEK_DBF"), }; static const struct resource axp20x_ac_power_supply_resources[] = { DEFINE_RES_IRQ_NAMED(AXP20X_IRQ_ACIN_PLUGIN, "ACIN_PLUGIN"), DEFINE_RES_IRQ_NAMED(AXP20X_IRQ_ACIN_REMOVAL, "ACIN_REMOVAL"), DEFINE_RES_IRQ_NAMED(AXP20X_IRQ_ACIN_OVER_V, "ACIN_OVER_V"), }; static const struct resource axp20x_pek_resources[] = { DEFINE_RES_IRQ_NAMED(AXP20X_IRQ_PEK_RIS_EDGE, "PEK_DBR"), DEFINE_RES_IRQ_NAMED(AXP20X_IRQ_PEK_FAL_EDGE, "PEK_DBF"), }; static const struct resource axp20x_usb_power_supply_resources[] = {
DEFINE_RES_IRQ(144), }; static struct platform_device cmt_device = { .name = "sh-cmt-16", .id = 0, .dev = { .platform_data = &cmt_platform_data, }, .resource = cmt_resources, .num_resources = ARRAY_SIZE(cmt_resources), }; static struct resource mtu2_resources[] = { DEFINE_RES_MEM(0xfffe4000, 0x400), DEFINE_RES_IRQ_NAMED(156, "tgi0a"), DEFINE_RES_IRQ_NAMED(164, "tgi1a"), DEFINE_RES_IRQ_NAMED(180, "tgi2a"), }; static struct platform_device mtu2_device = { .name = "sh-mtu2s", .id = -1, .resource = mtu2_resources, .num_resources = ARRAY_SIZE(mtu2_resources), }; static struct platform_device *sh7206_devices[] __initdata = { &scif0_device, &scif1_device, &scif2_device,
#include <linux/i2c.h> #include <linux/irq.h> #include <linux/irqdomain.h> #include <linux/kernel.h> #include <linux/module.h> #include <linux/of.h> #include <linux/of_device.h> #include <linux/platform_device.h> #include <linux/regmap.h> #include <linux/slab.h> #include <linux/mfd/core.h> #include <linux/mfd/tps65217.h> static struct resource charger_resources[] = { DEFINE_RES_IRQ_NAMED(TPS65217_IRQ_AC, "AC"), DEFINE_RES_IRQ_NAMED(TPS65217_IRQ_USB, "USB"), }; static struct resource pb_resources[] = { DEFINE_RES_IRQ_NAMED(TPS65217_IRQ_PB, "PB"), }; struct tps65217_irq { int mask; int interrupt; }; static const struct tps65217_irq tps65217_irqs[] = { [TPS65217_IRQ_PB] = { .mask = TPS65217_INT_PBM,
.irqs = bxtwc_regmap_irqs, .num_irqs = ARRAY_SIZE(bxtwc_regmap_irqs), .num_regs = 2, }; static struct regmap_irq_chip bxtwc_regmap_irq_chip_level2 = { .name = "bxtwc_irq_chip_level2", .status_base = BXTWC_THRM0IRQ, .mask_base = BXTWC_MTHRM0IRQ, .irqs = bxtwc_regmap_irqs_level2, .num_irqs = ARRAY_SIZE(bxtwc_regmap_irqs_level2), .num_regs = 10, }; static struct resource gpio_resources[] = { DEFINE_RES_IRQ_NAMED(BXTWC_GPIO0_IRQ, "GPIO0"), DEFINE_RES_IRQ_NAMED(BXTWC_GPIO1_IRQ, "GPIO1"), }; static struct resource adc_resources[] = { DEFINE_RES_IRQ_NAMED(BXTWC_ADC_IRQ, "ADC"), }; static struct resource charger_resources[] = { DEFINE_RES_IRQ_NAMED(BXTWC_CHGR0_IRQ, "CHARGER"), DEFINE_RES_IRQ_NAMED(BXTWC_CHGR1_IRQ, "CHARGER1"), }; static struct resource thermal_resources[] = { DEFINE_RES_IRQ(BXTWC_THRM0_IRQ), DEFINE_RES_IRQ(BXTWC_THRM1_IRQ),
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include <asm/sizes.h> #include <mach/mx23.h> #include <mach/mx28.h> #include <mach/devices-common.h> #include <linux/dma-mapping.h> #ifdef CONFIG_SOC_IMX23 const struct mxs_gpmi_nand_data mx23_gpmi_nand_data __initconst = { .devid = "imx23-gpmi-nand", .res = { /* */ DEFINE_RES_MEM_NAMED(MX23_GPMI_BASE_ADDR, SZ_8K, GPMI_NAND_GPMI_REGS_ADDR_RES_NAME), DEFINE_RES_IRQ_NAMED(MX23_INT_GPMI_ATTENTION, GPMI_NAND_GPMI_INTERRUPT_RES_NAME), /* */ DEFINE_RES_MEM_NAMED(MX23_BCH_BASE_ADDR, SZ_8K, GPMI_NAND_BCH_REGS_ADDR_RES_NAME), DEFINE_RES_IRQ_NAMED(MX23_INT_BCH, GPMI_NAND_BCH_INTERRUPT_RES_NAME), /* */ DEFINE_RES_NAMED(MX23_DMA_GPMI0, MX23_DMA_GPMI3 - MX23_DMA_GPMI0 + 1, GPMI_NAND_DMA_CHANNELS_RES_NAME, IORESOURCE_DMA), DEFINE_RES_IRQ_NAMED(MX23_INT_GPMI_DMA, GPMI_NAND_DMA_INTERRUPT_RES_NAME), }, }; #endif
static const struct spi_board_info spi_info[] __initconst = { { .modalias = "m25p80", .platform_data = &spi_flash_data, .mode = SPI_MODE_0 | SPI_TX_QUAD | SPI_RX_QUAD, .max_speed_hz = 30000000, .bus_num = 0, .chip_select = 0, }, }; /* QSPI resource */ static const struct resource qspi_resources[] __initconst = { DEFINE_RES_MEM(0xe6b10000, 0x1000), DEFINE_RES_IRQ_NAMED(gic_spi(184), "mux"), }; /* VIN */ static const struct resource vin_resources[] __initconst = { /* VIN0 */ DEFINE_RES_MEM(0xe6ef0000, 0x1000), DEFINE_RES_IRQ(gic_spi(188)), /* VIN1 */ DEFINE_RES_MEM(0xe6ef1000, 0x1000), DEFINE_RES_IRQ(gic_spi(189)), }; static void __init lager_add_vin_device(unsigned idx, struct rcar_vin_platform_data *pdata) {
.irqs = bxtwc_regmap_irqs_chgr, .num_irqs = ARRAY_SIZE(bxtwc_regmap_irqs_chgr), .num_regs = 2, }; static struct regmap_irq_chip bxtwc_regmap_irq_chip_crit = { .name = "bxtwc_irq_chip_crit", .status_base = BXTWC_CRITIRQ, .mask_base = BXTWC_MCRITIRQ, .irqs = bxtwc_regmap_irqs_crit, .num_irqs = ARRAY_SIZE(bxtwc_regmap_irqs_crit), .num_regs = 1, }; static struct resource gpio_resources[] = { DEFINE_RES_IRQ_NAMED(BXTWC_GPIO_LVL1_IRQ, "GPIO"), }; static struct resource adc_resources[] = { DEFINE_RES_IRQ_NAMED(BXTWC_ADC_IRQ, "ADC"), }; static struct resource usbc_resources[] = { DEFINE_RES_IRQ(BXTWC_USBC_IRQ), }; static struct resource charger_resources[] = { DEFINE_RES_IRQ_NAMED(BXTWC_CHGR0_IRQ, "CHARGER"), DEFINE_RES_IRQ_NAMED(BXTWC_CHGR1_IRQ, "CHARGER1"), };
.mask = DA9150_E_WKUP_MASK, }, }; static const struct regmap_irq_chip da9150_regmap_irq_chip = { .name = "da9150_irq", .status_base = DA9150_EVENT_E, .mask_base = DA9150_IRQ_MASK_E, .ack_base = DA9150_EVENT_E, .num_regs = DA9150_NUM_IRQ_REGS, .irqs = da9150_irqs, .num_irqs = ARRAY_SIZE(da9150_irqs), }; static struct resource da9150_gpadc_resources[] = { DEFINE_RES_IRQ_NAMED(DA9150_IRQ_GPADC, "GPADC"), }; static struct resource da9150_charger_resources[] = { DEFINE_RES_IRQ_NAMED(DA9150_IRQ_CHG, "CHG_STATUS"), DEFINE_RES_IRQ_NAMED(DA9150_IRQ_TJUNC, "CHG_TJUNC"), DEFINE_RES_IRQ_NAMED(DA9150_IRQ_VFAULT, "CHG_VFAULT"), DEFINE_RES_IRQ_NAMED(DA9150_IRQ_VBUS, "CHG_VBUS"), }; static struct resource da9150_fg_resources[] = { DEFINE_RES_IRQ_NAMED(DA9150_IRQ_FG, "FG"), }; enum da9150_dev_idx { DA9150_GPADC_IDX = 0,
MX28_LRADC_TRESH1_IRQ, MX28_LRADC_CH0_IRQ, MX28_LRADC_CH1_IRQ, MX28_LRADC_CH2_IRQ, MX28_LRADC_CH3_IRQ, MX28_LRADC_CH4_IRQ, MX28_LRADC_CH5_IRQ, MX28_LRADC_CH6_IRQ, MX28_LRADC_CH7_IRQ, MX28_LRADC_BUTTON0_IRQ, MX28_LRADC_BUTTON1_IRQ, }; static struct resource mx23_adc_resources[] = { DEFINE_RES_MEM(0x0, 0x0), DEFINE_RES_IRQ_NAMED(MX23_LRADC_CH0_IRQ, "mxs-lradc-channel0"), DEFINE_RES_IRQ_NAMED(MX23_LRADC_CH1_IRQ, "mxs-lradc-channel1"), DEFINE_RES_IRQ_NAMED(MX23_LRADC_CH2_IRQ, "mxs-lradc-channel2"), DEFINE_RES_IRQ_NAMED(MX23_LRADC_CH3_IRQ, "mxs-lradc-channel3"), DEFINE_RES_IRQ_NAMED(MX23_LRADC_CH4_IRQ, "mxs-lradc-channel4"), DEFINE_RES_IRQ_NAMED(MX23_LRADC_CH5_IRQ, "mxs-lradc-channel5"), }; static struct resource mx23_touchscreen_resources[] = { DEFINE_RES_MEM(0x0, 0x0), DEFINE_RES_IRQ_NAMED(MX23_LRADC_TS_IRQ, "mxs-lradc-touchscreen"), DEFINE_RES_IRQ_NAMED(MX23_LRADC_CH6_IRQ, "mxs-lradc-channel6"), DEFINE_RES_IRQ_NAMED(MX23_LRADC_CH7_IRQ, "mxs-lradc-channel7"), }; static struct resource mx28_adc_resources[] = {
DEFINE_RES_IRQ(143), }; static struct platform_device cmt_device = { .name = "sh-cmt-16", .id = 0, .dev = { .platform_data = &cmt_platform_data, }, .resource = cmt_resources, .num_resources = ARRAY_SIZE(cmt_resources), }; static struct resource mtu2_resources[] = { DEFINE_RES_MEM(0xfffe4000, 0x400), DEFINE_RES_IRQ_NAMED(146, "tgi0a"), DEFINE_RES_IRQ_NAMED(153, "tgi1a"), }; static struct platform_device mtu2_device = { .name = "sh-mtu2", .id = -1, .resource = mtu2_resources, .num_resources = ARRAY_SIZE(mtu2_resources), }; static struct resource rtc_resources[] = { [0] = { .start = 0xffff2000, .end = 0xffff2000 + 0x58 - 1, .flags = IORESOURCE_IO,