ARM: dts: exynos: Add support ARM architected timers on Exynos5
authorMarek Szyprowski <m.szyprowski@samsung.com>
Wed, 28 Aug 2019 12:10:04 +0000 (14:10 +0200)
committerKrzysztof Kozlowski <krzk@kernel.org>
Wed, 2 Oct 2019 15:39:57 +0000 (17:39 +0200)
All CortexA7/A15 based Exynos5 SoCs have ARM architected timers, so enable
support for them directly in the base dtsi. None of the known firmware
properly configures CNTFRQ arch timer register, so force clock frequency
to 24MHz, which is the only configuration supported by the remaining
clock drivers so far.

Stock firmware for Peach Pit and Pi Chromebooks also doesn't reset
properly other arch timer registers, so add respective properties
indicating that. Other Exynos5-based boards behaves correctly in this area,
what finally allows to enable support for KVM-based virtualization.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
arch/arm/boot/dts/exynos5420-peach-pit.dts
arch/arm/boot/dts/exynos54xx.dtsi
arch/arm/boot/dts/exynos5800-peach-pi.dts

index 9eb48cabcca450878f829e15562effaa476bf777..2bcbdf8a39bf5142625a51a67ca32e1eb830a8fc 100644 (file)
        status = "okay";
 };
 
+&timer {
+       arm,cpu-registers-not-fw-configured;
+};
+
 &tmu_cpu0 {
        vtmu-supply = <&ldo10_reg>;
 };
index 9c3b63b7cac6c54f2f6ec49f71230b62d163b526..02d34957cd836d655f05dd2ef83a3bc7282e96c5 100644 (file)
                status = "disabled";
        };
 
+       timer: timer {
+               compatible = "arm,armv7-timer";
+               interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+                            <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+                            <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+                            <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
+               clock-frequency = <24000000>;
+       };
+
        soc: soc {
                sysram@2020000 {
                        compatible = "mmio-sram";
index 4398f2d1fe88171a989f2b928b78570f7169de12..60ca3d685247869167e9276746c9c492998e9b91 100644 (file)
        status = "okay";
 };
 
+&timer {
+       arm,cpu-registers-not-fw-configured;
+};
+
 &tmu_cpu0 {
        vtmu-supply = <&ldo10_reg>;
 };