aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mmp/pxa910.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-mmp/pxa910.c')
-rw-r--r--arch/arm/mach-mmp/pxa910.c28
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);
92static APBC_CLK(pwm3, PXA910_PWM3, 1, 13000000); 92static APBC_CLK(pwm3, PXA910_PWM3, 1, 13000000);
93static APBC_CLK(pwm4, PXA910_PWM4, 1, 13000000); 93static APBC_CLK(pwm4, PXA910_PWM4, 1, 13000000);
94static APBC_CLK(gpio, PXA910_GPIO, 0, 13000000); 94static APBC_CLK(gpio, PXA910_GPIO, 0, 13000000);
95static APBC_CLK(rtc, PXA910_RTC, 8, 32768);
95 96
96static APMU_CLK(nand, NAND, 0x19b, 156000000); 97static APMU_CLK(nand, NAND, 0x19b, 156000000);
97static APMU_CLK(u2o, USB, 0x1b, 480000000); 98static 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
114static int __init pxa910_init(void) 116static 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
190static 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
208struct 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};