diff options
Diffstat (limited to 'arch/arm/mach-mmp/pxa910.c')
-rw-r--r-- | arch/arm/mach-mmp/pxa910.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/arch/arm/mach-mmp/pxa910.c b/arch/arm/mach-mmp/pxa910.c index 3241a25784d0..43f8bcc29b67 100644 --- a/arch/arm/mach-mmp/pxa910.c +++ b/arch/arm/mach-mmp/pxa910.c | |||
@@ -92,6 +92,7 @@ static APBC_CLK(pwm2, PXA910_PWM2, 1, 13000000); | |||
92 | static APBC_CLK(pwm3, PXA910_PWM3, 1, 13000000); | 92 | static APBC_CLK(pwm3, PXA910_PWM3, 1, 13000000); |
93 | 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); | 94 | static APBC_CLK(gpio, PXA910_GPIO, 0, 13000000); |
95 | static APBC_CLK(rtc, PXA910_RTC, 8, 32768); | ||
95 | 96 | ||
96 | static APMU_CLK(nand, NAND, 0x19b, 156000000); | 97 | static APMU_CLK(nand, NAND, 0x19b, 156000000); |
97 | static APMU_CLK(u2o, USB, 0x1b, 480000000); | 98 | static APMU_CLK(u2o, USB, 0x1b, 480000000); |
@@ -109,6 +110,7 @@ static struct clk_lookup pxa910_clkregs[] = { | |||
109 | INIT_CLKREG(&clk_nand, "pxa3xx-nand", NULL), | 110 | INIT_CLKREG(&clk_nand, "pxa3xx-nand", NULL), |
110 | INIT_CLKREG(&clk_gpio, "pxa-gpio", NULL), | 111 | INIT_CLKREG(&clk_gpio, "pxa-gpio", NULL), |
111 | INIT_CLKREG(&clk_u2o, "pxa-u2o", "U2OCLK"), | 112 | INIT_CLKREG(&clk_u2o, "pxa-u2o", "U2OCLK"), |
113 | INIT_CLKREG(&clk_rtc, "sa1100-rtc", NULL), | ||
112 | }; | 114 | }; |
113 | 115 | ||
114 | static int __init pxa910_init(void) | 116 | static int __init pxa910_init(void) |
@@ -173,6 +175,7 @@ struct resource pxa910_resource_gpio[] = { | |||
173 | }, { | 175 | }, { |
174 | .start = IRQ_PXA910_AP_GPIO, | 176 | .start = IRQ_PXA910_AP_GPIO, |
175 | .end = IRQ_PXA910_AP_GPIO, | 177 | .end = IRQ_PXA910_AP_GPIO, |
178 | .name = "gpio_mux", | ||
176 | .flags = IORESOURCE_IRQ, | 179 | .flags = IORESOURCE_IRQ, |
177 | }, | 180 | }, |
178 | }; | 181 | }; |
@@ -183,3 +186,28 @@ struct platform_device pxa910_device_gpio = { | |||
183 | .num_resources = ARRAY_SIZE(pxa910_resource_gpio), | 186 | .num_resources = ARRAY_SIZE(pxa910_resource_gpio), |
184 | .resource = pxa910_resource_gpio, | 187 | .resource = pxa910_resource_gpio, |
185 | }; | 188 | }; |
189 | |||
190 | static struct resource pxa910_resource_rtc[] = { | ||
191 | { | ||
192 | .start = 0xd4010000, | ||
193 | .end = 0xd401003f, | ||
194 | .flags = IORESOURCE_MEM, | ||
195 | }, { | ||
196 | .start = IRQ_PXA910_RTC_INT, | ||
197 | .end = IRQ_PXA910_RTC_INT, | ||
198 | .name = "rtc 1Hz", | ||
199 | .flags = IORESOURCE_IRQ, | ||
200 | }, { | ||
201 | .start = IRQ_PXA910_RTC_ALARM, | ||
202 | .end = IRQ_PXA910_RTC_ALARM, | ||
203 | .name = "rtc alarm", | ||
204 | .flags = IORESOURCE_IRQ, | ||
205 | }, | ||
206 | }; | ||
207 | |||
208 | struct platform_device pxa910_device_rtc = { | ||
209 | .name = "sa1100-rtc", | ||
210 | .id = -1, | ||
211 | .num_resources = ARRAY_SIZE(pxa910_resource_rtc), | ||
212 | .resource = pxa910_resource_rtc, | ||
213 | }; | ||