diff mbox

[2/2] ARM: dts: add AM33XX MMC support

Message ID 1362629799-22485-3-git-send-email-mporter@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Matt Porter March 7, 2013, 4:16 a.m. UTC
Adds AM33XX MMC support for am335x-bone, am335x-evm, and
am335x-evmsk.

Signed-off-by: Matt Porter <mporter@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/am335x-bone.dts  |    7 +++++++
 arch/arm/boot/dts/am335x-evm.dts   |    7 +++++++
 arch/arm/boot/dts/am335x-evmsk.dts |    7 +++++++
 arch/arm/boot/dts/am33xx.dtsi      |   28 ++++++++++++++++++++++++++++
 4 files changed, 49 insertions(+)

Comments

Vaibhav Hiremath March 7, 2013, 5:29 a.m. UTC | #1
> -----Original Message-----
> From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
> owner@vger.kernel.org] On Behalf Of Porter, Matt
> Sent: Thursday, March 07, 2013 9:47 AM
> To: Krishnamoorthy, Balaji T; Chris Ball; Cousson, Benoit; Tony
> Lindgren; Russell King
> Cc: Devicetree Discuss; Linux ARM Kernel List; Linux OMAP List; Linux
> Kernel Mailing List; Linux MMC List
> Subject: [PATCH 2/2] ARM: dts: add AM33XX MMC support
> 
> Adds AM33XX MMC support for am335x-bone, am335x-evm, and
> am335x-evmsk.
> 
> Signed-off-by: Matt Porter <mporter@ti.com>
> Acked-by: Tony Lindgren <tony@atomide.com>
> ---
>  arch/arm/boot/dts/am335x-bone.dts  |    7 +++++++
>  arch/arm/boot/dts/am335x-evm.dts   |    7 +++++++
>  arch/arm/boot/dts/am335x-evmsk.dts |    7 +++++++
>  arch/arm/boot/dts/am33xx.dtsi      |   28 ++++++++++++++++++++++++++++
>  4 files changed, 49 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/am335x-bone.dts
> b/arch/arm/boot/dts/am335x-bone.dts
> index 11b240c..a154ce0 100644
> --- a/arch/arm/boot/dts/am335x-bone.dts
> +++ b/arch/arm/boot/dts/am335x-bone.dts
> @@ -120,6 +120,8 @@
>  		};
> 
>  		ldo3_reg: regulator@5 {
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <3300000>;
>  			regulator-always-on;
>  		};
> 
> @@ -136,3 +138,8 @@
>  &cpsw_emac1 {
>  	phy_id = <&davinci_mdio>, <1>;
>  };
> +
> +&mmc1 {
> +	status = "okay";
> +	vmmc-supply = <&ldo3_reg>;
> +};
> diff --git a/arch/arm/boot/dts/am335x-evm.dts
> b/arch/arm/boot/dts/am335x-evm.dts
> index d649644..2907da6 100644
> --- a/arch/arm/boot/dts/am335x-evm.dts
> +++ b/arch/arm/boot/dts/am335x-evm.dts
> @@ -232,6 +232,8 @@
>  		};
> 
>  		vmmc_reg: regulator@12 {
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <3300000>;
>  			regulator-always-on;
>  		};
>  	};
> @@ -244,3 +246,8 @@
>  &cpsw_emac1 {
>  	phy_id = <&davinci_mdio>, <1>;
>  };
> +
> +&mmc1 {
> +	status = "okay";
> +	vmmc-supply = <&vmmc_reg>;
> +};
> diff --git a/arch/arm/boot/dts/am335x-evmsk.dts
> b/arch/arm/boot/dts/am335x-evmsk.dts
> index f5a6162..f050c46 100644
> --- a/arch/arm/boot/dts/am335x-evmsk.dts
> +++ b/arch/arm/boot/dts/am335x-evmsk.dts
> @@ -244,7 +244,14 @@
>  		};
> 
>  		vmmc_reg: regulator@12 {
> +			regulator-min-microvolt = <1800000>;
> +			regulator-max-microvolt = <3300000>;
>  			regulator-always-on;
>  		};
>  	};
>  };
> +
> +&mmc1 {
> +	status = "okay";
> +	vmmc-supply = <&vmmc_reg>;
> +};
> diff --git a/arch/arm/boot/dts/am33xx.dtsi
> b/arch/arm/boot/dts/am33xx.dtsi
> index c3c781a..e029eea 100644
> --- a/arch/arm/boot/dts/am33xx.dtsi
> +++ b/arch/arm/boot/dts/am33xx.dtsi
> @@ -234,6 +234,34 @@
>  			status = "disabled";
>  		};
> 
> +		mmc1: mmc@48060000 {
> +			compatible = "ti,omap3-hsmmc";
> +			ti,hwmods = "mmc1";
> +			ti,dual-volt;
> +			ti,needs-special-reset;
> +			dmas = <&edma 24
> +				&edma 25>;
> +			dma-names = "tx", "rx";
> +			status = "disabled";
> +		};
> +
> +		mmc2: mmc@481d8000 {
> +			compatible = "ti,omap3-hsmmc";
> +			ti,hwmods = "mmc2";
> +			ti,needs-special-reset;
> +			dmas = <&edma 2
> +				&edma 3>;
> +			dma-names = "tx", "rx";
> +			status = "disabled";
> +		};
> +
> +		mmc3: mmc@47810000 {
> +			compatible = "ti,omap3-hsmmc";
> +			ti,hwmods = "mmc3";
> +			ti,needs-special-reset;
> +			status = "disabled";
> +		};
Any specific reason why you did not add edma entry here as well?

Also, I wonder why "interrupt" property is not coming here, I understand
That hwmod is filling the gap here; but I would still recommend you to complete
The DT node, as we only support DT boot.

I will test the whole patch series today and update you.

Thanks,
Vaibhav


> +
>  		wdt2: wdt@44e35000 {
>  			compatible = "ti,omap3-wdt";
>  			ti,hwmods = "wd_timer2";
> --
> 1.7.9.5
> 
> --
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Matt Porter March 7, 2013, 2:12 p.m. UTC | #2
On Thu, Mar 07, 2013 at 05:29:24AM +0000, Vaibhav Hiremath wrote:
> > -----Original Message-----
> > From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
> > owner@vger.kernel.org] On Behalf Of Porter, Matt
> > Sent: Thursday, March 07, 2013 9:47 AM
> > To: Krishnamoorthy, Balaji T; Chris Ball; Cousson, Benoit; Tony
> > Lindgren; Russell King
> > Cc: Devicetree Discuss; Linux ARM Kernel List; Linux OMAP List; Linux
> > Kernel Mailing List; Linux MMC List
> > Subject: [PATCH 2/2] ARM: dts: add AM33XX MMC support
> > 
> > Adds AM33XX MMC support for am335x-bone, am335x-evm, and
> > am335x-evmsk.
> > 
> > Signed-off-by: Matt Porter <mporter@ti.com>
> > Acked-by: Tony Lindgren <tony@atomide.com>
> > ---
> >  arch/arm/boot/dts/am335x-bone.dts  |    7 +++++++
> >  arch/arm/boot/dts/am335x-evm.dts   |    7 +++++++
> >  arch/arm/boot/dts/am335x-evmsk.dts |    7 +++++++
> >  arch/arm/boot/dts/am33xx.dtsi      |   28 ++++++++++++++++++++++++++++
> >  4 files changed, 49 insertions(+)
> > 
> > diff --git a/arch/arm/boot/dts/am335x-bone.dts
> > b/arch/arm/boot/dts/am335x-bone.dts
> > index 11b240c..a154ce0 100644
> > --- a/arch/arm/boot/dts/am335x-bone.dts
> > +++ b/arch/arm/boot/dts/am335x-bone.dts
> > @@ -120,6 +120,8 @@
> >  		};
> > 
> >  		ldo3_reg: regulator@5 {
> > +			regulator-min-microvolt = <1800000>;
> > +			regulator-max-microvolt = <3300000>;
> >  			regulator-always-on;
> >  		};
> > 
> > @@ -136,3 +138,8 @@
> >  &cpsw_emac1 {
> >  	phy_id = <&davinci_mdio>, <1>;
> >  };
> > +
> > +&mmc1 {
> > +	status = "okay";
> > +	vmmc-supply = <&ldo3_reg>;
> > +};
> > diff --git a/arch/arm/boot/dts/am335x-evm.dts
> > b/arch/arm/boot/dts/am335x-evm.dts
> > index d649644..2907da6 100644
> > --- a/arch/arm/boot/dts/am335x-evm.dts
> > +++ b/arch/arm/boot/dts/am335x-evm.dts
> > @@ -232,6 +232,8 @@
> >  		};
> > 
> >  		vmmc_reg: regulator@12 {
> > +			regulator-min-microvolt = <1800000>;
> > +			regulator-max-microvolt = <3300000>;
> >  			regulator-always-on;
> >  		};
> >  	};
> > @@ -244,3 +246,8 @@
> >  &cpsw_emac1 {
> >  	phy_id = <&davinci_mdio>, <1>;
> >  };
> > +
> > +&mmc1 {
> > +	status = "okay";
> > +	vmmc-supply = <&vmmc_reg>;
> > +};
> > diff --git a/arch/arm/boot/dts/am335x-evmsk.dts
> > b/arch/arm/boot/dts/am335x-evmsk.dts
> > index f5a6162..f050c46 100644
> > --- a/arch/arm/boot/dts/am335x-evmsk.dts
> > +++ b/arch/arm/boot/dts/am335x-evmsk.dts
> > @@ -244,7 +244,14 @@
> >  		};
> > 
> >  		vmmc_reg: regulator@12 {
> > +			regulator-min-microvolt = <1800000>;
> > +			regulator-max-microvolt = <3300000>;
> >  			regulator-always-on;
> >  		};
> >  	};
> >  };
> > +
> > +&mmc1 {
> > +	status = "okay";
> > +	vmmc-supply = <&vmmc_reg>;
> > +};
> > diff --git a/arch/arm/boot/dts/am33xx.dtsi
> > b/arch/arm/boot/dts/am33xx.dtsi
> > index c3c781a..e029eea 100644
> > --- a/arch/arm/boot/dts/am33xx.dtsi
> > +++ b/arch/arm/boot/dts/am33xx.dtsi
> > @@ -234,6 +234,34 @@
> >  			status = "disabled";
> >  		};
> > 
> > +		mmc1: mmc@48060000 {
> > +			compatible = "ti,omap3-hsmmc";
> > +			ti,hwmods = "mmc1";
> > +			ti,dual-volt;
> > +			ti,needs-special-reset;
> > +			dmas = <&edma 24
> > +				&edma 25>;
> > +			dma-names = "tx", "rx";
> > +			status = "disabled";
> > +		};
> > +
> > +		mmc2: mmc@481d8000 {
> > +			compatible = "ti,omap3-hsmmc";
> > +			ti,hwmods = "mmc2";
> > +			ti,needs-special-reset;
> > +			dmas = <&edma 2
> > +				&edma 3>;
> > +			dma-names = "tx", "rx";
> > +			status = "disabled";
> > +		};
> > +
> > +		mmc3: mmc@47810000 {
> > +			compatible = "ti,omap3-hsmmc";
> > +			ti,hwmods = "mmc3";
> > +			ti,needs-special-reset;
> > +			status = "disabled";
> > +		};
> Any specific reason why you did not add edma entry here as well?

Yes, I've answered this one before and I think this illustrates a need
for a comment in the .dtsi. mmc3 edma event are on the crossbar and so
the event that will be mapped is system-specific. Since Luca is still
working on DT support for WiLink, there's no way to show an example of
how this is used upstream as that's the only in-kernel user.

I have a test driver I've cited in the postings that shows how the
crossbar is configured via the board .dts. It doesn't belong in the
.dtsi, however, in this case. When WiLink DT support is ready we can
have an entry in the am335x-evmsk.dts that shows this case.

> Also, I wonder why "interrupt" property is not coming here, I understand
> That hwmod is filling the gap here; but I would still recommend you to complete
> The DT node, as we only support DT boot.

Yeah, I only added needed properties so as to not confuse people as to
where the interrupt resources are coming from. If you feel strongly
about this I don't have a problem with adding unused data in the dts.
I suppose this will help clear things to have a switch away from using
the hwmod data.

> I will test the whole patch series today and update you.

Thanks.

-Matt
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Vaibhav Hiremath March 7, 2013, 2:39 p.m. UTC | #3
> -----Original Message-----
> From: Matt Porter [mailto:ohiomdp@gmail.com] On Behalf Of Porter, Matt
> Sent: Thursday, March 07, 2013 7:43 PM
> To: Hiremath, Vaibhav
> Cc: Krishnamoorthy, Balaji T; Chris Ball; Cousson, Benoit; Tony
> Lindgren; Russell King; Devicetree Discuss; Linux ARM Kernel List;
> Linux OMAP List; Linux Kernel Mailing List; Linux MMC List
> Subject: Re: [PATCH 2/2] ARM: dts: add AM33XX MMC support
> 
> On Thu, Mar 07, 2013 at 05:29:24AM +0000, Vaibhav Hiremath wrote:
> > > -----Original Message-----
> > > From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
> > > owner@vger.kernel.org] On Behalf Of Porter, Matt
> > > Sent: Thursday, March 07, 2013 9:47 AM
> > > To: Krishnamoorthy, Balaji T; Chris Ball; Cousson, Benoit; Tony
> > > Lindgren; Russell King
> > > Cc: Devicetree Discuss; Linux ARM Kernel List; Linux OMAP List;
> Linux
> > > Kernel Mailing List; Linux MMC List
> > > Subject: [PATCH 2/2] ARM: dts: add AM33XX MMC support
> > >
> > > Adds AM33XX MMC support for am335x-bone, am335x-evm, and
> > > am335x-evmsk.
> > >
> > > Signed-off-by: Matt Porter <mporter@ti.com>
> > > Acked-by: Tony Lindgren <tony@atomide.com>
> > > ---
> > >  arch/arm/boot/dts/am335x-bone.dts  |    7 +++++++
> > >  arch/arm/boot/dts/am335x-evm.dts   |    7 +++++++
> > >  arch/arm/boot/dts/am335x-evmsk.dts |    7 +++++++
> > >  arch/arm/boot/dts/am33xx.dtsi      |   28
> ++++++++++++++++++++++++++++
> > >  4 files changed, 49 insertions(+)
> > >
> > > diff --git a/arch/arm/boot/dts/am335x-bone.dts
> > > b/arch/arm/boot/dts/am335x-bone.dts
> > > index 11b240c..a154ce0 100644
> > > --- a/arch/arm/boot/dts/am335x-bone.dts
> > > +++ b/arch/arm/boot/dts/am335x-bone.dts
> > > @@ -120,6 +120,8 @@
> > >  		};
> > >
> > >  		ldo3_reg: regulator@5 {
> > > +			regulator-min-microvolt = <1800000>;
> > > +			regulator-max-microvolt = <3300000>;
> > >  			regulator-always-on;
> > >  		};
> > >
> > > @@ -136,3 +138,8 @@
> > >  &cpsw_emac1 {
> > >  	phy_id = <&davinci_mdio>, <1>;
> > >  };
> > > +
> > > +&mmc1 {
> > > +	status = "okay";
> > > +	vmmc-supply = <&ldo3_reg>;
> > > +};
> > > diff --git a/arch/arm/boot/dts/am335x-evm.dts
> > > b/arch/arm/boot/dts/am335x-evm.dts
> > > index d649644..2907da6 100644
> > > --- a/arch/arm/boot/dts/am335x-evm.dts
> > > +++ b/arch/arm/boot/dts/am335x-evm.dts
> > > @@ -232,6 +232,8 @@
> > >  		};
> > >
> > >  		vmmc_reg: regulator@12 {
> > > +			regulator-min-microvolt = <1800000>;
> > > +			regulator-max-microvolt = <3300000>;
> > >  			regulator-always-on;
> > >  		};
> > >  	};
> > > @@ -244,3 +246,8 @@
> > >  &cpsw_emac1 {
> > >  	phy_id = <&davinci_mdio>, <1>;
> > >  };
> > > +
> > > +&mmc1 {
> > > +	status = "okay";
> > > +	vmmc-supply = <&vmmc_reg>;
> > > +};
> > > diff --git a/arch/arm/boot/dts/am335x-evmsk.dts
> > > b/arch/arm/boot/dts/am335x-evmsk.dts
> > > index f5a6162..f050c46 100644
> > > --- a/arch/arm/boot/dts/am335x-evmsk.dts
> > > +++ b/arch/arm/boot/dts/am335x-evmsk.dts
> > > @@ -244,7 +244,14 @@
> > >  		};
> > >
> > >  		vmmc_reg: regulator@12 {
> > > +			regulator-min-microvolt = <1800000>;
> > > +			regulator-max-microvolt = <3300000>;
> > >  			regulator-always-on;
> > >  		};
> > >  	};
> > >  };
> > > +
> > > +&mmc1 {
> > > +	status = "okay";
> > > +	vmmc-supply = <&vmmc_reg>;
> > > +};
> > > diff --git a/arch/arm/boot/dts/am33xx.dtsi
> > > b/arch/arm/boot/dts/am33xx.dtsi
> > > index c3c781a..e029eea 100644
> > > --- a/arch/arm/boot/dts/am33xx.dtsi
> > > +++ b/arch/arm/boot/dts/am33xx.dtsi
> > > @@ -234,6 +234,34 @@
> > >  			status = "disabled";
> > >  		};
> > >
> > > +		mmc1: mmc@48060000 {
> > > +			compatible = "ti,omap3-hsmmc";
> > > +			ti,hwmods = "mmc1";
> > > +			ti,dual-volt;
> > > +			ti,needs-special-reset;
> > > +			dmas = <&edma 24
> > > +				&edma 25>;
> > > +			dma-names = "tx", "rx";
> > > +			status = "disabled";
> > > +		};
> > > +
> > > +		mmc2: mmc@481d8000 {
> > > +			compatible = "ti,omap3-hsmmc";
> > > +			ti,hwmods = "mmc2";
> > > +			ti,needs-special-reset;
> > > +			dmas = <&edma 2
> > > +				&edma 3>;
> > > +			dma-names = "tx", "rx";
> > > +			status = "disabled";
> > > +		};
> > > +
> > > +		mmc3: mmc@47810000 {
> > > +			compatible = "ti,omap3-hsmmc";
> > > +			ti,hwmods = "mmc3";
> > > +			ti,needs-special-reset;
> > > +			status = "disabled";
> > > +		};
> > Any specific reason why you did not add edma entry here as well?
> 
> Yes, I've answered this one before and I think this illustrates a need
> for a comment in the .dtsi. mmc3 edma event are on the crossbar and so
> the event that will be mapped is system-specific. Since Luca is still
> working on DT support for WiLink, there's no way to show an example of
> how this is used upstream as that's the only in-kernel user.
> 
> I have a test driver I've cited in the postings that shows how the
> crossbar is configured via the board .dts. It doesn't belong in the
> .dtsi, however, in this case. When WiLink DT support is ready we can
> have an entry in the am335x-evmsk.dts that shows this case.
> 
> > Also, I wonder why "interrupt" property is not coming here, I
> understand
> > That hwmod is filling the gap here; but I would still recommend you
> to complete
> > The DT node, as we only support DT boot.
> 
> Yeah, I only added needed properties so as to not confuse people as to
> where the interrupt resources are coming from. If you feel strongly
> about this I don't have a problem with adding unused data in the dts.
> I suppose this will help clear things to have a switch away from using
> the hwmod data.

