diff mbox

[v2] OMAP3EVM: ehci: Fix EHCI support

Message ID 1314174902-12797-1-git-send-email-bdefaria@adeneo-embedded.com (mailing list archive)
State New, archived
Headers show

Commit Message

Bryan DE FARIA Aug. 24, 2011, 8:35 a.m. UTC
Set the VAUX2 regulator supply to 1.8V for the HSUSB host interface.
Gpio 2 of the TPS65950 has to be set to zero in order to enable the HSUBS2 clock.

Signed-off-by: Bryan DE FARIA <bdefaria@adeneo-embedded.com>
---
 arch/arm/mach-omap2/board-omap3evm.c |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

Comments

Ajay Kumar Gupta Aug. 24, 2011, 11:53 a.m. UTC | #1
Hi,
> Set the VAUX2 regulator supply to 1.8V for the HSUSB host interface.
> Gpio 2 of the TPS65950 has to be set to zero in order to enable the
> HSUBS2 clock.

TPS65950 GPIO2 is not to enable HSUSB2 clock but to enable chip u131
On omap3evm (rev-G) which latches USB, camera and audio lines.

> 
> Signed-off-by: Bryan DE FARIA <bdefaria@adeneo-embedded.com>
> ---
>  arch/arm/mach-omap2/board-omap3evm.c |   25 +++++++++++++++++++++++++
>  1 files changed, 25 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-
> omap2/board-omap3evm.c
> index c452b3f..13a2b71 100644
> --- a/arch/arm/mach-omap2/board-omap3evm.c
> +++ b/arch/arm/mach-omap2/board-omap3evm.c
> @@ -377,6 +377,10 @@ static int omap3evm_twl_gpio_setup(struct device
> *dev,
>  	if (r)
>  		printk(KERN_ERR "failed to get/set lcd_bkl gpio\n");
> 
> +	/* gpio + 2 == HSUSB2 Clock Enable */
> +	if (get_omap3_evm_rev() >= OMAP3EVM_BOARD_GEN_2)
> +		gpio_request_one(gpio + 2, GPIOF_OUT_INIT_LOW,
> "EN_HSUSB2_CLK");
> +

Did you test EHCI port with this change ?

Ajay
>  	/* gpio + 7 == DVI Enable */
>  	gpio_request_one(gpio + 7, GPIOF_OUT_INIT_LOW, "EN_DVI");
[...]
rm-kernel
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bryan DE FARIA Aug. 24, 2011, 12:42 p.m. UTC | #2
Hi Ajay,

TPS65950 GPIO2 is to choose through u131 if we drive the lines to the
evm mother board or to the expansion connector p18. Should not it be
default to the mother board?
The EHCI port on the mother board works with this patch.

Bryan

> Hi,
> > Set the VAUX2 regulator supply to 1.8V for the HSUSB host interface.
> > Gpio 2 of the TPS65950 has to be set to zero in order to enable the
> > HSUBS2 clock.
> 
> TPS65950 GPIO2 is not to enable HSUSB2 clock but to enable chip u131
> On omap3evm (rev-G) which latches USB, camera and audio lines.
> 
> > 
> > Signed-off-by: Bryan DE FARIA <bdefaria@adeneo-embedded.com>
> > ---
> >  arch/arm/mach-omap2/board-omap3evm.c |   25 +++++++++++++++++++++++++
> >  1 files changed, 25 insertions(+), 0 deletions(-)
> > 
> > diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-
> > omap2/board-omap3evm.c
> > index c452b3f..13a2b71 100644
> > --- a/arch/arm/mach-omap2/board-omap3evm.c
> > +++ b/arch/arm/mach-omap2/board-omap3evm.c
> > @@ -377,6 +377,10 @@ static int omap3evm_twl_gpio_setup(struct device
> > *dev,
> >  	if (r)
> >  		printk(KERN_ERR "failed to get/set lcd_bkl gpio\n");
> > 
> > +	/* gpio + 2 == HSUSB2 Clock Enable */
> > +	if (get_omap3_evm_rev() >= OMAP3EVM_BOARD_GEN_2)
> > +		gpio_request_one(gpio + 2, GPIOF_OUT_INIT_LOW,
> > "EN_HSUSB2_CLK");
> > +
> 
> Did you test EHCI port with this change ?
> 
> Ajay
> >  	/* gpio + 7 == DVI Enable */
> >  	gpio_request_one(gpio + 7, GPIOF_OUT_INIT_LOW, "EN_DVI");
> [...]
> rm-kernel

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bryan DE FARIA Aug. 24, 2011, 4:03 p.m. UTC | #3
Hi,

For the comment what about:
Set the VAUX2 regulator supply to 1.8V for the HSUSB host interface.
Tps65950 GPIO2 has to be set to zero in order to enable the EHCI select
line.

I see this patch as a fix for the EHCI support, what would you suggest
for the patch name?

Bryan
> Hi,
> > TPS65950 GPIO2 is to choose through u131 if we drive the lines to the
> > evm mother board or to the expansion connector p18. Should not it be
> > default to the mother board?
> It's not enabled by default and that’s why we need to enable it through
> Tps65950 GPIO2.
> 
> Your patch looks fine but the comment and name needs to be changed as
> There is no clock which gets enabled using gpio2. All the HSUSB clocks
> Are handled inside driver at drivers/usb/host/ehci-omap.c
> 
> Ajay
> 
> > The EHCI port on the mother board works with this patch.
> > 
> > Bryan
> > 
> > > Hi,
> > > > Set the VAUX2 regulator supply to 1.8V for the HSUSB host
> > interface.
> > > > Gpio 2 of the TPS65950 has to be set to zero in order to enable the
> > > > HSUBS2 clock.
> > >
> > > TPS65950 GPIO2 is not to enable HSUSB2 clock but to enable chip u131
> > > On omap3evm (rev-G) which latches USB, camera and audio lines.
> > >
> > > >
> > > > Signed-off-by: Bryan DE FARIA <bdefaria@adeneo-embedded.com>
> > > > ---
> > > >  arch/arm/mach-omap2/board-omap3evm.c |   25
> > +++++++++++++++++++++++++
> > > >  1 files changed, 25 insertions(+), 0 deletions(-)
> > > >
> > > > diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-
> > > > omap2/board-omap3evm.c
> > > > index c452b3f..13a2b71 100644
> > > > --- a/arch/arm/mach-omap2/board-omap3evm.c
> > > > +++ b/arch/arm/mach-omap2/board-omap3evm.c
> > > > @@ -377,6 +377,10 @@ static int omap3evm_twl_gpio_setup(struct
> > device
> > > > *dev,
> > > >  	if (r)
> > > >  		printk(KERN_ERR "failed to get/set lcd_bkl gpio\n");
> > > >
> > > > +	/* gpio + 2 == HSUSB2 Clock Enable */
> > > > +	if (get_omap3_evm_rev() >= OMAP3EVM_BOARD_GEN_2)
> > > > +		gpio_request_one(gpio + 2, GPIOF_OUT_INIT_LOW,
> > > > "EN_HSUSB2_CLK");
> > > > +
> > >
> > > Did you test EHCI port with this change ?
> > >
> > > Ajay
> > > >  	/* gpio + 7 == DVI Enable */
> > > >  	gpio_request_one(gpio + 7, GPIOF_OUT_INIT_LOW, "EN_DVI");
> > > [...]
> > > rm-kernel
> 

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

Patch

diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
index c452b3f..13a2b71 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -377,6 +377,10 @@  static int omap3evm_twl_gpio_setup(struct device *dev,
 	if (r)
 		printk(KERN_ERR "failed to get/set lcd_bkl gpio\n");
 
+	/* gpio + 2 == HSUSB2 Clock Enable */
+	if (get_omap3_evm_rev() >= OMAP3EVM_BOARD_GEN_2)
+		gpio_request_one(gpio + 2, GPIOF_OUT_INIT_LOW, "EN_HSUSB2_CLK");
+
 	/* gpio + 7 == DVI Enable */
 	gpio_request_one(gpio + 7, GPIOF_OUT_INIT_LOW, "EN_DVI");
 
@@ -450,6 +454,25 @@  static struct regulator_init_data omap3evm_vio = {
 	.consumer_supplies	= omap3evm_vio_supply,
 };
 
+/* VAUX2 for EHCI */
+static struct regulator_consumer_supply omap3evm_vaux2_supplies[] = {
+	REGULATOR_SUPPLY("hsusb1", "ehci-omap.0"),
+};
+
+static struct regulator_init_data omap3evm_vaux2 = {
+	.constraints = {
+		.min_uV      		= 1800000,
+		.max_uV      		= 1800000,
+		.apply_uV    		= true,
+		.valid_modes_mask  	= REGULATOR_MODE_NORMAL
+					| REGULATOR_MODE_STANDBY,
+		.valid_ops_mask  	= REGULATOR_CHANGE_MODE
+					| REGULATOR_CHANGE_STATUS,
+	},
+	.num_consumer_supplies  = ARRAY_SIZE(omap3evm_vaux2_supplies),
+	.consumer_supplies   	= omap3evm_vaux2_supplies,
+};
+
 #ifdef CONFIG_WL12XX_PLATFORM_DATA
 
 #define OMAP3EVM_WLAN_PMENA_GPIO	(150)
@@ -510,6 +533,8 @@  static int __init omap3_evm_i2c_init(void)
 
 	omap3evm_twldata.vdac->constraints.apply_uV = true;
 	omap3evm_twldata.vpll2->constraints.apply_uV = true;
+	if (get_omap3_evm_rev() >= OMAP3EVM_BOARD_GEN_2)
+		omap3evm_twldata.vaux2 = &omap3evm_vaux2;
 
 	omap3_pmic_init("twl4030", &omap3evm_twldata);
 	omap_register_i2c_bus(2, 400, NULL, 0);