Grazvydas Ignotas [Sun, 17 Mar 2013 18:23:22 +0000 (20:23 +0200)]
usb: phy: twl4030-usb: ignore duplicate events
In some rare cases we may get multiple interrupts that will generate
duplicate omap_musb_mailbox() calls. This is a problem because each
VBUS/ID event generates runtime_pm call in OMAP glue code, causing
unbalanced gets or puts and breaking PM.
The same goes for initial state, glue already defaults to "no cable"
state, so only bother it if we have VBUS or ID.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Reviewed-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Grazvydas Ignotas [Sun, 17 Mar 2013 18:23:21 +0000 (20:23 +0200)]
usb: phy: twl4030-usb: don't enable PHY during init
There is no need to do it, otg.set_suspend(false) (which itself
comes from runtime_pm OMAP glue calls) will enable it later anyway.
This used to be the place where things were enabled if booted with
cable connected before runtime_pm conversion, but now can be dropped.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Wed, 20 Mar 2013 12:18:28 +0000 (14:18 +0200)]
arm: tegra: fix Kconfig select clauses
USB_ULPI and USB_ULPI_VIEWPORT shouldn't really
be selected directly by anyone, but since Tegra
still needs some time before turning ulpi viewport
into a proper PHY driver, we need to keep the
selects in place.
This patch just fixes the conditional select
so that it will continue to build after merging
the latest PHY layer changes.
Acked-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Wed, 20 Mar 2013 06:01:53 +0000 (08:01 +0200)]
usb: phy: gpio-vbus: don't ignore regulator APIs return value
Due to recent changes to regulator API, all
users which don't check regulator_{en,dis}able()'s
return value will generate compile warnings.
Add such checks to gpio-vbus.
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 19 Mar 2013 08:14:35 +0000 (10:14 +0200)]
usb: phy: samsung: fix sparse warning
Fix the following sparse warning:
drivers/usb/phy/phy-samsung-usb2.c:50:26: sparse: incorrect type in argument 1 (different address spaces)
drivers/usb/phy/phy-samsung-usb2.c:50:26: expected void const volatile [noderef] <asn:2>*addr
drivers/usb/phy/phy-samsung-usb2.c:50:26: got void *
Cc: Vivek Gautam <gautam.vivek@samsung.com>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Fabio Baltieri [Fri, 8 Mar 2013 02:27:09 +0000 (10:27 +0800)]
usb: phy: ab8500-usb: update irq handling code
Update irq handling code to notify all possible link status changes of
AB8500 and AB8505 to the ux500-musb glue driver. The additional event
codes will be used for pm-runtime implementation, and are defined in a
separate ux500-specific header.
This also modify the irq registration code to use devm_* helpers and
drop all non necessary fail path code.
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Fabio Baltieri [Fri, 8 Mar 2013 02:27:08 +0000 (10:27 +0800)]
usb: otg: ab8500-usb: drop support for ab8500 pre v2.0
AB8500 versions preceding 2.0 were only used internally by ST-Ericsson
and are not supported anymore. This patch drops all v1.0 and v1.1
support code.
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Fabio Baltieri [Fri, 8 Mar 2013 02:27:07 +0000 (10:27 +0800)]
usb: musb: ux500: add otg notifier support
Add transceiver notifier event handling to the ux500 driver to set vbus
on specific transceiver events.
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
[ balbi@ti.com: fix build error due to missing
otg_state_string() ]
Signed-off-by: Felipe Balbi <balbi@ti.com>
Fabio Baltieri [Fri, 8 Mar 2013 02:27:06 +0000 (10:27 +0800)]
usb: musb: ux500: implement musb_set_vbus
Add ux500_musb_set_vbus() implementation for ux500.
This is based on the version originally developed inside ST-Ericsson.
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
[ balbi@ti.com: fix a build error due to
missing otg_state_string() ]
Signed-off-by: Felipe Balbi <balbi@ti.com>
Virupax Sadashivpetimath [Fri, 8 Mar 2013 02:27:05 +0000 (10:27 +0800)]
usb: musb: ux500_dma: add missing MEM resource check
Fix dma_controller_create() fail path in case memory resource is
missing.
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com>
Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Fri, 15 Mar 2013 09:05:03 +0000 (11:05 +0200)]
usb: host: ohci-exynos: fix PHY error handling
PHY layer no longer returns NULL. We must
switch from IS_ERR_OR_NULL() to IS_ERR().
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Fri, 15 Mar 2013 09:04:15 +0000 (11:04 +0200)]
usb: host: ehci-s5p: fix PHY error handling
PHY layer no longer returns NULL. We must
switch from IS_ERR_OR_NULL() to IS_ERR().
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Fri, 15 Mar 2013 09:03:30 +0000 (11:03 +0200)]
usb: host: ehci-mv: fix PHY error handling
PHY layer no longer returns NULL. We must
switch from IS_ERR_OR_NULL() to IS_ERR().
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Fri, 15 Mar 2013 09:02:56 +0000 (11:02 +0200)]
usb: host: ehci-msm: fix PHY error handling
PHY layer no longer returns NULL. We must
switch from IS_ERR_OR_NULL() to IS_ERR().
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Fri, 15 Mar 2013 08:57:40 +0000 (10:57 +0200)]
usb: musb: omap2430: fix PHY error handling
PHY layer no longer returns NULL. It will
return -ENXIO when PHY layer isn't enabled
and we can use that to bail out instead of
request a probe deferral.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Fri, 15 Mar 2013 08:56:19 +0000 (10:56 +0200)]
usb: gadget: s3c-hsotg: fix PHY error handling
PHY laye rno longer return NULL. We need to
switch over from IS_ERR_OR_NULL() to IS_ERR().
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Fri, 15 Mar 2013 08:54:59 +0000 (10:54 +0200)]
usb: gadget: mv_udc_core: fix PHY error handling
PHY layer no longer returns NULL. It will
return -ENXIO when PHY layer isn't enabled
and we can use that to bail out instead of
request a probe deferral.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Fri, 15 Mar 2013 08:52:08 +0000 (10:52 +0200)]
usb: dwc3: fix PHY error handling
PHY layer no longer returns NULL. It will
return -ENXIO when PHY layer isn't enabled
and we can use that to bail out instead of
request a probe deferral.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Kishon Vijay Abraham I [Fri, 15 Mar 2013 13:28:52 +0000 (18:58 +0530)]
usb: phy: twl4030: fix cold plug on OMAP3
Having twl4030_usb_phy_init() (detects if a cable is connected before
twl4030 is probed) in twl4030 probe makes cable connect events to be
missed by musb glue, since it gets loaded after twl4030. Having
twl4030_usb_phy_init as a usb_phy ops lets twl4030_usb_phy_init to be
called when glue is ready.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Tested-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Kishon Vijay Abraham I [Fri, 15 Mar 2013 13:28:51 +0000 (18:58 +0530)]
usb: phy: twl4030: use devres API for regulator get and request irq
Used devres APIs devm_request_threaded_irq and devm_regulator_get for
requesting irq and for getting regulator respectively.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Tested-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 14 Mar 2013 15:59:06 +0000 (17:59 +0200)]
usb: phy: return -ENXIO when PHY layer isn't enabled
in cases where PHY layer isn't enabled, we want
to still return an error code (actually an error
pointer) so that our users don't need to cope with
either error pointer of NULL.
This will simplify users as below:
- return IS_ERR(phy) ? PTR_ERR(phy) : -ENODEV;
+ return PTR_ERR(phy);
Acked-by: Kishon Vijay Abraham I <kishon@ti.com>
Reported-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Kishon Vijay Abraham I [Thu, 14 Mar 2013 06:23:58 +0000 (11:53 +0530)]
usb: musb: omap: add usb_phy_init in omap2430_musb_init
Some PHYs load too early (twl4030) making omap glue to miss cable connect events
if the board is booted with cable connected. So adding usb_phy_init in
omap2430_musb_init lets PHYs to report events once glue is ready.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Kishon Vijay Abraham I [Thu, 14 Mar 2013 06:23:56 +0000 (11:53 +0530)]
usb: musb: omap: remove the check before calling otg_set_vbus
No functional change. otg_set_vbus is already protected so removed the
check before calling otg_set_vbus.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Dan Carpenter [Thu, 14 Mar 2013 08:01:05 +0000 (11:01 +0300)]
usb: gadget: uvc: use capped length value
"req->length" is a capped version of "data->length".
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 14 Mar 2013 14:00:58 +0000 (16:00 +0200)]
usb: dwc3: omap: fix sparse warning
our global '_omap' pointer wasn't marked
static. This patch solves the following sparse
warning:
warning: symbol '_omap' was not declared. \
Should it be static?
Signed-off-by: Felipe Balbi <balbi@ti.com>
Kishon Vijay Abraham I [Thu, 7 Mar 2013 13:21:46 +0000 (18:51 +0530)]
usb: musb: omap2430: replace *_* with *-* in property names
No functional change. Replace *_* with *-* in property names of otg to
follow the general convention.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Chen Gang [Fri, 1 Mar 2013 19:46:33 +0000 (20:46 +0100)]
usb: gadget: uvc: Use strlcpy instead of strncpy
For NULL terminated string, better notice '\0' in the end.
Signed-off-by: Chen Gang <gang.chen@asianux.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Cyril Roelandt [Fri, 1 Mar 2013 19:46:32 +0000 (20:46 +0100)]
usb: gadget: uvc: Use GFP_ATOMIC under spin lock
Found using the following semantic patch:
<spml>
@@
@@
spin_lock_irqsave(...);
... when != spin_unlock_irqrestore(...);
* GFP_KERNEL
</spml>
Signed-off-by: Cyril Roelandt <tipecaml@gmail.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Bhupesh Sharma [Fri, 1 Mar 2013 19:46:31 +0000 (20:46 +0100)]
usb: gadget: uvc: Make video streaming buffer size comply with USB3.0 SS
As per the USB3.0 specs, the bandwidth requirements of a UVC's video
streaming endpoint will change to support super-speed. These changes
will be dependent on whether the UVC video streaming endpoint is Bulk or
Isochronous:
- If video streaming endpoint is Isochronous:
As per Section 4.4.8.2 (Isochronous Transfer Bandwidth Requirements)
of the USB3.0 specs:
A SuperSpeed isochronous endpoint can move up to three burst
transactions of up to 16 maximum sized packets (3 * 16 * 1024 bytes)
per service interval.
- If video streaming endpoint is Bulk:
As per 4.4.6.1 (Bulk Transfer Data Packet Size) of the USB3.0 specs:
An endpoint for bulk transfers shall set the maximum data packet
payload size in its endpoint descriptor to 1024 bytes. It also
specifies the burst size that the endpoint can accept from or
transmit on the SuperSpeed bus. The allowable burst size for a bulk
endpoint shall be in the range of 1 to 16.
So, in the Isochronous case, we can define the USB request's buffer to
be equal to = (Maximum packet size) * (bMaxBurst + 1) * (Mult + 1), so
that the UDC driver can try to send out this buffer in one Isochronous
service interval.
The same computation will hold good for the Bulk case as the Mult
value is 0 here and we can have a USB request buffer of maximum
16 * 1024 bytes size, which can be sent out by the UDC driver as
per the Bulk bandwidth allocation on the USB3 bus.
This patch adds the above-mentioned support and is also USB2.0 backward
compliant.
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Bhupesh Sharma [Fri, 1 Mar 2013 19:46:30 +0000 (20:46 +0100)]
usb: gadget: uvc: Delay the status stage when setting alternate setting 1
This patch adds the support in UVC webcam gadget design for providing
USB_GADGET_DELAYED_STATUS in response to a set_interface(alt setting 1)
command issue by the Host.
The current UVC webcam gadget design generates a STREAMON event
corresponding to a set_interface(alt setting 1) command from the Host.
This STREAMON event will eventually be routed to a real V4L2 device.
To start video streaming, it may be required to perform some register
writes to a camera sensor device over slow external busses like I2C or
SPI. So, it makes sense to ensure that we delay the STATUS stage of the
set_interface (alt setting 1) command.
Otherwise, a lot of ISOC IN tokens sent by the Host will be replied to
by zero-length packets by the webcam device. On certain Hosts this may
even lead to ISOC URBs been cancelled from the Host side.
So, as soon as we finish doing all the "streaming" related stuff on the
real V4L2 device, we call a STREAMON ioctl on the UVC side and from here
we call the 'usb_composite_setup_continue' function to complete the
status stage of the set_interface(alt setting 1) command.
Further, we need to ensure that we queue no video buffers on the UVC
webcam gadget, until we de-queue a video buffer from the V4L2 device.
So, the application should call the STREAMON on UVC side only when it
has dequeued sufficient buffers from the V4L2 side and queued them to
the UVC gadget.
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Bhupesh Sharma [Fri, 1 Mar 2013 19:46:29 +0000 (20:46 +0100)]
usb: gadget: uvc: Add fix for UVC compliance test suite's assertion 6.1.25 failure
As per the UVC compliance test suite's assertion 6.1.25, the `iFunction`
field of the Interface Association Descriptor (IAD) should the match the
`iInterface` field of the standard Video Control (VC) Interface Descriptor for
this Video Interface Collection (VIC).
This mandatory case is captured in section 3.11 of the
USB Video Class Compliance specification revision 1.1
This patch fixes this test assertion's failure and has been tested on
Linux FC16, WinXP, WIN7 and WIN8 High speed and Super Speed hosts
for successful enumeration.
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@st.com>
[Merged the association and control string descriptors]
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Bhupesh Sharma [Fri, 1 Mar 2013 19:46:28 +0000 (20:46 +0100)]
usb: gadget: uvc: Add fix for UVC compliance test suite assertion 6.3.90 failure
As per UVC compliance test specification's assertion number 6.3.90
related to 'Standard VS Isochronous Video Data Endpoint Descriptor Assertions',
the bits D3..2 of 'bmAttributes' field of Standard VS Isochronous Video Data
Endpoint Descriptor should be 01 (binary) to indicate that the
synchronization type is ASYNCHRONOUS.
This mandatory requirement has been captured in section 3.10.1.1 of the UVC
Video Class Specification version 1.1
This patch adds a fix for the same.
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Laurent Pinchart [Fri, 1 Mar 2013 19:46:27 +0000 (20:46 +0100)]
usb: gadget: uvc: Configure the streaming endpoint based on the speed
Call the appropriate usb_ep_autoconf*() function depending on the device
speed, and pass it the corresponding streaming endpoint.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Laurent Pinchart [Fri, 1 Mar 2013 19:46:26 +0000 (20:46 +0100)]
usb: gadget: uvc: Merge the streaming maxpacket and mult parameters
Compute the multiplier from the maximum packet size based on the speed.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Laurent Pinchart [Fri, 1 Mar 2013 19:46:25 +0000 (20:46 +0100)]
usb: gadget: uvc: Merge the SS/HS/FS control endpoint descriptors
The descriptors are identical, there's no need to have several copies of
them.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Laurent Pinchart [Fri, 1 Mar 2013 19:46:24 +0000 (20:46 +0100)]
usb: gadget: uvc: Fix coding style issues introduced by SS support
Let's keep the code consistent, people might want to read it.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Laurent Pinchart [Fri, 1 Mar 2013 19:46:23 +0000 (20:46 +0100)]
usb: gadget: uvc: Rename STATUS_BYTECOUNT to UVC_STATUS_MAX_PACKET_SIZE
Descriptive names make the code more readable.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Laurent Pinchart [Fri, 1 Mar 2013 19:46:22 +0000 (20:46 +0100)]
usb: gadget: uvc: clarify comment about string descriptors
The comment that describes string descriptors allocation isn't clear,
fix it.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Vivek Gautam [Thu, 14 Mar 2013 10:44:58 +0000 (16:14 +0530)]
usb: dwc3: exynos: use clk_prepare_enable and clk_disable_unprepare
Convert clk_enable/clk_disable to clk_prepare_enable/clk_disable_unprepare
calls as required by common clock framework.
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
CC: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Vivek Gautam [Thu, 14 Mar 2013 12:39:49 +0000 (18:09 +0530)]
usb: dwc3: exynos: Use of_platform API to create dwc3 core pdev
Used of_platform_populate() to create dwc3 core platform_device
from device tree data. Additionally some cleanup is also done.
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
CC: Felipe Balbi <balbi@ti.com>
CC: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Vivek Gautam [Thu, 14 Mar 2013 10:29:11 +0000 (15:59 +0530)]
usb: phy: samsung: Add PHY support for USB 3.0 controller
Adding PHY driver support for USB 3.0 controller for Samsung's
SoCs.
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Vivek Gautam [Thu, 14 Mar 2013 10:29:10 +0000 (15:59 +0530)]
usb: phy: samsung: Common out the generic stuff
Moving register and structure definitions to header file,
and keeping the generic functions to be used across
multiple PHYs in common phy helper driver under SAMSUNG_USBPHY,
and moving USB 2.0 PHY driver under SAMSUNG_USB2PHY.
Also allowing samsung PHY drivers be built as modules.
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Kishon Vijay Abraham I [Thu, 7 Mar 2013 13:21:44 +0000 (18:51 +0530)]
usb: dwc3: dwc3-omap: return -EPROBE_DEFER if probe has not yet executed
return -EPROBE_DEFER from dwc3_omap_mailbox in dwc3-omap.c, if the probe of
dwc3-omap has not yet been executed or failed.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Kishon Vijay Abraham I [Thu, 7 Mar 2013 13:21:43 +0000 (18:51 +0530)]
usb: dwc3: set dma_mask for dwc3_omap device
*dma_mask* is not set for devices created from dt data. So filled dma_mask
for dwc3_omap device here. And dwc3 core will copy the dma_mask from its
parent.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
George Cherian [Thu, 14 Mar 2013 10:35:24 +0000 (16:05 +0530)]
usb: dwc3: core: fix wrong OTG event regitser offset
This patch fixes the wrong OTG_EVT,OTG_EVTEN and OTG_STS register
offsets.
While at that, also add a missing register to debugfs regdump
utility.
Signed-off-by: George Cherian <george.cherian@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 14 Mar 2013 08:49:13 +0000 (10:49 +0200)]
usb: renesas: remove unused DMA_ADDR_INVALID
DMA_ADDR_INVALID isn't used anymore, it's safe
to remove it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 14 Mar 2013 08:48:02 +0000 (10:48 +0200)]
usb: gadget: uvc: remove references to DMA_ADDR_INVALID
gadget drivers shouldn't touch req->dma at all,
since UDC drivers are the ones required to handle
mapping and unmapping of the request buffer.
Remove references to DMA_ADDR_INVALID so we don't
creat false expectations to gadget driver writers.
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 14 Mar 2013 08:46:19 +0000 (10:46 +0200)]
usb: gadget: net2280: remove unused DMA_ADDR_INVALID
DMA_ADDR_INVALID isn't used anymore, it's safe
to remove it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 14 Mar 2013 08:45:42 +0000 (10:45 +0200)]
usb: gadget: net2272: remove unused DMA_ADDR_INVALID
DMA_ADDR_INVALID isn't used anymore, it's safe
to remove it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 14 Mar 2013 08:45:02 +0000 (10:45 +0200)]
usb: gadget: atmel: remove unused DMA_ADDR_INVALID
DMA_ADDR_INVALID isn't (and shouldn't) be used
anymore, let's remove it.
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Chen Gang [Mon, 11 Mar 2013 10:28:02 +0000 (18:28 +0800)]
usb: gadget: s3c-hsudc: delete outdated comment
since commit
d93e260 (usb: gadget: s3c-hsudc: use udc_start and udc_stop
functions) the 'driver' parameter has been deleted from
s3c_hsudc_stop_activity() but its documentation was left outdated. This
patch deletes the comment since it makes no sense anymore.
Signed-off-by: Chen Gang <gang.chen@asianux.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Fri, 8 Mar 2013 11:25:18 +0000 (13:25 +0200)]
usb: phy: isp1301: implement PHY API
this patch implements ->init() and ->set_vbus()
methods for isp1301 transceiver driver.
Later patches can now come in order to remove
the hackery from ohci-nxp and lpc32xx udc drivers.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Fri, 8 Mar 2013 11:22:58 +0000 (13:22 +0200)]
usb: phy: introduce ->set_vbus() method
this method will be used to enable or disable
the charge pump.
Whenever we have DRD devices, we need to be
able to turn VBUS on or off whenever we want.
Note that in the ideal case, this would be
controlled by the ID-pin Interrupt, but not
all devices have ID-pin properly routed since
manufacturers can choose to save that trace
if they're building a host-only product out
of a DRD IP.
This is also useful during debugging where
we might not have the proper cable hanging
around.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Fri, 8 Mar 2013 11:01:40 +0000 (13:01 +0200)]
usb: phy: isp1301: give it a context structure
this patch is a small preparation to fix
isp1301 driver so that other platforms can
use it.
We're defining our private data structure
to represent this device and adding the
PHY to the PHY list.
Later patches will come implementing proper
PHY API and removing bogus code from ohci_nxp
and lpc32xx_udc drivers.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 15:37:59 +0000 (17:37 +0200)]
usb: phy: rename all phy drivers to phy-$name-usb.c
this will make sure that we have sensible names
for all phy drivers. Current situation was already
quite bad with too generic names being used.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 09:31:18 +0000 (11:31 +0200)]
usb: phy: remove CONFIG_USB_OTG_UTILS
there are no more users of CONFIG_USB_OTG_UTILS
left in tree, we can remove it just fine.
[ kishon@ti.com : fixed a linking error due
to original patch forgetting to change
drivers/usb/Makefile ]
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 09:24:58 +0000 (11:24 +0200)]
usb: ehci: tegra: check against CONFIG_USB_PHY
CONFIG_USB_OTG_UTILS will be removed very
soon, so we should check CONFIG_USB_PHY
instead.
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 09:24:32 +0000 (11:24 +0200)]
usb: ehci: marvel: check against CONFIG_USB_PHY
CONFIG_USB_OTG_UTILS will be removed very
soon, so we should check CONFIG_USB_PHY
instead.
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 09:24:08 +0000 (11:24 +0200)]
usb: gadget: mv_udc_core: check against CONFIG_USB_PHY
CONFIG_USB_OTG_UTILS will be removed very
soon, so we should check CONFIG_USB_PHY
instead.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 09:23:50 +0000 (11:23 +0200)]
usb: power: pda_power: check against CONFIG_USB_PHY
CONFIG_USB_OTG_UTILS will be removed very
soon, so we should check CONFIG_USB_PHY
instead.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 09:13:43 +0000 (11:13 +0200)]
usb: phy: make it a menuconfig
We already have a considerable amount of USB
PHY drivers, making it a menuconfig just
prevents us from adding too much churn to
USB's menuconfig.
While at that, also select USB_OTG_UTILS from
this new menuconfig just to keep backwards
compatibility until we manage to remove
that symbol.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 09:01:15 +0000 (11:01 +0200)]
usb: phy: move all PHY drivers to drivers/usb/phy/
that's a much more reasonable location for
those drivers. It helps us saving drivers/usb/otg/
for when we actually start adding generic OTG
code.
Also completely delete drivers/usb/otg/ as there's
nothing left there.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 08:49:27 +0000 (10:49 +0200)]
usb: phy: convert EXPORT_SYMBOL to EXPORT_SYMBOL_GPL
we only want GPL users for our generic functions,
so let's switch over to EXPORT_SYMBOL_GPL.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 08:45:56 +0000 (10:45 +0200)]
usb: otg: move usb_otg_state_string to usb-common.c
otg.c only had a single function definition
which might make more sense to be placed in
usb-common.c. While doing that, we also delete
otg.c since it's now empty.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 08:39:57 +0000 (10:39 +0200)]
usb: otg: prefix otg_state_string with usb_
all other functions under drivers/usb/ start
with usb_, let's do the same thing.
This patch is in preparation for moving otg_state_string
to usb-common.c and deleting otg.c completely.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 5 May 2011 13:21:59 +0000 (16:21 +0300)]
usb: dwc3: gadget: use num_(in|out)_eps from HW params
that way we will only tell gadget framework about
the endpoints we actually have.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 5 May 2011 12:53:10 +0000 (15:53 +0300)]
usb: dwc3: calculate the number of endpoints
hwparams2 holds the number of endpoints which
were selected during RTL generation, we can
use that on our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Syam Sidhardhan [Tue, 5 Mar 2013 19:34:50 +0000 (01:04 +0530)]
usb: otg: fsl_otg: remove redundant NULL check before kfree
kfree on NULL pointer is a no-op.
Signed-off-by: Syam Sidhardhan <s.syam@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Fabio Baltieri [Wed, 20 Feb 2013 08:53:39 +0000 (09:53 +0100)]
usb: musb: drop dangling CONFIG_USB_MUSB_DEBUG
CONFIG_USB_MUSB_DEBUG option was removed in
5c8a86e usb: musb: drop unneeded musb_debug trickery
to cleanup the code from driver specific debug facilities. This patch
drops the last references to the musb debug config option,
unconditionally enabling all debug code paths, thus letting that code
being dropped at compile time if not needed.
Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Sachin Kamat [Tue, 5 Mar 2013 04:12:15 +0000 (09:42 +0530)]
usb: gadget: fsl_udc_core: Use module_platform_driver_probe macro
module_platform_driver_probe() eliminates the boilerplate and simplifies
the code.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Li Yang <leoli@freescale.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Vivek Gautam [Sat, 2 Mar 2013 13:25:24 +0000 (18:55 +0530)]
usb: dwc3: set 'mode' based on selected Kconfig choices
Now that machines may select dwc3's working mode (HOST only,
GADGET only or DUAL_ROLE) via Kconfig, let's set dwc3's mode
based on that, rather than fixing it to whatever hardware
says.
This way we can skip initializing Gadget/Host in case
we are using Host-only/Gadget-only mode respectively.
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Marc Kleine-Budde [Thu, 28 Feb 2013 10:52:30 +0000 (11:52 +0100)]
usb: phy: mxs: use readl(), writel() instead of the _relaxed() versions
This patch converts the mxs-phy driver from readl_relaxed(), writel_relaxed()
to the plain readl(), writel() functions, which are available on all platforms.
This is done to enable compile time testing on non ARM platforms.
Reported-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Sascha Hauer [Wed, 27 Feb 2013 14:16:30 +0000 (15:16 +0100)]
usb: phy: mxs-phy: register phy with framework
We now have usb_add_phy_dev(), so use it to register with the framework
to be able to find the phy from the USB driver.
Tested-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Reviewed-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Sascha Hauer [Wed, 27 Feb 2013 14:16:28 +0000 (15:16 +0100)]
usb: phy: move bulk of otg/otg.c to phy/phy.c
Most of otg/otg.c is not otg specific, but phy specific, so move it
to the phy directory.
Tested-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Reported-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 18 Sep 2012 18:39:24 +0000 (21:39 +0300)]
usb: dwc3: workaround: unexpected transtion U3 -> RESUME
In DWC3 versions < 2.50a configured without
Hibernation mode enabled, there will be an
extra link status change interrupt if device
detects host-initiated U3 exit.
In that case, core will generate an unnecessary
U3 -> RESUME transition which should be ignored
by the driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 18 Sep 2012 18:22:32 +0000 (21:22 +0300)]
usb: dwc3: core: define more revisions
Some new revisions of the DWC3 core have
been released, let's add our defines to help
implementing known erratas.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 17:15:14 +0000 (19:15 +0200)]
usb: gadget: udc-core: anywone can read 'speed' attributes
current code only allows the file owner (usually
root) to read current_speed and maximum_speed
sysfs files. Let anyone read those.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:25:41 +0000 (15:25 +0200)]
usb: gadget: udc-core: remove protection when setting gadget.dev.release
now that no UDC driver touches gadget.dev.release
we can assign our release function to it without
being afraid of breaking anything.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:51 +0000 (15:15 +0200)]
usb: renesas: gadget: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:28 +0000 (15:15 +0200)]
usb: musb: gadget: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:28 +0000 (15:15 +0200)]
usb: gadget: s3c-hsotg: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:27 +0000 (15:15 +0200)]
usb: gadget: r8a66597-udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:27 +0000 (15:15 +0200)]
usb: gadget: pch_udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:27 +0000 (15:15 +0200)]
usb: gadget: omap_udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:27 +0000 (15:15 +0200)]
usb: gadget: net2280: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:27 +0000 (15:15 +0200)]
usb: gadget: net2272: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:27 +0000 (15:15 +0200)]
usb: gadget: mv_udc_core: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:27 +0000 (15:15 +0200)]
usb: gadget: mv_u3d_core: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:26 +0000 (15:15 +0200)]
usb: gadget: m66592-udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:26 +0000 (15:15 +0200)]
usb: gadget: goku_udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:26 +0000 (15:15 +0200)]
usb: gadget: fusb300_udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:26 +0000 (15:15 +0200)]
usb: gadget: fsl_udc_core: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:26 +0000 (15:15 +0200)]
usb: gadget: fsl_qe_udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:26 +0000 (15:15 +0200)]
usb: gadget: dummy_hcd: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:26 +0000 (15:15 +0200)]
usb: gadget: bcm63xx_udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:25 +0000 (15:15 +0200)]
usb: gadget: amd5536udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:11:05 +0000 (15:11 +0200)]
usb: dwc3: gadget: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:10:51 +0000 (15:10 +0200)]
usb: chipidea: udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:47:44 +0000 (14:47 +0200)]
usb: gadget: udc-core: introduce usb_add_gadget_udc_release()
not all UDC drivers need a proper release function,
for those which don't need it, we udc-core will provide
a no-op release method so we can remove "redefinition"
of such methods in almost every UDC driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:37:17 +0000 (14:37 +0200)]
usb: renesas: gadget: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>