115 lines
3.5 KiB
Diff
115 lines
3.5 KiB
Diff
From: apatard@mandriva.com <apatard@mandriva.com>
|
|
Date: Wed, 2 Jun 2010 00:39:54 +0200
|
|
Subject: [PATCH] MIPS: Loongson: Define rtc device on MC146818-equipped systems
|
|
|
|
commit b224e7061338eb0a12793c456d008fd65560e002 upstream.
|
|
|
|
This patch declare the rtc device present on systems with clock compatible
|
|
with the mc146818 and handled by rtc-cmos. Introduce a new Kconfig entry
|
|
because there are some systems without rtc_cmos compatible clock.
|
|
|
|
Signed-off-by: Arnaud Patard <apatard@mandriva.com>
|
|
To: linux-mips@linux-mips.org
|
|
Cc: aba@not.so.argh.org
|
|
Patchwork: http://patchwork.linux-mips.org/patch/1320/
|
|
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
|
---
|
|
arch/mips/loongson/Kconfig | 6 +++++
|
|
arch/mips/loongson/common/Makefile | 1 +
|
|
arch/mips/loongson/common/rtc.c | 43 ++++++++++++++++++++++++++++++++++++
|
|
3 files changed, 50 insertions(+), 0 deletions(-)
|
|
create mode 100644 arch/mips/loongson/common/rtc.c
|
|
|
|
diff --git a/arch/mips/loongson/Kconfig b/arch/mips/loongson/Kconfig
|
|
index 3df1967..c97ca69 100644
|
|
--- a/arch/mips/loongson/Kconfig
|
|
+++ b/arch/mips/loongson/Kconfig
|
|
@@ -23,6 +23,7 @@ config LEMOTE_FULOONG2E
|
|
select GENERIC_HARDIRQS_NO__DO_IRQ
|
|
select GENERIC_ISA_DMA_SUPPORT_BROKEN
|
|
select CPU_HAS_WB
|
|
+ select LOONGSON_MC146818
|
|
help
|
|
Lemote Fuloong(2e) mini-PC board based on the Chinese Loongson-2E CPU and
|
|
an FPGA northbridge
|
|
@@ -51,6 +52,7 @@ config LEMOTE_MACH2F
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_HIGHMEM
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
+ select LOONGSON_MC146818
|
|
help
|
|
Lemote Loongson 2F family machines utilize the 2F revision of
|
|
Loongson processor and the AMD CS5536 south bridge.
|
|
@@ -83,3 +85,7 @@ config LOONGSON_UART_BASE
|
|
bool
|
|
default y
|
|
depends on EARLY_PRINTK || SERIAL_8250
|
|
+
|
|
+config LOONGSON_MC146818
|
|
+ bool
|
|
+ default n
|
|
diff --git a/arch/mips/loongson/common/Makefile b/arch/mips/loongson/common/Makefile
|
|
index cdd2e81..e526488 100644
|
|
--- a/arch/mips/loongson/common/Makefile
|
|
+++ b/arch/mips/loongson/common/Makefile
|
|
@@ -12,6 +12,7 @@ obj-$(CONFIG_GENERIC_GPIO) += gpio.o
|
|
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
|
|
obj-$(CONFIG_SERIAL_8250) += serial.o
|
|
obj-$(CONFIG_LOONGSON_UART_BASE) += uart_base.o
|
|
+obj-$(CONFIG_LOONGSON_MC146818) += rtc.o
|
|
|
|
#
|
|
# Enable CS5536 Virtual Support Module(VSM) to virtulize the PCI configure
|
|
diff --git a/arch/mips/loongson/common/rtc.c b/arch/mips/loongson/common/rtc.c
|
|
new file mode 100644
|
|
index 0000000..a90d87c
|
|
--- /dev/null
|
|
+++ b/arch/mips/loongson/common/rtc.c
|
|
@@ -0,0 +1,43 @@
|
|
+/*
|
|
+ * Lemote Fuloong platform support
|
|
+ *
|
|
+ * Copyright(c) 2010 Arnaud Patard <apatard@mandriva.com>
|
|
+ *
|
|
+ * This program is free software; you can redistribute it and/or modify
|
|
+ * it under the terms of the GNU General Public License as published by
|
|
+ * the Free Software Foundation; either version 2 of the License, or
|
|
+ * (at your option) any later version.
|
|
+ */
|
|
+
|
|
+#include <linux/init.h>
|
|
+#include <linux/kernel.h>
|
|
+#include <linux/platform_device.h>
|
|
+#include <linux/mc146818rtc.h>
|
|
+
|
|
+struct resource loongson_rtc_resources[] = {
|
|
+ {
|
|
+ .start = RTC_PORT(0),
|
|
+ .end = RTC_PORT(1),
|
|
+ .flags = IORESOURCE_IO,
|
|
+ }, {
|
|
+ .start = RTC_IRQ,
|
|
+ .end = RTC_IRQ,
|
|
+ .flags = IORESOURCE_IRQ,
|
|
+ }
|
|
+};
|
|
+
|
|
+static struct platform_device loongson_rtc_device = {
|
|
+ .name = "rtc_cmos",
|
|
+ .id = -1,
|
|
+ .resource = loongson_rtc_resources,
|
|
+ .num_resources = ARRAY_SIZE(loongson_rtc_resources),
|
|
+};
|
|
+
|
|
+
|
|
+static int __init loongson_rtc_platform_init(void)
|
|
+{
|
|
+ platform_device_register(&loongson_rtc_device);
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+device_initcall(loongson_rtc_platform_init);
|
|
--
|
|
1.7.1
|
|
|