On Thu, 9 Feb 2023 at 19:05, Eric Chanudet <echanude@xxxxxxxxxx> wrote: > > On Wed, Feb 01, 2023 at 04:20:38PM +0100, Bartosz Golaszewski wrote: > > From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > > > > This adds basic support for the Qualcomm sa8775p platform and the > > reference board: sa8775p-ride. The dt files describe the basics of the > > SoC and enable booting to shell. > > > > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > > Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> > > --- [...] > > + > > + watchdog@17c10000 { > > + compatible = "qcom,apss-wdt-sa8775p", "qcom,kpss-wdt"; > > + reg = <0x0 0x17c10000 0x0 0x1000>; > > + clocks = <&sleep_clk>; > > + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; > > + }; > > Trying this DTS on sa8775p-ride with next-20230209, I get this splat > with the qcom_wdt: > > [ 2.667479] Internal error: synchronous external abort: 0000000096000010 [#1] PREEMPT SMP > [ 2.675911] Modules linked in: qcom_wdt(+) crct10dif_ce socinfo fuse ipv6 > [ 2.675931] CPU: 5 PID: 155 Comm: systemd-udevd Not tainted 6.2.0-rc7-next-20230209-00011-g897899f9de9e #80 > [ 2.675936] Hardware name: Qualcomm SA8775P Ride (DT) > [ 2.675938] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) > [ 2.675942] pc : qcom_wdt_probe+0x20c/0x388 [qcom_wdt] > [ 2.675964] lr : qcom_wdt_probe+0x308/0x388 [qcom_wdt] > [ 2.675970] sp : ffff80000a4db8e0 > [ 2.675971] x29: ffff80000a4db8e0 x28: 0000000000000000 x27: ffff80000a4dbd50 > [ 2.675975] x26: 0000000000000000 x25: ffff80000a4dbcd0 x24: ffff060041723680 > [ 2.675978] x23: ffff060040c2b400 x22: ffffdc111597c560 x21: ffff060040c2b410 > [ 2.675981] x20: ffff060040959e80 x19: 0000000000000000 x18: ffffffffffffffff > [ 2.675984] x17: 0000000000000000 x16: ffffdc116777c59c x15: ffff80000a4db670 > [ 2.675987] x14: ffff80008a4db7cd x13: 007473696c5f7974 x12: 0000000000000001 > [ 2.675990] x11: 0000000000000040 x10: ffffdc1169893790 x9 : 0000000000000000 > [ 2.675994] x8 : ffff0600414ffd80 x7 : 0000000000000000 x6 : 0000000000000000 > [ 2.675997] x5 : ffff0600414ffc88 x4 : ffff060040c2b610 x3 : 0000000000007ffc > [ 2.676001] x2 : 0000000000000001 x1 : 000000000000000c x0 : ffff800008f5d00c > [ 2.676004] Call trace: > [ 2.676006] qcom_wdt_probe+0x20c/0x388 [qcom_wdt] > [ 2.676013] platform_probe+0x68/0xc4 > [ 2.676026] really_probe+0x148/0x2ac > [ 2.676038] __driver_probe_device+0x78/0xe0 > [ 2.676042] driver_probe_device+0x3c/0x15c > [ 2.676045] __driver_attach+0x94/0x19c > [ 2.676048] bus_for_each_dev+0x74/0xcc > [ 2.676052] driver_attach+0x24/0x30 > [ 2.676055] bus_add_driver+0x104/0x204 > [ 2.676059] driver_register+0x68/0x12c > [ 2.676063] __platform_driver_register+0x28/0x34 > [ 2.676065] qcom_watchdog_driver_init+0x20/0x1000 [qcom_wdt] > [ 2.676072] do_one_initcall+0x80/0x1c4 > [ 2.676081] do_init_module+0x58/0x1e8 > [ 2.676088] load_module+0x19d4/0x1a18 > [ 2.676091] __do_sys_finit_module+0xa8/0xfc > [ 2.676095] __arm64_sys_finit_module+0x20/0x2c > [ 2.676098] invoke_syscall+0x48/0x114 > [ 2.676107] el0_svc_common.constprop.0+0xcc/0xec > [ 2.676110] do_el0_svc+0x38/0x98 > [ 2.676113] el0_svc+0x2c/0x84 > [ 2.676121] el0t_64_sync_handler+0xf4/0x120 > [ 2.676123] el0t_64_sync+0x190/0x194 > [ 2.676129] Code: f94002c1 f9006a81 b9400821 8b010000 (b9400000) > [ 2.676135] ---[ end trace 0000000000000000 ]--- > > I most likely did not see it before as I either had qcom_wdt configured > out or disabled on the kernel cmdline. > On Bjorn's board I can probe the watchdog and even trigger it from user-space (although it doesn't seem to reset the board, it just freezes - not sure if that's not Bjorn's setup as rebooting the board from console doesn't work either). Can this be the hypervisor's doing? Bart [...]