diff mbox

MMC3 Overo

Message ID alpine.DEB.2.00.0908021919320.19529@utopia.booyaka.com (mailing list archive)
State New, archived
Delegated to: Kevin Hilman
Headers show

Commit Message

Paul Walmsley Aug. 3, 2009, 1:20 a.m. UTC
Hello John,

you are using the PM branch, correct?

On Thu, 30 Jul 2009, John Sarman wrote:

> On Thu, Jul 30, 2009 at 11:49 AM, John Sarman<johnsarman@gmail.com> wrote:
> > I am trying to use mmc3 on the Overo Gumstix board with no luck.  I
> > have patched the kernel with the latest changes and have yet to see a
> > clk pulse, both before and after the patches.
> After adding some debugging printks, I have determined the mmc3 fails
> getting IRQ
> mmci-omap-hs mmci-omap-hs.0: Failed to get debounce clock
> REQUEST IRQ = 83 HOST = -812068416
> mmci-omap-hs mmci-omap-hs.1: Failed to get debounce clock
> REQUEST IRQ = 86 HOST = -812067392
> mmci-omap-hs mmci-omap-hs.2: Failed to get debounce clock
> REQUEST IRQ = 83 HOST = -812066368
> mmci-omap-hs mmci-omap-hs.2: Unable to grab HSMMC IRQ
> mmci-omap-hs mmci-omap-hs.2: Probe Failed
> mmci-omap-hs: probe of mmci-omap-hs.2 failed with error -16
> 
> For some reason mmc1 and mmc3 ask for the same interrupt 83 ???
> 
> Why would this be assigned the same value?

Developer error.  Does this patch fix it for you?


- Paul


From baca68c40ec3b391cdbfc0fb20ac5092b4ab7025 Mon Sep 17 00:00:00 2001
From: Paul Walmsley <paul@pwsan.com>
Date: Mon, 3 Aug 2009 04:18:45 +0300
Subject: [PATCH] OMAP3 hwmod: fix MMC3 IRQ

The MMC3 IRQ is incorrect in mach-omap2/omap_hwmod_34xx.h, which causes
MMC3 init to fail.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
---
 arch/arm/mach-omap2/omap_hwmod_34xx.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

John Sarman Aug. 3, 2009, 10:33 a.m. UTC | #1
Paul,

On Sun, Aug 2, 2009 at 9:20 PM, Paul Walmsley<paul@pwsan.com> wrote:
> Hello John,
>
> you are using the PM branch, correct?
  Unfortunately I am not using the pm patch, because I am stuck at
