Hi Nicolas, Am 03.03.20 um 18:32 schrieb Nicolas Saenz Julienne: > 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@xxxxxxx> > --- > > See https://github.com/raspberrypi/linux/issues/3046 for more reference. > Note: I tested this on RPi3b, RPi3a+ and RPi2b. as i already wrote this prevent X to start on current Raspbian on my Raspberry Pi 3A+ (multi_v7_defconfig, no u-boot). We must be careful here. I will take a look at the debug UART. Maybe there are more helpful information. Regards Stefan > > arch/arm/boot/dts/bcm2835-common.dtsi | 1 - > arch/arm/boot/dts/bcm2835-rpi-common.dtsi | 12 ++++++++++++ > arch/arm/boot/dts/bcm2835.dtsi | 1 + > arch/arm/boot/dts/bcm2836.dtsi | 1 + > arch/arm/boot/dts/bcm2837.dtsi | 1 + > 5 files changed, 15 insertions(+), 1 deletion(-) > create mode 100644 arch/arm/boot/dts/bcm2835-rpi-common.dtsi > > diff --git a/arch/arm/boot/dts/bcm2835-common.dtsi b/arch/arm/boot/dts/bcm2835-common.dtsi > index 2b1d9d4c0cde..4119271c979d 100644 > --- a/arch/arm/boot/dts/bcm2835-common.dtsi > +++ b/arch/arm/boot/dts/bcm2835-common.dtsi > @@ -130,7 +130,6 @@ v3d: v3d@7ec00000 { > compatible = "brcm,bcm2835-v3d"; > reg = <0x7ec00000 0x1000>; > interrupts = <1 10>; > - power-domains = <&pm BCM2835_POWER_DOMAIN_GRAFX_V3D>; > }; > > vc4: gpu { > diff --git a/arch/arm/boot/dts/bcm2835-rpi-common.dtsi b/arch/arm/boot/dts/bcm2835-rpi-common.dtsi > new file mode 100644 > index 000000000000..b78a57534611 > --- /dev/null > +++ b/arch/arm/boot/dts/bcm2835-rpi-common.dtsi > @@ -0,0 +1,12 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * This include file covers the common peripherals and configuration between > + * bcm2835, bcm2836 and bcm2837 implementations that interact with RPi's > + * firmware interface. > + */ > + > +#include <dt-bindings/power/raspberrypi-power.h> > + > +&v3d { > + power-domains = <&power RPI_POWER_DOMAIN_V3D>; > +}; > diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi > index 53bf4579cc22..0549686134ea 100644 > --- a/arch/arm/boot/dts/bcm2835.dtsi > +++ b/arch/arm/boot/dts/bcm2835.dtsi > @@ -1,6 +1,7 @@ > // SPDX-License-Identifier: GPL-2.0 > #include "bcm283x.dtsi" > #include "bcm2835-common.dtsi" > +#include "bcm2835-rpi-common.dtsi" > > / { > compatible = "brcm,bcm2835"; > diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.dtsi > index 82d6c4662ae4..b390006aef79 100644 > --- a/arch/arm/boot/dts/bcm2836.dtsi > +++ b/arch/arm/boot/dts/bcm2836.dtsi > @@ -1,6 +1,7 @@ > // SPDX-License-Identifier: GPL-2.0 > #include "bcm283x.dtsi" > #include "bcm2835-common.dtsi" > +#include "bcm2835-rpi-common.dtsi" > > / { > compatible = "brcm,bcm2836"; > diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi > index 9e95fee78e19..0199ec98cd61 100644 > --- a/arch/arm/boot/dts/bcm2837.dtsi > +++ b/arch/arm/boot/dts/bcm2837.dtsi > @@ -1,5 +1,6 @@ > #include "bcm283x.dtsi" > #include "bcm2835-common.dtsi" > +#include "bcm2835-rpi-common.dtsi" > > / { > compatible = "brcm,bcm2837";