]> git.baikalelectronics.ru Git - kernel.git/commit
rtc/tpo: Driver to support rtc and wakeup on PowerNV platform
authorNeelesh Gupta <neelegup@linux.vnet.ibm.com>
Tue, 14 Oct 2014 08:38:36 +0000 (14:08 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 17 Nov 2014 07:04:01 +0000 (18:04 +1100)
commit9649ea57776186900822be12b6198dfbd4cd038c
tree20c1c8e82cecb391dafadc01eb57c7a6bd58b25a
parent2c9c9be7c133a0663152aa66fdb6f2dc3ac519e2
rtc/tpo: Driver to support rtc and wakeup on PowerNV platform

The patch implements the OPAL rtc driver that binds with the rtc
driver subsystem. The driver uses the platform device infrastructure
to probe the rtc device and register it to rtc class framework. The
'wakeup' is supported depending upon the property 'has-tpo' present
in the OF node. It provides a way to load the generic rtc driver in
in the absence of an OPAL driver.

The patch also moves the existing OPAL rtc get/set time interfaces to the
new driver and exposes the necessary OPAL calls using EXPORT_SYMBOL_GPL.

Test results:
-------------
Host:
[root@tul169p1 ~]# ls -l /sys/class/rtc/
total 0
lrwxrwxrwx 1 root root 0 Oct 14 03:07 rtc0 -> ../../devices/opal-rtc/rtc/rtc0
[root@tul169p1 ~]# cat /sys/devices/opal-rtc/rtc/rtc0/time
08:10:07
[root@tul169p1 ~]# echo `date '+%s' -d '+ 2 minutes'` > /sys/class/rtc/rtc0/wakealarm
[root@tul169p1 ~]# cat /sys/class/rtc/rtc0/wakealarm
1413274345
[root@tul169p1 ~]#

FSP:
$ smgr mfgState
standby
$ rtim timeofday

System time is valid: 2014/10/14 08:12:04.225115

$ smgr mfgState
ipling
$

CC: devicetree@vger.kernel.org
CC: tglx@linutronix.de
CC: rtc-linux@googlegroups.com
CC: a.zummo@towertech.it
Signed-off-by: Neelesh Gupta <neelegup@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Documentation/devicetree/bindings/rtc/rtc-opal.txt [new file with mode: 0644]
arch/powerpc/include/asm/opal.h
arch/powerpc/kernel/time.c
arch/powerpc/platforms/powernv/opal-async.c
arch/powerpc/platforms/powernv/opal-rtc.c
arch/powerpc/platforms/powernv/opal-wrappers.S
arch/powerpc/platforms/powernv/opal.c
arch/powerpc/platforms/powernv/setup.c
drivers/rtc/Kconfig
drivers/rtc/Makefile
drivers/rtc/rtc-opal.c [new file with mode: 0644]