diff options
author | Baruch Siach <baruch@tkos.co.il> | 2010-01-27 08:00:48 -0500 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2010-01-29 04:43:21 -0500 |
commit | dcbabbc1fce2c32e4cfe0e18a2651226a72ecaae (patch) | |
tree | 07282c982a6e6d756a76e754c22e7a7ed8812f3b /arch | |
parent | 4cb73288b195dc04c1f604c38bd4ebd2081db9fa (diff) |
mx25: add support for the DryIce rtc
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-mx25/clock.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-mx25/devices.c | 19 | ||||
-rw-r--r-- | arch/arm/mach-mx25/devices.h | 1 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/mx25.h | 2 |
4 files changed, 24 insertions, 0 deletions
diff --git a/arch/arm/mach-mx25/clock.c b/arch/arm/mach-mx25/clock.c index 6acc88bcdc40..744b52a613fc 100644 --- a/arch/arm/mach-mx25/clock.c +++ b/arch/arm/mach-mx25/clock.c | |||
@@ -182,6 +182,7 @@ DEFINE_CLOCK(kpp_clk, 0, CCM_CGCR1, 28, get_rate_ipg, NULL, NULL); | |||
182 | DEFINE_CLOCK(tsc_clk, 0, CCM_CGCR2, 13, get_rate_ipg, NULL, NULL); | 182 | DEFINE_CLOCK(tsc_clk, 0, CCM_CGCR2, 13, get_rate_ipg, NULL, NULL); |
183 | DEFINE_CLOCK(i2c_clk, 0, CCM_CGCR0, 6, get_rate_i2c, NULL, NULL); | 183 | DEFINE_CLOCK(i2c_clk, 0, CCM_CGCR0, 6, get_rate_i2c, NULL, NULL); |
184 | DEFINE_CLOCK(fec_clk, 0, CCM_CGCR1, 15, get_rate_ipg, NULL, &fec_ahb_clk); | 184 | DEFINE_CLOCK(fec_clk, 0, CCM_CGCR1, 15, get_rate_ipg, NULL, &fec_ahb_clk); |
185 | DEFINE_CLOCK(dryice_clk, 0, CCM_CGCR1, 8, get_rate_ipg, NULL, NULL); | ||
185 | 186 | ||
186 | #define _REGISTER_CLOCK(d, n, c) \ | 187 | #define _REGISTER_CLOCK(d, n, c) \ |
187 | { \ | 188 | { \ |
@@ -214,6 +215,7 @@ static struct clk_lookup lookups[] = { | |||
214 | _REGISTER_CLOCK("imx-i2c.1", NULL, i2c_clk) | 215 | _REGISTER_CLOCK("imx-i2c.1", NULL, i2c_clk) |
215 | _REGISTER_CLOCK("imx-i2c.2", NULL, i2c_clk) | 216 | _REGISTER_CLOCK("imx-i2c.2", NULL, i2c_clk) |
216 | _REGISTER_CLOCK("fec.0", NULL, fec_clk) | 217 | _REGISTER_CLOCK("fec.0", NULL, fec_clk) |
218 | _REGISTER_CLOCK("imxdi_rtc.0", NULL, dryice_clk) | ||
217 | }; | 219 | }; |
218 | 220 | ||
219 | int __init mx25_clocks_init(void) | 221 | int __init mx25_clocks_init(void) |
diff --git a/arch/arm/mach-mx25/devices.c b/arch/arm/mach-mx25/devices.c index dd4069725ef5..b0b75fc99058 100644 --- a/arch/arm/mach-mx25/devices.c +++ b/arch/arm/mach-mx25/devices.c | |||
@@ -458,3 +458,22 @@ struct platform_device mxc_nand_device = { | |||
458 | .num_resources = ARRAY_SIZE(mxc_nand_resources), | 458 | .num_resources = ARRAY_SIZE(mxc_nand_resources), |
459 | .resource = mxc_nand_resources, | 459 | .resource = mxc_nand_resources, |
460 | }; | 460 | }; |
461 | |||
462 | static struct resource mx25_rtc_resources[] = { | ||
463 | { | ||
464 | .start = MX25_DRYICE_BASE_ADDR, | ||
465 | .end = MX25_DRYICE_BASE_ADDR + 0x40, | ||
466 | .flags = IORESOURCE_MEM, | ||
467 | }, | ||
468 | { | ||
469 | .start = MX25_INT_DRYICE, | ||
470 | .flags = IORESOURCE_IRQ | ||
471 | }, | ||
472 | }; | ||
473 | |||
474 | struct platform_device mx25_rtc_device = { | ||
475 | .name = "imxdi_rtc", | ||
476 | .id = 0, | ||
477 | .num_resources = ARRAY_SIZE(mx25_rtc_resources), | ||
478 | .resource = mx25_rtc_resources, | ||
479 | }; | ||
diff --git a/arch/arm/mach-mx25/devices.h b/arch/arm/mach-mx25/devices.h index 8f5530062b43..37e6a0821447 100644 --- a/arch/arm/mach-mx25/devices.h +++ b/arch/arm/mach-mx25/devices.h | |||
@@ -19,3 +19,4 @@ extern struct platform_device mxc_i2c_device1; | |||
19 | extern struct platform_device mxc_i2c_device2; | 19 | extern struct platform_device mxc_i2c_device2; |
20 | extern struct platform_device mx25_fec_device; | 20 | extern struct platform_device mx25_fec_device; |
21 | extern struct platform_device mxc_nand_device; | 21 | extern struct platform_device mxc_nand_device; |
22 | extern struct platform_device mx25_rtc_device; | ||
diff --git a/arch/arm/plat-mxc/include/mach/mx25.h b/arch/arm/plat-mxc/include/mach/mx25.h index 021d208e86bc..61052a33979c 100644 --- a/arch/arm/plat-mxc/include/mach/mx25.h +++ b/arch/arm/plat-mxc/include/mach/mx25.h | |||
@@ -32,7 +32,9 @@ | |||
32 | 32 | ||
33 | #define MX25_FEC_BASE_ADDR 0x50038000 | 33 | #define MX25_FEC_BASE_ADDR 0x50038000 |
34 | #define MX25_NFC_BASE_ADDR 0xbb000000 | 34 | #define MX25_NFC_BASE_ADDR 0xbb000000 |
35 | #define MX25_DRYICE_BASE_ADDR 0x53ffc000 | ||
35 | 36 | ||
37 | #define MX25_INT_DRYICE 25 | ||
36 | #define MX25_INT_FEC 57 | 38 | #define MX25_INT_FEC 57 |
37 | #define MX25_INT_NANDFC 33 | 39 | #define MX25_INT_NANDFC 33 |
38 | 40 | ||