From: Patrick Bruenn <p.bruenn@xxxxxxxxxxxx> Neither rtc-imxdi, rtc-mxc nor rtc-snvs are compatible with i.MX53. This is driver enables support for the low power domain SRTC features: - 32-bit MSB of non-rollover time counter - 32-bit alarm register Select the new config option RTC_DRV_MXC_V2 to build this driver Based on: http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/tree/drivers/rtc/rtc-mxc_v2.c?h=imx_2.6.35_11.09.01 Signed-off-by: Patrick Bruenn <p.bruenn@xxxxxxxxxxxx> --- Open issue: - naming of the device tree node "rtc" vs. "srtc" v3: - introduce new config option with the same patch, which adds the driver - call rtc_update_irq() only if necessary - merge mxc_rtc_write_alarm_locked() with mxc_rtc_set_alarm() - only use clk_enable/disable (without "prepare") during operation - rebase on v4.15-rc3 - consistently use rtc_tm_to_time64() and time64_t - refactor mxc_rtc_read_time(): don't lock for readl() only; don't rtc_valid_tm(); use time64_t - check returncode of mxc_rtc_wait_for_flag() - restructure mxc_rtc_sync_lp_locked() to replace pr_err() with dev_err_once(); remove explicit 'inline' - don't touch imx_v4_v5_defconfig, instead add to imx_v6_v7_defconfig v2: - have seperate patches for dt-binding, CONFIG option, imx53.dtsi and driver - add SPDX-License-Identifier and cleanup copyright notice - replace __raw_readl/writel() with readl/writel() - fix PM_SLEEP callbacks - add CONFIG_RTC_DRV_MXC_V2 to build rtc-mxc_v2.c - remove misleading or obvious comments and fix style of the remaining - avoid endless loop while waiting for hw - implement consistent locking; make spinlock a member of dev struct - enable clk only for register accesses - remove all udelay() calls since they are obsolete or redundant (we are already waiting for register flags to change) - init platform_data before registering irq callback - let set_time() fail, when 32 bit rtc counter exceeded - make names more consistent - cleanup and reorder includes - cleanup and remove unused defines To: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> (maintainer:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS) Cc: linux-rtc@xxxxxxxxxxxxxxx (open list:REAL TIME CLOCK (RTC) SUBSYSTEM) Cc: devicetree@xxxxxxxxxxxxxxx (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS) Cc: linux-kernel@xxxxxxxxxxxxxxx (open list) Cc: Fabio Estevam <fabio.estevam@xxxxxxx> Cc: Juergen Borleis <jbe@xxxxxxxxxxxxxx> Cc: Noel Vellemans <Noel.Vellemans@xxxxxxxxxxxxx> Cc: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <kernel@xxxxxxxxxxxxxx> (maintainer:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE) Cc: Russell King <linux@xxxxxxxxxxxxxxx> (maintainer:ARM PORT) Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx (moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE) Cc: Philippe Ombredanne <pombredanne@xxxxxxxx> Cc: Lothar Waßmann <LW@xxxxxxxxxxxxxxxxxxx> Patrick Bruenn (4): dt-bindings: rtc: add bindings for i.MX53 SRTC ARM: dts: imx53: add srtc node rtc: add mxc driver for i.MX53 SRTC ARM: imx_v6_v7_defconfig: enable RTC_DRV_MXC_V2 .../devicetree/bindings/rtc/rtc-mxc_v2.txt | 17 + arch/arm/boot/dts/imx53.dtsi | 7 + arch/arm/configs/imx_v6_v7_defconfig | 1 + drivers/rtc/Kconfig | 10 + drivers/rtc/Makefile | 1 + drivers/rtc/rtc-mxc_v2.c | 422 +++++++++++++++++++++ 6 files changed, 458 insertions(+) create mode 100644 Documentation/devicetree/bindings/rtc/rtc-mxc_v2.txt create mode 100644 drivers/rtc/rtc-mxc_v2.c -- 2.11.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html