Skip to contentSkip to conversation

ARM: dts: sun7i: Enable USB DRC on Itead Ibox

PATCH New codekipper at gmail.com 2 participants 4 messages Feb 8, 2016

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: dts: sun7i: Enable USB DRC on Itead Ibox

From: Marcus Cooper <[email protected]>

Enable the otg/drc usb controller on the Itead Ibox device.

---
 arch/arm/boot/dts/sun7i-a20-itead-ibox.dts     | 14 ++++++++++++++
 arch/arm/boot/dts/sunxi-itead-core-common.dtsi |  9 +++++++++
 2 files changed, 23 insertions(+)
arch/arm/boot/dts/sun7i-a20-itead-ibox.dts +14 -0
index 661c21d..a512581 100644
@@ -118,8 +118,22 @@
 		allwinner,drive = <SUN4I_PINCTRL_20_MA>;
 		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
 	};
+
+	usb0_id_detect_pin: usb0_id_detect_pin at 0 {
+		allwinner,pins = "PH4";
+		allwinner,function = "gpio_in";
+		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+	};
 };
 
 &reg_ahci_5v {
 	status = "okay";
 };
+
+&usbphy {
+	pinctrl-names = "default";
+	pinctrl-0 = <&usb0_id_detect_pin>;
+	usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
+	status = "okay";
+};
arch/arm/boot/dts/sunxi-itead-core-common.dtsi +9 -0
index 2565d51..d22eea3 100644
@@ -88,6 +88,10 @@
 	status = "okay";
 };
 
+&otg_sram {
+	status = "okay";
+};
+
 #include "axp209.dtsi"
 
 &reg_dcdc2 {
@@ -129,6 +133,11 @@
 	status = "okay";
 };
 
+&usb_otg {
+	dr_mode = "otg";
+	status = "okay";
+};
+
 &usbphy {
 	usb1_vbus-supply = <&reg_usb1_vbus>;
 	usb2_vbus-supply = <&reg_usb2_vbus>;
Signature · 1 line
2.7.1
#1 lore raw

PATCH 1/1 ARM: dts: sun7i: Enable USB DRC on Itead Ibox

Hi,

Quoted 5 lines · codekipper at gmail.com

From: Marcus Cooper <[email protected]>

Enable the otg/drc usb controller on the Itead Ibox device.

Same remark as with your Olimex A20 EVB board patch, please also provide a vbus detect pin setting. If for some reason the VBus detect is not wired up, or not working properly, please mention this explicitly in the commit message.

Note that in some cases the axp209 is used for vbus detect, rather then a gpio, see e.g. :

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/arch/arm/boot/dts/sun7i-a20-bananapi.dts?id=dcfd8443d89f593e0c667a988ab017e716b33061

Regards,

Hans

Quoted 60 lines
---
  arch/arm/boot/dts/sun7i-a20-itead-ibox.dts     | 14 ++++++++++++++
  arch/arm/boot/dts/sunxi-itead-core-common.dtsi |  9 +++++++++
  2 files changed, 23 insertions(+)
arch/arm/boot/dts/sun7i-a20-itead-ibox.dts +14 -0
index 661c21d..a512581 100644
@@ -118,8 +118,22 @@
  		allwinner,drive = <SUN4I_PINCTRL_20_MA>;
  		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
  	};
+
+	usb0_id_detect_pin: usb0_id_detect_pin at 0 {
+		allwinner,pins = "PH4";
+		allwinner,function = "gpio_in";
+		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+	};
  };
 
  &reg_ahci_5v {
  	status = "okay";
  };
+
+&usbphy {
+	pinctrl-names = "default";
+	pinctrl-0 = <&usb0_id_detect_pin>;
+	usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
+	status = "okay";
+};
arch/arm/boot/dts/sunxi-itead-core-common.dtsi +9 -0
index 2565d51..d22eea3 100644
@@ -88,6 +88,10 @@
  	status = "okay";
  };
 
+&otg_sram {
+	status = "okay";
+};
+
  #include "axp209.dtsi"
 
  &reg_dcdc2 {
@@ -129,6 +133,11 @@
  	status = "okay";
  };
 
