All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3][ 1/9] ARM: dts: mx25: USB block requires only one clock
@ 2014-03-12 10:01 Denis Carikli
  2014-03-12 10:01 ` [PATCH v3][ 2/9] ARM: dts: mx35: " Denis Carikli
                   ` (7 more replies)
  0 siblings, 8 replies; 20+ messages in thread
From: Denis Carikli @ 2014-03-12 10:01 UTC (permalink / raw)
  To: linux-arm-kernel

From: Fabio Estevam <fabio.estevam@freescale.com>

Like other imx SoCs only one USB clock is needed on mx25.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
 arch/arm/boot/dts/imx25.dtsi |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/imx25.dtsi b/arch/arm/boot/dts/imx25.dtsi
index 77bb743..829791e 100644
--- a/arch/arm/boot/dts/imx25.dtsi
+++ b/arch/arm/boot/dts/imx25.dtsi
@@ -496,8 +496,7 @@
 				compatible = "fsl,imx25-usb", "fsl,imx27-usb";
 				reg = <0x53ff4000 0x0200>;
 				interrupts = <37>;
-				clocks = <&clks 9>, <&clks 70>, <&clks 8>;
-				clock-names = "ipg", "ahb", "per";
+				clocks = <&clks 70>;
 				fsl,usbmisc = <&usbmisc 0>;
 				status = "disabled";
 			};
@@ -506,8 +505,7 @@
 				compatible = "fsl,imx25-usb", "fsl,imx27-usb";
 				reg = <0x53ff4400 0x0200>;
 				interrupts = <35>;
-				clocks = <&clks 9>, <&clks 70>, <&clks 8>;
-				clock-names = "ipg", "ahb", "per";
+				clocks = <&clks 70>;
 				fsl,usbmisc = <&usbmisc 1>;
 				status = "disabled";
 			};
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v3][ 2/9] ARM: dts: mx35: USB block requires only one clock
  2014-03-12 10:01 [PATCH v3][ 1/9] ARM: dts: mx25: USB block requires only one clock Denis Carikli
@ 2014-03-12 10:01 ` Denis Carikli
  2014-03-12 10:01 ` [PATCH v3][ 3/9] usb: chipidea: Use standard usb-phy property Denis Carikli
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 20+ messages in thread
From: Denis Carikli @ 2014-03-12 10:01 UTC (permalink / raw)
  To: linux-arm-kernel

From: Fabio Estevam <fabio.estevam@freescale.com>

Like other imx SoCs only one USB clock is needed on mx35.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
 arch/arm/boot/dts/imx35.dtsi |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/imx35.dtsi b/arch/arm/boot/dts/imx35.dtsi
index e59ccb4..474a73d 100644
--- a/arch/arm/boot/dts/imx35.dtsi
+++ b/arch/arm/boot/dts/imx35.dtsi
@@ -296,8 +296,7 @@
 				compatible = "fsl,imx35-usb", "fsl,imx27-usb";
 				reg = <0x53ff4000 0x0200>;
 				interrupts = <37>;
-				clocks = <&clks 9>, <&clks 73>, <&clks 28>;
-				clock-names = "ipg", "ahb", "per";
+				clocks = <&clks 73>;
 				fsl,usbmisc = <&usbmisc 0>;
 				status = "disabled";
 			};
@@ -306,8 +305,7 @@
 				compatible = "fsl,imx35-usb", "fsl,imx27-usb";
 				reg = <0x53ff4400 0x0200>;
 				interrupts = <35>;
-				clocks = <&clks 9>, <&clks 73>, <&clks 28>;
-				clock-names = "ipg", "ahb", "per";
+				clocks = <&clks 73>;
 				fsl,usbmisc = <&usbmisc 1>;
 				status = "disabled";
 			};
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v3][ 3/9] usb: chipidea: Use standard usb-phy property.
  2014-03-12 10:01 [PATCH v3][ 1/9] ARM: dts: mx25: USB block requires only one clock Denis Carikli
  2014-03-12 10:01 ` [PATCH v3][ 2/9] ARM: dts: mx35: " Denis Carikli
@ 2014-03-12 10:01 ` Denis Carikli
  2014-03-12 10:19   ` Lothar Waßmann
  2014-03-13  3:17   ` Peter Chen
  2014-03-12 10:01 ` [PATCH v3][ 4/9] usb: chipidea: usbmisc: Add USB Host support for i.MX25/i.MX35 CPUs Denis Carikli
                   ` (5 subsequent siblings)
  7 siblings, 2 replies; 20+ messages in thread
From: Denis Carikli @ 2014-03-12 10:01 UTC (permalink / raw)
  To: linux-arm-kernel

This converts the Chipidea usbmisc driver to
use the standard usb-phy property.

It also adapt the dts that uses it.

Signed-off-by: Denis Carikli <denis@eukrea.com>
---
 arch/arm/boot/dts/imx23.dtsi       |    2 +-
 arch/arm/boot/dts/imx27.dtsi       |    4 ++--
 arch/arm/boot/dts/imx28.dtsi       |    4 ++--
 arch/arm/boot/dts/imx51.dtsi       |    2 +-
 arch/arm/boot/dts/imx53.dtsi       |    4 ++--
 arch/arm/boot/dts/imx6qdl.dtsi     |    4 ++--
 arch/arm/boot/dts/imx6sl.dtsi      |    4 ++--
 drivers/usb/chipidea/ci_hdrc_imx.c |    2 +-
 8 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/arch/arm/boot/dts/imx23.dtsi b/arch/arm/boot/dts/imx23.dtsi
index bbcfb5a..e3c9924 100644
--- a/arch/arm/boot/dts/imx23.dtsi
+++ b/arch/arm/boot/dts/imx23.dtsi
@@ -522,7 +522,7 @@
 			compatible = "fsl,imx23-usb", "fsl,imx27-usb";
 			reg = <0x80080000 0x40000>;
 			interrupts = <11>;
-			fsl,usbphy = <&usbphy0>;
+			usb-phy = <&usbphy0>;
 			clocks = <&clks 40>;
 			status = "disabled";
 		};
diff --git a/arch/arm/boot/dts/imx27.dtsi b/arch/arm/boot/dts/imx27.dtsi
index 83a8247..94bcf1a 100644
--- a/arch/arm/boot/dts/imx27.dtsi
+++ b/arch/arm/boot/dts/imx27.dtsi
@@ -466,7 +466,7 @@
 				interrupts = <56>;
 				clocks = <&clks 15>;
 				fsl,usbmisc = <&usbmisc 0>;
-				fsl,usbphy = <&usbphy0>;
+				usb-phy = <&usbphy0>;
 				status = "disabled";
 			};
 
@@ -485,7 +485,7 @@
 				interrupts = <55>;
 				clocks = <&clks 15>;
 				fsl,usbmisc = <&usbmisc 2>;
-				fsl,usbphy = <&usbphy2>;
+				usb-phy = <&usbphy2>;
 				status = "disabled";
 			};
 
diff --git a/arch/arm/boot/dts/imx28.dtsi b/arch/arm/boot/dts/imx28.dtsi
index 90a5795..52ad72f 100644
--- a/arch/arm/boot/dts/imx28.dtsi
+++ b/arch/arm/boot/dts/imx28.dtsi
@@ -1143,7 +1143,7 @@
 			reg = <0x80080000 0x10000>;
 			interrupts = <93>;
 			clocks = <&clks 60>;
