]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ARM: dts: sun8i-a23-polaroid-mid2809pxe04: Add full otg support
authorHans de Goede <hdegoede@redhat.com>
Sat, 11 Jun 2016 13:53:05 +0000 (15:53 +0200)
committerMaxime Ripard <maxime.ripard@free-electrons.com>
Mon, 4 Jul 2016 19:18:01 +0000 (21:18 +0200)
Now that we've all the necessary bits in place we can enable
full otg support on these tablets.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun8i-a23-polaroid-mid2809pxe04.dts

index cb5daafcb7c29b7bf891bcc18c8fb811f2ac8f11..bae779f4308be8512715c629113867c04f675a5c 100644 (file)
@@ -131,6 +131,13 @@ mmc0_cd_pin_mid2809: mmc0_cd_pin@0 {
                allwinner,drive = <SUN4I_PINCTRL_10_MA>;
                allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
        };
+
+       usb0_id_detect_pin: usb0_id_detect_pin@0 {
+               allwinner,pins = "PH8";
+               allwinner,function = "gpio_in";
+               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+               allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
+       };
 };
 
 &pwm {
@@ -148,6 +155,7 @@ axp22x: pmic@3a3 {
                interrupt-parent = <&nmi_intc>;
                interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
                eldoin-supply = <&reg_dcdc1>;
+               x-powers,drive-vbus-en;
        };
 };
 
@@ -219,6 +227,11 @@ &reg_dcdc5 {
        regulator-name = "vcc-dram";
 };
 
+&reg_drivevbus {
+       regulator-name = "usb0-vbus";
+       status = "okay";
+};
+
 &reg_rtc_ldo {
        regulator-name = "vcc-rtc";
 };
@@ -227,17 +240,20 @@ &simplefb_lcd {
        vcc-lcd-supply = <&reg_dc1sw>;
 };
 
-/*
- * FIXME for now we only support host mode and rely on u-boot to have
- * turned on Vbus which is controlled by the axp223 pmic on the board.
- *
- * Once we have axp223 support we should switch to fully supporting otg.
- */
 &usb_otg {
-       dr_mode = "host";
+       dr_mode = "otg";
+       status = "okay";
+};
+
+&usb_power_supply {
        status = "okay";
 };
 
 &usbphy {
+       pinctrl-names = "default";
+       pinctrl-0 = <&usb0_id_detect_pin>;
+       usb0_id_det-gpio = <&pio 7 8 GPIO_ACTIVE_HIGH>; /* PH8 */
+       usb0_vbus_power-supply = <&usb_power_supply>;
+       usb0_vbus-supply = <&reg_drivevbus>;
        status = "okay";
 };