Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] Some minor RPi5 bits
@ 2026-08-02 14:50 Peter Robinson
  2026-08-02 14:50 ` [PATCH 1/3] arm64: dts: broadcom: bcm2712: add arm PMU Peter Robinson
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Peter Robinson @ 2026-08-02 14:50 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Broadcom internal kernel review list, Stefan Wahren, Phil Elwell,
	devicetree, linux-rpi-kernel, linux-arm-kernel, Florian Fainelli,
	Dave Stevenson, Andrea della Porta
  Cc: Peter Robinson

These are taken from the downstream kernel device tree. They
are small components that already have upstream support, from
older generation RPis or existing arm IP with just minor
changes for upstream, tested on rev C and D variants.

Peter Robinson (3):
  arm64: dts: broadcom: bcm2712: add arm PMU
  arm64: dts: broadcom: bcm2712: Add thermal monitor
  arm64: dts: broadcom: bcm2712: Add USB OTG port

 .../dts/broadcom/bcm2712-rpi-5-b-base.dtsi    |  6 ++
 arch/arm64/boot/dts/broadcom/bcm2712.dtsi     | 66 +++++++++++++++++++
 2 files changed, 72 insertions(+)

-- 
2.55.0



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/3] arm64: dts: broadcom: bcm2712: add arm PMU
  2026-08-02 14:50 [PATCH 0/3] Some minor RPi5 bits Peter Robinson
@ 2026-08-02 14:50 ` Peter Robinson
  2026-08-02 14:50 ` [PATCH 2/3] arm64: dts: broadcom: bcm2712: Add thermal monitor Peter Robinson
  2026-08-02 14:50 ` [PATCH 3/3] arm64: dts: broadcom: bcm2712: Add USB OTG port Peter Robinson
  2 siblings, 0 replies; 4+ messages in thread
From: Peter Robinson @ 2026-08-02 14:50 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Broadcom internal kernel review list, Stefan Wahren, Phil Elwell,
	devicetree, linux-rpi-kernel, linux-arm-kernel, Florian Fainelli,
	Dave Stevenson, Andrea della Porta
  Cc: Peter Robinson

The bcm2712 SoC in the Raspberry Pi 5 has a standard
arm performance management unit that aligns with the
Cortex-A76 cores that are in the SoC so add the details
in so it can be used.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Cc: Florian Fainelli <florian.fainelli@broadcom.com>
Cc: Dave Stevenson <dave.stevenson@raspberrypi.com
---
 arch/arm64/boot/dts/broadcom/bcm2712.dtsi | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
