Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cba774ae authored by Russell King's avatar Russell King Committed by Russell King
Browse files

[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: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 883042d6
Loading
Loading
Loading
Loading
+44 −1
Original line number Diff line number Diff line
@@ -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);