int mxs_mmc_hw_init_mmc0(void) { int ret = 0; mxs_request_pins(mx23evk_mmc_pins, ARRAY_SIZE(mx23evk_mmc_pins)); /* Configure write protect GPIO pin */ ret = gpio_request(MMC0_WP, "mmc0_wp"); if (ret) { pr_err("wp\n"); goto out_wp; } gpio_set_value(MMC0_WP, 0); gpio_direction_input(MMC0_WP); /* Configure POWER pin as gpio to drive power to MMC slot */ ret = gpio_request(MMC0_POWER, "mmc0_power"); if (ret) { pr_err("power\n"); goto out_power; } gpio_direction_output(MMC0_POWER, 0); mdelay(100); return 0; out_power: gpio_free(MMC0_WP); out_wp: mxs_release_pins(mx23evk_mmc_pins, ARRAY_SIZE(mx23evk_mmc_pins)); return ret; }
int mxs_spi_enc_pin_init(void) { unsigned gpio = MXS_PIN_TO_GPIO(PINID_SSP1_DATA1); mxs_request_pins(mx23evk_spi_pins, ARRAY_SIZE(mx23evk_spi_pins)); gpio_request(gpio, "ENC28J60_INTR"); gpio_direction_input(gpio); set_irq_type(gpio_to_irq(gpio), IRQ_TYPE_EDGE_FALLING); return 0; }
int msg2133_pin_init(void) { mxs_request_pins(msg2133_ts_pins, ARRAY_SIZE(msg2133_ts_pins)); #ifdef __hcit__ unsigned int irq_gpio = MXS_PIN_TO_GPIO(PINID_SSP1_DATA1); unsigned int reset_gpio = MXS_PIN_TO_GPIO(PINID_SSP1_DATA2); gpio_request(irq_gpio, "msg2133_irq"); gpio_request(reset_gpio, "msg2133_reset"); gpio_direction_output(reset_gpio, 0); gpio_direction_input(irq_gpio); printk ("%s: set_irq_type EDGE_FAILLING: irq_gpio: %d, to_irq: %d\n", __FUNCTION__, irq_gpio, gpio_to_irq(irq_gpio)); set_irq_type(gpio_to_irq(irq_gpio), IRQ_TYPE_EDGE_FALLING); #endif return 0; }
int mxs_spi_fpc1080_pin_init(void) { mxs_request_pins(mx23evk_spi_pins, ARRAY_SIZE(mx23evk_spi_pins)); mxs_request_pins(fpc1080_input_pins, ARRAY_SIZE(fpc1080_input_pins)); return 0; }
void __init mx23evk_pins_init(void) { mxs_request_pins(mx23evk_fixed_pins, ARRAY_SIZE(mx23evk_fixed_pins)); // mxs_request_pins(mx23evk_spi_pins, ARRAY_SIZE(mx23evk_spi_pins)); }