linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] arm: omap4: hsmmc: pbias fixes
@ 2011-09-29 14:44 Balaji T K
  2011-09-29 14:44 ` [PATCH 1/2] arm: omap4: hsmmc: Fix Pbias configuration on regulator OFF Balaji T K
  2011-09-29 14:45 ` [PATCH 2/2] arm: omap4: hsmmc: configure SDMMC1_DR0 properly Balaji T K
  0 siblings, 2 replies; 6+ messages in thread
From: Balaji T K @ 2011-09-29 14:44 UTC (permalink / raw)
  To: linux-arm-kernel

MMC1 pbias and speed control fix for SDMMC1 extended I/O cell

Balaji T K (2):
  arm: omap4: hsmmc: Fix Pbias configuration on regulator OFF
  arm: omap4: hsmmc: configure SDMMC1_DR0 properly

 arch/arm/mach-omap2/hsmmc.c |   16 +++-------------
 1 files changed, 3 insertions(+), 13 deletions(-)

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

* [PATCH 1/2] arm: omap4: hsmmc: Fix Pbias configuration on regulator OFF
  2011-09-29 14:44 [PATCH 0/2] arm: omap4: hsmmc: pbias fixes Balaji T K
@ 2011-09-29 14:44 ` Balaji T K
  2011-09-29 16:20   ` Tony Lindgren
  2011-09-29 14:45 ` [PATCH 2/2] arm: omap4: hsmmc: configure SDMMC1_DR0 properly Balaji T K
  1 sibling, 1 reply; 6+ messages in thread
From: Balaji T K @ 2011-09-29 14:44 UTC (permalink / raw)
  To: linux-arm-kernel

MMC1 data line IO's are powered down in before set regulator function.
IO's should not be powered ON when regulator is OFF.
Keep the IO's in power pown mode after regulator OFF.
Delete incorrect comments which are not applicable for OMAP4.

Signed-off-by: Balaji T K <balajitk@ti.com>
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Reported-by: Viswanath Puttagunta <vishp@ti.com>
---
 arch/arm/mach-omap2/hsmmc.c |   14 ++------------
 1 files changed, 2 insertions(+), 12 deletions(-)

diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c
index 097a42d..9cc2eb7 100644
--- a/arch/arm/mach-omap2/hsmmc.c
+++ b/arch/arm/mach-omap2/hsmmc.c
@@ -129,15 +129,11 @@ static void omap4_hsmmc1_before_set_reg(struct device *dev, int slot,
 	 * Assume we power both OMAP VMMC1 (for CMD, CLK, DAT0..3) and the
 	 * card with Vcc regulator (from twl4030 or whatever).  OMAP has both
 	 * 1.8V and 3.0V modes, controlled by the PBIAS register.
-	 *
-	 * In 8-bit modes, OMAP VMMC1A (for DAT4..7) needs a supply, which
-	 * is most naturally TWL VSIM; those pins also use PBIAS.
-	 *
-	 * FIXME handle VMMC1A as needed ...
 	 */
 	reg = omap4_ctrl_pad_readl(control_pbias_offset);
 	reg &= ~(OMAP4_MMC1_PBIASLITE_PWRDNZ_MASK |
-		OMAP4_MMC1_PWRDNZ_MASK);
+		OMAP4_MMC1_PWRDNZ_MASK |
+		OMAP4_MMC1_PBIASLITE_VMODE_MASK);
 	omap4_ctrl_pad_writel(reg, control_pbias_offset);
 }
 
@@ -172,12 +168,6 @@ static void omap4_hsmmc1_after_set_reg(struct device *dev, int slot,
 			reg &= ~(OMAP4_MMC1_PWRDNZ_MASK);
 			omap4_ctrl_pad_writel(reg, control_pbias_offset);
 		}
-	} else {
-		reg = omap4_ctrl_pad_readl(control_pbias_offset);
-		reg |= (OMAP4_MMC1_PBIASLITE_PWRDNZ_MASK |
-			OMAP4_MMC1_PWRDNZ_MASK |
-			OMAP4_MMC1_PBIASLITE_VMODE_MASK);
-		omap4_ctrl_pad_writel(reg, control_pbias_offset);
 	}
 }
 
-- 
1.7.0.4

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

* [PATCH 2/2] arm: omap4: hsmmc: configure SDMMC1_DR0 properly
  2011-09-29 14:44 [PATCH 0/2] arm: omap4: hsmmc: pbias fixes Balaji T K
  2011-09-29 14:44 ` [PATCH 1/2] arm: omap4: hsmmc: Fix Pbias configuration on regulator OFF Balaji T K
