dect
/
linux-2.6
Archived
13
0
Fork 0

USB: musb: get rid of omap_readl/writel

we have those addresses already ioremaped, so let's
use our __raw_readl/writel wrappers.

Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Felipe Balbi 2010-01-21 15:33:53 +02:00 committed by Greg Kroah-Hartman
parent 4f712e010b
commit 8573e6a673
4 changed files with 47 additions and 49 deletions

View File

@ -2234,7 +2234,7 @@ void musb_save_context(struct musb *musb)
musb_writeb(musb_base, MUSB_INDEX, musb_context.index);
musb_platform_save_context(&musb_context);
musb_platform_save_context(musb, &musb_context);
}
void musb_restore_context(struct musb *musb)
@ -2243,7 +2243,7 @@ void musb_restore_context(struct musb *musb)
void __iomem *musb_base = musb->mregs;
void __iomem *ep_target_regs;
musb_platform_restore_context(&musb_context);
musb_platform_restore_context(musb, &musb_context);
if (is_host_enabled(musb)) {
musb_writew(musb_base, MUSB_FRAME, musb_context.frame);

View File

@ -482,13 +482,13 @@ struct musb_context_registers {
};
#if defined(CONFIG_ARCH_OMAP34XX) || defined(CONFIG_ARCH_OMAP2430)
extern void musb_platform_save_context(struct musb_context_registers
*musb_context);
extern void musb_platform_restore_context(struct musb_context_registers
*musb_context);
extern void musb_platform_save_context(struct musb *musb,
struct musb_context_registers *musb_context);
extern void musb_platform_restore_context(struct musb *musb,
struct musb_context_registers *musb_context);
#else
#define musb_platform_save_context(x) do {} while (0)
#define musb_platform_restore_context(x) do {} while (0)
#define musb_platform_save_context(m, x) do {} while (0)
#define musb_platform_restore_context(m, x) do {} while (0)
#endif
#endif

View File

@ -220,7 +220,7 @@ int __init musb_platform_init(struct musb *musb)
musb_platform_resume(musb);
l = omap_readl(OTG_SYSCONFIG);
l = musb_readl(musb->mregs, OTG_SYSCONFIG);
l &= ~ENABLEWAKEUP; /* disable wakeup */
l &= ~NOSTDBY; /* remove possible nostdby */
l |= SMARTSTDBY; /* enable smart standby */
@ -233,17 +233,19 @@ int __init musb_platform_init(struct musb *musb)
*/
if (!cpu_is_omap3430())
l |= AUTOIDLE; /* enable auto idle */
omap_writel(l, OTG_SYSCONFIG);
musb_writel(musb->mregs, OTG_SYSCONFIG, l);
l = omap_readl(OTG_INTERFSEL);
l = musb_readl(musb->mregs, OTG_INTERFSEL);
l |= ULPI_12PIN;
omap_writel(l, OTG_INTERFSEL);
musb_writel(musb->mregs, OTG_INTERFSEL, l);
pr_debug("HS USB OTG: revision 0x%x, sysconfig 0x%02x, "
"sysstatus 0x%x, intrfsel 0x%x, simenable 0x%x\n",
omap_readl(OTG_REVISION), omap_readl(OTG_SYSCONFIG),
omap_readl(OTG_SYSSTATUS), omap_readl(OTG_INTERFSEL),
omap_readl(OTG_SIMENABLE));
musb_readl(musb->mregs, OTG_REVISION),
musb_readl(musb->mregs, OTG_SYSCONFIG),
musb_readl(musb->mregs, OTG_SYSSTATUS),
musb_readl(musb->mregs, OTG_INTERFSEL),
musb_readl(musb->mregs, OTG_SIMENABLE));
omap_vbus_power(musb, musb->board_mode == MUSB_HOST, 1);
@ -256,18 +258,18 @@ int __init musb_platform_init(struct musb *musb)
}
#ifdef CONFIG_PM
void musb_platform_save_context(struct musb_context_registers
*musb_context)
void musb_platform_save_context(struct musb *musb,
struct musb_context_registers *musb_context)
{
musb_context->otg_sysconfig = omap_readl(OTG_SYSCONFIG);
musb_context->otg_forcestandby = omap_readl(OTG_FORCESTDBY);
musb_context->otg_sysconfig = musb_readl(musb->mregs, OTG_SYSCONFIG);
musb_context->otg_forcestandby = musb_readl(musb->mregs, OTG_FORCESTDBY);
}
void musb_platform_restore_context(struct musb_context_registers
*musb_context)
void musb_platform_restore_context(struct musb *musb,
struct musb_context_registers *musb_context)
{
omap_writel(musb_context->otg_sysconfig, OTG_SYSCONFIG);
omap_writel(musb_context->otg_forcestandby, OTG_FORCESTDBY);
musb_writel(musb->mregs, OTG_SYSCONFIG, musb_context->otg_sysconfig);
musb_writel(musb->mregs, OTG_FORCESTDBY, musb_context->otg_forcestandby);
}
#endif
@ -279,13 +281,13 @@ int musb_platform_suspend(struct musb *musb)
return 0;
/* in any role */
l = omap_readl(OTG_FORCESTDBY);
l = musb_readl(musb->mregs, OTG_FORCESTDBY);
l |= ENABLEFORCE; /* enable MSTANDBY */
omap_writel(l, OTG_FORCESTDBY);
musb_writel(musb->mregs, OTG_FORCESTDBY, l);
l = omap_readl(OTG_SYSCONFIG);
l = musb_readl(musb->mregs, OTG_SYSCONFIG);
l |= ENABLEWAKEUP; /* enable wakeup */
omap_writel(l, OTG_SYSCONFIG);
musb_writel(musb->mregs, OTG_SYSCONFIG, l);
otg_set_suspend(musb->xceiv, 1);
@ -311,13 +313,13 @@ static int musb_platform_resume(struct musb *musb)
else
clk_enable(musb->clock);
l = omap_readl(OTG_SYSCONFIG);
l = musb_readl(musb->mregs, OTG_SYSCONFIG);
l &= ~ENABLEWAKEUP; /* disable wakeup */
omap_writel(l, OTG_SYSCONFIG);
musb_writel(musb->mregs, OTG_SYSCONFIG, l);
l = omap_readl(OTG_FORCESTDBY);
l = musb_readl(musb->mregs, OTG_FORCESTDBY);
l &= ~ENABLEFORCE; /* disable MSTANDBY */
omap_writel(l, OTG_FORCESTDBY);
musb_writel(musb->mregs, OTG_FORCESTDBY, l);
return 0;
}