Its not true, if you specify interrupt property in the DTS file
It is being used. Please refer to the omap_device.c file. I am pasting
Comments from code for your reference -


389         /*
390          * Non-DT Boot:
391          *   Here, pdev->num_resources = 0, and we should get all the
392          *   resources from hwmod.
393          *
394          * DT Boot:
395          *   OF framework will construct the resource structure (currently
396          *   does for MEM & IRQ resource) and we should respect/use these
397          *   resources, killing hwmod dependency.
398          *   If pdev->num_resources > 0, we assume that MEM & IRQ resources
399          *   have been allocated by OF layer already (through DTB).
400          *   As preparation for the future we examine the OF provided resources
401          *   to see if we have DMA resources provided already. In this case
402          *   there is no need to update the resources for the device, we use the
403          *   OF provided ones.
404          *
405          * TODO: Once DMA resource is available from OF layer, we should
406          *   kill filling any resources from hwmod.
407          */


> 
> > I will test the whole patch series today and update you.
> 
I just booted up the EVM with all the patches you have submitted recently,
There are two issues I can see,

1. Stack dump from MMC driver.
This happens because you do not have "interrupt" property mentioned
In the dts file. I have added "interrupt" property and dump went away.

2. And MMC rootFS mount is __not__ working for me.

3. I get following error message - 

[    2.118207] omap_hsmmc mmc.3: unable to obtain RX DMA engine channel 25




I haven’t debugged it yet, just thought I should report it before 
Proceeding further.


Boot Log:
======================================

U-Boot# mmc rescan 0
U-Boot# fatload mmc 0 82000000 uImage
reading uImage
4026992 bytes read in 441 ms (8.7 MiB/s)
U-Boot# fatload mmc 0 81000000 am335x-evm.dtb
reading am335x-evm.dtb
11371 bytes read in 10 ms (1.1 MiB/s)
U-Boot# run mmcargs
U-Boot# bootm 82000000 - 81000000
## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   Linux
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4026928 Bytes = 3.8 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 81000000
   Booting using the fdt blob at 0x81000000
   Loading Kernel Image ... OK
OK
   Using Device Tree in place at 81000000, end 81005c6a

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.9.0-rc1-00122-g106e3c6 (XXX@psplinux064) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #2 SMP Thu Mar 7 16:57:39 IST 2013
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: Generic AM33XX (Flattened Device Tree), model: TI AM335x EVM
[    0.000000] cma: CMA: reserved 16 MiB at ae800000
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] AM335X ES2.0 (neon )
[    0.000000] PERCPU: Embedded 9 pages/cpu @c181d000 s13632 r8192 d15040 u36864
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260368
[    0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext3 rootwait ip=none
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] __ex_table already sorted, skipping sort
[    0.000000] Memory: 1023MB = 1023MB total
[    0.000000] Memory: 1008260k/1008260k available, 40316k reserved, 269312K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc071fa34   (7263 kB)
[    0.000000]       .init : 0xc0720000 - 0xc0775540   ( 342 kB)
[    0.000000]       .data : 0xc0776000 - 0xc080f0e0   ( 613 kB)
[    0.000000]        .bss : 0xc080f0e0 - 0xc0d6a348   (5485 kB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[    0.000000] Total of 128 interrupts on 1 active controller
[    0.000000] OMAP clockevent source: GPTIMER1 at 24000000 Hz
[    0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[    0.000000] OMAP clocksource: GPTIMER2 at 24000000 Hz
[    0.000000] Console: colour dummy device 80x30
[    0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.000000] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.000000] ... MAX_LOCK_DEPTH:          48
[    0.000000] ... MAX_LOCKDEP_KEYS:        8191
[    0.000000] ... CLASSHASH_SIZE:          4096
[    0.000000] ... MAX_LOCKDEP_ENTRIES:     16384
[    0.000000] ... MAX_LOCKDEP_CHAINS:      32768
[    0.000000] ... CHAINHASH_SIZE:          16384
[    0.000000]  memory used by lock dependency info: 3695 kB
[    0.000000]  per task-struct memory footprint: 1152 bytes
[    0.000989] Calibrating delay loop... 530.84 BogoMIPS (lpj=2654208)
[    0.109762] pid_max: default: 32768 minimum: 301
[    0.110250] Security Framework initialized
[    0.110399] Mount-cache hash table entries: 512
[    0.121898] CPU: Testing write buffer coherency: ok
[    0.123398] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[    0.123476] Setting up static identity map for 0xc0510518 - 0xc0510588
[    0.126105] Brought up 1 CPUs
[    0.126130] SMP: Total of 1 processors activated (530.84 BogoMIPS).
[    0.126142] CPU: All CPU(s) started in SVC mode.
[    0.129134] devtmpfs: initialized
[    0.199323] pinctrl core: initialized pinctrl subsystem
[    0.205505] regulator-dummy: no parameters
[    0.209247] NET: Registered protocol family 16
[    0.217051] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.236271] platform 49000000.edma: alias fck already exists
[    0.236311] platform 49000000.edma: alias fck already exists
[    0.236333] platform 49000000.edma: alias fck already exists
[    0.241486] OMAP GPIO hardware version 0.1
[    0.265045] No ATAGs?
[    0.265073] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.271061] Serial: AMBA PL011 UART driver
[    0.329077] bio: create slab <bio-0> at 0
[    0.406141] omap-dma-engine omap-dma-engine: OMAP DMA engine driver
[    0.408010] vbat: 5000 mV
[    0.409244] lis3_reg: no parameters
[    0.417237] SCSI subsystem initialized
[    0.419384] usbcore: registered new interface driver usbfs
[    0.420409] usbcore: registered new interface driver hub
[    0.421312] usbcore: registered new device driver usb
[    0.423218] omap_i2c 44e0b000.i2c: did not get pins for i2c error: -19
[    0.425064] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[    0.427105] tps65910 0-002d: No interrupt support, no core IRQ
[    0.433470] vrtc: 1800 mV
[    0.433880] vrtc: supplied by vbat
[    0.437014] vio: at 1500 mV
[    0.437157] vio: supplied by vbat
[    0.440177] vdd_mpu: 912 <--> 1312 mV at 1262 mV
[    0.440331] vdd_mpu: supplied by vbat
[    0.443151] vdd_core: 912 <--> 1150 mV at 1137 mV
[    0.443293] vdd_core: supplied by vbat
[    0.445806] vdd3: 5000 mV
[    0.448346] vdig1: at 1800 mV
[    0.448486] vdig1: supplied by vbat
[    0.451824] vdig2: at 1800 mV
[    0.451967] vdig2: supplied by vbat
[    0.454524] vpll: at 1800 mV
[    0.454652] vpll: supplied by vbat
[    0.457185] vdac: at 1800 mV
[    0.457311] vdac: supplied by vbat
[    0.459975] vaux1: at 1800 mV
[    0.460112] vaux1: supplied by vbat
[    0.462698] vaux2: at 3300 mV
[    0.462830] vaux2: supplied by vbat
[    0.465339] vaux33: at 3300 mV
[    0.465466] vaux33: supplied by vbat
[    0.467947] vmmc:  omap_i2c 4802a000.i2c: did not get pins for i2c error: -19
[    0.471641] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
[    0.482881] Switching to clocksource gp_timer
[    0.607600] NET: Registered protocol family 2
[    0.609603] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[    0.609956] TCP bind hash table entries: 8192 (order: 6, 294912 bytes)
[    0.613521] TCP: Hash tables configured (established 8192 bind 8192)
[    0.613821] TCP: reno registered
[    0.613863] UDP hash table entries: 512 (order: 3, 40960 bytes)
[    0.614323] UDP-Lite hash table entries: 512 (order: 3, 40960 bytes)
[    0.615553] NET: Registered protocol family 1
[    0.617700] RPC: Registered named UNIX socket transport module.
[    0.617727] RPC: Registered udp transport module.
[    0.617739] RPC: Registered tcp transport module.
[    0.617752] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.618827] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.619316] CPU PMU: probing PMU on CPU 0
[    0.619350] hw perfevents: enabled with ARMv7 Cortex-A8 PMU driver, 5 counters available
[    0.776940] bounce pool size: 64 pages
[    0.777782] VFS: Disk quotas dquot_6.5.2
[    0.777995] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.780682] NFS: Registering the id_resolver key type
[    0.781239] Key type id_resolver registered
[    0.781263] Key type id_legacy registered
[    0.781406] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    0.781933] msgmni has been set to 1475
[    0.785529] io scheduler noop registered
[    0.785553] io scheduler deadline registered
[    0.785652] io scheduler cfq registered (default)
[    0.787072] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[    0.791600] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.798575] omap_uart 44e09000.serial: did not get pins for uart0 error: -19
[    0.799200] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88) is a OMAP UART0
[    1.549008] console [ttyO0] enabled
[    1.586206] brd: module loaded
[    1.608954] loop: module loaded
[    1.617979] mtdoops: mtd device (mtddev=name/number) must be supplied
[    1.626230] OneNAND driver initializing
[    1.636711] usbcore: registered new interface driver asix
[    1.642874] usbcore: registered new interface driver ax88179_178a
[    1.650170] usbcore: registered new interface driver cdc_ether
[    1.657216] usbcore: registered new interface driver smsc95xx
[    1.663954] usbcore: registered new interface driver net1080
[    1.670358] usbcore: registered new interface driver cdc_subset
[    1.677253] usbcore: registered new interface driver zaurus
[    1.683851] usbcore: registered new interface driver cdc_ncm
[    1.691998] usbcore: registered new interface driver cdc_wdm
[    1.698149] Initializing USB Mass Storage driver...
[    1.703927] usbcore: registered new interface driver usb-storage
[    1.710287] USB Mass Storage support registered.
[    1.715804] usbcore: registered new interface driver usbtest
[    1.724258] mousedev: PS/2 mouse device common for all mice
[    1.735860] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
[    1.745083] i2c /dev entries driver
[    1.751902] Driver for 1-wire Dallas network protocol.
[    1.762053] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[    1.773746] omap-dma-engine omap-dma-engine: allocating channel for 25
[    1.780741] BUG: spinlock bad magic on CPU#0, swapper/0/1
[    1.786477]  lock: dma_chan_lock+0x0/0x20, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0
[    1.795523] [<c001acb8>] (unwind_backtrace+0x0/0xf0) from [<c02d4838>] (do_raw_spin_lock+0x15c/0x19c)
[    1.805284] [<c02d4838>] (do_raw_spin_lock+0x15c/0x19c) from [<c050a93c>] (_raw_spin_lock_irqsave+0x4c/0x58)
[    1.815692] [<c050a93c>] (_raw_spin_lock_irqsave+0x4c/0x58) from [<c0040450>] (omap_request_dma+0x24/0x1b8)
[    1.826014] [<c0040450>] (omap_request_dma+0x24/0x1b8) from [<c02ffca8>] (omap_dma_alloc_chan_resources+0x3c/0x50)
[    1.836970] [<c02ffca8>] (omap_dma_alloc_chan_resources+0x3c/0x50) from [<c02fdfc8>] (dma_chan_get+0x5c/0xfc)
[    1.847457] [<c02fdfc8>] (dma_chan_get+0x5c/0xfc) from [<c02fe6fc>] (__dma_request_channel+0xfc/0x1c0)
[    1.857322] [<c02fe6fc>] (__dma_request_channel+0xfc/0x1c0) from [<c0422398>] (omap_hsmmc_probe+0x38c/0x908)
[    1.867732] [<c0422398>] (omap_hsmmc_probe+0x38c/0x908) from [<c0339dc4>] (platform_drv_probe+0x18/0x1c)
[    1.877767] [<c0339dc4>] (platform_drv_probe+0x18/0x1c) from [<c0338a68>] (really_probe+0x74/0x200)
[    1.887342] [<c0338a68>] (really_probe+0x74/0x200) from [<c0338d0c>] (driver_probe_device+0x30/0x48)
[    1.897010] [<c0338d0c>] (driver_probe_device+0x30/0x48) from [<c0338db8>] (__driver_attach+0x94/0x98)
[    1.906860] [<c0338db8>] (__driver_attach+0x94/0x98) from [<c0337424>] (bus_for_each_dev+0x64/0x88)
[    1.916433] [<c0337424>] (bus_for_each_dev+0x64/0x88) from [<c03383a8>] (bus_add_driver+0x1c0/0x240)
[    1.926098] [<c03383a8>] (bus_add_driver+0x1c0/0x240) from [<c03392ec>] (driver_register+0x78/0x144)
[    1.935758] [<c03392ec>] (driver_register+0x78/0x144) from [<c00086a4>] (do_one_initcall+0x34/0x180)
[    1.945432] [<c00086a4>] (do_one_initcall+0x34/0x180) from [<c07208f8>] (kernel_init_freeable+0xfc/0x1c8)
[    1.955553] [<c07208f8>] (kernel_init_freeable+0xfc/0x1c8) from [<c0502664>] (kernel_init+0x8/0xe4)
[    1.965139] [<c0502664>] (kernel_init+0x8/0xe4) from [<c00133f0>] (ret_from_fork+0x14/0x24)
[    1.974061] omap_hsmmc mmc.3: unable to obtain RX DMA engine channel 25
[    1.982218] ledtrig-cpu: registered to indicate activity on CPUs
[    1.989997] usbcore: registered new interface driver usbhid
[    1.995997] usbhid: USB HID core driver
[    2.001076] oprofile: using arm/armv7
[    2.005481] TCP: cubic registered
[    2.008992] Initializing XFRM netlink socket
[    2.013601] NET: Registered protocol family 17
[    2.018370] NET: Registered protocol family 15
[    2.023292] Key type dns_resolver registered
[    2.027918] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    2.036074] ThumbEE CPU extension supported.
[    2.103314] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[    2.109789] davinci_mdio 4a101000.mdio: detected phy mask fffffffe
[    2.117400] libphy: 4a101000.mdio: probed
[    2.121661] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver unknown
[    2.130442] Random MACID = aa:e0:1c:4f:40:25
[    2.137280] of_get_named_gpio_flags exited with status 2
[    2.143115] of_get_named_gpio_flags exited with status 3
[    2.149951] input: volume_keys.7 as /devices/volume_keys.7/input/input0
[    2.158349] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:01 UTC (946684801)
[    2.168602] Waiting for root device /dev/mmcblk0p2...


Thanks.
Vaibhav
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Matt Porter March 7, 2013, 2:46 p.m. UTC | #4
On Thu, Mar 07, 2013 at 02:39:55PM +0000, Vaibhav Hiremath wrote:
> 
> > -----Original Message-----
> > From: Matt Porter [mailto:ohiomdp@gmail.com] On Behalf Of Porter, Matt
> > Sent: Thursday, March 07, 2013 7:43 PM
> > To: Hiremath, Vaibhav
> > Cc: Krishnamoorthy, Balaji T; Chris Ball; Cousson, Benoit; Tony
> > Lindgren; Russell King; Devicetree Discuss; Linux ARM Kernel List;
> > Linux OMAP List; Linux Kernel Mailing List; Linux MMC List
> > Subject: Re: [PATCH 2/2] ARM: dts: add AM33XX MMC support
> > 
> > On Thu, Mar 07, 2013 at 05:29:24AM +0000, Vaibhav Hiremath wrote:
> > > > -----Original Message-----
> > > > From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
> > > > owner@vger.kernel.org] On Behalf Of Porter, Matt
> > > > Sent: Thursday, March 07, 2013 9:47 AM
> > > > To: Krishnamoorthy, Balaji T; Chris Ball; Cousson, Benoit; Tony
> > > > Lindgren; Russell King
> > > > Cc: Devicetree Discuss; Linux ARM Kernel List; Linux OMAP List;
> > Linux
> > > > Kernel Mailing List; Linux MMC List
> > > > Subject: [PATCH 2/2] ARM: dts: add AM33XX MMC support
> > > >
> > > > Adds AM33XX MMC support for am335x-bone, am335x-evm, and
> > > > am335x-evmsk.
> > > >
> > > > Signed-off-by: Matt Porter <mporter@ti.com>
> > > > Acked-by: Tony Lindgren <tony@atomide.com>
> > > > ---
> > > >  arch/arm/boot/dts/am335x-bone.dts  |    7 +++++++
> > > >  arch/arm/boot/dts/am335x-evm.dts   |    7 +++++++
> > > >  arch/arm/boot/dts/am335x-evmsk.dts |    7 +++++++
> > > >  arch/arm/boot/dts/am33xx.dtsi      |   28
> > ++++++++++++++++++++++++++++
> > > >  4 files changed, 49 insertions(+)
> > > >
> > > > diff --git a/arch/arm/boot/dts/am335x-bone.dts
> > > > b/arch/arm/boot/dts/am335x-bone.dts
> > > > index 11b240c..a154ce0 100644
> > > > --- a/arch/arm/boot/dts/am335x-bone.dts
> > > > +++ b/arch/arm/boot/dts/am335x-bone.dts
> > > > @@ -120,6 +120,8 @@
> > > >  		};
> > > >
> > > >  		ldo3_reg: regulator@5 {
> > > > +			regulator-min-microvolt = <1800000>;
> > > > +			regulator-max-microvolt = <3300000>;
> > > >  			regulator-always-on;
> > > >  		};
> > > >
> > > > @@ -136,3 +138,8 @@
> > > >  &cpsw_emac1 {
> > > >  	phy_id = <&davinci_mdio>, <1>;
> > > >  };
> > > > +
> > > > +&mmc1 {
> > > > +	status = "okay";
> > > > +	vmmc-supply = <&ldo3_reg>;
> > > > +};
> > > > diff --git a/arch/arm/boot/dts/am335x-evm.dts
> > > > b/arch/arm/boot/dts/am335x-evm.dts
> > > > index d649644..2907da6 100644
> > > > --- a/arch/arm/boot/dts/am335x-evm.dts
> > > > +++ b/arch/arm/boot/dts/am335x-evm.dts
> > > > @@ -232,6 +232,8 @@
> > > >  		};
> > > >
> > > >  		vmmc_reg: regulator@12 {
> > > > +			regulator-min-microvolt = <1800000>;
> > > > +			regulator-max-microvolt = <3300000>;
> > > >  			regulator-always-on;
> > > >  		};
> > > >  	};
> > > > @@ -244,3 +246,8 @@
> > > >  &cpsw_emac1 {
> > > >  	phy_id = <&davinci_mdio>, <1>;
> > > >  };
> > > > +
> > > > +&mmc1 {
> > > > +	status = "okay";
> > > > +	vmmc-supply = <&vmmc_reg>;
> > > > +};
> > > > diff --git a/arch/arm/boot/dts/am335x-evmsk.dts
> > > > b/arch/arm/boot/dts/am335x-evmsk.dts
> > > > index f5a6162..f050c46 100644
> > > > --- a/arch/arm/boot/dts/am335x-evmsk.dts
> > > > +++ b/arch/arm/boot/dts/am335x-evmsk.dts
> > > > @@ -244,7 +244,14 @@
> > > >  		};
> > > >
> > > >  		vmmc_reg: regulator@12 {
> > > > +			regulator-min-microvolt = <1800000>;
> > > > +			regulator-max-microvolt = <3300000>;
> > > >  			regulator-always-on;
> > > >  		};
> > > >  	};
> > > >  };
> > > > +
> > > > +&mmc1 {
> > > > +	status = "okay";
> > > > +	vmmc-supply = <&vmmc_reg>;
> > > > +};
> > > > diff --git a/arch/arm/boot/dts/am33xx.dtsi
> > > > b/arch/arm/boot/dts/am33xx.dtsi
> > > > index c3c781a..e029eea 100644
> > > > --- a/arch/arm/boot/dts/am33xx.dtsi
> > > > +++ b/arch/arm/boot/dts/am33xx.dtsi
> > > > @@ -234,6 +234,34 @@
> > > >  			status = "disabled";
> > > >  		};
> > > >
> > > > +		mmc1: mmc@48060000 {
> > > > +			compatible = "ti,omap3-hsmmc";
> > > > +			ti,hwmods = "mmc1";
> > > > +			ti,dual-volt;
> > > > +			ti,needs-special-reset;
> > > > +			dmas = <&edma 24
> > > > +				&edma 25>;
> > > > +			dma-names = "tx", "rx";
> > > > +			status = "disabled";
> > > > +		};
> > > > +
> > > > +		mmc2: mmc@481d8000 {
> > > > +			compatible = "ti,omap3-hsmmc";
> > > > +			ti,hwmods = "mmc2";
> > > > +			ti,needs-special-reset;
> > > > +			dmas = <&edma 2
> > > > +				&edma 3>;
> > > > +			dma-names = "tx", "rx";
> > > > +			status = "disabled";
> > > > +		};
> > > > +
> > > > +		mmc3: mmc@47810000 {
> > > > +			compatible = "ti,omap3-hsmmc";
> > > > +			ti,hwmods = "mmc3";
> > > > +			ti,needs-special-reset;
> > > > +			status = "disabled";
> > > > +		};
> > > Any specific reason why you did not add edma entry here as well?
> > 
> > Yes, I've answered this one before and I think this illustrates a need
> > for a comment in the .dtsi. mmc3 edma event are on the crossbar and so
> > the event that will be mapped is system-specific. Since Luca is still
> > working on DT support for WiLink, there's no way to show an example of
> > how this is used upstream as that's the only in-kernel user.
> > 
> > I have a test driver I've cited in the postings that shows how the
> > crossbar is configured via the board .dts. It doesn't belong in the
> > .dtsi, however, in this case. When WiLink DT support is ready we can
> > have an entry in the am335x-evmsk.dts that shows this case.
> > 
> > > Also, I wonder why "interrupt" property is not coming here, I
> > understand
> > > That hwmod is filling the gap here; but I would still recommend you
> > to complete
> > > The DT node, as we only support DT boot.
> > 
> > Yeah, I only added needed properties so as to not confuse people as to
> > where the interrupt resources are coming from. If you feel strongly
> > about this I don't have a problem with adding unused data in the dts.
> > I suppose this will help clear things to have a switch away from using
> > the hwmod data.
> 
> Its not true, if you specify interrupt property in the DTS file
> It is being used. Please refer to the omap_device.c file. I am pasting
> Comments from code for your reference -
> 
> 
> 389         /*
> 390          * Non-DT Boot:
> 391          *   Here, pdev->num_resources = 0, and we should get all the
> 392          *   resources from hwmod.
> 393          *
> 394          * DT Boot:
> 395          *   OF framework will construct the resource structure (currently
> 396          *   does for MEM & IRQ resource) and we should respect/use these
> 397          *   resources, killing hwmod dependency.
> 398          *   If pdev->num_resources > 0, we assume that MEM & IRQ resources
> 399          *   have been allocated by OF layer already (through DTB).
> 400          *   As preparation for the future we examine the OF provided resources
> 401          *   to see if we have DMA resources provided already. In this case
> 402          *   there is no need to update the resources for the device, we use the
> 403          *   OF provided ones.
> 404          *
> 405          * TODO: Once DMA resource is available from OF layer, we should
> 406          *   kill filling any resources from hwmod.
> 407          */

