On 07/09/15 04:24, Peter Chen wrote:
> On Mon, Aug 24, 2015 at 04:21:15PM +0300, Roger Quadros wrote:
>> This is to prevent missing symbol build error if OTG is
>> enabled (built-in) and HCD core (CONFIG_USB) is module.
>>
>> Signed-off-by: Roger Quadros <rog...@t
On 07/09/15 04:23, Peter Chen wrote:
> On Mon, Aug 24, 2015 at 04:21:18PM +0300, Roger Quadros wrote:
>> + * This is used by the USB Host stack to register the Host controller
>> + * to the OTG core. Host controller must not be started by the
>> + * caller as it is left upto
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256
Hi,
On 03/09/15 18:48, Felipe Balbi wrote:
> Hi,
>
> On Thu, Sep 03, 2015 at 03:46:43PM +0300, Roger Quadros wrote:
>> -BEGIN PGP SIGNED MESSAGE-
>> Hash: SHA256
>>
>> On 02/09/15 17:34, Felipe Balbi wrot
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256
Felipe,
On 03/09/15 18:44, Felipe Balbi wrote:
> Hi,
>
> On Thu, Sep 03, 2015 at 03:21:48PM +0300, Roger Quadros wrote:
>>>> + dwc->fsm->id = id;
>>>> + dwc->fsm->b_sess_vld
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256
On 03/09/15 18:51, Felipe Balbi wrote:
> Hi,
>
> On Thu, Sep 03, 2015 at 04:52:02PM +0300, Roger Quadros wrote:
>>>>if (on) {
>>>> - dwc3_set_mode(dwc, DWC3_GCTL_PRTCAP_HOST);
>>>> +
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256
On 02/09/15 17:47, Felipe Balbi wrote:
> On Wed, Sep 02, 2015 at 05:24:23PM +0300, Roger Quadros wrote:
>> There is a race happening during dwc3_drd_init() that causes
>> otg events to get disabled. This is what happens.
>>
>
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256
On 02/09/15 17:48, Felipe Balbi wrote:
> On Wed, Sep 02, 2015 at 05:24:24PM +0300, Roger Quadros wrote:
>> We can't rely just on dr_mode to decide if we're in host or gadget
>> mode when we're configured as otg/dual-role. So while dr
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256
On 02/09/15 17:44, Felipe Balbi wrote:
> On Wed, Sep 02, 2015 at 05:24:21PM +0300, Roger Quadros wrote:
>> Without this we loose OTG controller register context and malfunction
>> after a system suspend-resume.
>>
>> S
On 03/09/15 17:05, Sergei Shtylyov wrote:
> Hello.
>
> On 09/03/2015 05:01 PM, Roger Quadros wrote:
>
>>>> We can't rely just on dr_mode to decide if we're in host or gadget
>>>> mode when we're configured as otg/dual-role. So while dr_mode is
>>>&
On 02/09/15 20:22, Sergei Shtylyov wrote:
> Hello.
>
> On 09/02/2015 05:24 PM, Roger Quadros wrote:
>
>> We can't rely just on dr_mode to decide if we're in host or gadget
>> mode when we're configured as otg/dual-role. So while dr_mode is
>> OTG, we find out from
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256
On 02/09/15 17:43, Felipe Balbi wrote:
> Hi,
>
> On Wed, Sep 02, 2015 at 05:24:20PM +0300, Roger Quadros wrote:
>> If the ID pin event is not available over extcon
>> then we rely on the OTG controller to provide us ID an
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256
On 02/09/15 17:31, Felipe Balbi wrote:
> Hi,
>
> On Wed, Sep 02, 2015 at 05:24:16PM +0300, Roger Quadros wrote:
>> Register with the USB OTG core. Since we don't support
>> OTG yet we just work as a dual-role device even
>&g
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256
On 02/09/15 17:34, Felipe Balbi wrote:
> On Wed, Sep 02, 2015 at 05:24:19PM +0300, Roger Quadros wrote:
>> From: Felipe Balbi <ba...@ti.com>
>>
>> Add support to use interrupt names,
>>
>> Following are the int
Without this we loose OTG controller register context and malfunction
after a system suspend-resume.
Signed-off-by: Roger Quadros <rog...@ti.com>
---
drivers/usb/dwc3/core.c | 17 +
drivers/usb/dwc3/core.h | 6 +-
2 files changed, 22 insertions(+), 1 deletion(-)
diff
in dwc3_otg_init() but dwc3_otg_irq() has
already saved OEVTEN as 0 into dwc->oevten. So finally when
dwc3_irq_thread_irq() is called we save 0 into OEVTEN
thus disabling OTG irqs forever.
We fix this by disabling IRQs when configuring OEVTEN in
dwc3_otg_init().
Signed-off-by: Roger Quadros <rog...@
Gdget controller might not be always active during suspend/
resume when we are operating in dual-role/otg mode.
Check if we're active and only if we are then perform
necessary actions during suspend/resume.
Signed-off-by: Roger Quadros <rog...@ti.com>
---
drivers/usb/dwc3/gadget.c | 6 +++
irq and events during system suspend
so that we don't lockup the system during system suspend/resume.
Signed-off-by: Roger Quadros <rog...@ti.com>
---
drivers/usb/dwc3/core.c | 27 +--
1 file changed, 9 insertions(+), 18 deletions(-)
diff --git a/drivers/usb/dwc3/co
The wrapper interrupt is shared with OTG core so mark it IRQF_SHARED.
Signed-off-by: Roger Quadros <rog...@ti.com>
---
drivers/usb/dwc3/dwc3-omap.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c
index a
- http://thread.gmane.org/gmane.linux.kernel/2025239
[2] platform support - http://thread.gmane.org/gmane.linux.usb.general/127898
cheers,
-roger
Felipe Balbi (1):
usb: dwc3: core: Adapt to named interrupts
Roger Quadros (8):
usb: dwc3: add dual-role support
usb: dwc3: core.h: add some register
If the ID pin event is not available over extcon
then we rely on the OTG controller to provide us ID and VBUS
information.
We still don't support any OTG features but just
dual-role operation.
Signed-off-by: Roger Quadros <rog...@ti.com>
---
drivers/usb/dwc3/core.c
older DTBs.
- Use gadget_irq in gadget driver.
Signed-off-by: Felipe Balbi <ba...@ti.com>
Signed-off-by: Roger Quadros <rog...@ti.com>
---
drivers/usb/dwc3/core.c | 12
drivers/usb/dwc3/core.h | 7 +++
drivers/usb/dwc3/gadget.c | 2 +-
3 files changed, 2
Register with the USB OTG core. Since we don't support
OTG yet we just work as a dual-role device even
if device tree says "otg".
Use extcon framework to get VBUS/ID cable events and
kick the OTG state machine.
Signed-off-by: Roger Quadros <rog...@ti.com>
---
drivers
Add OTG and GHWPARAMS6 register definitions
Signed-off-by: Roger Quadros <rog...@ti.com>
---
drivers/usb/dwc3/core.h | 82 +
1 file changed, 82 insertions(+)
diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
index 5ca2b25..4
and doesn't change till the cable in unplugged and a different
cable type is inserted.
As we don't need most of the complex OTG states and OTG timers
we implement a lean DRD state machine in usb-otg.c.
The DRD state machine is only interested in 2 hardware inputs
'id' and 'b_sess_vld'.
Signed-off-by: Roger
-by: Roger Quadros rog...@ti.com
---
drivers/usb/core/hub.c | 10 +-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 431839b..3993168 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -2271,6 +2271,9 @@ static int
This is to prevent missing symbol build error if OTG is
enabled (built-in) and HCD core (CONFIG_USB) is module.
Signed-off-by: Roger Quadros rog...@ti.com
Acked-by: Peter Chen peter.c...@freescale.com
---
drivers/usb/common/usb-otg-fsm.c | 6 --
drivers/usb/phy/phy-fsl-usb.c| 2
Move the state_changed variable into struct otg_fsm
so that we can support multiple instances.
Signed-off-by: Roger Quadros rog...@ti.com
---
drivers/usb/common/usb-otg-fsm.c | 10 --
include/linux/usb/otg-fsm.h | 1 +
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git
,
from drivers/usb/dwc3/ep0.c:33:
include/linux/usb/otg-fsm.h:30:1: warning: VDBG redefined
In file included from drivers/usb/dwc3/ep0.c:31:
include/linux/usb/composite.h:615:1: warning: this is the location
of the previous definition
Signed-off-by: Roger
The OTG core will use struct otg_hcd_ops to
add/remove the HCD controller.
The main purpose of this interface is to avoid directly
calling usb_add/remove_hcd() from the OTG core as they
wouldn't be defined in the built-in symbol table if
CONFIG_USB is m.
Signed-off-by: Roger Quadros rog
driver that called usb_otg_register().
--
cheers,
-roger
Roger Quadros (13):
usb: otg-fsm: Add documentation for struct otg_fsm
usb: otg-fsm: support multiple instances
usb: otg-fsm: Prevent build warning VDBG redefined
otg-fsm: move usb_bus_start_enum into otg-fsm-ops
usb: hcd.h: Add
struct otg_fsm is the interface to the OTG state machine.
Document the input, output and internal state variables.
Definations are taken from Table 7-2 and Table 7-4 of
the USB OTG EH Specification Rev.2.0
Re-arrange some of the members as per use case for more
clarity.
Signed-off-by: Roger
The existing usb_add/remove_hcd() functionality
remains unchanged for non-OTG devices. For OTG
devices they only register the HCD with the OTG core.
Introduce usb_otg_add/remove_hcd() for use by OTG core.
These functions actually add/remove the HCD.
Signed-off-by: Roger Quadros rog...@ti.com
The otg-controller property is used to link the host/gadget
controllers to the otg controller. otg-controller property must
contain the phandle of the otg controller.
The otg core uses this property to tie the host/gadget
controllres to the correct otg controller.
Signed-off-by: Roger Quadros
usb_otg_register_gadget() in udc_bind_to_driver() and
usb_gadget_remove_driver() else it will cause a circular
locking dependency.
Ignore softconnect sysfs control when we're in OTG
mode as OTG FSM takes care of gadget softconnect using
the b_bus_req mechanism.
Signed-off-by: Roger Quadros rog...@ti.com
CONFIG_USB_OTG_FSM no longer exists and the OTG FSM
is available if CONFIG_USB_OTG is defined so move
to using CONFIG_USB_OTG.
Signed-off-by: Roger Quadros rog...@ti.com
---
Documentation/usb/chipidea.txt | 2 +-
drivers/usb/chipidea/Makefile | 2 +-
drivers/usb/chipidea/ci.h | 2
The OTG core will use struct otg_gadget_ops to
start/stop the gadget controller.
The main purpose of this interface is to avoid directly
calling usb_gadget_start/stop() from the OTG core as they
wouldn't be defined in the built-in symbol table if
CONFIG_USB_GADGET is m.
Signed-off-by: Roger
- Providing inputs to and kicking the OTG state machine
Signed-off-by: Roger Quadros rog...@ti.com
---
MAINTAINERS |4 +-
drivers/usb/Kconfig |2 +-
drivers/usb/Makefile |1 +
drivers/usb/common/Makefile |3 +-
drivers/usb/common/usb-otg.c | 1061
Hi Mathias,
On 18/08/15 13:39, Roger Quadros wrote:
Hi,
Plugging and unplugging a USB-OTG adapter with a USB device into a
am437x-gp-evm dual-role port (USB1) causes XHCI to malfunction
and USB device to be no longer detected after a few iterations.
The triggering case is so
1) USB1
On 18/08/15 15:14, Mathias Nyman wrote:
On 18.08.2015 13:39, Roger Quadros wrote:
xhci_stop will be called twice, once for the shared hcd
and again for the primary hcd.
We stop the XHCI controller in any case so clean up
everything on the first call else we can timeout
waiting for pending
]
Signed-off-by: Roger Quadros rog...@ti.com
---
drivers/usb/host/xhci.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 9a7f12c..accfb14 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -3783,6 +3783,9
For whatever reason if XHCI died in the previous instant
then it will never recover on the next xhci_start unless we
clear the DYING flag.
Signed-off-by: Roger Quadros rog...@ti.com
---
drivers/usb/host/xhci.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/host
xhci_stop will be called twice, once for the shared hcd
and again for the primary hcd.
We stop the XHCI controller in any case so clean up
everything on the first call else we can timeout
waiting for pending requests to complete.
Signed-off-by: Roger Quadros rog...@ti.com
---
drivers/usb/host
for both Shared and Primary
HCDs. This can happen asynchronously and we have to be prepared
for it.
--
cheers,
-roger
Roger Quadros (5):
usb: xhci: lock mutex on xhci_stop
usb: hcd: Initialize hcd-flags to 0
usb: xhci: Clear XHCI_STATE_DYING on start
usb: xhci: stop everything
[ 91.759190] [c005cb64] (kthread) from [c000fc08]
(ret_from_fork+0x14/0x2c)
[ 91.759206] r7: r6: r5:c005cb64 r4:ee429940
[ 91.759209] handlers:
[ 91.759255] [bf211b5c] usb_hcd_irq [usbcore]
[ 91.759260] Disabling IRQ #254
Signed-off-by: Roger Quadros rog...@ti.com
Else it races with xhci_setup_device
Signed-off-by: Roger Quadros rog...@ti.com
---
drivers/usb/host/xhci.c | 4
1 file changed, 4 insertions(+)
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 526ebc0..f998ddf 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host
Hi Peter,
On 13/07/15 13:20, Roger Quadros wrote:
On 13/07/15 05:14, Peter Chen wrote:
On Wed, Jul 08, 2015 at 01:19:33PM +0300, Roger Quadros wrote:
The OTG core instantiates the OTG Finite State Machine
per OTG controller and manages starting/stopping the
host and gadget controllers based
: generic: migrate to gpio_desc)
Cc: sta...@vger.kernel.org # 4.0+
Signed-off-by: Roger Quadros rog...@ti.com
---
drivers/usb/phy/phy-generic.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/phy/phy-generic.c b/drivers/usb/phy/phy-generic.c
index deee68e..0cd85f2 100644
On 05/08/15 17:18, Kishon Vijay Abraham I wrote:
Hi Roger,
On Wednesday 05 August 2015 01:55 PM, Roger Quadros wrote:
On 05/08/15 11:23, Roger Quadros wrote:
On 04/08/15 18:20, Kishon Vijay Abraham I wrote:
The USB2 PHY2 has a different register map compared to USB2 PHY1
to power on/off
On 04/08/15 18:30, Kishon Vijay Abraham I wrote:
Add syscon-phy-power property and remove the deprecated ctrl-module
property from SATA PHY node. Since omap_control_sata note is no longer
used, remove it.
Signed-off-by: Kishon Vijay Abraham I kis...@ti.com
Acked-by: Roger Quadros rog
On 04/08/15 18:30, Kishon Vijay Abraham I wrote:
Add new device tree node for the control module register space where
PCIe registers are present.
Signed-off-by: Kishon Vijay Abraham I kis...@ti.com
Acked-by: Roger Quadros rog...@ti.com
cheers,
-roger
---
arch/arm/boot/dts/dra7.dtsi
Signed-off-by: Kishon Vijay Abraham I kis...@ti.com
Acked-by: Roger Quadros rog...@ti.com
cheers,
-roger
---
arch/arm/boot/dts/dra7.dtsi | 24 +++-
1 file changed, 3 insertions(+), 21 deletions(-)
diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7
Vijay Abraham I kis...@ti.com
Acked-by: Roger Quadros rog...@ti.com
cheers,
-roger
---
arch/arm/boot/dts/am4372.dtsi | 16 ++--
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
index ade28c79..24fa073
Abraham I kis...@ti.com
Acked-by: Roger Quadros rog...@ti.com
cheers,
-roger
---
arch/arm/boot/dts/omap5.dtsi | 16 ++--
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
index c8fd648..f0b6cd6 100644
On 04/08/15 18:30, Kishon Vijay Abraham I wrote:
Add syscon-phy-power property and remove the deprecated ctrl-module
property from SATA PHY node.
Since omap_control_sata devicetree node is no longer used, remove it.
Signed-off-by: Kishon Vijay Abraham I kis...@ti.com
Acked-by: Roger
On 04/08/15 18:30, Kishon Vijay Abraham I wrote:
Add syscon-phy-power property and remove the deprecated ctrl-module
property from USB PHY dt node.
Since omap_control_usb2phy devicetree node is no longer used,
remove it.
Signed-off-by: Kishon Vijay Abraham I kis...@ti.com
Acked-by: Roger
= omap_control_usbotg;
+ syscon-otghs = scm_conf 0x33c;
All other properties were of the format syscon-phy-foo.
Why use a different format here?
Other than that
Acked-by: Roger Quadros rog...@ti.com
cheers,
-roger
};
aes: aes@4b501000
On 05/08/15 11:02, Roger Quadros wrote:
Kishon,
On 04/08/15 18:30, Kishon Vijay Abraham I wrote:
Add syscon-otghs property and remove the deprecated ctrl-module
property from MUSB devicetree node.
Since omap_control_usbotg devicetree node is no longer used, remove
it.
Signed-off
On 04/08/15 18:20, Kishon Vijay Abraham I wrote:
The USB2 PHY2 has a different register map compared to USB2 PHY1
to power on/off the PHY. In order to handle it, add a new
compatible string.
Signed-off-by: Kishon Vijay Abraham I kis...@ti.com
---
On 05/08/15 11:23, Roger Quadros wrote:
On 04/08/15 18:20, Kishon Vijay Abraham I wrote:
The USB2 PHY2 has a different register map compared to USB2 PHY1
to power on/off the PHY. In order to handle it, add a new
compatible string.
Signed-off-by: Kishon Vijay Abraham I kis...@ti.com
On 04/08/15 18:20, Kishon Vijay Abraham I wrote:
Deprecate using phy-omap-control driver to power on/off the PHY,
and use *syscon* framework to do the same. This handles
powering on/off the PHY for the USB2 PHYs used in various TI SoCs.
Signed-off-by: Kishon Vijay Abraham I kis...@ti.com
Hi,
On 21/07/15 13:52, Li Jun wrote:
Hi,
[...]
+ otg_timer_init(A_WAIT_ENUM, otgd, set_tmout, TB_SRP_FAIL, NULL);
2 timers are missing: B_DATA_PLS, B_SSEND_SRP.
Those 2 are not used by usb-otg-fsm.c. We can add it when usb-otg-fsm.c is
updated.
ok.
+}
[...]
+
+/**
+
'enum extcon' type)
Cc: Greg Kroah-Hartman gre...@linuxfoundation.org
Signed-off-by: Roger Quadros rog...@ti.com
---
drivers/extcon/extcon.c | 38 +-
1 file changed, 29 insertions(+), 9 deletions(-)
diff --git a/drivers/extcon/extcon.c b/drivers/extcon
Tony,
On 21/07/15 13:54, Tony Lindgren wrote:
* Roger Quadros rog...@ti.com [150708 03:45]:
Hi,
Enables dual-role feaure on supported boards.
Depends on
[1] - core USB DRD support -
http://thread.gmane.org/gmane.linux.kernel/1991413
[2] - dwc3 DRD support -
http://thread.gmane.org
On 20/07/15 04:23, Peter Chen wrote:
On Fri, Jul 17, 2015 at 01:47:12PM +0300, Roger Quadros wrote:
+ * DRD mode hardware Inputs
+ *
+ * @id: TRUE for B-device, FALSE for A-device.
+ * @vbus: VBUS voltage in regulation.
+ *
* OTG hardware Inputs
*
*Common inputs
Hi Li,
On 17/07/15 10:48, Li Jun wrote:
Hi, Roger
On Wed, Jul 08, 2015 at 01:19:33PM +0300, Roger Quadros wrote:
The OTG core instantiates the OTG Finite State Machine
per OTG controller and manages starting/stopping the
host and gadget controllers based on the bus state.
It provides
On 16/07/15 21:29, Andrew Bresticker wrote:
Hi Roger,
On Wed, Jul 15, 2015 at 6:26 AM, Roger Quadros rog...@ti.com wrote:
Hi Andrew,
On 13/07/15 22:14, Andrew Bresticker wrote:
Hi Roger,
On Wed, Jul 8, 2015 at 3:19 AM, Roger Quadros rog...@ti.com wrote:
Usage model
On 17/07/15 12:02, Li Jun wrote:
On Wed, Jul 08, 2015 at 01:19:36PM +0300, Roger Quadros wrote:
[...]
struct otg_fsm *usb_otg_register(struct device *parent_dev,
- struct otg_fsm_ops *fsm_ops)
+ struct otg_fsm_ops *fsm_ops
On 13/07/15 04:39, Peter Chen wrote:
On Fri, Jul 10, 2015 at 04:06:43PM +0800, Li Jun wrote:
On Wed, Jul 08, 2015 at 01:19:28PM +0300, Roger Quadros wrote:
Move the state_changed variable into struct otg_fsm
so that we can support multiple instances.
I am not sure if multiple instances may
On 17/07/15 11:14, Li Jun wrote:
Hi,
On Wed, Jul 08, 2015 at 01:19:36PM +0300, Roger Quadros wrote:
DRD mode is a reduced functionality OTG mode. In this mode
we don't support SRP, HNP and dynamic role-swap.
In DRD operation, the controller mode (Host or Peripheral)
is decided based
[ 44.262092] ---[ end Kernel panic - not syncing: Fatal exception in
interrupt
Cc: sta...@vger.kernel.org #v3.14+
Cc: Jun Li jun...@freescale.com
Cc: Roger Quadros rog...@ti.com
Signed-off-by: Peter Chen peter.c...@freescale.com
---
drivers/usb/gadget/composite.c | 2 ++
1 file changed, 2
On 16/07/15 03:54, Peter Chen wrote:
On Wed, Jul 15, 2015 at 04:30:27PM +0300, Roger Quadros wrote:
On 14/07/15 03:34, Peter Chen wrote:
On Mon, Jul 13, 2015 at 01:13:54PM +0300, Roger Quadros wrote:
Peter,
On 13/07/15 04:58, Peter Chen wrote:
On Wed, Jul 08, 2015 at 01:19:30PM +0300, Roger
On 16/07/15 13:31, Roger Quadros wrote:
Peter,
On 16/07/15 11:04, Peter Chen wrote:
At some unexpected cases, the host may send the non-core control request
before the configruation has been established, so the cdev-config is still
NULL, then below NULL pointer dereference issue problem
On 13/07/15 16:04, Li Jun wrote:
On Mon, Jul 13, 2015 at 01:24:05PM +0300, Roger Quadros wrote:
Hi,
On 10/07/15 10:58, Li Jun wrote:
On Wed, Jul 08, 2015 at 01:19:26PM +0300, Roger Quadros wrote:
Hi,
This series centralizes OTG/Dual-role functionality in the kernel.
As of now I've got
Hi Andrew,
On 13/07/15 22:14, Andrew Bresticker wrote:
Hi Roger,
On Wed, Jul 8, 2015 at 3:19 AM, Roger Quadros rog...@ti.com wrote:
Usage model:
---
- The OTG controller device is assumed to be the parent of
the host and gadget controller. It must call usb_otg_register()
before
On 14/07/15 03:34, Peter Chen wrote:
On Mon, Jul 13, 2015 at 01:13:54PM +0300, Roger Quadros wrote:
Peter,
On 13/07/15 04:58, Peter Chen wrote:
On Wed, Jul 08, 2015 at 01:19:30PM +0300, Roger Quadros wrote:
This is to prevent missing symbol build error if OTG is
enabled (built-in) and HCD
Peter,
On 13/07/15 04:58, Peter Chen wrote:
On Wed, Jul 08, 2015 at 01:19:30PM +0300, Roger Quadros wrote:
This is to prevent missing symbol build error if OTG is
enabled (built-in) and HCD core (CONFIG_USB) is module.
We may let the OTG-DRD/OTG-FSM depends on CONFIG_USB to fix
Hi,
On 10/07/15 10:58, Li Jun wrote:
On Wed, Jul 08, 2015 at 01:19:26PM +0300, Roger Quadros wrote:
Hi,
This series centralizes OTG/Dual-role functionality in the kernel.
As of now I've got Dual-role functionality working pretty reliably on
dra7-evm and am437x-gp-evm. xhci side of things
On 13/07/15 04:21, Peter Chen wrote:
On Wed, Jul 08, 2015 at 01:19:27PM +0300, Roger Quadros wrote:
struct otg_fsm is the interface to the OTG state machine.
Document the input, output and internal state variables.
Definations are taken from Table 7-2 and Table 7-4 of
the USB OTG EH
On 13/07/15 05:14, Peter Chen wrote:
On Wed, Jul 08, 2015 at 01:19:33PM +0300, Roger Quadros wrote:
The OTG core instantiates the OTG Finite State Machine
per OTG controller and manages starting/stopping the
host and gadget controllers based on the bus state.
It provides APIs
Hi,
On 08/07/15 12:41, Chunfeng Yun wrote:
add a DT binding documentation of xHCI host controller for the
MT8173 SoC from Mediatek.
Signed-off-by: Chunfeng Yun chunfeng@mediatek.com
---
.../devicetree/bindings/usb/mt8173-xhci.txt| 27
++
1 file changed,
On 09/07/15 10:18, Li Jun wrote:
Check property of usb hardware to update otg version and disable SRP, HNP
and ADP if its disable flag is present.
Signed-off-by: Li Jun jun...@freescale.com
Reviewed-by: Roger Quadros rog...@ti.com
cheers,
-roger
---
drivers/usb/common/common.c | 56
On 09/07/15 10:18, Li Jun wrote:
Allocate and initialize usb otg descriptor according to gadget otg
capabilities, add it for each usb configurations. If otg capability
is not defined, keep its original otg descriptor unchanged.
Signed-off-by: Li Jun jun...@freescale.com
Reviewed-by: Roger
On 09/07/15 10:18, Li Jun wrote:
Allocate and initialize usb otg descriptor according to gadget otg
capabilities, add it for each usb configurations. If otg capability
is not defined, keep its original otg descriptor unchanged.
Signed-off-by: Li Jun jun...@freescale.com
Reviewed-by: Roger
On 09/07/15 10:18, Li Jun wrote:
Init and update otg capabilities by DT, set gadget's otg capabilities
accordingly.
Signed-off-by: Li Jun jun...@freescale.com
Reviewed-by: Roger Quadros rog...@ti.com
cheers,
-roger
---
drivers/usb/chipidea/core.c | 15 +++
drivers/usb
On 09/07/15 10:19, Li Jun wrote:
Allocate and initialize usb otg descriptor according to gadget otg
capabilities, add it for each usb configurations. If otg capability
is not defined, keep its original otg descriptor unchanged.
Signed-off-by: Li Jun jun...@freescale.com
Reviewed-by: Roger
Hi,
On 09/07/15 10:18, Li Jun wrote:
Init and update otg capabilities by DT, set gadget's otg capabilities
accordingly.
Signed-off-by: Li Jun jun...@freescale.com
---
drivers/usb/chipidea/core.c | 15 +++
drivers/usb/chipidea/udc.c | 7 ++-
On 08/07/15 05:20, Li Jun wrote:
On Tue, Jul 07, 2015 at 04:25:44PM +0300, Roger Quadros wrote:
On 29/06/15 10:47, Li Jun wrote:
Init and update otg capabilities by DT, set gadget's otg capabilities
accordingly.
Signed-off-by: Li Jun jun...@freescale.com
---
drivers/usb/chipidea/core.c
CONFIG_USB_OTG_FSM no longer exists and the OTG FSM
is available if CONFIG_USB_OTG is defined so move
to using CONFIG_USB_OTG.
Signed-off-by: Roger Quadros rog...@ti.com
---
Documentation/usb/chipidea.txt | 2 +-
drivers/usb/chipidea/Makefile | 2 +-
drivers/usb/chipidea/ci.h | 2
Register with the USB OTG core. Since we don't support
OTG yet we just work as a dual-role device even
if device tree says otg.
Use extcon framework to get VBUS/ID cable events and
kick the OTG state machine.
Signed-off-by: Roger Quadros rog...@ti.com
---
drivers/usb/dwc3/core.c | 155
struct otg_fsm is the interface to the OTG state machine.
Document the input, output and internal state variables.
Definations are taken from Table 7-2 and Table 7-4 of
the USB OTG EH Specification Rev.2.0
Re-arrange some of the members as per use case for more
clarity.
Signed-off-by: Roger
The OTG core will use struct otg_hcd_ops to
add/remove the HCD controller.
The main purpose of this interface is to avoid directly
calling usb_add/remove_hcd() from the OTG core as they
wouldn't be defined in the built-in symbol table if
CONFIG_USB is m.
Signed-off-by: Roger Quadros rog
This is to prevent missing symbol build error if OTG is
enabled (built-in) and HCD core (CONFIG_USB) is module.
Signed-off-by: Roger Quadros rog...@ti.com
---
drivers/usb/common/usb-otg-fsm.c | 6 --
drivers/usb/phy/phy-fsl-usb.c| 2 ++
include/linux/usb/otg-fsm.h | 1 +
3 files
,
from drivers/usb/dwc3/ep0.c:33:
include/linux/usb/otg-fsm.h:30:1: warning: VDBG redefined
In file included from drivers/usb/dwc3/ep0.c:31:
include/linux/usb/composite.h:615:1: warning: this is the location
of the previous definition
Signed-off-by: Roger
Without this we loose OTG controller register context and malfunction
after a system suspend-resume.
Signed-off-by: Roger Quadros rog...@ti.com
---
drivers/usb/dwc3/core.c | 17 +
drivers/usb/dwc3/core.h | 6 +-
2 files changed, 22 insertions(+), 1 deletion(-)
diff --git
irq and events during system suspend
so that we don't lockup the system during system suspend/resume.
Signed-off-by: Roger Quadros rog...@ti.com
---
drivers/usb/dwc3/core.c | 27 +--
1 file changed, 9 insertions(+), 18 deletions(-)
diff --git a/drivers/usb/dwc3/core.c b
Gdget controller might not be always active during suspend/
resume when we are operating in dual-role/otg mode.
Check if we're active and only if we are then perform
necessary actions during suspend/resume.
Signed-off-by: Roger Quadros rog...@ti.com
---
drivers/usb/dwc3/gadget.c | 6 ++
1
in dwc3_otg_init() but dwc3_otg_irq() has
already saved OEVTEN as 0 into dwc-oevten. So finally when
dwc3_irq_thread_irq() is called we save 0 into OEVTEN
thus disabling OTG irqs forever.
We fix this by disabling IRQs when configuring OEVTEN in
dwc3_otg_init().
Signed-off-by: Roger Quadros rog...@ti.com
If the ID pin event is not available over extcon
then we rely on the OTG controller to provide us ID and VBUS
information.
We still don't support any OTG features but just
dual-role operation.
Signed-off-by: Roger Quadros rog...@ti.com
---
drivers/usb/dwc3/core.c | 225
DTBs.
- Use gadget_irq in gadget driver.
Signed-off-by: Felipe Balbi ba...@ti.com
Signed-off-by: Roger Quadros rog...@ti.com
---
drivers/usb/dwc3/core.c | 12
drivers/usb/dwc3/core.h | 7 +++
drivers/usb/dwc3/gadget.c | 2 +-
3 files changed, 20 insertions(+), 1 deletion
On 08/07/15 05:05, Li Jun wrote:
On Tue, Jul 07, 2015 at 04:23:14PM +0300, Roger Quadros wrote:
Hi,
On 29/06/15 10:47, Li Jun wrote:
Check property of usb hardware to update otg version and disable SRP, HNP
and ADP if its disable flag is present.
Signed-off-by: Li Jun jun
601 - 700 of 2024 matches
Mail list logo