+&usb_otg {
+	dr_mode = "otg";
+	status = "okay";
+};
+
  &usbphy {
  	usb1_vbus-supply = <&reg_usb1_vbus>;
  	usb2_vbus-supply = <&reg_usb2_vbus>;
#2 lore raw

PATCH 1/1 ARM: dts: sun7i: Enable USB DRC on Itead Ibox

Quoted 8 lines · Hans de Goede

Hi,

Quoted 5 lines · codekipper at gmail.com

From: Marcus Cooper <[email protected]>

Enable the otg/drc usb controller on the Itead Ibox device.

Quoted 7 lines
Quoted 1 line

Same remark as with your Olimex A20 EVB board patch, please also provide a vbus detect pin setting. If for some reason the VBus detect is not wired up, or not working properly, please mention this explicitly in the commit message.

Hi Hans,
I've added vbus detect and it no longer works. It's mentioned that the Itead Ibox is similar to the Cubieboard 2 which also doesn't include the detect. I can see now in the commit that it states "Note this board has the otg-vbus connected directly to the 5v-dcc of the board, so there is no vbus0 regulator, nor vbus0-det.", I will add this to the commit message and try and dig out a schematic to confirm. Thanks,
CK

Quoted 76 lines

Note that in some cases the axp209 is used for vbus detect, rather then a gpio, see e.g. :

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/arch/arm/boot/dts/sun7i-a20-bananapi.dts?id=dcfd8443d89f593e0c667a988ab017e716b33061

Regards,

Hans

Quoted 62 lines
---
  arch/arm/boot/dts/sun7i-a20-itead-ibox.dts     | 14 ++++++++++++++
  arch/arm/boot/dts/sunxi-itead-core-common.dtsi |  9 +++++++++
  2 files changed, 23 insertions(+)
arch/arm/boot/dts/sun7i-a20-itead-ibox.dts +14 -0
index 661c21d..a512581 100644
@@ -118,8 +118,22 @@
                allwinner,drive = <SUN4I_PINCTRL_20_MA>;
                allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
        };
+
+       usb0_id_detect_pin: usb0_id_detect_pin at 0 {
+               allwinner,pins = "PH4";
+               allwinner,function = "gpio_in";
+               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+               allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+       };
  };
 
  &reg_ahci_5v {
        status = "okay";
  };
+
+&usbphy {
+       pinctrl-names = "default";
+       pinctrl-0 = <&usb0_id_detect_pin>;
+       usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
+       status = "okay";
+};
arch/arm/boot/dts/sunxi-itead-core-common.dtsi +9 -0
index 2565d51..d22eea3 100644
@@ -88,6 +88,10 @@
        status = "okay";
  };
 
+&otg_sram {
+       status = "okay";
+};
+
  #include "axp209.dtsi"
 
  &reg_dcdc2 {
@@ -129,6 +133,11 @@
        status = "okay";
  };
 
+&usb_otg {
+       dr_mode = "otg";
+       status = "okay";
+};
+
  &usbphy {
        usb1_vbus-supply = <&reg_usb1_vbus>;
        usb2_vbus-supply = <&reg_usb2_vbus>;
#3 lore raw

PATCH 1/1 ARM: dts: sun7i: Enable USB DRC on Itead Ibox

Hi,

Quoted 16 lines · Code Kipper
Quoted 8 lines · Hans de Goede

Hi,

Quoted 5 lines · codekipper at gmail.com

From: Marcus Cooper <[email protected]>

Enable the otg/drc usb controller on the Itead Ibox device.

Quoted 7 lines
Quoted 1 line

Same remark as with your Olimex A20 EVB board patch, please also provide a vbus detect pin setting. If for some reason the VBus detect is not wired up, or not working properly, please mention this explicitly in the commit message.

Quoted 7 lines

Hi Hans,
I've added vbus detect and it no longer works. It's mentioned that the Itead Ibox is similar to the Cubieboard 2 which also doesn't include the detect. I can see now in the commit that it states "Note this board has the otg-vbus connected directly to the 5v-dcc of the board, so there is no vbus0 regulator, nor vbus0-det.", I will add this to the commit message and try and dig out a schematic to confirm.

Ok, thanks for looking into this.

Regards,

Hans