-			fsl,usbphy = <&usbphy0>;
+			usb-phy = <&usbphy0>;
 			status = "disabled";
 		};
 
@@ -1152,7 +1152,7 @@
 			reg = <0x80090000 0x10000>;
 			interrupts = <92>;
 			clocks = <&clks 61>;
-			fsl,usbphy = <&usbphy1>;
+			usb-phy = <&usbphy1>;
 			status = "disabled";
 		};
 
diff --git a/arch/arm/boot/dts/imx51.dtsi b/arch/arm/boot/dts/imx51.dtsi
index cb3204a..b290947 100644
--- a/arch/arm/boot/dts/imx51.dtsi
+++ b/arch/arm/boot/dts/imx51.dtsi
@@ -249,7 +249,7 @@
 				interrupts = <18>;
 				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
 				fsl,usbmisc = <&usbmisc 0>;
-				fsl,usbphy = <&usbphy0>;
+				usb-phy = <&usbphy0>;
 				status = "disabled";
 			};
 
diff --git a/arch/arm/boot/dts/imx53.dtsi b/arch/arm/boot/dts/imx53.dtsi
index f0962e5..b10a3de 100644
--- a/arch/arm/boot/dts/imx53.dtsi
+++ b/arch/arm/boot/dts/imx53.dtsi
@@ -276,7 +276,7 @@
 				interrupts = <18>;
 				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
 				fsl,usbmisc = <&usbmisc 0>;
-				fsl,usbphy = <&usbphy0>;
+				usb-phy = <&usbphy0>;
 				status = "disabled";
 			};
 
@@ -286,7 +286,7 @@
 				interrupts = <14>;
 				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
 				fsl,usbmisc = <&usbmisc 1>;
-				fsl,usbphy = <&usbphy1>;
+				usb-phy = <&usbphy1>;
 				status = "disabled";
 			};
 
diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
index cfc85be..d2f0087 100644
--- a/arch/arm/boot/dts/imx6qdl.dtsi
+++ b/arch/arm/boot/dts/imx6qdl.dtsi
@@ -789,7 +789,7 @@
 				reg = <0x02184000 0x200>;
 				interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&clks 162>;
-				fsl,usbphy = <&usbphy1>;
+				usb-phy = <&usbphy1>;
 				fsl,usbmisc = <&usbmisc 0>;
 				status = "disabled";
 			};
@@ -799,7 +799,7 @@
 				reg = <0x02184200 0x200>;
 				interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&clks 162>;
-				fsl,usbphy = <&usbphy2>;
+				usb-phy = <&usbphy2>;
 				fsl,usbmisc = <&usbmisc 1>;
 				status = "disabled";
 			};
diff --git a/arch/arm/boot/dts/imx6sl.dtsi b/arch/arm/boot/dts/imx6sl.dtsi
index 6477447..33f501a 100644
--- a/arch/arm/boot/dts/imx6sl.dtsi
+++ b/arch/arm/boot/dts/imx6sl.dtsi
@@ -651,7 +651,7 @@
 				reg = <0x02184000 0x200>;
 				interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&clks IMX6SL_CLK_USBOH3>;
-				fsl,usbphy = <&usbphy1>;
+				usb-phy = <&usbphy1>;
 				fsl,usbmisc = <&usbmisc 0>;
 				status = "disabled";
 			};
@@ -661,7 +661,7 @@
 				reg = <0x02184200 0x200>;
 				interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&clks IMX6SL_CLK_USBOH3>;
-				fsl,usbphy = <&usbphy2>;
+				usb-phy = <&usbphy2>;
 				fsl,usbmisc = <&usbmisc 1>;
 				status = "disabled";
 			};
diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c
index c00f772..9a74100 100644
--- a/drivers/usb/chipidea/ci_hdrc_imx.c
+++ b/drivers/usb/chipidea/ci_hdrc_imx.c
@@ -130,7 +130,7 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
 		return ret;
 	}
 
-	data->phy = devm_usb_get_phy_by_phandle(&pdev->dev, "fsl,usbphy", 0);
+	data->phy = devm_usb_get_phy_by_phandle(&pdev->dev, "usb-phy", 0);
 	if (IS_ERR(data->phy)) {
 		ret = PTR_ERR(data->phy);
 		goto err_clk;
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v3][ 4/9] usb: chipidea: usbmisc: Add USB Host support for i.MX25/i.MX35 CPUs
  2014-03-12 10:01 [PATCH v3][ 1/9] ARM: dts: mx25: USB block requires only one clock Denis Carikli
  2014-03-12 10:01 ` [PATCH v3][ 2/9] ARM: dts: mx35: " Denis Carikli
  2014-03-12 10:01 ` [PATCH v3][ 3/9] usb: chipidea: Use standard usb-phy property Denis Carikli
