linux/drivers/rtc
Afzal Mohammed cab1458c8c rtc: omap: kicker mechanism support
OMAP RTC IP can have kicker feature.  This prevents spurious writes to
register.  To write to registers kicker lock has to be released.
Procedure to do it as follows,

1. write to kick0 register, 0x83e70b13
2. write to kick1 register, 0x95a4f1e0

Writing value other than 0x83e70b13 to kick0 enables write locking, more
details about kicker mechanism can be found in section 20.3.3.5.3 of
AM335X TRM @www.ti.com/am335x

Here id table information is added and is used to distinguish those that
require kicker handling and the ones that doesn't need it.  There are more
features in the newer IP's compared to legacy ones other than kicker,
which driver currently doesn't handle, supporting additional features
would be easier with the addition of id table.

Older IP (of OMAP1) doesn't have revision register as per TRM, so revision
register can't be relied always to find features, hence id table is being
used.

While at it, replace __raw_writeb/__raw_readb with writeb/readb; this
driver is used on ARMv7 (AM335X SoC)

Signed-off-by: Afzal Mohammed <afzal@ti.com>
Acked-by: Sekhar Nori <nsekhar@ti.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Sekhar Nori <nsekhar@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Daniel Mack <zonque@gmail.com>
Cc: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-12-17 17:15:20 -08:00
..
Kconfig rtc: kconfig: fix RTC_INTF defaults connected to RTC_CLASS 2012-10-11 08:50:16 +09:00
Makefile rtc: rc5t583: add ricoh rc5t583 RTC driver 2012-10-06 03:05:03 +09:00
class.c rtc_sysfs_show_hctosys(): display 0 if resume failed 2012-10-06 03:05:04 +09:00
hctosys.c rtc_sysfs_show_hctosys(): display 0 if resume failed 2012-10-06 03:05:04 +09:00
interface.c RTC: Avoid races between RTC alarm wakeup and suspend. 2012-08-08 20:49:16 +02:00
rtc-88pm80x.c rtc/rtc-88pm80x: remove unneed devm_kfree 2012-07-31 18:42:50 -07:00
rtc-88pm860x.c mfd: 88pm860x: Device tree support 2012-10-02 11:43:13 +02:00
rtc-ab3100.c
rtc-ab8500.c drivers/rtc/rtc-ab8500.c: Revoke Device Tree enablement 2012-09-20 12:32:34 +02:00
rtc-at32ap700x.c treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
rtc-at91rm9200.c arm: at91: move at91rm9200 rtc header in drivers/rtc 2012-11-06 20:30:52 +08:00
rtc-at91rm9200.h arm: at91: move at91rm9200 rtc header in drivers/rtc 2012-11-06 20:30:52 +08:00
rtc-at91sam9.c arm: at91: move platfarm_data to include/linux/platform_data/atmel.h 2012-11-06 20:29:33 +08:00
rtc-au1xxx.c
rtc-bfin.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-bq32k.c rtc: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-bq4802.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-cmos.c RTC: Avoid races between RTC alarm wakeup and suspend. 2012-08-08 20:49:16 +02:00
rtc-coh901331.c drivers/rtc/rtc-coh901331.c: use clk_prepare_enable() and clk_disable_unprepare() 2012-10-06 03:05:04 +09:00
rtc-core.h
rtc-da9052.c rtc/rtc-da9052: remove unneed devm_kfree call 2012-07-30 17:25:18 -07:00
rtc-davinci.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -07:00
rtc-dev.c rtc: Fix ioctl error path return 2011-06-01 19:29:39 -07:00
rtc-dm355evm.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-ds1216.c
rtc-ds1286.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-ds1302.c
rtc-ds1305.c rtc: convert rtc spi drivers to module_spi_driver 2012-03-23 16:58:39 -07:00
rtc-ds1307.c rtc: ds1307: add trickle charger support 2012-05-29 16:22:33 -07:00
rtc-ds1374.c rtc: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-ds1390.c rtc: convert rtc spi drivers to module_spi_driver 2012-03-23 16:58:39 -07:00
rtc-ds1511.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -07:00
rtc-ds1553.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -07:00
rtc-ds1672.c drivers/rtc/rtc-ds1672.c: convert struct i2c_msg initialization to C99 format 2012-10-06 03:05:05 +09:00
rtc-ds1742.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-ds2404.c rtc: add Dallas DS2404 driver 2012-10-06 03:05:01 +09:00
rtc-ds3232.c rtc: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-ds3234.c rtc: convert rtc spi drivers to module_spi_driver 2012-03-23 16:58:39 -07:00
rtc-efi.c drivers/rtc/rtc-efi.c: fix section mismatch warning 2012-04-12 13:12:12 -07:00
rtc-em3027.c drivers/rtc/rtc-em3027.c: convert struct i2c_msg initialization to C99 format 2012-10-06 03:05:07 +09:00
rtc-ep93xx.c drivers/rtc/rtc-ep93xx.c: convert to use module_platform_driver() 2012-05-29 16:22:33 -07:00
rtc-fm3130.c rtc: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-generic.c
rtc-imxdi.c drivers/rtc/rtc-imxdi.c: add missing spin lock initialization 2012-10-25 14:37:53 -07:00
rtc-isl1208.c Fix misspellings of "whether" in comments. 2012-11-19 14:31:35 +01:00
rtc-isl12022.c rtc: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-jz4740.c drivers/rtc/rtc-jz4740.c: fix IRQ error check 2012-10-06 03:05:03 +09:00
rtc-lib.c rtc: Initialized rtc_time->tm_isdst 2011-08-26 17:26:35 -07:00
rtc-lpc32xx.c drivers/rtc/rtc-lpc32xx.c: add device tree support 2012-05-29 16:22:34 -07:00
rtc-ls1x.c MIPS: add RTC support for loongson1B 2012-03-23 16:58:39 -07:00
rtc-m41t80.c drivers/rtc/rtc-m41t80.c: remove disabled alarm functionality 2012-10-06 03:05:07 +09:00
rtc-m41t93.c drivers/rtc/rtc-m41t93.c: don't let get_time() reset M41T93_FLAG_OF 2012-05-29 16:22:33 -07:00
rtc-m41t94.c rtc: convert rtc spi drivers to module_spi_driver 2012-03-23 16:58:39 -07:00
rtc-m48t35.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-m48t59.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-m48t86.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-max6900.c rtc: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-max6902.c rtc: convert rtc spi drivers to module_spi_driver 2012-03-23 16:58:39 -07:00
rtc-max8907.c rtc: add MAX8907 RTC driver 2012-10-06 03:05:02 +09:00
rtc-max8925.c mfd: Transfer rtc max8925 irq from MFD defined resources 2012-07-09 00:16:10 +02:00
rtc-max8998.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-mc13xxx.c rtc/mc13xxx: add support for the rtc in the mc34708 pmic 2012-07-30 17:25:18 -07:00
rtc-mpc5121.c rtc: Fix possible null pointer dereference in rtc-mpc5121.c 2012-04-26 11:17:01 +02:00
rtc-mrst.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -07:00
rtc-msm6242.c
rtc-mv.c ARM: Kirkwood: Replace mrvl with marvell 2012-07-25 17:06:23 +02:00
rtc-mxc.c rtc: mxc_rtc: remove cpu_is_xxx by using platform_device_id 2012-10-15 10:03:16 +08:00
rtc-nuc900.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -07:00
rtc-omap.c rtc: omap: kicker mechanism support 2012-12-17 17:15:20 -08:00
rtc-pcap.c
rtc-pcf2123.c drivers/rtc/rtc-pcf2123.c: initialize dynamic sysfs attributes 2012-08-21 16:45:03 -07:00
rtc-pcf8563.c drivers/rtc/rtc-pcf8563.c: convert struct i2c_msg initialization to C99 format 2012-10-06 03:05:06 +09:00
rtc-pcf8583.c rtc: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-pcf50633.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-pl030.c Merge branch 'amba' of git://git.linaro.org/people/rmk/linux-arm 2012-03-23 17:36:29 -07:00
rtc-pl031.c rtc: pl031: fix up IRQ flags 2012-07-30 17:25:18 -07:00
rtc-pm8xxx.c drivers/rtc/rtc-pm8xxx.c: make pm8xxx_rtc_pm_ops static 2012-03-23 16:58:39 -07:00
rtc-proc.c rtc-proc: permit the /proc/driver/rtc device to use other devices 2012-10-06 03:05:01 +09:00
rtc-ps3.c
rtc-puv3.c rtc-puv3: solve section mismatch in rtc-puv3.c 2012-01-10 10:29:42 +08:00
rtc-pxa.c RTC: add DT bindings to pxa-rtc 2012-08-16 16:13:07 +08:00
rtc-r9701.c drivers/rtc/rtc-r9701.c: check that r9701_set_datetime() succeeded 2012-07-30 17:25:18 -07:00
rtc-rc5t583.c rtc: rc5t583: add ricoh rc5t583 RTC driver 2012-10-06 03:05:03 +09:00
rtc-rp5c01.c
rtc-rs5c313.c
rtc-rs5c348.c drivers/rtc/rtc-rs5c348.c: fix hour decoding in 12-hour mode 2012-08-21 16:45:03 -07:00
rtc-rs5c372.c drivers/rtc/rtc-rs5c372.c: convert struct i2c_msg initialization to C99 format 2012-10-06 03:05:06 +09:00
rtc-rv3029c2.c rtc: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-rx8025.c rtc: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-rx8581.c rtc: convert rtc i2c drivers to module_i2c_driver 2012-03-23 16:58:39 -07:00
rtc-s3c.c Fix misspellings of "whether" in comments. 2012-11-19 14:31:35 +01:00
rtc-s35390a.c drivers/rtc/rtc-s35390a.c: add wakealarm support for rtc-s35390A rtc chip 2012-10-06 03:05:08 +09:00
rtc-sa1100.c ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
rtc-sh.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -07:00
rtc-snvs.c rtc: snvs: add Freescale rtc-snvs driver 2012-10-06 03:05:01 +09:00
rtc-spear.c drivers/rtc/rtc-spear.c: fix several error checks 2012-10-06 03:05:03 +09:00
rtc-starfire.c
rtc-stk17ta8.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -07:00
rtc-stmp3xxx.c rtc: stmp3xxx: Add simple binding for the stmp3xxx-rtc 2012-07-03 13:22:36 +08:00
rtc-sun4v.c
rtc-sysfs.c rtc_sysfs_show_hctosys(): display 0 if resume failed 2012-10-06 03:05:04 +09:00
rtc-tegra.c drivers/rtc/rtc-tegra.c: clean up probe/remove routines 2012-05-29 16:22:34 -07:00
rtc-test.c
rtc-tile.c
rtc-tps65910.c drivers/rtc/rtc-tps65910.c: fix invalid pointer access on _remove() 2012-11-30 08:51:18 -08:00
rtc-twl.c mfd/rtc/gpio: twl: No need to allocate bigger buffer for write 2012-11-21 16:08:00 +01:00
rtc-tx4939.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -07:00
rtc-v3020.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-vr41xx.c drivers/rtc: remove IRQF_DISABLED 2012-03-23 16:58:39 -07:00
rtc-vt8500.c rtc: vt8500: Add devicetree support for vt8500-rtc 2012-09-21 19:23:55 +12:00
rtc-wm831x.c rtc: wm831x: Feed the write counter into device_add_randomness() 2012-07-19 10:38:31 -04:00
rtc-wm8350.c rtc: convert drivers/rtc/* to use module_platform_driver() 2012-01-10 16:30:53 -08:00
rtc-x1205.c drivers/rtc/rtc-x1205.c: convert struct i2c_msg initialization to C99 format 2012-10-06 03:05:05 +09:00