diff options
author | Eric Miao <eric.miao@marvell.com> | 2009-01-20 04:20:56 -0500 |
---|---|---|
committer | Eric Miao <eric.miao@marvell.com> | 2009-03-22 22:11:34 -0400 |
commit | a7a89d9621ba877ae45784cf7d000182075df9c1 (patch) | |
tree | a6baf058a43f72088750af59c3d78ee3f512a69d /arch/arm/mach-mmp/pxa168.c | |
parent | e2bb6650ef94c64723e2dd35ab92410b9477bc64 (diff) |
[ARM] pxa: add MFP support for pxa168
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Diffstat (limited to 'arch/arm/mach-mmp/pxa168.c')
-rw-r--r-- | arch/arm/mach-mmp/pxa168.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/mach-mmp/pxa168.c b/arch/arm/mach-mmp/pxa168.c index 1774682e988e..ae924468658c 100644 --- a/arch/arm/mach-mmp/pxa168.c +++ b/arch/arm/mach-mmp/pxa168.c | |||
@@ -23,10 +23,23 @@ | |||
23 | #include <mach/gpio.h> | 23 | #include <mach/gpio.h> |
24 | #include <mach/dma.h> | 24 | #include <mach/dma.h> |
25 | #include <mach/devices.h> | 25 | #include <mach/devices.h> |
26 | #include <mach/mfp.h> | ||
26 | 27 | ||
27 | #include "common.h" | 28 | #include "common.h" |
28 | #include "clock.h" | 29 | #include "clock.h" |
29 | 30 | ||
31 | #define MFPR_VIRT_BASE (APB_VIRT_BASE + 0x1e000) | ||
32 | |||
33 | static struct mfp_addr_map pxa168_mfp_addr_map[] __initdata = | ||
34 | { | ||
35 | MFP_ADDR_X(GPIO0, GPIO36, 0x04c), | ||
36 | MFP_ADDR_X(GPIO37, GPIO55, 0x000), | ||
37 | MFP_ADDR_X(GPIO56, GPIO123, 0x0e0), | ||
38 | MFP_ADDR_X(GPIO124, GPIO127, 0x0f4), | ||
39 | |||
40 | MFP_ADDR_END, | ||
41 | }; | ||
42 | |||
30 | #define APMASK(i) (GPIO_REGS_VIRT + BANK_OFF(i) + 0x09c) | 43 | #define APMASK(i) (GPIO_REGS_VIRT + BANK_OFF(i) + 0x09c) |
31 | 44 | ||
32 | static void __init pxa168_init_gpio(void) | 45 | static void __init pxa168_init_gpio(void) |
@@ -62,6 +75,8 @@ static struct clk_lookup pxa168_clkregs[] = { | |||
62 | static int __init pxa168_init(void) | 75 | static int __init pxa168_init(void) |
63 | { | 76 | { |
64 | if (cpu_is_pxa168()) { | 77 | if (cpu_is_pxa168()) { |
78 | mfp_init_base(MFPR_VIRT_BASE); | ||
79 | mfp_init_addr(pxa168_mfp_addr_map); | ||
65 | pxa_init_dma(IRQ_PXA168_DMA_INT0, 32); | 80 | pxa_init_dma(IRQ_PXA168_DMA_INT0, 32); |
66 | clks_register(ARRAY_AND_SIZE(pxa168_clkregs)); | 81 | clks_register(ARRAY_AND_SIZE(pxa168_clkregs)); |
67 | } | 82 | } |