[PATCH v6 3/3] arm64: dts: broadcom: rpi-5: Add RP1 PWM node

Matthias Brugger mbrugger at suse.com
Tue Jul 7 05:43:59 PDT 2026



On 03/07/2026 19:05, Andrea della Porta wrote:
> From: Stanimir Varbanov <svarbanov at suse.de>
> 
> The RP1 chipset used on the Raspberry Pi 5 features an integrated
> PWM controller to drive the cooling fan.
> 
> Add the corresponding DT node for this PWM controller.
> 
> Signed-off-by: Stanimir Varbanov <svarbanov at suse.de>
> Co-developed-by: Andrea della Porta <andrea.porta at suse.com>
> Signed-off-by: Andrea della Porta <andrea.porta at suse.com>

Reviewed-by: Matthias Brugger <mbrugger at suse.com>

> ---
>   arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts | 12 ++++++++++++
>   arch/arm64/boot/dts/broadcom/rp1-common.dtsi     |  9 +++++++++
>   2 files changed, 21 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
> index 0fc57e72632ed..748be8f1ee9e2 100644
> --- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
> +++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
> @@ -64,6 +64,12 @@ phy1: ethernet-phy at 1 {
>   };
>   
>   &rp1_gpio {
> +	fan_pwm_default_state: fan-pwm-default-state {
> +		function = "pwm1";
> +		pins = "gpio45";
> +		bias-pull-down;
> +	};
> +
>   	usb_vbus_default_state: usb-vbus-default-state {
>   		function = "vbus1";
>   		groups = "vbus1";
> @@ -94,6 +100,12 @@ &rp1_i2c6 {
>   	pinctrl-names = "default";
>   };
>   
> +&rp1_pwm1 {
> +	pinctrl-0 = <&fan_pwm_default_state>;
> +	pinctrl-names = "default";
> +	status = "okay";
> +};
> +
>   &rp1_usb0 {
>   	pinctrl-0 = <&usb_vbus_default_state>;
>   	pinctrl-names = "default";
> diff --git a/arch/arm64/boot/dts/broadcom/rp1-common.dtsi b/arch/arm64/boot/dts/broadcom/rp1-common.dtsi
> index 16f5359395835..df4c2d09c8d34 100644
> --- a/arch/arm64/boot/dts/broadcom/rp1-common.dtsi
> +++ b/arch/arm64/boot/dts/broadcom/rp1-common.dtsi
> @@ -99,7 +99,16 @@ rp1_i2c6: i2c at 40088000 {
>   		clocks = <&rp1_clocks RP1_CLK_SYS>;
>   		i2c-scl-rising-time-ns = <65>;
>   		i2c-scl-falling-time-ns = <100>;
> +		status = "disabled";
> +	};
>   
> +	rp1_pwm1: pwm at 4009c000 {
> +		compatible = "raspberrypi,rp1-pwm";
> +		reg = <0x00 0x4009c000  0x0 0x100>;
> +		clocks = <&rp1_clocks RP1_CLK_PWM1>;
> +		assigned-clocks = <&rp1_clocks RP1_CLK_PWM1>;
> +		assigned-clock-rates = <50000000>;
> +		#pwm-cells = <3>;
>   		status = "disabled";
>   	};
>   




More information about the linux-arm-kernel mailing list