Skip to content

Commit 9dbd83f

Browse files
committed
Merge tag 'rtc-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux
Pull RTC updates from Alexandre Belloni: "Two new drivers and the new pcf2127 feature make the bulk of the additions. The rest are the usual fixes and new features. Subsystem: - add debug message when registration fails New drivers: - Amlogic Virtual Wake - Freescale FlexTimer Module alarm Drivers: - remove superfluous error messages - convert to i2c_new_dummy_device and devm_i2c_new_dummy_device - Remove dev_err() usage after platform_get_irq() - Set RTC range for: pcf2123, pcf8563, snvs. - pcf2127: tamper detection and watchdog support - pcf85363: fix regmap issue - sun6i: H6 support - remove w90x900/nuc900 driver" * tag 'rtc-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (51 commits) rtc: meson: mark PM functions as __maybe_unused rtc: sc27xx: Remove clearing SPRD_RTC_POWEROFF_ALM_FLAG flag dt-bindings: rtc: ds1307: add rx8130 compatible rtc: sun6i: Allow using as wakeup source from suspend rtc: pcf8563: let the core handle range offsetting rtc: pcf8563: remove useless indirection rtc: pcf8563: convert to devm_rtc_allocate_device rtc: pcf8563: add Microcrystal RV8564 compatible rtc: pcf8563: add Epson RTC8564 compatible rtc: s35390a: convert to devm_i2c_new_dummy_device() rtc: max77686: convert to devm_i2c_new_dummy_device() rtc: pcf85363/pcf85263: fix regmap error in set_time rtc: snvs: switch to rtc_time64_to_tm/rtc_tm_to_time64 rtc: snvs: set range rtc: snvs: fix possible race condition rtc: pcf2127: bugfix: watchdog build dependency rtc: pcf2127: add tamper detection support rtc: pcf2127: add watchdog feature support rtc: pcf2127: bugfix: read rtc disables watchdog rtc: pcf2127: cleanup register and bit defines ...
2 parents 379bb04 + b99a312 commit 9dbd83f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+1214
-727
lines changed

Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ properties:
2525
- items:
2626
- const: allwinner,sun50i-a64-rtc
2727
- const: allwinner,sun8i-h3-rtc
28+
- const: allwinner,sun50i-h6-rtc
2829

2930
reg:
3031
maxItems: 1
@@ -92,6 +93,18 @@ allOf:
9293
minItems: 3
9394
maxItems: 3
9495

96+
- if:
97+
properties:
98+
compatible:
99+
contains:
100+
const: allwinner,sun50i-h6-rtc
101+
102+
then:
103+
properties:
104+
clock-output-names:
105+
minItems: 3
106+
maxItems: 3
107+
95108
- if:
96109
properties:
97110
compatible:
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
NXP PCF2123 SPI Real Time Clock
22

33
Required properties:
4-
- compatible: should be: "nxp,rtc-pcf2123"
4+
- compatible: should be: "nxp,pcf2123"
55
or "microcrystal,rv2123"
66
- reg: should be the SPI slave chipselect address
77

@@ -11,7 +11,7 @@ Optional properties:
1111
Example:
1212

1313
pcf2123: rtc@3 {
14-
compatible = "nxp,rtc-pcf2123"
14+
compatible = "nxp,pcf2123"
1515
reg = <3>
1616
spi-cs-high;
1717
};

Documentation/devicetree/bindings/rtc/pcf8563.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
Philips PCF8563/Epson RTC8564 Real Time Clock
44

55
Required properties:
6-
- compatible: Should contain "nxp,pcf8563".
6+
- compatible: Should contain "nxp,pcf8563",
7+
"epson,rtc8564" or
8+
"microcrystal,rv8564"
79
- reg: I2C address for chip.
810

911
Optional property:

Documentation/devicetree/bindings/rtc/rtc-ds1307.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Required properties:
1919
"pericom,pt7c4338",
2020
"epson,rx8025",
2121
"isil,isl12057"
22+
"epson,rx8130"
2223
- reg: I2C bus address of the device
2324

