• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/usb/musb/

Lines Matching defs:musb

43 	struct musb	*musb = (void *)_musb;
50 spin_lock_irqsave(&musb->lock, flags);
52 devctl = musb_readb(musb->mregs, MUSB_DEVCTL);
54 switch (musb->xceiv->state) {
57 musb_writeb(musb->mregs, MUSB_DEVCTL, devctl);
59 devctl = musb_readb(musb->mregs, MUSB_DEVCTL);
61 musb->xceiv->state = OTG_STATE_B_IDLE;
62 MUSB_DEV_MODE(musb);
64 musb->xceiv->state = OTG_STATE_A_IDLE;
65 MUSB_HST_MODE(musb);
71 if (musb->port1_status & MUSB_PORT_STAT_RESUME) {
72 power = musb_readb(musb->mregs, MUSB_POWER);
75 musb_writeb(musb->mregs, MUSB_POWER, power);
76 musb->is_active = 1;
77 musb->port1_status &= ~(USB_PORT_STAT_SUSPEND
79 musb->port1_status |= USB_PORT_STAT_C_SUSPEND << 16;
80 usb_hcd_poll_rh_status(musb_to_hcd(musb));
82 musb->xceiv->state = OTG_STATE_A_HOST;
88 devctl = musb_readb(musb->mregs, MUSB_DEVCTL);
90 musb->xceiv->state = OTG_STATE_B_IDLE;
92 musb->xceiv->state = OTG_STATE_A_WAIT_BCON;
97 spin_unlock_irqrestore(&musb->lock, flags);
101 void musb_platform_try_idle(struct musb *musb, unsigned long timeout)
110 if (musb->is_active || ((musb->a_wait_bcon == 0)
111 && (musb->xceiv->state == OTG_STATE_A_WAIT_BCON))) {
112 DBG(4, "%s active, deleting timer\n", otg_state_string(musb));
129 otg_state_string(musb),
134 void musb_platform_enable(struct musb *musb)
137 void musb_platform_disable(struct musb *musb)
140 static void omap_set_vbus(struct musb *musb, int is_on)
148 devctl = musb_readb(musb->mregs, MUSB_DEVCTL);
151 musb->is_active = 1;
152 musb->xceiv->default_a = 1;
153 musb->xceiv->state = OTG_STATE_A_WAIT_VRISE;
156 MUSB_HST_MODE(musb);
158 musb->is_active = 0;
164 musb->xceiv->default_a = 0;
165 musb->xceiv->state = OTG_STATE_B_IDLE;
168 MUSB_DEV_MODE(musb);
170 musb_writeb(musb->mregs, MUSB_DEVCTL, devctl);
174 otg_state_string(musb),
175 musb_readb(musb->mregs, MUSB_DEVCTL));
178 static int musb_platform_resume(struct musb *musb);
180 int musb_platform_set_mode(struct musb *musb, u8 musb_mode)
182 u8 devctl = musb_readb(musb->mregs, MUSB_DEVCTL);
185 musb_writeb(musb->mregs, MUSB_DEVCTL, devctl);
190 int __init musb_platform_init(struct musb *musb, void *board_data)
199 musb->xceiv = otg_get_transceiver();
200 if (!musb->xceiv) {
205 musb_platform_resume(musb);
207 l = musb_readl(musb->mregs, OTG_SYSCONFIG);
216 musb_writel(musb->mregs, OTG_SYSCONFIG, l);
218 l = musb_readl(musb->mregs, OTG_INTERFSEL);
228 musb_writel(musb->mregs, OTG_INTERFSEL, l);
232 musb_readl(musb->mregs, OTG_REVISION),
233 musb_readl(musb->mregs, OTG_SYSCONFIG),
234 musb_readl(musb->mregs, OTG_SYSSTATUS),
235 musb_readl(musb->mregs, OTG_INTERFSEL),
236 musb_readl(musb->mregs, OTG_SIMENABLE));
238 if (is_host_enabled(musb))
239 musb->board_set_vbus = omap_set_vbus;
241 setup_timer(&musb_idle_timer, musb_do_idle, (unsigned long) musb);
247 void musb_platform_save_context(struct musb *musb,
250 musb_context->otg_sysconfig = musb_readl(musb->mregs, OTG_SYSCONFIG);
251 musb_context->otg_forcestandby = musb_readl(musb->mregs, OTG_FORCESTDBY);
254 void musb_platform_restore_context(struct musb *musb,
257 musb_writel(musb->mregs, OTG_SYSCONFIG, musb_context->otg_sysconfig);
258 musb_writel(musb->mregs, OTG_FORCESTDBY, musb_context->otg_forcestandby);
262 static int musb_platform_suspend(struct musb *musb)
266 if (!musb->clock)
270 l = musb_readl(musb->mregs, OTG_FORCESTDBY);
272 musb_writel(musb->mregs, OTG_FORCESTDBY, l);
274 l = musb_readl(musb->mregs, OTG_SYSCONFIG);
276 musb_writel(musb->mregs, OTG_SYSCONFIG, l);
278 otg_set_suspend(musb->xceiv, 1);
280 if (musb->set_clock)
281 musb->set_clock(musb->clock, 0);
283 clk_disable(musb->clock);
288 static int musb_platform_resume(struct musb *musb)
292 if (!musb->clock)
295 otg_set_suspend(musb->xceiv, 0);
297 if (musb->set_clock)
298 musb->set_clock(musb->clock, 1);
300 clk_enable(musb->clock);
302 l = musb_readl(musb->mregs, OTG_SYSCONFIG);
304 musb_writel(musb->mregs, OTG_SYSCONFIG, l);
306 l = musb_readl(musb->mregs, OTG_FORCESTDBY);
308 musb_writel(musb->mregs, OTG_FORCESTDBY, l);
314 int musb_platform_exit(struct musb *musb)
317 musb_platform_suspend(musb);
319 otg_put_transceiver(musb->xceiv);