static void imx_gpiob_demux_handler(unsigned int irq_unused, struct irq_desc *desc) { unsigned int mask, irq; mask = ISR(1); irq = IRQ_GPIOB(0); imx_gpio_handler(mask, irq, desc); }
}, }; static struct mc13xxx_platform_data pcm038_pmic = { .regulators = { .regulators = pcm038_regulators, .num_regulators = ARRAY_SIZE(pcm038_regulators), }, .flags = MC13783_USE_ADC | MC13783_USE_REGULATOR | MC13783_USE_TOUCHSCREEN, }; static struct spi_board_info pcm038_spi_board_info[] __initdata = { { .modalias = "mc13783", .irq = IRQ_GPIOB(23), .max_speed_hz = 300000, .bus_num = 0, .chip_select = 0, .platform_data = &pcm038_pmic, .mode = SPI_CS_HIGH, } }; static int pcm038_usbh2_init(struct platform_device *pdev) { return mx27_initialize_usb_hw(pdev->id, MXC_EHCI_POWER_PINS_ENABLED | MXC_EHCI_INTERFACE_DIFF_UNI); } static const struct mxc_usbh_platform_data usbh2_pdata __initconst = {
static struct imxi2c_platform_data eukrea_cpuimx27_i2c_1_data = { .bitrate = 100000, }; static struct i2c_board_info eukrea_cpuimx27_i2c_devices[] = { { I2C_BOARD_INFO("pcf8563", 0x51), }, }; #if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE) static struct plat_serial8250_port serial_platform_data[] = { { .mapbase = (unsigned long)(MX27_CS3_BASE_ADDR + 0x200000), .irq = IRQ_GPIOB(23), .uartclk = 14745600, .regshift = 1, .iotype = UPIO_MEM, .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP, }, { .mapbase = (unsigned long)(MX27_CS3_BASE_ADDR + 0x400000), .irq = IRQ_GPIOB(22), .uartclk = 14745600, .regshift = 1, .iotype = UPIO_MEM, .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP, }, { .mapbase = (unsigned long)(MX27_CS3_BASE_ADDR + 0x800000), .irq = IRQ_GPIOB(27), .uartclk = 14745600,
static void mx27ads_sdhc2_exit(struct device *dev, void *data) { free_irq(IRQ_GPIOB(7), data); }
static int mx27ads_sdhc2_init(struct device *dev, irq_handler_t detect_irq, void *data) { return request_irq(IRQ_GPIOB(7), detect_irq, IRQF_TRIGGER_RISING, "sdhc2-card-detect", data); }
static struct dm9000_plat_data dm9000_setup = { .flags = DM9000_PLATF_16BITONLY }; static struct resource dm9000_resources[] = { { .start = MX1_CS4_PHYS + 0x00C00000, .end = MX1_CS4_PHYS + 0x00C00001, .flags = IORESOURCE_MEM, }, { .start = MX1_CS4_PHYS + 0x00C00002, .end = MX1_CS4_PHYS + 0x00C00003, .flags = IORESOURCE_MEM, }, { .start = IRQ_GPIOB(14), .end = IRQ_GPIOB(14), .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL, }, }; static struct platform_device dm9000x_device = { .name = "dm9000", .id = 0, .num_resources = ARRAY_SIZE(dm9000_resources), .resource = dm9000_resources, .dev = { .platform_data = &dm9000_setup, } };
static void mx27_3ds_sdhc1_exit(struct device *dev, void *data) { free_irq(IRQ_GPIOB(26), data); }
static int mx27_3ds_sdhc1_init(struct device *dev, irq_handler_t detect_irq, void *data) { return request_irq(IRQ_GPIOB(26), detect_irq, IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING, "sdhc1-card-detect", data); }