[PATCH] ARM: dts: broadcom: rpi: Switch to V3D firmware clock

Marek Szyprowski m.szyprowski at samsung.com
Sun Oct 5 23:58:26 PDT 2025


On 05.10.2025 13:38, Stefan Wahren wrote:
> Until commit 919d6924ae9b ("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: Marek Szyprowski <m.szyprowski at samsung.com>
> Closes: https://lore.kernel.org/linux-arm-kernel/727aa0c8-2981-4662-adf3-69cac2da956d@samsung.com/
> Fixes: 919d6924ae9b ("clk: bcm: rpi: Turn firmware clock on/off when preparing/unpreparing")
> Signed-off-by: Stefan Wahren <wahrenst at gmx.net>
> Co-developed-by: Melissa Wen <mwen at igalia.com>
> Signed-off-by: Melissa Wen <mwen at igalia.com>
Tested-by: Marek Szyprowski <m.szyprowski at samsung.com>
> ---
>   arch/arm/boot/dts/broadcom/bcm2711-rpi.dtsi        | 8 ++++++++
>   arch/arm/boot/dts/broadcom/bcm2835-rpi-common.dtsi | 9 +++++++++
>   2 files changed, 17 insertions(+)
>
> diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi.dtsi b/arch/arm/boot/dts/broadcom/bcm2711-rpi.dtsi
> index c78ed064d166..1eb6406449d1 100644
> --- a/arch/arm/boot/dts/broadcom/bcm2711-rpi.dtsi
> +++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi.dtsi
> @@ -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
> diff --git a/arch/arm/boot/dts/broadcom/bcm2835-rpi-common.dtsi b/arch/arm/boot/dts/broadcom/bcm2835-rpi-common.dtsi
> index 8b3c21d9f333..fa9d784c88b6 100644
> --- a/arch/arm/boot/dts/broadcom/bcm2835-rpi-common.dtsi
> +++ b/arch/arm/boot/dts/broadcom/bcm2835-rpi-common.dtsi
> @@ -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>;
>   };
>   

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland




More information about the linux-arm-kernel mailing list