History log of /drivers/usb/renesas_usbhs/common.c
Revision Date Author Comments
53069af3fa8ba2849cd4785160690873995d4f39 05-Jan-2012 Shimoda, Yoshihiro <yoshihiro.shimoda.uh@renesas.com> usb: renesas_usbhs: add IRQ resource decoding for IRQF_SHARED

In case of the SH7757, the irq number of USB module and SUDMAC
are the same. So, we have to set the IRQF_SHARED in such a case.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
dfbb7f4fba47153de4be9ed6092804ebfd16bfbb 25-Nov-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: renesas_usbhs: add test-mode support

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
3dd492686c063f9fa9417c3888e7a8eeb504b5b9 31-Oct-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: gadget: renesas_usbhs: modify function name of usbhs_set_device_xx()

it was device configuration setting function, not only speed.
This patch modify function name usbhs_set_device_speed() -> usbhs_set_device_config()

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
b4fcea2a71cafc59a749fa3ef88e51af8c2e3b37 24-Oct-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: gadget: renesas_usbhs: unified callback function

renesas_usbhs needs callback for notify hotplug.
but it were 2 methods which are almost same.
This patch unified these into one.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
f1ee56a0004c4a5974e7a69665330b6ff818bf92 24-Oct-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: gadget: renesas_usbhs: add platform power control function

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
a49a88f108516fd5ae24e26df5a63beb847807df 24-Oct-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: gadget: renesas_usbhs: tidyup the unit of detection_delay

detection_delay was assumed as msec

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
76190152fb62650ea6530c166d9adbaa08cdb5d0 24-Oct-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: gadget: renesas_usbhs: tidyup usbhs_sys_clock_ctrl() was local function

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
3244a7b43f13682c3323ee0d781f0cb212e8b3e7 24-Oct-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: gadget: renesas_usbhs: remove usbhs_sys_usb_ctrl()

usbhs_sys_usb_ctrl() can collect into usbhs_sys_host/function_ctrl().

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2288e109931577582f09d6295029bbf098c6f939 24-Oct-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: gadget: renesas_usbhs: remove usbhs_sys_hispeed_ctrl()

