arm64: dts: qcom: msm8939: Add clock-frequency for broadcast timer
authorStephan Gerhold <stephan@gerhold.net>
Mon, 4 Dec 2023 09:55:53 +0000 (10:55 +0100)
committerBjorn Andersson <andersson@kernel.org>
Sat, 16 Dec 2023 05:05:36 +0000 (23:05 -0600)
Looks like not all firmware versions used for MSM8939 program the timer
frequency for both broadcast/MMIO timers, causing a WARNING at runtime:

WARNING: CPU: 0 PID: 0 at kernel/time/clockevents.c:38 cev_delta2ns+0x74/0x90
pc : cev_delta2ns+0x74/0x90
lr : clockevents_config.part.0+0x64/0x8c
Call trace:
 cev_delta2ns+0x74/0x90
 clockevents_config_and_register+0x20/0x34
 arch_timer_mem_of_init+0x374/0x534
 timer_probe+0x88/0x110
 time_init+0x14/0x4c
 start_kernel+0x2c0/0x640

Unfortunately there is no way to fix the firmware on most of these
devices since it's proprietary and signed. As a workaround, specify the
clock-frequency explicitly in the DT to fix the warning.

Fixes: 61550c6c156c ("arm64: dts: qcom: Add msm8939 SoC")
Reported-by: Vincent Knecht <vincent.knecht@mailoo.org>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20231204-msm8939-timer-v1-1-a2486c625786@gerhold.net
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/msm8939.dtsi

index 95610a3..4ba115e 100644 (file)
                        #address-cells = <1>;
                        #size-cells = <1>;
                        ranges;
+                       /* Necessary because firmware does not configure this correctly */
+                       clock-frequency = <19200000>;
 
                        frame@b121000 {
                                reg = <0x0b121000 0x1000>,