View File

@ -10,47 +10,43 @@
#ifndef __MUSB_OMAP243X_H__
#define __MUSB_OMAP243X_H__
#if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3430)
#include <mach/hardware.h>
#include <plat/usb.h>
/*
* OMAP2430-specific definitions
*/
#define MENTOR_BASE_OFFSET 0
#if defined(CONFIG_ARCH_OMAP2430)
#define OMAP_HSOTG_BASE (OMAP243X_HS_BASE)
#elif defined(CONFIG_ARCH_OMAP3430)
#define OMAP_HSOTG_BASE (OMAP34XX_HSUSB_OTG_BASE)
#endif
#define OMAP_HSOTG(offset) (OMAP_HSOTG_BASE + 0x400 + (offset))
#define OTG_REVISION OMAP_HSOTG(0x0)
#define OTG_SYSCONFIG OMAP_HSOTG(0x4)
#define OTG_REVISION 0x400
#define OTG_SYSCONFIG 0x404
# define MIDLEMODE 12 /* bit position */
# define FORCESTDBY (0 << MIDLEMODE)
# define NOSTDBY (1 << MIDLEMODE)
# define SMARTSTDBY (2 << MIDLEMODE)
# define SIDLEMODE 3 /* bit position */
# define FORCEIDLE (0 << SIDLEMODE)
# define NOIDLE (1 << SIDLEMODE)
# define SMARTIDLE (2 << SIDLEMODE)
# define ENABLEWAKEUP (1 << 2)
# define SOFTRST (1 << 1)
# define AUTOIDLE (1 << 0)
#define OTG_SYSSTATUS OMAP_HSOTG(0x8)
#define OTG_SYSSTATUS 0x408
# define RESETDONE (1 << 0)
#define OTG_INTERFSEL OMAP_HSOTG(0xc)
#define OTG_INTERFSEL 0x40c
# define EXTCP (1 << 2)
# define PHYSEL 0 /* bit position */
# define PHYSEL 0 /* bit position */
# define UTMI_8BIT (0 << PHYSEL)
# define ULPI_12PIN (1 << PHYSEL)
# define ULPI_8PIN (2 << PHYSEL)
#define OTG_SIMENABLE OMAP_HSOTG(0x10)
#define OTG_SIMENABLE 0x410
# define TM1 (1 << 0)
#define OTG_FORCESTDBY OMAP_HSOTG(0x14)
#define OTG_FORCESTDBY 0x414
# define ENABLEFORCE (1 << 0)
#endif /* CONFIG_ARCH_OMAP2430 */
#endif /* __MUSB_OMAP243X_H__ */