Ok thanks, we'll add it in.
 
> > 
> > > I will test the whole patch series today and update you.
> > 
> I just booted up the EVM with all the patches you have submitted recently,
> There are two issues I can see,
> 
> 1. Stack dump from MMC driver.
> This happens because you do not have "interrupt" property mentioned
> In the dts file. I have added "interrupt" property and dump went away.
> 
> 2. And MMC rootFS mount is __not__ working for me.
> 
> 3. I get following error message - 
> 
> [    2.118207] omap_hsmmc mmc.3: unable to obtain RX DMA engine channel 25

See below, you don't have CONFIG_EDMA on most likely.

> I haven’t debugged it yet, just thought I should report it before 
> Proceeding further.
> 
> 
> Boot Log:
> ======================================
> 
> U-Boot# mmc rescan 0
> U-Boot# fatload mmc 0 82000000 uImage
> reading uImage
> 4026992 bytes read in 441 ms (8.7 MiB/s)
> U-Boot# fatload mmc 0 81000000 am335x-evm.dtb
> reading am335x-evm.dtb
> 11371 bytes read in 10 ms (1.1 MiB/s)
> U-Boot# run mmcargs
> U-Boot# bootm 82000000 - 81000000
> ## Booting kernel from Legacy Image at 82000000 ...
>    Image Name:   Linux
>    Image Type:   ARM Linux Kernel Image (uncompressed)
>    Data Size:    4026928 Bytes = 3.8 MiB
>    Load Address: 80008000
>    Entry Point:  80008000
>    Verifying Checksum ... OK
> ## Flattened Device Tree blob at 81000000
>    Booting using the fdt blob at 0x81000000
>    Loading Kernel Image ... OK
> OK
>    Using Device Tree in place at 81000000, end 81005c6a
> 
> Starting kernel ...
> 
> [    0.000000] Booting Linux on physical CPU 0x0
> [    0.000000] Linux version 3.9.0-rc1-00122-g106e3c6 (XXX@psplinux064) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #2 SMP Thu Mar 7 16:57:39 IST 2013
> [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
> [    0.000000] Machine: Generic AM33XX (Flattened Device Tree), model: TI AM335x EVM
> [    0.000000] cma: CMA: reserved 16 MiB at ae800000
> [    0.000000] Memory policy: ECC disabled, Data cache writeback
> [    0.000000] CPU: All CPU(s) started in SVC mode.
> [    0.000000] AM335X ES2.0 (neon )
> [    0.000000] PERCPU: Embedded 9 pages/cpu @c181d000 s13632 r8192 d15040 u36864
> [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260368
> [    0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext3 rootwait ip=none
> [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
> [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
> [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
> [    0.000000] __ex_table already sorted, skipping sort
> [    0.000000] Memory: 1023MB = 1023MB total
> [    0.000000] Memory: 1008260k/1008260k available, 40316k reserved, 269312K highmem
> [    0.000000] Virtual kernel memory layout:
> [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
> [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
> [    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
> [    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
> [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
> [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
> [    0.000000]       .text : 0xc0008000 - 0xc071fa34   (7263 kB)
> [    0.000000]       .init : 0xc0720000 - 0xc0775540   ( 342 kB)
> [    0.000000]       .data : 0xc0776000 - 0xc080f0e0   ( 613 kB)
> [    0.000000]        .bss : 0xc080f0e0 - 0xc0d6a348   (5485 kB)
> [    0.000000] Hierarchical RCU implementation.
> [    0.000000]  RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.
> [    0.000000] NR_IRQS:16 nr_irqs:16 16
> [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
> [    0.000000] Total of 128 interrupts on 1 active controller
> [    0.000000] OMAP clockevent source: GPTIMER1 at 24000000 Hz
> [    0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
> [    0.000000] OMAP clocksource: GPTIMER2 at 24000000 Hz
> [    0.000000] Console: colour dummy device 80x30
> [    0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
> [    0.000000] ... MAX_LOCKDEP_SUBCLASSES:  8
> [    0.000000] ... MAX_LOCK_DEPTH:          48
> [    0.000000] ... MAX_LOCKDEP_KEYS:        8191
> [    0.000000] ... CLASSHASH_SIZE:          4096
> [    0.000000] ... MAX_LOCKDEP_ENTRIES:     16384
> [    0.000000] ... MAX_LOCKDEP_CHAINS:      32768
> [    0.000000] ... CHAINHASH_SIZE:          16384
> [    0.000000]  memory used by lock dependency info: 3695 kB
> [    0.000000]  per task-struct memory footprint: 1152 bytes
> [    0.000989] Calibrating delay loop... 530.84 BogoMIPS (lpj=2654208)
> [    0.109762] pid_max: default: 32768 minimum: 301
> [    0.110250] Security Framework initialized
> [    0.110399] Mount-cache hash table entries: 512
> [    0.121898] CPU: Testing write buffer coherency: ok
> [    0.123398] CPU0: thread -1, cpu 0, socket -1, mpidr 0
> [    0.123476] Setting up static identity map for 0xc0510518 - 0xc0510588
> [    0.126105] Brought up 1 CPUs
> [    0.126130] SMP: Total of 1 processors activated (530.84 BogoMIPS).
> [    0.126142] CPU: All CPU(s) started in SVC mode.
> [    0.129134] devtmpfs: initialized
> [    0.199323] pinctrl core: initialized pinctrl subsystem
> [    0.205505] regulator-dummy: no parameters
> [    0.209247] NET: Registered protocol family 16
> [    0.217051] DMA: preallocated 256 KiB pool for atomic coherent allocations
> [    0.236271] platform 49000000.edma: alias fck already exists
> [    0.236311] platform 49000000.edma: alias fck already exists
> [    0.236333] platform 49000000.edma: alias fck already exists

This is from the private edma api.

> [    0.241486] OMAP GPIO hardware version 0.1
> [    0.265045] No ATAGs?
> [    0.265073] hw-breakpoint: debug architecture 0x4 unsupported.
> [    0.271061] Serial: AMBA PL011 UART driver
> [    0.329077] bio: create slab <bio-0> at 0
> [    0.406141] omap-dma-engine omap-dma-engine: OMAP DMA engine driver

Only OMAP dmaengine driver appears to be built in.

> [    0.408010] vbat: 5000 mV
> [    0.409244] lis3_reg: no parameters
> [    0.417237] SCSI subsystem initialized
> [    0.419384] usbcore: registered new interface driver usbfs
> [    0.420409] usbcore: registered new interface driver hub
> [    0.421312] usbcore: registered new device driver usb
> [    0.423218] omap_i2c 44e0b000.i2c: did not get pins for i2c error: -19
> [    0.425064] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
> [    0.427105] tps65910 0-002d: No interrupt support, no core IRQ
> [    0.433470] vrtc: 1800 mV
> [    0.433880] vrtc: supplied by vbat
> [    0.437014] vio: at 1500 mV
> [    0.437157] vio: supplied by vbat
> [    0.440177] vdd_mpu: 912 <--> 1312 mV at 1262 mV
> [    0.440331] vdd_mpu: supplied by vbat
> [    0.443151] vdd_core: 912 <--> 1150 mV at 1137 mV
> [    0.443293] vdd_core: supplied by vbat
> [    0.445806] vdd3: 5000 mV
> [    0.448346] vdig1: at 1800 mV
> [    0.448486] vdig1: supplied by vbat
> [    0.451824] vdig2: at 1800 mV
> [    0.451967] vdig2: supplied by vbat
> [    0.454524] vpll: at 1800 mV
> [    0.454652] vpll: supplied by vbat
> [    0.457185] vdac: at 1800 mV
> [    0.457311] vdac: supplied by vbat
> [    0.459975] vaux1: at 1800 mV
> [    0.460112] vaux1: supplied by vbat
> [    0.462698] vaux2: at 3300 mV
> [    0.462830] vaux2: supplied by vbat
> [    0.465339] vaux33: at 3300 mV
> [    0.465466] vaux33: supplied by vbat
> [    0.467947] vmmc:  omap_i2c 4802a000.i2c: did not get pins for i2c error: -19
> [    0.471641] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
> [    0.482881] Switching to clocksource gp_timer
> [    0.607600] NET: Registered protocol family 2
> [    0.609603] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
> [    0.609956] TCP bind hash table entries: 8192 (order: 6, 294912 bytes)
> [    0.613521] TCP: Hash tables configured (established 8192 bind 8192)
> [    0.613821] TCP: reno registered
> [    0.613863] UDP hash table entries: 512 (order: 3, 40960 bytes)
> [    0.614323] UDP-Lite hash table entries: 512 (order: 3, 40960 bytes)
> [    0.615553] NET: Registered protocol family 1
> [    0.617700] RPC: Registered named UNIX socket transport module.
> [    0.617727] RPC: Registered udp transport module.
> [    0.617739] RPC: Registered tcp transport module.
> [    0.617752] RPC: Registered tcp NFSv4.1 backchannel transport module.
> [    0.618827] NetWinder Floating Point Emulator V0.97 (double precision)
> [    0.619316] CPU PMU: probing PMU on CPU 0
> [    0.619350] hw perfevents: enabled with ARMv7 Cortex-A8 PMU driver, 5 counters available
> [    0.776940] bounce pool size: 64 pages
> [    0.777782] VFS: Disk quotas dquot_6.5.2
> [    0.777995] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
> [    0.780682] NFS: Registering the id_resolver key type
> [    0.781239] Key type id_resolver registered
> [    0.781263] Key type id_legacy registered
> [    0.781406] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
> [    0.781933] msgmni has been set to 1475
> [    0.785529] io scheduler noop registered
> [    0.785553] io scheduler deadline registered
> [    0.785652] io scheduler cfq registered (default)
> [    0.787072] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
> [    0.791600] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> [    0.798575] omap_uart 44e09000.serial: did not get pins for uart0 error: -19
> [    0.799200] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88) is a OMAP UART0
> [    1.549008] console [ttyO0] enabled
> [    1.586206] brd: module loaded
> [    1.608954] loop: module loaded
> [    1.617979] mtdoops: mtd device (mtddev=name/number) must be supplied
> [    1.626230] OneNAND driver initializing
> [    1.636711] usbcore: registered new interface driver asix
> [    1.642874] usbcore: registered new interface driver ax88179_178a
> [    1.650170] usbcore: registered new interface driver cdc_ether
> [    1.657216] usbcore: registered new interface driver smsc95xx
> [    1.663954] usbcore: registered new interface driver net1080
> [    1.670358] usbcore: registered new interface driver cdc_subset
> [    1.677253] usbcore: registered new interface driver zaurus
> [    1.683851] usbcore: registered new interface driver cdc_ncm
> [    1.691998] usbcore: registered new interface driver cdc_wdm
> [    1.698149] Initializing USB Mass Storage driver...
> [    1.703927] usbcore: registered new interface driver usb-storage
> [    1.710287] USB Mass Storage support registered.
> [    1.715804] usbcore: registered new interface driver usbtest
> [    1.724258] mousedev: PS/2 mouse device common for all mice
> [    1.735860] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
> [    1.745083] i2c /dev entries driver
> [    1.751902] Driver for 1-wire Dallas network protocol.
> [    1.762053] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
> [    1.773746] omap-dma-engine omap-dma-engine: allocating channel for 25

Because the EDMA DMA engine driver isn't active, the driver tries to use
the OMAP DMA engine driver.

> [    1.780741] BUG: spinlock bad magic on CPU#0, swapper/0/1
> [    1.786477]  lock: dma_chan_lock+0x0/0x20, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0
> [    1.795523] [<c001acb8>] (unwind_backtrace+0x0/0xf0) from [<c02d4838>] (do_raw_spin_lock+0x15c/0x19c)
> [    1.805284] [<c02d4838>] (do_raw_spin_lock+0x15c/0x19c) from [<c050a93c>] (_raw_spin_lock_irqsave+0x4c/0x58)
> [    1.815692] [<c050a93c>] (_raw_spin_lock_irqsave+0x4c/0x58) from [<c0040450>] (omap_request_dma+0x24/0x1b8)
> [    1.826014] [<c0040450>] (omap_request_dma+0x24/0x1b8) from [<c02ffca8>] (omap_dma_alloc_chan_resources+0x3c/0x50)
> [    1.836970] [<c02ffca8>] (omap_dma_alloc_chan_resources+0x3c/0x50) from [<c02fdfc8>] (dma_chan_get+0x5c/0xfc)
> [    1.847457] [<c02fdfc8>] (dma_chan_get+0x5c/0xfc) from [<c02fe6fc>] (__dma_request_channel+0xfc/0x1c0)
> [    1.857322] [<c02fe6fc>] (__dma_request_channel+0xfc/0x1c0) from [<c0422398>] (omap_hsmmc_probe+0x38c/0x908)
> [    1.867732] [<c0422398>] (omap_hsmmc_probe+0x38c/0x908) from [<c0339dc4>] (platform_drv_probe+0x18/0x1c)
> [    1.877767] [<c0339dc4>] (platform_drv_probe+0x18/0x1c) from [<c0338a68>] (really_probe+0x74/0x200)
> [    1.887342] [<c0338a68>] (really_probe+0x74/0x200) from [<c0338d0c>] (driver_probe_device+0x30/0x48)
> [    1.897010] [<c0338d0c>] (driver_probe_device+0x30/0x48) from [<c0338db8>] (__driver_attach+0x94/0x98)
> [    1.906860] [<c0338db8>] (__driver_attach+0x94/0x98) from [<c0337424>] (bus_for_each_dev+0x64/0x88)
> [    1.916433] [<c0337424>] (bus_for_each_dev+0x64/0x88) from [<c03383a8>] (bus_add_driver+0x1c0/0x240)
> [    1.926098] [<c03383a8>] (bus_add_driver+0x1c0/0x240) from [<c03392ec>] (driver_register+0x78/0x144)
> [    1.935758] [<c03392ec>] (driver_register+0x78/0x144) from [<c00086a4>] (do_one_initcall+0x34/0x180)
> [    1.945432] [<c00086a4>] (do_one_initcall+0x34/0x180) from [<c07208f8>] (kernel_init_freeable+0xfc/0x1c8)
> [    1.955553] [<c07208f8>] (kernel_init_freeable+0xfc/0x1c8) from [<c0502664>] (kernel_init+0x8/0xe4)
> [    1.965139] [<c0502664>] (kernel_init+0x8/0xe4) from [<c00133f0>] (ret_from_fork+0x14/0x24)
> [    1.974061] omap_hsmmc mmc.3: unable to obtain RX DMA engine channel 25
> [    1.982218] ledtrig-cpu: registered to indicate activity on CPUs
> [    1.989997] usbcore: registered new interface driver usbhid
> [    1.995997] usbhid: USB HID core driver
> [    2.001076] oprofile: using arm/armv7
> [    2.005481] TCP: cubic registered
> [    2.008992] Initializing XFRM netlink socket
> [    2.013601] NET: Registered protocol family 17
> [    2.018370] NET: Registered protocol family 15
> [    2.023292] Key type dns_resolver registered
> [    2.027918] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
> [    2.036074] ThumbEE CPU extension supported.
> [    2.103314] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
> [    2.109789] davinci_mdio 4a101000.mdio: detected phy mask fffffffe
> [    2.117400] libphy: 4a101000.mdio: probed
> [    2.121661] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver unknown
> [    2.130442] Random MACID = aa:e0:1c:4f:40:25
> [    2.137280] of_get_named_gpio_flags exited with status 2
> [    2.143115] of_get_named_gpio_flags exited with status 3
> [    2.149951] input: volume_keys.7 as /devices/volume_keys.7/input/input0
> [    2.158349] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:01 UTC (946684801)
> [    2.168602] Waiting for root device /dev/mmcblk0p2...
> 
> 
> Thanks.
> Vaibhav
> _______________________________________________
> devicetree-discuss mailing list
> devicetree-discuss@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/devicetree-discuss
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Matt Porter March 7, 2013, 2:51 p.m. UTC | #5
On Thu, Mar 07, 2013 at 09:46:56AM -0500, Matt Porter wrote:
> On Thu, Mar 07, 2013 at 02:39:55PM +0000, Vaibhav Hiremath wrote:
> > 2. And MMC rootFS mount is __not__ working for me.
> > 
> > 3. I get following error message - 
> > 
> > [    2.118207] omap_hsmmc mmc.3: unable to obtain RX DMA engine channel 25
> 
> See below, you don't have CONFIG_EDMA on most likely.

That's CONFIG_TI_EDMA, of course.

-Matt
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Vaibhav Hiremath March 7, 2013, 2:53 p.m. UTC | #6
> -----Original Message-----

> From: Matt Porter [mailto:ohiomdp@gmail.com] On Behalf Of Porter, Matt

> Sent: Thursday, March 07, 2013 8:17 PM

> To: Hiremath, Vaibhav

> Cc: Linux OMAP List; Russell King; Krishnamoorthy, Balaji T; Devicetree

> Discuss; Linux MMC List; Linux Kernel Mailing List; Chris Ball; Linux

> ARM Kernel List

> Subject: Re: [PATCH 2/2] ARM: dts: add AM33XX MMC support

> 

> On Thu, Mar 07, 2013 at 02:39:55PM +0000, Vaibhav Hiremath wrote:

> >

> > > -----Original Message-----

> > > From: Matt Porter [mailto:ohiomdp@gmail.com] On Behalf Of Porter,

> Matt

> > > Sent: Thursday, March 07, 2013 7:43 PM

> > > To: Hiremath, Vaibhav

> > > Cc: Krishnamoorthy, Balaji T; Chris Ball; Cousson, Benoit; Tony

> > > Lindgren; Russell King; Devicetree Discuss; Linux ARM Kernel List;

> > > Linux OMAP List; Linux Kernel Mailing List; Linux MMC List

> > > Subject: Re: [PATCH 2/2] ARM: dts: add AM33XX MMC support

> > >

> > > On Thu, Mar 07, 2013 at 05:29:24AM +0000, Vaibhav Hiremath wrote:

> > > > > -----Original Message-----

> > > > > From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-

> > > > > owner@vger.kernel.org] On Behalf Of Porter, Matt

> > > > > Sent: Thursday, March 07, 2013 9:47 AM

> > > > > To: Krishnamoorthy, Balaji T; Chris Ball; Cousson, Benoit; Tony

> > > > > Lindgren; Russell King

> > > > > Cc: Devicetree Discuss; Linux ARM Kernel List; Linux OMAP List;

> > > Linux

> > > > > Kernel Mailing List; Linux MMC List

> > > > > Subject: [PATCH 2/2] ARM: dts: add AM33XX MMC support

> > > > >

> > > > > Adds AM33XX MMC support for am335x-bone, am335x-evm, and

> > > > > am335x-evmsk.

> > > > >

> > > > > Signed-off-by: Matt Porter <mporter@ti.com>

> > > > > Acked-by: Tony Lindgren <tony@atomide.com>

> > > > > ---

> > > > >  arch/arm/boot/dts/am335x-bone.dts  |    7 +++++++

> > > > >  arch/arm/boot/dts/am335x-evm.dts   |    7 +++++++

> > > > >  arch/arm/boot/dts/am335x-evmsk.dts |    7 +++++++

> > > > >  arch/arm/boot/dts/am33xx.dtsi      |   28

> > > ++++++++++++++++++++++++++++

> > > > >  4 files changed, 49 insertions(+)

> > > > >

> > > > > diff --git a/arch/arm/boot/dts/am335x-bone.dts

> > > > > b/arch/arm/boot/dts/am335x-bone.dts

> > > > > index 11b240c..a154ce0 100644

> > > > > --- a/arch/arm/boot/dts/am335x-bone.dts

> > > > > +++ b/arch/arm/boot/dts/am335x-bone.dts

> > > > > @@ -120,6 +120,8 @@

> > > > >  		};

> > > > >

> > > > >  		ldo3_reg: regulator@5 {

> > > > > +			regulator-min-microvolt = <1800000>;

> > > > > +			regulator-max-microvolt = <3300000>;

> > > > >  			regulator-always-on;

> > > > >  		};

> > > > >

> > > > > @@ -136,3 +138,8 @@

> > > > >  &cpsw_emac1 {

> > > > >  	phy_id = <&davinci_mdio>, <1>;

> > > > >  };

> > > > > +

> > > > > +&mmc1 {

> > > > > +	status = "okay";

> > > > > +	vmmc-supply = <&ldo3_reg>;

> > > > > +};

> > > > > diff --git a/arch/arm/boot/dts/am335x-evm.dts

> > > > > b/arch/arm/boot/dts/am335x-evm.dts

> > > > > index d649644..2907da6 100644

> > > > > --- a/arch/arm/boot/dts/am335x-evm.dts

> > > > > +++ b/arch/arm/boot/dts/am335x-evm.dts

> > > > > @@ -232,6 +232,8 @@

> > > > >  		};

> > > > >

> > > > >  		vmmc_reg: regulator@12 {

> > > > > +			regulator-min-microvolt = <1800000>;

> > > > > +			regulator-max-microvolt = <3300000>;

> > > > >  			regulator-always-on;

> > > > >  		};

> > > > >  	};

> > > > > @@ -244,3 +246,8 @@

> > > > >  &cpsw_emac1 {

> > > > >  	phy_id = <&davinci_mdio>, <1>;

> > > > >  };

> > > > > +

> > > > > +&mmc1 {

> > > > > +	status = "okay";

> > > > > +	vmmc-supply = <&vmmc_reg>;

> > > > > +};

> > > > > diff --git a/arch/arm/boot/dts/am335x-evmsk.dts

> > > > > b/arch/arm/boot/dts/am335x-evmsk.dts

> > > > > index f5a6162..f050c46 100644

> > > > > --- a/arch/arm/boot/dts/am335x-evmsk.dts

> > > > > +++ b/arch/arm/boot/dts/am335x-evmsk.dts

> > > > > @@ -244,7 +244,14 @@

> > > > >  		};

> > > > >

> > > > >  		vmmc_reg: regulator@12 {

> > > > > +			regulator-min-microvolt = <1800000>;

> > > > > +			regulator-max-microvolt = <3300000>;

> > > > >  			regulator-always-on;

> > > > >  		};

> > > > >  	};

> > > > >  };

> > > > > +

> > > > > +&mmc1 {

> > > > > +	status = "okay";

> > > > > +	vmmc-supply = <&vmmc_reg>;

> > > > > +};

> > > > > diff --git a/arch/arm/boot/dts/am33xx.dtsi

> > > > > b/arch/arm/boot/dts/am33xx.dtsi

> > > > > index c3c781a..e029eea 100644

> > > > > --- a/arch/arm/boot/dts/am33xx.dtsi

> > > > > +++ b/arch/arm/boot/dts/am33xx.dtsi

> > > > > @@ -234,6 +234,34 @@

> > > > >  			status = "disabled";

> > > > >  		};

> > > > >

> > > > > +		mmc1: mmc@48060000 {

> > > > > +			compatible = "ti,omap3-hsmmc";

> > > > > +			ti,hwmods = "mmc1";

> > > > > +			ti,dual-volt;

> > > > > +			ti,needs-special-reset;

> > > > > +			dmas = <&edma 24

> > > > > +				&edma 25>;

> > > > > +			dma-names = "tx", "rx";

> > > > > +			status = "disabled";

> > > > > +		};

> > > > > +

> > > > > +		mmc2: mmc@481d8000 {

> > > > > +			compatible = "ti,omap3-hsmmc";

> > > > > +			ti,hwmods = "mmc2";

> > > > > +			ti,needs-special-reset;

> > > > > +			dmas = <&edma 2

> > > > > +				&edma 3>;

> > > > > +			dma-names = "tx", "rx";

> > > > > +			status = "disabled";

> > > > > +		};

> > > > > +

> > > > > +		mmc3: mmc@47810000 {

> > > > > +			compatible = "ti,omap3-hsmmc";

> > > > > +			ti,hwmods = "mmc3";

> > > > > +			ti,needs-special-reset;

> > > > > +			status = "disabled";

> > > > > +		};

> > > > Any specific reason why you did not add edma entry here as well?

> > >

> > > Yes, I've answered this one before and I think this illustrates a

> need

> > > for a comment in the .dtsi. mmc3 edma event are on the crossbar and

> so

> > > the event that will be mapped is system-specific. Since Luca is

> still

> > > working on DT support for WiLink, there's no way to show an example

> of

> > > how this is used upstream as that's the only in-kernel user.

> > >

> > > I have a test driver I've cited in the postings that shows how the

> > > crossbar is configured via the board .dts. It doesn't belong in the

> > > .dtsi, however, in this case. When WiLink DT support is ready we

> can

> > > have an entry in the am335x-evmsk.dts that shows this case.

> > >

> > > > Also, I wonder why "interrupt" property is not coming here, I

> > > understand

> > > > That hwmod is filling the gap here; but I would still recommend

> you

> > > to complete

> > > > The DT node, as we only support DT boot.

> > >

> > > Yeah, I only added needed properties so as to not confuse people as

> to

> > > where the interrupt resources are coming from. If you feel strongly

> > > about this I don't have a problem with adding unused data in the

> dts.

> > > I suppose this will help clear things to have a switch away from

> using

> > > the hwmod data.

> >

> > Its not true, if you specify interrupt property in the DTS file

> > It is being used. Please refer to the omap_device.c file. I am

> pasting

> > Comments from code for your reference -

> >

> >

> > 389         /*

> > 390          * Non-DT Boot:

> > 391          *   Here, pdev->num_resources = 0, and we should get all

> the

> > 392          *   resources from hwmod.

> > 393          *

> > 394          * DT Boot:

> > 395          *   OF framework will construct the resource structure

> (currently

> > 396          *   does for MEM & IRQ resource) and we should

> respect/use these

> > 397          *   resources, killing hwmod dependency.

> > 398          *   If pdev->num_resources > 0, we assume that MEM & IRQ

> resources

> > 399          *   have been allocated by OF layer already (through

> DTB).

> > 400          *   As preparation for the future we examine the OF

> provided resources

> > 401          *   to see if we have DMA resources provided already. In

> this case

> > 402          *   there is no need to update the resources for the

> device, we use the

> > 403          *   OF provided ones.

> > 404          *

> > 405          * TODO: Once DMA resource is available from OF layer, we

> should

> > 406          *   kill filling any resources from hwmod.

> > 407          */

> 

> Ok thanks, we'll add it in.

> 

> > >

> > > > I will test the whole patch series today and update you.

> > >

> > I just booted up the EVM with all the patches you have submitted

> recently,

> > There are two issues I can see,

> >

> > 1. Stack dump from MMC driver.

> > This happens because you do not have "interrupt" property mentioned

> > In the dts file. I have added "interrupt" property and dump went

> away.

> >

> > 2. And MMC rootFS mount is __not__ working for me.

> >

> > 3. I get following error message -

> >

> > [    2.118207] omap_hsmmc mmc.3: unable to obtain RX DMA engine

> channel 25

> 

> See below, you don't have CONFIG_EDMA on most likely.

> 


I believe you meant "CONFIG_TI_EDMA" right?

Yes, I just enabled it and the result is still same.



[root@arago /]# dmesg | grep -ir mmc
[    0.506844] vmmc: 1800 <--> 3300 mV at 3300 mV
[    0.506970] vmmc: supplied by vbat
[root@arago /]#
[root@arago /]#
[root@arago /]# dmesg | grep -ir dma
[    0.217063] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.236321] platform 49000000.edma: alias fck already exists
[    0.236360] platform 49000000.edma: alias fck already exists
[    0.236381] platform 49000000.edma: alias fck already exists
[    0.370705] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
[    0.445156] omap-dma-engine omap-dma-engine: OMAP DMA engine driver
[root@arago /]#
[root@arago /]#



Thanks,
Vaibhav

> > I haven’t debugged it yet, just thought I should report it before

> > Proceeding further.

> >

> >

> > Boot Log:

> > ======================================

> >

> > U-Boot# mmc rescan 0

> > U-Boot# fatload mmc 0 82000000 uImage

> > reading uImage

> > 4026992 bytes read in 441 ms (8.7 MiB/s)

> > U-Boot# fatload mmc 0 81000000 am335x-evm.dtb

> > reading am335x-evm.dtb

> > 11371 bytes read in 10 ms (1.1 MiB/s)

> > U-Boot# run mmcargs

> > U-Boot# bootm 82000000 - 81000000

> > ## Booting kernel from Legacy Image at 82000000 ...

> >    Image Name:   Linux

> >    Image Type:   ARM Linux Kernel Image (uncompressed)

> >    Data Size:    4026928 Bytes = 3.8 MiB

> >    Load Address: 80008000

> >    Entry Point:  80008000

> >    Verifying Checksum ... OK

> > ## Flattened Device Tree blob at 81000000

> >    Booting using the fdt blob at 0x81000000

> >    Loading Kernel Image ... OK

> > OK

> >    Using Device Tree in place at 81000000, end 81005c6a

> >

> > Starting kernel ...

> >

> > [    0.000000] Booting Linux on physical CPU 0x0

> > [    0.000000] Linux version 3.9.0-rc1-00122-g106e3c6

> (XXX@psplinux064) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #2

> SMP Thu Mar 7 16:57:39 IST 2013

> > [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7),

> cr=10c53c7d

> > [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing

> instruction cache

> > [    0.000000] Machine: Generic AM33XX (Flattened Device Tree),

> model: TI AM335x EVM

> > [    0.000000] cma: CMA: reserved 16 MiB at ae800000

> > [    0.000000] Memory policy: ECC disabled, Data cache writeback

> > [    0.000000] CPU: All CPU(s) started in SVC mode.

> > [    0.000000] AM335X ES2.0 (neon )

> > [    0.000000] PERCPU: Embedded 9 pages/cpu @c181d000 s13632 r8192

> d15040 u36864

> > [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.

> Total pages: 260368

> > [    0.000000] Kernel command line: console=ttyO0,115200n8

> root=/dev/mmcblk0p2 ro rootfstype=ext3 rootwait ip=none

> > [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)

> > [    0.000000] Dentry cache hash table entries: 131072 (order: 7,

> 524288 bytes)

> > [    0.000000] Inode-cache hash table entries: 65536 (order: 6,

> 262144 bytes)

> > [    0.000000] __ex_table already sorted, skipping sort

> > [    0.000000] Memory: 1023MB = 1023MB total

> > [    0.000000] Memory: 1008260k/1008260k available, 40316k reserved,

> 269312K highmem

> > [    0.000000] Virtual kernel memory layout:

> > [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)

> > [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

> > [    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)

> > [    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)

> > [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)

> > [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)

> > [    0.000000]       .text : 0xc0008000 - 0xc071fa34   (7263 kB)

> > [    0.000000]       .init : 0xc0720000 - 0xc0775540   ( 342 kB)

> > [    0.000000]       .data : 0xc0776000 - 0xc080f0e0   ( 613 kB)

> > [    0.000000]        .bss : 0xc080f0e0 - 0xc0d6a348   (5485 kB)

> > [    0.000000] Hierarchical RCU implementation.

> > [    0.000000]  RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.

> > [    0.000000] NR_IRQS:16 nr_irqs:16 16

> > [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with

> 128 interrupts

> > [    0.000000] Total of 128 interrupts on 1 active controller

> > [    0.000000] OMAP clockevent source: GPTIMER1 at 24000000 Hz

> > [    0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps

> every 178956ms

> > [    0.000000] OMAP clocksource: GPTIMER2 at 24000000 Hz

> > [    0.000000] Console: colour dummy device 80x30

> > [    0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat,

> Inc., Ingo Molnar

> > [    0.000000] ... MAX_LOCKDEP_SUBCLASSES:  8

> > [    0.000000] ... MAX_LOCK_DEPTH:          48

> > [    0.000000] ... MAX_LOCKDEP_KEYS:        8191

> > [    0.000000] ... CLASSHASH_SIZE:          4096

> > [    0.000000] ... MAX_LOCKDEP_ENTRIES:     16384

> > [    0.000000] ... MAX_LOCKDEP_CHAINS:      32768

> > [    0.000000] ... CHAINHASH_SIZE:          16384

> > [    0.000000]  memory used by lock dependency info: 3695 kB

> > [    0.000000]  per task-struct memory footprint: 1152 bytes

> > [    0.000989] Calibrating delay loop... 530.84 BogoMIPS

> (lpj=2654208)

> > [    0.109762] pid_max: default: 32768 minimum: 301

> > [    0.110250] Security Framework initialized

> > [    0.110399] Mount-cache hash table entries: 512

> > [    0.121898] CPU: Testing write buffer coherency: ok

> > [    0.123398] CPU0: thread -1, cpu 0, socket -1, mpidr 0

> > [    0.123476] Setting up static identity map for 0xc0510518 -

> 0xc0510588

> > [    0.126105] Brought up 1 CPUs

> > [    0.126130] SMP: Total of 1 processors activated (530.84

> BogoMIPS).

> > [    0.126142] CPU: All CPU(s) started in SVC mode.

> > [    0.129134] devtmpfs: initialized

> > [    0.199323] pinctrl core: initialized pinctrl subsystem

> > [    0.205505] regulator-dummy: no parameters

> > [    0.209247] NET: Registered protocol family 16

> > [    0.217051] DMA: preallocated 256 KiB pool for atomic coherent

> allocations

> > [    0.236271] platform 49000000.edma: alias fck already exists

> > [    0.236311] platform 49000000.edma: alias fck already exists

> > [    0.236333] platform 49000000.edma: alias fck already exists

> 

> This is from the private edma api.

> 

> > [    0.241486] OMAP GPIO hardware version 0.1

> > [    0.265045] No ATAGs?

> > [    0.265073] hw-breakpoint: debug architecture 0x4 unsupported.

> > [    0.271061] Serial: AMBA PL011 UART driver

> > [    0.329077] bio: create slab <bio-0> at 0

> > [    0.406141] omap-dma-engine omap-dma-engine: OMAP DMA engine

> driver

> 

> Only OMAP dmaengine driver appears to be built in.

> 

> > [    0.408010] vbat: 5000 mV

> > [    0.409244] lis3_reg: no parameters

> > [    0.417237] SCSI subsystem initialized

> > [    0.419384] usbcore: registered new interface driver usbfs

> > [    0.420409] usbcore: registered new interface driver hub

> > [    0.421312] usbcore: registered new device driver usb

> > [    0.423218] omap_i2c 44e0b000.i2c: did not get pins for i2c error:

> -19

> > [    0.425064] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz

> > [    0.427105] tps65910 0-002d: No interrupt support, no core IRQ

> > [    0.433470] vrtc: 1800 mV

> > [    0.433880] vrtc: supplied by vbat

> > [    0.437014] vio: at 1500 mV

> > [    0.437157] vio: supplied by vbat

> > [    0.440177] vdd_mpu: 912 <--> 1312 mV at 1262 mV

> > [    0.440331] vdd_mpu: supplied by vbat

> > [    0.443151] vdd_core: 912 <--> 1150 mV at 1137 mV

> > [    0.443293] vdd_core: supplied by vbat

> > [    0.445806] vdd3: 5000 mV

> > [    0.448346] vdig1: at 1800 mV

> > [    0.448486] vdig1: supplied by vbat

> > [    0.451824] vdig2: at 1800 mV

> > [    0.451967] vdig2: supplied by vbat

> > [    0.454524] vpll: at 1800 mV

> > [    0.454652] vpll: supplied by vbat

> > [    0.457185] vdac: at 1800 mV

> > [    0.457311] vdac: supplied by vbat

> > [    0.459975] vaux1: at 1800 mV

> > [    0.460112] vaux1: supplied by vbat

> > [    0.462698] vaux2: at 3300 mV

> > [    0.462830] vaux2: supplied by vbat

> > [    0.465339] vaux33: at 3300 mV

> > [    0.465466] vaux33: supplied by vbat

> > [    0.467947] vmmc:  omap_i2c 4802a000.i2c: did not get pins for i2c

> error: -19

> > [    0.471641] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz

> > [    0.482881] Switching to clocksource gp_timer

> > [    0.607600] NET: Registered protocol family 2

> > [    0.609603] TCP established hash table entries: 8192 (order: 4,

> 65536 bytes)

> > [    0.609956] TCP bind hash table entries: 8192 (order: 6, 294912

> bytes)

> > [    0.613521] TCP: Hash tables configured (established 8192 bind

> 8192)

> > [    0.613821] TCP: reno registered

> > [    0.613863] UDP hash table entries: 512 (order: 3, 40960 bytes)

> > [    0.614323] UDP-Lite hash table entries: 512 (order: 3, 40960

> bytes)

> > [    0.615553] NET: Registered protocol family 1

> > [    0.617700] RPC: Registered named UNIX socket transport module.

> > [    0.617727] RPC: Registered udp transport module.

> > [    0.617739] RPC: Registered tcp transport module.

> > [    0.617752] RPC: Registered tcp NFSv4.1 backchannel transport

> module.

> > [    0.618827] NetWinder Floating Point Emulator V0.97 (double

> precision)

> > [    0.619316] CPU PMU: probing PMU on CPU 0

> > [    0.619350] hw perfevents: enabled with ARMv7 Cortex-A8 PMU

> driver, 5 counters available

> > [    0.776940] bounce pool size: 64 pages

> > [    0.777782] VFS: Disk quotas dquot_6.5.2

> > [    0.777995] Dquot-cache hash table entries: 1024 (order 0, 4096

> bytes)

> > [    0.780682] NFS: Registering the id_resolver key type

> > [    0.781239] Key type id_resolver registered

> > [    0.781263] Key type id_legacy registered

> > [    0.781406] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red

> Hat, Inc.

> > [    0.781933] msgmni has been set to 1475

> > [    0.785529] io scheduler noop registered

> > [    0.785553] io scheduler deadline registered

> > [    0.785652] io scheduler cfq registered (default)

> > [    0.787072] pinctrl-single 44e10800.pinmux: 142 pins at pa

> f9e10800 size 568

> > [    0.791600] Serial: 8250/16550 driver, 4 ports, IRQ sharing

> enabled

> > [    0.798575] omap_uart 44e09000.serial: did not get pins for uart0

> error: -19

> > [    0.799200] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88)

> is a OMAP UART0

> > [    1.549008] console [ttyO0] enabled

> > [    1.586206] brd: module loaded

> > [    1.608954] loop: module loaded

> > [    1.617979] mtdoops: mtd device (mtddev=name/number) must be

> supplied

> > [    1.626230] OneNAND driver initializing

> > [    1.636711] usbcore: registered new interface driver asix

> > [    1.642874] usbcore: registered new interface driver ax88179_178a

> > [    1.650170] usbcore: registered new interface driver cdc_ether

> > [    1.657216] usbcore: registered new interface driver smsc95xx

> > [    1.663954] usbcore: registered new interface driver net1080

> > [    1.670358] usbcore: registered new interface driver cdc_subset

> > [    1.677253] usbcore: registered new interface driver zaurus

> > [    1.683851] usbcore: registered new interface driver cdc_ncm

> > [    1.691998] usbcore: registered new interface driver cdc_wdm

> > [    1.698149] Initializing USB Mass Storage driver...

> > [    1.703927] usbcore: registered new interface driver usb-storage

> > [    1.710287] USB Mass Storage support registered.

> > [    1.715804] usbcore: registered new interface driver usbtest

> > [    1.724258] mousedev: PS/2 mouse device common for all mice

> > [    1.735860] omap_rtc 44e3e000.rtc: rtc core: registered

> 44e3e000.rtc as rtc0

> > [    1.745083] i2c /dev entries driver

> > [    1.751902] Driver for 1-wire Dallas network protocol.

> > [    1.762053] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial

> timeout 60 sec

> > [    1.773746] omap-dma-engine omap-dma-engine: allocating channel

> for 25

> 

> Because the EDMA DMA engine driver isn't active, the driver tries to

> use

> the OMAP DMA engine driver.

> 

> > [    1.780741] BUG: spinlock bad magic on CPU#0, swapper/0/1

> > [    1.786477]  lock: dma_chan_lock+0x0/0x20, .magic: 00000000,

> .owner: <none>/-1, .owner_cpu: 0

> > [    1.795523] [<c001acb8>] (unwind_backtrace+0x0/0xf0) from

> [<c02d4838>] (do_raw_spin_lock+0x15c/0x19c)

> > [    1.805284] [<c02d4838>] (do_raw_spin_lock+0x15c/0x19c) from

> [<c050a93c>] (_raw_spin_lock_irqsave+0x4c/0x58)

> > [    1.815692] [<c050a93c>] (_raw_spin_lock_irqsave+0x4c/0x58) from

> [<c0040450>] (omap_request_dma+0x24/0x1b8)

> > [    1.826014] [<c0040450>] (omap_request_dma+0x24/0x1b8) from

> [<c02ffca8>] (omap_dma_alloc_chan_resources+0x3c/0x50)

> > [    1.836970] [<c02ffca8>] (omap_dma_alloc_chan_resources+0x3c/0x50)

> from [<c02fdfc8>] (dma_chan_get+0x5c/0xfc)

> > [    1.847457] [<c02fdfc8>] (dma_chan_get+0x5c/0xfc) from

> [<c02fe6fc>] (__dma_request_channel+0xfc/0x1c0)

> > [    1.857322] [<c02fe6fc>] (__dma_request_channel+0xfc/0x1c0) from

> [<c0422398>] (omap_hsmmc_probe+0x38c/0x908)

> > [    1.867732] [<c0422398>] (omap_hsmmc_probe+0x38c/0x908) from

> [<c0339dc4>] (platform_drv_probe+0x18/0x1c)

> > [    1.877767] [<c0339dc4>] (platform_drv_probe+0x18/0x1c) from

> [<c0338a68>] (really_probe+0x74/0x200)

> > [    1.887342] [<c0338a68>] (really_probe+0x74/0x200) from

> [<c0338d0c>] (driver_probe_device+0x30/0x48)

> > [    1.897010] [<c0338d0c>] (driver_probe_device+0x30/0x48) from

> [<c0338db8>] (__driver_attach+0x94/0x98)

> > [    1.906860] [<c0338db8>] (__driver_attach+0x94/0x98) from

> [<c0337424>] (bus_for_each_dev+0x64/0x88)

> > [    1.916433] [<c0337424>] (bus_for_each_dev+0x64/0x88) from

> [<c03383a8>] (bus_add_driver+0x1c0/0x240)

> > [    1.926098] [<c03383a8>] (bus_add_driver+0x1c0/0x240) from

> [<c03392ec>] (driver_register+0x78/0x144)

> > [    1.935758] [<c03392ec>] (driver_register+0x78/0x144) from

> [<c00086a4>] (do_one_initcall+0x34/0x180)

> > [    1.945432] [<c00086a4>] (do_one_initcall+0x34/0x180) from

> [<c07208f8>] (kernel_init_freeable+0xfc/0x1c8)

> > [    1.955553] [<c07208f8>] (kernel_init_freeable+0xfc/0x1c8) from

> [<c0502664>] (kernel_init+0x8/0xe4)

> > [    1.965139] [<c0502664>] (kernel_init+0x8/0xe4) from [<c00133f0>]

> (ret_from_fork+0x14/0x24)

> > [    1.974061] omap_hsmmc mmc.3: unable to obtain RX DMA engine

> channel 25

> > [    1.982218] ledtrig-cpu: registered to indicate activity on CPUs

> > [    1.989997] usbcore: registered new interface driver usbhid

> > [    1.995997] usbhid: USB HID core driver

> > [    2.001076] oprofile: using arm/armv7

> > [    2.005481] TCP: cubic registered

> > [    2.008992] Initializing XFRM netlink socket

> > [    2.013601] NET: Registered protocol family 17

> > [    2.018370] NET: Registered protocol family 15

> > [    2.023292] Key type dns_resolver registered

> > [    2.027918] VFP support v0.3: implementor 41 architecture 3 part

> 30 variant c rev 3

> > [    2.036074] ThumbEE CPU extension supported.

> > [    2.103314] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6

> > [    2.109789] davinci_mdio 4a101000.mdio: detected phy mask fffffffe

> > [    2.117400] libphy: 4a101000.mdio: probed

> > [    2.121661] davinci_mdio 4a101000.mdio: phy[0]: device

> 4a101000.mdio:00, driver unknown

> > [    2.130442] Random MACID = aa:e0:1c:4f:40:25

> > [    2.137280] of_get_named_gpio_flags exited with status 2

> > [    2.143115] of_get_named_gpio_flags exited with status 3

> > [    2.149951] input: volume_keys.7 as

> /devices/volume_keys.7/input/input0

> > [    2.158349] omap_rtc 44e3e000.rtc: setting system clock to 2000-

> 01-01 00:00:01 UTC (946684801)

> > [    2.168602] Waiting for root device /dev/mmcblk0p2...

> >

> >

> > Thanks.

> > Vaibhav

> > _______________________________________________

> > devicetree-discuss mailing list

> > devicetree-discuss@lists.ozlabs.org

> > https://lists.ozlabs.org/listinfo/devicetree-discuss
Vaibhav Hiremath March 7, 2013, 2:59 p.m. UTC | #7
DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEhpcmVtYXRoLCBWYWliaGF2
DQo+IFNlbnQ6IFRodXJzZGF5LCBNYXJjaCAwNywgMjAxMyA4OjI0IFBNDQo+IFRvOiBQb3J0ZXIs
IE1hdHQNCj4gQ2M6IExpbnV4IE9NQVAgTGlzdDsgUnVzc2VsbCBLaW5nOyBLcmlzaG5hbW9vcnRo
eSwgQmFsYWppIFQ7IERldmljZXRyZWUNCj4gRGlzY3VzczsgTGludXggTU1DIExpc3Q7IExpbnV4
IEtlcm5lbCBNYWlsaW5nIExpc3Q7IENocmlzIEJhbGw7IExpbnV4DQo+IEFSTSBLZXJuZWwgTGlz
dA0KPiBTdWJqZWN0OiBSRTogW1BBVENIIDIvMl0gQVJNOiBkdHM6IGFkZCBBTTMzWFggTU1DIHN1
cHBvcnQNCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBNYXR0
IFBvcnRlciBbbWFpbHRvOm9oaW9tZHBAZ21haWwuY29tXSBPbiBCZWhhbGYgT2YgUG9ydGVyLA0K
PiBNYXR0DQo+ID4gU2VudDogVGh1cnNkYXksIE1hcmNoIDA3LCAyMDEzIDg6MTcgUE0NCj4gPiBU
bzogSGlyZW1hdGgsIFZhaWJoYXYNCj4gPiBDYzogTGludXggT01BUCBMaXN0OyBSdXNzZWxsIEtp
bmc7IEtyaXNobmFtb29ydGh5LCBCYWxhamkgVDsNCj4gRGV2aWNldHJlZQ0KPiA+IERpc2N1c3M7
IExpbnV4IE1NQyBMaXN0OyBMaW51eCBLZXJuZWwgTWFpbGluZyBMaXN0OyBDaHJpcyBCYWxsOyBM
aW51eA0KPiA+IEFSTSBLZXJuZWwgTGlzdA0KPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMi8yXSBB
Uk06IGR0czogYWRkIEFNMzNYWCBNTUMgc3VwcG9ydA0KPiA+DQo+ID4gT24gVGh1LCBNYXIgMDcs
IDIwMTMgYXQgMDI6Mzk6NTVQTSArMDAwMCwgVmFpYmhhdiBIaXJlbWF0aCB3cm90ZToNCj4gPiA+
DQo+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+IEZyb206IE1hdHQg
UG9ydGVyIFttYWlsdG86b2hpb21kcEBnbWFpbC5jb21dIE9uIEJlaGFsZiBPZiBQb3J0ZXIsDQo+
ID4gTWF0dA0KPiA+ID4gPiBTZW50OiBUaHVyc2RheSwgTWFyY2ggMDcsIDIwMTMgNzo0MyBQTQ0K
PiA+ID4gPiBUbzogSGlyZW1hdGgsIFZhaWJoYXYNCj4gPiA+ID4gQ2M6IEtyaXNobmFtb29ydGh5
LCBCYWxhamkgVDsgQ2hyaXMgQmFsbDsgQ291c3NvbiwgQmVub2l0OyBUb255DQo+ID4gPiA+IExp
bmRncmVuOyBSdXNzZWxsIEtpbmc7IERldmljZXRyZWUgRGlzY3VzczsgTGludXggQVJNIEtlcm5l
bA0KPiBMaXN0Ow0KPiA+ID4gPiBMaW51eCBPTUFQIExpc3Q7IExpbnV4IEtlcm5lbCBNYWlsaW5n
IExpc3Q7IExpbnV4IE1NQyBMaXN0DQo+ID4gPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMi8yXSBB
Uk06IGR0czogYWRkIEFNMzNYWCBNTUMgc3VwcG9ydA0KPiA+ID4gPg0KPiA+ID4gPiBPbiBUaHUs
IE1hciAwNywgMjAxMyBhdCAwNToyOToyNEFNICswMDAwLCBWYWliaGF2IEhpcmVtYXRoIHdyb3Rl
Og0KPiA+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiA+IEZy
b206IGxpbnV4LW9tYXAtb3duZXJAdmdlci5rZXJuZWwub3JnIFttYWlsdG86bGludXgtb21hcC0N
Cj4gPiA+ID4gPiA+IG93bmVyQHZnZXIua2VybmVsLm9yZ10gT24gQmVoYWxmIE9mIFBvcnRlciwg
TWF0dA0KPiA+ID4gPiA+ID4gU2VudDogVGh1cnNkYXksIE1hcmNoIDA3LCAyMDEzIDk6NDcgQU0N
Cj4gPiA+ID4gPiA+IFRvOiBLcmlzaG5hbW9vcnRoeSwgQmFsYWppIFQ7IENocmlzIEJhbGw7IENv
dXNzb24sIEJlbm9pdDsNCj4gVG9ueQ0KPiA+ID4gPiA+ID4gTGluZGdyZW47IFJ1c3NlbGwgS2lu
Zw0KPiA+ID4gPiA+ID4gQ2M6IERldmljZXRyZWUgRGlzY3VzczsgTGludXggQVJNIEtlcm5lbCBM
aXN0OyBMaW51eCBPTUFQDQo+IExpc3Q7DQo+ID4gPiA+IExpbnV4DQo+ID4gPiA+ID4gPiBLZXJu
ZWwgTWFpbGluZyBMaXN0OyBMaW51eCBNTUMgTGlzdA0KPiA+ID4gPiA+ID4gU3ViamVjdDogW1BB
VENIIDIvMl0gQVJNOiBkdHM6IGFkZCBBTTMzWFggTU1DIHN1cHBvcnQNCj4gPiA+ID4gPiA+DQo8
c25pcD4NCj4gDQo+IEkgYmVsaWV2ZSB5b3UgbWVhbnQgIkNPTkZJR19USV9FRE1BIiByaWdodD8N
Cj4gDQo+IFllcywgSSBqdXN0IGVuYWJsZWQgaXQgYW5kIHRoZSByZXN1bHQgaXMgc3RpbGwgc2Ft
ZS4NCj4gDQo+IA0KPiANCj4gW3Jvb3RAYXJhZ28gL10jIGRtZXNnIHwgZ3JlcCAtaXIgbW1jDQo+
IFsgICAgMC41MDY4NDRdIHZtbWM6IDE4MDAgPC0tPiAzMzAwIG1WIGF0IDMzMDAgbVYNCj4gWyAg
ICAwLjUwNjk3MF0gdm1tYzogc3VwcGxpZWQgYnkgdmJhdA0KPiBbcm9vdEBhcmFnbyAvXSMNCj4g
W3Jvb3RAYXJhZ28gL10jDQo+IFtyb290QGFyYWdvIC9dIyBkbWVzZyB8IGdyZXAgLWlyIGRtYQ0K
PiBbICAgIDAuMjE3MDYzXSBETUE6IHByZWFsbG9jYXRlZCAyNTYgS2lCIHBvb2wgZm9yIGF0b21p
YyBjb2hlcmVudA0KPiBhbGxvY2F0aW9ucw0KPiBbICAgIDAuMjM2MzIxXSBwbGF0Zm9ybSA0OTAw
MDAwMC5lZG1hOiBhbGlhcyBmY2sgYWxyZWFkeSBleGlzdHMNCj4gWyAgICAwLjIzNjM2MF0gcGxh
dGZvcm0gNDkwMDAwMDAuZWRtYTogYWxpYXMgZmNrIGFscmVhZHkgZXhpc3RzDQo+IFsgICAgMC4y
MzYzODFdIHBsYXRmb3JtIDQ5MDAwMDAwLmVkbWE6IGFsaWFzIGZjayBhbHJlYWR5IGV4aXN0cw0K
PiBbICAgIDAuMzcwNzA1XSBlZG1hLWRtYS1lbmdpbmUgZWRtYS1kbWEtZW5naW5lLjA6IFRJIEVE
TUEgRE1BIGVuZ2luZQ0KPiBkcml2ZXINCj4gWyAgICAwLjQ0NTE1Nl0gb21hcC1kbWEtZW5naW5l
IG9tYXAtZG1hLWVuZ2luZTogT01BUCBETUEgZW5naW5lIGRyaXZlcg0KPiBbcm9vdEBhcmFnbyAv
XSMNCj4gW3Jvb3RAYXJhZ28gL10jDQo+IA0KPiANCkkgaGF2ZSBhcHBsaWVkIGJlbG93IHBhdGNo
ZXMgZnJvbSB5b3VyIHJlY2VudCBwb3N0DQoNCg0KWzIvMl0gQVJNOiBkdHM6IGFkZCBBTTMzWFgg
TU1DIHN1cHBvcnQgCQ0KWzEvMl0gbW1jOiBvbWFwX2hzbW1jOiBzZXQgbWF4X3NlZ3MgYmFzZWQg
b24gZG1hIGVuZ2luZSBsaW1pdHMgCQ0KW3Y0LDMvM10gbW1jOiBkYXZpbmNpOiBnZXQgU0cgc2Vn
bWVudCBsaW1pdHMgd2l0aCBkbWFfZ2V0X3NsYXZlX3NnX2xpbWl0cygpDQpbdjQsMi8zXSBkbWE6
IGVkbWE6IGFkZCBkZXZpY2Vfc2xhdmVfc2dfbGltaXRzKCkgc3VwcG9ydCANClt2NCwxLzNdIGRt
YWVuZ2luZTogYWRkIGRtYV9nZXRfc2xhdmVfc2dfbGltaXRzKCkNClt2OSw5LzldIEFSTTogZHRz
OiBhZGQgQU0zM1hYIFNQSSBETUEgc3VwcG9ydA0KW3Y5LDgvOV0gc3BpOiBvbWFwMi1tY3NwaTog
YWRkIGdlbmVyaWMgRE1BIHJlcXVlc3Qgc3VwcG9ydCB0byB0aGUgRFQgYmluZGluZw0KW3Y5LDcv
OV0gc3BpOiBvbWFwMi1tY3NwaTogY29udmVydCB0byBkbWFfcmVxdWVzdF9zbGF2ZV9jaGFubmVs
X2NvbXBhdCgpIA0KW3Y5LDYvOV0gQVJNOiBkdHM6IGFkZCBBTTMzWFggRURNQSBzdXBwb3J0IA0K
W3Y5LDUvOV0gZG1hZW5naW5lOiBlZG1hOiBBZGQgVEkgRURNQSBkZXZpY2UgdHJlZSBiaW5kaW5n
DQpbdjksNC85XSBkbWFlbmdpbmU6IGVkbWE6IGVuYWJsZSBidWlsZCBmb3IgQU0zM1hYDQpbdjks
My85XSBBUk06IGVkbWE6IGFkZCBBTTMzWFggc3VwcG9ydCB0byB0aGUgcHJpdmF0ZSBFRE1BIEFQ
SQ0KW3Y5LDIvOV0gQVJNOiBlZG1hOiByZW1vdmUgdW51c2VkIHRyYW5zZmVyIGNvbnRyb2xsZXIg
aGFuZGxlcnMNClt2OSwxLzldIEFSTTogZGF2aW5jaTogbW92ZSBwcml2YXRlIEVETUEgQVBJIHRv
IGFybS9jb21tb24NClt2MywyLzJdIG1tYzogb21hcF9oc21tYzogYWRkIGdlbmVyaWMgRE1BIHJl
cXVlc3Qgc3VwcG9ydCB0byB0aGUgRFQgYmluZGluZw0KW3YzLDEvMl0gbW1jOiBvbWFwX2hzbW1j
OiBjb252ZXJ0IHRvIGRtYV9yZXF1ZXN0X3NsYXZlX2NoYW5uZWxfY29tcGF0KCkNCg0KDQoNCkFt
IEkgbWlzc2luZyBhbnl0aGluZyBoZXJlPw0KDQpUaGFua3MsDQpWYWliaGF2DQoNCg0K
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Matt Porter March 7, 2013, 3 p.m. UTC | #8
On Thu, Mar 07, 2013 at 02:53:51PM +0000, Vaibhav Hiremath wrote:
> > -----Original Message-----
> > From: Matt Porter [mailto:ohiomdp@gmail.com] On Behalf Of Porter, Matt
> > Sent: Thursday, March 07, 2013 8:17 PM
> > To: Hiremath, Vaibhav
> > Cc: Linux OMAP List; Russell King; Krishnamoorthy, Balaji T; Devicetree
> > Discuss; Linux MMC List; Linux Kernel Mailing List; Chris Ball; Linux
> > ARM Kernel List
> > Subject: Re: [PATCH 2/2] ARM: dts: add AM33XX MMC support
> > 
> > On Thu, Mar 07, 2013 at 02:39:55PM +0000, Vaibhav Hiremath wrote:
> > >
> > > > -----Original Message-----
> > > > From: Matt Porter [mailto:ohiomdp@gmail.com] On Behalf Of Porter,
> > Matt
> > > > Sent: Thursday, March 07, 2013 7:43 PM
> > > > To: Hiremath, Vaibhav
> > > > Cc: Krishnamoorthy, Balaji T; Chris Ball; Cousson, Benoit; Tony
> > > > Lindgren; Russell King; Devicetree Discuss; Linux ARM Kernel List;
> > > > Linux OMAP List; Linux Kernel Mailing List; Linux MMC List
> > > > Subject: Re: [PATCH 2/2] ARM: dts: add AM33XX MMC support
> > > >
> > > > On Thu, Mar 07, 2013 at 05:29:24AM +0000, Vaibhav Hiremath wrote:
> > > > > > -----Original Message-----
> > > > > > From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
> > > > > > owner@vger.kernel.org] On Behalf Of Porter, Matt
> > > > > > Sent: Thursday, March 07, 2013 9:47 AM
> > > > > > To: Krishnamoorthy, Balaji T; Chris Ball; Cousson, Benoit; Tony
> > > > > > Lindgren; Russell King
> > > > > > Cc: Devicetree Discuss; Linux ARM Kernel List; Linux OMAP List;
> > > > Linux
> > > > > > Kernel Mailing List; Linux MMC List
> > > > > > Subject: [PATCH 2/2] ARM: dts: add AM33XX MMC support
> > > > > >
> > > > > > Adds AM33XX MMC support for am335x-bone, am335x-evm, and
> > > > > > am335x-evmsk.
> > > > > >
> > > > > > Signed-off-by: Matt Porter <mporter@ti.com>
> > > > > > Acked-by: Tony Lindgren <tony@atomide.com>
> > > > > > ---
> > > > > >  arch/arm/boot/dts/am335x-bone.dts  |    7 +++++++
> > > > > >  arch/arm/boot/dts/am335x-evm.dts   |    7 +++++++
> > > > > >  arch/arm/boot/dts/am335x-evmsk.dts |    7 +++++++
> > > > > >  arch/arm/boot/dts/am33xx.dtsi      |   28
> > > > ++++++++++++++++++++++++++++
> > > > > >  4 files changed, 49 insertions(+)
> > > > > >
> > > > > > diff --git a/arch/arm/boot/dts/am335x-bone.dts
> > > > > > b/arch/arm/boot/dts/am335x-bone.dts
> > > > > > index 11b240c..a154ce0 100644
> > > > > > --- a/arch/arm/boot/dts/am335x-bone.dts
> > > > > > +++ b/arch/arm/boot/dts/am335x-bone.dts
> > > > > > @@ -120,6 +120,8 @@
> > > > > >  		};
> > > > > >
> > > > > >  		ldo3_reg: regulator@5 {
> > > > > > +			regulator-min-microvolt = <1800000>;
> > > > > > +			regulator-max-microvolt = <3300000>;
> > > > > >  			regulator-always-on;
> > > > > >  		};
> > > > > >
> > > > > > @@ -136,3 +138,8 @@
> > > > > >  &cpsw_emac1 {
> > > > > >  	phy_id = <&davinci_mdio>, <1>;
> > > > > >  };
> > > > > > +
> > > > > > +&mmc1 {
> > > > > > +	status = "okay";
> > > > > > +	vmmc-supply = <&ldo3_reg>;
> > > > > > +};
> > > > > > diff --git a/arch/arm/boot/dts/am335x-evm.dts
> > > > > > b/arch/arm/boot/dts/am335x-evm.dts
> > > > > > index d649644..2907da6 100644
> > > > > > --- a/arch/arm/boot/dts/am335x-evm.dts
> > > > > > +++ b/arch/arm/boot/dts/am335x-evm.dts
> > > > > > @@ -232,6 +232,8 @@
> > > > > >  		};
> > > > > >
> > > > > >  		vmmc_reg: regulator@12 {
> > > > > > +			regulator-min-microvolt = <1800000>;
> > > > > > +			regulator-max-microvolt = <3300000>;
> > > > > >  			regulator-always-on;
> > > > > >  		};
> > > > > >  	};
> > > > > > @@ -244,3 +246,8 @@
> > > > > >  &cpsw_emac1 {
> > > > > >  	phy_id = <&davinci_mdio>, <1>;
> > > > > >  };
> > > > > > +
> > > > > > +&mmc1 {
> > > > > > +	status = "okay";
> > > > > > +	vmmc-supply = <&vmmc_reg>;
> > > > > > +};
> > > > > > diff --git a/arch/arm/boot/dts/am335x-evmsk.dts
> > > > > > b/arch/arm/boot/dts/am335x-evmsk.dts
> > > > > > index f5a6162..f050c46 100644
> > > > > > --- a/arch/arm/boot/dts/am335x-evmsk.dts
> > > > > > +++ b/arch/arm/boot/dts/am335x-evmsk.dts
> > > > > > @@ -244,7 +244,14 @@
> > > > > >  		};
> > > > > >
> > > > > >  		vmmc_reg: regulator@12 {
> > > > > > +			regulator-min-microvolt = <1800000>;
> > > > > > +			regulator-max-microvolt = <3300000>;
> > > > > >  			regulator-always-on;
> > > > > >  		};
> > > > > >  	};
> > > > > >  };
> > > > > > +
> > > > > > +&mmc1 {
> > > > > > +	status = "okay";
> > > > > > +	vmmc-supply = <&vmmc_reg>;
> > > > > > +};
> > > > > > diff --git a/arch/arm/boot/dts/am33xx.dtsi
> > > > > > b/arch/arm/boot/dts/am33xx.dtsi
> > > > > > index c3c781a..e029eea 100644
> > > > > > --- a/arch/arm/boot/dts/am33xx.dtsi
> > > > > > +++ b/arch/arm/boot/dts/am33xx.dtsi
> > > > > > @@ -234,6 +234,34 @@
> > > > > >  			status = "disabled";
> > > > > >  		};
> > > > > >
> > > > > > +		mmc1: mmc@48060000 {
> > > > > > +			compatible = "ti,omap3-hsmmc";
> > > > > > +			ti,hwmods = "mmc1";
> > > > > > +			ti,dual-volt;
> > > > > > +			ti,needs-special-reset;
> > > > > > +			dmas = <&edma 24
> > > > > > +				&edma 25>;
> > > > > > +			dma-names = "tx", "rx";
> > > > > > +			status = "disabled";
> > > > > > +		};
> > > > > > +
> > > > > > +		mmc2: mmc@481d8000 {
> > > > > > +			compatible = "ti,omap3-hsmmc";
> > > > > > +			ti,hwmods = "mmc2";
> > > > > > +			ti,needs-special-reset;
> > > > > > +			dmas = <&edma 2
> > > > > > +				&edma 3>;
> > > > > > +			dma-names = "tx", "rx";
> > > > > > +			status = "disabled";
> > > > > > +		};
> > > > > > +
> > > > > > +		mmc3: mmc@47810000 {
> > > > > > +			compatible = "ti,omap3-hsmmc";
> > > > > > +			ti,hwmods = "mmc3";
> > > > > > +			ti,needs-special-reset;
> > > > > > +			status = "disabled";
> > > > > > +		};
> > > > > Any specific reason why you did not add edma entry here as well?
> > > >
> > > > Yes, I've answered this one before and I think this illustrates a
> > need
> > > > for a comment in the .dtsi. mmc3 edma event are on the crossbar and
> > so
> > > > the event that will be mapped is system-specific. Since Luca is
> > still
> > > > working on DT support for WiLink, there's no way to show an example
> > of
> > > > how this is used upstream as that's the only in-kernel user.
> > > >
> > > > I have a test driver I've cited in the postings that shows how the
> > > > crossbar is configured via the board .dts. It doesn't belong in the
> > > > .dtsi, however, in this case. When WiLink DT support is ready we
> > can
> > > > have an entry in the am335x-evmsk.dts that shows this case.
> > > >
> > > > > Also, I wonder why "interrupt" property is not coming here, I
> > > > understand
> > > > > That hwmod is filling the gap here; but I would still recommend
> > you
> > > > to complete
> > > > > The DT node, as we only support DT boot.
> > > >
> > > > Yeah, I only added needed properties so as to not confuse people as
> > to
> > > > where the interrupt resources are coming from. If you feel strongly
> > > > about this I don't have a problem with adding unused data in the
> > dts.
> > > > I suppose this will help clear things to have a switch away from
> > using
> > > > the hwmod data.
> > >
> > > Its not true, if you specify interrupt property in the DTS file
> > > It is being used. Please refer to the omap_device.c file. I am
> > pasting
> > > Comments from code for your reference -
> > >
> > >
> > > 389         /*
> > > 390          * Non-DT Boot:
> > > 391          *   Here, pdev->num_resources = 0, and we should get all
> > the
> > > 392          *   resources from hwmod.
> > > 393          *
> > > 394          * DT Boot:
> > > 395          *   OF framework will construct the resource structure
> > (currently
> > > 396          *   does for MEM & IRQ resource) and we should
> > respect/use these
> > > 397          *   resources, killing hwmod dependency.
> > > 398          *   If pdev->num_resources > 0, we assume that MEM & IRQ
> > resources
> > > 399          *   have been allocated by OF layer already (through
> > DTB).
> > > 400          *   As preparation for the future we examine the OF
> > provided resources
> > > 401          *   to see if we have DMA resources provided already. In
> > this case
> > > 402          *   there is no need to update the resources for the
> > device, we use the
> > > 403          *   OF provided ones.
> > > 404          *
> > > 405          * TODO: Once DMA resource is available from OF layer, we
> > should
> > > 406          *   kill filling any resources from hwmod.
> > > 407          */
> > 
> > Ok thanks, we'll add it in.
> > 
> > > >
> > > > > I will test the whole patch series today and update you.
> > > >
> > > I just booted up the EVM with all the patches you have submitted
> > recently,
> > > There are two issues I can see,
> > >
> > > 1. Stack dump from MMC driver.
> > > This happens because you do not have "interrupt" property mentioned
> > > In the dts file. I have added "interrupt" property and dump went
> > away.
> > >
> > > 2. And MMC rootFS mount is __not__ working for me.
> > >
> > > 3. I get following error message -
> > >
> > > [    2.118207] omap_hsmmc mmc.3: unable to obtain RX DMA engine
> > channel 25
> > 
> > See below, you don't have CONFIG_EDMA on most likely.
> > 
> 
> I believe you meant "CONFIG_TI_EDMA" right?
> 
> Yes, I just enabled it and the result is still same.

yeah, followed up to correct that.

> 
> 
> 
> [root@arago /]# dmesg | grep -ir mmc
> [    0.506844] vmmc: 1800 <--> 3300 mV at 3300 mV
> [    0.506970] vmmc: supplied by vbat
> [root@arago /]#
> [root@arago /]#
> [root@arago /]# dmesg | grep -ir dma
> [    0.217063] DMA: preallocated 256 KiB pool for atomic coherent allocations
> [    0.236321] platform 49000000.edma: alias fck already exists
> [    0.236360] platform 49000000.edma: alias fck already exists
> [    0.236381] platform 49000000.edma: alias fck already exists
> [    0.370705] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
> [    0.445156] omap-dma-engine omap-dma-engine: OMAP DMA engine driver
> [root@arago /]#
> [root@arago /]#

What's the full log now? At least that fragment you show me is better,
you now have the correct dmaengine driver active.

-Matt

> > > Boot Log:
> > > ======================================
> > >
> > > U-Boot# mmc rescan 0
> > > U-Boot# fatload mmc 0 82000000 uImage
> > > reading uImage
> > > 4026992 bytes read in 441 ms (8.7 MiB/s)
> > > U-Boot# fatload mmc 0 81000000 am335x-evm.dtb
> > > reading am335x-evm.dtb
> > > 11371 bytes read in 10 ms (1.1 MiB/s)
> > > U-Boot# run mmcargs
> > > U-Boot# bootm 82000000 - 81000000
> > > ## Booting kernel from Legacy Image at 82000000 ...
> > >    Image Name:   Linux
> > >    Image Type:   ARM Linux Kernel Image (uncompressed)
> > >    Data Size:    4026928 Bytes = 3.8 MiB
> > >    Load Address: 80008000
> > >    Entry Point:  80008000
> > >    Verifying Checksum ... OK
> > > ## Flattened Device Tree blob at 81000000
> > >    Booting using the fdt blob at 0x81000000
> > >    Loading Kernel Image ... OK
> > > OK
> > >    Using Device Tree in place at 81000000, end 81005c6a
> > >
> > > Starting kernel ...
> > >
> > > [    0.000000] Booting Linux on physical CPU 0x0
> > > [    0.000000] Linux version 3.9.0-rc1-00122-g106e3c6
> > (XXX@psplinux064) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #2
> > SMP Thu Mar 7 16:57:39 IST 2013
> > > [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7),
> > cr=10c53c7d
> > > [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing
> > instruction cache
> > > [    0.000000] Machine: Generic AM33XX (Flattened Device Tree),
> > model: TI AM335x EVM
> > > [    0.000000] cma: CMA: reserved 16 MiB at ae800000
> > > [    0.000000] Memory policy: ECC disabled, Data cache writeback
> > > [    0.000000] CPU: All CPU(s) started in SVC mode.
> > > [    0.000000] AM335X ES2.0 (neon )
> > > [    0.000000] PERCPU: Embedded 9 pages/cpu @c181d000 s13632 r8192
> > d15040 u36864
> > > [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.
> > Total pages: 260368
> > > [    0.000000] Kernel command line: console=ttyO0,115200n8
> > root=/dev/mmcblk0p2 ro rootfstype=ext3 rootwait ip=none
> > > [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
> > > [    0.000000] Dentry cache hash table entries: 131072 (order: 7,
> > 524288 bytes)
> > > [    0.000000] Inode-cache hash table entries: 65536 (order: 6,
> > 262144 bytes)
> > > [    0.000000] __ex_table already sorted, skipping sort
> > > [    0.000000] Memory: 1023MB = 1023MB total
> > > [    0.000000] Memory: 1008260k/1008260k available, 40316k reserved,
> > 269312K highmem
> > > [    0.000000] Virtual kernel memory layout:
> > > [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
> > > [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
> > > [    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
> > > [    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
> > > [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
> > > [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
> > > [    0.000000]       .text : 0xc0008000 - 0xc071fa34   (7263 kB)
> > > [    0.000000]       .init : 0xc0720000 - 0xc0775540   ( 342 kB)
> > > [    0.000000]       .data : 0xc0776000 - 0xc080f0e0   ( 613 kB)
> > > [    0.000000]        .bss : 0xc080f0e0 - 0xc0d6a348   (5485 kB)
> > > [    0.000000] Hierarchical RCU implementation.
> > > [    0.000000]  RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.
> > > [    0.000000] NR_IRQS:16 nr_irqs:16 16
> > > [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with
> > 128 interrupts
> > > [    0.000000] Total of 128 interrupts on 1 active controller
> > > [    0.000000] OMAP clockevent source: GPTIMER1 at 24000000 Hz
> > > [    0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps
> > every 178956ms
> > > [    0.000000] OMAP clocksource: GPTIMER2 at 24000000 Hz
> > > [    0.000000] Console: colour dummy device 80x30
> > > [    0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat,
> > Inc., Ingo Molnar
> > > [    0.000000] ... MAX_LOCKDEP_SUBCLASSES:  8
> > > [    0.000000] ... MAX_LOCK_DEPTH:          48
> > > [    0.000000] ... MAX_LOCKDEP_KEYS:        8191
> > > [    0.000000] ... CLASSHASH_SIZE:          4096
> > > [    0.000000] ... MAX_LOCKDEP_ENTRIES:     16384
> > > [    0.000000] ... MAX_LOCKDEP_CHAINS:      32768
> > > [    0.000000] ... CHAINHASH_SIZE:          16384
> > > [    0.000000]  memory used by lock dependency info: 3695 kB
> > > [    0.000000]  per task-struct memory footprint: 1152 bytes
> > > [    0.000989] Calibrating delay loop... 530.84 BogoMIPS
> > (lpj=2654208)
> > > [    0.109762] pid_max: default: 32768 minimum: 301
> > > [    0.110250] Security Framework initialized
> > > [    0.110399] Mount-cache hash table entries: 512
> > > [    0.121898] CPU: Testing write buffer coherency: ok
> > > [    0.123398] CPU0: thread -1, cpu 0, socket -1, mpidr 0
> > > [    0.123476] Setting up static identity map for 0xc0510518 -
> > 0xc0510588
> > > [    0.126105] Brought up 1 CPUs
> > > [    0.126130] SMP: Total of 1 processors activated (530.84
> > BogoMIPS).
> > > [    0.126142] CPU: All CPU(s) started in SVC mode.
> > > [    0.129134] devtmpfs: initialized
> > > [    0.199323] pinctrl core: initialized pinctrl subsystem
> > > [    0.205505] regulator-dummy: no parameters
> > > [    0.209247] NET: Registered protocol family 16
> > > [    0.217051] DMA: preallocated 256 KiB pool for atomic coherent
> > allocations
> > > [    0.236271] platform 49000000.edma: alias fck already exists
> > > [    0.236311] platform 49000000.edma: alias fck already exists
> > > [    0.236333] platform 49000000.edma: alias fck already exists
> > 
> > This is from the private edma api.
> > 
> > > [    0.241486] OMAP GPIO hardware version 0.1
> > > [    0.265045] No ATAGs?
> > > [    0.265073] hw-breakpoint: debug architecture 0x4 unsupported.
> > > [    0.271061] Serial: AMBA PL011 UART driver
> > > [    0.329077] bio: create slab <bio-0> at 0
> > > [    0.406141] omap-dma-engine omap-dma-engine: OMAP DMA engine
> > driver
> > 
> > Only OMAP dmaengine driver appears to be built in.
> > 
> > > [    0.408010] vbat: 5000 mV
> > > [    0.409244] lis3_reg: no parameters
> > > [    0.417237] SCSI subsystem initialized
> > > [    0.419384] usbcore: registered new interface driver usbfs
> > > [    0.420409] usbcore: registered new interface driver hub
> > > [    0.421312] usbcore: registered new device driver usb
> > > [    0.423218] omap_i2c 44e0b000.i2c: did not get pins for i2c error:
> > -19
> > > [    0.425064] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
> > > [    0.427105] tps65910 0-002d: No interrupt support, no core IRQ
> > > [    0.433470] vrtc: 1800 mV
> > > [    0.433880] vrtc: supplied by vbat
> > > [    0.437014] vio: at 1500 mV
> > > [    0.437157] vio: supplied by vbat
> > > [    0.440177] vdd_mpu: 912 <--> 1312 mV at 1262 mV
> > > [    0.440331] vdd_mpu: supplied by vbat
> > > [    0.443151] vdd_core: 912 <--> 1150 mV at 1137 mV
> > > [    0.443293] vdd_core: supplied by vbat
> > > [    0.445806] vdd3: 5000 mV
> > > [    0.448346] vdig1: at 1800 mV
> > > [    0.448486] vdig1: supplied by vbat
> > > [    0.451824] vdig2: at 1800 mV
> > > [    0.451967] vdig2: supplied by vbat
> > > [    0.454524] vpll: at 1800 mV
> > > [    0.454652] vpll: supplied by vbat
> > > [    0.457185] vdac: at 1800 mV
> > > [    0.457311] vdac: supplied by vbat
> > > [    0.459975] vaux1: at 1800 mV
> > > [    0.460112] vaux1: supplied by vbat
> > > [    0.462698] vaux2: at 3300 mV
> > > [    0.462830] vaux2: supplied by vbat
> > > [    0.465339] vaux33: at 3300 mV
> > > [    0.465466] vaux33: supplied by vbat
> > > [    0.467947] vmmc:  omap_i2c 4802a000.i2c: did not get pins for i2c
> > error: -19
> > > [    0.471641] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
> > > [    0.482881] Switching to clocksource gp_timer
> > > [    0.607600] NET: Registered protocol family 2
> > > [    0.609603] TCP established hash table entries: 8192 (order: 4,
> > 65536 bytes)
> > > [    0.609956] TCP bind hash table entries: 8192 (order: 6, 294912
> > bytes)
> > > [    0.613521] TCP: Hash tables configured (established 8192 bind
> > 8192)
> > > [    0.613821] TCP: reno registered
> > > [    0.613863] UDP hash table entries: 512 (order: 3, 40960 bytes)
> > > [    0.614323] UDP-Lite hash table entries: 512 (order: 3, 40960
> > bytes)
> > > [    0.615553] NET: Registered protocol family 1
> > > [    0.617700] RPC: Registered named UNIX socket transport module.
> > > [    0.617727] RPC: Registered udp transport module.
> > > [    0.617739] RPC: Registered tcp transport module.
> > > [    0.617752] RPC: Registered tcp NFSv4.1 backchannel transport
> > module.
> > > [    0.618827] NetWinder Floating Point Emulator V0.97 (double
> > precision)
> > > [    0.619316] CPU PMU: probing PMU on CPU 0
> > > [    0.619350] hw perfevents: enabled with ARMv7 Cortex-A8 PMU
> > driver, 5 counters available
> > > [    0.776940] bounce pool size: 64 pages
> > > [    0.777782] VFS: Disk quotas dquot_6.5.2
> > > [    0.777995] Dquot-cache hash table entries: 1024 (order 0, 4096
> > bytes)
> > > [    0.780682] NFS: Registering the id_resolver key type
> > > [    0.781239] Key type id_resolver registered
> > > [    0.781263] Key type id_legacy registered
> > > [    0.781406] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red
> > Hat, Inc.
> > > [    0.781933] msgmni has been set to 1475
> > > [    0.785529] io scheduler noop registered
> > > [    0.785553] io scheduler deadline registered
> > > [    0.785652] io scheduler cfq registered (default)
> > > [    0.787072] pinctrl-single 44e10800.pinmux: 142 pins at pa
> > f9e10800 size 568
> > > [    0.791600] Serial: 8250/16550 driver, 4 ports, IRQ sharing
> > enabled
> > > [    0.798575] omap_uart 44e09000.serial: did not get pins for uart0
> > error: -19
> > > [    0.799200] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88)
> > is a OMAP UART0
> > > [    1.549008] console [ttyO0] enabled
> > > [    1.586206] brd: module loaded
> > > [    1.608954] loop: module loaded
> > > [    1.617979] mtdoops: mtd device (mtddev=name/number) must be
> > supplied
> > > [    1.626230] OneNAND driver initializing
> > > [    1.636711] usbcore: registered new interface driver asix
> > > [    1.642874] usbcore: registered new interface driver ax88179_178a
> > > [    1.650170] usbcore: registered new interface driver cdc_ether
> > > [    1.657216] usbcore: registered new interface driver smsc95xx
> > > [    1.663954] usbcore: registered new interface driver net1080
> > > [    1.670358] usbcore: registered new interface driver cdc_subset
> > > [    1.677253] usbcore: registered new interface driver zaurus
> > > [    1.683851] usbcore: registered new interface driver cdc_ncm
> > > [    1.691998] usbcore: registered new interface driver cdc_wdm
> > > [    1.698149] Initializing USB Mass Storage driver...
> > > [    1.703927] usbcore: registered new interface driver usb-storage
> > > [    1.710287] USB Mass Storage support registered.
> > > [    1.715804] usbcore: registered new interface driver usbtest
> > > [    1.724258] mousedev: PS/2 mouse device common for all mice
> > > [    1.735860] omap_rtc 44e3e000.rtc: rtc core: registered
> > 44e3e000.rtc as rtc0
> > > [    1.745083] i2c /dev entries driver
> > > [    1.751902] Driver for 1-wire Dallas network protocol.
> > > [    1.762053] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial
> > timeout 60 sec
> > > [    1.773746] omap-dma-engine omap-dma-engine: allocating channel
> > for 25
> > 
> > Because the EDMA DMA engine driver isn't active, the driver tries to
> > use
> > the OMAP DMA engine driver.
> > 
> > > [    1.780741] BUG: spinlock bad magic on CPU#0, swapper/0/1
> > > [    1.786477]  lock: dma_chan_lock+0x0/0x20, .magic: 00000000,
> > .owner: <none>/-1, .owner_cpu: 0
> > > [    1.795523] [<c001acb8>] (unwind_backtrace+0x0/0xf0) from
> > [<c02d4838>] (do_raw_spin_lock+0x15c/0x19c)
> > > [    1.805284] [<c02d4838>] (do_raw_spin_lock+0x15c/0x19c) from
> > [<c050a93c>] (_raw_spin_lock_irqsave+0x4c/0x58)
> > > [    1.815692] [<c050a93c>] (_raw_spin_lock_irqsave+0x4c/0x58) from
> > [<c0040450>] (omap_request_dma+0x24/0x1b8)
> > > [    1.826014] [<c0040450>] (omap_request_dma+0x24/0x1b8) from
> > [<c02ffca8>] (omap_dma_alloc_chan_resources+0x3c/0x50)
> > > [    1.836970] [<c02ffca8>] (omap_dma_alloc_chan_resources+0x3c/0x50)
> > from [<c02fdfc8>] (dma_chan_get+0x5c/0xfc)
> > > [    1.847457] [<c02fdfc8>] (dma_chan_get+0x5c/0xfc) from
> > [<c02fe6fc>] (__dma_request_channel+0xfc/0x1c0)
> > > [    1.857322] [<c02fe6fc>] (__dma_request_channel+0xfc/0x1c0) from
> > [<c0422398>] (omap_hsmmc_probe+0x38c/0x908)
> > > [    1.867732] [<c0422398>] (omap_hsmmc_probe+0x38c/0x908) from
> > [<c0339dc4>] (platform_drv_probe+0x18/0x1c)
> > > [    1.877767] [<c0339dc4>] (platform_drv_probe+0x18/0x1c) from
> > [<c0338a68>] (really_probe+0x74/0x200)
> > > [    1.887342] [<c0338a68>] (really_probe+0x74/0x200) from
> > [<c0338d0c>] (driver_probe_device+0x30/0x48)
> > > [    1.897010] [<c0338d0c>] (driver_probe_device+0x30/0x48) from
> > [<c0338db8>] (__driver_attach+0x94/0x98)
> > > [    1.906860] [<c0338db8>] (__driver_attach+0x94/0x98) from
> > [<c0337424>] (bus_for_each_dev+0x64/0x88)
> > > [    1.916433] [<c0337424>] (bus_for_each_dev+0x64/0x88) from
> > [<c03383a8>] (bus_add_driver+0x1c0/0x240)
> > > [    1.926098] [<c03383a8>] (bus_add_driver+0x1c0/0x240) from
> > [<c03392ec>] (driver_register+0x78/0x144)
> > > [    1.935758] [<c03392ec>] (driver_register+0x78/0x144) from
> > [<c00086a4>] (do_one_initcall+0x34/0x180)
> > > [    1.945432] [<c00086a4>] (do_one_initcall+0x34/0x180) from
> > [<c07208f8>] (kernel_init_freeable+0xfc/0x1c8)
> > > [    1.955553] [<c07208f8>] (kernel_init_freeable+0xfc/0x1c8) from
> > [<c0502664>] (kernel_init+0x8/0xe4)
> > > [    1.965139] [<c0502664>] (kernel_init+0x8/0xe4) from [<c00133f0>]
> > (ret_from_fork+0x14/0x24)
> > > [    1.974061] omap_hsmmc mmc.3: unable to obtain RX DMA engine
> > channel 25
> > > [    1.982218] ledtrig-cpu: registered to indicate activity on CPUs
> > > [    1.989997] usbcore: registered new interface driver usbhid
> > > [    1.995997] usbhid: USB HID core driver
> > > [    2.001076] oprofile: using arm/armv7
> > > [    2.005481] TCP: cubic registered
> > > [    2.008992] Initializing XFRM netlink socket
> > > [    2.013601] NET: Registered protocol family 17
> > > [    2.018370] NET: Registered protocol family 15
> > > [    2.023292] Key type dns_resolver registered
> > > [    2.027918] VFP support v0.3: implementor 41 architecture 3 part
> > 30 variant c rev 3
> > > [    2.036074] ThumbEE CPU extension supported.
> > > [    2.103314] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
> > > [    2.109789] davinci_mdio 4a101000.mdio: detected phy mask fffffffe
> > > [    2.117400] libphy: 4a101000.mdio: probed
> > > [    2.121661] davinci_mdio 4a101000.mdio: phy[0]: device
> > 4a101000.mdio:00, driver unknown
> > > [    2.130442] Random MACID = aa:e0:1c:4f:40:25
> > > [    2.137280] of_get_named_gpio_flags exited with status 2
> > > [    2.143115] of_get_named_gpio_flags exited with status 3
> > > [    2.149951] input: volume_keys.7 as
> > /devices/volume_keys.7/input/input0
> > > [    2.158349] omap_rtc 44e3e000.rtc: setting system clock to 2000-
> > 01-01 00:00:01 UTC (946684801)
> > > [    2.168602] Waiting for root device /dev/mmcblk0p2...
> > >
> > >
> > > Thanks.
> > > Vaibhav
> > > _______________________________________________
> > > devicetree-discuss mailing list
> > > devicetree-discuss@lists.ozlabs.org
> > > https://lists.ozlabs.org/listinfo/devicetree-discuss
> _______________________________________________
> devicetree-discuss mailing list
> devicetree-discuss@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/devicetree-discuss
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Vaibhav Hiremath March 7, 2013, 3:03 p.m. UTC | #9
> -----Original Message-----
> From: Matt Porter [mailto:ohiomdp@gmail.com] On Behalf Of Porter, Matt
> Sent: Thursday, March 07, 2013 8:31 PM
> To: Hiremath, Vaibhav
> Cc: Chris Ball; Russell King; Krishnamoorthy, Balaji T; Devicetree
> Discuss; Linux MMC List; Linux Kernel Mailing List; Linux OMAP List;
> Linux ARM Kernel List
> Subject: Re: [PATCH 2/2] ARM: dts: add AM33XX MMC support
> 
> On Thu, Mar 07, 2013 at 02:53:51PM +0000, Vaibhav Hiremath wrote:
> > > -----Original Message-----
> > > From: Matt Porter [mailto:ohiomdp@gmail.com] On Behalf Of Porter,
> Matt
> > > Sent: Thursday, March 07, 2013 8:17 PM
> > > To: Hiremath, Vaibhav
> > > Cc: Linux OMAP List; Russell King; Krishnamoorthy, Balaji T;
> Devicetree
> > > Discuss; Linux MMC List; Linux Kernel Mailing List; Chris Ball;
> Linux
> > > ARM Kernel List
> > > Subject: Re: [PATCH 2/2] ARM: dts: add AM33XX MMC support
> > >
> > > On Thu, Mar 07, 2013 at 02:39:55PM +0000, Vaibhav Hiremath wrote:
> > > >
> > > > > -----Original Message-----
> > > > > From: Matt Porter [mailto:ohiomdp@gmail.com] On Behalf Of
> Porter,
> > > Matt
> > > > > Sent: Thursday, March 07, 2013 7:43 PM
> > > > > To: Hiremath, Vaibhav
> > > > > Cc: Krishnamoorthy, Balaji T; Chris Ball; Cousson, Benoit; Tony
> > > > > Lindgren; Russell King; Devicetree Discuss; Linux ARM Kernel
> List;
> > > > > Linux OMAP List; Linux Kernel Mailing List; Linux MMC List
> > > > > Subject: Re: [PATCH 2/2] ARM: dts: add AM33XX MMC support
> > > > >
> > > > > On Thu, Mar 07, 2013 at 05:29:24AM +0000, Vaibhav Hiremath
> wrote:
> > > > > > > -----Original Message-----
> > > > > > > From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
> > > > > > > owner@vger.kernel.org] On Behalf Of Porter, Matt
> > > > > > > Sent: Thursday, March 07, 2013 9:47 AM
> > > > > > > To: Krishnamoorthy, Balaji T; Chris Ball; Cousson, Benoit;
> Tony
> > > > > > > Lindgren; Russell King
> > > > > > > Cc: Devicetree Discuss; Linux ARM Kernel List; Linux OMAP
> List;
> > > > > Linux
> > > > > > > Kernel Mailing List; Linux MMC List
> > > > > > > Subject: [PATCH 2/2] ARM: dts: add AM33XX MMC support
> > > > > > >
> > > > > > > Adds AM33XX MMC support for am335x-bone, am335x-evm, and
> > > > > > > am335x-evmsk.
> > > > > > >
<snip>
> 
> What's the full log now? At least that fragment you show me is better,
> you now have the correct dmaengine driver active.
> 

Here we go.....


Boot Log:
==========================


U-Boot# mmc rescan 0
U-Boot# fatload mmc 0 80000000 am335x-evm.dtb
reading am335x-evm.dtb
11419 bytes read in 10 ms (1.1 MiB/s)
U-Boot# fatload mmc 0 81000000 uImage
reading uImage
4029168 bytes read in 441 ms (8.7 MiB/s)
U-Boot# fatload mmc 0 82000000 ramdisk.ext2.gz
reading ramdisk.ext2.gz
3274441 bytes read in 363 ms (8.6 MiB/s)
U-Boot# setenv bootargs mem=256M console=ttyO0,115200n8 root=/dev/ram rw initrd=0x82000000,16MB ramdisk_size=65536 earlyprintk=serial omap_debugss_en
U-Boot# bootm 81000000 - 80000000
## Booting kernel from Legacy Image at 81000000 ...
   Image Name:   Linux-3.9.0-rc1-00124-g68f2d92-d
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4029104 Bytes = 3.8 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 80000000
   Booting using the fdt blob at 0x80000000
   Loading Kernel Image ... OK
OK
   Using Device Tree in place at 80000000, end 80005c9a

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.9.0-rc1-00124-g68f2d92-dirty (XXX@psplinux064) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #5 SMP Thu Mar 7 20:19:23 IST 2013
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: Generic AM33XX (Flattened Device Tree), model: TI AM335x EVM
[    0.000000] cma: CMA: reserved 16 MiB at 8e800000
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] AM335X ES2.0 (neon )
[    0.000000] PERCPU: Embedded 9 pages/cpu @c0f75000 s13632 r8192 d15040 u36864
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64768
[    0.000000] Kernel command line: mem=256M console=ttyO0,115200n8 root=/dev/ram rw initrdD hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] __ex_table already sorted, skipping sort
[    0.000000] Memory: 255MB = 255MB total
[    0.000000] Memory: 212236k/212236k available, 49908k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc071fa94   (7263 kB)
[    0.000000]       .init : 0xc0720000 - 0xc0775540   ( 342 kB)
[    0.000000]       .data : 0xc0776000 - 0xc080f120   ( 613 kB)
[    0.000000]        .bss : 0xc080f120 - 0xc0d6a3c8   (5485 kB)
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[    0.000000] Total of 128 interrupts on 1 active controller
[    0.000000] OMAP clockevent source: GPTIMER1 at 24000000 Hz
[    0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[    0.000000] OMAP clocksource: GPTIMER2 at 24000000 Hz
[    0.000000] Console: colour dummy device 80x30
[    0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.000000] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.000000] ... MAX_LOCK_DEPTH:          48
[    0.000000] ... MAX_LOCKDEP_KEYS:        8191
[    0.000000] ... CLASSHASH_SIZE:          4096
[    0.000000] ... MAX_LOCKDEP_ENTRIES:     16384
[    0.000000] ... MAX_LOCKDEP_CHAINS:      32768
[    0.000000] ... CHAINHASH_SIZE:          16384
[    0.000000]  memory used by lock dependency info: 3695 kB
[    0.000000]  per task-struct memory footprint: 1152 bytes
[    0.000973] Calibrating delay loop... 530.84 BogoMIPS (lpj=2654208)
[    0.109762] pid_max: default: 32768 minimum: 301
[    0.110242] Security Framework initialized
[    0.110391] Mount-cache hash table entries: 512
[    0.121881] CPU: Testing write buffer coherency: ok
[    0.123371] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[    0.123454] Setting up static identity map for 0xc0511298 - 0xc0511308
[    0.126104] Brought up 1 CPUs
[    0.126131] SMP: Total of 1 processors activated (530.84 BogoMIPS).
[    0.126142] CPU: All CPU(s) started in SVC mode.
[    0.129122] devtmpfs: initialized
[    0.199318] pinctrl core: initialized pinctrl subsystem
[    0.205542] regulator-dummy: no parameters
[    0.209272] NET: Registered protocol family 16
[    0.217063] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.236321] platform 49000000.edma: alias fck already exists
[    0.236360] platform 49000000.edma: alias fck already exists
[    0.236381] platform 49000000.edma: alias fck already exists
[    0.241540] OMAP GPIO hardware version 0.1
[    0.265323] No ATAGs?
[    0.265352] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.271325] Serial: AMBA PL011 UART driver
[    0.329532] bio: create slab <bio-0> at 0
[    0.370705] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
[    0.445156] omap-dma-engine omap-dma-engine: OMAP DMA engine driver
[    0.447019] vbat: 5000 mV
[    0.448222] lis3_reg: no parameters
[    0.455418] SCSI subsystem initialized
[    0.457564] usbcore: registered new interface driver usbfs
[    0.458063] usbcore: registered new interface driver hub
[    0.458879] usbcore: registered new device driver usb
[    0.461441] omap_i2c 44e0b000.i2c: did not get pins for i2c error: -19
[    0.463319] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[    0.465437] tps65910 0-002d: No interrupt support, no core IRQ
[    0.472111] vrtc: 1800 mV
[    0.472547] vrtc: supplied by vbat
[    0.475632] vio: at 1500 mV
[    0.475778] vio: supplied by vbat
[    0.478599] vdd_mpu: 912 <--> 1312 mV at 1262 mV
[    0.478743] vdd_mpu: supplied by vbat
[    0.482082] vdd_core: 912 <--> 1150 mV at 1137 mV
[    0.482230] vdd_core: supplied by vbat
[    0.484760] vdd3: 5000 mV
[    0.487086] vdig1: at 1800 mV
[    0.487221] vdig1: supplied by vbat
[    0.490215] vdig2: at 1800 mV
[    0.490359] vdig2: supplied by vbat
[    0.492955] vpll: at 1800 mV
[    0.493091] vpll: supplied by vbat
[    0.495657] vdac: at 1800 mV
[    0.496005] vdac: supplied by vbat
[    0.498596] vaux1: at 1800 mV
[    0.498729] vaux1: supplied by vbat
[    0.501589] vaux2: at 3300 mV
[    0.501725] vaux2: supplied by vbat
[    0.504228] vaux33: at 3300 mV
[    0.504358] vaux33: supplied by vbat
[    0.506844] vmmc: 1800 <--> 3300 mV at 3300 mV
[    0.506970] vmmc: supplied by vbat
[    0.509180] omap_i2c 4802a000.i2c: did not get pins for i2c error: -19
[    0.510638] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz
[    0.521697] Switching to clocksource gp_timer
[    0.646383] NET: Registered protocol family 2
[    0.648329] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[    0.648530] TCP bind hash table entries: 2048 (order: 4, 73728 bytes)
[    0.649389] TCP: Hash tables configured (established 2048 bind 2048)
[    0.649630] TCP: reno registered
[    0.649665] UDP hash table entries: 256 (order: 2, 20480 bytes)
[    0.649904] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)
[    0.650752] NET: Registered protocol family 1
[    0.652407] RPC: Registered named UNIX socket transport module.
[    0.652437] RPC: Registered udp transport module.
[    0.652449] RPC: Registered tcp transport module.
[    0.652461] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.653426] Trying to unpack rootfs image as initramfs...
[    0.655395] rootfs image is not initramfs (no cpio magic); looks like an initrd
[    0.766995] Freeing initrd memory: 16384K
[    0.767176] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.767767] CPU PMU: probing PMU on CPU 0
[    0.767810] hw perfevents: enabled with ARMv7 Cortex-A8 PMU driver, 5 counters available
[    0.925141] VFS: Disk quotas dquot_6.5.2
[    0.925367] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.927965] NFS: Registering the id_resolver key type
[    0.928461] Key type id_resolver registered
[    0.928483] Key type id_legacy registered
[    0.928627] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    0.929176] msgmni has been set to 478
[    0.932770] io scheduler noop registered
[    0.932796] io scheduler deadline registered
[    0.932874] io scheduler cfq registered (default)
[    0.934374] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[    0.938963] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.945966] omap_uart 44e09000.serial: did not get pins for uart0 error: -19
[    0.946590] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88) is a OMAP UART0
[    1.721122] console [ttyO0] enabled
[    1.758203] brd: module loaded
[    1.781141] loop: module loaded
[    1.789748] mtdoops: mtd device (mtddev=name/number) must be supplied
[    1.798239] OneNAND driver initializing
[    1.808604] usbcore: registered new interface driver asix
[    1.815144] usbcore: registered new interface driver ax88179_178a
[    1.822040] usbcore: registered new interface driver cdc_ether
[    1.829136] usbcore: registered new interface driver smsc95xx
[    1.835894] usbcore: registered new interface driver net1080
[    1.842462] usbcore: registered new interface driver cdc_subset
[    1.849138] usbcore: registered new interface driver zaurus
[    1.855643] usbcore: registered new interface driver cdc_ncm
[    1.863976] usbcore: registered new interface driver cdc_wdm
[    1.869979] Initializing USB Mass Storage driver...
[    1.875973] usbcore: registered new interface driver usb-storage
[    1.882443] USB Mass Storage support registered.
[    1.887899] usbcore: registered new interface driver usbtest
[    1.896169] mousedev: PS/2 mouse device common for all mice
[    1.907755] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
[    1.916762] i2c /dev entries driver
[    1.924135] Driver for 1-wire Dallas network protocol.
[    1.934385] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[    1.946490] ledtrig-cpu: registered to indicate activity on CPUs
[    1.954496] usbcore: registered new interface driver usbhid
[    1.960405] usbhid: USB HID core driver
[    1.966224] oprofile: using arm/armv7
[    1.970946] TCP: cubic registered
[    1.974660] Initializing XFRM netlink socket
[    1.979378] NET: Registered protocol family 17
[    1.984242] NET: Registered protocol family 15
[    1.989380] Key type dns_resolver registered
[    1.994118] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    2.002377] ThumbEE CPU extension supported.
[    2.072224] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[    2.078701] davinci_mdio 4a101000.mdio: detected phy mask fffffffe
[    2.087773] libphy: 4a101000.mdio: probed
[    2.092038] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver unknown
[    2.101063] Random MACID = ba:43:b8:3c:b7:a4
[    2.111959] input: volume_keys.7 as /devices/volume_keys.7/input/input0
[    2.122621] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
[    2.135543] RAMDISK: gzip image found at block 0
[    2.567331] EXT2-fs (ram0): warning: maximal mount count reached, running e2fsck is recommended
[    2.577192] VFS: Mounted root (ext2 filesystem) on device 1:0.
[    2.584487] devtmpfs: mounted
[    2.588238] Freeing init memory: 340K
mount: mounting none on /var/shm failed: No such file or directory
  ::
  :: Enabling hot-plug  : [SUCCESS]
  ::
  ::
   : Populating /dev    : [SUCCESS]
