usb: musb: hwmod and runtime pm support for musb
v3 cover usb: musb: hwmod and runtime pm support for musb
This patch series makes OMAP2PLUS musb Module implemented in HWMOD FW way. It also implements musb driver to use the runtime pm apis.
PATCH[1/8 v3] and [PATCH 2/8 v3] are the pre-requisites for the hwmod support for the usb module.
[PATCH 9/9 v3] Is offmode fix for usb in idle path using runtime pm apis.
As per the OMAP usbotg specification[1] musb sysconfig register has to be set to force idle and force standby when not used and set smart idle/standby during operation.otherwise core-off will be prevented by musb.
[1]: http://focus.ti.com/pdfs/wtbu/SWPU223D_Final_EPDF_06_07_2010.pdf
This patch series is created top of "origin/pm-core" and below patch
OMAP2+: GPIO: move late PM out of interrupts-disabled idle path
[https://patchwork.kernel.org/patch/176172/]
by Kevin
This patch series is tested on OMAP3630 zoom3, OMAP4430 SDP OMAP2430SDP. On OMAP3630 zoom3, off mode is tested on "origin/pm" branch using omap3_pm_defconfig.
Version History:
---------------
Version v3
Added the patch for adding the hwmod database for OMAP2430.
Re-arranged the patches in such a way that first migrate the musb driver to use the runtime pm apis and then added a patch to support offmode in idle path. Calling the runtime pm apis before disabling the interupts in the idle path.
Added the #ifdef CONFIG_PM_RUNTIME check in the musb core driver for calling the runtime PM APIs as non-omap platforms may not have the runtime pm enabled and clk_enable/disable should be called for them.
Optimized the context save restore of musb registers only if the next state is going to offmode and previous state was offmode.
Addressed few review comments on coding styles.
Some of the links for v2 review comments
----------------------------------------
http://www.mail-archive.com/[email protected]/msg34068.html
http://www.mail-archive.com/[email protected]/msg32024.html
http://www.spinics.net/lists/linux-usb/msg35562.html
http://www.spinics.net/lists/linux-usb/msg35720.html
Vesrion v2:
Fixed review comments.
Removed the omap_hwmod.h inclusion from musb.h file which was breaking the non-omap platform build.
Using the runtime pm apis in the idle path(interrupts disabled). Added the omap4 hwmod data base.
Version v1:
initial version of the patch series.
Some of the links for v1
------------------------
http://www.spinics.net/lists/linux-usb/msg34570.html
http://www.spinics.net/lists/linux-omap/msg34568.html
http://www.spinics.net/lists/linux-usb/msg34544.html
http://www.spinics.net/lists/linux-usb/msg34540.html
http://www.spinics.net/lists/linux-usb/msg34589.html
http://www.spinics.net/lists/linux-usb/msg34554.html
http://www.mail-archive.com/[email protected]/msg32973.html
Cousson, Benoit (1):
usb: musb: HWMOD database structures addition for OMAP4
Hema HK (8):
usb: musb: Adding names for IRQs in resource structure
usb: musb: Remove board_data parameter from musb_platform_init()
usb: musb: HWMOD database structures addition for OMAP3
usb: musb: HWMOD database structures addition for OMAP2430
usb: musb: Using omap_device_build for musb device registration
OMAP: Hwmod api changes
usb : musb: Using runtime pm apis for musb.
usb : musb: Offmode fix for idle path
arch/arm/mach-davinci/usb.c | 2 + arch/arm/mach-omap2/cpuidle34xx.c | 1 + arch/arm/mach-omap2/omap_hwmod.c | 19 ++- arch/arm/mach-omap2/omap_hwmod_2430_data.c | 102 ++++++++++++++++ arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 105 +++++++++++++++++ arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 99 ++++++++++++++++ arch/arm/mach-omap2/pm34xx.c | 3 + arch/arm/mach-omap2/usb-musb.c | 175 ++++++++++++++++++++++------ arch/arm/plat-omap/include/plat/usb.h | 2 + arch/blackfin/mach-bf527/boards/cm_bf527.c | 2 + arch/blackfin/mach-bf527/boards/ezbrd.c | 2 + arch/blackfin/mach-bf527/boards/ezkit.c | 2 + arch/blackfin/mach-bf548/boards/cm_bf548.c | 2 + arch/blackfin/mach-bf548/boards/ezkit.c | 2 + drivers/usb/musb/blackfin.c | 2 +- drivers/usb/musb/cppi_dma.c | 2 +- drivers/usb/musb/davinci.c | 2 +- drivers/usb/musb/musb_core.c | 40 ++++++- drivers/usb/musb/musb_core.h | 2 +- drivers/usb/musb/musbhsdma.c | 2 +- drivers/usb/musb/omap2430.c | 63 ++++------ drivers/usb/musb/tusb6010.c | 2 +- include/linux/usb/musb.h | 13 ++ 23 files changed, 560 insertions(+), 86 deletions(-)
A message that is not in the archive (sent off-list or not yet received): 1285201596-26216-1-git-send-email-hemahk-l0cyMroinI0@public.gmane.org
Quoted 25 lines · Hema HK
Cc Felipe Balbi <[email protected]>Cc Tony Lindgren <[email protected]>Cc Kevin Hilman <[email protected]>Cc Cousson, Benoit <[email protected]>Cc Paul Walmsley <[email protected]>This patch series makes OMAP2PLUS musb Module implemented in HWMOD FW way. It also implements musb driver to use the runtime pm apis.
PATCH[1/8 v3] and [PATCH 2/8 v3] are the pre-requisites for the hwmod support for the usb module.
[PATCH 9/9 v3] Is offmode fix for usb in idle path using runtime pm apis.
As per the OMAP usbotg specification[1] musb sysconfig register has to be set to force idle and force standby when not used and set smart idle/standby during operation.otherwise core-off will be prevented by musb.
[1]: http://focus.ti.com/pdfs/wtbu/SWPU223D_Final_EPDF_06_07_2010.pdf
This patch series is created top of "origin/pm-core" and below patch
Quoted 7 lines
OMAP2+: GPIO: move late PM out of interrupts-disabled idle path
[https://patchwork.kernel.org/patch/176172/]
by KevinThis patch series is tested on OMAP3630 zoom3, OMAP4430 SDP OMAP2430SDP. On OMAP3630 zoom3, off mode is tested on "origin/pm" branch using
omap3_pm_defconfig.
Can you report some more details of what was tested: OTG mode? peripheral mode? if so what drivers? host mode? if so, what mode? mass storage? etc.
Did the system still hit full-chip RET (or OFF) in idle? in suspend? did USB still work afterwards, etc.
Also, please fix up the subjects of the patches. Only the drivers/usb stuff should be prefixed with 'usb: musb:', the OMAP-specific code should be prefixed with 'OMAP...'
Thanks,
Kevin
Quoted 78 lines
Version History:
---------------
Version v3Added the patch for adding the hwmod database for OMAP2430.
Re-arranged the patches in such a way that first migrate the musb driver to use the runtime pm apis and then added a patch to support offmode in idle path. Calling the runtime pm apis before disabling the interupts in the idle path.
Added the #ifdef
CONFIG_PM_RUNTIMEcheck in the musb core driver for calling the runtime PM APIs as non-omap platforms may not have the runtime pm enabled and clk_enable/disable should be called for them.Optimized the context save restore of musb registers only if the next state is going to offmode and previous state was offmode.
Addressed few review comments on coding styles.
Some of the links for v2 review comments
----------------------------------------
http://www.mail-archive.com/[email protected]/msg34068.html
http://www.mail-archive.com/[email protected]/msg32024.html
http://www.spinics.net/lists/linux-usb/msg35562.html
http://www.spinics.net/lists/linux-usb/msg35720.htmlVesrion v2:
Fixed review comments.
Removed theomap_hwmod.hinclusion frommusb.hfile which was breaking the non-omap platform build.
Using the runtime pm apis in the idle path(interrupts disabled). Added the omap4 hwmod data base.Version v1:
initial version of the patch series.Some of the links for v1
------------------------http://www.spinics.net/lists/linux-usb/msg34570.html
http://www.spinics.net/lists/linux-omap/msg34568.html
http://www.spinics.net/lists/linux-usb/msg34544.html
http://www.spinics.net/lists/linux-usb/msg34540.html
http://www.spinics.net/lists/linux-usb/msg34589.html
http://www.spinics.net/lists/linux-usb/msg34554.html
http://www.mail-archive.com/[email protected]/msg32973.htmlCousson, Benoit (1):
usb: musb: HWMOD database structures addition for OMAP4Hema HK (8):
usb: musb: Adding names for IRQs in resource structure
usb: musb: Removeboard_dataparameter frommusb_platform_init()
usb: musb: HWMOD database structures addition for OMAP3
usb: musb: HWMOD database structures addition for OMAP2430
usb: musb: Usingomap_device_buildfor musb device registration
OMAP: Hwmod api changes
usb : musb: Using runtime pm apis for musb.
usb : musb: Offmode fix for idle patharch/arm/mach-davinci/usb.c | 2 + arch/arm/mach-omap2/cpuidle34xx.c | 1 + arch/arm/mach-omap2/omap_hwmod.c | 19 ++- arch/arm/mach-omap2/omap_hwmod_2430_data.c | 102 ++++++++++++++++ arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 105 +++++++++++++++++ arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 99 ++++++++++++++++ arch/arm/mach-omap2/pm34xx.c | 3 + arch/arm/mach-omap2/usb-musb.c | 175 ++++++++++++++++++++++------ arch/arm/plat-omap/include/plat/usb.h | 2 + arch/blackfin/mach-bf527/boards/cm_bf527.c | 2 + arch/blackfin/mach-bf527/boards/ezbrd.c | 2 + arch/blackfin/mach-bf527/boards/ezkit.c | 2 + arch/blackfin/mach-bf548/boards/cm_bf548.c | 2 + arch/blackfin/mach-bf548/boards/ezkit.c | 2 + drivers/usb/musb/blackfin.c | 2 +- drivers/usb/musb/cppi_dma.c | 2 +-
Quoted 8 lines
drivers/usb/musb/davinci.c | 2 +- drivers/usb/musb/musb_core.c | 40 ++++++- drivers/usb/musb/musb_core.h | 2 +- drivers/usb/musb/musbhsdma.c | 2 +- drivers/usb/musb/omap2430.c | 63 ++++------ drivers/usb/musb/tusb6010.c | 2 +- include/linux/usb/musb.h | 13 ++ 23 files changed, 560 insertions(+), 86 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html