All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/4 v3] musb: Use name based initialization for musb_config
@ 2010-06-10  5:50 Ajay Kumar Gupta
  2010-06-10  5:50 ` [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for using external Vbus Ajay Kumar Gupta
  2010-06-16 18:43 ` [U-Boot] [PATCH 1/4 v3] musb: Use name based initialization for musb_config Remy Bohmer
  0 siblings, 2 replies; 16+ messages in thread
From: Ajay Kumar Gupta @ 2010-06-10  5:50 UTC (permalink / raw)
  To: u-boot

Changed musb_config initialization for omap3.c, davinci.c
and da8xx.c using name of structure fields. This would cause
the uninitialized field to be null by default and thus would
help in avoiding to init some flags required to be set only
for a few selected platforms.

CC: Remy Bohmer <linux@bohmer.net>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
---
No change from v2.

 drivers/usb/musb/da8xx.c   |    6 +++---
 drivers/usb/musb/davinci.c |    6 +++---
 drivers/usb/musb/omap3.c   |    6 +++---
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
index 40bfe44..617d88e 100644
--- a/drivers/usb/musb/da8xx.c
+++ b/drivers/usb/musb/da8xx.c
@@ -27,9 +27,9 @@
 
 /* MUSB platform configuration */
 struct musb_config musb_cfg = {
-	(struct	musb_regs *)DA8XX_USB_OTG_CORE_BASE,
-	DA8XX_USB_OTG_TIMEOUT,
-	0
+	.regs		= (struct musb_regs *)DA8XX_USB_OTG_CORE_BASE,
+	.timeout	= DA8XX_USB_OTG_TIMEOUT,
+	.musb_speed	= 0,
 };
 
 /*
diff --git a/drivers/usb/musb/davinci.c b/drivers/usb/musb/davinci.c
index 8fbadc9..f56f2df 100644
--- a/drivers/usb/musb/davinci.c
+++ b/drivers/usb/musb/davinci.c
@@ -28,9 +28,9 @@
 
 /* MUSB platform configuration */
 struct musb_config musb_cfg = {
-	(struct	musb_regs *)MENTOR_USB0_BASE,
-	DAVINCI_USB_TIMEOUT,
-	0
+	.regs		= (struct musb_regs *)MENTOR_USB0_BASE,
+	.timeout	= DAVINCI_USB_TIMEOUT,
+	.musb_speed	= 0,
 };
 
 /* MUSB module register overlay */
diff --git a/drivers/usb/musb/omap3.c b/drivers/usb/musb/omap3.c
index 3bfd0a0..785629c 100644
--- a/drivers/usb/musb/omap3.c
+++ b/drivers/usb/musb/omap3.c
@@ -36,9 +36,9 @@
 static int platform_needs_initialization = 1;
 
 struct musb_config musb_cfg = {
-	(struct	musb_regs *)MENTOR_USB0_BASE,
-	OMAP3_USB_TIMEOUT,
-	0
+	.regs		= (struct musb_regs *)MENTOR_USB0_BASE,
+	.timeout	= OMAP3_USB_TIMEOUT,
+	.musb_speed	= 0,
 };
 
 /*
-- 
1.6.2.4

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

* [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for using external Vbus
  2010-06-10  5:50 [U-Boot] [PATCH 1/4 v3] musb: Use name based initialization for musb_config Ajay Kumar Gupta
@ 2010-06-10  5:50 ` Ajay Kumar Gupta
  2010-06-10  5:50   ` [U-Boot] [PATCH 3/4 v3] omap3evm: Add board revision function Ajay Kumar Gupta
                     ` (3 more replies)
  2010-06-16 18:43 ` [U-Boot] [PATCH 1/4 v3] musb: Use name based initialization for musb_config Remy Bohmer
  1 sibling, 4 replies; 16+ messages in thread
From: Ajay Kumar Gupta @ 2010-06-10  5:50 UTC (permalink / raw)
  To: u-boot

MUSB PHY on OMAP3EVM Rev >= E uses external Vbus supply to support
500mA of power.We need to program MUSB PHY to use external Vbus
for this purpose.

Adding 'extvbus' member in musb_config structure which should be set
by all the boards where MUSB interface is using external Vbus supply.

Also added ULPI bus control register read/write abstraction for
Blackfin processor as it doesn't have ULPI registers.

CC: Remy Bohmer <linux@bohmer.net>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
---
Changes from v2:
Added 'return 0' in Blackfin version if ulpi read function.

 drivers/usb/musb/musb_core.c |    7 +++++++
 drivers/usb/musb/musb_core.h |   30 +++++++++++++++++++++++++++++-
 2 files changed, 36 insertions(+), 1 deletions(-)

diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index 7766069..dc740cf 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -34,6 +34,7 @@ void musb_start(void)
 {
 #if defined(CONFIG_MUSB_HCD)
 	u8 devctl;
+	u8 busctl;
 #endif
 
 	/* disable all interrupts */