[SUCCESS]
  ::
  ::
  :: Setting PATH
  ::
   : syslogd            : [SUCCESS]
   : telnetd            : [SUCCESS]

Please press Enter to activate this console.
  ::
  :: Setting shell environment ...
  ::
   : Path
   : Aliases
   : Touch Screen
  ::
  :: Done
  ::
[root@arago /]#
[root@arago /]#
[root@arago /]# ls -l /dev/m
/dev/mem   /dev/mice
[root@arago /]# ls -l /dev/m
/dev/mem   /dev/mice
[root@arago /]# ls -l /dev/m
[root@arago /]#
[root@arago /]#
[root@arago /]#
[root@arago /]# dmesg | grep -ir mmc
[    0.506844] vmmc: 1800 <--> 3300 mV at 3300 mV
[    0.506970] vmmc: supplied by vbat
[root@arago /]#
[root@arago /]#
[root@arago /]# dmesg | grep -ir dma
[    0.217063] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.236321] platform 49000000.edma: alias fck already exists
[    0.236360] platform 49000000.edma: alias fck already exists
[    0.236381] platform 49000000.edma: alias fck already exists
[    0.370705] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
[    0.445156] omap-dma-engine omap-dma-engine: OMAP DMA engine driver
[root@arago /]#
[root@arago /]#


