forked from luck/tmp_suning_uos_patched
[ARM] pxa: add pxa27x_keypad device and pxa_set_keypad_info()
also update the clk definitions in pxa27x and pxa3xx. Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
450d28749c
commit
3732098041
@ -11,6 +11,7 @@
|
|||||||
#include <asm/arch/irda.h>
|
#include <asm/arch/irda.h>
|
||||||
#include <asm/arch/i2c.h>
|
#include <asm/arch/i2c.h>
|
||||||
#include <asm/arch/ohci.h>
|
#include <asm/arch/ohci.h>
|
||||||
|
#include <asm/arch/pxa27x_keypad.h>
|
||||||
|
|
||||||
#include "devices.h"
|
#include "devices.h"
|
||||||
|
|
||||||
@ -396,6 +397,31 @@ struct platform_device pxa25x_device_assp = {
|
|||||||
|
|
||||||
#if defined(CONFIG_PXA27x) || defined(CONFIG_PXA3xx)
|
#if defined(CONFIG_PXA27x) || defined(CONFIG_PXA3xx)
|
||||||
|
|
||||||
|
static struct resource pxa27x_resource_keypad[] = {
|
||||||
|
[0] = {
|
||||||
|
.start = 0x41500000,
|
||||||
|
.end = 0x4150004c,
|
||||||
|
.flags = IORESOURCE_MEM,
|
||||||
|
},
|
||||||
|
[1] = {
|
||||||
|
.start = IRQ_KEYPAD,
|
||||||
|
.end = IRQ_KEYPAD,
|
||||||
|
.flags = IORESOURCE_IRQ,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
struct platform_device pxa27x_device_keypad = {
|
||||||
|
.name = "pxa27x-keypad",
|
||||||
|
.id = -1,
|
||||||
|
.resource = pxa27x_resource_keypad,
|
||||||
|
.num_resources = ARRAY_SIZE(pxa27x_resource_keypad),
|
||||||
|
};
|
||||||
|
|
||||||
|
void __init pxa_set_keypad_info(struct pxa27x_keypad_platform_data *info)
|
||||||
|
{
|
||||||
|
pxa_register_device(&pxa27x_device_keypad, info);
|
||||||
|
}
|
||||||
|
|
||||||
static u64 pxa27x_ohci_dma_mask = DMA_BIT_MASK(32);
|
static u64 pxa27x_ohci_dma_mask = DMA_BIT_MASK(32);
|
||||||
|
|
||||||
static struct resource pxa27x_resource_ohci[] = {
|
static struct resource pxa27x_resource_ohci[] = {
|
||||||
|
@ -14,6 +14,7 @@ extern struct platform_device pxa_device_rtc;
|
|||||||
|
|
||||||
extern struct platform_device pxa27x_device_i2c_power;
|
extern struct platform_device pxa27x_device_i2c_power;
|
||||||
extern struct platform_device pxa27x_device_ohci;
|
extern struct platform_device pxa27x_device_ohci;
|
||||||
|
extern struct platform_device pxa27x_device_keypad;
|
||||||
|
|
||||||
extern struct platform_device pxa25x_device_ssp;
|
extern struct platform_device pxa25x_device_ssp;
|
||||||
extern struct platform_device pxa25x_device_nssp;
|
extern struct platform_device pxa25x_device_nssp;
|
||||||
|
@ -152,7 +152,7 @@ static struct clk pxa27x_clks[] = {
|
|||||||
|
|
||||||
INIT_CKEN("USBCLK", USBHOST, 48000000, 0, &pxa27x_device_ohci.dev),
|
INIT_CKEN("USBCLK", USBHOST, 48000000, 0, &pxa27x_device_ohci.dev),
|
||||||
INIT_CKEN("I2CCLK", PWRI2C, 13000000, 0, &pxa27x_device_i2c_power.dev),
|
INIT_CKEN("I2CCLK", PWRI2C, 13000000, 0, &pxa27x_device_i2c_power.dev),
|
||||||
INIT_CKEN("KBDCLK", KEYPAD, 32768, 0, NULL),
|
INIT_CKEN("KBDCLK", KEYPAD, 32768, 0, &pxa27x_device_keypad.dev),
|
||||||
|
|
||||||
INIT_CKEN("SSPCLK", SSP1, 13000000, 0, &pxa27x_device_ssp1.dev),
|
INIT_CKEN("SSPCLK", SSP1, 13000000, 0, &pxa27x_device_ssp1.dev),
|
||||||
INIT_CKEN("SSPCLK", SSP2, 13000000, 0, &pxa27x_device_ssp2.dev),
|
INIT_CKEN("SSPCLK", SSP2, 13000000, 0, &pxa27x_device_ssp2.dev),
|
||||||
|
@ -233,6 +233,7 @@ static struct clk pxa3xx_clks[] = {
|
|||||||
PXA3xx_CKEN("I2CCLK", I2C, 32842000, 0, &pxa_device_i2c.dev),
|
PXA3xx_CKEN("I2CCLK", I2C, 32842000, 0, &pxa_device_i2c.dev),
|
||||||
PXA3xx_CKEN("UDCCLK", UDC, 48000000, 5, &pxa_device_udc.dev),
|
PXA3xx_CKEN("UDCCLK", UDC, 48000000, 5, &pxa_device_udc.dev),
|
||||||
PXA3xx_CKEN("USBCLK", USBH, 48000000, 0, &pxa27x_device_ohci.dev),
|
PXA3xx_CKEN("USBCLK", USBH, 48000000, 0, &pxa27x_device_ohci.dev),
|
||||||
|
PXA3xx_CKEN("KBDCLK", KEYPAD, 32768, 0, &pxa27x_device_keypad.dev),
|
||||||
|
|
||||||
PXA3xx_CKEN("SSPCLK", SSP1, 13000000, 0, &pxa27x_device_ssp1.dev),
|
PXA3xx_CKEN("SSPCLK", SSP1, 13000000, 0, &pxa27x_device_ssp1.dev),
|
||||||
PXA3xx_CKEN("SSPCLK", SSP2, 13000000, 0, &pxa27x_device_ssp2.dev),
|
PXA3xx_CKEN("SSPCLK", SSP2, 13000000, 0, &pxa27x_device_ssp2.dev),
|
||||||
|
@ -53,4 +53,6 @@ struct pxa27x_keypad_platform_data {
|
|||||||
|
|
||||||
#define KEY(row, col, val) (((row) << 28) | ((col) << 24) | (val))
|
#define KEY(row, col, val) (((row) << 28) | ((col) << 24) | (val))
|
||||||
|
|
||||||
|
extern void pxa_set_keypad_info(struct pxa27x_keypad_platform_data *info);
|
||||||
|
|
||||||
#endif /* __ASM_ARCH_PXA27x_KEYPAD_H */
|
#endif /* __ASM_ARCH_PXA27x_KEYPAD_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user