Re: Chipidea usb otg support for IMX/MXS (device functionality)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear Maxime,

On 05/29/2013 09:50 AM, maxime.ripard@xxxxxxxxxxxxxxxxxx wrote:
Hi,

On Wed, May 29, 2013 at 07:11:30AM +0000, Chen Peter-B29397 wrote:

Hello,

Am I right in assuming that the MXS USB on-the-go port does not currently
support the
device (gadget) functionality?
Anybody out there working on that?


As far as I know, Maxime Ripard may already let the chipidea durl-role function
work ok at mx28. It may need my chipidea otg patch

https://github.com/hzpeterchen/linux-usb.git

Indeed, I've been using the patchset "Add tested id switch and vbus
connect detect support for Chipidea" from Peter for quite some time on
top of 3.9 and it works like a charm for the gadget mode on an MX28
platform.

BTW, Peter, I've seen that these patches are still not merged in 3.10,
is there a reason for that? do you plan on sending a version rebased on
top of 3.10 some time in the future? I tried to do the rebasing myself,
but the chipidea driver seems to have changed quite heavily, which makes
the process quite difficult when you don't know what you're doing :)

I guess you didn't get rid of the 'possible circular locking dependency' you talked about at [1], right? I experimented the same and also a BUG [2] after cable reconnection. Despite those, I ran a simple test of serial, ethernet, and mass_storage gadgets and they worked fine.

I didn't use the new properties (phy_type, dr_mode...) in the DT of my mx28 platform, did you?

[1] https://lkml.org/lkml/2013/3/6/200

[2]
[ 1949.074726] BUG: spinlock lockup suspected on CPU#0, swapper/0
[ 1949.080623]  lock: 0xcf41f014, .magic: dead4ead, .owner: swapper/0, .owner_cpu: 0
[ 1949.088184] [<c001510c>] (unwind_backtrace+0x0/0xf4) from [<c0273754>] (do_raw_spin_lock+0x104/0x14c) [ 1949.097463] [<c0273754>] (do_raw_spin_lock+0x104/0x14c) from [<c045893c>] (_raw_spin_lock_irqsave+0x50/0x5c) [ 1949.107340] [<c045893c>] (_raw_spin_lock_irqsave+0x50/0x5c) from [<c03467f8>] (ep_disable+0x30/0xfc) [ 1949.116541] [<c03467f8>] (ep_disable+0x30/0xfc) from [<bf00a19c>] (gserial_disconnect+0x9c/0x174 [g_serial]) [ 1949.126447] [<bf00a19c>] (gserial_disconnect+0x9c/0x174 [g_serial]) from [<bf00a288>] (acm_disable+0xc/0x2c [g_serial]) [ 1949.137325] [<bf00a288>] (acm_disable+0xc/0x2c [g_serial]) from [<bf000930>] (reset_config+0x34/0x5c [libcomposite]) [ 1949.147931] [<bf000930>] (reset_config+0x34/0x5c [libcomposite]) from [<bf000fd0>] (composite_disconnect+0x34/0x5c [libcomposite]) [ 1949.159737] [<bf000fd0>] (composite_disconnect+0x34/0x5c [libcomposite]) from [<c0347b14>] (udc_irq+0x1d8/0xbe4)
[ 1949.169951] [<c0347b14>] (udc_irq+0x1d8/0xbe4) from [<c0345830>] (ci_irq+0x9c/0x104)
[ 1949.177751] [<c0345830>] (ci_irq+0x9c/0x104) from [<c006cb50>] (handle_irq_event_percpu+0x5c/0x26c) [ 1949.186847] [<c006cb50>] (handle_irq_event_percpu+0x5c/0x26c) from [<c006cd9c>] (handle_irq_event+0x3c/0x5c) [ 1949.196716] [<c006cd9c>] (handle_irq_event+0x3c/0x5c) from [<c006f3c8>] (handle_level_irq+0x8c/0x118) [ 1949.205976] [<c006f3c8>] (handle_level_irq+0x8c/0x118) from [<c006cae4>] (generic_handle_irq+0x28/0x30) [ 1949.215421] [<c006cae4>] (generic_handle_irq+0x28/0x30) from [<c001009c>] (handle_IRQ+0x30/0x84) [ 1949.224246] [<c001009c>] (handle_IRQ+0x30/0x84) from [<c00086ec>] (icoll_handle_irq+0x30/0x44) [ 1949.232897] [<c00086ec>] (icoll_handle_irq+0x30/0x44) from [<c000ee24>] (__irq_svc+0x44/0x54)
[ 1949.241438] Exception stack(0xc0627f68 to 0xc0627fb0)
[ 1949.246520] 7f60: c0010278 0005317f 0005217f 60000013 c0626000 c0667c88 [ 1949.254729] 7f80: c0631980 7fffffff 40004000 41069265 4061c574 00000000 600000d3 c0627fb0
[ 1949.262926] 7fa0: c0010278 c0010284 60000013 ffffffff
[ 1949.268023] [<c000ee24>] (__irq_svc+0x44/0x54) from [<c0010284>] (default_idle+0x40/0x48) [ 1949.276244] [<c0010284>] (default_idle+0x40/0x48) from [<c00105b8>] (cpu_idle+0x68/0xd0) [ 1949.284380] [<c00105b8>] (cpu_idle+0x68/0xd0) from [<c0600810>] (start_kernel+0x258/0x298)
[ 1953.034550]  gadget: high-speed config #2: CDC ACM config

Regards,
--
Héctor Palacios
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux