Commit 3b81bf78 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull RTC updates from Alexandre Belloni:
 "This includes new ioctls to get and set parameters and in particular
  the backup switch mode that is needed for some RTCs to actually enable
  the backup voltage (and have a useful RTC).

  The same interface can also be used to get the actual features
  supported by the RTC so userspace has a better way than trying and
  failing.

  Summary:

  Subsystem:
   - Add new ioctl to get and set extra RTC parameters, this includes
     backup switch mode
   - Expose available features to userspace, in particular, when alarmas
     have a resolution of one minute instead of a second.
   - Let the core handle those alarms with a minute resolution

  New driver:
   - MSTAR MSC313 RTC

  Drivers:
   - Add SPI ID table where necessary
   - Add BSM support for rv3028, rv3032 and pcf8523
   - s3c: set RTC range
   - rx8025: set range, implement .set_offset and .read_offset"

* tag 'rtc-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (50 commits)
  rtc: rx8025: use .set_offset/.read_offset
  rtc: rx8025: use rtc_add_group
  rtc: rx8025: clear RTC_FEATURE_ALARM when alarm are not supported
  rtc: rx8025: set range
  rtc: rx8025: let the core handle the alarm resolution
  rtc: rx8025: switch to devm_rtc_allocate_device
  rtc: ab8500: let the core handle the alarm resolution
  rtc: ab-eoz9: support UIE when available
  rtc: ab-eoz9: use RTC_FEATURE_UPDATE_INTERRUPT
  rtc: rv3032: let the core handle the alarm resolution
  rtc: s35390a: let the core handle the alarm resolution
  rtc: handle alarms with a minute resolution
  rtc: pcf85063: silence cppcheck warning
  rtc: rv8803: fix writing back ctrl in flag register
  rtc: s3c: Add time range
  rtc: s3c: Extract read/write IO into separate functions
  rtc: s3c: Remove usage of devm_rtc_device_register()
  rtc: tps80031: Remove driver
  rtc: sun6i: Allow probing without an early clock provider
  rtc: pcf8523: add BSM support
  ...
parents 204d32ef b476266f
Loading
Loading
Loading
Loading
+49 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/rtc/mstar,msc313-rtc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Mstar MSC313e RTC Device Tree Bindings

allOf:
  - $ref: "rtc.yaml#"

maintainers:
  - Daniel Palmer <daniel@0x0f.com>
  - Romain Perier <romain.perier@gmail.com>

properties:
  compatible:
    enum:
      - mstar,msc313-rtc

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  start-year: true

  clocks:
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts
  - clocks

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    rtc@2400 {
        compatible = "mstar,msc313-rtc";
        reg = <0x2400 0x40>;
        clocks = <&xtal_div2>;
        interrupts-extended = <&intc_irq GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
    };
...
+9 −0
Original line number Diff line number Diff line
@@ -13,10 +13,19 @@ Optional property:
  expressed in femto Farad (fF). Valid values are 7000 and 12500.
  Default value (if no value is specified) is 7000fF.

Optional child node:
- clock: Provide this if the square wave pin is used as boot-enabled fixed clock.

Example:

pcf85063: rtc@51 {
	compatible = "nxp,pcf85063";
	reg = <0x51>;
	quartz-load-femtofarads = <12500>;

		clock {
			compatible = "fixed-clock";
			#clock-cells = <0>;
			clock-frequency = <32768>;
		};
};
+1 −0
Original line number Diff line number Diff line
@@ -2283,6 +2283,7 @@ F: arch/arm/boot/dts/mstar-*
F:	arch/arm/mach-mstar/
F:	drivers/clk/mstar/
F:	drivers/gpio/gpio-msc313.c
F:	drivers/rtc/rtc-msc313.c
F:	drivers/watchdog/msc313e_wdt.c
F:	include/dt-bindings/clock/mstar-*
F:	include/dt-bindings/gpio/msc313-gpio.h
+11 −8
Original line number Diff line number Diff line
@@ -441,6 +441,7 @@ config RTC_DRV_X1205

config RTC_DRV_PCF8523
	tristate "NXP PCF8523"
	select REGMAP_I2C
	help
	  If you say yes here you get support for the NXP PCF8523 RTC
	  chips.
@@ -582,14 +583,6 @@ config RTC_DRV_TPS65910
	  This driver can also be built as a module. If so, the module
	  will be called rtc-tps65910.

config RTC_DRV_TPS80031
	tristate "TI TPS80031/TPS80032 RTC driver"
	depends on MFD_TPS80031
	help
	  TI Power Management IC TPS80031 supports RTC functionality
	  along with alarm. This driver supports the RTC driver for
	  the TPS80031 RTC module.

config RTC_DRV_RC5T583
	tristate "RICOH 5T583 RTC driver"
	depends on MFD_RC5T583
@@ -1929,4 +1922,14 @@ config RTC_DRV_WILCO_EC
	  This can also be built as a module. If so, the module will
	  be named "rtc_wilco_ec".

config RTC_DRV_MSC313
	tristate "MStar MSC313 RTC"
        depends on ARCH_MSTARV7 || COMPILE_TEST
	help
	  If you say yes here you get support for the Mstar MSC313e On-Chip
	  Real Time Clock.

	  This driver can also be built as a module, if so, the module
	  will be called "rtc-msc313".

endif # RTC_CLASS
+1 −1
Original line number Diff line number Diff line
@@ -103,6 +103,7 @@ obj-$(CONFIG_RTC_DRV_MCP795) += rtc-mcp795.o
obj-$(CONFIG_RTC_DRV_MESON)	+= rtc-meson.o
obj-$(CONFIG_RTC_DRV_MOXART)	+= rtc-moxart.o
obj-$(CONFIG_RTC_DRV_MPC5121)	+= rtc-mpc5121.o
obj-$(CONFIG_RTC_DRV_MSC313)	+= rtc-msc313.o
obj-$(CONFIG_RTC_DRV_MSM6242)	+= rtc-msm6242.o
obj-$(CONFIG_RTC_DRV_MT2712)	+= rtc-mt2712.o
obj-$(CONFIG_RTC_DRV_MT6397)	+= rtc-mt6397.o
@@ -169,7 +170,6 @@ obj-$(CONFIG_RTC_DRV_TEGRA) += rtc-tegra.o
obj-$(CONFIG_RTC_DRV_TEST)	+= rtc-test.o
obj-$(CONFIG_RTC_DRV_TPS6586X)	+= rtc-tps6586x.o
obj-$(CONFIG_RTC_DRV_TPS65910)	+= rtc-tps65910.o
obj-$(CONFIG_RTC_DRV_TPS80031)	+= rtc-tps80031.o
obj-$(CONFIG_RTC_DRV_TWL4030)	+= rtc-twl.o
obj-$(CONFIG_RTC_DRV_V3020)	+= rtc-v3020.o
obj-$(CONFIG_RTC_DRV_VR41XX)	+= rtc-vr41xx.o
Loading