diff options
-rw-r--r-- | arch/arm/mach-pxa/devices.c | 26 | ||||
-rw-r--r-- | arch/arm/mach-pxa/devices.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa27x.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa3xx.c | 1 | ||||
-rw-r--r-- | include/asm-arm/arch-pxa/pxa27x_keypad.h | 2 |
5 files changed, 31 insertions, 1 deletions
diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c index bfccb80ac8ef..3665e242f1f9 100644 --- a/arch/arm/mach-pxa/devices.c +++ b/arch/arm/mach-pxa/devices.c | |||
@@ -11,6 +11,7 @@ | |||
11 | #include <asm/arch/irda.h> | 11 | #include <asm/arch/irda.h> |
12 | #include <asm/arch/i2c.h> | 12 | #include <asm/arch/i2c.h> |
13 | #include <asm/arch/ohci.h> | 13 | #include <asm/arch/ohci.h> |
14 | #include <asm/arch/pxa27x_keypad.h> | ||
14 | 15 | ||
15 | #include "devices.h" | 16 | #include "devices.h" |
16 | 17 | ||
@@ -396,6 +397,31 @@ struct platform_device pxa25x_device_assp = { | |||
396 | 397 | ||
397 | #if defined(CONFIG_PXA27x) || defined(CONFIG_PXA3xx) | 398 | #if defined(CONFIG_PXA27x) || defined(CONFIG_PXA3xx) |
398 | 399 | ||
400 | static struct resource pxa27x_resource_keypad[] = { | ||
401 | [0] = { | ||
402 | .start = 0x41500000, | ||
403 | .end = 0x4150004c, | ||
404 | .flags = IORESOURCE_MEM, | ||
405 | }, | ||
406 | [1] = { | ||
407 | .start = IRQ_KEYPAD, | ||
408 | .end = IRQ_KEYPAD, | ||
409 | .flags = IORESOURCE_IRQ, | ||
410 | }, | ||
411 | }; | ||
412 | |||
413 | struct platform_device pxa27x_device_keypad = { | ||
414 | .name = "pxa27x-keypad", | ||
415 | .id = -1, | ||
416 | .resource = pxa27x_resource_keypad, | ||
417 | .num_resources = ARRAY_SIZE(pxa27x_resource_keypad), | ||
418 | }; | ||
419 | |||
420 | void __init pxa_set_keypad_info(struct pxa27x_keypad_platform_data *info) | ||
421 | { | ||
422 | pxa_register_device(&pxa27x_device_keypad, info); | ||
423 | } | ||
424 | |||
399 | static u64 pxa27x_ohci_dma_mask = DMA_BIT_MASK(32); | 425 | static u64 pxa27x_ohci_dma_mask = DMA_BIT_MASK(32); |
400 | 426 | ||
401 | static struct resource pxa27x_resource_ohci[] = { | 427 | static struct resource pxa27x_resource_ohci[] = { |
diff --git a/arch/arm/mach-pxa/devices.h b/arch/arm/mach-pxa/devices.h index 96c7c8909068..fcab017f27ee 100644 --- a/arch/arm/mach-pxa/devices.h +++ b/arch/arm/mach-pxa/devices.h | |||
@@ -14,6 +14,7 @@ extern struct platform_device pxa_device_rtc; | |||
14 | 14 | ||
15 | extern struct platform_device pxa27x_device_i2c_power; | 15 | extern struct platform_device pxa27x_device_i2c_power; |
16 | extern struct platform_device pxa27x_device_ohci; | 16 | extern struct platform_device pxa27x_device_ohci; |
17 | extern struct platform_device pxa27x_device_keypad; | ||
17 | 18 | ||
18 | extern struct platform_device pxa25x_device_ssp; | 19 | extern struct platform_device pxa25x_device_ssp; |
19 | extern struct platform_device pxa25x_device_nssp; | 20 | extern struct platform_device pxa25x_device_nssp; |
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index b230af22ae05..f910fe57fcc1 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c | |||
@@ -152,7 +152,7 @@ static struct clk pxa27x_clks[] = { | |||
152 | 152 | ||
153 | INIT_CKEN("USBCLK", USBHOST, 48000000, 0, &pxa27x_device_ohci.dev), | 153 | INIT_CKEN("USBCLK", USBHOST, 48000000, 0, &pxa27x_device_ohci.dev), |
154 | INIT_CKEN("I2CCLK", PWRI2C, 13000000, 0, &pxa27x_device_i2c_power.dev), | 154 | INIT_CKEN("I2CCLK", PWRI2C, 13000000, 0, &pxa27x_device_i2c_power.dev), |
155 | INIT_CKEN("KBDCLK", KEYPAD, 32768, 0, NULL), | 155 | INIT_CKEN("KBDCLK", KEYPAD, 32768, 0, &pxa27x_device_keypad.dev), |
156 | 156 | ||
157 | INIT_CKEN("SSPCLK", SSP1, 13000000, 0, &pxa27x_device_ssp1.dev), | 157 | INIT_CKEN("SSPCLK", SSP1, 13000000, 0, &pxa27x_device_ssp1.dev), |
158 | INIT_CKEN("SSPCLK", SSP2, 13000000, 0, &pxa27x_device_ssp2.dev), | 158 | INIT_CKEN("SSPCLK", SSP2, 13000000, 0, &pxa27x_device_ssp2.dev), |
diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c index 85b1df3f69c9..dc8d5ee9f286 100644 --- a/arch/arm/mach-pxa/pxa3xx.c +++ b/arch/arm/mach-pxa/pxa3xx.c | |||
@@ -233,6 +233,7 @@ static struct clk pxa3xx_clks[] = { | |||
233 | PXA3xx_CKEN("I2CCLK", I2C, 32842000, 0, &pxa_device_i2c.dev), | 233 | PXA3xx_CKEN("I2CCLK", I2C, 32842000, 0, &pxa_device_i2c.dev), |
234 | PXA3xx_CKEN("UDCCLK", UDC, 48000000, 5, &pxa_device_udc.dev), | 234 | PXA3xx_CKEN("UDCCLK", UDC, 48000000, 5, &pxa_device_udc.dev), |
235 | PXA3xx_CKEN("USBCLK", USBH, 48000000, 0, &pxa27x_device_ohci.dev), | 235 | PXA3xx_CKEN("USBCLK", USBH, 48000000, 0, &pxa27x_device_ohci.dev), |
236 | PXA3xx_CKEN("KBDCLK", KEYPAD, 32768, 0, &pxa27x_device_keypad.dev), | ||
236 | 237 | ||
237 | PXA3xx_CKEN("SSPCLK", SSP1, 13000000, 0, &pxa27x_device_ssp1.dev), | 238 | PXA3xx_CKEN("SSPCLK", SSP1, 13000000, 0, &pxa27x_device_ssp1.dev), |
238 | PXA3xx_CKEN("SSPCLK", SSP2, 13000000, 0, &pxa27x_device_ssp2.dev), | 239 | PXA3xx_CKEN("SSPCLK", SSP2, 13000000, 0, &pxa27x_device_ssp2.dev), |
diff --git a/include/asm-arm/arch-pxa/pxa27x_keypad.h b/include/asm-arm/arch-pxa/pxa27x_keypad.h index 644f7609b523..d5a48a96dea7 100644 --- a/include/asm-arm/arch-pxa/pxa27x_keypad.h +++ b/include/asm-arm/arch-pxa/pxa27x_keypad.h | |||
@@ -53,4 +53,6 @@ struct pxa27x_keypad_platform_data { | |||
53 | 53 | ||
54 | #define KEY(row, col, val) (((row) << 28) | ((col) << 24) | (val)) | 54 | #define KEY(row, col, val) (((row) << 28) | ((col) << 24) | (val)) |
55 | 55 | ||
56 | extern void pxa_set_keypad_info(struct pxa27x_keypad_platform_data *info); | ||
57 | |||
56 | #endif /* __ASM_ARCH_PXA27x_KEYPAD_H */ | 58 | #endif /* __ASM_ARCH_PXA27x_KEYPAD_H */ |