All of lore.kernel.org
 help / color / mirror / Atom feed
* External data abort on ipq6018 gpio # 20 ~ offset 0x14000 any ideas ?
@ 2021-12-31 17:05 Bryan O'Donoghue
  2021-12-31 21:18 ` Bjorn Andersson
  0 siblings, 1 reply; 6+ messages in thread
From: Bryan O'Donoghue @ 2021-12-31 17:05 UTC (permalink / raw)
  To: linux-arm-msm, Baruch Siach, Sricharan R, arajkuma, speriaka, sivaprak
  Cc: jason, Bjorn Andersson, linus.walleij

Hi.

I've been poking a problem on an ipq6018 board I have. Specifically it 
pertains to the address range for GPIO # 20, touching any address in the 
range 0x14000 - 0x14FFC results in data-abort.

I initially encountered this with the upstream kernel here:
https://paste.debian.net/1225390/

and assumed that I was doing something wrong, so went hunting for 
evidence that the downstream kernel touched the registers in that range, 
my assumption that something extra was happening the downstream kernel 
to make the register read kosher, turned out to be wrong, assuming 
something like the transition from arm32 to arm64 or a trustzone setting 
getting in the way.

Downstream doesn't touch that register with the default drivers and 
shipping DTS files.

Modifying the downstream kernel to do a simple read of each ctrl_reg 
makes downstream choke on the address too.

This is the only bootable version of the downstream kernel reading every 
ctrl_reg in the range of gpio0 - gpio79 - skipping gpio20 since even 
downstream the address range 0x14000 - 0x14FFC is broken.

In other words I can prove the problem is only with the physical range 
0x01014000 - 0x01014FFC

gpio19 @ 01013000 - 01013FFC is fine
gpio21 @ 01015000 - 01015FFC is fine

the issue is limited to gpio20 @ 0x01014000 - 0x01014FFC

Downstream kernel:
https://paste.debian.net/1225388/

This is also the case when doing a dumb dump in u-boot
Stock u-boot:

https://paste.debian.net/1225389/
https://paste.debian.net/1225396/

Is there a sku of this SoC which perhaps reserves 0x14000 - 0x14FFC or a 
version of the firmware that does so ?

I've already discussed this offline with Baruch who suggested firmware 
versions based on previous feedback working with this part, however the 
firmware version on the board is newer than what was suggested here

https://lore.kernel.org/all/5ba36dcd7c50b640e0bdaf5b9c2248f3@codeaurora.org/

"Please try with TZ version >= TZ.WNS.5.1-00084."

admin@OpenWrt:~$ cat /proc/device-tree/tz_version
CRM-TZ.WNS.5.1-00113
admin@OpenWrt:~$ cat /proc/device-tree/tz_version
CRM-TZ.WNS.5.1-00113
admin@OpenWrt:~$ cat /proc/device-tree/rpm_version
CRM-RPM.BF.2.4.1-00089
admin@OpenWrt:~$  cat /proc/device-tree/boot_version
crm-ubuntu47-BOOT.XF.0.3-00090-IPQ60xxLZB-2

I'm not far off writing a patch based on a "compatible" string to mark 
gpio # 20 as bad - any other ideas or insights welcome though.

---
bod

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-01-05  1:20 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-31 17:05 External data abort on ipq6018 gpio # 20 ~ offset 0x14000 any ideas ? Bryan O'Donoghue
2021-12-31 21:18 ` Bjorn Andersson
2022-01-01  8:02   ` Linus Walleij
2022-01-01 15:47   ` Bryan O'Donoghue
2022-01-03  5:47     ` Kathiravan T
2022-01-05  1:22       ` Bryan O'Donoghue

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.