Commit 4adc20ba authored by Stefan Wahren's avatar Stefan Wahren Committed by Florian Fainelli
Browse files

ARM: dts: broadcom: rpi: Switch to V3D firmware clock



Until commit 919d6924 ("clk: bcm: rpi: Turn firmware clock on/off
when preparing/unpreparing") the clk-raspberrypi driver wasn't able
to change the state of the V3D clock. Only the clk-bcm2835 was able
to do this before. After this commit both drivers were able to work
against each other, which could result in a system freeze. One step
to avoid this conflict is to switch all V3D consumer to the firmware
clock.

Reported-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Closes: https://lore.kernel.org/linux-arm-kernel/727aa0c8-2981-4662-adf3-69cac2da956d@samsung.com/


Fixes: 919d6924 ("clk: bcm: rpi: Turn firmware clock on/off when preparing/unpreparing")
Signed-off-by: default avatarStefan Wahren <wahrenst@gmx.net>
Co-developed-by: default avatarMelissa Wen <mwen@igalia.com>
Signed-off-by: default avatarMelissa Wen <mwen@igalia.com>
Tested-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20251005113816.6721-1-wahrenst@gmx.net


Signed-off-by: default avatarFlorian Fainelli <florian.fainelli@broadcom.com>
parent 3a866087
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -77,6 +77,14 @@ &i2c0 {
	/delete-property/ pinctrl-0;
};

&pm {
	clocks = <&firmware_clocks 5>,
		 <&clocks BCM2835_CLOCK_PERI_IMAGE>,
		 <&clocks BCM2835_CLOCK_H264>,
		 <&clocks BCM2835_CLOCK_ISP>;
	clock-names = "v3d", "peri_image", "h264", "isp";
};

&rmem {
	/*
	 * RPi4's co-processor will copy the board's bootloader configuration
+9 −0
Original line number Diff line number Diff line
@@ -13,7 +13,16 @@ &hdmi {
	clock-names = "pixel", "hdmi";
};

&pm {
	clocks = <&firmware_clocks 5>,
		 <&clocks BCM2835_CLOCK_PERI_IMAGE>,
		 <&clocks BCM2835_CLOCK_H264>,
		 <&clocks BCM2835_CLOCK_ISP>;
	clock-names = "v3d", "peri_image", "h264", "isp";
};

&v3d {
	clocks = <&firmware_clocks 5>;
	power-domains = <&power RPI_POWER_DOMAIN_V3D>;
};