linux/drivers/rtc
Maxime Ripard 3855c2c3e5 rtc: sun6i: Expose the 32kHz oscillator
The RTC controls the input source of the main 32kHz oscillator in the
system, feeding it to the clock unit too.

By default, this is using an internal, very inaccurate (+/- 30%)
oscillator with a divider to make it roughly around 32kHz. This is however
quite impractical for the RTC, since our time will not be tracked properly.

Since this oscillator is an input of the main clock unit, and since that
clock unit will be probed using CLK_OF_DECLARE, we have to use it as well,
leading to a two stage probe: one to enable the clock, the other one to
enable the RTC.

There is also a slight change in the binding that is required (and should
have been from the beginning), since we'll need a phandle to the external
oscillator used on that board. We support the old binding by not allowing
to switch to the external oscillator and only using the internal one (which
was the previous behaviour) in the case where we're missing that phandle.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-02-01 12:44:18 +01:00
..
class.c
hctosys.c
interface.c ktime: Cleanup ktime_set() usage 2016-12-25 17:21:22 +01:00
Kconfig rtc: sun6i: Disable the build as a module 2017-01-24 18:45:29 +01:00
Makefile rtc: add STM32 RTC driver 2017-01-13 01:40:31 +01:00
rtc-88pm80x.c
rtc-88pm860x.c
rtc-ab-b5ze-s3.c
rtc-ab3100.c
rtc-ab8500.c
rtc-abx80x.c rtc: abx80x: use devm_add_action_or_reset() 2016-07-19 17:27:42 +02:00
rtc-ac100.c rtc: ac100: Add NULL checking for devm_kzalloc call 2016-09-22 00:14:41 +02:00
rtc-armada38x.c rtc: armada38x: make struct rtc_class_ops const 2017-01-12 12:33:58 +01:00
rtc-as3722.c
rtc-asm9260.c rtc: asm9260: fix module autoload 2016-10-19 08:45:48 +02:00
rtc-at32ap700x.c rtc: constify rtc_class_ops structures 2016-09-02 01:24:06 +02:00
rtc-at91rm9200.c
rtc-at91rm9200.h
rtc-at91sam9.c rtc: at91sam9: Fix missing spin_lock_init() 2016-07-26 00:09:18 +02:00
rtc-au1xxx.c rtc: constify rtc_class_ops structures 2017-01-11 17:23:06 +01:00
rtc-bfin.c rtc: constify rtc_class_ops structures 2017-01-11 17:23:06 +01:00
rtc-bq32k.c rtc: bq32k: Fix handling of oscillator failure flag 2016-08-31 18:21:35 +02:00
rtc-bq4802.c
rtc-cmos.c RTC for 4.10 2016-12-18 18:18:03 -08:00
rtc-coh901331.c rtc: constify rtc_class_ops structures 2016-09-02 01:24:06 +02:00
rtc-core.h
rtc-da9052.c rtc: explicitly set tm_sec = 0 for drivers with minute accurancy 2016-07-19 18:15:21 +02:00
rtc-da9055.c rtc: explicitly set tm_sec = 0 for drivers with minute accurancy 2016-07-19 18:15:21 +02:00
rtc-da9063.c
rtc-davinci.c rtc: constify rtc_class_ops structures 2016-09-02 01:24:06 +02:00
rtc-dev.c
rtc-digicolor.c rtc: constify rtc_class_ops structures 2016-09-02 01:24:06 +02:00
rtc-dm355evm.c rtc: constify rtc_class_ops structures 2017-01-11 17:23:06 +01:00
rtc-ds1216.c rtc: remove useless DRV_VERSION 2016-05-20 12:33:51 +02:00
rtc-ds1286.c rtc: ds1286: move header to linux/rtc 2016-07-08 16:23:11 +02:00
rtc-ds1302.c rtc: constify rtc_class_ops structures 2016-09-02 01:24:06 +02:00
rtc-ds1305.c rtc: simplify implementations of read_alarm 2016-07-09 10:24:45 +02:00
rtc-ds1307.c rtc: ds1307: Add ACPI support 2016-12-19 00:59:07 +01:00
rtc-ds1343.c rtc: simplify implementations of read_alarm 2016-07-09 10:24:45 +02:00
rtc-ds1347.c rtc: ds1347: changed raw spi calls to register map calls 2016-09-22 00:14:40 +02:00
rtc-ds1374.c rtc: ds1374: Merge conditional + WARN_ON() 2016-12-07 16:34:43 +01:00
rtc-ds1390.c
rtc-ds1511.c rtc: remove useless DRV_VERSION 2016-05-20 12:33:51 +02:00
rtc-ds1553.c rtc: remove useless DRV_VERSION 2016-05-20 12:33:51 +02:00
rtc-ds1672.c rtc: remove useless DRV_VERSION 2016-05-20 12:33:51 +02:00
rtc-ds1685.c rtc: simplify implementations of read_alarm 2016-07-09 10:24:45 +02:00
rtc-ds1742.c rtc: remove useless DRV_VERSION 2016-05-20 12:33:51 +02:00
rtc-ds2404.c rtc: ds2404: move rtc-ds2404.h to platform_data 2016-06-27 10:48:28 +02:00
rtc-ds3232.c rtc: simplify implementations of read_alarm 2016-07-09 10:24:45 +02:00
rtc-efi-platform.c
rtc-efi.c rtc: efi: Fail probing if RTC reads don't work 2016-06-06 17:07:33 +02:00
rtc-em3027.c
rtc-ep93xx.c rtc: remove useless DRV_VERSION 2016-05-20 12:33:51 +02:00
rtc-fm3130.c
rtc-gemini.c rtc: gemini: Add device tree probing 2017-01-24 18:45:05 +01:00
rtc-generic.c rtc: generic: remove get_rtc_time/set_rtc_time wrappers 2016-06-04 00:23:35 +02:00
rtc-hid-sensor-time.c
rtc-hym8563.c rtc: hym8563: in .read_alarm set .tm_sec to 0 to signal minute accuracy 2016-07-19 18:18:06 +02:00
rtc-imxdi.c rtc: constify rtc_class_ops structures 2017-01-11 17:23:06 +01:00
rtc-isl1208.c rtc: remove useless DRV_VERSION 2016-05-20 12:33:51 +02:00
rtc-isl12022.c rtc: remove useless DRV_VERSION 2016-05-20 12:33:51 +02:00
rtc-jz4740.c rtc: jz4740: make the driver builtin only 2016-11-09 01:37:03 +01:00
rtc-lib.c rtc: make rtc-lib explicitly non-modular 2016-11-04 23:31:29 +01:00
rtc-lp8788.c
rtc-lpc24xx.c
rtc-lpc32xx.c
rtc-ls1x.c rtc: constify rtc_class_ops structures 2017-01-11 17:23:06 +01:00
rtc-m41t80.c rtc: m41t80: add suspend handlers for alarm IRQ 2016-07-21 20:06:57 +02:00
rtc-m41t93.c
rtc-m41t94.c
rtc-m48t35.c rtc: remove useless DRV_VERSION 2016-05-20 12:33:51 +02:00
rtc-m48t59.c
rtc-m48t86.c rtc: m48t86: move m48t86.h to platform_data 2016-06-27 18:15:25 +02:00
rtc-max6900.c rtc: remove useless DRV_VERSION 2016-05-20 12:33:51 +02:00
rtc-max6902.c
rtc-max6916.c rtc: add support for Maxim max6916 2016-06-04 16:05:59 +02:00
rtc-max8907.c
rtc-max8925.c
rtc-max8997.c
rtc-max8998.c
rtc-max77686.c
rtc-mc13xxx.c rtc: mc13xxx: remove UIE signaling 2016-05-20 12:33:51 +02:00
rtc-mc146818-lib.c rtc: move mc146818 helper functions out-of-line 2016-06-26 01:20:08 +02:00
rtc-mcp795.c rtc: mcp795: add alarm support. 2017-01-11 17:23:04 +01:00
rtc-moxart.c
rtc-mpc5121.c
rtc-mrst.c rtc: simplify implementations of read_alarm 2016-07-09 10:24:45 +02:00
rtc-msm6242.c
rtc-mt6397.c rtc: constify rtc_class_ops structures 2016-09-02 01:24:06 +02:00
rtc-mv.c
rtc-mxc.c rtc: constify rtc_class_ops structures 2017-01-11 17:23:06 +01:00
rtc-nuc900.c rtc: constify rtc_class_ops structures 2016-09-02 01:24:06 +02:00
rtc-omap.c rtc: omap: prevent disabling of clock/module during suspend 2016-11-04 23:11:39 +01:00
rtc-opal.c powerpc/opal: Add inline function to get rc from an ASYNC_COMP opal_msg 2016-06-29 17:33:18 +10:00
rtc-palmas.c rtc: constify rtc_class_ops structures 2016-09-02 01:24:06 +02:00
rtc-pcap.c
rtc-pcf2123.c rtc: pcf2123: Add missing error code assignment before test 2016-08-31 18:21:34 +02:00
rtc-pcf2127.c
rtc-pcf8523.c
rtc-pcf8563.c rtc: explicitly set tm_sec = 0 for drivers with minute accurancy 2016-07-19 18:15:21 +02:00
rtc-pcf8583.c
rtc-pcf50633.c rtc: constify rtc_class_ops structures 2016-09-02 01:24:06 +02:00
rtc-pcf85063.c rtc: pcf85063: do not register a RTC device if chip is not present 2016-11-04 23:08:59 +01:00
rtc-pic32.c rtc: pic32: Delete owner assignment 2016-08-31 18:21:35 +02:00
rtc-pl030.c
rtc-pl031.c
rtc-pm8xxx.c rtc: rtc-pm8xxx: Add support for pm8018 rtc 2016-08-31 09:33:33 +01:00
rtc-proc.c
rtc-ps3.c
rtc-puv3.c
rtc-pxa.c
rtc-r7301.c rtc: add support for EPSON TOYOCOM RTC-7301SF/DG 2016-12-19 00:59:21 +01:00
rtc-r9701.c
rtc-rc5t583.c rtc: explicitly set tm_sec = 0 for drivers with minute accurancy 2016-07-19 18:15:21 +02:00
rtc-rk808.c
rtc-rp5c01.c
rtc-rs5c313.c rtc: remove useless DRV_VERSION 2016-05-20 12:33:51 +02:00
rtc-rs5c348.c rtc: remove useless DRV_VERSION 2016-05-20 12:33:51 +02:00
rtc-rs5c372.c rtc: simplify implementations of read_alarm 2016-07-09 10:24:45 +02:00
rtc-rv3029c2.c rtc: rv3029: hide unused i2c device table 2016-05-21 17:07:16 +02:00
rtc-rv8803.c rtc: rv8803: set VDETOFF and SWOFF via device tree 2016-10-12 13:24:39 +02:00
rtc-rx4581.c
rtc-rx6110.c rtc: constify rtc_class_ops structures 2016-09-02 01:24:06 +02:00
rtc-rx8010.c rtc: rx8010: change lock mechanism 2017-01-04 23:39:15 +01:00
rtc-rx8025.c rtc: constify rtc_class_ops structures 2016-09-02 01:24:06 +02:00
rtc-rx8581.c rtc: remove useless DRV_VERSION 2016-05-20 12:33:51 +02:00
rtc-s3c.c rtc: s3c: Add s3c_rtc_{enable/disable}_clk in s3c_rtc_setfreq() 2016-07-19 17:48:06 +02:00
rtc-s3c.h
rtc-s5m.c
rtc-s35390a.c rtc: s35390a: improve two comments in .set_alarm 2016-07-11 23:22:35 +02:00
rtc-sa1100.c
rtc-sa1100.h
rtc-sh.c rtc: constify rtc_class_ops structures 2017-01-11 17:23:06 +01:00
rtc-sirfsoc.c
rtc-snvs.c rtc: snvs: return error in case enable_irq_wake fails 2016-05-20 12:33:51 +02:00
rtc-spear.c rtc: constify rtc_class_ops structures 2016-09-02 01:24:06 +02:00
rtc-st-lpc.c
rtc-starfire.c rtc: sparc: make starfire explicitly non-modular 2016-11-04 23:31:31 +01:00
rtc-stk17ta8.c rtc: remove useless DRV_VERSION 2016-05-20 12:33:51 +02:00
rtc-stm32.c rtc: stm32: fix comparison warnings 2017-01-23 00:47:15 +01:00
rtc-stmp3xxx.c rtc: constify rtc_class_ops structures 2016-09-02 01:24:06 +02:00
rtc-sun4v.c rtc: sparc: make sun4v explicitly non-modular 2016-11-04 23:31:33 +01:00
rtc-sun6i.c rtc: sun6i: Expose the 32kHz oscillator 2017-02-01 12:44:18 +01:00
rtc-sunxi.c
rtc-sysfs.c rtc: sysfs: fix a cast removing the const attribute 2016-08-31 18:21:35 +02:00
rtc-tegra.c rtc: tegra: Implement clock handling 2017-01-23 00:46:55 +01:00
rtc-test.c
rtc-tile.c
rtc-tps6586x.c rtc: tps6586x: rename so module can be autoloaded 2016-05-21 17:07:17 +02:00
rtc-tps65910.c rtc: tps65910: use 'unsigned int' instead of 'unsigned' in arguments 2017-01-10 01:32:51 +01:00
rtc-tps80031.c
rtc-twl.c rtc: twl: make driver DT only 2016-11-30 21:21:33 +01:00
rtc-tx4939.c
rtc-v3020.c rtc: v3020: move rtc-v3020.h to platform_data 2016-07-09 10:24:21 +02:00
rtc-vr41xx.c
rtc-vt8500.c
rtc-wm831x.c
rtc-wm8350.c
rtc-x1205.c rtc: remove useless DRV_VERSION 2016-05-20 12:33:51 +02:00
rtc-xgene.c
rtc-zynqmp.c rtc: zynqmp: Update seconds time programming logic 2016-05-20 12:33:51 +02:00
systohc.c