diff options
| -rw-r--r-- | arch/arm/mach-pxa/idp.c | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/arch/arm/mach-pxa/idp.c b/arch/arm/mach-pxa/idp.c index 5aa0270d5605..7289363be47f 100644 --- a/arch/arm/mach-pxa/idp.c +++ b/arch/arm/mach-pxa/idp.c | |||
| @@ -32,7 +32,7 @@ | |||
| 32 | #include <asm/mach/map.h> | 32 | #include <asm/mach/map.h> |
| 33 | 33 | ||
| 34 | #include <mach/pxa-regs.h> | 34 | #include <mach/pxa-regs.h> |
| 35 | #include <mach/pxa2xx-gpio.h> | 35 | #include <mach/mfp-pxa25x.h> |
| 36 | #include <mach/idp.h> | 36 | #include <mach/idp.h> |
| 37 | #include <mach/pxafb.h> | 37 | #include <mach/pxafb.h> |
| 38 | #include <mach/bitfield.h> | 38 | #include <mach/bitfield.h> |
| @@ -46,6 +46,26 @@ | |||
| 46 | * - Ethernet interrupt | 46 | * - Ethernet interrupt |
| 47 | */ | 47 | */ |
| 48 | 48 | ||
| 49 | static unsigned long idp_pin_config[] __initdata = { | ||
| 50 | /* BTUART */ | ||
| 51 | GPIO42_BTUART_RXD, | ||
| 52 | GPIO43_BTUART_TXD, | ||
| 53 | GPIO44_BTUART_CTS, | ||
| 54 | GPIO45_BTUART_RTS, | ||
| 55 | |||
| 56 | /* STUART */ | ||
| 57 | GPIO46_STUART_RXD, | ||
| 58 | GPIO47_STUART_TXD, | ||
| 59 | |||
| 60 | /* MMC */ | ||
| 61 | GPIO6_MMC_CLK, | ||
| 62 | GPIO8_MMC_CS0, | ||
| 63 | |||
| 64 | /* Ethernet */ | ||
| 65 | GPIO33_nCS_5, /* Ethernet CS */ | ||
| 66 | GPIO4_GPIO, /* Ethernet IRQ */ | ||
| 67 | }; | ||
| 68 | |||
| 49 | static struct resource smc91x_resources[] = { | 69 | static struct resource smc91x_resources[] = { |
| 50 | [0] = { | 70 | [0] = { |
| 51 | .start = (IDP_ETH_PHYS + 0x300), | 71 | .start = (IDP_ETH_PHYS + 0x300), |
| @@ -127,24 +147,16 @@ static struct pxafb_mach_info sharp_lm8v31 = { | |||
| 127 | .pxafb_lcd_power = &idp_lcd_power | 147 | .pxafb_lcd_power = &idp_lcd_power |
| 128 | }; | 148 | }; |
| 129 | 149 | ||
| 130 | static int idp_mci_init(struct device *dev, irq_handler_t idp_detect_int, void *data) | ||
| 131 | { | ||
| 132 | /* setup GPIO for PXA25x MMC controller */ | ||
| 133 | pxa_gpio_mode(GPIO6_MMCCLK_MD); | ||
| 134 | pxa_gpio_mode(GPIO8_MMCCS0_MD); | ||
| 135 | |||
| 136 | return 0; | ||
| 137 | } | ||
| 138 | |||
| 139 | static struct pxamci_platform_data idp_mci_platform_data = { | 150 | static struct pxamci_platform_data idp_mci_platform_data = { |
| 140 | .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34, | 151 | .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34, |
| 141 | .init = idp_mci_init, | ||
| 142 | }; | 152 | }; |
| 143 | 153 | ||
| 144 | static void __init idp_init(void) | 154 | static void __init idp_init(void) |
| 145 | { | 155 | { |
| 146 | printk("idp_init()\n"); | 156 | printk("idp_init()\n"); |
| 147 | 157 | ||
| 158 | pxa2xx_mfp_config(ARRAY_AND_SIZE(idp_pin_config)); | ||
| 159 | |||
| 148 | platform_device_register(&smc91x_device); | 160 | platform_device_register(&smc91x_device); |
| 149 | //platform_device_register(&mst_audio_device); | 161 | //platform_device_register(&mst_audio_device); |
| 150 | set_pxa_fb_info(&sharp_lm8v31); | 162 | set_pxa_fb_info(&sharp_lm8v31); |
| @@ -177,15 +189,6 @@ static void __init idp_map_io(void) | |||
| 177 | { | 189 | { |
| 178 | pxa_map_io(); | 190 | pxa_map_io(); |
| 179 | iotable_init(idp_io_desc, ARRAY_SIZE(idp_io_desc)); | 191 | iotable_init(idp_io_desc, ARRAY_SIZE(idp_io_desc)); |
| 180 | |||
| 181 | // serial ports 2 & 3 | ||
| 182 | pxa_gpio_mode(GPIO42_BTRXD_MD); | ||
| 183 | pxa_gpio_mode(GPIO43_BTTXD_MD); | ||
| 184 | pxa_gpio_mode(GPIO44_BTCTS_MD); | ||
| 185 | pxa_gpio_mode(GPIO45_BTRTS_MD); | ||
| 186 | pxa_gpio_mode(GPIO46_STRXD_MD); | ||
| 187 | pxa_gpio_mode(GPIO47_STTXD_MD); | ||
| 188 | |||
| 189 | } | 192 | } |
| 190 | 193 | ||
| 191 | 194 | ||