Thanks,
Vaibhav
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Matt Porter March 7, 2013, 3:04 p.m. UTC | #10
On Thu, Mar 07, 2013 at 02:59:42PM +0000, Vaibhav Hiremath wrote:
> 
> > -----Original Message-----
> > From: Hiremath, Vaibhav
> > Sent: Thursday, March 07, 2013 8:24 PM
> > To: Porter, Matt
> > Cc: Linux OMAP List; Russell King; Krishnamoorthy, Balaji T; Devicetree
> > Discuss; Linux MMC List; Linux Kernel Mailing List; Chris Ball; Linux
> > ARM Kernel List
> > Subject: RE: [PATCH 2/2] ARM: dts: add AM33XX MMC support
> > 
> > > -----Original Message-----
> > > From: Matt Porter [mailto:ohiomdp@gmail.com] On Behalf Of Porter,
> > Matt
> > > Sent: Thursday, March 07, 2013 8:17 PM
> > > To: Hiremath, Vaibhav
> > > Cc: Linux OMAP List; Russell King; Krishnamoorthy, Balaji T;
> > Devicetree
> > > Discuss; Linux MMC List; Linux Kernel Mailing List; Chris Ball; Linux
> > > ARM Kernel List
> > > Subject: Re: [PATCH 2/2] ARM: dts: add AM33XX MMC support
> > >
> > > On Thu, Mar 07, 2013 at 02:39:55PM +0000, Vaibhav Hiremath wrote:
> > > >
> > > > > -----Original Message-----
> > > > > From: Matt Porter [mailto:ohiomdp@gmail.com] On Behalf Of Porter,
> > > Matt
> > > > > Sent: Thursday, March 07, 2013 7:43 PM
> > > > > To: Hiremath, Vaibhav
> > > > > Cc: Krishnamoorthy, Balaji T; Chris Ball; Cousson, Benoit; Tony
> > > > > Lindgren; Russell King; Devicetree Discuss; Linux ARM Kernel
> > List;
> > > > > Linux OMAP List; Linux Kernel Mailing List; Linux MMC List
> > > > > Subject: Re: [PATCH 2/2] ARM: dts: add AM33XX MMC support
> > > > >
> > > > > On Thu, Mar 07, 2013 at 05:29:24AM +0000, Vaibhav Hiremath wrote:
> > > > > > > -----Original Message-----
> > > > > > > From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-
> > > > > > > owner@vger.kernel.org] On Behalf Of Porter, Matt
> > > > > > > Sent: Thursday, March 07, 2013 9:47 AM
> > > > > > > To: Krishnamoorthy, Balaji T; Chris Ball; Cousson, Benoit;
> > Tony
> > > > > > > Lindgren; Russell King
> > > > > > > Cc: Devicetree Discuss; Linux ARM Kernel List; Linux OMAP
> > List;
> > > > > Linux
> > > > > > > Kernel Mailing List; Linux MMC List
> > > > > > > Subject: [PATCH 2/2] ARM: dts: add AM33XX MMC support
> > > > > > >
> <snip>
> > 
> > I believe you meant "CONFIG_TI_EDMA" right?
> > 
> > Yes, I just enabled it and the result is still same.
> > 
> > 
> > 
> > [root@arago /]# dmesg | grep -ir mmc
> > [    0.506844] vmmc: 1800 <--> 3300 mV at 3300 mV
> > [    0.506970] vmmc: supplied by vbat
> > [root@arago /]#
> > [root@arago /]#
> > [root@arago /]# dmesg | grep -ir dma
> > [    0.217063] DMA: preallocated 256 KiB pool for atomic coherent
> > allocations
> > [    0.236321] platform 49000000.edma: alias fck already exists
> > [    0.236360] platform 49000000.edma: alias fck already exists
> > [    0.236381] platform 49000000.edma: alias fck already exists
> > [    0.370705] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine
> > driver
> > [    0.445156] omap-dma-engine omap-dma-engine: OMAP DMA engine driver
> > [root@arago /]#
> > [root@arago /]#
> > 
> > 
> I have applied below patches from your recent post
> 
> 
> [2/2] ARM: dts: add AM33XX MMC support 	
> [1/2] mmc: omap_hsmmc: set max_segs based on dma engine limits 	
> [v4,3/3] mmc: davinci: get SG segment limits with dma_get_slave_sg_limits()
> [v4,2/3] dma: edma: add device_slave_sg_limits() support 
> [v4,1/3] dmaengine: add dma_get_slave_sg_limits()
> [v9,9/9] ARM: dts: add AM33XX SPI DMA support
> [v9,8/9] spi: omap2-mcspi: add generic DMA request support to the DT binding
> [v9,7/9] spi: omap2-mcspi: convert to dma_request_slave_channel_compat() 
> [v9,6/9] ARM: dts: add AM33XX EDMA support 
> [v9,5/9] dmaengine: edma: Add TI EDMA device tree binding
> [v9,4/9] dmaengine: edma: enable build for AM33XX
> [v9,3/9] ARM: edma: add AM33XX support to the private EDMA API
> [v9,2/9] ARM: edma: remove unused transfer controller handlers
> [v9,1/9] ARM: davinci: move private EDMA API to arm/common
> [v3,2/2] mmc: omap_hsmmc: add generic DMA request support to the DT binding
> [v3,1/2] mmc: omap_hsmmc: convert to dma_request_slave_channel_compat()
> 
> 
> 
> Am I missing anything here?