@ 2014-03-12 10:01 ` Denis Carikli
  2014-03-13  3:18   ` Peter Chen
  2014-03-12 10:01 ` [PATCH v3][ 5/9] ARM: dts: imx25.dtsi: Fix USB support Denis Carikli
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 20+ messages in thread
From: Denis Carikli @ 2014-03-12 10:01 UTC (permalink / raw)
  To: linux-arm-kernel

This adds the i.MX25 and the i.MX35 support in the
ChipIdea usbmisc driver.

The i.MX25 and i.MX35 usb controllers are similar enough to be
able to use the same code.

Signed-off-by: Denis Carikli <denis@eukrea.com>
---
Changelog v2->v3:
- Add a commit log

Changelog v1->v2:
- converted two remaining defines to BIT()
- Removed a variable declaration that was not used in usbmisc_imx25_init
---
 drivers/usb/chipidea/usbmisc_imx.c |   58 ++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/drivers/usb/chipidea/usbmisc_imx.c b/drivers/usb/chipidea/usbmisc_imx.c
index cd061ab..3523c09 100644
--- a/drivers/usb/chipidea/usbmisc_imx.c
+++ b/drivers/usb/chipidea/usbmisc_imx.c
@@ -21,6 +21,26 @@
 #define MX25_USB_PHY_CTRL_OFFSET	0x08
 #define MX25_BM_EXTERNAL_VBUS_DIVIDER	BIT(23)
 
+#define MXC_EHCI_INTERFACE_SINGLE_UNI	(2 << 0)
+#define MXC_EHCI_INTERFACE_DIFF_UNI	(0 << 0)
+#define MXC_EHCI_INTERFACE_MASK		(0xf)
+
+#define MX25_OTG_SIC_SHIFT		29
+#define MX25_OTG_SIC_MASK		(0x3 << MX25_OTG_SIC_SHIFT)
+#define MX25_OTG_PM_BIT			BIT(24)
+#define MX25_OTG_PP_BIT			BIT(11)
+#define MX25_OTG_OCPOL_BIT		BIT(3)
+
+#define MX25_H1_SIC_SHIFT		21
+#define MX25_H1_SIC_MASK		(0x3 << MX25_H1_SIC_SHIFT)
+#define MX25_H1_PP_BIT			BIT(18)
+#define MX25_H1_PM_BIT			BIT(16)
+#define MX25_H1_IPPUE_UP_BIT		BIT(7)
+#define MX25_H1_IPPUE_DOWN_BIT		BIT(6)
+#define MX25_H1_TLL_BIT			BIT(5)
+#define MX25_H1_USBTE_BIT		BIT(4)
+#define MX25_H1_OCPOL_BIT		BIT(2)
+
 #define MX27_H1_PM_BIT			BIT(8)
 #define MX27_H2_PM_BIT			BIT(16)
 #define MX27_OTG_PM_BIT			BIT(24)
@@ -50,6 +70,39 @@ struct imx_usbmisc {
 
 static struct imx_usbmisc *usbmisc;
 
+static int usbmisc_imx25_init(struct imx_usbmisc_data *data)
+{
+	unsigned long flags;
+	u32 val = 0;
+
+	if (data->index > 1)
+		return -EINVAL;
+
+	spin_lock_irqsave(&usbmisc->lock, flags);
+	switch (data->index) {
+	case 0:
+		val = readl(usbmisc->base);
+		val &= ~(MX25_OTG_SIC_MASK | MX25_OTG_PP_BIT);
+		val |= (MXC_EHCI_INTERFACE_DIFF_UNI & MXC_EHCI_INTERFACE_MASK) << MX25_OTG_SIC_SHIFT;
+		val |= (MX25_OTG_PM_BIT | MX25_OTG_OCPOL_BIT);
+		writel(val, usbmisc->base);
+		break;
+	case 1:
+		val = readl(usbmisc->base);
+		val &= ~(MX25_H1_SIC_MASK | MX25_H1_PP_BIT |  MX25_H1_IPPUE_UP_BIT);
+		val |= (MXC_EHCI_INTERFACE_SINGLE_UNI & MXC_EHCI_INTERFACE_MASK) << MX25_H1_SIC_SHIFT;
+		val |= (MX25_H1_PM_BIT | MX25_H1_OCPOL_BIT | MX25_H1_TLL_BIT |
+			MX25_H1_USBTE_BIT | MX25_H1_IPPUE_DOWN_BIT);
+
+		writel(val, usbmisc->base);
+
+		break;
+	}
+	spin_unlock_irqrestore(&usbmisc->lock, flags);
+
+	return 0;
+}
+
 static int usbmisc_imx25_post(struct imx_usbmisc_data *data)
 {
 	void __iomem *reg;
@@ -159,6 +212,7 @@ static int usbmisc_imx6q_init(struct imx_usbmisc_data *data)
 }
 
 static const struct usbmisc_ops imx25_usbmisc_ops = {
+	.init = usbmisc_imx25_init,
 	.post = usbmisc_imx25_post,
 };
 
@@ -200,6 +254,10 @@ static const struct of_device_id usbmisc_imx_dt_ids[] = {
 		.data = &imx25_usbmisc_ops,
 	},
 	{
+		.compatible = "fsl,imx35-usbmisc",
+		.data = &imx25_usbmisc_ops,
+	},
+	{
 		.compatible = "fsl,imx27-usbmisc",
 		.data = &imx27_usbmisc_ops,
 	},
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v3][ 5/9] ARM: dts: imx25.dtsi: Fix USB support.
  2014-03-12 10:01 [PATCH v3][ 1/9] ARM: dts: mx25: USB block requires only one clock Denis Carikli
                   ` (2 preceding siblings ...)
  2014-03-12 10:01 ` [PATCH v3][ 4/9] usb: chipidea: usbmisc: Add USB Host support for i.MX25/i.MX35 CPUs Denis Carikli
@ 2014-03-12 10:01 ` Denis Carikli
  2014-03-12 11:08   ` Fabio Estevam
  2014-03-12 10:01 ` [PATCH v3][ 6/9] ARM: dts: mbimxsd25 baseboard: Add " Denis Carikli
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 20+ messages in thread
From: Denis Carikli @ 2014-03-12 10:01 UTC (permalink / raw)
  To: linux-arm-kernel

From: Fabio Estevam <fabio.estevam@freescale.com>

This patch was adapted from the thread named
"USB Host support for mx25" on linux-usb at vger.kernel.org

Signed-off-by: Denis Carikli <denis@eukrea.com>
---
Changelog v2->v3:
- rebased on top of the "usb: chipidea: Use standard usb-phy property." patch.
- Fixed the usbphy nodes index and added and added a reg property.

Changelog v1->v2:
- The usbphy nodes were made to look like the ones in imx53.dtsi
- The patch was rebased on top of the clock fixes commits.
---
 arch/arm/boot/dts/imx25.dtsi |   29 ++++++++++++++++++-----------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/arch/arm/boot/dts/imx25.dtsi b/arch/arm/boot/dts/imx25.dtsi
index 829791e..02697b2 100644
--- a/arch/arm/boot/dts/imx25.dtsi
+++ b/arch/arm/boot/dts/imx25.dtsi
@@ -482,22 +482,13 @@
 				clocks = <&clks 99>;
 			};
 
-			usbphy1: usbphy at 1 {
-				compatible = "nop-usbphy";
-				status = "disabled";
-			};
-
-			usbphy2: usbphy at 2 {
-				compatible = "nop-usbphy";
-				status = "disabled";
-			};
-
 			usbotg: usb at 53ff4000 {
 				compatible = "fsl,imx25-usb", "fsl,imx27-usb";
 				reg = <0x53ff4000 0x0200>;
 				interrupts = <37>;
 				clocks = <&clks 70>;
 				fsl,usbmisc = <&usbmisc 0>;
+				usb-phy = <&usbphy0>;
 				status = "disabled";
 			};
 
@@ -507,6 +498,7 @@
 				interrupts = <35>;
 				clocks = <&clks 70>;
 				fsl,usbmisc = <&usbmisc 1>;
+				usb-phy = <&usbphy1>;
 				status = "disabled";
 			};
 
@@ -516,7 +508,6 @@
 				clocks = <&clks 9>, <&clks 70>, <&clks 8>;
 				clock-names = "ipg", "ahb", "per";
 				reg = <0x53ff4600 0x00f>;
-				status = "disabled";
 			};
 
 			dryice at 53ffc000 {
@@ -548,4 +539,20 @@
 			};
 		};
 	};
+
+	usbphy {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "simple-bus";
+
+		usbphy0: usbphy at 0 {
+			reg = <0>;
+			compatible = "usb-nop-xceiv";
+		};
+
+		usbphy1: usbphy at 1 {
+			reg = <1>;
+			compatible = "usb-nop-xceiv";
+		};
+	};
 };
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v3][ 6/9] ARM: dts: mbimxsd25 baseboard: Add USB support
  2014-03-12 10:01 [PATCH v3][ 1/9] ARM: dts: mx25: USB block requires only one clock Denis Carikli
                   ` (3 preceding siblings ...)
  2014-03-12 10:01 ` [PATCH v3][ 5/9] ARM: dts: imx25.dtsi: Fix USB support Denis Carikli
@ 2014-03-12 10:01 ` Denis Carikli
  2014-03-12 10:01 ` [PATCH v3][ 7/9] ARM: dts: i.MX35: " Denis Carikli
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 20+ messages in thread
From: Denis Carikli @ 2014-03-12 10:01 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Denis Carikli <denis@eukrea.com>
---
Changelog v1->v2:
- With the clock fix patches, the usb gadget also work.
  So I've set the otg port to otg instead of host.
---
 .../boot/dts/imx25-eukrea-mbimxsd25-baseboard.dts  |   13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dts b/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dts
