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

Commit 22258fa4 authored by David Gibson's avatar David Gibson Committed by Josh Boyer
Browse files

[POWERPC] Enable RTC for Ebony and Walnut (v2)

This patch extends the Ebony and Walnut platform code to instantiate
the existing ds1742 RTC class driver for the DS1743 RTC/NVRAM chip
found on both those boards.  The patch uses a helper function to scan
the device tree and instantiate the appropriate platform_device based
on it, so it should be easy to extend for other boards which have mmio
mapped RTC chips.

Along with this, the device tree binding for the ds1743 chips is
tweaked, based on the existing DS1385 OF binding found at:
	http://playground.sun.com/1275/proposals/Closed/Remanded/Accepted/346-it.txt


Although that document covers the NVRAM portion of the chip, whereas
here we're interested in the RTC portion, so it's not entirely clear
if that's a good model.

This implements only RTC class driver support - that is /dev/rtc0, not
/dev/rtc, and the low-level get/set time callbacks remain
unimplemented.  That means in order to get at the clock you will
either need a modified version of hwclock which will look at
/dev/rtc0, or you'll need to configure udev to symlink rtc0 to rtc.

Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
Signed-off-by: default avatarJosh Boyer <jwboyer@linux.vnet.ibm.com>
parent a4095516
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -158,9 +158,10 @@
					};
				};

				ds1743@1,0 {
				nvram@1,0 {
					/* NVRAM & RTC */
					compatible = "ds1743";
					compatible = "ds1743-nvram";
					#bytes = <2000>;
					reg = <1 0 2000>;
				};

+3 −2
Original line number Diff line number Diff line
@@ -175,9 +175,10 @@
				};
			};

			ds1743@1,0 {
			nvram@1,0 {
				/* NVRAM and RTC */
				compatible = "ds1743";
				compatible = "ds1743-nvram";
				#bytes = <2000>;
				reg = <1 0 2000>;
			};

+1 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ static __initdata struct of_device_id walnut_of_bus[] = {
static int __init walnut_device_probe(void)
{
	of_platform_bus_probe(NULL, walnut_of_bus, NULL);
	of_instantiate_rtc();

	return 0;
}
+1 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ config EBONY
	default y
	select 440GP
	select PCI
	select OF_RTC
	help
	  This option enables support for the IBM PPC440GP evaluation board.

+2 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@

#include <linux/init.h>
#include <linux/of_platform.h>
#include <linux/rtc.h>

#include <asm/machdep.h>
#include <asm/prom.h>
@@ -38,6 +39,7 @@ static __initdata struct of_device_id ebony_of_bus[] = {
static int __init ebony_device_probe(void)
{
	of_platform_bus_probe(NULL, ebony_of_bus, NULL);
	of_instantiate_rtc();

	return 0;
}
Loading