2425
Optional properties:
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
Freescale FlexTimer Module (FTM) Alarm
2+
3+
Required properties:
4+
- compatible : Should be "fsl,<chip>-ftm-alarm", the
5+
supported chips include
6+
"fsl,ls1012a-ftm-alarm"
7+
"fsl,ls1021a-ftm-alarm"
8+
"fsl,ls1028a-ftm-alarm"
9+
"fsl,ls1043a-ftm-alarm"
10+
"fsl,ls1046a-ftm-alarm"
11+
"fsl,ls1088a-ftm-alarm"
12+
"fsl,ls208xa-ftm-alarm"
13+
"fsl,lx2160a-ftm-alarm"
14+
- reg : Specifies base physical address and size of the register sets for the
15+
FlexTimer Module.
16+
- interrupts : Should be the FlexTimer Module interrupt.
17+
- fsl,rcpm-wakeup property and rcpm node : Please refer
18+
Documentation/devicetree/bindings/soc/fsl/rcpm.txt
19+
20+
Optional properties:
21+
- big-endian: If the host controller is big-endian mode, specify this property.
22+
The default endian mode is little-endian.
23+
24+
Example:
25+
rcpm: rcpm@1e34040 {
26+
compatible = "fsl,ls1088a-rcpm", "fsl,qoriq-rcpm-2.1+";
27+
reg = <0x0 0x1e34040 0x0 0x18>;
28+
#fsl,rcpm-wakeup-cells = <6>;
29+
};
30+
31+
ftm_alarm0: timer@2800000 {
32+
compatible = "fsl,ls1088a-ftm-alarm";
33+
reg = <0x0 0x2800000 0x0 0x10000>;
34+
fsl,rcpm-wakeup = <&rcpm 0x0 0x0 0x0 0x0 0x4000 0x0>;
35+
interrupts = <0 44 4>;
36+
};
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
* Amlogic Virtual RTC (VRTC)
2+
3+
This is a Linux interface to an RTC managed by firmware, hence it's
4+
virtual from a Linux perspective. The interface is 1 register where
5+
an alarm time (in seconds) is to be written.
6+
7+
Required properties:
8+
- compatible: should be "amlogic,meson-vrtc"
9+
- reg: physical address for the alarm register
10+
11+
The alarm register is a simple scratch register shared between the
12+
application processors (AP) and the secure co-processor (SCP.) When
13+
the AP suspends, the SCP will use the value of this register to
14+
program an always-on timer before going sleep. When the timer expires,
15+
the SCP will wake up and will then wake the AP.
16+
17+
Example:
18+
19+
vrtc: rtc@0a8 {
20+
compatible = "amlogic,meson-vrtc";
21+
reg = <0x0 0x000a8 0x0 0x4>;
22+
};

Documentation/devicetree/bindings/rtc/trivial-rtc.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,6 @@ properties:
5252
- nxp,pcf2127
5353
# Real-time clock
5454
- nxp,pcf2129
55-
# Real-time clock/calendar
56-
- nxp,pcf8563
5755
# Real-time Clock Module
5856
- pericom,pt7c4338
5957
# I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1466,6 +1466,7 @@ F: arch/arm64/boot/dts/amlogic/
14661466
F: drivers/pinctrl/meson/
14671467
F: drivers/mmc/host/meson*
14681468
F: drivers/soc/amlogic/
1469+
F: drivers/rtc/rtc-meson*
14691470
N: meson
14701471

14711472
ARM/Amlogic Meson SoC Sound Drivers

drivers/rtc/Kconfig

Lines changed: 34 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,17 @@ config RTC_DRV_MAX77686
373373
This driver can also be built as a module. If so, the module
374374
will be called rtc-max77686.
375375

376+
config RTC_DRV_MESON_VRTC
377+
tristate "Amlogic Meson Virtual RTC"
378+
depends on ARCH_MESON || COMPILE_TEST
379+
default m if ARCH_MESON
380+
help
381+
If you say yes here you will get support for the
382+
Virtual RTC of Amlogic SoCs.
383+
384+
This driver can also be built as a module. If so, the module
385+
will be called rtc-meson-vrtc.
386+
376387
config RTC_DRV_RK808
377388
tristate "Rockchip RK805/RK808/RK809/RK817/RK818 RTC"
378389
depends on MFD_RK808
@@ -500,6 +511,7 @@ config RTC_DRV_M41T80_WDT
500511
watchdog timer in the ST M41T60 and M41T80 RTC chips series.
501512
config RTC_DRV_BD70528
502513
tristate "ROHM BD70528 PMIC RTC"
514+
depends on MFD_ROHM_BD70528 && (BD70528_WATCHDOG || !BD70528_WATCHDOG)
503515
help
504516
If you say Y here you will get support for the RTC
505517
on ROHM BD70528 Power Management IC.
@@ -874,9 +886,15 @@ config RTC_DRV_DS3232_HWMON
874886
config RTC_DRV_PCF2127
875887
tristate "NXP PCF2127"
876888
depends on RTC_I2C_AND_SPI
889+
select WATCHDOG_CORE if WATCHDOG
877890
help
878891
If you say yes here you get support for the NXP PCF2127/29 RTC
879-
chips.
892+
chips with integrated quartz crystal for industrial applications.
893+
Both chips also have watchdog timer and tamper switch detection
894+
features.
895+
896+
PCF2127 has an additional feature of 512 bytes battery backed
897+
memory that's accessible using nvmem interface.
880898

881899
This driver can also be built as a module. If so, the module
882900
will be called rtc-pcf2127.
@@ -1247,13 +1265,6 @@ config RTC_DRV_AB8500
12471265
Select this to enable the ST-Ericsson AB8500 power management IC RTC
12481266
support. This chip contains a battery- and capacitor-backed RTC.
12491267

1250-
config RTC_DRV_NUC900
1251-
tristate "NUC910/NUC920 RTC driver"
1252-
depends on ARCH_W90X900 || COMPILE_TEST
1253-
help
1254-
If you say yes here you get support for the RTC subsystem of the
1255-
NUC910/NUC920 used in embedded systems.
1256-
12571268
config RTC_DRV_OPAL
12581269
tristate "IBM OPAL RTC driver"
12591270
depends on PPC_POWERNV
@@ -1323,6 +1334,21 @@ config RTC_DRV_IMXDI
13231334
This driver can also be built as a module, if so, the module
13241335
will be called "rtc-imxdi".
13251336

1337+
config RTC_DRV_FSL_FTM_ALARM
1338+
tristate "Freescale FlexTimer alarm timer"
1339+
depends on ARCH_LAYERSCAPE || SOC_LS1021A
1340+
select FSL_RCPM
1341+
default y
1342+
help
1343+
For the FlexTimer in LS1012A, LS1021A, LS1028A, LS1043A, LS1046A,
1344+
LS1088A, LS208xA, we can use FTM as the wakeup source.
1345+
1346+
Say y here to enable FTM alarm support. The FTM alarm provides
1347+
alarm functions for wakeup system from deep sleep.
1348+
1349+
This driver can also be built as a module, if so, the module
1350+
will be called "rtc-fsl-ftm-alarm".
1351+
13261352
config RTC_DRV_MESON
13271353
tristate "Amlogic Meson RTC"
13281354
depends on (ARM && ARCH_MESON) || COMPILE_TEST

drivers/rtc/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ obj-$(CONFIG_RTC_DRV_EFI) += rtc-efi.o
7373
obj-$(CONFIG_RTC_DRV_EM3027) += rtc-em3027.o
7474
obj-$(CONFIG_RTC_DRV_EP93XX) += rtc-ep93xx.o
7575
obj-$(CONFIG_RTC_DRV_FM3130) += rtc-fm3130.o
76+
obj-$(CONFIG_RTC_DRV_FSL_FTM_ALARM) += rtc-fsl-ftm-alarm.o
7677
obj-$(CONFIG_RTC_DRV_FTRTC010) += rtc-ftrtc010.o
7778
obj-$(CONFIG_RTC_DRV_GENERIC) += rtc-generic.o
7879
obj-$(CONFIG_RTC_DRV_GOLDFISH) += rtc-goldfish.o
@@ -102,6 +103,7 @@ obj-$(CONFIG_RTC_DRV_MAX8907) += rtc-max8907.o
102103
obj-$(CONFIG_RTC_DRV_MAX8925) += rtc-max8925.o
103104
obj-$(CONFIG_RTC_DRV_MAX8997) += rtc-max8997.o
104105
obj-$(CONFIG_RTC_DRV_MAX8998) += rtc-max8998.o
106+
obj-$(CONFIG_RTC_DRV_MESON_VRTC)+= rtc-meson-vrtc.o
105107
obj-$(CONFIG_RTC_DRV_MC13XXX) += rtc-mc13xxx.o
106108
obj-$(CONFIG_RTC_DRV_MCP795) += rtc-mcp795.o
107109
obj-$(CONFIG_RTC_DRV_MESON) += rtc-meson.o
@@ -113,7 +115,6 @@ obj-$(CONFIG_RTC_DRV_MT7622) += rtc-mt7622.o
113115
obj-$(CONFIG_RTC_DRV_MV) += rtc-mv.o
114116
obj-$(CONFIG_RTC_DRV_MXC) += rtc-mxc.o
115117
obj-$(CONFIG_RTC_DRV_MXC_V2) += rtc-mxc_v2.o
116-
obj-$(CONFIG_RTC_DRV_NUC900) += rtc-nuc900.o
117118
obj-$(CONFIG_RTC_DRV_OMAP) += rtc-omap.o
118119
obj-$(CONFIG_RTC_DRV_OPAL) += rtc-opal.o
119120
obj-$(CONFIG_RTC_DRV_PALMAS) += rtc-palmas.o

0 commit comments

Comments
 (0)