Skip to content

Commit

Permalink
ARM: bcm2835: add USB controller to device tree
Browse files Browse the repository at this point in the history
The BCM2835 SoC contains a DWC2 USB controller. Add this to the DT.

Set up the pin controller to fully enable the USB controller on the
Raspberry Pi. The GPIO setup works because the default output value for
GPIO 6 (LAN_RUN/n_reset) just happens to be 1, which enables the
USB/LAN chip.

Note that you'll need a U-Boot which enables power to the USB controller;
search for U-Boot patch "ARM: rpi_b: power on SDHCI and USB HW modules".

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
  • Loading branch information
Stephen Warren authored and Olof Johansson committed Jan 2, 2014
1 parent c53cb8d commit 5631e7f
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
9 changes: 7 additions & 2 deletions arch/arm/boot/dts/bcm2835-rpi-b.dts
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,15 @@

&gpio {
pinctrl-names = "default";
pinctrl-0 = <&alt0 &alt3>;
pinctrl-0 = <&gpioout &alt0 &alt3>;

gpioout: gpioout {
brcm,pins = <6>;
brcm,function = <1>; /* GPIO out */
};

alt0: alt0 {
brcm,pins = <0 1 2 3 4 5 6 7 8 9 10 11 14 15 40 45>;
brcm,pins = <0 1 2 3 4 5 7 8 9 10 11 14 15 40 45>;
brcm,function = <4>; /* alt0 */
};

Expand Down
6 changes: 6 additions & 0 deletions arch/arm/boot/dts/bcm2835.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,12 @@
clocks = <&clk_mmc>;
status = "disabled";
};

usb {
compatible = "brcm,bcm2835-usb";
reg = <0x7e980000 0x10000>;
interrupts = <1 9>;
};
};

clocks {
Expand Down

0 comments on commit 5631e7f

Please sign in to comment.