----- Original Message -----
From: "Kevin Hilman" <[EMAIL PROTECTED]>
To: <[email protected]>
Cc: "Kevin Hilman" <[EMAIL PROTECTED]>
Sent: Thursday, September 18, 2008 5:52 PM
Subject: [PATCH PM-0] ARM: OMAP3: HSMMC: Ensure HSMMC is fully reset on boot
> This ensures that an unused HSMMC block will not interfere with sleep.
>
> Signed-off-by: Kevin Hilman <[EMAIL PROTECTED]>
> ---
> arch/arm/mach-omap2/hsmmc.c | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c
> index 7334d86..03fe820 100644
> --- a/arch/arm/mach-omap2/hsmmc.c
> +++ b/arch/arm/mach-omap2/hsmmc.c
> @@ -280,8 +280,16 @@ static struct omap_mmc_platform_data hsmmc_data = {
> },
> };
>
> +static void __init hsmmc_reset(void)
> +{
> + omap_writel(MMCHS_SYSCONFIG_SWRESET, MMCHS1_SYSCONFIG);
> + omap_writel(MMCHS_SYSCONFIG_SWRESET, MMCHS2_SYSCONFIG);
> + omap_writel(MMCHS_SYSCONFIG_SWRESET, MMCHS3_SYSCONFIG);
> +}
> +
Where is MMCHS1_SYSCONFIG defined?
After seting the softreset bit in SYSCONFIG, you might want to poll on the
RESETDONE bit in SYSSTATUS to wait for the reset to complete.
The interface and functional clocks should be provided before the reset is
issued for reset to complete. At this point, I guess the clocks are not enabled
yet.
Regards,
Madhu
> void __init hsmmc_init(void)
> {
> + hsmmc_reset();
> omap2_init_mmc(&hsmmc_data);
> }
>
> --
> 1.5.4.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html