@@ -45,6 +46,12 @@ void musb_start(void)
 	/* put into basic highspeed mode and start session */
 	writeb(MUSB_POWER_HSENAB, &musbr->power);
 #if defined(CONFIG_MUSB_HCD)
+	/* Program PHY to use EXT VBUS if required */
+	if (musb_cfg.extvbus == 1) {
+		busctl = musb_read_ulpi_buscontrol(musbr);
+		musb_write_ulpi_buscontrol(musbr, busctl | ULPI_USE_EXTVBUS);
+	}
+
 	devctl = readb(&musbr->devctl);
 	writeb(devctl | MUSB_DEVCTL_SESSION, &musbr->devctl);
 #endif
diff --git a/drivers/usb/musb/musb_core.h b/drivers/usb/musb/musb_core.h
index 9a1fb4f..4771876 100644
--- a/drivers/usb/musb/musb_core.h
+++ b/drivers/usb/musb/musb_core.h
@@ -112,7 +112,10 @@ struct musb_regs {
 	u16	rxfifoadd;
 	u32	vcontrol;
 	u16	hwvers;
-	u16	reserved2[5];
+	u16	reserved2a[1];
+	u8	ulpi_busctl;
+	u8	reserved2b[1];
+	u16	reserved2[3];
 	u8	epinfo;
 	u8	raminfo;
 	u8	linkinfo;
@@ -181,6 +184,10 @@ struct musb_regs {
 #define MUSB_DEVCTL_HR		0x02
 #define MUSB_DEVCTL_SESSION	0x01
 
+/* ULPI VBUSCONTROL */
+#define ULPI_USE_EXTVBUS	0x01
+#define ULPI_USE_EXTVBUSIND	0x02
+
 /* TESTMODE */
 #define MUSB_TEST_FORCE_HOST	0x80
 #define MUSB_TEST_FIFO_ACCESS	0x40
@@ -341,6 +348,7 @@ struct musb_config {
 	struct	musb_regs	*regs;
 	u32			timeout;
 	u8			musb_speed;
+	u8			extvbus;
 };
 
 /* externally defined data */
@@ -361,6 +369,26 @@ extern void read_fifo(u8 ep, u32 length, void *fifo_data);
 # define readb(addr)     (u8)bfin_read16(addr)
 # undef  writeb
 # define writeb(b, addr) bfin_write16(addr, b)
+/*
+ * The USB PHY on current Blackfin processors is a UTMI+ level 2 PHY.
+ * However, it has no ULPI support - so there are no registers at all.
+ * That means accesses to ULPI_BUSCONTROL have to be abstracted away.
+ */
+static inline u8 musb_read_ulpi_buscontrol(struct musb_regs *musbr)
+{
+	return 0;
+}
+static inline void musb_write_ulpi_buscontrol(struct musb_regs *musbr, u8 val)
+{}
+#else
+static inline u8 musb_read_ulpi_buscontrol(struct musb_regs *musbr)
+{
+	return readb(&musbr->ulpi_busctl);
+}
+static inline void musb_write_ulpi_buscontrol(struct musb_regs *musbr, u8 val)
+{
+	writeb(val, &musbr->ulpi_busctl);
+}
 #endif
 
 #endif	/* __MUSB_HDRC_DEFS_H__ */
-- 
1.6.2.4

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

* [U-Boot] [PATCH 3/4 v3] omap3evm: Add board revision function
  2010-06-10  5:50 ` [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for using external Vbus Ajay Kumar Gupta
@ 2010-06-10  5:50   ` Ajay Kumar Gupta
  2010-06-10  5:50     ` [U-Boot] [PATCH 4/4 v3] musb: Program extvbus for OMAP3EVM Rev >= E Ajay Kumar Gupta
                       ` (2 more replies)
  2010-06-10  6:15   ` [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for using external Vbus Mike Frysinger
                     ` (2 subsequent siblings)
  3 siblings, 3 replies; 16+ messages in thread
From: Ajay Kumar Gupta @ 2010-06-10  5:50 UTC (permalink / raw)
  To: u-boot

Added function to differentiate between the OMAP3EVM revisions. The
chip-id of the ethernet PHY is being used for this purpose.

Rev A to D : 0x01150000
Rev >= E   : 0x92200000

CC: Remy Bohmer <linux@bohmer.net>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
---
No change from v2.

 board/ti/evm/evm.c |   30 ++++++++++++++++++++++++++++++
 board/ti/evm/evm.h |   14 ++++++++++++++
 2 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c
index 0718a08..fcc1803 100644
--- a/board/ti/evm/evm.c
+++ b/board/ti/evm/evm.c
@@ -37,6 +37,33 @@
 #include <asm/mach-types.h>
 #include "evm.h"
 
+static u8 omap3_evm_version;
+
+u8 get_omap3_evm_rev(void)
+{
+	return omap3_evm_version;
+}
+
+static void omap3_evm_get_revision(void)
+{
+	unsigned int smsc_id;
+
+	/* Ethernet PHY ID is stored at ID_REV register */
+	smsc_id = readl(CONFIG_SMC911X_BASE + 0x50) & 0xFFFF0000;
+	printf("Read back SMSC id 0x%x\n", smsc_id);
+
+	switch (smsc_id) {
+	/* SMSC9115 chipset */
+	case 0x01150000:
+		omap3_evm_version = OMAP3EVM_BOARD_GEN_1;
+		break;
+	/* SMSC 9220 chipset */
+	case 0x92200000:
+	default:
+		omap3_evm_version = OMAP3EVM_BOARD_GEN_2;
+       }
+}
+
 /*
  * Routine: board_init
  * Description: Early hardware init.
@@ -121,6 +148,9 @@ static void setup_net_chip(void)
 	writel(GPIO0, &gpio3_base->cleardataout);
 	udelay(1);
 	writel(GPIO0, &gpio3_base->setdataout);
+
+	/* determine omap3evm revision */
+	omap3_evm_get_revision();
 }
 
 int board_eth_init(bd_t *bis)
diff --git a/board/ti/evm/evm.h b/board/ti/evm/evm.h
index 37da29d..e2581f6 100644
--- a/board/ti/evm/evm.h
+++ b/board/ti/evm/evm.h
@@ -33,6 +33,20 @@ const omap3_sysinfo sysinfo = {
 #endif
 };
 
+/*
+ * OMAP35x EVM revision
+ * Run time detection of EVM revision is done by reading Ethernet
+ * PHY ID -
+ *      GEN_1   = 0x01150000
+ *      GEN_2   = 0x92200000
+ */
+enum {
+	OMAP3EVM_BOARD_GEN_1 = 0,	/* EVM Rev between  A - D */
+	OMAP3EVM_BOARD_GEN_2,		/* EVM Rev >= Rev E */
+};
+
+u8 get_omap3_evm_rev(void);
+
 static void setup_net_chip(void);
 
 /*
-- 
1.6.2.4

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

* [U-Boot] [PATCH 4/4 v3] musb: Program extvbus for OMAP3EVM Rev >= E
  2010-06-10  5:50   ` [U-Boot] [PATCH 3/4 v3] omap3evm: Add board revision function Ajay Kumar Gupta
@ 2010-06-10  5:50     ` Ajay Kumar Gupta
  2010-06-16 18:42       ` Remy Bohmer
  2010-06-15 20:31     ` [U-Boot] [PATCH 3/4 v3] omap3evm: Add board revision function Remy Bohmer
  2010-06-16 18:44     ` Remy Bohmer
  2 siblings, 1 reply; 16+ messages in thread
From: Ajay Kumar Gupta @ 2010-06-10  5:50 UTC (permalink / raw)
  To: u-boot

OMAP3EVM Rev >=E uses external Vbus supply so setting 'extvbus'
to '1' for OMAP3EVM Rev >=E runtime based on EVM revision.

CC: Remy Bohmer <linux@bohmer.net>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
---
No change from v2.

 board/ti/evm/evm.c       |   13 +++++++++++++
 drivers/usb/musb/omap3.c |    3 +++
 drivers/usb/musb/omap3.h |    4 ++++
 3 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c
index fcc1803..9948b9c 100644
--- a/board/ti/evm/evm.c
+++ b/board/ti/evm/evm.c
@@ -65,6 +65,19 @@ static void omap3_evm_get_revision(void)
 }
 
 /*
+ * MUSB port on OMAP3EVM Rev >= E requires extvbus programming.
+ */
+u8 omap3_evm_need_extvbus(void)
+{
+	u8 retval = 0;
+
+	if (get_omap3_evm_rev() >= OMAP3EVM_BOARD_GEN_2)
+		retval = 1;
+
+	return retval;
+}
+
+/*
  * Routine: board_init
  * Description: Early hardware init.
  */
diff --git a/drivers/usb/musb/omap3.c b/drivers/usb/musb/omap3.c
index 785629c..a983552 100644
--- a/drivers/usb/musb/omap3.c
+++ b/drivers/usb/musb/omap3.c
@@ -119,6 +119,9 @@ int musb_platform_init(void)
 		stdby &= ~OMAP3_OTG_FORCESTDBY_STANDBY;
 		writel(stdby, &otg->forcestdby);
 
+#ifdef CONFIG_OMAP3_EVM
+		musb_cfg.extvbus = omap3_evm_need_extvbus();
+#endif
 		platform_needs_initialization = 0;
 	}
 