Yes, you missed the
http://www.spinics.net/lists/arm-kernel/msg227886.html dependency
mentioned first in the cover letter.

-Matt
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" 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/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts
index 11b240c..a154ce0 100644
--- a/arch/arm/boot/dts/am335x-bone.dts
+++ b/arch/arm/boot/dts/am335x-bone.dts
@@ -120,6 +120,8 @@ 
 		};
 
 		ldo3_reg: regulator@5 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <3300000>;
 			regulator-always-on;
 		};
 
@@ -136,3 +138,8 @@ 
 &cpsw_emac1 {
 	phy_id = <&davinci_mdio>, <1>;
 };
+
+&mmc1 {
+	status = "okay";
+	vmmc-supply = <&ldo3_reg>;
+};
diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts
index d649644..2907da6 100644
--- a/arch/arm/boot/dts/am335x-evm.dts
+++ b/arch/arm/boot/dts/am335x-evm.dts
@@ -232,6 +232,8 @@ 
 		};
 
 		vmmc_reg: regulator@12 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <3300000>;
 			regulator-always-on;
 		};
 	};
@@ -244,3 +246,8 @@ 
 &cpsw_emac1 {
 	phy_id = <&davinci_mdio>, <1>;
 };
+
+&mmc1 {
+	status = "okay";
+	vmmc-supply = <&vmmc_reg>;
+};
diff --git a/arch/arm/boot/dts/am335x-evmsk.dts b/arch/arm/boot/dts/am335x-evmsk.dts
index f5a6162..f050c46 100644
--- a/arch/arm/boot/dts/am335x-evmsk.dts
+++ b/arch/arm/boot/dts/am335x-evmsk.dts
@@ -244,7 +244,14 @@ 
 		};
 
 		vmmc_reg: regulator@12 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <3300000>;
 			regulator-always-on;
 		};
 	};
 };
+
+&mmc1 {
+	status = "okay";
+	vmmc-supply = <&vmmc_reg>;
+};
diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
index c3c781a..e029eea 100644
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -234,6 +234,34 @@ 
 			status = "disabled";
 		};
 
+		mmc1: mmc@48060000 {
+			compatible = "ti,omap3-hsmmc";
+			ti,hwmods = "mmc1";
+			ti,dual-volt;
+			ti,needs-special-reset;
+			dmas = <&edma 24
+				&edma 25>;
+			dma-names = "tx", "rx";
+			status = "disabled";
+		};
+
+		mmc2: mmc@481d8000 {
+			compatible = "ti,omap3-hsmmc";
+			ti,hwmods = "mmc2";
+			ti,needs-special-reset;
+			dmas = <&edma 2
+				&edma 3>;
+			dma-names = "tx", "rx";
+			status = "disabled";
+		};
+
+		mmc3: mmc@47810000 {
+			compatible = "ti,omap3-hsmmc";
+			ti,hwmods = "mmc3";
+			ti,needs-special-reset;
+			status = "disabled";
+		};
+
 		wdt2: wdt@44e35000 {
 			compatible = "ti,omap3-wdt";
 			ti,hwmods = "wd_timer2";