[PATCH 3/3] arm64: dts: broadcom: bcm2712: Add USB OTG port
Andrea della Porta
andrea.porta at suse.com
Thu Sep 3 06:45:16 PDT 2026
Hi Peter,
On 15:50 Sun 02 Aug , Peter Robinson wrote:
> 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 {
Please fill in the missing 0 in the unit number. Apart from that, LGTM.
Thanks,
Andrea
> + 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