Skip to contentSkip to conversation

ARM: dts: imx51-babbage: Add USB Host1 support

PATCH New Fabio Estevam 2 participants 3 messages Mar 26, 2014 – Apr 2, 2014

Subsystems (2)
lore
Share & tools
lore

Fabio Estevam

author reviewer
#0 lore raw

PATCH v2 1/2 ARM: dts: imx51-babbage: Add USB Host1 support

From: Fabio Estevam <[email protected]>

Signed-off by: Dave Ebright <[email protected]>

---
Changes since v1:
- Does not touch the common imx51.dtsi file and provide the usbphy node locally

 arch/arm/boot/dts/imx51-babbage.dts | 55 +++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)
arch/arm/boot/dts/imx51-babbage.dts +55 -0
index 121dadd..1084607 100644
@@ -119,6 +119,35 @@
 			gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
 		};
 	};
+
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		reg_usb_vbus: regulator at 0 {
+			compatible = "regulator-fixed";
+			reg = <0>;
+			regulator-name = "usb_vbus";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			gpio = <&gpio2 5 0>;
+			enable-active-high;
+		};
+	};
+
+	usbphy {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "simple-bus";
+
+		usbh1phy: usbh1phy at 0 {
+			compatible = "usb-nop-xceiv";
+			reg = <0>;
+			clocks = <&clks 0>;
+			clock-names = "main_clk";
+		};
+	};
 };
 
 &esdhc1 {
@@ -461,6 +490,23 @@
 				MX51_PAD_EIM_D24__UART3_CTS		0x1c5
 			>;
 		};
+
+		pinctrl_usbh1: usbh1grp {
+			fsl,pins = <
+				MX51_PAD_USBH1_CLK__USBH1_CLK		0x80000000
+				MX51_PAD_USBH1_DIR__USBH1_DIR		0x80000000
+				MX51_PAD_USBH1_NXT__USBH1_NXT		0x80000000
+				MX51_PAD_USBH1_DATA0__USBH1_DATA0	0x80000000
+				MX51_PAD_USBH1_DATA1__USBH1_DATA1	0x80000000
+				MX51_PAD_USBH1_DATA2__USBH1_DATA2	0x80000000
+				MX51_PAD_USBH1_DATA3__USBH1_DATA3	0x80000000
+				MX51_PAD_USBH1_DATA4__USBH1_DATA4	0x80000000
+				MX51_PAD_USBH1_DATA5__USBH1_DATA5	0x80000000
+				MX51_PAD_USBH1_DATA6__USBH1_DATA6	0x80000000
+				MX51_PAD_USBH1_DATA7__USBH1_DATA7	0x80000000
+				MX51_PAD_EIM_D21__GPIO2_5		0x80000000
+			>;
+		};
 	};
 };
 
@@ -529,3 +575,12 @@
 		>;
 	status = "okay";
 };
+
+&usbh1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usbh1>;
+	vbus-supply = <&reg_usb_vbus>;
+	fsl,usbphy = <&usbh1phy>;
+	phy_type = "ulpi";
+	status = "okay";
+};
Signature · 1 line
1.8.1.2
author reviewer
#1 lore raw

PATCH v2 2/2 ARM: dts: imx51-babbage: Add USB OTG support

From: Fabio Estevam <[email protected]>

Tested by pinging from the host PC to the imx51-babbage via a g_ether connection.

Signed-off by: Dave Ebright <[email protected]>

---
Changes since v1:
- Use 'otg' instead of 'peripheral' in the dr_mode property
- use 'utmi_wide' instead of 'utmi'

For USB OTG to work on mx51 the following driver patch is needed:
http://marc.info/?l=linux-usb&m=139571614508749&w=2

 arch/arm/boot/dts/imx51-babbage.dts | 7 +++++++
 1 file changed, 7 insertions(+)
arch/arm/boot/dts/imx51-babbage.dts +7 -0
index 1084607..4714c08 100644
@@ -584,3 +584,10 @@
 	phy_type = "ulpi";
 	status = "okay";
 };
+
+&usbotg {
+	dr_mode = "otg";
+	disable-over-current;
+	phy_type = "utmi_wide";
+	status = "okay";
+};
Signature · 1 line
1.8.1.2