@ 2011-09-29 14:45 ` Balaji T K
  1 sibling, 0 replies; 6+ messages in thread
From: Balaji T K @ 2011-09-29 14:45 UTC (permalink / raw)
  To: linux-arm-kernel

Fix the typo, instead it should be SDMMC1
USBC1 is not related to MMC1 I/Os

Signed-off-by: Balaji T K <balajitk@ti.com>
---
 arch/arm/mach-omap2/hsmmc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c
index 9cc2eb7..1a9bc52 100644
--- a/arch/arm/mach-omap2/hsmmc.c
+++ b/arch/arm/mach-omap2/hsmmc.c
@@ -495,7 +495,7 @@ void __init omap2_hsmmc_init(struct omap2_hsmmc_info *controllers)
 			OMAP4_SDMMC1_PUSTRENGTH_GRP1_MASK);
 		reg &= ~(OMAP4_SDMMC1_PUSTRENGTH_GRP2_MASK |
 			OMAP4_SDMMC1_PUSTRENGTH_GRP3_MASK);
-		reg |= (OMAP4_USBC1_DR0_SPEEDCTRL_MASK|
+		reg |= (OMAP4_SDMMC1_DR0_SPEEDCTRL_MASK |
 			OMAP4_SDMMC1_DR1_SPEEDCTRL_MASK |
 			OMAP4_SDMMC1_DR2_SPEEDCTRL_MASK);
 		omap4_ctrl_pad_writel(reg, control_mmc1);
-- 
1.7.0.4

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

* [PATCH 1/2] arm: omap4: hsmmc: Fix Pbias configuration on regulator OFF
  2011-09-29 14:44 ` [PATCH 1/2] arm: omap4: hsmmc: Fix Pbias configuration on regulator OFF Balaji T K
@ 2011-09-29 16:20   ` Tony Lindgren
  2011-09-30 15:16     ` T Krishnamoorthy, Balaji
  0 siblings, 1 reply; 6+ messages in thread
From: Tony Lindgren @ 2011-09-29 16:20 UTC (permalink / raw)
  To: linux-arm-kernel

* Balaji T K <balajitk@ti.com> [110929 07:11]:
> MMC1 data line IO's are powered down in before set regulator function.
> IO's should not be powered ON when regulator is OFF.
> Keep the IO's in power pown mode after regulator OFF.
> Delete incorrect comments which are not applicable for OMAP4.

Care to check how this is different from what I added into fixes
branch as commit 3fe8df93b0992199e3a0026fc51e90b705f94e40?

Is this a separate issue?

