diff options
Diffstat (limited to 'arch/arm/mach-pxa/colibri-pxa270.c')
-rw-r--r-- | arch/arm/mach-pxa/colibri-pxa270.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/arch/arm/mach-pxa/colibri-pxa270.c b/arch/arm/mach-pxa/colibri-pxa270.c index 2f2cd2ae4187..3dcc122c1021 100644 --- a/arch/arm/mach-pxa/colibri-pxa270.c +++ b/arch/arm/mach-pxa/colibri-pxa270.c @@ -6,7 +6,7 @@ * Daniel Mack <daniel@caiaq.de> * Marek Vasut <marek.vasut@gmail.com> */ - +#include <linux/gpio/machine.h> #include <linux/init.h> #include <linux/interrupt.h> #include <linux/moduleparam.h> @@ -76,8 +76,29 @@ static mfp_cfg_t colibri_pxa270_evalboard_pin_config[] __initdata = { GPIO117_I2C_SCL, GPIO118_I2C_SDA, }; + +static struct gpiod_lookup_table colibri_pxa270_pcmcia_gpio_table = { + .dev_id = "pxa2xx-pcmcia", + .table = { + GPIO_LOOKUP("GPIO", 1, "ready", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("GPIO", 53, "reset", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("GPIO", 82, "bvd2", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("GPIO", 83, "bvd1", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("GPIO", 84, "detect", GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("GPIO", 107, "ppen", GPIO_ACTIVE_HIGH), + { }, + }, +}; + +static void colibri_pxa270_init_pcmcia(void) +{ + gpiod_add_lookup_table(&colibri_pxa270_pcmcia_gpio_table); +} #else static mfp_cfg_t colibri_pxa270_evalboard_pin_config[] __initdata = {}; +static void colibri_pxa270_init_pcmcia(void) +{ +} #endif #ifdef CONFIG_MACH_COLIBRI_PXA270_INCOME @@ -282,6 +303,7 @@ static void __init colibri_pxa270_init(void) case COLIBRI_EVALBOARD: pxa2xx_mfp_config(ARRAY_AND_SIZE( colibri_pxa270_evalboard_pin_config)); + colibri_pxa270_init_pcmcia(); colibri_evalboard_init(); break; case COLIBRI_PXA270_INCOME: |