diff --git a/drivers/usb/musb/omap3.h b/drivers/usb/musb/omap3.h
index b591862..c934e0c 100644
--- a/drivers/usb/musb/omap3.h
+++ b/drivers/usb/musb/omap3.h
@@ -44,4 +44,8 @@
 
 int musb_platform_init(void);
 
+#ifdef CONFIG_OMAP3_EVM
+extern u8 omap3_evm_use_extvbus(void);
+#endif
+
 #endif /* _MUSB_OMAP3_H */
-- 
1.6.2.4

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

* [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for using external Vbus
  2010-06-10  5:50 ` [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for using external Vbus Ajay Kumar Gupta
  2010-06-10  5:50   ` [U-Boot] [PATCH 3/4 v3] omap3evm: Add board revision function Ajay Kumar Gupta
@ 2010-06-10  6:15   ` Mike Frysinger
  2010-06-16 18:43   ` Remy Bohmer
  2011-07-05  8:45   ` [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for usingexternal Vbus Orjan Friberg
  3 siblings, 0 replies; 16+ messages in thread
From: Mike Frysinger @ 2010-06-10  6:15 UTC (permalink / raw)
  To: u-boot

On Thursday, June 10, 2010 01:50:48 Ajay Kumar Gupta wrote:
> MUSB PHY on OMAP3EVM Rev >= E uses external Vbus supply to support
> 500mA of power.We need to program MUSB PHY to use external Vbus
> for this purpose.
> 
> Adding 'extvbus' member in musb_config structure which should be set
> by all the boards where MUSB interface is using external Vbus supply.
> 
> Also added ULPI bus control register read/write abstraction for
> Blackfin processor as it doesn't have ULPI registers.

doesnt seem to cause problems with bf548-ezkit, so:
Acked-by: Mike Frysinger <vapier@gentoo.org>
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20100610/e3059808/attachment.pgp 

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

* [U-Boot] [PATCH 3/4 v3] omap3evm: Add board revision function
  2010-06-10  5:50   ` [U-Boot] [PATCH 3/4 v3] omap3evm: Add board revision function Ajay Kumar Gupta
  2010-06-10  5:50     ` [U-Boot] [PATCH 4/4 v3] musb: Program extvbus for OMAP3EVM Rev >= E Ajay Kumar Gupta
@ 2010-06-15 20:31     ` Remy Bohmer
  2010-06-15 20:39       ` Paulraj, Sandeep
  2010-06-16 18:44     ` Remy Bohmer
  2 siblings, 1 reply; 16+ messages in thread
From: Remy Bohmer @ 2010-06-15 20:31 UTC (permalink / raw)
  To: u-boot

Hi,

2010/6/10 Ajay Kumar Gupta <ajay.gupta@ti.com>:
> Added function to differentiate between the OMAP3EVM revisions. The
> chip-id of the ethernet PHY is being used for this purpose.
>
> Rev A to D : 0x01150000
> Rev >= E ? : 0x92200000
>
> CC: Remy Bohmer <linux@bohmer.net>
> Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
> Signed-off-by: Sanjeev Premi <premi@ti.com>
> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
> ---
> No change from v2.

If you can get an Ack for this patch from Sandeep, I will take the
complete series into the u-boot-usb tree along with the USB patches
from this series.

Kind regards,

Remy

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

* [U-Boot] [PATCH 3/4 v3] omap3evm: Add board revision function
  2010-06-15 20:31     ` [U-Boot] [PATCH 3/4 v3] omap3evm: Add board revision function Remy Bohmer
@ 2010-06-15 20:39       ` Paulraj, Sandeep
  0 siblings, 0 replies; 16+ messages in thread
From: Paulraj, Sandeep @ 2010-06-15 20:39 UTC (permalink / raw)
  To: u-boot



> 
> Hi,
> 
> 2010/6/10 Ajay Kumar Gupta <ajay.gupta@ti.com>:
> > Added function to differentiate between the OMAP3EVM revisions. The
> > chip-id of the ethernet PHY is being used for this purpose.
> >
> > Rev A to D : 0x01150000
> > Rev >= E ? : 0x92200000
> >
> > CC: Remy Bohmer <linux@bohmer.net>
> > Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
> > Signed-off-by: Sanjeev Premi <premi@ti.com>
> > Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
> > ---
> > No change from v2.
> 
> If you can get an Ack for this patch from Sandeep, I will take the
> complete series into the u-boot-usb tree along with the USB patches
> from this series.

Acked-by: Sandeep Paulraj <s-paulraj@ti.com>

> 
> Kind regards,
> 
> Remy

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

* [U-Boot] [PATCH 4/4 v3] musb: Program extvbus for OMAP3EVM Rev >= E
  2010-06-10  5:50     ` [U-Boot] [PATCH 4/4 v3] musb: Program extvbus for OMAP3EVM Rev >= E Ajay Kumar Gupta
@ 2010-06-16 18:42       ` Remy Bohmer
  0 siblings, 0 replies; 16+ messages in thread
From: Remy Bohmer @ 2010-06-16 18:42 UTC (permalink / raw)
  To: u-boot

Hi,

2010/6/10 Ajay Kumar Gupta <ajay.gupta@ti.com>:
> OMAP3EVM Rev >=E uses external Vbus supply so setting 'extvbus'
> to '1' for OMAP3EVM Rev >=E runtime based on EVM revision.
>
> CC: Remy Bohmer <linux@bohmer.net>
> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
> ---
> No change from v2.
>
> ?board/ti/evm/evm.c ? ? ? | ? 13 +++++++++++++
> ?drivers/usb/musb/omap3.c | ? ?3 +++
> ?drivers/usb/musb/omap3.h | ? ?4 ++++
> ?3 files changed, 20 insertions(+), 0 deletions(-)
>

Applied to u-boot-usb

Thanks.

Remy

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

* [U-Boot] [PATCH 1/4 v3] musb: Use name based initialization for musb_config
  2010-06-10  5:50 [U-Boot] [PATCH 1/4 v3] musb: Use name based initialization for musb_config Ajay Kumar Gupta
  2010-06-10  5:50 ` [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for using external Vbus Ajay Kumar Gupta
@ 2010-06-16 18:43 ` Remy Bohmer
  1 sibling, 0 replies; 16+ messages in thread
From: Remy Bohmer @ 2010-06-16 18:43 UTC (permalink / raw)
  To: u-boot

Hi,

2010/6/10 Ajay Kumar Gupta <ajay.gupta@ti.com>:
> Changed musb_config initialization for omap3.c, davinci.c
> and da8xx.c using name of structure fields. This would cause
> the uninitialized field to be null by default and thus would
> help in avoiding to init some flags required to be set only
> for a few selected platforms.
>
> CC: Remy Bohmer <linux@bohmer.net>
> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
> ---
> No change from v2.
>
> ?drivers/usb/musb/da8xx.c ? | ? ?6 +++---
> ?drivers/usb/musb/davinci.c | ? ?6 +++---
> ?drivers/usb/musb/omap3.c ? | ? ?6 +++---
> ?3 files changed, 9 insertions(+), 9 deletions(-)

Applied to u-boot-usb

Thanks.

Remy

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

* [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for using external Vbus
  2010-06-10  5:50 ` [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for using external Vbus Ajay Kumar Gupta
  2010-06-10  5:50   ` [U-Boot] [PATCH 3/4 v3] omap3evm: Add board revision function Ajay Kumar Gupta
  2010-06-10  6:15   ` [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for using external Vbus Mike Frysinger
@ 2010-06-16 18:43   ` Remy Bohmer
  2011-07-05  8:45   ` [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for usingexternal Vbus Orjan Friberg
  3 siblings, 0 replies; 16+ messages in thread
From: Remy Bohmer @ 2010-06-16 18:43 UTC (permalink / raw)
  To: u-boot

Hi,

2010/6/10 Ajay Kumar Gupta <ajay.gupta@ti.com>:
> MUSB PHY on OMAP3EVM Rev >= E uses external Vbus supply to support
> 500mA of power.We need to program MUSB PHY to use external Vbus
> for this purpose.
>
> Adding 'extvbus' member in musb_config structure which should be set
> by all the boards where MUSB interface is using external Vbus supply.
>
> Also added ULPI bus control register read/write abstraction for
> Blackfin processor as it doesn't have ULPI registers.
>
> CC: Remy Bohmer <linux@bohmer.net>
> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
> ---
> Changes from v2:
> Added 'return 0' in Blackfin version if ulpi read function.

Applied to u-boot-usb

Thanks.

Remy

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

* [U-Boot] [PATCH 3/4 v3] omap3evm: Add board revision function
  2010-06-10  5:50   ` [U-Boot] [PATCH 3/4 v3] omap3evm: Add board revision function Ajay Kumar Gupta
  2010-06-10  5:50     ` [U-Boot] [PATCH 4/4 v3] musb: Program extvbus for OMAP3EVM Rev >= E Ajay Kumar Gupta
  2010-06-15 20:31     ` [U-Boot] [PATCH 3/4 v3] omap3evm: Add board revision function Remy Bohmer
@ 2010-06-16 18:44     ` Remy Bohmer
  2 siblings, 0 replies; 16+ messages in thread
From: Remy Bohmer @ 2010-06-16 18:44 UTC (permalink / raw)
  To: u-boot

Hi,

2010/6/10 Ajay Kumar Gupta <ajay.gupta@ti.com>:
> Added function to differentiate between the OMAP3EVM revisions. The
> chip-id of the ethernet PHY is being used for this purpose.
>
> Rev A to D : 0x01150000
> Rev >= E ? : 0x92200000
>
> CC: Remy Bohmer <linux@bohmer.net>
> Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
> Signed-off-by: Sanjeev Premi <premi@ti.com>
> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
> ---
> No change from v2.
>
> ?board/ti/evm/evm.c | ? 30 ++++++++++++++++++++++++++++++
> ?board/ti/evm/evm.h | ? 14 ++++++++++++++
> ?2 files changed, 44 insertions(+), 0 deletions(-)

Applied to u-boot-usb

Thanks.

Remy

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

* [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for usingexternal Vbus
  2010-06-10  5:50 ` [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for using external Vbus Ajay Kumar Gupta
                     ` (2 preceding siblings ...)
  2010-06-16 18:43   ` Remy Bohmer
@ 2011-07-05  8:45   ` Orjan Friberg
  2011-07-05 11:15     ` Gupta, Ajay Kumar
  3 siblings, 1 reply; 16+ messages in thread
From: Orjan Friberg @ 2011-07-05  8:45 UTC (permalink / raw)
  To: u-boot

On 2010-06-10 07:50, Ajay Kumar Gupta wrote:
> MUSB PHY on OMAP3EVM Rev>= E uses external Vbus supply to support
> 500mA of power.We need to program MUSB PHY to use external Vbus
> for this purpose.
>
> Adding 'extvbus' member in musb_config structure which should be set
> by all the boards where MUSB interface is using external Vbus supply.

Ajay,

How does the DRVVBUS bit behave on the OMAP3 EVM board on issuing the 
'usb reset' command (with musb_cfg.extvbus being set)?  This post has a 
few more details, but in short it seems that DRVVBUS is automatically 
set by the TPS chip when doing the bus reset:

   http://lists.denx.de/pipermail/u-boot/2011-June/095221.html

(And indeed, on a board with *no* external vbus, setting 
musb_cfg.extvbus and reading from a memory stick works just fine.)

I checked the u-boot in the current DVSDK (4.02.00.06) and the git repo 
for u-boot-ti and they all have the same construct.

Thanks,
Orjan

-- 
Orjan Friberg
FlatFrog Laboratories AB

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

* [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for usingexternal Vbus
  2011-07-05  8:45   ` [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for usingexternal Vbus Orjan Friberg
@ 2011-07-05 11:15     ` Gupta, Ajay Kumar
  2011-07-05 11:52       ` Orjan Friberg
  0 siblings, 1 reply; 16+ messages in thread
From: Gupta, Ajay Kumar @ 2011-07-05 11:15 UTC (permalink / raw)
  To: u-boot

Hello,
>> MUSB PHY on OMAP3EVM Rev>= E uses external Vbus supply to support
>> 500mA of power.We need to program MUSB PHY to use external Vbus
>> for this purpose.
>>
>> Adding 'extvbus' member in musb_config structure which should be set
>> by all the boards where MUSB interface is using external Vbus supply.
>
>Ajay,
>
>How does the DRVVBUS bit behave on the OMAP3 EVM board on issuing the
>'usb reset' command (with musb_cfg.extvbus being set)?
OMAP3EVM doesn't use TPS PHY but it has ISP1507 PHY and uses external Vbus
And so it needs extvbus programming (musb_cfg.extvbus =1)in OTG_CTRL
register. As for as I know it is not needed for boards using usb PHY on TPS
device.


>  This post has a
>few more details, but in short it seems that DRVVBUS is automatically
>set by the TPS chip when doing the bus reset:

Looks like TPS sets the extvbus and so musb_cfg.extvbus doesn't have
Any effect.

Ajay
>
>   http://lists.denx.de/pipermail/u-boot/2011-June/095221.html
>
>(And indeed, on a board with *no* external vbus, setting
>musb_cfg.extvbus and reading from a memory stick works just fine.)
>
>I checked the u-boot in the current DVSDK (4.02.00.06) and the git repo
>for u-boot-ti and they all have the same construct.
>
>Thanks,
>Orjan
>
>--
>Orjan Friberg
>FlatFrog Laboratories AB

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

* [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for usingexternal Vbus
  2011-07-05 11:15     ` Gupta, Ajay Kumar
@ 2011-07-05 11:52       ` Orjan Friberg
  2011-07-05 14:16         ` Gupta, Ajay Kumar
  0 siblings, 1 reply; 16+ messages in thread
From: Orjan Friberg @ 2011-07-05 11:52 UTC (permalink / raw)
  To: u-boot

On 2011-07-05 13:15, Gupta, Ajay Kumar wrote:
> OMAP3EVM doesn't use TPS PHY but it has ISP1507 PHY and uses external Vbus
> And so it needs extvbus programming (musb_cfg.extvbus =1)in OTG_CTRL
> register. As for as I know it is not needed for boards using usb PHY on TPS
> device.

Can you clarify what you mean by "not needed for boards using usb PHY on 
TPS device"?  How does that differ from the ISP1507?  From what I'm 
reading, the ISP1507 does have an integrated 5V charge pump.  Or is it 
simply a matter of how the board is designed?

(On our custom board, we have added an external vbus supply to be able 
to draw > 100 mA.)

Thanks,
Orjan

-- 
Orjan Friberg
FlatFrog Laboratories AB

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

* [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for usingexternal Vbus
  2011-07-05 11:52       ` Orjan Friberg
@ 2011-07-05 14:16         ` Gupta, Ajay Kumar
  2011-07-06 11:12           ` Orjan Friberg
  0 siblings, 1 reply; 16+ messages in thread
From: Gupta, Ajay Kumar @ 2011-07-05 14:16 UTC (permalink / raw)
  To: u-boot

Hi,
>On 2011-07-05 13:15, Gupta, Ajay Kumar wrote:
>> OMAP3EVM doesn't use TPS PHY but it has ISP1507 PHY and uses external
>Vbus
>> And so it needs extvbus programming (musb_cfg.extvbus =1)in OTG_CTRL
>> register. As for as I know it is not needed for boards using usb PHY on
>TPS
>> device.
>
>Can you clarify what you mean by "not needed for boards using usb PHY on
>TPS device"?
This comment was more for boards such as Beagle which uses TPS device and
Uses internal charge pump of PHY.

>  How does that differ from the ISP1507?  From what I'm
>reading, the ISP1507 does have an integrated 5V charge pump.  Or is it
>simply a matter of how the board is designed?
Correct. OMAP3EVM (Rev-G) doesn't use internal charge pump but external
Vbus and thus we need to tell the PHY about this using BUS_CTRL.EXTVBUS
Register (Sorry I wrote OTG_CTRL wrongly in previous post)

>
>(On our custom board, we have added an external vbus supply to be able
>to draw > 100 mA.)
So it seems you are using PHY inside TPS659x but external Vbus for which
I think you need to,
1. Explicitly set "OTG_CTRL.D5 = 0" so that PHY doesn't drive 5V.
2. Do not set musb_cfg.extvbus

I have not seen anyone with this option on TPS PHY so not sure of above
Steps would work.

Thanks,
Ajay
>
>Thanks,
>Orjan
>
>--
>Orjan Friberg
>FlatFrog Laboratories AB

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

* [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for usingexternal Vbus
  2011-07-05 14:16         ` Gupta, Ajay Kumar
@ 2011-07-06 11:12           ` Orjan Friberg
  0 siblings, 0 replies; 16+ messages in thread
From: Orjan Friberg @ 2011-07-06 11:12 UTC (permalink / raw)
  To: u-boot

On 2011-07-05 16:16, Gupta, Ajay Kumar wrote:
>> (On our custom board, we have added an external vbus supply to be able
>> to draw>  100 mA.)
> So it seems you are using PHY inside TPS659x but external Vbus for which
> I think you need to,
> 1. Explicitly set "OTG_CTRL.D5 = 0" so that PHY doesn't drive 5V.
> 2. Do not set musb_cfg.extvbus

Great, thanks for clarifying (and agreed on all points).

It seems the best I can do is turn off DRVVBUS as soon as the chip has 
entered host mode (and turned thus it on).

Thanks,
Orjan

-- 
Orjan Friberg
FlatFrog Laboratories AB

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

end of thread, other threads:[~2011-07-06 11:12 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-06-10  5:50 [U-Boot] [PATCH 1/4 v3] musb: Use name based initialization for musb_config Ajay Kumar Gupta
2010-06-10  5:50 ` [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for using external Vbus Ajay Kumar Gupta
2010-06-10  5:50   ` [U-Boot] [PATCH 3/4 v3] omap3evm: Add board revision function Ajay Kumar Gupta
2010-06-10  5:50     ` [U-Boot] [PATCH 4/4 v3] musb: Program extvbus for OMAP3EVM Rev >= E Ajay Kumar Gupta
2010-06-16 18:42       ` Remy Bohmer
2010-06-15 20:31     ` [U-Boot] [PATCH 3/4 v3] omap3evm: Add board revision function Remy Bohmer
2010-06-15 20:39       ` Paulraj, Sandeep
2010-06-16 18:44     ` Remy Bohmer
2010-06-10  6:15   ` [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for using external Vbus Mike Frysinger
2010-06-16 18:43   ` Remy Bohmer
2011-07-05  8:45   ` [U-Boot] [PATCH 2/4 v3] musb: Add Phy programming for usingexternal Vbus Orjan Friberg
2011-07-05 11:15     ` Gupta, Ajay Kumar
2011-07-05 11:52       ` Orjan Friberg
2011-07-05 14:16         ` Gupta, Ajay Kumar
2011-07-06 11:12           ` Orjan Friberg
2010-06-16 18:43 ` [U-Boot] [PATCH 1/4 v3] musb: Use name based initialization for musb_config Remy Bohmer

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.