Tony

 
> Signed-off-by: Balaji T K <balajitk@ti.com>
> Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
> Reported-by: Viswanath Puttagunta <vishp@ti.com>
> ---
>  arch/arm/mach-omap2/hsmmc.c |   14 ++------------
>  1 files changed, 2 insertions(+), 12 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c
> index 097a42d..9cc2eb7 100644
> --- a/arch/arm/mach-omap2/hsmmc.c
> +++ b/arch/arm/mach-omap2/hsmmc.c
> @@ -129,15 +129,11 @@ static void omap4_hsmmc1_before_set_reg(struct device *dev, int slot,
>  	 * Assume we power both OMAP VMMC1 (for CMD, CLK, DAT0..3) and the
>  	 * card with Vcc regulator (from twl4030 or whatever).  OMAP has both
>  	 * 1.8V and 3.0V modes, controlled by the PBIAS register.
> -	 *
> -	 * In 8-bit modes, OMAP VMMC1A (for DAT4..7) needs a supply, which
> -	 * is most naturally TWL VSIM; those pins also use PBIAS.
> -	 *
> -	 * FIXME handle VMMC1A as needed ...
>  	 */
>  	reg = omap4_ctrl_pad_readl(control_pbias_offset);
>  	reg &= ~(OMAP4_MMC1_PBIASLITE_PWRDNZ_MASK |
> -		OMAP4_MMC1_PWRDNZ_MASK);
> +		OMAP4_MMC1_PWRDNZ_MASK |
> +		OMAP4_MMC1_PBIASLITE_VMODE_MASK);
>  	omap4_ctrl_pad_writel(reg, control_pbias_offset);
>  }
>  
> @@ -172,12 +168,6 @@ static void omap4_hsmmc1_after_set_reg(struct device *dev, int slot,
>  			reg &= ~(OMAP4_MMC1_PWRDNZ_MASK);
>  			omap4_ctrl_pad_writel(reg, control_pbias_offset);
>  		}
> -	} else {
> -		reg = omap4_ctrl_pad_readl(control_pbias_offset);
> -		reg |= (OMAP4_MMC1_PBIASLITE_PWRDNZ_MASK |
> -			OMAP4_MMC1_PWRDNZ_MASK |
> -			OMAP4_MMC1_PBIASLITE_VMODE_MASK);
> -		omap4_ctrl_pad_writel(reg, control_pbias_offset);
>  	}
>  }
>  
> -- 
> 1.7.0.4
> 

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

* [PATCH 1/2] arm: omap4: hsmmc: Fix Pbias configuration on regulator OFF
  2011-09-29 16:20   ` Tony Lindgren
@ 2011-09-30 15:16     ` T Krishnamoorthy, Balaji
  2011-09-30 17:41       ` Tony Lindgren
  0 siblings, 1 reply; 6+ messages in thread
From: T Krishnamoorthy, Balaji @ 2011-09-30 15:16 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Sep 29, 2011 at 9:50 PM, Tony Lindgren <tony@atomide.com> wrote:
> * Balaji T K <balajitk@ti.com> [110929 07:11]:
>> MMC1 data line IO's are powered down in before set regulator function.
>> IO's should not be powered ON when regulator is OFF.
>> Keep the IO's in power pown mode after regulator OFF.
>> Delete incorrect comments which are not applicable for OMAP4.
>
> Care to check how this is different from what I added into fixes
> branch as commit 3fe8df93b0992199e3a0026fc51e90b705f94e40?
>
> Is this a separate issue?

Yes.
commit 3fe8df93b fixes USBC1 configuration.
USBC1 IO was configured unnecessarily for MMC IO.

This patch keeps the MMC IO's in power down after regulator OFF
otherwise it generates VMODE_ERROR due to mismatch in input (regulator)
voltage and MMC IO drive voltage.

>
> Tony
>
>
>> Signed-off-by: Balaji T K <balajitk@ti.com>
>> Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
>> Reported-by: Viswanath Puttagunta <vishp@ti.com>
>> ---
>> ?arch/arm/mach-omap2/hsmmc.c | ? 14 ++------------
>> ?1 files changed, 2 insertions(+), 12 deletions(-)
>>
>> diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c
>> index 097a42d..9cc2eb7 100644
>> --- a/arch/arm/mach-omap2/hsmmc.c
>> +++ b/arch/arm/mach-omap2/hsmmc.c
>> @@ -129,15 +129,11 @@ static void omap4_hsmmc1_before_set_reg(struct device *dev, int slot,
>> ? ? ? ?* Assume we power both OMAP VMMC1 (for CMD, CLK, DAT0..3) and the
>> ? ? ? ?* card with Vcc regulator (from twl4030 or whatever). ?OMAP has both
>> ? ? ? ?* 1.8V and 3.0V modes, controlled by the PBIAS register.
>> - ? ? ?*
>> - ? ? ?* In 8-bit modes, OMAP VMMC1A (for DAT4..7) needs a supply, which
>> - ? ? ?* is most naturally TWL VSIM; those pins also use PBIAS.
>> - ? ? ?*
>> - ? ? ?* FIXME handle VMMC1A as needed ...
>> ? ? ? ?*/
>> ? ? ? reg = omap4_ctrl_pad_readl(control_pbias_offset);
>> ? ? ? reg &= ~(OMAP4_MMC1_PBIASLITE_PWRDNZ_MASK |
>> - ? ? ? ? ? ? OMAP4_MMC1_PWRDNZ_MASK);
>> + ? ? ? ? ? ? OMAP4_MMC1_PWRDNZ_MASK |
>> + ? ? ? ? ? ? OMAP4_MMC1_PBIASLITE_VMODE_MASK);
>> ? ? ? omap4_ctrl_pad_writel(reg, control_pbias_offset);
>> ?}
>>
>> @@ -172,12 +168,6 @@ static void omap4_hsmmc1_after_set_reg(struct device *dev, int slot,
>> ? ? ? ? ? ? ? ? ? ? ? reg &= ~(OMAP4_MMC1_PWRDNZ_MASK);
>> ? ? ? ? ? ? ? ? ? ? ? omap4_ctrl_pad_writel(reg, control_pbias_offset);
>> ? ? ? ? ? ? ? }
>> - ? ? } else {
>> - ? ? ? ? ? ? reg = omap4_ctrl_pad_readl(control_pbias_offset);
>> - ? ? ? ? ? ? reg |= (OMAP4_MMC1_PBIASLITE_PWRDNZ_MASK |
>> - ? ? ? ? ? ? ? ? ? ? OMAP4_MMC1_PWRDNZ_MASK |
>> - ? ? ? ? ? ? ? ? ? ? OMAP4_MMC1_PBIASLITE_VMODE_MASK);
>> - ? ? ? ? ? ? omap4_ctrl_pad_writel(reg, control_pbias_offset);
>> ? ? ? }
>> ?}
>>
>> --
>> 1.7.0.4
>>

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

* [PATCH 1/2] arm: omap4: hsmmc: Fix Pbias configuration on regulator OFF
  2011-09-30 15:16     ` T Krishnamoorthy, Balaji
@ 2011-09-30 17:41       ` Tony Lindgren
  0 siblings, 0 replies; 6+ messages in thread
From: Tony Lindgren @ 2011-09-30 17:41 UTC (permalink / raw)
  To: linux-arm-kernel

* T Krishnamoorthy, Balaji <balajitk@ti.com> [110930 07:43]:
> On Thu, Sep 29, 2011 at 9:50 PM, Tony Lindgren <tony@atomide.com> wrote:
> > * Balaji T K <balajitk@ti.com> [110929 07:11]:
> >> MMC1 data line IO's are powered down in before set regulator function.
> >> IO's should not be powered ON when regulator is OFF.
> >> Keep the IO's in power pown mode after regulator OFF.
> >> Delete incorrect comments which are not applicable for OMAP4.
> >
> > Care to check how this is different from what I added into fixes
> > branch as commit 3fe8df93b0992199e3a0026fc51e90b705f94e40?
> >
> > Is this a separate issue?
> 
> Yes.
> commit 3fe8df93b fixes USBC1 configuration.
> USBC1 IO was configured unnecessarily for MMC IO.
> 
> This patch keeps the MMC IO's in power down after regulator OFF
> otherwise it generates VMODE_ERROR due to mismatch in input (regulator)
> voltage and MMC IO drive voltage.

OK, can you please refresh it against the current fixes branch?

Thanks,

Tony

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

end of thread, other threads:[~2011-09-30 17:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-29 14:44 [PATCH 0/2] arm: omap4: hsmmc: pbias fixes Balaji T K
2011-09-29 14:44 ` [PATCH 1/2] arm: omap4: hsmmc: Fix Pbias configuration on regulator OFF Balaji T K
2011-09-29 16:20   ` Tony Lindgren
2011-09-30 15:16     ` T Krishnamoorthy, Balaji
2011-09-30 17:41       ` Tony Lindgren
2011-09-29 14:45 ` [PATCH 2/2] arm: omap4: hsmmc: configure SDMMC1_DR0 properly Balaji T K

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).