diff options
| author | Dirk Opfer <dirk@opfer-online.de> | 2005-11-08 14:15:50 -0500 |
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-11-08 14:15:50 -0500 |
| commit | 4c18ad20493c9eac6e7d0c2a05156acfc02d9b6b (patch) | |
| tree | d5c2d29082678b5ad87e83700e1cbac04afc2749 | |
| parent | a63ae4427c6af66d6eda26e5da8fed53f8fbede3 (diff) | |
[ARM] 3124/1: Sharp SL-6000x: SharpSL PCMCIA Updates
Patch from Dirk Opfer
This patch updates the tosa machine to use the new SharpSL PCMCIA layer introduced with Patch #3093/1
Depends on #3093/1
Signed-off-by: Dirk Opfer <Dirk@Opfer-Online.de>
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| -rw-r--r-- | arch/arm/mach-pxa/tosa.c | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c index f3e01891e851..c312054dfb88 100644 --- a/arch/arm/mach-pxa/tosa.c +++ b/arch/arm/mach-pxa/tosa.c | |||
| @@ -98,6 +98,9 @@ struct platform_device tosascoop_jc_device = { | |||
| 98 | .resource = tosa_scoop_jc_resources, | 98 | .resource = tosa_scoop_jc_resources, |
| 99 | }; | 99 | }; |
| 100 | 100 | ||
| 101 | /* | ||
| 102 | * PCMCIA | ||
| 103 | */ | ||
| 101 | static struct scoop_pcmcia_dev tosa_pcmcia_scoop[] = { | 104 | static struct scoop_pcmcia_dev tosa_pcmcia_scoop[] = { |
| 102 | { | 105 | { |
| 103 | .dev = &tosascoop_device.dev, | 106 | .dev = &tosascoop_device.dev, |
| @@ -111,6 +114,33 @@ static struct scoop_pcmcia_dev tosa_pcmcia_scoop[] = { | |||
| 111 | }, | 114 | }, |
| 112 | }; | 115 | }; |
| 113 | 116 | ||
| 117 | static void tosa_pcmcia_init(void) | ||
| 118 | { | ||
| 119 | /* Setup default state of GPIO outputs | ||
| 120 | before we enable them as outputs. */ | ||
| 121 | GPSR(GPIO48_nPOE) = GPIO_bit(GPIO48_nPOE) | | ||
| 122 | GPIO_bit(GPIO49_nPWE) | GPIO_bit(GPIO50_nPIOR) | | ||
| 123 | GPIO_bit(GPIO51_nPIOW) | GPIO_bit(GPIO52_nPCE_1) | | ||
| 124 | GPIO_bit(GPIO53_nPCE_2); | ||
| 125 | |||
| 126 | pxa_gpio_mode(GPIO48_nPOE_MD); | ||
| 127 | pxa_gpio_mode(GPIO49_nPWE_MD); | ||
| 128 | pxa_gpio_mode(GPIO50_nPIOR_MD); | ||
| 129 | pxa_gpio_mode(GPIO51_nPIOW_MD); | ||
| 130 | pxa_gpio_mode(GPIO55_nPREG_MD); | ||
| 131 | pxa_gpio_mode(GPIO56_nPWAIT_MD); | ||
| 132 | pxa_gpio_mode(GPIO57_nIOIS16_MD); | ||
| 133 | pxa_gpio_mode(GPIO52_nPCE_1_MD); | ||
| 134 | pxa_gpio_mode(GPIO53_nPCE_2_MD); | ||
| 135 | pxa_gpio_mode(GPIO54_pSKTSEL_MD); | ||
| 136 | } | ||
| 137 | |||
| 138 | static struct scoop_pcmcia_config tosa_pcmcia_config = { | ||
| 139 | .devs = &tosa_pcmcia_scoop[0], | ||
| 140 | .num_devs = 2, | ||
| 141 | .pcmcia_init = tosa_pcmcia_init, | ||
| 142 | }; | ||
| 143 | |||
| 114 | /* | 144 | /* |
| 115 | * USB Device Controller | 145 | * USB Device Controller |
| 116 | */ | 146 | */ |
| @@ -249,10 +279,9 @@ static void __init tosa_init(void) | |||
| 249 | pxa_set_mci_info(&tosa_mci_platform_data); | 279 | pxa_set_mci_info(&tosa_mci_platform_data); |
| 250 | pxa_set_udc_info(&udc_info); | 280 | pxa_set_udc_info(&udc_info); |
| 251 | pxa_set_ficp_info(&tosa_ficp_platform_data); | 281 | pxa_set_ficp_info(&tosa_ficp_platform_data); |
| 252 | platform_add_devices(devices, ARRAY_SIZE(devices)); | 282 | platform_scoop_config = &tosa_pcmcia_config; |
| 253 | 283 | ||
| 254 | scoop_num = 2; | 284 | platform_add_devices(devices, ARRAY_SIZE(devices)); |
| 255 | scoop_devs = &tosa_pcmcia_scoop[0]; | ||
| 256 | } | 285 | } |
| 257 | 286 | ||
| 258 | static void __init fixup_tosa(struct machine_desc *desc, | 287 | static void __init fixup_tosa(struct machine_desc *desc, |