index 62fb3da..ad12da3 100644
--- a/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dts
+++ b/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dts
@@ -172,3 +172,16 @@
 	fsl,uart-has-rtscts;
 	status = "okay";
 };
+
+&usbhost1 {
+	phy_type = "serial";
+	dr_mode = "host";
+	status = "okay";
+};
+
+&usbotg {
+	phy_type = "utmi";
+	dr_mode = "otg";
+	external-vbus-divider;
+	status = "okay";
+};
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v3][ 7/9] ARM: dts: i.MX35: Add USB support.
  2014-03-12 10:01 [PATCH v3][ 1/9] ARM: dts: mx25: USB block requires only one clock Denis Carikli
                   ` (4 preceding siblings ...)
  2014-03-12 10:01 ` [PATCH v3][ 6/9] ARM: dts: mbimxsd25 baseboard: Add " Denis Carikli
@ 2014-03-12 10:01 ` Denis Carikli
  2014-03-12 10:01 ` [PATCH v3][ 8/9] ARM: dts: mbimxsd35 baseboard: " Denis Carikli
  2014-03-12 10:01 ` [PATCH v3][ 9/9] ARM: imx_v4_v5_defconfig: Enable drivers for i.MX25/i.MX35 " Denis Carikli
  7 siblings, 0 replies; 20+ messages in thread
From: Denis Carikli @ 2014-03-12 10:01 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Denis Carikli <denis@eukrea.com>
---
Changelog v2->v3:
- rebased on top of the "usb: chipidea: Use standard usb-phy property." patch.
- Fixed the usbphy nodes index and added and added a reg property.

Changelog v1->v2:
- The usbphy nodes were made to look like the ones in imx53.dtsi
- The patch was rebased on top of the clock fixes commits.
---
 arch/arm/boot/dts/imx35.dtsi |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/arch/arm/boot/dts/imx35.dtsi b/arch/arm/boot/dts/imx35.dtsi
index 474a73d..66bed6d 100644
--- a/arch/arm/boot/dts/imx35.dtsi
+++ b/arch/arm/boot/dts/imx35.dtsi
@@ -298,6 +298,7 @@
 				interrupts = <37>;
 				clocks = <&clks 73>;
 				fsl,usbmisc = <&usbmisc 0>;
+				usb-phy = <&usbphy0>;
 				status = "disabled";
 			};
 
@@ -307,6 +308,7 @@
 				interrupts = <35>;
 				clocks = <&clks 73>;
 				fsl,usbmisc = <&usbmisc 1>;
+				usb-phy = <&usbphy1>;
 				status = "disabled";
 			};
 
@@ -355,4 +357,20 @@
 			};
 		};
 	};
+
+	usbphy {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "simple-bus";
+
+		usbphy0: usbphy at 0 {
+			reg = <0>;
+			compatible = "usb-nop-xceiv";
+		};
+
+		usbphy1: usbphy at 1 {
+			reg = <1>;
+			compatible = "usb-nop-xceiv";
+		};
+	};
 };
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v3][ 8/9] ARM: dts: mbimxsd35 baseboard: Add USB support.
  2014-03-12 10:01 [PATCH v3][ 1/9] ARM: dts: mx25: USB block requires only one clock Denis Carikli
                   ` (5 preceding siblings ...)
  2014-03-12 10:01 ` [PATCH v3][ 7/9] ARM: dts: i.MX35: " Denis Carikli
@ 2014-03-12 10:01 ` Denis Carikli
  2014-03-12 10:01 ` [PATCH v3][ 9/9] ARM: imx_v4_v5_defconfig: Enable drivers for i.MX25/i.MX35 " Denis Carikli
  7 siblings, 0 replies; 20+ messages in thread
From: Denis Carikli @ 2014-03-12 10:01 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Denis Carikli <denis@eukrea.com>
---
Changelog v1->v2:
- With the clock fix patches, the usb gadget also work.
  So I've set the otg port to otg instead of host.
- Before I forgott to set dr_mode to host in the usbhost port.
  That is now fixed.
---
 .../boot/dts/imx35-eukrea-mbimxsd35-baseboard.dts  |   13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard.dts b/arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard.dts
index 71197b9..f04ae91 100644
--- a/arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard.dts
+++ b/arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard.dts
@@ -150,3 +150,16 @@
 	fsl,uart-has-rtscts;
 	status = "okay";
 };
+
+&usbhost1 {
+	phy_type = "serial";
+	dr_mode = "host";
+	status = "okay";
+};
+
+&usbotg {
+	phy_type = "utmi";
+	dr_mode = "otg";
+	external-vbus-divider;
+	status = "okay";
+};
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v3][ 9/9] ARM: imx_v4_v5_defconfig: Enable drivers for i.MX25/i.MX35 USB support.
  2014-03-12 10:01 [PATCH v3][ 1/9] ARM: dts: mx25: USB block requires only one clock Denis Carikli
                   ` (6 preceding siblings ...)
  2014-03-12 10:01 ` [PATCH v3][ 8/9] ARM: dts: mbimxsd35 baseboard: " Denis Carikli
@ 2014-03-12 10:01 ` Denis Carikli
  7 siblings, 0 replies; 20+ messages in thread
From: Denis Carikli @ 2014-03-12 10:01 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Denis Carikli <denis@eukrea.com>
---
Changelog v2->v3:
- Extra gadget drivers additions were removed from this patch.

Changelog v1->v2:
- With the clock fix patches, the usb gadget also work.
  So I've addeed it to this patch too.
- CONFIG_USB_OTG_FSM=y was not needed, so it was removed.
---
 arch/arm/configs/imx_v4_v5_defconfig |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm/configs/imx_v4_v5_defconfig b/arch/arm/configs/imx_v4_v5_defconfig
index f1aeb7d..ec9b365 100644
--- a/arch/arm/configs/imx_v4_v5_defconfig
+++ b/arch/arm/configs/imx_v4_v5_defconfig
@@ -80,6 +80,7 @@ CONFIG_MTD_UBI=y
 CONFIG_EEPROM_AT24=y
 CONFIG_EEPROM_AT25=y
 CONFIG_ATA=y
+CONFIG_BLK_DEV_SD=y
 CONFIG_PATA_IMX=y
 CONFIG_NETDEVICES=y
 CONFIG_CS89x0=y
@@ -153,6 +154,11 @@ CONFIG_USB_HID=m
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_MXC=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_NOP_USB_XCEIV=y
 CONFIG_MMC=y
 CONFIG_MMC_UNSAFE_RESUME=y
 CONFIG_MMC_SDHCI=y
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v3][ 3/9] usb: chipidea: Use standard usb-phy property.
  2014-03-12 10:01 ` [PATCH v3][ 3/9] usb: chipidea: Use standard usb-phy property Denis Carikli
@ 2014-03-12 10:19   ` Lothar Waßmann
  2014-03-12 10:36     ` Alexander Shiyan
  2014-03-13  3:17   ` Peter Chen
  1 sibling, 1 reply; 20+ messages in thread
From: Lothar Waßmann @ 2014-03-12 10:19 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

