Skip to contentSkip to conversation

usb: host: xhci: make sure to power up PHY

PATCH New Felipe Balbi 5 participants 18 messages Jun 23, 2014 – Jul 9, 2014

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

PATCH 1/2 usb: host: xhci: make sure to power up PHY

some boards won't work if the PHY isn't explicitly powered up.

---
 drivers/usb/host/xhci-omap.c | 1 +
 1 file changed, 1 insertion(+)
drivers/usb/host/xhci-omap.c +1 -0
index e667810..912b2bd 100644
@@ -98,6 +98,7 @@ static int omap_xhci_core_init(struct omap_xhci *omap)
 {
 	int ret = 0;
 
+	usb_phy_power(1);
 	omap_enable_phy(omap);
 
 	ret = dwc3_core_init(omap->dwc3_reg);
Signature · 1 line
2.0.0.390.gcb682f8
#1 lore raw

PATCH 1/2 usb: host: xhci: make sure to power up PHY

Quoted 4 lines · Felipe Balbi

some boards won't work if the PHY isn't explicitly powered up.

ping, this is still pending in mainline u-boot. Without this, usb won't work on am437x-sk.

Quoted 19 lines
---
 drivers/usb/host/xhci-omap.c | 1 +
 1 file changed, 1 insertion(+)
drivers/usb/host/xhci-omap.c +1 -0
index e667810..912b2bd 100644
@@ -98,6 +98,7 @@ static int omap_xhci_core_init(struct omap_xhci *omap)
 {
 	int ret = 0;
 
+	usb_phy_power(1);
 	omap_enable_phy(omap);
 
 	ret = dwc3_core_init(omap->dwc3_reg);
Signature · 1 line
2.0.0.390.gcb682f8
Signature · 8 lines
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140707/f0fe9975/attachment.pgp>
#2 lore raw

PATCH 1/2 usb: host: xhci: make sure to power up PHY

In reply to Felipe Balbi

Hi

Quoted 13 lines · Felipe Balbi

some boards won't work if the PHY isn't explicitly powered up.

---
 drivers/usb/host/xhci-omap.c | 1 +
 1 file changed, 1 insertion(+)
drivers/usb/host/xhci-omap.c +0 -0
index e667810..912b2bd 100644

drivers/usb/host/xhci-omap.c static int omap_xhci_core_init(struct omap_xhci *omap) · line 101

Quoted 4 lines
drivers/usb/host/xhci-omap.c +1 -0
@@ -98,6 +98,7 @@ static int omap_xhci_core_init(struct omap_xhci *omap)
 {
 	int ret = 0;
 
+	usb_phy_power(1);

Should this not be in the omap_usb_phy.c in the omap_enable_phy call below? I mean you are enabling the PHY right?

Quoted 3 lines
drivers/usb/host/xhci-omap.c +0 -0
 	omap_enable_phy(omap);
 
 	ret = dwc3_core_init(omap->dwc3_reg);
Signature · 2 lines
------------------
Dan Murphy
#3 lore raw

PATCH 1/2 usb: host: xhci: make sure to power up PHY

Quoted 19 lines · Dan Murphy

Hi

Quoted 16 lines · Felipe Balbi

some boards won't work if the PHY isn't explicitly powered up.

---
 drivers/usb/host/xhci-omap.c | 1 +
 1 file changed, 1 insertion(+)
drivers/usb/host/xhci-omap.c +0 -0
index e667810..912b2bd 100644
@@ -98,6 +98,7 @@ static int omap_xhci_core_init(struct omap_xhci *omap)
 {
 	int ret = 0;
 
Quoted 4 lines

drivers/usb/host/xhci-omap.c static int omap_xhci_core_init(struct omap_xhci *omap) · line 101

Quoted 1 line
drivers/usb/host/xhci-omap.c +1 -0
+	usb_phy_power(1);

Should this not be in the omap_usb_phy.c in the omap_enable_phy call below? I mean you are enabling the PHY right?

no, I'm powering it up :-) moreover omap_xhci_core_exit() calls usb_power_power(0), so it's only balancing the calls.

Signature · 8 lines
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140627/d0d0afbf/attachment.pgp>
#4 lore raw

PATCH 1/2 usb: host: xhci: make sure to power up PHY

Quoted 20 lines · Felipe Balbi
Quoted 19 lines · Dan Murphy

Hi

Quoted 16 lines · Felipe Balbi

some boards won't work if the PHY isn't explicitly powered up.

---
 drivers/usb/host/xhci-omap.c | 1 +
 1 file changed, 1 insertion(+)
drivers/usb/host/xhci-omap.c +0 -0
index e667810..912b2bd 100644
@@ -98,6 +98,7 @@ static int omap_xhci_core_init(struct omap_xhci *omap)
 {
 	int ret = 0;
 
Quoted 6 lines
Quoted 3 lines

drivers/usb/host/xhci-omap.c static int omap_xhci_core_init(struct omap_xhci *omap) · line 101

Quoted 1 line
drivers/usb/host/xhci-omap.c +1 -0
+	usb_phy_power(1);

Should this not be in the omap_usb_phy.c in the omap_enable_phy call below? I mean you are enabling the PHY right?

no, I'm powering it up :-) moreover omap_xhci_core_exit() calls usb_power_power(0), so it's only balancing the calls.

OK that makes sense then

Signature · 2 lines
------------------
Dan Murphy
#5 lore raw

PATCH 2/2 usb: phy: omap_usb_phy: implement usb_phy_power() for AM437x

In reply to Felipe Balbi

Newer AM437x silicon requires us to explicitly power up the USB2 PHY. By implementing usb_phy_power() we can achieve that.

---
 drivers/usb/phy/omap_usb_phy.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)
drivers/usb/phy/omap_usb_phy.c +16 -1
index af46db2..0ed3e70 100644
@@ -222,7 +222,22 @@ static void am437x_enable_usb2_phy2(struct omap_xhci *omap)
 
 void usb_phy_power(int on)
 {
-	return;
+	u32 val;
+
+	/* USB1_CTRL */
+	val = readl(0x44e10628);
+	if (on) {
+		/*
+		 * these bits are re-used on AM437x to power up/down the USB
+		 * CM and OTG PHYs, if we don't toggle them, USB will not be
+		 * functional on newer silicon revisions
+		 */
+		val &= ~0x3;
+	} else {
+		val |= 0x3;
+	}
+
+	writel(val, 0x44e10628);
 }
 #endif /* CONFIG_AM437X_USB2PHY2_HOST */
 
Signature · 1 line
2.0.0.390.gcb682f8
#6 lore raw

PATCH 2/2 usb: phy: omap_usb_phy: implement usb_phy_power() for AM437x

Hi

Il 23/giu/2014 23:26 "Felipe Balbi" <[email protected]> ha scritto:

Review

Quoted 11 lines

Newer AM437x silicon requires us to explicitly power up the USB2 PHY. By implementing usb_phy_power() we can achieve that.

---
 drivers/usb/phy/omap_usb_phy.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)
(quoted diff) +0 -0

b/drivers/usb/phy/omap_usb_phy.c

drivers/usb/phy/omap_usb_phy.c static void am437x_enable_usb2_phy2(struct omap_xhci

Quoted 4 lines

index af46db2..0ed3e70 100644

drivers/usb/phy/omap_usb_phy.c +0 -0
@@ -222,7 +222,22 @@ static void am437x_enable_usb2_phy2(struct omap_xhci

*omap)

drivers/usb/phy/omap_usb_phy.c static void am437x_enable_usb2_phy2(struct omap_xhci *omap) · line 228

Quoted 8 lines
drivers/usb/phy/omap_usb_phy.c +4 -1
 void usb_phy_power(int on)
 {
-       return;
+       u32 val;
+
+       /* USB1_CTRL */
+       val = readl(0x44e10628);

Can you please describe 0x44e...

drivers/usb/phy/omap_usb_phy.c static void am437x_enable_usb2_phy2(struct omap_xhci *omap)

Quoted 3 lines
drivers/usb/phy/omap_usb_phy.c +3 -0
+       if (on) {
+               /*
+                * these bits are re-used on AM437x to power up/down the

USB

drivers/usb/phy/omap_usb_phy.c static void am437x_enable_usb2_phy2(struct omap_xhci · line 231

Quoted 1 line
drivers/usb/phy/omap_usb_phy.c +1 -0
+                * CM and OTG PHYs, if we don't toggle them, USB will not

be

drivers/usb/phy/omap_usb_phy.c static void am437x_enable_usb2_phy2(struct omap_xhci *omap) · line 237

Quoted 5 lines
drivers/usb/phy/omap_usb_phy.c +5 -0
+                * functional on newer silicon revisions
+                */
+               val &= ~0x3;
+       } else {
+               val |= 0x3;

ditto

drivers/usb/phy/omap_usb_phy.c static void am437x_enable_usb2_phy2(struct omap_xhci *omap) · line 240

Quoted 3 lines
drivers/usb/phy/omap_usb_phy.c +3 -0
+       }
+
+       writel(val, 0x44e10628);

ditto

drivers/usb/phy/omap_usb_phy.c static void am437x_enable_usb2_phy2(struct omap_xhci *omap) · line 243

Quoted 3 lines
drivers/usb/phy/omap_usb_phy.c +0 -0
 }
 #endif /* CONFIG_AM437X_USB2PHY2_HOST */
 

Michael

Quoted 7 lines
drivers/usb/phy/omap_usb_phy.c +0 -1
--

2.0.0.390.gcb682f8

_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

#7 lore raw

PATCH 2/2 usb: phy: omap_usb_phy: implement usb_phy_power() for AM437x

Hi,

Quoted 11 lines · Michael Trimarchi

Review static void am437x_enable_usb2_phy2(struct omap_xhci

Quoted 1 line
(quoted diff) +0 -0
@@ -222,7 +222,22 @@ static void am437x_enable_usb2_phy2(struct omap_xhci

*omap)

drivers/usb/phy/omap_usb_phy.c static void am437x_enable_usb2_phy2(struct omap_xhci *omap) · line 228

Quoted 8 lines
drivers/usb/phy/omap_usb_phy.c +4 -1
 void usb_phy_power(int on)
 {
-       return;
+       u32 val;
+
+       /* USB1_CTRL */
+       val = readl(0x44e10628);
Quoted 1 line

Can you please describe 0x44e...

describe in what way ? The comment right above it, tells you what it is, so does the comment in the if block. Now, if what you're asking is for #defines for those constants, sure, I can do that.

Signature · 8 lines
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140623/7204a2ad/attachment.pgp>
#8 lore raw

PATCH 2/2 usb: phy: omap_usb_phy: implement usb_phy_power() for AM437x

Hi

Il 23/giu/2014 23:58 "Felipe Balbi" <[email protected]> ha scritto:

Quoted 5 lines

Hi,

Quoted 1 line · Michael Trimarchi

Review static void am437x_enable_usb2_phy2(struct

Quoted 1 line
(quoted diff) +0 -0
@@ -222,7 +222,22 @@ static void am437x_enable_usb2_phy2(struct

omap_xhci

Quoted 10 lines
Quoted 10 lines

*omap)

Quoted 8 lines
drivers/usb/phy/omap_usb_phy.c +4 -1
 void usb_phy_power(int on)
 {
-       return;
+       u32 val;
+
+       /* USB1_CTRL */
+       val = readl(0x44e10628);
Quoted 5 lines
Quoted 1 line

Can you please describe 0x44e...

describe in what way ? The comment right above it, tells you what it is, so does the comment in the if block. Now, if what you're asking is for #defines for those constants, sure, I can do that.

Yes, this was the suggestione

Quoted 3 lines

--
balbi

#9 lore raw

PATCH v2 2/2 usb: phy: omap_usb_phy: implement usb_phy_power() for AM437x

Newer AM437x silicon requires us to explicitly power up the USB2 PHY. By implementing usb_phy_power() we can achieve that.

---

Changes since v1:
- add macros for USB1_CTRL register and bits

 arch/arm/include/asm/arch-am33xx/hardware_am43xx.h |  5 +++++
 drivers/usb/phy/omap_usb_phy.c                     | 17 ++++++++++++++++-
 2 files changed, 21 insertions(+), 1 deletion(-)
arch/arm/include/asm/arch-am33xx/hardware_am43xx.h +5 -0
index 15399dc..b5875e3 100644
@@ -40,6 +40,11 @@
 #define VTP0_CTRL_ADDR			0x44E10E0C
 #define VTP1_CTRL_ADDR			0x48140E10
 
+/* USB CTRL Base Address */
+#define USB1_CTRL			0x44e10628
+#define USB1_CTRL_CM_PWRDN		BIT(0)
+#define USB1_CTRL_OTG_PWRDN		BIT(1)
+
 /* DDR Base address */
 #define DDR_PHY_CMD_ADDR		0x44E12000
 #define DDR_PHY_DATA_ADDR		0x44E120C8
drivers/usb/phy/omap_usb_phy.c +16 -1
index af46db2..f78d532 100644
@@ -222,7 +222,22 @@ static void am437x_enable_usb2_phy2(struct omap_xhci *omap)
 
 void usb_phy_power(int on)
 {
-	return;
+	u32 val;
+
+	/* USB1_CTRL */
+	val = readl(USB1_CTRL);
+	if (on) {
+		/*
+		 * these bits are re-used on AM437x to power up/down the USB
+		 * CM and OTG PHYs, if we don't toggle them, USB will not be
+		 * functional on newer silicon revisions
+		 */
+		val &= ~(USB1_CTRL_CM_PWRDN | USB1_CTRL_OTG_PWRDN);
+	} else {
+		val |= USB1_CTRL_CM_PWRDN | USB1_CTRL_OTG_PWRDN;
+	}
+
+	writel(val, USB1_CTRL);
 }
 #endif /* CONFIG_AM437X_USB2PHY2_HOST */
 
Signature · 1 line
2.0.0.390.gcb682f8
#10 lore raw

PATCH v2 2/2 usb: phy: omap_usb_phy: implement usb_phy_power() for AM437x

Hi

Add USB custodian

Il 24/giu/2014 00:18 "Felipe Balbi" <[email protected]> ha scritto:

Quoted 8 lines

Newer AM437x silicon requires us to explicitly power up the USB2 PHY. By implementing usb_phy_power() we can achieve that.

---

Review

Quoted 8 lines

Changes since v1:
- add macros for USB1_CTRL register and bits

 arch/arm/include/asm/arch-am33xx/hardware_am43xx.h |  5 +++++
 drivers/usb/phy/omap_usb_phy.c                     | 17 ++++++++++++++++-
 2 files changed, 21 insertions(+), 1 deletion(-)
(quoted diff) +0 -0

b/arch/arm/include/asm/arch-am33xx/hardware_am43xx.h

Review

Quoted 16 lines

index 15399dc..b5875e3 100644

arch/arm/include/asm/arch-am33xx/hardware_am43xx.h +5 -0
@@ -40,6 +40,11 @@
 #define VTP0_CTRL_ADDR                 0x44E10E0C
 #define VTP1_CTRL_ADDR                 0x48140E10
 
+/* USB CTRL Base Address */
+#define USB1_CTRL                      0x44e10628
+#define USB1_CTRL_CM_PWRDN             BIT(0)
+#define USB1_CTRL_OTG_PWRDN            BIT(1)
+
 /* DDR Base address */
 #define DDR_PHY_CMD_ADDR               0x44E12000
 #define DDR_PHY_DATA_ADDR              0x44E120C8
(quoted diff) +0 -0

b/drivers/usb/phy/omap_usb_phy.c

drivers/usb/phy/omap_usb_phy.c static void am437x_enable_usb2_phy2(struct omap_xhci

Quoted 4 lines

index af46db2..f78d532 100644

drivers/usb/phy/omap_usb_phy.c +0 -0
@@ -222,7 +222,22 @@ static void am437x_enable_usb2_phy2(struct omap_xhci

*omap)

drivers/usb/phy/omap_usb_phy.c static void am437x_enable_usb2_phy2(struct omap_xhci *omap)

Quoted 11 lines
drivers/usb/phy/omap_usb_phy.c +7 -1
 void usb_phy_power(int on)
 {
-       return;
+       u32 val;
+
+       /* USB1_CTRL */
+       val = readl(USB1_CTRL);
+       if (on) {
+               /*
+                * these bits are re-used on AM437x to power up/down the

USB

drivers/usb/phy/omap_usb_phy.c static void am437x_enable_usb2_phy2(struct omap_xhci · line 231

Quoted 1 line
drivers/usb/phy/omap_usb_phy.c +1 -0
+                * CM and OTG PHYs, if we don't toggle them, USB will not

be

drivers/usb/phy/omap_usb_phy.c static void am437x_enable_usb2_phy2(struct omap_xhci *omap) · line 242

Quoted 10 lines
drivers/usb/phy/omap_usb_phy.c +8 -0
+                * functional on newer silicon revisions
+                */
+               val &= ~(USB1_CTRL_CM_PWRDN | USB1_CTRL_OTG_PWRDN);
+       } else {
+               val |= USB1_CTRL_CM_PWRDN | USB1_CTRL_OTG_PWRDN;
+       }
+
+       writel(val, USB1_CTRL);
 }
 #endif /* CONFIG_AM437X_USB2PHY2_HOST */

Michael

Quoted 4 lines
drivers/usb/phy/omap_usb_phy.c +0 -1
--

2.0.0.390.gcb682f8

#11 lore raw

PATCH v2 2/2 usb: phy: omap_usb_phy: implement usb_phy_power() for AM437x

On Tuesday, June 24, 2014 at 04:38:58 PM, Michael Trimarchi wrote:
[...]

Quoted 19 lines

drivers/usb/phy/omap_usb_phy.c static void am437x_enable_usb2_phy2(struct omap_xhci

Quoted 4 lines

index af46db2..f78d532 100644

drivers/usb/phy/omap_usb_phy.c +0 -0
@@ -222,7 +222,22 @@ static void am437x_enable_usb2_phy2(struct omap_xhci

*omap)

drivers/usb/phy/omap_usb_phy.c static void am437x_enable_usb2_phy2(struct omap_xhci *omap)

Quoted 11 lines
drivers/usb/phy/omap_usb_phy.c +7 -1
 void usb_phy_power(int on)
 {
 
-       return;
+       u32 val;
+
+       /* USB1_CTRL */
+       val = readl(USB1_CTRL);
+       if (on) {
+               /*
+                * these bits are re-used on AM437x to power up/down the
Quoted 14 lines

USB

drivers/usb/phy/omap_usb_phy.c static void am437x_enable_usb2_phy2(struct omap_xhci · line 232

Quoted 1 line
drivers/usb/phy/omap_usb_phy.c +1 -0
+                * CM and OTG PHYs, if we don't toggle them, USB will not

be

Quoted 8 lines
drivers/usb/phy/omap_usb_phy.c +8 -0
+                * functional on newer silicon revisions
+                */
+               val &= ~(USB1_CTRL_CM_PWRDN | USB1_CTRL_OTG_PWRDN);
+       } else {
+               val |= USB1_CTRL_CM_PWRDN | USB1_CTRL_OTG_PWRDN;
+       }
+
+       writel(val, USB1_CTRL);

Thanks, please use clrbits_le32() and setbits_le32() here instead.

Best regards,
Marek Vasut

#12 lore raw

PATCH v2 2/2 usb: phy: omap_usb_phy: implement usb_phy_power() for AM437x

In reply to Felipe Balbi

hi,

Quoted 9 lines · Felipe Balbi

Newer AM437x silicon requires us to explicitly power up the USB2 PHY. By implementing usb_phy_power() we can achieve that.

---

Changes since v1:
- add macros for USB1_CTRL register and bits

same here. Still pending, am437x will remain broken until this is applied.

cheers

Quoted 52 lines
 arch/arm/include/asm/arch-am33xx/hardware_am43xx.h |  5 +++++
 drivers/usb/phy/omap_usb_phy.c                     | 17 ++++++++++++++++-
 2 files changed, 21 insertions(+), 1 deletion(-)
arch/arm/include/asm/arch-am33xx/hardware_am43xx.h +5 -0
index 15399dc..b5875e3 100644
@@ -40,6 +40,11 @@
 #define VTP0_CTRL_ADDR			0x44E10E0C
 #define VTP1_CTRL_ADDR			0x48140E10
 
+/* USB CTRL Base Address */
+#define USB1_CTRL			0x44e10628
+#define USB1_CTRL_CM_PWRDN		BIT(0)
+#define USB1_CTRL_OTG_PWRDN		BIT(1)
+
 /* DDR Base address */
 #define DDR_PHY_CMD_ADDR		0x44E12000
 #define DDR_PHY_DATA_ADDR		0x44E120C8
drivers/usb/phy/omap_usb_phy.c +16 -1
index af46db2..f78d532 100644
@@ -222,7 +222,22 @@ static void am437x_enable_usb2_phy2(struct omap_xhci *omap)
 
 void usb_phy_power(int on)
 {
-	return;
+	u32 val;
+
+	/* USB1_CTRL */
+	val = readl(USB1_CTRL);
+	if (on) {
+		/*
+		 * these bits are re-used on AM437x to power up/down the USB
+		 * CM and OTG PHYs, if we don't toggle them, USB will not be
+		 * functional on newer silicon revisions
+		 */
+		val &= ~(USB1_CTRL_CM_PWRDN | USB1_CTRL_OTG_PWRDN);
+	} else {
+		val |= USB1_CTRL_CM_PWRDN | USB1_CTRL_OTG_PWRDN;
+	}
+
+	writel(val, USB1_CTRL);
 }
 #endif /* CONFIG_AM437X_USB2PHY2_HOST */
 
Signature · 1 line
2.0.0.390.gcb682f8
Signature · 8 lines
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140707/3570fc32/attachment.pgp>
#13 lore raw

PATCH v2 2/2 usb: phy: omap_usb_phy: implement usb_phy_power() for AM437x

Quoted 7 lines · Felipe Balbi

hi,

Quoted 4 lines · Felipe Balbi

Newer AM437x silicon requires us to explicitly power up the USB2 PHY. By implementing usb_phy_power() we can achieve that.

Quoted 8 lines
Quoted 5 lines

---

Changes since v1:
- add macros for USB1_CTRL register and bits

same here. Still pending, am437x will remain broken until this is applied.

What do you need for .07, this and 1/2 of this series ? Or did I miss something else?

In any case, sorry, will apply them once I know which ones.

Best regards,
Marek Vasut

#14 lore raw

PATCH v2 2/2 usb: phy: omap_usb_phy: implement usb_phy_power() for AM437x

Quoted 14 lines · Marek Vasut
Quoted 13 lines · Felipe Balbi

hi,

Quoted 9 lines · Felipe Balbi

Newer AM437x silicon requires us to explicitly power up the USB2 PHY. By implementing usb_phy_power() we can achieve that.

---

Changes since v1:
- add macros for USB1_CTRL register and bits

Quoted 7 lines
Quoted 2 lines

same here. Still pending, am437x will remain broken until this is applied.

What do you need for .07, this and 1/2 of this series ? Or did I miss something else?

In any case, sorry, will apply them once I know which ones.

Yes, 1/2 and 2/2 are the missing USB bits..

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140709/601fc998/attachment.pgp>
#15 lore raw

PATCH v2 2/2 usb: phy: omap_usb_phy: implement usb_phy_power() for AM437x

Hi Tom

Quoted 18 lines · Tom Rini
Quoted 17 lines · Marek Vasut
Quoted 15 lines · Felipe Balbi

hi,

Quoted 9 lines · Felipe Balbi

Newer AM437x silicon requires us to explicitly power up the USB2 PHY. By implementing usb_phy_power() we can achieve that.

---

Changes since v1:
- add macros for USB1_CTRL register and bits

same here. Still pending, am437x will remain broken until this is applied.

Quoted 7 lines
Quoted 4 lines

What do you need for .07, this and 1/2 of this series ? Or did I miss something else?

In any case, sorry, will apply them once I know which ones.

Yes, 1/2 and 2/2 are the missing USB bits..

Marek comment out about using clrbits and setbits. So it's better to resend them

Michael

Quoted 8 lines

--
Tom

_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Signature · 4 lines
| Michael Nazzareno Trimarchi                     Amarula Solutions BV |
| COO  -  Founder                                      Cruquiuskade 47 |
| +31(0)851119172                                 Amsterdam 1018 AM NL |
|                  [`as] http://www.amarulasolutions.com               |
#16 lore raw

PATCH v2 2/2 usb: phy: omap_usb_phy: implement usb_phy_power() for AM437x

Quoted 24 lines · Michael Trimarchi

Hi Tom

Quoted 21 lines · Tom Rini
Quoted 20 lines · Marek Vasut
Quoted 7 lines · Felipe Balbi

hi,

Quoted 4 lines · Felipe Balbi

Newer AM437x silicon requires us to explicitly power up the USB2 PHY. By implementing usb_phy_power() we can achieve that.

Quoted 8 lines
Quoted 5 lines

---

Changes since v1:
- add macros for USB1_CTRL register and bits

same here. Still pending, am437x will remain broken until this is applied.

What do you need for .07, this and 1/2 of this series ? Or did I miss something else?

Quoted 6 lines
Quoted 3 lines
Quoted 1 line

In any case, sorry, will apply them once I know which ones.

Yes, 1/2 and 2/2 are the missing USB bits..

Marek comment out about using clrbits and setbits. So it's better to resend them

Wasn't this fixed in the V2 ?

Best regards,
Marek Vasut

#17 lore raw

PATCH v2 2/2 usb: phy: omap_usb_phy: implement usb_phy_power() for AM437x

In reply to Felipe Balbi
Quoted 5 lines · Felipe Balbi

Newer AM437x silicon requires us to explicitly power up the USB2 PHY. By implementing usb_phy_power() we can achieve that.

Applied 1/2 and 2/2 v2 , thanks.

Best regards,
Marek Vasut