[PATCH 3/3] arm64: dts: broadcom: bcm2712: Add USB OTG port
Peter Robinson
pbrobinson at gmail.com
Sun Aug 2 07:50:54 PDT 2026
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 at gmail.com>
Cc: Florian Fainelli <florian.fainelli at broadcom.com>
Cc: Dave Stevenson <dave.stevenson at 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 at 1002000000 {
interrupts = <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>;
};
+
+ usb: usb at 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
More information about the linux-arm-kernel
mailing list