diff options
author | Thomas Bogendoerfer <tsbogend@alpha.franken.de> | 2007-06-20 17:36:47 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-07-10 12:33:03 -0400 |
commit | 06cf5583fd9ac782cf34996cdabb48afdf478e37 (patch) | |
tree | 45e27ae328e9e3f021a29cc8e8b95d3bef618255 /arch/mips/sni/rm200.c | |
parent | 68bc00e31143ad8bfa435425e0a11e9b3998911d (diff) |
[MIPS] SNI RM updates
- use RTC_CLASS instead of GEN_RTC
- get rid of ds1216 in favour of a RTC_CLASS driver
- use correct console device for older RM400
- use physical addresses for 82596 device
- use 128 byte L1 cache line size (this is needed because most of the
SNI caches are using 128 L2 cache lines)
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/sni/rm200.c')
-rw-r--r-- | arch/mips/sni/rm200.c | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/arch/mips/sni/rm200.c b/arch/mips/sni/rm200.c index b82ff129f5ea..4bfda020fdc7 100644 --- a/arch/mips/sni/rm200.c +++ b/arch/mips/sni/rm200.c | |||
@@ -15,7 +15,6 @@ | |||
15 | 15 | ||
16 | #include <asm/sni.h> | 16 | #include <asm/sni.h> |
17 | #include <asm/time.h> | 17 | #include <asm/time.h> |
18 | #include <asm/ds1216.h> | ||
19 | #include <asm/irq_cpu.h> | 18 | #include <asm/irq_cpu.h> |
20 | 19 | ||
21 | #define PORT(_base,_irq) \ | 20 | #define PORT(_base,_irq) \ |
@@ -41,20 +40,34 @@ static struct platform_device rm200_serial8250_device = { | |||
41 | }, | 40 | }, |
42 | }; | 41 | }; |
43 | 42 | ||
43 | static struct resource rm200_ds1216_rsrc[] = { | ||
44 | { | ||
45 | .start = 0x1cd41ffc, | ||
46 | .end = 0x1cd41fff, | ||
47 | .flags = IORESOURCE_MEM | ||
48 | } | ||
49 | }; | ||
50 | |||
51 | static struct platform_device rm200_ds1216_device = { | ||
52 | .name = "rtc-ds1216", | ||
53 | .num_resources = ARRAY_SIZE(rm200_ds1216_rsrc), | ||
54 | .resource = rm200_ds1216_rsrc | ||
55 | }; | ||
56 | |||
44 | static struct resource snirm_82596_rm200_rsrc[] = { | 57 | static struct resource snirm_82596_rm200_rsrc[] = { |
45 | { | 58 | { |
46 | .start = 0xb8000000, | 59 | .start = 0x18000000, |
47 | .end = 0xb80fffff, | 60 | .end = 0x180fffff, |
48 | .flags = IORESOURCE_MEM | 61 | .flags = IORESOURCE_MEM |
49 | }, | 62 | }, |
50 | { | 63 | { |
51 | .start = 0xbb000000, | 64 | .start = 0x1b000000, |
52 | .end = 0xbb000004, | 65 | .end = 0x1b000004, |
53 | .flags = IORESOURCE_MEM | 66 | .flags = IORESOURCE_MEM |
54 | }, | 67 | }, |
55 | { | 68 | { |
56 | .start = 0xbff00000, | 69 | .start = 0x1ff00000, |
57 | .end = 0xbff00020, | 70 | .end = 0x1ff00020, |
58 | .flags = IORESOURCE_MEM | 71 | .flags = IORESOURCE_MEM |
59 | }, | 72 | }, |
60 | { | 73 | { |
@@ -96,6 +109,7 @@ static int __init snirm_setup_devinit(void) | |||
96 | { | 109 | { |
97 | if (sni_brd_type == SNI_BRD_RM200) { | 110 | if (sni_brd_type == SNI_BRD_RM200) { |
98 | platform_device_register(&rm200_serial8250_device); | 111 | platform_device_register(&rm200_serial8250_device); |
112 | platform_device_register(&rm200_ds1216_device); | ||
99 | platform_device_register(&snirm_82596_rm200_pdev); | 113 | platform_device_register(&snirm_82596_rm200_pdev); |
100 | platform_device_register(&snirm_53c710_rm200_pdev); | 114 | platform_device_register(&snirm_53c710_rm200_pdev); |
101 | } | 115 | } |
@@ -176,11 +190,9 @@ void __init sni_rm200_irq_init(void) | |||
176 | setup_irq (SNI_RM200_INT_START + 0, &sni_isa_irq); | 190 | setup_irq (SNI_RM200_INT_START + 0, &sni_isa_irq); |
177 | } | 191 | } |
178 | 192 | ||
179 | void sni_rm200_init(void) | 193 | void __init sni_rm200_init(void) |
180 | { | 194 | { |
181 | set_io_port_base(SNI_PORT_BASE + 0x02000000); | 195 | set_io_port_base(SNI_PORT_BASE + 0x02000000); |
182 | ioport_resource.end += 0x02000000; | 196 | ioport_resource.end += 0x02000000; |
183 | ds1216_base = (volatile unsigned char *) SNI_DS1216_RM200_BASE; | ||
184 | rtc_mips_get_time = ds1216_get_cmos_time; | ||
185 | board_time_init = sni_cpu_time_init; | 197 | board_time_init = sni_cpu_time_init; |
186 | } | 198 | } |