Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: Use 32KiHz oscillator on devkit8000

Devkit8000 board seems to always used 32k_counter as clocksource.
Restore this behavior.

If clocksource is back to 32k_counter, timer12 is now the clockevent
source (as before) and timer2 is not longer needed here.

This commit fixes the same issue observed with commit 23885389dbbb
("ARM: dts: Fix timer regression for beagleboard revision c") when sleep
is blocked until hitting keys over serial console.

Fixes: aba1ad05da08 ("clocksource/drivers/timer-ti-dm: Add clockevent and clocksource support")
Fixes: e428e250fde6 ("ARM: dts: Configure system timers for omap3")
Signed-off-by: Anthoine Bourgeois <anthoine.bourgeois@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>

authored by

Anthoine Bourgeois and committed by
Tony Lindgren
8840f546 64324ef3

+2 -18
+1 -16
arch/arm/boot/dts/omap3-devkit8000-common.dtsi
··· 158 158 status = "disabled"; 159 159 }; 160 160 161 - /* Unusable as clocksource because of unreliable oscillator */ 162 - &counter32k { 163 - status = "disabled"; 164 - }; 165 - 166 161 /* Unusable as clockevent because if unreliable oscillator, allow to idle */ 167 162 &timer1_target { 168 163 /delete-property/ti,no-reset-on-init; ··· 167 172 }; 168 173 }; 169 174 170 - /* Preferred always-on timer for clocksource */ 175 + /* Preferred timer for clockevent */ 171 176 &timer12_target { 172 177 ti,no-reset-on-init; 173 178 ti,no-idle; 174 179 timer@0 { 175 180 /* Always clocked by secure_32k_fck */ 176 - }; 177 - }; 178 - 179 - /* Preferred timer for clockevent */ 180 - &timer2_target { 181 - ti,no-reset-on-init; 182 - ti,no-idle; 183 - timer@0 { 184 - assigned-clocks = <&gpt2_fck>; 185 - assigned-clock-parents = <&sys_ck>; 186 181 }; 187 182 }; 188 183
+1 -2
drivers/clocksource/timer-ti-dm-systimer.c
··· 241 241 bool quirk_unreliable_oscillator = false; 242 242 243 243 /* Quirk unreliable 32 KiHz oscillator with incomplete dts */ 244 - if (of_machine_is_compatible("ti,omap3-beagle-ab4") || 245 - of_machine_is_compatible("timll,omap3-devkit8000")) { 244 + if (of_machine_is_compatible("ti,omap3-beagle-ab4")) { 246 245 quirk_unreliable_oscillator = true; 247 246 counter_32k = -ENODEV; 248 247 }