]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ARM: dts: sun6i: hummingbird: Enable USB OTG
authorChen-Yu Tsai <wens@csie.org>
Thu, 24 Nov 2016 11:29:08 +0000 (19:29 +0800)
committerMaxime Ripard <maxime.ripard@free-electrons.com>
Tue, 10 Jan 2017 17:52:42 +0000 (18:52 +0100)
The A31 Hummingbird has a mini USB OTG port, and uses GPIO pins from the
SoC for ID pin and VBUS detection and VBUS control. The PMIC can also do
VBUS detection and control.

Here we prefer to use the PMIC's DRIVEVBUS function to control VBUS for
USB OTG, as that is the hardware default.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun6i-a31-hummingbird.dts

index b168d6df2b30fea0e32b48d13204dbd0e19aa579..9062d0f61133927faddc0f24cb3b8a325d2a2c4a 100644 (file)
                reg = <0x68>;
                interrupt-parent = <&nmi_intc>;
                interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+               x-powers,drive-vbus-en;
        };
 };
 
        regulator-name = "vcc-dram";
 };
 
+&reg_drivevbus {
+       regulator-name = "usb0-vbus";
+       status = "okay";
+};
+
 &reg_usb1_vbus {
        gpio = <&pio 7 24 GPIO_ACTIVE_HIGH>; /* PH24 */
        status = "okay";
        status = "okay";
 };
 
+&usb_otg {
+       dr_mode = "otg";
+       status = "okay";
+};
+
+&usb_power_supply {
+       status = "okay";
+};
+
 &usb1_vbus_pin_a {
        /* different pin from sunxi-common-regulators */
        pins = "PH24";
 };
 
 &usbphy {
+       usb0_id_det-gpio = <&pio 0 15 GPIO_ACTIVE_HIGH>; /* PA15 */
+       usb0_vbus_det-gpio = <&pio 0 16 GPIO_ACTIVE_HIGH>; /* PA16 */
+       usb0_vbus_power-supply = <&usb_power_supply>;
+       usb0_vbus-supply = <&reg_drivevbus>;
        usb1_vbus-supply = <&reg_usb1_vbus>;
        status = "okay";
 };