mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 19:26:25 +00:00
[ARM] Add rtc-cmos driver for ISA-based footbridge platforms
... but the rtc-cmos is rather broken; if PNP is enabled, it assumes that we have ACPI (!) which is quite bogus on these platforms - which may have ISAPNP but not ACPI. Something to be solved in the future. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
883042d6ea
commit
cba774ae87
1 changed files with 44 additions and 1 deletions
|
@ -12,6 +12,39 @@
|
|||
|
||||
#include <asm/irq.h>
|
||||
|
||||
static struct resource rtc_resources[] = {
|
||||
[0] = {
|
||||
.start = 0x70,
|
||||
.end = 0x73,
|
||||
.flags = IORESOURCE_IO,
|
||||
},
|
||||
[1] = {
|
||||
.start = IRQ_ISA_RTC_ALARM,
|
||||
.end = IRQ_ISA_RTC_ALARM,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
}
|
||||
};
|
||||
|
||||
static struct platform_device rtc_device = {
|
||||
.name = "rtc_cmos",
|
||||
.id = -1,
|
||||
.resource = rtc_resources,
|
||||
.num_resources = ARRAY_SIZE(rtc_resources),
|
||||
};
|
||||
|
||||
static struct resource serial_resources[] = {
|
||||
[0] = {
|
||||
.start = 0x3f8,
|
||||
.end = 0x3ff,
|
||||
.flags = IORESOURCE_IO,
|
||||
},
|
||||
[1] = {
|
||||
.start = 0x2f8,
|
||||
.end = 0x2ff,
|
||||
.flags = IORESOURCE_IO,
|
||||
},
|
||||
};
|
||||
|
||||
static struct plat_serial8250_port serial_platform_data[] = {
|
||||
{
|
||||
.iobase = 0x3f8,
|
||||
|
@ -38,11 +71,21 @@ static struct platform_device serial_device = {
|
|||
.dev = {
|
||||
.platform_data = serial_platform_data,
|
||||
},
|
||||
.resource = serial_resources,
|
||||
.num_resources = ARRAY_SIZE(serial_resources),
|
||||
};
|
||||
|
||||
static int __init footbridge_isa_init(void)
|
||||
{
|
||||
return platform_device_register(&serial_device);
|
||||
int err;
|
||||
|
||||
err = platform_device_register(&rtc_device);
|
||||
if (err)
|
||||
printk(KERN_ERR "Unable to register RTC device: %d\n", err);
|
||||
err = platform_device_register(&serial_device);
|
||||
if (err)
|
||||
printk(KERN_ERR "Unable to register serial device: %d\n", err);
|
||||
return 0;
|
||||
}
|
||||
|
||||
arch_initcall(footbridge_isa_init);
|
||||
|
|
Loading…
Reference in a new issue