arm64: dts: allwinner: Mark timer as stopped in suspend
authorSamuel Holland <samuel@sholland.org>
Sun, 9 Aug 2020 02:18:22 +0000 (21:18 -0500)
committerMaxime Ripard <maxime@cerno.tech>
Tue, 18 Aug 2020 09:09:30 +0000 (11:09 +0200)
commita371b1bdf2b85840de7e3267eaedef9a585541c0
treee1bf062e99bf95e3aee35ece39d0a0cd5309f237
parent7db1aa6ff9811b4ba24814d8eb40b21555ca0492
arm64: dts: allwinner: Mark timer as stopped in suspend

When possible, system firmware on 64-bit Allwinner platforms disables
OSC24M during system suspend. Since this oscillator is the clock source
for the ARM architectural timer, this causes the timer to stop counting.
Therefore, the ARM architectural timer must not be marked as NONSTOP on
these platforms, or the time will be wrong after system resume.

Adding the arm,no-tick-in-suspend property forces the kernel to ignore
the ARM architectural timer when calculating sleeptime; it falls back to
reading the RTC. Note that this only affects deep suspend, not s2idle.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20200809021822.5285-1-samuel@sholland.org
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi