]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ARM: dts: bcm2711: Fix xHCI power-domain
authorStefan Wahren <wahrenst@gmx.net>
Sat, 1 Feb 2025 11:27:29 +0000 (12:27 +0100)
committerFlorian Fainelli <florian.fainelli@broadcom.com>
Tue, 25 Feb 2025 19:09:52 +0000 (11:09 -0800)
During s2idle tests on the Raspberry CM4 the VPU firmware always crashes
on xHCI power-domain resume:

root@raspberrypi:/sys/power# echo freeze > state
[   70.724347] xhci_suspend finished
[   70.727730] xhci_plat_suspend finished
[   70.755624] bcm2835-power bcm2835-power: Power grafx off
[   70.761127]  USB: Set power to 0

[   74.653040]  USB: Failed to set power to 1 (-110)

This seems to be caused because of the mixed usage of
raspberrypi-power and bcm2835-power at the same time. So avoid
the usage of the VPU firmware power-domain driver, which
prevents the VPU crash.

Fixes: 522c35e08b53 ("ARM: dts: bcm2711: Add BCM2711 xHCI support")
Link: https://github.com/raspberrypi/linux/issues/6537
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Link: https://lore.kernel.org/r/20250201112729.31509-1-wahrenst@gmx.net
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
arch/arm/boot/dts/broadcom/bcm2711-rpi.dtsi
arch/arm/boot/dts/broadcom/bcm2711.dtsi

index 6bf4241fe3b737a9a397fcadc2d2b1d51df08473..c78ed064d1667d0d20f00cdd84b0af05d385bac0 100644 (file)
@@ -1,7 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
 #include "bcm2835-rpi.dtsi"
 
-#include <dt-bindings/power/raspberrypi-power.h>
 #include <dt-bindings/reset/raspberrypi,firmware-reset.h>
 
 / {
 &vchiq {
        interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
 };
-
-&xhci {
-       power-domains = <&power RPI_POWER_DOMAIN_USB>;
-};
index e4e42af21ef3a4399fa697a4359b707f4189c484..5eaec6c6a1df35e39a1d642bafa6a123bb2711d5 100644 (file)
                        #address-cells = <1>;
                        #size-cells = <0>;
                        interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
+                       power-domains = <&pm BCM2835_POWER_DOMAIN_USB>;
                        /* DWC2 and this IP block share the same USB PHY,
                         * enabling both at the same time results in lockups.
                         * So keep this node disabled and let the bootloader