Denis Carikli wrote:
> This converts the Chipidea usbmisc driver to
> use the standard usb-phy property.
> 
[...]
> diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c
> index c00f772..9a74100 100644
> --- a/drivers/usb/chipidea/ci_hdrc_imx.c
> +++ b/drivers/usb/chipidea/ci_hdrc_imx.c
> @@ -130,7 +130,7 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
>  		return ret;
>  	}
>  
> -	data->phy = devm_usb_get_phy_by_phandle(&pdev->dev, "fsl,usbphy", 0);
> +	data->phy = devm_usb_get_phy_by_phandle(&pdev->dev, "usb-phy", 0);
>  	if (IS_ERR(data->phy)) {
>  		ret = PTR_ERR(data->phy);
>  		goto err_clk;
>
How about accepting the old property too and print a warning, that it is
deprecated, rather than breaking all existing DT blobs?


Lothar Wa?mann
-- 
___________________________________________________________

Ka-Ro electronics GmbH | Pascalstra?e 22 | D - 52076 Aachen
Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
Gesch?ftsf?hrer: Matthias Kaussen
Handelsregistereintrag: Amtsgericht Aachen, HRB 4996

www.karo-electronics.de | info at karo-electronics.de
___________________________________________________________

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v3][ 3/9] usb: chipidea: Use standard usb-phy property.
  2014-03-12 10:19   ` Lothar Waßmann
@ 2014-03-12 10:36     ` Alexander Shiyan
  0 siblings, 0 replies; 20+ messages in thread
From: Alexander Shiyan @ 2014-03-12 10:36 UTC (permalink / raw)
  To: linux-arm-kernel

?????, 12 ????? 2014, 11:19 +01:00 ?? Lothar Wa?mann <LW@KARO-electronics.de>:
> Hi,
> 
> Denis Carikli wrote:
> > This converts the Chipidea usbmisc driver to
> > use the standard usb-phy property.
> > 
> [...]
> > diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c
> > index c00f772..9a74100 100644
> > --- a/drivers/usb/chipidea/ci_hdrc_imx.c
> > +++ b/drivers/usb/chipidea/ci_hdrc_imx.c
> > @@ -130,7 +130,7 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
> >  		return ret;
> >  	}
> >  
> > -	data->phy = devm_usb_get_phy_by_phandle(&pdev->dev, "fsl,usbphy", 0);
> > +	data->phy = devm_usb_get_phy_by_phandle(&pdev->dev, "usb-phy", 0);
> >  	if (IS_ERR(data->phy)) {
> >  		ret = PTR_ERR(data->phy);
> >  		goto err_clk;
> >
> How about accepting the old property too and print a warning, that it is
> deprecated, rather than breaking all existing DT blobs?

And this change should be reflected in the bindings documentation.

---

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH v3][ 5/9] ARM: dts: imx25.dtsi: Fix USB support.
  2014-03-12 10:01 ` [PATCH v3][ 5/9] ARM: dts: imx25.dtsi: Fix USB support Denis Carikli
@ 2014-03-12 11:08   ` Fabio Estevam
  2014-03-13  9:18     ` Denis Carikli
  0 siblings, 1 reply; 20+ messages in thread
From: Fabio Estevam @ 2014-03-12 11:08 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Denis,

On Wed, Mar 12, 2014 at 7:01 AM, Denis Carikli <denis@eukrea.com> wrote:
> From: Fabio Estevam <fabio.estevam@freescale.com>
>
> This patch was adapted from the thread named
> "USB Host support for mx25" on linux-usb at vger.kernel.org
>

As you add me in the From field, you also need to add:

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> above your
Signed-off-by line.

> Signed-off-by: Denis Carikli <denis@eukrea.com>
> +
> +       usbphy {
> +               #address-cells = <1>;
> +               #size-cells = <0>;
> +               compatible = "simple-bus";

I made this comment earlier: why do we place usbphy0/1 under simple-bus?

This is not documented in the the bindings.

> +
> +               usbphy0: usbphy at 0 {
> +                       reg = <0>;
> +                       compatible = "usb-nop-xceiv";
> +               };
> +
> +               usbphy1: usbphy at 1 {
> +                       reg = <1>;
> +                       compatible = "usb-nop-xceiv";
> +               };
> +       };

Regards,

Fabio Estevam

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH v3][ 3/9] usb: chipidea: Use standard usb-phy property.
  2014-03-12 10:01 ` [PATCH v3][ 3/9] usb: chipidea: Use standard usb-phy property Denis Carikli
  2014-03-12 10:19   ` Lothar Waßmann
@ 2014-03-13  3:17   ` Peter Chen
  2014-03-13 15:31     ` Sergei Shtylyov
  1 sibling, 1 reply; 20+ messages in thread
From: Peter Chen @ 2014-03-13  3:17 UTC (permalink / raw)
  To: linux-arm-kernel

 
> 
> It also adapt the dts that uses it.
> 
> Signed-off-by: Denis Carikli <denis@eukrea.com>
> ---
>  arch/arm/boot/dts/imx23.dtsi       |    2 +-
>  arch/arm/boot/dts/imx27.dtsi       |    4 ++--
>  arch/arm/boot/dts/imx28.dtsi       |    4 ++--
>  arch/arm/boot/dts/imx51.dtsi       |    2 +-
>  arch/arm/boot/dts/imx53.dtsi       |    4 ++--
>  arch/arm/boot/dts/imx6qdl.dtsi     |    4 ++--
>  arch/arm/boot/dts/imx6sl.dtsi      |    4 ++--
>  drivers/usb/chipidea/ci_hdrc_imx.c |    2 +-
>  8 files changed, 13 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/imx23.dtsi b/arch/arm/boot/dts/imx23.dtsi
> index bbcfb5a..e3c9924 100644
> --- a/arch/arm/boot/dts/imx23.dtsi
> +++ b/arch/arm/boot/dts/imx23.dtsi
> @@ -522,7 +522,7 @@
>  			compatible = "fsl,imx23-usb", "fsl,imx27-usb";
>  			reg = <0x80080000 0x40000>;
>  			interrupts = <11>;
> -			fsl,usbphy = <&usbphy0>;
> +			usb-phy = <&usbphy0>;
>  			clocks = <&clks 40>;
>  			status = "disabled";
>  		};
> diff --git a/arch/arm/boot/dts/imx27.dtsi b/arch/arm/boot/dts/imx27.dtsi
> index 83a8247..94bcf1a 100644
> --- a/arch/arm/boot/dts/imx27.dtsi
> +++ b/arch/arm/boot/dts/imx27.dtsi
> @@ -466,7 +466,7 @@
>  				interrupts = <56>;
>  				clocks = <&clks 15>;
>  				fsl,usbmisc = <&usbmisc 0>;
> -				fsl,usbphy = <&usbphy0>;
> +				usb-phy = <&usbphy0>;
>  				status = "disabled";
>  			};
> 
> @@ -485,7 +485,7 @@
>  				interrupts = <55>;
>  				clocks = <&clks 15>;
>  				fsl,usbmisc = <&usbmisc 2>;
> -				fsl,usbphy = <&usbphy2>;
> +				usb-phy = <&usbphy2>;
>  				status = "disabled";
>  			};
> 
> diff --git a/arch/arm/boot/dts/imx28.dtsi b/arch/arm/boot/dts/imx28.dtsi
> index 90a5795..52ad72f 100644
> --- a/arch/arm/boot/dts/imx28.dtsi
> +++ b/arch/arm/boot/dts/imx28.dtsi
> @@ -1143,7 +1143,7 @@
>  			reg = <0x80080000 0x10000>;
>  			interrupts = <93>;
>  			clocks = <&clks 60>;
> -			fsl,usbphy = <&usbphy0>;
> +			usb-phy = <&usbphy0>;
>  			status = "disabled";
>  		};
> 
> @@ -1152,7 +1152,7 @@
>  			reg = <0x80090000 0x10000>;
>  			interrupts = <92>;
>  			clocks = <&clks 61>;
> -			fsl,usbphy = <&usbphy1>;
> +			usb-phy = <&usbphy1>;
>  			status = "disabled";
>  		};
> 
> diff --git a/arch/arm/boot/dts/imx51.dtsi b/arch/arm/boot/dts/imx51.dtsi
> index cb3204a..b290947 100644
> --- a/arch/arm/boot/dts/imx51.dtsi
> +++ b/arch/arm/boot/dts/imx51.dtsi
> @@ -249,7 +249,7 @@
>  				interrupts = <18>;
>  				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
>  				fsl,usbmisc = <&usbmisc 0>;
> -				fsl,usbphy = <&usbphy0>;
> +				usb-phy = <&usbphy0>;
>  				status = "disabled";
>  			};
> 
> diff --git a/arch/arm/boot/dts/imx53.dtsi b/arch/arm/boot/dts/imx53.dtsi
> index f0962e5..b10a3de 100644
> --- a/arch/arm/boot/dts/imx53.dtsi
> +++ b/arch/arm/boot/dts/imx53.dtsi
> @@ -276,7 +276,7 @@
>  				interrupts = <18>;
>  				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
>  				fsl,usbmisc = <&usbmisc 0>;
> -				fsl,usbphy = <&usbphy0>;
> +				usb-phy = <&usbphy0>;
>  				status = "disabled";
>  			};
> 
> @@ -286,7 +286,7 @@
>  				interrupts = <14>;
>  				clocks = <&clks IMX5_CLK_USBOH3_GATE>;
>  				fsl,usbmisc = <&usbmisc 1>;
> -				fsl,usbphy = <&usbphy1>;
> +				usb-phy = <&usbphy1>;
>  				status = "disabled";
>  			};
> 
> diff --git a/arch/arm/boot/dts/imx6qdl.dtsi
> b/arch/arm/boot/dts/imx6qdl.dtsi index cfc85be..d2f0087 100644
> --- a/arch/arm/boot/dts/imx6qdl.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl.dtsi
> @@ -789,7 +789,7 @@
>  				reg = <0x02184000 0x200>;
>  				interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>;
>  				clocks = <&clks 162>;
> -				fsl,usbphy = <&usbphy1>;
> +				usb-phy = <&usbphy1>;
>  				fsl,usbmisc = <&usbmisc 0>;
>  				status = "disabled";
>  			};
> @@ -799,7 +799,7 @@
>  				reg = <0x02184200 0x200>;
>  				interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
>  				clocks = <&clks 162>;
> -				fsl,usbphy = <&usbphy2>;
> +				usb-phy = <&usbphy2>;
>  				fsl,usbmisc = <&usbmisc 1>;
>  				status = "disabled";
>  			};
> diff --git a/arch/arm/boot/dts/imx6sl.dtsi
> b/arch/arm/boot/dts/imx6sl.dtsi index 6477447..33f501a 100644
> --- a/arch/arm/boot/dts/imx6sl.dtsi
> +++ b/arch/arm/boot/dts/imx6sl.dtsi
> @@ -651,7 +651,7 @@
>  				reg = <0x02184000 0x200>;
>  				interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>;
>  				clocks = <&clks IMX6SL_CLK_USBOH3>;
> -				fsl,usbphy = <&usbphy1>;
> +				usb-phy = <&usbphy1>;
>  				fsl,usbmisc = <&usbmisc 0>;
>  				status = "disabled";
>  			};
> @@ -661,7 +661,7 @@
>  				reg = <0x02184200 0x200>;
>  				interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
>  				clocks = <&clks IMX6SL_CLK_USBOH3>;
> -				fsl,usbphy = <&usbphy2>;
> +				usb-phy = <&usbphy2>;
>  				fsl,usbmisc = <&usbmisc 1>;
>  				status = "disabled";
>  			};
> diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c
> b/drivers/usb/chipidea/ci_hdrc_imx.c
> index c00f772..9a74100 100644
> --- a/drivers/usb/chipidea/ci_hdrc_imx.c
> +++ b/drivers/usb/chipidea/ci_hdrc_imx.c
> @@ -130,7 +130,7 @@ static int ci_hdrc_imx_probe(struct platform_device
> *pdev)
>  		return ret;
>  	}
> 
> -	data->phy = devm_usb_get_phy_by_phandle(&pdev->dev, "fsl,usbphy",
> 0);
> +	data->phy = devm_usb_get_phy_by_phandle(&pdev->dev, "usb-phy", 0);
>  	if (IS_ERR(data->phy)) {
>  		ret = PTR_ERR(data->phy);
>  		goto err_clk;
> --
> 1.7.9.5
> 

According to Power_ePAPR_APPROVED_v1.1.pdf
"ethernet-phy" is the node name, it is the same with Sergei's suggestion.
But you have changed the property name at this patch, in fact, "fsl,usbphy"
is ok for property name, "fsl,usb-phy" may be better, but not worth a patch
to change it.

Peter

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH v3][ 4/9] usb: chipidea: usbmisc: Add USB Host support for i.MX25/i.MX35 CPUs
  2014-03-12 10:01 ` [PATCH v3][ 4/9] usb: chipidea: usbmisc: Add USB Host support for i.MX25/i.MX35 CPUs Denis Carikli
