Thread (23 messages) 23 messages, 5 authors, 2025-09-08

Re: [PATCH v4 2/3] pinctrl: bcm: Add STB family pin controller driver

From: Peter Robinson <hidden>
Date: 2025-09-07 16:24:56
Also in: linux-devicetree, linux-gpio

Hey Andrea,
On 21:06 Thu 04 Sep     , Linus Walleij wrote:
quoted
On Thu, Aug 28, 2025 at 2:45 PM Andrea della Porta
[off-list ref] wrote:
quoted
From: "Ivan T. Ivanov" <redacted>

This driver provide pin muxing and configuration functionality
for BCM2712 SoC used by RPi5. According to [1] this chip is an
instance of the one used in Broadcom STB  product line.

[1] https://lore.kernel.org/lkml/f6601f73-cb22-4ba3-88c5-241be8421fc3@broadcom.com/ (local)

Cc: Jonathan Bell <redacted>
Cc: Phil Elwell <redacted>
Signed-off-by: Ivan T. Ivanov <redacted>
Reviewed-by: Phil Elwell <redacted>
Signed-off-by: Andrea della Porta <andrea.porta@suse.com>
Patch applied!
quoted
+config PINCTRL_BRCMSTB
+        tristate "Broadcom STB product line pin controller driver"
+        depends on OF && (ARCH_BRCMSTB || COMPILE_TEST)
I changed this to (ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST)
because Peter Robinson told me the Pi5 needs this driver too.
See commit 1d99f92f71b6b4b2eee776562c991428490f71ef for details.
Indeed, thanks for spotting this!
I've been testing this, and other associated patches, with Fedora
(feel free to cc: me on any patches too) and I'm seeing the following
crash on the 2Gb model, someone else reported to me they see it on
their 16gb, I'm assuming there's some issue/nuance in the d0 rev of
the SoC that causes issues. Wondering if you've done any testing with
the newer SoC rev or know of any issues there?

Peter

[   56.289183] SError Interrupt on CPU3, code 0x00000000be000011 -- SError
[   56.289194] CPU: 3 UID: 0 PID: 341 Comm: (udev-worker) Tainted: G
M               ------  ---  6.17.0-0.rc4.36.pr3.fc43.aarch64 #1
PREEMPT(voluntary)
[   56.289200] Tainted: [M]=MACHINE_CHECK
[   56.289201] Hardware name: raspberrypi Raspberry Pi 5 Model B Rev
1.0/Raspberry Pi 5 Model B Rev 1.0, BIOS 2025.04 04/01/2025
[   56.289204] pstate: 804000c9 (Nzcv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   56.289208] pc : brcmstb_pull_config_set+0x5c/0xd8
[   56.289216] lr : brcmstb_pull_config_set+0x44/0xd8
[   56.289220] sp : ffff800080663500
[   56.289221] x29: ffff800080663500 x28: ffffbcba6aaab480 x27: 0000000000000370
[   56.289227] x26: 0000ffffa9554298 x25: ffffbcbad6ad2360 x24: ffff000000776240
[   56.289231] x23: ffff0000011352b8 x22: ffff000002a16080 x21: 0000000000000014
[   56.289235] x20: 0000000000000118 x19: ffff000002a16080 x18: 00000000fffffffc
[   56.289239] x17: ffff0000010f1180 x16: ffffbcbad419c418 x15: 000000000000000a
[   56.289243] x14: ffffffffffffffff x13: 0000000000000001 x12: 0000000000000000
[   56.289247] x11: 0000000000000040 x10: 0000000000000000 x9 : ffffbcbad3dda6d4
[   56.289251] x8 : 0000000000000014 x7 : 0000000000000000 x6 : ffffbcbad3dda768
[   56.289254] x5 : ffff00000204f480 x4 : 0000000000000020 x3 : 0000000000000000
[   56.289258] x2 : 0000000000000001 x1 : 0000000000000000 x0 : 0000000000000000
[   56.289262] Kernel panic - not syncing: Asynchronous SError Interrupt
[   56.422659] CPU: 3 UID: 0 PID: 341 Comm: (udev-worker) Tainted: G
M               ------  ---  6.17.0-0.rc4.36.pr3.fc43.aarch64 #1
PREEMPT(voluntary)
[   56.436367] Tainted: [M]=MACHINE_CHECK
[   56.440123] Hardware name: raspberrypi Raspberry Pi 5 Model B Rev
1.0/Raspberry Pi 5 Model B Rev 1.0, BIOS 2025.04 04/01/2025
[   56.451472] Call trace:
[   56.453919]  show_stack+0x30/0x90 (C)
[   56.457595]  dump_stack_lvl+0x7c/0xa0
[   56.461268]  dump_stack+0x18/0x2c
[   56.464590]  vpanic+0x140/0x338
[   56.467737]  panic+0x68/0x70
[   56.470622]  nmi_panic+0x90/0xa0
[   56.473859]  arm64_serror_panic+0x78/0x90
[   56.477878]  arm64_is_fatal_ras_serror+0x90/0x98
[   56.482509]  do_serror+0x38/0x60
[   56.485742]  el1h_64_error_handler+0x38/0x60
[   56.490026]  el1h_64_error+0x84/0x88
[   56.493609]  brcmstb_pull_config_set+0x5c/0xd8 (P)
[   56.498416]  brcmstb_pinconf_set+0xbc/0xe8
[   56.502523]  pinconf_apply_setting+0xc4/0x148
[   56.506893]  pinctrl_commit_state+0x124/0x240
[   56.511262]  pinctrl_select_state+0x24/0x40
[   56.515456]  pinctrl_bind_pins+0x1ec/0x280
[   56.519565]  really_probe+0x60/0x3a0
[   56.523150]  __driver_probe_device+0x84/0x160
[   56.527520]  driver_probe_device+0x48/0x130
[   56.531716]  __driver_attach+0xd0/0x1f8
[   56.535560]  bus_for_each_dev+0x84/0x100
[   56.539494]  driver_attach+0x2c/0x40
[   56.543078]  bus_add_driver+0x158/0x280
[   56.546924]  driver_register+0x70/0x138
[   56.550769]  __platform_driver_register+0x28/0x40
[   56.555487]  gpio_keys_init+0x28/0xff8 [gpio_keys]
[   56.560296]  do_one_initcall+0x5c/0x318
[   56.564143]  do_init_module+0x9c/0x2b8
[   56.567903]  load_module+0x7e0/0x998
[   56.571486]  init_module_from_file+0x90/0xf0
[   56.575769]  __arm64_sys_finit_module+0x270/0x380
[   56.580488]  invoke_syscall.constprop.0+0x64/0xe8
[   56.585208]  el0_svc_common.constprop.0+0xc0/0xe8
[   56.589927]  do_el0_svc+0x24/0x38
[   56.593250]  el0_svc+0x3c/0x168
[   56.596398]  el0t_64_sync_handler+0xa0/0xf0
[   56.600593]  el0t_64_sync+0x1b0/0x1b8
[   56.604264] SMP: stopping secondary CPUs
[   56.608198] Kernel Offset: 0x3cba532a0000 from 0xffff800080000000
[   56.614310] PHYS_OFFSET: 0x0
[   56.617194] CPU features: 0x080000,00017000,24023140,0401720b
[   56.622958] Memory Limit: none
[   56.626147] ---[ end Kernel panic - not syncing: Asynchronous
SError Interrupt ]---
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help