summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
diff options
context:
space:
mode:
authorSamuel Holland <samuel@sholland.org>2021-03-22 07:47:06 +0300
committerMaxime Ripard <maxime@cerno.tech>2021-05-11 11:17:51 +0300
commit12bcaacaff49fc18612a7df21b76235ca8eb5c7f (patch)
tree2e4f6112c55629229e9eaf3cdc9420bd563b845a /arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
parentaf97dd5559c59050f452997a4328b1a794f6fd6a (diff)
downloadlinux-12bcaacaff49fc18612a7df21b76235ca8eb5c7f.tar.xz
arm64: dts: allwinner: Add sun4i MMIO timer nodes
For a CPU to enter an idle state, some timer must be available to trigger an IRQ and wake it back up. The local ARM architectural timer is not sufficient, because that timer stops when the CPU is powered down. The ARM architectural timer from some other CPU can be used, but doing so prevents that other CPU from entering an idle state. For all CPUs to power down at the same time, Linux needs a timer which is not tied to any CPU. Hook up the "sun4i" timer so it can be used for this purpose. It runs at 24 MHz, which balances resolution and power consumption. Signed-off-by: Samuel Holland <samuel@sholland.org> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Maxime Ripard <maxime@cerno.tech> Link: https://lore.kernel.org/r/20210322044707.19479-5-samuel@sholland.org
Diffstat (limited to 'arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi')
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
index 50815867ce7b..30d396e8c762 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
@@ -271,6 +271,15 @@
};
};
+ timer@3009000 {
+ compatible = "allwinner,sun50i-h6-timer",
+ "allwinner,sun8i-a23-timer";
+ reg = <0x03009000 0xa0>;
+ interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&osc24M>;
+ };
+
watchdog: watchdog@30090a0 {
compatible = "allwinner,sun50i-h6-wdt",
"allwinner,sun6i-a31-wdt";