2.6.30-rc8.  This is because it is the last place I have usb host
working. I backported the necessary changes and pm wasn't an absolute
necessity, basically equivalent to not compiling in PM. I basically
used nearly every related patch after 6-6-09 - the 32 mmc patches.
>
> On Thu, 30 Jul 2009, John Sarman wrote:
>
>> On Thu, Jul 30, 2009 at 11:49 AM, John Sarman<johnsarman@gmail.com> wrote:
>> > I am trying to use mmc3 on the Overo Gumstix board with no luck.  I
>> > have patched the kernel with the latest changes and have yet to see a
>> > clk pulse, both before and after the patches.
>> After adding some debugging printks, I have determined the mmc3 fails
>> getting IRQ
>> mmci-omap-hs mmci-omap-hs.0: Failed to get debounce clock
>> REQUEST IRQ = 83 HOST = -812068416
>> mmci-omap-hs mmci-omap-hs.1: Failed to get debounce clock
>> REQUEST IRQ = 86 HOST = -812067392
>> mmci-omap-hs mmci-omap-hs.2: Failed to get debounce clock
>> REQUEST IRQ = 83 HOST = -812066368
>> mmci-omap-hs mmci-omap-hs.2: Unable to grab HSMMC IRQ
>> mmci-omap-hs mmci-omap-hs.2: Probe Failed
>> mmci-omap-hs: probe of mmci-omap-hs.2 failed with error -16
>>
>> For some reason mmc1 and mmc3 ask for the same interrupt 83 ???
>>
>> Why would this be assigned the same value?
>
> Developer error.  Does this patch fix it for you?
>
>
> - Paul
>
>
> From baca68c40ec3b391cdbfc0fb20ac5092b4ab7025 Mon Sep 17 00:00:00 2001
> From: Paul Walmsley <paul@pwsan.com>
> Date: Mon, 3 Aug 2009 04:18:45 +0300
> Subject: [PATCH] OMAP3 hwmod: fix MMC3 IRQ
>
> The MMC3 IRQ is incorrect in mach-omap2/omap_hwmod_34xx.h, which causes
> MMC3 init to fail.
>
> Signed-off-by: Paul Walmsley <paul@pwsan.com>
> ---
>  arch/arm/mach-omap2/omap_hwmod_34xx.h |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/omap_hwmod_34xx.h b/arch/arm/mach-omap2/omap_hwmod_34xx.h
> index 29a2d60..56215bd 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_34xx.h
> +++ b/arch/arm/mach-omap2/omap_hwmod_34xx.h
> @@ -470,7 +470,7 @@ static struct omap_hwmod omap34xx_mmc2_hwmod = {
>  static struct mmc_dev_attr mmc3_dev_attr;
>
>  static u8 mmc3_mpu_irqs[] = {
> -       INT_24XX_MMC_IRQ,
> +       INT_34XX_MMC3_IRQ,
>  };
>
>  static struct omap_hwmod_dma_info mmc3_sdma_chs[] = {
> --
> 1.6.3.GIT
>
Thanks for the patch, I will apply that and keep on testing.

John Sarman
--
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
John Sarman Aug. 3, 2009, 10:57 a.m. UTC | #2
On Mon, Aug 3, 2009 at 6:37 AM, Elvis Dowson<elvis.dowson@mac.com> wrote:
> Hi John,
>                 What does MMC3 on the Overo connect to?
MMC3 connects to one of the 70 pin bottom connectors.  The datasheet
states that MMC3 has no PBIAS circuit so you have to interface it with
1.8V logic.  I used a TXS0108 from TI as a level translator.
Datasheet states "The TXS0108E device is a semi-buffered
auto-direction-sensing voltage translator design is optimized for
translation applications (e.g. MMC Card Interfaces) that require the
system to start out in a low-speed open-drain mode and then switch to
a higher speed push-pull mode." So no need for transceiver control
with this IC.

>
> I am trying to get pm working on the overo, and I have a recipe for the
> overo for v.2.6.29 (which still has some issues with mmc1) and I have
> v2.6.31 latest kernel update recipe for overo that has both DSS2 and PM
> integrated.

Have you tested the USB host with 2.6.31 recipe yet?
Definitely would like the recipe for the v2.6.31. I have tested DSS2
on 2.6.30-rc8 and either I have a user error(most likely) or it wasn't
working.
I attempted to backport PM but as my main concern was for MMC. I
stopped after realizing it wasn't absolutely necessary to get the new
mmc patches to compile.

>
> I can share it with you if you like.
>
> Best regards,
>
> Elvis
>
>

John Sarman
--
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
Elvis Dowson Aug. 3, 2009, 10:59 a.m. UTC | #3
Hi,

On Aug 3, 2009, at 2:56 PM, John Sarman wrote:

> On Mon, Aug 3, 2009 at 6:37 AM, Elvis Dowson<elvis.dowson@mac.com>  
> wrote:
>>
> MMC3 connects to one of the 70 pin bottom connectors.

Is this for some custom board? I am using the standard Overo Earth +  
palo43 combo. Just want to know if I need to apply the mmc3 patch or  
not.

The existing mmc reader on board the overo, is it connected to mmc1 or  
mmc3?

Best regards,

Elvis



--
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
Paul Walmsley Aug. 3, 2009, 11:11 a.m. UTC | #4
On Mon, 3 Aug 2009, John Sarman wrote:

> On Sun, Aug 2, 2009 at 9:20 PM, Paul Walmsley<paul@pwsan.com> wrote:

> > From: Paul Walmsley <paul@pwsan.com>
> > Date: Mon, 3 Aug 2009 04:18:45 +0300
> > Subject: [PATCH] OMAP3 hwmod: fix MMC3 IRQ
> >
> > The MMC3 IRQ is incorrect in mach-omap2/omap_hwmod_34xx.h, which causes
> > MMC3 init to fail.
> >
> > Signed-off-by: Paul Walmsley <paul@pwsan.com>
> > ---
> >  arch/arm/mach-omap2/omap_hwmod_34xx.h |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/arch/arm/mach-omap2/omap_hwmod_34xx.h b/arch/arm/mach-omap2/omap_hwmod_34xx.h
> > index 29a2d60..56215bd 100644
> > --- a/arch/arm/mach-omap2/omap_hwmod_34xx.h
> > +++ b/arch/arm/mach-omap2/omap_hwmod_34xx.h
> > @@ -470,7 +470,7 @@ static struct omap_hwmod omap34xx_mmc2_hwmod = {
> >  static struct mmc_dev_attr mmc3_dev_attr;
> >
> >  static u8 mmc3_mpu_irqs[] = {
> > -       INT_24XX_MMC_IRQ,
> > +       INT_34XX_MMC3_IRQ,
> >  };
> >
> >  static struct omap_hwmod_dma_info mmc3_sdma_chs[] = {
> > --
> > 1.6.3.GIT
> >
> Thanks for the patch, I will apply that and keep on testing.

I'm afraid that the patch will only be useful on a recent version of 
Kevin's PM branch.

- Paul
Elvis Dowson Aug. 3, 2009, 12:42 p.m. UTC | #5
Hi John,
			Here is a link to download the omap-pm recipes for the overo that  
I've created so far. http://web.me.com/elvis.dowson/Download/OpenEmbedded/Entries/2009/8/3_Power_management_for_gumstix_Overo.html

Let me know if you have any problems building these recipes.

These recipes were original created for the corresponding android  
kernel builds, and I just removed the android patches from them.

So, you will have to do

bitbake -c menuconfig linux-omap3-2.6.29

load the defconfig file in the linux-omap3-2.6.29/overo folder, and  
then save it back, to remove the android specific kernel configuration  
settings.

In the linux-omap3-2.6.29/overo/backup/defconfig folder, you will find  
various work in progress defconfig settings.

Let me know how it goes.

Oh, I forgot one more thing, in the linux-omap3-2.6.29.bb recipe, for  
the mmc there are three patches

#	 > OMAP Patches \
            file://omap/0300-mmc-clk.patch;patch=1 \
#           file://omap/0301-mmc-off-mode-1.patch;patch=1 \
            file://omap/0302-mmc-off-mode-2.patch;patch=1 \

Both mmc-off-mode-1 and mmc-off-mode-2 patches are similar, and I  
don't know which one to use. I was building mmc-off-mode-2 patch, but  
did test it yet and zipped it in a hurry.

if you modify it as follows:

#	 > OMAP Patches \
            file://omap/0300-mmc-clk.patch;patch=1 \
            file://omap/0301-mmc-off-mode-1.patch;patch=1 \
#           file://omap/0302-mmc-off-mode-2.patch;patch=1 \

It should work fine, and all power domains will reach their target  
state. However, at the moment, it takes a couple of seconds for the  
system to come back from suspend mode.

Let me know how it goes.

Best regards,

Elvis


--
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
Elvis Dowson Aug. 3, 2009, 1:16 p.m. UTC | #6
Hi John,
		A quick update...

On Aug 3, 2009, at 4:42 PM, Elvis Dowson wrote:

>
> Oh, I forgot one more thing, in the linux-omap3-2.6.29.bb recipe,  
> for the mmc there are three patches
>
> #	 > OMAP Patches \
>           file://omap/0300-mmc-clk.patch;patch=1 \
> #           file://omap/0301-mmc-off-mode-1.patch;patch=1 \
>           file://omap/0302-mmc-off-mode-2.patch;patch=1 \
>
> Both mmc-off-mode-1 and mmc-off-mode-2 patches are similar, and I  
> don't know which one to use. I was building mmc-off-mode-2 patch,  
> but did test it yet and zipped it in a hurry.
>
> if you modify it as follows:
>
> #	 > OMAP Patches \
>           file://omap/0300-mmc-clk.patch;patch=1 \
>           file://omap/0301-mmc-off-mode-1.patch;patch=1 \
> #           file://omap/0302-mmc-off-mode-2.patch;patch=1 \
>

I just tested mmc-off-mode-2 patch, the results are identical. Both of  
them have the following error:

mmc1: mmc_rescan - card ocr from io_op=0x00000000, err = -110

Have you encountered this error before?


A bit of background, I got those two patches from here:

MMC off mode: https://review.source.android.com/#change,10666

but, I don't know what patch set 1 and patch set 2 is supposed to be.  
Would you happen to know ?


Best regards,

Elvis

--
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
John Sarman Aug. 4, 2009, 12:21 p.m. UTC | #7
On Sun, Aug 2, 2009 at 9:20 PM, Paul Walmsley<paul@pwsan.com> wrote:
> Hello John,
>
> you are using the PM branch, correct?
>
> On Thu, 30 Jul 2009, John Sarman wrote:
>
>> On Thu, Jul 30, 2009 at 11:49 AM, John Sarman<johnsarman@gmail.com> wrote:
>> > I am trying to use mmc3 on the Overo Gumstix board with no luck.  I
>> > have patched the kernel with the latest changes and have yet to see a
>> > clk pulse, both before and after the patches.
>> After adding some debugging printks, I have determined the mmc3 fails
>> getting IRQ
>> mmci-omap-hs mmci-omap-hs.0: Failed to get debounce clock
>> REQUEST IRQ = 83 HOST = -812068416
>> mmci-omap-hs mmci-omap-hs.1: Failed to get debounce clock
>> REQUEST IRQ = 86 HOST = -812067392
>> mmci-omap-hs mmci-omap-hs.2: Failed to get debounce clock
>> REQUEST IRQ = 83 HOST = -812066368
>> mmci-omap-hs mmci-omap-hs.2: Unable to grab HSMMC IRQ
>> mmci-omap-hs mmci-omap-hs.2: Probe Failed
>> mmci-omap-hs: probe of mmci-omap-hs.2 failed with error -16
>>
>> For some reason mmc1 and mmc3 ask for the same interrupt 83 ???
>>
>> Why would this be assigned the same value?
>
> Developer error.  Does this patch fix it for you?
That fixed it.  However I still am not having success.   I have
tracked down my problem to the omap_hsmmc interrupt.  When the code
initializes with CMD8 the interrupt is triggered with a timeout.  I
have probed the SD 2G card on the CMD line and Clock line and I see
the  400Khz clock and transitions on the CMD line.  I am not 100% sure
it is not hardware but I seems to work all the way down the circuit up
to the SD card socket.  Tried several cards with same results.  Have
not captured the CMD stream and parsed it though.  (Still looking for
a datasheet to explain the signals of SD).  I read in the TRM and it
states the timeout is triggered when a command is sent and 64 clocks
occur without a response.
   Still going strong on it, but I would appreciate any tips.
John

>
>
> - Paul
>
>
> From baca68c40ec3b391cdbfc0fb20ac5092b4ab7025 Mon Sep 17 00:00:00 2001
> From: Paul Walmsley <paul@pwsan.com>
> Date: Mon, 3 Aug 2009 04:18:45 +0300
> Subject: [PATCH] OMAP3 hwmod: fix MMC3 IRQ
>
> The MMC3 IRQ is incorrect in mach-omap2/omap_hwmod_34xx.h, which causes
> MMC3 init to fail.
>
> Signed-off-by: Paul Walmsley <paul@pwsan.com>
> ---
>  arch/arm/mach-omap2/omap_hwmod_34xx.h |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/omap_hwmod_34xx.h b/arch/arm/mach-omap2/omap_hwmod_34xx.h
> index 29a2d60..56215bd 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_34xx.h
> +++ b/arch/arm/mach-omap2/omap_hwmod_34xx.h
> @@ -470,7 +470,7 @@ static struct omap_hwmod omap34xx_mmc2_hwmod = {
>  static struct mmc_dev_attr mmc3_dev_attr;
>
>  static u8 mmc3_mpu_irqs[] = {
> -       INT_24XX_MMC_IRQ,
> +       INT_34XX_MMC3_IRQ,
>  };
>
>  static struct omap_hwmod_dma_info mmc3_sdma_chs[] = {
> --
> 1.6.3.GIT
>
--
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/omap_hwmod_34xx.h b/arch/arm/mach-omap2/omap_hwmod_34xx.h
index 29a2d60..56215bd 100644
--- a/arch/arm/mach-omap2/omap_hwmod_34xx.h
+++ b/arch/arm/mach-omap2/omap_hwmod_34xx.h
@@ -470,7 +470,7 @@  static struct omap_hwmod omap34xx_mmc2_hwmod = {
 static struct mmc_dev_attr mmc3_dev_attr;
 
 static u8 mmc3_mpu_irqs[] = {
-	INT_24XX_MMC_IRQ,
+	INT_34XX_MMC3_IRQ,
 };
 
 static struct omap_hwmod_dma_info mmc3_sdma_chs[] = {