Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: bcm283x: Use firmware PM driver for V3D

The register based driver turned out to be unstable, specially on RPi3a+
but not limited to it. While a fix is being worked on, we roll back to
using firmware based scheme.

Fixes: e1dc2b2e1bef ("ARM: bcm283x: Switch V3D over to using the PM driver instead of firmware")
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Link: https://lore.kernel.org/r/20200303173217.3987-1-nsaenzjulienne@suse.de

+15 -1
-1
arch/arm/boot/dts/bcm2835-common.dtsi
··· 130 130 compatible = "brcm,bcm2835-v3d"; 131 131 reg = <0x7ec00000 0x1000>; 132 132 interrupts = <1 10>; 133 - power-domains = <&pm BCM2835_POWER_DOMAIN_GRAFX_V3D>; 134 133 }; 135 134 136 135 vc4: gpu {
+12
arch/arm/boot/dts/bcm2835-rpi-common.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * This include file covers the common peripherals and configuration between 4 + * bcm2835, bcm2836 and bcm2837 implementations that interact with RPi's 5 + * firmware interface. 6 + */ 7 + 8 + #include <dt-bindings/power/raspberrypi-power.h> 9 + 10 + &v3d { 11 + power-domains = <&power RPI_POWER_DOMAIN_V3D>; 12 + };
+1
arch/arm/boot/dts/bcm2835.dtsi
··· 1 1 // SPDX-License-Identifier: GPL-2.0 2 2 #include "bcm283x.dtsi" 3 3 #include "bcm2835-common.dtsi" 4 + #include "bcm2835-rpi-common.dtsi" 4 5 5 6 / { 6 7 compatible = "brcm,bcm2835";
+1
arch/arm/boot/dts/bcm2836.dtsi
··· 1 1 // SPDX-License-Identifier: GPL-2.0 2 2 #include "bcm283x.dtsi" 3 3 #include "bcm2835-common.dtsi" 4 + #include "bcm2835-rpi-common.dtsi" 4 5 5 6 / { 6 7 compatible = "brcm,bcm2836";
+1
arch/arm/boot/dts/bcm2837.dtsi
··· 1 1 #include "bcm283x.dtsi" 2 2 #include "bcm2835-common.dtsi" 3 + #include "bcm2835-rpi-common.dtsi" 3 4 4 5 / { 5 6 compatible = "brcm,bcm2837";