usbhs_sys_hispeed_ctrl() can collect into usbhs_sys_host/function_ctrl().

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
cc27c96c2bee93068bfc60ea6b09611d88cef429 27-Nov-2011 Axel Lin <axel.lin@gmail.com> usb: convert drivers/usb/* to use module_platform_driver()

This patch converts the drivers in drivers/usb/* to use the
module_platform_driver() macro which makes the code smaller and a bit
simpler.

Cc: Felipe Balbi <balbi@ti.com>
Cc: Li Yang <leoli@freescale.com>
Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Lucas De Marchi <lucas.demarchi@profusion.mobi>
Cc: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
b7a8d17db9a86db1040862600cf3a02848f83844 27-Oct-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: gadget: renesas_usbhs: fixup section mismatch warning

Fix up the following section mismatch warnings:

WARNING: drivers/usb/renesas_usbhs/renesas_usbhs.o(.text+0xf5d): Section
mismatch in reference from the function usbhs_mod_probe() to the function
.devinit.text:usbhs_mod_host_probe() The function usbhs_mod_probe() references
the function __devinit usbhs_mod_host_probe(). This is often because
usbhs_mod_probe lacks a __devinit annotation or the annotation of
usbhs_mod_host_probe is wrong.

WARNING: drivers/usb/renesas_usbhs/renesas_usbhs.o(.text+0xfd7): Section
mismatch in reference from the function usbhs_mod_probe() to the function
.devexit.text:usbhs_mod_host_remove() The function usbhs_mod_probe() references
a function in an exit section. Often the function usbhs_mod_host_remove() has
valid usage outside the exit section and the fix is to remove the __devexit
annotation of usbhs_mod_host_remove.

WARNING: drivers/usb/renesas_usbhs/renesas_usbhs.o(.text+0x1005): Section
mismatch in reference from the function usbhs_mod_remove() to the function
.devexit.text:usbhs_mod_host_remove() The function usbhs_mod_remove()
references a function in an exit section. Often the function
usbhs_mod_host_remove() has valid usage outside the exit section and the fix is
to remove the __devexit annotation of usbhs_mod_host_remove.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
482982062f1bc25ffb5383ab724d73d1a7af07cf 13-Oct-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: gadget: renesas_usbhs: bugfix: don't modify platform data

renesas_usbhs has default callback functions and settings.
And it tried overwrite to platform private data
if platform doesn't have them.
So, if renesas_usbhs was compiled as module,
it will be hung-up on 2nd insmod.
This patch fixup it.
Special thanks to Bastian

Reported-by: Bastian Hecht <hechtb@googlemail.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
eb05191f6a9aba8344a0d5f28642b5ecf44d49a4 11-Oct-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: gadget: renesas_usbhs: add usbhs_set_device_speed() support for host

mod_host needs device speed setup function

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
a9be4a45627c0eaa5f3f16987243530f4df6b514 11-Oct-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: gadget: renesas_usbhs: make sure SOF packet sending-out control

It is enabled to set SOF packet output bit when USBRST bit was set.
And USBRST bit should be set 0 when SOF packet was output.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
f427eb64f4c5433a91da5eb139970dd5cbad9082 11-Oct-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: gadget: renesas_usbhs: support otg pin control

some renesas_usbhs device is supporting OTG external device interface.
In that device, it is necessary to control PWEN/EXTLP on DVSTCTR.
This patch support it.
But renesas_usbhs driver doesn't have OTG support for now.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
ef8bedb9048c293dfa85ac36482a1970646a8272 11-Oct-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: gadget: renesas_usbhs: move usbhs_usbreq_get/set_val() to common.c

usbhs_usbreq_get/set_val() functions were in pipe.c file,
but it is irrelevant to pipe.
this patch move it to common.c

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
75587f52c7b0d6c319515138a495a619b552a670 11-Oct-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: gadget: renesas_usbhs: add usbhs_bus_get_speed()

current mod_gadget had got usb speed on
usbhsg_irq_dev_state() which is status change interrupt callback function.
And the usb speed data was included in its parameter.

But this style works for mod_gadget,
but doesn't work for mod_host which
isn't interrupted when device status was changed.

This patch add usbhs_bus_get_speed() to solve this issue.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
258485d9904703c4cb3a2b3ee38fe2a0cbf01f48 11-Oct-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: gadget: renesas_usbhs: add bus control functions

this patch add DVSTCTR control function for HOST support

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
11935de5579a5d01b3c89d69b4fc7a38b4dd8eae 11-Oct-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: gadget: renesas_usbhs: change usbhsc_bus_ctrl() to usbsc_set_buswait()

renesas_usbhs will have register DVSTCTR control function for HOST support.
This patch changes usbhsc_bus_ctrl() to usbsc_set_buswait(),
to remove DVSTCTR access from it,

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
ca8a282a5373f96d0ea002d97a168211448e8526 11-Oct-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: gadget: renesas_usbhs: add suspend/resume support

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
233f519d273454e3e804e21363d5ef0bd031acfe 07-Jul-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: renesas_usbhs: fixup comment-out

This patch add/modify comment-out of renesas_usbhs.
On this process, usbhs_pkt_init was moved because it was placed under
usbhsf_null_handler which has no relationship it

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
e73a9891b3a1c9fc0970e0c9dbe2cc47933ad752 06-Jun-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: renesas_usbhs: add DMAEngine support

USB DMA was installed on "normal DMAC" when SH7724 or older SuperH,
but the "USB-DMAC" was prepared on recent SuperH.
These 2 DMAC have a little bit different behavior.

This patch add DMAEngine code for "normal DMAC",
but it is still using PIO fifo.
The DMA fifo will be formally supported in the future.

You can enable DMA fifo by local fixup
usbhs_fifo_pio_push_handler -> usbhs_fifo_dma_push_handler
usbhs_fifo_pio_pop_handler -> usbhs_fifo_dma_pop_handler
on usbhsg_ep_enable.

This DMAEngine was tested by g_file_storage on SH7724 Ecovec board

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
d3af90a5e4e8fb7a93d408799682e566c9270808 06-Jun-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: renesas_usbhs: add usbhsf_fifo

renesas_usbhs has CFIFO/D0FIFO/D1FIFO.
But current renesas_usbhs is using CFIFO (for PIO) only for now.
The fifo selection method is needed for DMAEngine support.
This is a preparation for DMAEngine support

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
97f93227e646741adf4d7cbf4baf7a087746e93a 11-May-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: renesas_usbhs: fixup error processing on probe/remove

The error processing order was wrong.
This patch modify it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
b002ff6e268b6024d6927a1ce330a14ca162b6ab 28-Apr-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: renesas_usbhs: add autonomy mode

Current renesas_usbhs was designed to save power when USB is not connected.
And it assumed platform uses callback to notify connection/disconnection
by external interrupt.

But some SuperH / platform board doesn't have such feature.

This patch adds autonomy mode which detect USB connection/disconnection
by internal interrupt.
But power will be always ON when autonomy mode is selected.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
bc57381e634782009b1cb2e86b18013699ada576 28-Apr-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: renesas_usbhs: use delayed_work instead of work_struct

This delay is used to overjump debounce.

And, this patch also move usbhsc_drvcllbck_notify_hotplug to global,
because it will be called from other files.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
6e267da8f10b1a6551b6c4dee3779f6f56e2644d 28-Apr-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: renesas_usbhs: add power control function

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
206dcc2cfe15b6174f15293ae15a097ee03eb386 28-Apr-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: renesas_usbhs: move pdev_to_priv to global

usbhs_pdev_to_priv function will be used in other files.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
af32fe511374f17feb137d7fbfe2f4c73a8f531c 21-Apr-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: renesas_usbhs: remove callback when module removed.

The callback function which is called from platform must be removed
if module removed.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
f1407d5c66240b33d11a7f1a41d55ccf6a9d7647 04-Apr-2011 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> usb: renesas_usbhs: Add Renesas USBHS common code

Renesas SuperH has USBHS IP which can switch Host / Function.
This driver is designed so that Host / Function may dynamically change.
This patch add usb/renesas_usbhs and common code for SuperH USBHS.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>