* [patch-2.6.35-rc4+ 0/4] musb and ehci_omap patches
@ 2010-07-08 8:32 Ajay Kumar Gupta
[not found] ` <1278577982-30046-1-git-send-email-ajay.gupta-l0cyMroinI0@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Ajay Kumar Gupta @ 2010-07-08 8:32 UTC (permalink / raw)
To: linux-usb-u79uwXL29TY76Z2rM5mHXA
Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA,
felipe.balbi-xNZwKgViW5gAvxtiuMwx3w, gregkh-l3A5Bk7waGM,
Ajay Kumar Gupta
Greg,
These are the bug fix patches recently acked by Felipe except one
on ULPI (PATCH 3/4) which is trivial.
Thanks,
Ajay
Ajay Kumar Gupta (3):
usb: musb: fix compilation warning in host only mode
usb: ulpi: fix compilation warning
usb: ehci_omap: fix device detect issue with modules
Anand Gadiyar (1):
usb: musb: use correct register widths in register dumps
drivers/usb/host/ehci-omap.c | 36 ++++++++++++++++++++++++++++++++++++
drivers/usb/musb/musb_core.c | 7 +++----
drivers/usb/musb/musb_debugfs.c | 32 ++++++++++++++++----------------
include/linux/usb/ulpi.h | 1 +
4 files changed, 56 insertions(+), 20 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 5+ messages in thread[parent not found: <1278577982-30046-1-git-send-email-ajay.gupta-l0cyMroinI0@public.gmane.org>]
* [PATCH 1/4] usb: musb: use correct register widths in register dumps [not found] ` <1278577982-30046-1-git-send-email-ajay.gupta-l0cyMroinI0@public.gmane.org> @ 2010-07-08 8:32 ` Ajay Kumar Gupta 2010-07-08 8:33 ` [PATCH 2/4] usb: musb: fix compilation warning in host only mode Ajay Kumar Gupta 0 siblings, 1 reply; 5+ messages in thread From: Ajay Kumar Gupta @ 2010-07-08 8:32 UTC (permalink / raw) To: linux-usb-u79uwXL29TY76Z2rM5mHXA Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA, felipe.balbi-xNZwKgViW5gAvxtiuMwx3w, gregkh-l3A5Bk7waGM, Anand Gadiyar, Ajay Kumar Gupta From: Anand Gadiyar <gadiyar-l0cyMroinI0@public.gmane.org> DMA_ADDR and DMA_COUNT are 32-bit registers, not 16-bit. Marking them as 16-bit in the table causes only the lower 16-bits to be dumped and this is misleading. Signed-off-by: Anand Gadiyar <gadiyar-l0cyMroinI0@public.gmane.org> Acked-by: Felipe Balbi <felipe.balbi-xNZwKgViW5gAvxtiuMwx3w@public.gmane.org> Signed-off-by: Ajay Kumar Gupta <ajay.gupta-l0cyMroinI0@public.gmane.org> --- drivers/usb/musb/musb_debugfs.c | 32 ++++++++++++++++---------------- 1 files changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/usb/musb/musb_debugfs.c b/drivers/usb/musb/musb_debugfs.c index bba76af..c79a5e3 100644 --- a/drivers/usb/musb/musb_debugfs.c +++ b/drivers/usb/musb/musb_debugfs.c @@ -92,29 +92,29 @@ static const struct musb_register_map musb_regmap[] = { { "LS_EOF1", 0x7E, 8 }, { "SOFT_RST", 0x7F, 8 }, { "DMA_CNTLch0", 0x204, 16 }, - { "DMA_ADDRch0", 0x208, 16 }, - { "DMA_COUNTch0", 0x20C, 16 }, + { "DMA_ADDRch0", 0x208, 32 }, + { "DMA_COUNTch0", 0x20C, 32 }, { "DMA_CNTLch1", 0x214, 16 }, - { "DMA_ADDRch1", 0x218, 16 }, - { "DMA_COUNTch1", 0x21C, 16 }, + { "DMA_ADDRch1", 0x218, 32 }, + { "DMA_COUNTch1", 0x21C, 32 }, { "DMA_CNTLch2", 0x224, 16 }, - { "DMA_ADDRch2", 0x228, 16 }, - { "DMA_COUNTch2", 0x22C, 16 }, + { "DMA_ADDRch2", 0x228, 32 }, + { "DMA_COUNTch2", 0x22C, 32 }, { "DMA_CNTLch3", 0x234, 16 }, - { "DMA_ADDRch3", 0x238, 16 }, - { "DMA_COUNTch3", 0x23C, 16 }, + { "DMA_ADDRch3", 0x238, 32 }, + { "DMA_COUNTch3", 0x23C, 32 }, { "DMA_CNTLch4", 0x244, 16 }, - { "DMA_ADDRch4", 0x248, 16 }, - { "DMA_COUNTch4", 0x24C, 16 }, + { "DMA_ADDRch4", 0x248, 32 }, + { "DMA_COUNTch4", 0x24C, 32 }, { "DMA_CNTLch5", 0x254, 16 }, - { "DMA_ADDRch5", 0x258, 16 }, - { "DMA_COUNTch5", 0x25C, 16 }, + { "DMA_ADDRch5", 0x258, 32 }, + { "DMA_COUNTch5", 0x25C, 32 }, { "DMA_CNTLch6", 0x264, 16 }, - { "DMA_ADDRch6", 0x268, 16 }, - { "DMA_COUNTch6", 0x26C, 16 }, + { "DMA_ADDRch6", 0x268, 32 }, + { "DMA_COUNTch6", 0x26C, 32 }, { "DMA_CNTLch7", 0x274, 16 }, - { "DMA_ADDRch7", 0x278, 16 }, - { "DMA_COUNTch7", 0x27C, 16 }, + { "DMA_ADDRch7", 0x278, 32 }, + { "DMA_COUNTch7", 0x27C, 32 }, { } /* Terminating Entry */ }; -- 1.6.2.4 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/4] usb: musb: fix compilation warning in host only mode 2010-07-08 8:32 ` [PATCH 1/4] usb: musb: use correct register widths in register dumps Ajay Kumar Gupta @ 2010-07-08 8:33 ` Ajay Kumar Gupta [not found] ` <1278577982-30046-3-git-send-email-ajay.gupta-l0cyMroinI0@public.gmane.org> 0 siblings, 1 reply; 5+ messages in thread From: Ajay Kumar Gupta @ 2010-07-08 8:33 UTC (permalink / raw) To: linux-usb; +Cc: linux-omap, felipe.balbi, gregkh, Ajay Kumar Gupta Fixes below compilation warning when host only configuration is selected. drivers/usb/musb/musb_core.c: In function 'musb_stage0_irq': drivers/usb/musb/musb_core.c:711: warning: unused variable 'mbase' Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Acked-by: Felipe Balbi <felipe.balbi@nokia.com> --- drivers/usb/musb/musb_core.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c index 3b795c5..540c766 100644 --- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c @@ -704,7 +704,6 @@ static irqreturn_t musb_stage0_irq(struct musb *musb, u8 int_usb, #ifdef CONFIG_USB_MUSB_HDRC_HCD if (int_usb & MUSB_INTR_CONNECT) { struct usb_hcd *hcd = musb_to_hcd(musb); - void __iomem *mbase = musb->mregs; handled = IRQ_HANDLED; musb->is_active = 1; @@ -717,9 +716,9 @@ static irqreturn_t musb_stage0_irq(struct musb *musb, u8 int_usb, if (is_peripheral_active(musb)) { /* REVISIT HNP; just force disconnect */ } - musb_writew(mbase, MUSB_INTRTXE, musb->epmask); - musb_writew(mbase, MUSB_INTRRXE, musb->epmask & 0xfffe); - musb_writeb(mbase, MUSB_INTRUSBE, 0xf7); + musb_writew(musb->mregs, MUSB_INTRTXE, musb->epmask); + musb_writew(musb->mregs, MUSB_INTRRXE, musb->epmask & 0xfffe); + musb_writeb(musb->mregs, MUSB_INTRUSBE, 0xf7); #endif musb->port1_status &= ~(USB_PORT_STAT_LOW_SPEED |USB_PORT_STAT_HIGH_SPEED -- 1.6.2.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
[parent not found: <1278577982-30046-3-git-send-email-ajay.gupta-l0cyMroinI0@public.gmane.org>]
* [PATCH 3/4] usb: ulpi: fix compilation warning [not found] ` <1278577982-30046-3-git-send-email-ajay.gupta-l0cyMroinI0@public.gmane.org> @ 2010-07-08 8:33 ` Ajay Kumar Gupta [not found] ` <1278577982-30046-4-git-send-email-ajay.gupta-l0cyMroinI0@public.gmane.org> 0 siblings, 1 reply; 5+ messages in thread From: Ajay Kumar Gupta @ 2010-07-08 8:33 UTC (permalink / raw) To: linux-usb-u79uwXL29TY76Z2rM5mHXA Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA, felipe.balbi-xNZwKgViW5gAvxtiuMwx3w, gregkh-l3A5Bk7waGM, Ajay Kumar Gupta Fixes below compilation warning from ulpi.h include/linux/usb/ulpi.h:145: warning: 'struct otg_io_access_ops' declared inside parameter list include/linux/usb/ulpi.h:145: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Ajay Kumar Gupta <ajay.gupta-l0cyMroinI0@public.gmane.org> --- include/linux/usb/ulpi.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/include/linux/usb/ulpi.h b/include/linux/usb/ulpi.h index 2369d07..900d97b 100644 --- a/include/linux/usb/ulpi.h +++ b/include/linux/usb/ulpi.h @@ -11,6 +11,7 @@ #ifndef __LINUX_USB_ULPI_H #define __LINUX_USB_ULPI_H +#include <linux/usb/otg.h> /*-------------------------------------------------------------------------*/ /* -- 1.6.2.4 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 5+ messages in thread
[parent not found: <1278577982-30046-4-git-send-email-ajay.gupta-l0cyMroinI0@public.gmane.org>]
* [PATCH 4/4] usb: ehci_omap: fix device detect issue with modules [not found] ` <1278577982-30046-4-git-send-email-ajay.gupta-l0cyMroinI0@public.gmane.org> @ 2010-07-08 8:33 ` Ajay Kumar Gupta 0 siblings, 0 replies; 5+ messages in thread From: Ajay Kumar Gupta @ 2010-07-08 8:33 UTC (permalink / raw) To: linux-usb-u79uwXL29TY76Z2rM5mHXA Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA, felipe.balbi-xNZwKgViW5gAvxtiuMwx3w, gregkh-l3A5Bk7waGM, Ajay Kumar Gupta Currently devices don't get detected automatically if the ehci module is inserted 2nd time onward. We need to disconnect and reconnect the device for it to get detected and enumerated. Resetting the USB PHY using PHY reset comamnd over ULPI fixes this issue. Tested on OMAP3EVM. Signed-off-by: Ajay Kumar Gupta <ajay.gupta-l0cyMroinI0@public.gmane.org> Acked-by: Felipe Balbi <felipe.balbi-xNZwKgViW5gAvxtiuMwx3w@public.gmane.org> --- drivers/usb/host/ehci-omap.c | 36 ++++++++++++++++++++++++++++++++++++ 1 files changed, 36 insertions(+), 0 deletions(-) diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c index 5450e62..116ae28 100644 --- a/drivers/usb/host/ehci-omap.c +++ b/drivers/usb/host/ehci-omap.c @@ -38,6 +38,7 @@ #include <linux/gpio.h> #include <linux/regulator/consumer.h> #include <linux/slab.h> +#include <linux/usb/ulpi.h> #include <plat/usb.h> /* @@ -236,6 +237,35 @@ static void omap_usb_utmi_init(struct ehci_hcd_omap *omap, u8 tll_channel_mask) /*-------------------------------------------------------------------------*/ +static void omap_ehci_soft_phy_reset(struct ehci_hcd_omap *omap, u8 port) +{ + unsigned long timeout = jiffies + msecs_to_jiffies(1000); + unsigned reg = 0; + + reg = ULPI_FUNC_CTRL_RESET + /* FUNCTION_CTRL_SET register */ + | (ULPI_SET(ULPI_FUNC_CTRL) << EHCI_INSNREG05_ULPI_REGADD_SHIFT) + /* Write */ + | (2 << EHCI_INSNREG05_ULPI_OPSEL_SHIFT) + /* PORTn */ + | ((port + 1) << EHCI_INSNREG05_ULPI_PORTSEL_SHIFT) + /* start ULPI access*/ + | (1 << EHCI_INSNREG05_ULPI_CONTROL_SHIFT); + + ehci_omap_writel(omap->ehci_base, EHCI_INSNREG05_ULPI, reg); + + /* Wait for ULPI access completion */ + while ((ehci_omap_readl(omap->ehci_base, EHCI_INSNREG05_ULPI) + & (1 << EHCI_INSNREG05_ULPI_CONTROL_SHIFT))) { + cpu_relax(); + + if (time_after(jiffies, timeout)) { + dev_dbg(omap->dev, "phy reset operation timed out\n"); + break; + } + } +} + /* omap_start_ehc * - Start the TI USBHOST controller */ @@ -425,6 +455,12 @@ static int omap_start_ehc(struct ehci_hcd_omap *omap, struct usb_hcd *hcd) gpio_set_value(omap->reset_gpio_port[1], 1); } + /* Soft reset the PHY using PHY reset command over ULPI */ + if (omap->port_mode[0] == EHCI_HCD_OMAP_MODE_PHY) + omap_ehci_soft_phy_reset(omap, 0); + if (omap->port_mode[1] == EHCI_HCD_OMAP_MODE_PHY) + omap_ehci_soft_phy_reset(omap, 1); + return 0; err_sys_status: -- 1.6.2.4 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-07-08 8:33 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-08 8:32 [patch-2.6.35-rc4+ 0/4] musb and ehci_omap patches Ajay Kumar Gupta
[not found] ` <1278577982-30046-1-git-send-email-ajay.gupta-l0cyMroinI0@public.gmane.org>
2010-07-08 8:32 ` [PATCH 1/4] usb: musb: use correct register widths in register dumps Ajay Kumar Gupta
2010-07-08 8:33 ` [PATCH 2/4] usb: musb: fix compilation warning in host only mode Ajay Kumar Gupta
[not found] ` <1278577982-30046-3-git-send-email-ajay.gupta-l0cyMroinI0@public.gmane.org>
2010-07-08 8:33 ` [PATCH 3/4] usb: ulpi: fix compilation warning Ajay Kumar Gupta
[not found] ` <1278577982-30046-4-git-send-email-ajay.gupta-l0cyMroinI0@public.gmane.org>
2010-07-08 8:33 ` [PATCH 4/4] usb: ehci_omap: fix device detect issue with modules Ajay Kumar Gupta
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).