Messages in this thread | | | Date | Sat, 11 Dec 2021 17:30:57 +0200 | Subject | Re: [PATCH] ARM: dts: Fix timer regression for beagleboard revision c | From | Jarkko Nikula <> |
| |
Hi Tony
On 11/25/21 16:48, Tony Lindgren wrote: > Commit e428e250fde6 ("ARM: dts: Configure system timers for omap3") > caused a timer regression for beagleboard revision c where the system > clockevent stops working if omap3isp module is unloaded. > > Turns out we still have beagleboard revisions a-b4 capacitor c70 quirks > applied that limit the usable timers for no good reason. This also affects > the power management as we use the system clock instead of the 32k clock > source. > > Let's fix the issue by adding a new omap3-beagle-ab4.dts for the old timer > quirks. This allows us to remove the timer quirks for later beagleboard > revisions. We also need to update the related timer quirk check for the > correct compatible property. > > Fixes: e428e250fde6 ("ARM: dts: Configure system timers for omap3") > Cc: linux-kernel@vger.kernel.org > Cc: Daniel Lezcano <daniel.lezcano@linaro.org> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: Rob Herring <robh+dt@kernel.org> > Reported-by: Jarkko Nikula <jarkko.nikula@bitmer.com> > Signed-off-by: Tony Lindgren <tony@atomide.com> > ---
> .../devicetree/bindings/arm/omap/omap.txt | 3 ++ > arch/arm/boot/dts/Makefile | 1 + > arch/arm/boot/dts/omap3-beagle-ab4.dts | 47 +++++++++++++++++++ > arch/arm/boot/dts/omap3-beagle.dts | 33 ------------- > drivers/clocksource/timer-ti-dm-systimer.c | 2 +- > 5 files changed, 52 insertions(+), 34 deletions(-) > create mode 100644 arch/arm/boot/dts/omap3-beagle-ab4.dts > I must have some error in my methodology since I cannot see the issue being fixed with your patch :-(
Testing at commit 6f513529296f ("Merge tag 'for-5.16-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux")
alias ma='nice make -j `getconf _NPROCESSORS_ONLN` ARCH=arm CROSS_COMPILE="ccache arm-linux-gnueabihf-"'
make ARCH=arm omap2plus_defconfig ma cat arch/arm/boot/dts/omap3-beagle.dtb >>arch/arm/boot/zImage ma LOADADDR=0x80008000 uImage
-> copy uImage & modules, boot # rmmod omap3_isp # sleep 1 -> This is the regression. Sleep is blocked until I hit keys over serial console
rm vmlinux arch/arm/boot/zImage patch -p1 </tmp/your-mail.eml
ma cat arch/arm/boot/dts/omap3-beagle-ab4.dtb >>arch/arm/boot/zImage ma LOADADDR=0x80008000 uImage
-> copy uImage & modules to µSD, boot # rmmod omap3_isp # sleep 1 -> is still blocked until I hit keys over serial console
When I compare the dmesg this is the only difference (along with "linux version" line) before user space starts. I.e. timer configuration is the same in both.
[ 0.000000] OF: fdt: Machine model: TI OMAP3 BeagleBoard -> [ 0.000000] OF: fdt: Machine model: TI OMAP3 BeagleBoard A to B4
Jarkko
| |