linux-brain/drivers/clk/ti
Tony Lindgren 5babc39775 clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940
commit 25de4ce5ed02994aea8bc111d133308f6fd62566 upstream.

There is a timer wrap issue on dra7 for the ARM architected timer.
In a typical clock configuration the timer fails to wrap after 388 days.

To work around the issue, we need to use timer-ti-dm percpu timers instead.

Let's configure dmtimer3 and 4 as percpu timers by default, and warn about
the issue if the dtb is not configured properly.

For more information, please see the errata for "AM572x Sitara Processors
Silicon Revisions 1.1, 2.0":

https://www.ti.com/lit/er/sprz429m/sprz429m.pdf

The concept is based on earlier reference patches done by Tero Kristo and
Keerthy.

Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Keerthy <j-keerthy@ti.com>
Cc: Tero Kristo <kristo@kernel.org>
[tony@atomide.com: backported to 5.4.y]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-23 14:41:31 +02:00
..
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile clk: ti: dra7xx: rename existing clkctrl data as compat data 2018-10-03 15:02:27 +03:00
adpll.c clk/ti/adpll: allocate room for terminating null 2020-10-01 13:17:16 +02:00
apll.c clk: ti: Don't reference clk_init_data after registration 2019-08-16 10:22:46 -07:00
autoidle.c clk: ti: check clock type before doing autoidle ops 2019-02-15 16:47:55 +02:00
clk-2xxx.c Merge branch 'cleanup-clk-h-includes' into clk-next 2015-07-28 11:59:09 -07:00
clk-3xxx.c clk: ti: omap3: cleanup unnecessary clock aliases 2017-12-01 15:17:17 +02:00
clk-7xx-compat.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
clk-7xx.c clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940 2021-06-23 14:41:31 +02:00
clk-33xx-compat.c clk: ti: am33xx: rename existing clkctrl data as compat data 2018-10-03 15:02:26 +03:00
clk-33xx.c clk: ti: am33xx: fix RTC clock parent 2020-06-03 08:21:13 +02:00
clk-43xx-compat.c clk: ti: am43xx: rename existing clkctrl data as compat data 2018-10-03 15:02:26 +03:00
clk-43xx.c clk: ti: am43xx: Fix clock parent for RTC clock 2020-04-02 15:11:02 +02:00
clk-44xx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
clk-54xx.c clk: ti: add clkctrl data omap5 sgx 2019-08-26 08:47:07 -07:00
clk-814x.c clk: ti: dm814x: Add of_node_put() to prevent memory leak 2019-08-07 15:26:39 -07:00
clk-816x.c clk: ti: dm816: add clkctrl clock data 2017-12-01 15:18:06 +02:00
clk-dra7-atl.c clk: ti: dra7-atl-clock: Remove ti_clk_add_alias call 2019-11-04 09:56:11 -08:00
clk.c clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
clkctrl.c clk: ti: clkctrl: Fix failed to enable error with double udelay timeout 2019-11-04 09:56:53 -08:00
clkt_dflt.c clk: ti: convert to use proper register definition for all accesses 2017-03-08 13:06:15 +02:00
clkt_dpll.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
clkt_iclk.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
clock.h clk: ti: dra7: disable the RNG and TIMER12 clkctrl clocks on HS devices 2019-04-25 10:51:36 -07:00
clockdomain.c clk: ti: clockdomain: fix static checker warning 2020-11-05 11:43:20 +01:00
composite.c clk: ti: composite: fix memory leak 2020-06-24 17:50:26 +02:00
divider.c clk: ti: Remove unused functions 2019-06-07 11:54:48 -07:00
dpll.c Merge branches 'clk-renesas', 'clk-rockchip', 'clk-const' and 'clk-simplify' into clk-next 2019-09-19 15:31:41 -07:00
dpll3xxx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
dpll44xx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
fapll.c clk: ti: Fix memleak in ti_fapll_synth_setup 2020-12-30 11:51:28 +01:00
fixed-factor.c clk: Convert to using %pOFn instead of device_node.name 2018-08-30 09:50:20 -07:00
gate.c clk: ti: Remove unused functions 2019-06-07 11:54:48 -07:00
interface.c clk: ti: generalize the init sequence of clk_hw_omap clocks 2019-02-15 16:46:22 +02:00
mux.c clk: ti: Remove unused functions 2019-06-07 11:54:48 -07:00