diff options
Diffstat (limited to 'arch/arm/mach-pxa/poodle.c')
| -rw-r--r-- | arch/arm/mach-pxa/poodle.c | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c index ad6a13f95a62..eef3de26ad37 100644 --- a/arch/arm/mach-pxa/poodle.c +++ b/arch/arm/mach-pxa/poodle.c | |||
| @@ -65,6 +65,27 @@ struct platform_device poodle_scoop_device = { | |||
| 65 | .resource = poodle_scoop_resources, | 65 | .resource = poodle_scoop_resources, |
| 66 | }; | 66 | }; |
| 67 | 67 | ||
| 68 | static void poodle_pcmcia_init(void) | ||
| 69 | { | ||
| 70 | /* Setup default state of GPIO outputs | ||
| 71 | before we enable them as outputs. */ | ||
| 72 | GPSR(GPIO48_nPOE) = GPIO_bit(GPIO48_nPOE) | | ||
| 73 | GPIO_bit(GPIO49_nPWE) | GPIO_bit(GPIO50_nPIOR) | | ||
| 74 | GPIO_bit(GPIO51_nPIOW) | GPIO_bit(GPIO52_nPCE_1) | | ||
| 75 | GPIO_bit(GPIO53_nPCE_2); | ||
| 76 | |||
| 77 | pxa_gpio_mode(GPIO48_nPOE_MD); | ||
| 78 | pxa_gpio_mode(GPIO49_nPWE_MD); | ||
| 79 | pxa_gpio_mode(GPIO50_nPIOR_MD); | ||
| 80 | pxa_gpio_mode(GPIO51_nPIOW_MD); | ||
| 81 | pxa_gpio_mode(GPIO55_nPREG_MD); | ||
| 82 | pxa_gpio_mode(GPIO56_nPWAIT_MD); | ||
| 83 | pxa_gpio_mode(GPIO57_nIOIS16_MD); | ||
| 84 | pxa_gpio_mode(GPIO52_nPCE_1_MD); | ||
| 85 | pxa_gpio_mode(GPIO53_nPCE_2_MD); | ||
| 86 | pxa_gpio_mode(GPIO54_pSKTSEL_MD); | ||
| 87 | } | ||
| 88 | |||
| 68 | static struct scoop_pcmcia_dev poodle_pcmcia_scoop[] = { | 89 | static struct scoop_pcmcia_dev poodle_pcmcia_scoop[] = { |
| 69 | { | 90 | { |
| 70 | .dev = &poodle_scoop_device.dev, | 91 | .dev = &poodle_scoop_device.dev, |
| @@ -74,6 +95,14 @@ static struct scoop_pcmcia_dev poodle_pcmcia_scoop[] = { | |||
| 74 | }, | 95 | }, |
| 75 | }; | 96 | }; |
| 76 | 97 | ||
| 98 | static struct scoop_pcmcia_config poodle_pcmcia_config = { | ||
| 99 | .devs = &poodle_pcmcia_scoop[0], | ||
| 100 | .num_devs = 1, | ||
| 101 | .pcmcia_init = poodle_pcmcia_init, | ||
| 102 | }; | ||
| 103 | |||
| 104 | EXPORT_SYMBOL(poodle_scoop_device); | ||
| 105 | |||
| 77 | 106 | ||
| 78 | /* LoCoMo device */ | 107 | /* LoCoMo device */ |
| 79 | static struct resource locomo_resources[] = { | 108 | static struct resource locomo_resources[] = { |
| @@ -268,8 +297,7 @@ static void __init poodle_init(void) | |||
| 268 | pxa_set_mci_info(&poodle_mci_platform_data); | 297 | pxa_set_mci_info(&poodle_mci_platform_data); |
| 269 | pxa_set_ficp_info(&poodle_ficp_platform_data); | 298 | pxa_set_ficp_info(&poodle_ficp_platform_data); |
| 270 | 299 | ||
| 271 | scoop_num = 1; | 300 | platform_scoop_config = &poodle_pcmcia_config; |
| 272 | scoop_devs = &poodle_pcmcia_scoop[0]; | ||
| 273 | 301 | ||
| 274 | ret = platform_add_devices(devices, ARRAY_SIZE(devices)); | 302 | ret = platform_add_devices(devices, ARRAY_SIZE(devices)); |
| 275 | if (ret) { | 303 | if (ret) { |
