diff options
author | Haojian Zhuang <haojian.zhuang@marvell.com> | 2011-10-17 09:26:55 -0400 |
---|---|---|
committer | Haojian Zhuang <hzhuang1@hexinfolabs.org> | 2011-11-15 06:09:36 -0500 |
commit | 389eda15e0f41112d7c44213b3c4f8bd1c9398bc (patch) | |
tree | d35d07f3d5f1104d6f0ed3dc95a6ded7de72a270 /arch/arm/mach-mmp/pxa910.c | |
parent | be24168f144122b3730beab257fa058745d14cb4 (diff) |
ARM: pxa: add clk support in gpio driver
Support clk in gpio driver. There's no gpio clock in PXA25x and PXA27x.
So use dummy clk instead. And move the gpio edge initialization into
gpio driver for arch-mmp.
Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
Diffstat (limited to 'arch/arm/mach-mmp/pxa910.c')
-rw-r--r-- | arch/arm/mach-mmp/pxa910.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/arch/arm/mach-mmp/pxa910.c b/arch/arm/mach-mmp/pxa910.c index 7b992ced095c..3241a25784d0 100644 --- a/arch/arm/mach-mmp/pxa910.c +++ b/arch/arm/mach-mmp/pxa910.c | |||
@@ -77,18 +77,9 @@ static struct mfp_addr_map pxa910_mfp_addr_map[] __initdata = | |||
77 | MFP_ADDR_END, | 77 | MFP_ADDR_END, |
78 | }; | 78 | }; |
79 | 79 | ||
80 | static void __init pxa910_init_gpio(void) | ||
81 | { | ||
82 | int i; | ||
83 | |||
84 | /* enable GPIO clock */ | ||
85 | __raw_writel(APBC_APBCLK | APBC_FNCLK, APBC_PXA910_GPIO); | ||
86 | } | ||
87 | |||
88 | void __init pxa910_init_irq(void) | 80 | void __init pxa910_init_irq(void) |
89 | { | 81 | { |
90 | icu_init_irq(); | 82 | icu_init_irq(); |
91 | pxa910_init_gpio(); | ||
92 | } | 83 | } |
93 | 84 | ||
94 | /* APB peripheral clocks */ | 85 | /* APB peripheral clocks */ |
@@ -100,6 +91,7 @@ static APBC_CLK(pwm1, PXA910_PWM1, 1, 13000000); | |||
100 | static APBC_CLK(pwm2, PXA910_PWM2, 1, 13000000); | 91 | static APBC_CLK(pwm2, PXA910_PWM2, 1, 13000000); |
101 | static APBC_CLK(pwm3, PXA910_PWM3, 1, 13000000); | 92 | static APBC_CLK(pwm3, PXA910_PWM3, 1, 13000000); |
102 | static APBC_CLK(pwm4, PXA910_PWM4, 1, 13000000); | 93 | static APBC_CLK(pwm4, PXA910_PWM4, 1, 13000000); |
94 | static APBC_CLK(gpio, PXA910_GPIO, 0, 13000000); | ||
103 | 95 | ||
104 | static APMU_CLK(nand, NAND, 0x19b, 156000000); | 96 | static APMU_CLK(nand, NAND, 0x19b, 156000000); |
105 | static APMU_CLK(u2o, USB, 0x1b, 480000000); | 97 | static APMU_CLK(u2o, USB, 0x1b, 480000000); |
@@ -115,6 +107,7 @@ static struct clk_lookup pxa910_clkregs[] = { | |||
115 | INIT_CLKREG(&clk_pwm3, "pxa910-pwm.2", NULL), | 107 | INIT_CLKREG(&clk_pwm3, "pxa910-pwm.2", NULL), |
116 | INIT_CLKREG(&clk_pwm4, "pxa910-pwm.3", NULL), | 108 | INIT_CLKREG(&clk_pwm4, "pxa910-pwm.3", NULL), |
117 | INIT_CLKREG(&clk_nand, "pxa3xx-nand", NULL), | 109 | INIT_CLKREG(&clk_nand, "pxa3xx-nand", NULL), |
110 | INIT_CLKREG(&clk_gpio, "pxa-gpio", NULL), | ||
118 | INIT_CLKREG(&clk_u2o, "pxa-u2o", "U2OCLK"), | 111 | INIT_CLKREG(&clk_u2o, "pxa-u2o", "U2OCLK"), |
119 | }; | 112 | }; |
120 | 113 | ||