From: Dmitry Lifshitz <lifshitz@compulab.co.il>
To: Roger Quadros <rogerq@ti.com>
Cc: Felipe Balbi <balbi@ti.com>,
George Cherian <george.cherian@ti.com>,
Kishon Vijay Abraham I <kishon@ti.com>,
bcousson@baylibre.com, tony@atomide.com, rob.herring@calxeda.com,
pawel.moll@arm.com, mark.rutland@arm.com, swarren@wwwdotorg.org,
ijc+devicetree@hellion.org.uk, linux@arm.linux.org.uk,
linux-omap@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] ARM: dts: omap5: Add dr_mode for dwc3
Date: Mon, 08 Sep 2014 15:32:37 +0300 [thread overview]
Message-ID: <540DA1E5.1060701@compulab.co.il> (raw)
In-Reply-To: <540D955C.6060602@ti.com>
Hi Roger,
Thank you for a quick reply. See, my reply below.
On 09/08/2014 02:39 PM, Roger Quadros wrote:
> On 09/08/2014 02:34 PM, Dmitry Lifshitz wrote:
>> Hi Felipe, Roger
>>
>> On 04/16/2014 07:16 PM, Felipe Balbi wrote:
>>> On Fri, Oct 11, 2013 at 05:46:12PM +0300, Roger Quadros wrote:
>>>> Hi,
>>>>
>>>> On 10/10/2013 01:49 PM, Kishon Vijay Abraham I wrote:
>>>>> From: George Cherian <george.cherian@ti.com>
>>>>>
>>>>> Added dr_mode property in dwc3 and set its default mode to device.
>>>>
>>>> If there is a specific reason why this is not set to "otg", we need
>>>> to explain it here.
>>>>
>>>> AFAIK the port is meant to be used as OTG port.
>>>
>>> we still don't have the workaround for dual role ports, I've been
>>> working on it but still need to retest and make sure it's working fine
>>> before merging upstream.
>>>
>>
>>
>> Does the OTG port suppose to work with OMAP5? I mean role switching mechanism?
>>
>> I'm testing kernel v3.16 with OMAP5 based board (CM-T54).
>>
>> If I set CONFIG_USB_DWC3_DUAL_ROLE, than nothing is going on when I plug some device/host cable into micro USB3.0 port (VBUS/ID detection with extcon events works fine).
>>
>> CONFIG_USB_DWC3_HOST/CONFIG_USB_DWC3_GADGET bring port to appropriate mode and it works.
>>
>> What is the purpose of setting dr_mode = "peripheral" in omap5.dtsi, since it is overridden by config options in dwc3_probe()?
>
> If dual role works it should be "otg" then. I'm not sure why it was set to peripheral. Maybe the role switching mechanism
> was not in place earlier.
This is what I have when setting dr_mode = "otg" (and compiling with
CONFIG_USB_DWC3_DUAL_ROLE):
when load gadget driver and plugging host PC cable:
root@cm-debian:~# modprobe g_ether
using random self ethernet address
using random host ethernet address
usb0: HOST MAC fa:db:52:7f:95:c5
usb0: MAC be:75:8d:71:6d:02
using random self ethernet address
using random host ethernet address
g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
g_ether gadget: g_ether ready
root@cm-debian:~# ------------[ cut here ]------------
WARNING: CPU: 0 PID: 65 at
/home/lifshitz/workroot/git-repo/OMAP5/omap5-kernel/drivers/bus/omap_l3_noc.c:147
l3_handle_target.isra.2+0x230/0x27c()
44000000.ocp:L3 Standard Error: MASTER UN IDENTIFIED TARGET OCMRAM
(Read): At Address: 0x00000000 : Data Access in User mode during
Functional access
Modules linked in: usb_f_eem g_ether usb_f_rndis libcomposite u_ether
configfs rfcomm ecb btmrvl_sdio btmrvl bluetooth mwifiex_sdio mwifiex
dwc3 ahci_platform libahci_platform libahci libata snd_soc_cm_t54
ads7846 dwc3_omap extcon_palmas rtc_palmas extcon_class at24
snd_soc_wm8731 snd_soc_omap_mcbsp
CPU: 0 PID: 65 Comm: irq/39-palmas Tainted: G W
3.16.0-cm-t54+ #99
[<c00156d0>] (unwind_backtrace) from [<c00124ac>] (show_stack+0x10/0x14)
[<c00124ac>] (show_stack) from [<c05e29dc>] (dump_stack+0x74/0x8c)
[<c05e29dc>] (dump_stack) from [<c0037dbc>] (warn_slowpath_common+0x70/0x88)
[<c0037dbc>] (warn_slowpath_common) from [<c0037e68>]
(warn_slowpath_fmt+0x30/0x40)
[<c0037e68>] (warn_slowpath_fmt) from [<c02d88b8>]
(l3_handle_target.isra.2+0x230/0x27c)
[<c02d88b8>] (l3_handle_target.isra.2) from [<c02d89b0>]
(l3_interrupt_handler+0xac/0x13c)
[<c02d89b0>] (l3_interrupt_handler) from [<c007ea00>]
(handle_irq_event_percpu+0x7c/0x230)
[<c007ea00>] (handle_irq_event_percpu) from [<c007ebf8>]
(handle_irq_event+0x44/0x64)
[<c007ebf8>] (handle_irq_event) from [<c0081b78>]
(handle_fasteoi_irq+0xa8/0x134)
[<c0081b78>] (handle_fasteoi_irq) from [<c007e398>]
(generic_handle_irq+0x20/0x30)
[<c007e398>] (generic_handle_irq) from [<c000f4ac>] (handle_IRQ+0x40/0x90)
[<c000f4ac>] (handle_IRQ) from [<c0008620>] (gic_handle_irq+0x2c/0x60)
[<c0008620>] (gic_handle_irq) from [<c05eacc0>] (__irq_svc+0x40/0x50)
Exception stack(0xec939d80 to 0xec939dc8)
9d80: ecb729b0 20000013 00000000 00000001 ecb72800 eca1e000 00000000
ec939e44
9da0: ec939ed0 20000013 ecb72818 ed005e14 ec939ec8 ec939dc8 bf015f54
c05ea548
9dc0: 80000013 ffffffff
[<c05eacc0>] (__irq_svc) from [<c05ea548>]
(_raw_spin_unlock_irqrestore+0x1c/0x20)
[<c05ea548>] (_raw_spin_unlock_irqrestore) from [<bf015f54>]
(extcon_update_state+0x144/0x1c4 [extcon_class])
[<bf015f54>] (extcon_update_state [extcon_class]) from [<bf023288>]
(palmas_vbus_irq_handler+0x64/0xa0 [extcon_palmas])
[<bf023288>] (palmas_vbus_irq_handler [extcon_palmas]) from [<c00815a8>]
(handle_nested_irq+0xa0/0x10c)
[<c00815a8>] (handle_nested_irq) from [<c03ab85c>]
(regmap_irq_thread+0x184/0x300)
[<c03ab85c>] (regmap_irq_thread) from [<c007f8b8>] (irq_thread_fn+0x1c/0x40)
[<c007f8b8>] (irq_thread_fn) from [<c007f6a4>] (irq_thread+0x120/0x15c)
[<c007f6a4>] (irq_thread) from [<c0056434>] (kthread+0xdc/0xf0)
[<c0056434>] (kthread) from [<c000eb98>] (ret_from_fork+0x14/0x3c)
---[ end trace 3b365a734f7f3202 ]---
palmas-usb 48070000.i2c:palmas@48:palmas_usb: USB cable is attached
when plugging storage device:
root@cm-debian:~# dmesg | tail -n20
...
omap-dwc3 4a020000.omap_dwc3: ID GND
palmas-usb 48070000.i2c:palmas@48:palmas_usb: USB-HOST cable is attached
palmas-usb 48070000.i2c:palmas@48:palmas_usb: USB cable is attached
and nothing is going on.
Once again, when compiling with predefined role
(CONFIG_USB_DWC3_HOST/CONFIG_USB_DWC3_GADGET) the port is functional in
both modes.
I'm wondering, if dwc3_probe() calls
dwc3_core_init_mode() -> dwc3_set_mode() than why it is not required in
dwc3_omap_set_mailbox()?
>
> George any objections for "otg"?
>
> cheers,
> -roger
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
Thanks,
Dmitry
WARNING: multiple messages have this Message-ID (diff)
From: lifshitz@compulab.co.il (Dmitry Lifshitz)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] ARM: dts: omap5: Add dr_mode for dwc3
Date: Mon, 08 Sep 2014 15:32:37 +0300 [thread overview]
Message-ID: <540DA1E5.1060701@compulab.co.il> (raw)
In-Reply-To: <540D955C.6060602@ti.com>
Hi Roger,
Thank you for a quick reply. See, my reply below.
On 09/08/2014 02:39 PM, Roger Quadros wrote:
> On 09/08/2014 02:34 PM, Dmitry Lifshitz wrote:
>> Hi Felipe, Roger
>>
>> On 04/16/2014 07:16 PM, Felipe Balbi wrote:
>>> On Fri, Oct 11, 2013 at 05:46:12PM +0300, Roger Quadros wrote:
>>>> Hi,
>>>>
>>>> On 10/10/2013 01:49 PM, Kishon Vijay Abraham I wrote:
>>>>> From: George Cherian <george.cherian@ti.com>
>>>>>
>>>>> Added dr_mode property in dwc3 and set its default mode to device.
>>>>
>>>> If there is a specific reason why this is not set to "otg", we need
>>>> to explain it here.
>>>>
>>>> AFAIK the port is meant to be used as OTG port.
>>>
>>> we still don't have the workaround for dual role ports, I've been
>>> working on it but still need to retest and make sure it's working fine
>>> before merging upstream.
>>>
>>
>>
>> Does the OTG port suppose to work with OMAP5? I mean role switching mechanism?
>>
>> I'm testing kernel v3.16 with OMAP5 based board (CM-T54).
>>
>> If I set CONFIG_USB_DWC3_DUAL_ROLE, than nothing is going on when I plug some device/host cable into micro USB3.0 port (VBUS/ID detection with extcon events works fine).
>>
>> CONFIG_USB_DWC3_HOST/CONFIG_USB_DWC3_GADGET bring port to appropriate mode and it works.
>>
>> What is the purpose of setting dr_mode = "peripheral" in omap5.dtsi, since it is overridden by config options in dwc3_probe()?
>
> If dual role works it should be "otg" then. I'm not sure why it was set to peripheral. Maybe the role switching mechanism
> was not in place earlier.
This is what I have when setting dr_mode = "otg" (and compiling with
CONFIG_USB_DWC3_DUAL_ROLE):
when load gadget driver and plugging host PC cable:
root at cm-debian:~# modprobe g_ether
using random self ethernet address
using random host ethernet address
usb0: HOST MAC fa:db:52:7f:95:c5
usb0: MAC be:75:8d:71:6d:02
using random self ethernet address
using random host ethernet address
g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
g_ether gadget: g_ether ready
root at cm-debian:~# ------------[ cut here ]------------
WARNING: CPU: 0 PID: 65 at
/home/lifshitz/workroot/git-repo/OMAP5/omap5-kernel/drivers/bus/omap_l3_noc.c:147
l3_handle_target.isra.2+0x230/0x27c()
44000000.ocp:L3 Standard Error: MASTER UN IDENTIFIED TARGET OCMRAM
(Read): At Address: 0x00000000 : Data Access in User mode during
Functional access
Modules linked in: usb_f_eem g_ether usb_f_rndis libcomposite u_ether
configfs rfcomm ecb btmrvl_sdio btmrvl bluetooth mwifiex_sdio mwifiex
dwc3 ahci_platform libahci_platform libahci libata snd_soc_cm_t54
ads7846 dwc3_omap extcon_palmas rtc_palmas extcon_class at24
snd_soc_wm8731 snd_soc_omap_mcbsp
CPU: 0 PID: 65 Comm: irq/39-palmas Tainted: G W
3.16.0-cm-t54+ #99
[<c00156d0>] (unwind_backtrace) from [<c00124ac>] (show_stack+0x10/0x14)
[<c00124ac>] (show_stack) from [<c05e29dc>] (dump_stack+0x74/0x8c)
[<c05e29dc>] (dump_stack) from [<c0037dbc>] (warn_slowpath_common+0x70/0x88)
[<c0037dbc>] (warn_slowpath_common) from [<c0037e68>]
(warn_slowpath_fmt+0x30/0x40)
[<c0037e68>] (warn_slowpath_fmt) from [<c02d88b8>]
(l3_handle_target.isra.2+0x230/0x27c)
[<c02d88b8>] (l3_handle_target.isra.2) from [<c02d89b0>]
(l3_interrupt_handler+0xac/0x13c)
[<c02d89b0>] (l3_interrupt_handler) from [<c007ea00>]
(handle_irq_event_percpu+0x7c/0x230)
[<c007ea00>] (handle_irq_event_percpu) from [<c007ebf8>]
(handle_irq_event+0x44/0x64)
[<c007ebf8>] (handle_irq_event) from [<c0081b78>]
(handle_fasteoi_irq+0xa8/0x134)
[<c0081b78>] (handle_fasteoi_irq) from [<c007e398>]
(generic_handle_irq+0x20/0x30)
[<c007e398>] (generic_handle_irq) from [<c000f4ac>] (handle_IRQ+0x40/0x90)
[<c000f4ac>] (handle_IRQ) from [<c0008620>] (gic_handle_irq+0x2c/0x60)
[<c0008620>] (gic_handle_irq) from [<c05eacc0>] (__irq_svc+0x40/0x50)
Exception stack(0xec939d80 to 0xec939dc8)
9d80: ecb729b0 20000013 00000000 00000001 ecb72800 eca1e000 00000000
ec939e44
9da0: ec939ed0 20000013 ecb72818 ed005e14 ec939ec8 ec939dc8 bf015f54
c05ea548
9dc0: 80000013 ffffffff
[<c05eacc0>] (__irq_svc) from [<c05ea548>]
(_raw_spin_unlock_irqrestore+0x1c/0x20)
[<c05ea548>] (_raw_spin_unlock_irqrestore) from [<bf015f54>]
(extcon_update_state+0x144/0x1c4 [extcon_class])
[<bf015f54>] (extcon_update_state [extcon_class]) from [<bf023288>]
(palmas_vbus_irq_handler+0x64/0xa0 [extcon_palmas])
[<bf023288>] (palmas_vbus_irq_handler [extcon_palmas]) from [<c00815a8>]
(handle_nested_irq+0xa0/0x10c)
[<c00815a8>] (handle_nested_irq) from [<c03ab85c>]
(regmap_irq_thread+0x184/0x300)
[<c03ab85c>] (regmap_irq_thread) from [<c007f8b8>] (irq_thread_fn+0x1c/0x40)
[<c007f8b8>] (irq_thread_fn) from [<c007f6a4>] (irq_thread+0x120/0x15c)
[<c007f6a4>] (irq_thread) from [<c0056434>] (kthread+0xdc/0xf0)
[<c0056434>] (kthread) from [<c000eb98>] (ret_from_fork+0x14/0x3c)
---[ end trace 3b365a734f7f3202 ]---
palmas-usb 48070000.i2c:palmas at 48:palmas_usb: USB cable is attached
when plugging storage device:
root at cm-debian:~# dmesg | tail -n20
...
omap-dwc3 4a020000.omap_dwc3: ID GND
palmas-usb 48070000.i2c:palmas at 48:palmas_usb: USB-HOST cable is attached
palmas-usb 48070000.i2c:palmas at 48:palmas_usb: USB cable is attached
and nothing is going on.
Once again, when compiling with predefined role
(CONFIG_USB_DWC3_HOST/CONFIG_USB_DWC3_GADGET) the port is functional in
both modes.
I'm wondering, if dwc3_probe() calls
dwc3_core_init_mode() -> dwc3_set_mode() than why it is not required in
dwc3_omap_set_mailbox()?
>
> George any objections for "otg"?
>
> cheers,
> -roger
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
Thanks,
Dmitry
next prev parent reply other threads:[~2014-09-08 12:33 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-10 10:49 [PATCH 1/2] ARM: dts: omap5-uevm: remove always_on, boot_on from smps10_out1 Kishon Vijay Abraham I
2013-10-10 10:49 ` Kishon Vijay Abraham I
2013-10-10 10:49 ` Kishon Vijay Abraham I
[not found] ` <1381402195-29257-1-git-send-email-kishon-l0cyMroinI0@public.gmane.org>
2013-10-10 10:49 ` [PATCH 2/2] ARM: dts: omap5: Add dr_mode for dwc3 Kishon Vijay Abraham I
2013-10-10 10:49 ` Kishon Vijay Abraham I
2013-10-10 10:49 ` Kishon Vijay Abraham I
2013-10-11 14:46 ` Roger Quadros
2013-10-11 14:46 ` Roger Quadros
2013-10-11 14:46 ` Roger Quadros
2013-10-15 5:49 ` [PATCH v2 " Kishon Vijay Abraham I
2013-10-15 5:49 ` Kishon Vijay Abraham I
2013-10-15 5:49 ` Kishon Vijay Abraham I
2013-10-16 13:17 ` Kishon Vijay Abraham I
2013-10-16 13:17 ` Kishon Vijay Abraham I
2013-10-16 13:17 ` Kishon Vijay Abraham I
2013-10-17 20:08 ` Benoit Cousson
2013-10-17 20:08 ` Benoit Cousson
[not found] ` <526043BA.5040100-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>
2013-10-21 10:03 ` Kishon Vijay Abraham I
2013-10-21 10:03 ` Kishon Vijay Abraham I
2013-10-21 10:03 ` Kishon Vijay Abraham I
2014-04-16 16:16 ` [PATCH " Felipe Balbi
2014-04-16 16:16 ` Felipe Balbi
2014-04-16 16:16 ` Felipe Balbi
2014-04-16 16:22 ` Felipe Balbi
2014-04-16 16:22 ` Felipe Balbi
2014-04-16 16:22 ` Felipe Balbi
2014-09-08 11:34 ` Dmitry Lifshitz
2014-09-08 11:34 ` Dmitry Lifshitz
[not found] ` <540D9449.3090008-UTxiZqZC01RS1MOuV/RT9w@public.gmane.org>
2014-09-08 11:39 ` Roger Quadros
2014-09-08 11:39 ` Roger Quadros
2014-09-08 11:39 ` Roger Quadros
2014-09-08 12:32 ` Dmitry Lifshitz [this message]
2014-09-08 12:32 ` Dmitry Lifshitz
[not found] ` <540DA1E5.1060701-UTxiZqZC01RS1MOuV/RT9w@public.gmane.org>
2014-09-08 13:25 ` Felipe Balbi
2014-09-08 13:25 ` Felipe Balbi
2014-09-08 13:25 ` Felipe Balbi
2014-09-08 13:24 ` Felipe Balbi
2014-09-08 13:24 ` Felipe Balbi
2014-09-08 13:24 ` Felipe Balbi
[not found] ` <20140908132403.GA22409-HgARHv6XitL9zxVx7UNMDg@public.gmane.org>
2014-09-10 12:03 ` Dmitry Lifshitz
2014-09-10 12:03 ` Dmitry Lifshitz
2014-09-10 12:03 ` Dmitry Lifshitz
2014-09-11 17:14 ` Felipe Balbi
2014-09-11 17:14 ` Felipe Balbi
2014-09-11 17:14 ` Felipe Balbi
2013-10-10 14:19 ` [PATCH 1/2] ARM: dts: omap5-uevm: remove always_on, boot_on from smps10_out1 Nishanth Menon
2013-10-10 14:19 ` Nishanth Menon
2013-10-10 14:19 ` Nishanth Menon
2013-10-11 6:13 ` Kishon Vijay Abraham I
2013-10-11 6:13 ` Kishon Vijay Abraham I
2013-10-11 6:13 ` Kishon Vijay Abraham I
2013-10-11 6:30 ` Nishanth Menon
2013-10-11 6:30 ` Nishanth Menon
2013-10-11 6:53 ` Kishon Vijay Abraham I
2013-10-11 6:53 ` Kishon Vijay Abraham I
2013-10-11 6:54 ` Kishon Vijay Abraham I
2013-10-11 6:54 ` Kishon Vijay Abraham I
[not found] ` <5257A0C0.8000701-l0cyMroinI0@public.gmane.org>
2013-10-11 7:27 ` Nishanth Menon
2013-10-11 7:27 ` Nishanth Menon
2013-10-11 7:27 ` Nishanth Menon
2013-10-16 13:17 ` Kishon Vijay Abraham I
2013-10-16 13:17 ` Kishon Vijay Abraham I
2013-10-16 13:17 ` Kishon Vijay Abraham I
[not found] ` <525E9206.9010501-l0cyMroinI0@public.gmane.org>
2013-10-16 13:27 ` Nishanth Menon
2013-10-16 13:27 ` Nishanth Menon
2013-10-16 13:27 ` Nishanth Menon
[not found] ` <525E9434.1090006-l0cyMroinI0@public.gmane.org>
2013-10-17 20:09 ` Benoit Cousson
2013-10-17 20:09 ` Benoit Cousson
2013-10-17 20:09 ` Benoit Cousson
2013-10-21 10:03 ` Kishon Vijay Abraham I
2013-10-21 10:03 ` Kishon Vijay Abraham I
2013-10-21 10:03 ` Kishon Vijay Abraham I
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=540DA1E5.1060701@compulab.co.il \
--to=lifshitz@compulab.co.il \
--cc=balbi@ti.com \
--cc=bcousson@baylibre.com \
--cc=devicetree@vger.kernel.org \
--cc=george.cherian@ti.com \
--cc=ijc+devicetree@hellion.org.uk \
--cc=kishon@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=rob.herring@calxeda.com \
--cc=rogerq@ti.com \
--cc=swarren@wwwdotorg.org \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.