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

Merge tag 'omap-for-v5.17/fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/fixes

Fixes for omaps

Fixes for devkit8000 timer regression. Similar to the earlier beagleboard
fixes, we must not configure the clocksource drivers to use an alternative
timer configuration. It causes unnecessary issues with power management.
Only some old designs based on early beagleboard revisions with a miswired
timer need to use the alternative timer.

* tag 'omap-for-v5.17/fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: dts: Use 32KiHz oscillator on devkit8000
ARM: dts: switch timer config to common devkit8000 devicetree

Link: https://lore.kernel.org/r/pull-1645606483-876944@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+19 -35
+18
arch/arm/boot/dts/omap3-devkit8000-common.dtsi
··· 158 158 status = "disabled"; 159 159 }; 160 160 161 + /* Unusable as clockevent because if unreliable oscillator, allow to idle */ 162 + &timer1_target { 163 + /delete-property/ti,no-reset-on-init; 164 + /delete-property/ti,no-idle; 165 + timer@0 { 166 + /delete-property/ti,timer-alwon; 167 + }; 168 + }; 169 + 170 + /* Preferred timer for clockevent */ 171 + &timer12_target { 172 + ti,no-reset-on-init; 173 + ti,no-idle; 174 + timer@0 { 175 + /* Always clocked by secure_32k_fck */ 176 + }; 177 + }; 178 + 161 179 &twl_gpio { 162 180 ti,use-leds; 163 181 /*
-33
arch/arm/boot/dts/omap3-devkit8000.dts
··· 14 14 display2 = &tv0; 15 15 }; 16 16 }; 17 - 18 - /* Unusable as clocksource because of unreliable oscillator */ 19 - &counter32k { 20 - status = "disabled"; 21 - }; 22 - 23 - /* Unusable as clockevent because if unreliable oscillator, allow to idle */ 24 - &timer1_target { 25 - /delete-property/ti,no-reset-on-init; 26 - /delete-property/ti,no-idle; 27 - timer@0 { 28 - /delete-property/ti,timer-alwon; 29 - }; 30 - }; 31 - 32 - /* Preferred always-on timer for clocksource */ 33 - &timer12_target { 34 - ti,no-reset-on-init; 35 - ti,no-idle; 36 - timer@0 { 37 - /* Always clocked by secure_32k_fck */ 38 - }; 39 - }; 40 - 41 - /* Preferred timer for clockevent */ 42 - &timer2_target { 43 - ti,no-reset-on-init; 44 - ti,no-idle; 45 - timer@0 { 46 - assigned-clocks = <&gpt2_fck>; 47 - assigned-clock-parents = <&sys_ck>; 48 - }; 49 - };
+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 }