@ 2014-03-13  3:18   ` Peter Chen
  0 siblings, 0 replies; 20+ messages in thread
From: Peter Chen @ 2014-03-13  3:18 UTC (permalink / raw)
  To: linux-arm-kernel

 
> This adds the i.MX25 and the i.MX35 support in the ChipIdea usbmisc
> driver.
> 
> The i.MX25 and i.MX35 usb controllers are similar enough to be able to
> use the same code.
> 
> Signed-off-by: Denis Carikli <denis@eukrea.com>
> ---
> Changelog v2->v3:
> - Add a commit log
> 
> Changelog v1->v2:
> - converted two remaining defines to BIT()
> - Removed a variable declaration that was not used in usbmisc_imx25_init
> ---
>  drivers/usb/chipidea/usbmisc_imx.c |   58
> ++++++++++++++++++++++++++++++++++++
>  1 file changed, 58 insertions(+)
> 
> diff --git a/drivers/usb/chipidea/usbmisc_imx.c
> b/drivers/usb/chipidea/usbmisc_imx.c
> index cd061ab..3523c09 100644
> --- a/drivers/usb/chipidea/usbmisc_imx.c
> +++ b/drivers/usb/chipidea/usbmisc_imx.c
> @@ -21,6 +21,26 @@
>  #define MX25_USB_PHY_CTRL_OFFSET	0x08
>  #define MX25_BM_EXTERNAL_VBUS_DIVIDER	BIT(23)
> 
> +#define MXC_EHCI_INTERFACE_SINGLE_UNI	(2 << 0)
> +#define MXC_EHCI_INTERFACE_DIFF_UNI	(0 << 0)
> +#define MXC_EHCI_INTERFACE_MASK		(0xf)
> +

Have a check for my comment for above Macros please.

Peter

> +#define MX25_OTG_SIC_SHIFT		29
> +#define MX25_OTG_SIC_MASK		(0x3 << MX25_OTG_SIC_SHIFT)
> +#define MX25_OTG_PM_BIT			BIT(24)
> +#define MX25_OTG_PP_BIT			BIT(11)
> +#define MX25_OTG_OCPOL_BIT		BIT(3)
> +
> +#define MX25_H1_SIC_SHIFT		21
> +#define MX25_H1_SIC_MASK		(0x3 << MX25_H1_SIC_SHIFT)
> +#define MX25_H1_PP_BIT			BIT(18)
> +#define MX25_H1_PM_BIT			BIT(16)
> +#define MX25_H1_IPPUE_UP_BIT		BIT(7)
> +#define MX25_H1_IPPUE_DOWN_BIT		BIT(6)
> +#define MX25_H1_TLL_BIT			BIT(5)
> +#define MX25_H1_USBTE_BIT		BIT(4)
> +#define MX25_H1_OCPOL_BIT		BIT(2)
> +
>  #define MX27_H1_PM_BIT			BIT(8)
>  #define MX27_H2_PM_BIT			BIT(16)
>  #define MX27_OTG_PM_BIT			BIT(24)
> @@ -50,6 +70,39 @@ struct imx_usbmisc {
> 
>  static struct imx_usbmisc *usbmisc;
> 
> +static int usbmisc_imx25_init(struct imx_usbmisc_data *data) {
> +	unsigned long flags;
> +	u32 val = 0;
> +
> +	if (data->index > 1)
> +		return -EINVAL;
> +
> +	spin_lock_irqsave(&usbmisc->lock, flags);
> +	switch (data->index) {
> +	case 0:
> +		val = readl(usbmisc->base);
> +		val &= ~(MX25_OTG_SIC_MASK | MX25_OTG_PP_BIT);
> +		val |= (MXC_EHCI_INTERFACE_DIFF_UNI & MXC_EHCI_INTERFACE_MASK)
> << MX25_OTG_SIC_SHIFT;
> +		val |= (MX25_OTG_PM_BIT | MX25_OTG_OCPOL_BIT);
> +		writel(val, usbmisc->base);
> +		break;
> +	case 1:
> +		val = readl(usbmisc->base);
> +		val &= ~(MX25_H1_SIC_MASK | MX25_H1_PP_BIT |
> MX25_H1_IPPUE_UP_BIT);
> +		val |= (MXC_EHCI_INTERFACE_SINGLE_UNI &
> MXC_EHCI_INTERFACE_MASK) << MX25_H1_SIC_SHIFT;
> +		val |= (MX25_H1_PM_BIT | MX25_H1_OCPOL_BIT | MX25_H1_TLL_BIT
> |
> +			MX25_H1_USBTE_BIT | MX25_H1_IPPUE_DOWN_BIT);
> +
> +		writel(val, usbmisc->base);
> +
> +		break;
> +	}
> +	spin_unlock_irqrestore(&usbmisc->lock, flags);
> +
> +	return 0;
> +}
> +
>  static int usbmisc_imx25_post(struct imx_usbmisc_data *data)  {
>  	void __iomem *reg;
> @@ -159,6 +212,7 @@ static int usbmisc_imx6q_init(struct imx_usbmisc_data
> *data)  }
> 
>  static const struct usbmisc_ops imx25_usbmisc_ops = {
> +	.init = usbmisc_imx25_init,
>  	.post = usbmisc_imx25_post,
>  };
> 
> @@ -200,6 +254,10 @@ static const struct of_device_id usbmisc_imx_dt_ids[]
> = {
>  		.data = &imx25_usbmisc_ops,
>  	},
>  	{
> +		.compatible = "fsl,imx35-usbmisc",
> +		.data = &imx25_usbmisc_ops,
> +	},
> +	{
>  		.compatible = "fsl,imx27-usbmisc",
>  		.data = &imx27_usbmisc_ops,
>  	},
> --
> 1.7.9.5
> 
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH v3][ 5/9] ARM: dts: imx25.dtsi: Fix USB support.
  2014-03-12 11:08   ` Fabio Estevam