index 9b36ecd7bba54..ae1fc9d728c00 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
+++ b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
@@ -10,6 +10,15 @@ / {
 
 	interrupt-parent = <&gicv2>;
 
+	arm-pmu {
+		compatible = "arm,cortex-a76-pmu";
+		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
+			<GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
+			<GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
+			<GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
+		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
+	};
+
 	clocks {
 		/* The oscillator is the root of the clock tree. */
 		clk_osc: clk-osc {
-- 
2.55.0



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/3] arm64: dts: broadcom: bcm2712: Add thermal monitor
  2026-08-02 14:50 [PATCH 0/3] Some minor RPi5 bits Peter Robinson
  2026-08-02 14:50 ` [PATCH 1/3] arm64: dts: broadcom: bcm2712: add arm PMU Peter Robinson
@ 2026-08-02 14:50 ` Peter Robinson
  2026-08-02 14:50 ` [PATCH 3/3] arm64: dts: broadcom: bcm2712: Add USB OTG port Peter Robinson
  2 siblings, 0 replies; 4+ messages in thread
From: Peter Robinson @ 2026-08-02 14:50 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Broadcom internal kernel review list, Stefan Wahren, Phil Elwell,
	devicetree, linux-rpi-kernel, linux-arm-kernel, Florian Fainelli,
	Dave Stevenson, Andrea della Porta
  Cc: Peter Robinson

The thermal sensors on the bcm2712 (rpi5) are the same
infrastructure as on the bcm2711 (rpi4) so add those
details so we can get thermal monitoring on the device
as it can get quite hot.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Cc: Florian Fainelli <florian.fainelli@broadcom.com>
Cc: Dave Stevenson <dave.stevenson@raspberrypi.com
---
 arch/arm64/boot/dts/broadcom/bcm2712.dtsi | 32 +++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
index ae1fc9d728c00..c73ed9e066662 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
+++ b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
@@ -508,6 +508,18 @@ hdmi1: hdmi@7c706400 {
 			ddc = <&ddc1>;
 			status = "disabled";
 		};
+
+		avs_monitor: avs-monitor@7d542000 {
+			compatible = "brcm,bcm2711-avs-monitor",
+						"syscon", "simple-mfd";
+			reg = <0x7d542000 0xf00>;
+			status = "okay";
+
+			thermal: thermal {
+				compatible = "brcm,bcm2711-thermal";
+				#thermal-sensor-cells = <0>;
+			};
+		};
 	};
 
 	axi: axi {
@@ -724,4 +736,24 @@ hvs: hvs@107c580000 {
 		interrupt-names = "ch0-eof", "ch1-eof", "ch2-eof";
 		status = "disabled";
 	};
+
+	thermal-zones {
+		cpu_thermal: cpu-thermal {
+			polling-delay-passive = <1000>;
+			polling-delay = <1000>;
+			coefficients = <(-550) 450000>;
+			thermal-sensors = <&thermal>;
+
+			thermal_trips: trips {
+				cpu_crit: cpu-crit {
+					temperature	= <110000>;
+					hysteresis	= <0>;
+					type		= "critical";
+				};
+			};
+
+			cooling_maps: cooling-maps {
+			};
+		};
+	};
 };
-- 
2.55.0



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 3/3] arm64: dts: broadcom: bcm2712: Add USB OTG port
  2026-08-02 14:50 [PATCH 0/3] Some minor RPi5 bits Peter Robinson
  2026-08-02 14:50 ` [PATCH 1/3] arm64: dts: broadcom: bcm2712: add arm PMU Peter Robinson
  2026-08-02 14:50 ` [PATCH 2/3] arm64: dts: broadcom: bcm2712: Add thermal monitor Peter Robinson
@ 2026-08-02 14:50 ` Peter Robinson
  2 siblings, 0 replies; 4+ messages in thread
From: Peter Robinson @ 2026-08-02 14:50 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Broadcom internal kernel review list, Stefan Wahren, Phil Elwell,
	devicetree, linux-rpi-kernel, linux-arm-kernel, Florian Fainelli,
	Dave Stevenson, Andrea della Porta
  Cc: Peter Robinson

The Raspberry Pi 5 has a USB2 OTG port wired up to the
Type-C that uses the same IP in earlier generations so
wire this up so it can be used.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Cc: Florian Fainelli <florian.fainelli@broadcom.com>
Cc: Dave Stevenson <dave.stevenson@raspberrypi.com
---
 .../dts/broadcom/bcm2712-rpi-5-b-base.dtsi    |  6 +++++
 arch/arm64/boot/dts/broadcom/bcm2712.dtsi     | 25 +++++++++++++++++++
 2 files changed, 31 insertions(+)

diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-base.dtsi b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-base.dtsi
index d998bfae91acb..e5030da60f9e7 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-base.dtsi
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-base.dtsi
@@ -3,6 +3,7 @@
 
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/power/raspberrypi-power.h>
 #include "bcm2712.dtsi"
 
 / {
@@ -239,6 +240,11 @@ bluetooth: bluetooth {
 	};
 };
 
+&usb {
+	power-domains = <&power RPI_POWER_DOMAIN_USB>;
+	status = "okay";
+};
+
 &hvs {
 	clocks = <&firmware_clocks 4>, <&firmware_clocks 16>;
 	clock-names = "core", "disp";
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
index c73ed9e066662..f650a5cd8462d 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
+++ b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
@@ -55,6 +55,13 @@ clk_sw_baud: clk-sw-baud {
 			clock-frequency = <96000000>;
 			clock-output-names = "sw-baud";
 		};
+
+		clk_usb: clk-usb {
+			compatible = "fixed-clock";
+			#clock-cells = <0>;
+			clock-frequency = <480000000>;
+			clock-output-names = "otg";
+		};
 	};
 
 	cpus: cpus {
@@ -693,6 +700,19 @@ v3d: gpu@1002000000 {
 			interrupts = <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
 				     <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>;
 		};
+
+		usb: usb@100480000 {
+			compatible = "brcm,bcm2835-usb";
+			reg = <0x10 0x00480000  0x0 0x10000>;
+			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
+			#address-cells = <1>;
+			#size-cells = <0>;
+			clocks = <&clk_usb>;
+			clock-names = "otg";
+			phys = <&usbphy>;
+			phy-names = "usb2-phy";
+			status = "disabled";
+		};
 	};
 
 	vc4: gpu {
@@ -756,4 +776,9 @@ cooling_maps: cooling-maps {
 			};
 		};
 	};
+
+	usbphy: phy {
+		compatible = "usb-nop-xceiv";
+		#phy-cells = <0>;
+	};
 };
-- 
2.55.0



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-08-02 14:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-02 14:50 [PATCH 0/3] Some minor RPi5 bits Peter Robinson
2026-08-02 14:50 ` [PATCH 1/3] arm64: dts: broadcom: bcm2712: add arm PMU Peter Robinson
2026-08-02 14:50 ` [PATCH 2/3] arm64: dts: broadcom: bcm2712: Add thermal monitor Peter Robinson
2026-08-02 14:50 ` [PATCH 3/3] arm64: dts: broadcom: bcm2712: Add USB OTG port Peter Robinson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox