You've already forked linux-rockchip
mirror of
https://github.com/armbian/linux-rockchip.git
synced 2026-01-06 11:08:10 -08:00
rtc: Introduce ti-k3-rtc
Introduce support for Texas Instruments Real Time Clock controller on newer K3 family of SoCs such as AM62x. The hardware module that is being supported is the "digital only" version which doesn't have capability of external wakeup sources and external power backup. However, for many practical applications, this should suffice as RTC is operational across low power sequences. The hardware block by itself is split into two distinct domains internally to further reduce the power consumption with the actual counter block and comparators clocked off a 32k clock source (which based on SoC integration can be sourced by an external crystal) and an register interface block which is driven by the bus clock. While optimal from power perspective, it does create some complicated synchronizations and sequences that one must be wary of in the driver handling. Acked-by: Andrew Davis <afd@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com> Tested-by: Georgi Vlaev <g-vlaev@ti.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20220623170808.20998-3-nm@ti.com
This commit is contained in:
committed by
Alexandre Belloni
parent
5e665cf1f0
commit
b09d633575
@@ -1929,6 +1929,17 @@ config RTC_DRV_ASPEED
|
||||
This driver can also be built as a module, if so, the module
|
||||
will be called "rtc-aspeed".
|
||||
|
||||
config RTC_DRV_TI_K3
|
||||
tristate "TI K3 RTC"
|
||||
depends on ARCH_K3 || COMPILE_TEST
|
||||
select REGMAP_MMIO
|
||||
help
|
||||
If you say yes here you get support for the Texas Instruments's
|
||||
Real Time Clock for K3 architecture.
|
||||
|
||||
This driver can also be built as a module, if so, the module
|
||||
will be called "rtc-ti-k3".
|
||||
|
||||
comment "HID Sensor RTC drivers"
|
||||
|
||||
config RTC_DRV_HID_SENSOR_TIME
|
||||
|
||||
@@ -173,6 +173,7 @@ obj-$(CONFIG_RTC_DRV_SUNPLUS) += rtc-sunplus.o
|
||||
obj-$(CONFIG_RTC_DRV_SUNXI) += rtc-sunxi.o
|
||||
obj-$(CONFIG_RTC_DRV_TEGRA) += rtc-tegra.o
|
||||
obj-$(CONFIG_RTC_DRV_TEST) += rtc-test.o
|
||||
obj-$(CONFIG_RTC_DRV_TI_K3) += rtc-ti-k3.o
|
||||
obj-$(CONFIG_RTC_DRV_TPS6586X) += rtc-tps6586x.o
|
||||
obj-$(CONFIG_RTC_DRV_TPS65910) += rtc-tps65910.o
|
||||
obj-$(CONFIG_RTC_DRV_TWL4030) += rtc-twl.o
|
||||
|
||||
680
drivers/rtc/rtc-ti-k3.c
Normal file
680
drivers/rtc/rtc-ti-k3.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user