@ 2014-03-13  9:18     ` Denis Carikli
  0 siblings, 0 replies; 20+ messages in thread
From: Denis Carikli @ 2014-03-13  9:18 UTC (permalink / raw)
  To: linux-arm-kernel

On 03/12/2014 12:08 PM, Fabio Estevam wrote:
> Hi Denis,
Hi,

> As you add me in the From field, you also need to add:
>
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> above your
> Signed-off-by line.
Thanks.

>> +       usbphy {
>> +               #address-cells = <1>;
>> +               #size-cells = <0>;
>> +               compatible = "simple-bus";
>
> I made this comment earlier: why do we place usbphy0/1 under simple-bus?

The official ePAPR 1.1 standard talks about the system on a chip's 
internal I/O bus.
So, I wonder if, in general, it makes sense to group together, with a 
simple-bus compatible, potentially different usb phy, which are 
connected to potentially different usb controllers.

Still if I remove it from the usbphy node, I get the following messages 
more than once in dmesg:
 > ci_hdrc ci_hdrc.0: no usb2 phy configured
 > platform ci_hdrc.0: Driver ci_hdrc requests probe deferral
 > ci_hdrc ci_hdrc.1: no usb2 phy configured
 > platform ci_hdrc.1: Driver ci_hdrc requests probe deferral

With at the end lsusb printing nothing.

> This is not documented in the the bindings.
I don't think that the simple-bus has to be added to 
Documentation/devicetree/bindings/usb/usb-nop-xceiv.txt because that 
file only talks about what became usbphy's subnodes.

Denis.

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH v3][ 3/9] usb: chipidea: Use standard usb-phy property.
  2014-03-13  3:17   ` Peter Chen
@ 2014-03-13 15:31     ` Sergei Shtylyov
  2014-03-14  1:57         ` Peter Chen
  0 siblings, 1 reply; 20+ messages in thread
From: Sergei Shtylyov @ 2014-03-13 15:31 UTC (permalink / raw)
  To: linux-arm-kernel

Hello.

On 13-03-2014 7:17, Peter Chen wrote:

>> It also adapt the dts that uses it.

>> Signed-off-by: Denis Carikli <denis@eukrea.com>
[...]

> According to Power_ePAPR_APPROVED_v1.1.pdf
> "ethernet-phy" is the node name, it is the same with Sergei's suggestion.

    Nobody's talking about "ehternet-phy" here.

> But you have changed the property name at this patch, in fact, "fsl,usbphy"
> is ok for property name, "fsl,usb-phy" may be better, but not worth a patch
> to change it.

    No, it's not better and both are not OK because they're still Freescale 
specific while the de-facto standard property "usb-phy" is already used by 
other USB drivers for the same purpose.

> Peter

WBR, Sergei

^ permalink raw reply	[flat|nested] 20+ messages in thread

* RE: [PATCH v3][ 3/9] usb: chipidea: Use standard usb-phy property.
  2014-03-13 15:31     ` Sergei Shtylyov
@ 2014-03-14  1:57         ` Peter Chen
  0 siblings, 0 replies; 20+ messages in thread
