aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/usb-musb.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for-tony' of ↵Tony Lindgren2011-05-241-5/+5
|\ | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/balbi/usb into omap-for-linus
| * usb: otg: OMAP4430: Powerdown the internal PHY when USB is disabledHema HK2011-05-181-0/+2
| | | | | | | | | | | | | | | | | | Powerdown the internal UTMI PHY when USB is not enabled. This will allow the OMAP core domain to transition to retention and offmode. Signed-off-by: Hema HK <hemahk@ti.com> Cc: Felipe Balbi <balbi@ti.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
| * usb: musb: OMAP4430: Power down the PHY during board initHema HK2011-05-181-5/+3
| | | | | | | | | | | | | | | | | | | | | | Powerdown the internal PHY during board init for OMAP44xx. So that when musb is disabled core transition to retention/off is not blocked. Signed-off-by: Hema HK <hemahk@ti.com> Cc: Tony Lindgren <tony@atomide.com> Cc: Paul Walmsley <paul@pwsan.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
* | omap: musb: introduce default board configMike Rapoport2011-05-091-1/+13
|/ | | | | | | | | Most boards use exactly the same configuration for musb initialization. Create a default that can be shared amount different boards. Signed-off-by: Mike Rapoport <mike@compulab.co.il> Acked-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* Merge branch 'omap-for-linus' of ↵Linus Torvalds2011-03-171-137/+83
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 * 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (258 commits) omap: zoom: host should not pull up wl1271's irq line arm: plat-omap: iommu: fix request_mem_region() error path OMAP2+: Common CPU DIE ID reading code reads wrong registers for OMAP4430 omap4: mux: Remove duplicate mux modes omap: iovmm: don't check 'da' to set IOVMF_DA_FIXED flag omap: iovmm: disallow mapping NULL address when IOVMF_DA_ANON is set omap2+: mux: Fix compile when CONFIG_OMAP_MUX is not selected omap4: board-omap4panda: Initialise the serial pads omap3: board-3430sdp: Initialise the serial pads omap4: board-4430sdp: Initialise the serial pads omap2+: mux: Add macro for configuring static with omap_hwmod_mux_init omap2+: mux: Remove the use of IDLE flag omap2+: Add separate list for dynamic pads to mux perf: add OMAP support for the new power events OMAP4: Add IVA OPP enteries. OMAP4: Update Voltage Rail Values for MPU, IVA and CORE OMAP4: Enable 800 MHz and 1 GHz MPU-OPP OMAP3+: OPP: Replace voltage values with Macros OMAP3: wdtimer: Fix CORE idle transition Watchdog: omap_wdt: add fine grain runtime-pm ... Fix up various conflicts in - arch/arm/mach-omap2/board-omap3evm.c - arch/arm/mach-omap2/clock3xxx_data.c - arch/arm/mach-omap2/usb-musb.c - arch/arm/plat-omap/include/plat/usb.h - drivers/usb/musb/musb_core.h
| * OMAP2+: musb: hwmod adaptation for musb registrationHema HK2011-02-171-40/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Using omap_device_build API instead of platform_device_register for OMAP2430,OMAP3xxx, OMAP4430 and AM35x musb device registration. The device specific resources defined in centralized database will be used. Signed-off-by: Hema HK <hemahk@ti.com> Cc: Tony Lindgren <tony@atomide.com> Cc: Kevin Hilman <khilman@deeprootsystems.com> Cc: Cousson, Benoit <b-cousson@ti.com> Cc: Paul Walmsley <paul@pwsan.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
| * arm: omap4: usb: explicitly configure MUSB padsAnand Gadiyar2011-02-171-0/+40
| | | | | | | | | | | | | | | | | | | | | | Use the mux framework APIs to explicitly configure the MUSB pads. The MUSB controller in OMAP4 can use either the old ULPI interface, or the new internal PHY. Configure the pads accordingly. Signed-off-by: Anand Gadiyar <gadiyar@ti.com> Cc: Tony Lindgren <tony@atomide.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
| * usb: musb: AM35x: moving internal phy functions out of usb_musb.c fileHema HK2011-02-171-97/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Moved all the board specific internal PHY functions out of usb_musb.c file as this file is shared between the OMAP2+ and AM35xx platforms. There exists a file which has the functions specific to internal PHY used for OMAP4 platform. Moved all phy specific functions to this file and passing these functions through board data in the board file. Signed-off-by: Hema HK <hemahk@ti.com> Cc: Paul Walmsley <paul@pwsan.com> Cc: Tony Lindgren <tony@atomide.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
* | usb: musb: OMAP4430: Power down the PHY during board initHema HK2011-03-011-0/+4
|/ | | | | | | | | | | Powerdown the internal PHY during board init for OMAP44xx. So that when musb is disabled core transition to retention/off is not blocked. Signed-off-by: Hema HK <hemahk@ti.com> Cc: Tony Lindgren <tony@atomide.com> Cc: Paul Walmsley <paul@pwsan.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
* musb: am35x: fix compile error due to control apisAjay Kumar Gupta2010-12-101-0/+97
| | | | | | | | | | | | commit 4814ced5116e3b73dc4f63eec84999739fc8ed11 (OMAP: control: move plat-omap/control.h to mach-omap2/control.h) moved <plat/control.h> to another location, preventing drivers from accessing it, so we need to pass function pointers from arch code to be able to talk to internal PHY on AM35x. Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: split am35x to its own platform_driverFelipe Balbi2010-12-101-0/+1
| | | | | | | | | | | Just adding its own platform_driver, not really using it yet. When all HW glue layers are converted, more patches will come to split power management code from musb_core and move it completely to HW glue layer. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: split omap2430 to its own platform_driverFelipe Balbi2010-12-101-1/+1
| | | | | | | | | | | Just adding its own platform_driver, not really using it yet. When all HW glue layers are converted, more patches will come to split power management code from musb_core and move it completely to HW glue layer. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: trivial search and replace patchFelipe Balbi2010-12-101-1/+1
| | | | | | | | | | change all ocurrences of musb_hdrc to musb-hdrc. We will call glue layer drivers musb-<glue layer>, so in order to keep things somewhat standard, let's change the underscore into a dash. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: add Kconfig options for each glue layerFelipe Balbi2010-12-101-1/+1
| | | | | | | | | This will make things simpler when choosing which glue layer to compile. It avoids a lot of magic around the "default" Kconfig option and lets the user choose what exactly s/he wants to compile. Signed-off-by: Felipe Balbi <balbi@ti.com>
* usb: musb: add names for IRQs in structure resourceHema Kalliguddi2010-12-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Soon resource data will get automatically populated from a set of autogenerated data from TI's hardware database for the OMAP platform. Such database, might not have resources at the expected order by the current drivers. While we could hack in some exceptions to that tool to generate resources in a specific order, it seems less fragile to use the resource name instead. That way, no matter what order the resources are generated, the driver still work. Modified the OMAP, Blackfin and Davinci architecture files to add the name of the IRQs in the resource structures and musb driver to use the platform_get_irq_byname() api to get the device and dma irq numbers instead of using the index. Cc: Tony Lindgren <tony@atomide.com> Acked-by: Kevin Hilman <khilman@deeprootsystems.com> Acked-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Hema HK <hemahk@ti.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
* USB: AM35x: Add musb supportAjay Kumar Gupta2010-10-221-0/+4
| | | | | | | | | | | | | | AM35x has musb interface (version 1.8) and uses CPPI41 DMA engine. It has USB phy built inside the IP itself. Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Acked-by: Tony Lindgren <tony@atomide.com> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: linux-omap@vger.kernel.org Signed-off-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* omap: mux: Remove old mux codeTony Lindgren2010-07-051-1/+0
| | | | | | All mach-omap2 omaps should now use the new mux code. Signed-off-by: Tony Lindgren <tony@atomide.com>
* usb: musb: Add extvbus in musb_board_dataAjay Kumar Gupta2010-05-201-0/+1
| | | | | | | | | | | EXTVBUS programming is required by OMAP3EVM REV >=E to supply 500mA power so adding a flag which can be used by musb driver to program EXTVBUS. Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* omap4: Use irq line defines from irq-44xx.hSantosh Shilimkar2010-02-231-2/+2
| | | | | | | | | | | | | | This patch removes all the omap4 specific irq line defines from plat/irqs.h and includes auto-generated irqs-44xx.h All the legacy naming style defines are replaced with the one from irqs-44xx.h Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Reviewed-by: Kevin Hilman <khilman@deeprootsystems.com> Reviewed-by: Paul Walmsley <paul@pwsan.com> [tony@atomide.com: updated to compile with usb-musb.c] Signed-off-by: Tony Lindgren <tony@atomide.com>
* omap: musb: Add USB support to 4430 SDP board fileMaulik Mankad2010-02-231-2/+7
| | | | | | | | | | | | | | | | | | | | This patch adds support for Mentor USB to 4430 SDP board file. It also defines the base address for HS USB OTG controller in OMAP4. Also updates platform specfic structure with base address and IRQ details. Signed-off-by: Maulik Mankad <x0082077@ti.com> Cc: Tony Lindgren <tony@atomide.com> Cc: Felipe Balbi <felipe.balbi@nokia.com> Cc: David Brownell <david-b@pacbell.net> Cc: Greg Kroah-Hartman <gregkh@suse.de> Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: Olof Johansson <olof@lixom.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
* omap: musb: remove unnecessary returnFelipe Balbi2010-02-191-3/+1
| | | | | | | | trivial patch, no functional changes. Cc: linux-usb@vger.kernel.org Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* omap: musb: remove unused dma dataFelipe Balbi2010-02-191-3/+0
| | | | | | | | | we don't use those anywhere on musb driver, so let's remove those old stuff. Cc: linux-usb@vger.kernel.org Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* omap: musb: remove unused soft_con fieldFelipe Balbi2010-02-191-1/+0
| | | | | | | | remove unused data. Cc: linux-usb@vger.kernel.org Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* arm: omap: musb: we can use clk frameworkFelipe Balbi2010-02-191-22/+0
| | | | | | | | | ... in order to handle musb's clock. Let's start removing the old musb-only set_clock function. Cc: linux-usb@vger.kernel.org Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* omap: musb: remove unused dataFelipe Balbi2010-02-191-34/+0
| | | | | | | | eps_bits wasn't being used anywhere, let's remove it. Cc: linux-usb@vger.kernel.org Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* omap: musb: Pass board specific data from board fileMaulik Mankad2010-02-191-2/+5
| | | | | | | | | | | | | | | | | | Pass board specific data for MUSB (like interface_type, mode etc) from board file by defining board specific structure. Each board file can define this structure based on its requirement and pass this information to the driver. Signed-off-by: Maulik Mankad <x0082077@ti.com> Cc: Tony Lindgren <tony@atomide.com> Cc: Felipe Balbi <felipe.balbi@nokia.com> Cc: David Brownell <david-b@pacbell.net> Cc: Greg Kroah-Hartman <gregkh@suse.de> Cc: Gupta Ajay Kumar <ajay.gupta@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* arm: omap: musb: ioremap only what's oursFelipe Balbi2010-02-191-1/+1
| | | | | | | | omap3430 TRM says the OTG address space is 4k, not 8k. Cc: linux-usb@vger.kernel.org Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
* omap: headers: Move remaining headers from include/mach to include/platTony Lindgren2009-10-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the remaining headers under plat-omap/include/mach to plat-omap/include/plat. Also search and replace the files using these headers to include using the right path. This was done with: #!/bin/bash mach_dir_old="arch/arm/plat-omap/include/mach" plat_dir_new="arch/arm/plat-omap/include/plat" headers=$(cd $mach_dir_old && ls *.h) omap_dirs="arch/arm/*omap*/ \ drivers/video/omap \ sound/soc/omap" other_files="drivers/leds/leds-ams-delta.c \ drivers/mfd/menelaus.c \ drivers/mfd/twl4030-core.c \ drivers/mtd/nand/ams-delta.c" for header in $headers; do old="#include <mach\/$header" new="#include <plat\/$header" for dir in $omap_dirs; do find $dir -type f -name \*.[chS] | \ xargs sed -i "s/$old/$new/" done find drivers/ -type f -name \*omap*.[chS] | \ xargs sed -i "s/$old/$new/" for file in $other_files; do sed -i "s/$old/$new/" $file done done for header in $(ls $mach_dir_old/*.h); do git mv $header $plat_dir_new/ done Signed-off-by: Tony Lindgren <tony@atomide.com>
* MUSB: Remove usb_musb_pm_init() callAnand Gadiyar2009-09-021-12/+0
| | | | | | | | | | | | | | | | | | | | | | In usb_musb_pm_init, we attempt to access an MUSB register when the i-clock may not be on, or the module is otherwise not accessible. We need to either: - enable the clock before this access, or - remove this code and move it to the bootloader, or - enable the clock in the bootloader If we enable the clock in the bootloader, we might as well add the workaround in the bootloader itself. This code will anyway be changed once hwmod is in place, so remove it for now This allows us to boot the kernel on certain OMAP3 boards with a bootloader that doesn't enable this clock. Without this, we will need to upgrade the bootloaders on these boards. Signed-off-by: Anand Gadiyar <gadiyar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
* USB: musb: fix the nop registration for OMAP3EVMGupta, Ajay Kumar2009-08-071-21/+0
| | | | | | | | | | | | | | | | | | OMAP3EVM uses ISP1504 phy which doesn't require any programming and thus has to use NOP otg transceiver. Cleanups being done: - Remove unwanted code in usb-musb.c file - Register NOP in OMAP3EVM board file using usb_nop_xceiv_register(). - Select NOP_USB_XCEIV for OMAP3EVM boards. - Don't enable TWL4030_USB in omap3_evm_defconfig Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: Eino-Ville Talvala <talvala@stanford.edu> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* OMAP3: PM: Ensure MUSB block can idle when driver not loadedPeter 'p2' De Schrijver2009-05-281-0/+20
| | | | | | | Otherwise, bootloaders may leave MUSB in a state which prevents retention. Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
* OMAP2/3: PM: push core PM code from linux-omapKevin Hilman2009-05-281-1/+0
| | | | | | | | | | | | | | | | | | This patch is to sync the core linux-omap PM code with mainline. This code has evolved and been used for a while the linux-omap tree, but the attempt here is to finally get this into mainline. Following this will be a series of patches from the 'PM branch' of the linux-omap tree to add full PM hardware support from the linux-omap tree. Much of this PM core code was written by Jouni Hogander with significant contributions from Paul Walmsley as well as many others from Nokia, Texas Instruments and linux-omap community. Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com> Cc: Paul Walmsley <paul@pwsan.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
* Replace all DMA_nBIT_MASK macro with DMA_BIT_MASK(n)Yang Hongyang2009-04-131-4/+4
| | | | | | | | | | | | | | | | This is the second go through of the old DMA_nBIT_MASK macro,and there're not so many of them left,so I put them into one patch.I hope this is the last round. After this the definition of the old DMA_nBIT_MASK macro could be removed. Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Tony Lindgren <tony@atomide.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: James Bottomley <James.Bottomley@HansenPartnership.com> Cc: Greg KH <greg@kroah.com> Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* ARM: OMAP3: MUSB initialization for omap hw, v2Felipe Balbi2009-03-231-0/+187
Create a generic board-file for initializing usb on omap2430 and omap3 boards. Patch modified by Tony to build the module based on CONFIG_USB_MUSB_SOC. Also merged in a patch adding the nop xceiv from Ajay Kumar Gupta <ajay.gupta@ti.com>. Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>