From: Peter Chen @ 2014-03-14  1:57 UTC (permalink / raw)
  To: Sergei Shtylyov, Denis Carikli, devicetree
  Cc: Eric Bénard, Alexander Shiyan, linux-usb, Sascha Hauer,
	Shawn Guo, Fabio Estevam, linux-arm-kernel


 
> 
> > According to Power_ePAPR_APPROVED_v1.1.pdf "ethernet-phy" is the node
> > name, it is the same with Sergei's suggestion.
> 
>     Nobody's talking about "ehternet-phy" here.
> 

Hmm, you take "ethernet-phy" as an example, and suggest changing to "usb-phy" at last email.

> > But you have changed the property name at this patch, in fact,
> "fsl,usbphy"
> > is ok for property name, "fsl,usb-phy" may be better, but not worth a
> > patch to change it.
> 
>     No, it's not better and both are not OK because they're still
> Freescale specific while the de-facto standard property "usb-phy" is
> already used by other USB drivers for the same purpose.


Am I missing something, property name should be the same for all platforms?

At Power_ePAPR_APPROVED_v1.1, page 18, the example property name like below:

fsl,channel-fifo-len
ibm,ppc-interrupt-server#s
linux,network-index


Peter

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH v3][ 3/9] usb: chipidea: Use standard usb-phy property.
@ 2014-03-14  1:57         ` Peter Chen
  0 siblings, 0 replies; 20+ messages in thread
From: Peter Chen @ 2014-03-14  1:57 UTC (permalink / raw)
  To: linux-arm-kernel


 
> 
> > According to Power_ePAPR_APPROVED_v1.1.pdf "ethernet-phy" is the node
> > name, it is the same with Sergei's suggestion.
> 
>     Nobody's talking about "ehternet-phy" here.
> 

Hmm, you take "ethernet-phy" as an example, and suggest changing to "usb-phy" at last email.

> > But you have changed the property name at this patch, in fact,
> "fsl,usbphy"
> > is ok for property name, "fsl,usb-phy" may be better, but not worth a
> > patch to change it.
> 
>     No, it's not better and both are not OK because they're still
> Freescale specific while the de-facto standard property "usb-phy" is
> already used by other USB drivers for the same purpose.


Am I missing something, property name should be the same for all platforms?

At Power_ePAPR_APPROVED_v1.1, page 18, the example property name like below:

fsl,channel-fifo-len
ibm,ppc-interrupt-server#s
linux,network-index


Peter

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v3][ 3/9] usb: chipidea: Use standard usb-phy property.
  2014-03-14  1:57         ` Peter Chen
@ 2014-03-14 11:21             ` Sergei Shtylyov
  -1 siblings, 0 replies; 20+ messages in thread
From: Sergei Shtylyov @ 2014-03-14 11:21 UTC (permalink / raw)
  To: Peter Chen, Denis Carikli, devicetree-u79uwXL29TY76Z2rM5mHXA
  Cc: Eric Bénard, Shawn Guo, Sascha Hauer,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-usb-u79uwXL29TY76Z2rM5mHXA, Fabio Estevam,
	Alexander Shiyan

Hello.

On 14-03-2014 5:57, Peter Chen wrote:

>>> According to Power_ePAPR_APPROVED_v1.1.pdf "ethernet-phy" is the node
>>> name, it is the same with Sergei's suggestion.

>>      Nobody's talking about "ehternet-phy" here.

> Hmm, you take "ethernet-phy" as an example, and suggest changing to "usb-phy" at last email.

    Then it's a wrong mail. I'm not mixing nodes and properties.

>>> But you have changed the property name at this patch, in fact,
>> "fsl,usbphy"
>>> is ok for property name, "fsl,usb-phy" may be better, but not worth a
>>> patch to change it.

>>      No, it's not better and both are not OK because they're still
>> Freescale specific while the de-facto standard property "usb-phy" is
>> already used by other USB drivers for the same purpose.

> Am I missing something, property name should be the same for all platforms?

    If they're doing the same standard thing, yes.

> Peter

WBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH v3][ 3/9] usb: chipidea: Use standard usb-phy property.
@ 2014-03-14 11:21             ` Sergei Shtylyov
  0 siblings, 0 replies; 20+ messages in thread
From: Sergei Shtylyov @ 2014-03-14 11:21 UTC (permalink / raw)
  To: linux-arm-kernel

Hello.

On 14-03-2014 5:57, Peter Chen wrote:

>>> According to Power_ePAPR_APPROVED_v1.1.pdf "ethernet-phy" is the node
>>> name, it is the same with Sergei's suggestion.

>>      Nobody's talking about "ehternet-phy" here.

> Hmm, you take "ethernet-phy" as an example, and suggest changing to "usb-phy" at last email.

    Then it's a wrong mail. I'm not mixing nodes and properties.

>>> But you have changed the property name at this patch, in fact,
>> "fsl,usbphy"
>>> is ok for property name, "fsl,usb-phy" may be better, but not worth a
>>> patch to change it.

>>      No, it's not better and both are not OK because they're still
>> Freescale specific while the de-facto standard property "usb-phy" is
>> already used by other USB drivers for the same purpose.

> Am I missing something, property name should be the same for all platforms?

    If they're doing the same standard thing, yes.

> Peter

WBR, Sergei

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2014-03-14 11:21 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-12 10:01 [PATCH v3][ 1/9] ARM: dts: mx25: USB block requires only one clock Denis Carikli
2014-03-12 10:01 ` [PATCH v3][ 2/9] ARM: dts: mx35: " Denis Carikli
2014-03-12 10:01 ` [PATCH v3][ 3/9] usb: chipidea: Use standard usb-phy property Denis Carikli
2014-03-12 10:19   ` Lothar Waßmann
2014-03-12 10:36     ` Alexander Shiyan
2014-03-13  3:17   ` Peter Chen
2014-03-13 15:31     ` Sergei Shtylyov
2014-03-14  1:57       ` Peter Chen
2014-03-14  1:57         ` Peter Chen
     [not found]         ` <171967ece1414f9ba0e80664777892cb-AZ66ij2kwaYFgBIGFwYtMOO6mTEJWrR4XA4E9RH9d+qIuWR1G4zioA@public.gmane.org>
2014-03-14 11:21           ` Sergei Shtylyov
2014-03-14 11:21             ` Sergei Shtylyov
2014-03-12 10:01 ` [PATCH v3][ 4/9] usb: chipidea: usbmisc: Add USB Host support for i.MX25/i.MX35 CPUs Denis Carikli
2014-03-13  3:18   ` Peter Chen
2014-03-12 10:01 ` [PATCH v3][ 5/9] ARM: dts: imx25.dtsi: Fix USB support Denis Carikli
2014-03-12 11:08   ` Fabio Estevam
2014-03-13  9:18     ` Denis Carikli
2014-03-12 10:01 ` [PATCH v3][ 6/9] ARM: dts: mbimxsd25 baseboard: Add " Denis Carikli
2014-03-12 10:01 ` [PATCH v3][ 7/9] ARM: dts: i.MX35: " Denis Carikli
2014-03-12 10:01 ` [PATCH v3][ 8/9] ARM: dts: mbimxsd35 baseboard: " Denis Carikli
2014-03-12 10:01 ` [PATCH v3][ 9/9] ARM: imx_v4_v5_defconfig: Enable drivers for i.MX25/i.MX35 " Denis Carikli

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.