OMAP baseline test results for v3.6-rc4
Paul Walmsley
paul at pwsan.com
Sat Sep 22 14:31:02 EDT 2012
cc Santosh
Hi Igor,
I regret the delay in responding,
On Fri, 7 Sep 2012, Igor Grinberg wrote:
> On 09/05/12 18:44, Paul Walmsley wrote:
>
> > * CM-T3517: L3 in-band error with USB OTG during boot
> > - Cause unknown; longstanding issue; does not occur on the 3517EVM
>
> We see this problem on several cm-t3517, but not all of them.
There's probably a dependency on the bootloader or X-Loader.
> It looks something like:
> --------------------cut----------------------------
> NET: Registered protocol family 16
> GPMC revision 5.0
> gpmc: irq-20 could not claim: err -22
> OMAP GPIO hardware version 2.5
> In-band Error seen by USB_OTG at address 0
That tag "USB_OTG" above isn't 100% accurate for AM3517/3505, by the way.
omap_l3_smx.c doesn't have a correct initiator map for those chips. The
offender could be USBOTG, but it could also be any other initiator in the
"IP subsystem", such as Camera/VPFE or EMAC. Table 5-18 "InitiatorID
Definition" in the AM35x TRM vB (SPRUGR0B) lists these.
As far as I know, the message means that some module in the IPSS tried to
initiate an L3 interconnect transaction, but that it failed. Probably the
IPSS isn't clocked.
> ------------[ cut here ]------------
> WARNING: at /home/lifshitz/workroot/git-repo/linux-cm-t3x/arch/arm/mach-omap2/omap_l3_smx.c:162 omap3_l3_app_irq+0xdc/0x120()
> Modules linked in:
> [<c001ad08>] (unwind_backtrace+0x0/0xf4) from [<c003f670>] (warn_slowpath_common+0x4c/0x64)
> [<c003f670>] (warn_slowpath_common+0x4c/0x64) from [<c003f6a4>] (warn_slowpath_null+0x1c/0x24)
> [<c003f6a4>] (warn_slowpath_null+0x1c/0x24) from [<c0033af0>] (omap3_l3_app_irq+0xdc/0x120)
> [<c0033af0>] (omap3_l3_app_irq+0xdc/0x120) from [<c008b8bc>] (handle_irq_event_percpu+0xac/0x298)
> [<c008b8bc>] (handle_irq_event_percpu+0xac/0x298) from [<c008bafc>] (handle_irq_event+0x54/0x74)
> [<c008bafc>] (handle_irq_event+0x54/0x74) from [<c008e290>] (handle_level_irq+0xc4/0x118)
> [<c008e290>] (handle_level_irq+0xc4/0x118) from [<c008b3ac>] (generic_handle_irq+0x2c/0x44)
> [<c008b3ac>] (generic_handle_irq+0x2c/0x44) from [<c001500c>] (handle_IRQ+0x60/0x80)
> [<c001500c>] (handle_IRQ+0x60/0x80) from [<c00085ec>] (omap3_intc_handle_irq+0x60/0x74)
> [<c00085ec>] (omap3_intc_handle_irq+0x60/0x74) from [<c04e3100>] (__irq_svc+0x40/0x74)
> Exception stack(0xcf02de00 to 0xcf02de48)
> de00: 00000000 0000000a 00000000 00000021 c074bcac cf046280 0000000a 60000013
> de20: c074bcdc c070020c 00010000 00000000 00000000 cf02de48 00000000 c008c988
> de40: 40000013 ffffffff
> [<c04e3100>] (__irq_svc+0x40/0x74) from [<c008c988>] (__setup_irq+0x2a8/0x404)
> [<c008c988>] (__setup_irq+0x2a8/0x404) from [<c008cd18>] (request_threaded_irq+0xe8/0x13c)
> [<c008cd18>] (request_threaded_irq+0xe8/0x13c) from [<c06c3d24>] (omap3_l3_probe+0x10c/0x16c)
> [<c06c3d24>] (omap3_l3_probe+0x10c/0x16c) from [<c033586c>] (platform_drv_probe+0x18/0x1c)
> [<c033586c>] (platform_drv_probe+0x18/0x1c) from [<c0334414>] (really_probe+0xac/0x1c8)
> [<c0334414>] (really_probe+0xac/0x1c8) from [<c0334578>] (driver_probe_device+0x48/0x60)
> [<c0334578>] (driver_probe_device+0x48/0x60) from [<c03345f0>] (__driver_attach+0x60/0x84)
> [<c03345f0>] (__driver_attach+0x60/0x84) from [<c0332ce0>] (bus_for_each_dev+0x4c/0x80)
> [<c0332ce0>] (bus_for_each_dev+0x4c/0x80) from [<c0333414>] (bus_add_driver+0xa4/0x294)
> [<c0333414>] (bus_add_driver+0xa4/0x294) from [<c0334bdc>] (driver_register+0xa4/0x188)
> [<c0334bdc>] (driver_register+0xa4/0x188) from [<c0335c5c>] (platform_driver_probe+0x18/0x98)
> [<c0335c5c>] (platform_driver_probe+0x18/0x98) from [<c0008798>] (do_one_initcall+0xac/0x16c)
> [<c0008798>] (do_one_initcall+0xac/0x16c) from [<c06b52ac>] (do_basic_setup+0x88/0xc0)
> [<c06b52ac>] (do_basic_setup+0x88/0xc0) from [<c06b53c4>] (kernel_init+0x60/0xfc)
> [<c06b53c4>] (kernel_init+0x60/0xfc) from [<c00150a4>] (kernel_thread_exit+0x0/0x8)
> ---[ end trace 1b75b31a2719ed1c ]---
> -----------------------------cut-------------------------------
>
> After that, the board continues to function properly.
> Any hints how to debug this?
Probably the core problem is that we don't yet have the IPSS correctly
supported in the AM35xx hwmod data. This is partially due to the fact
that we're missing hierarchical enables/disables in that code, a
longstanding omission. My guess is that if you hacked in some code to
enable the IPSS early in boot (see the CONTROL_IPSS_CLK_CTRL register),
the problem would probably go away.
- Paul
More information about the linux-arm-kernel
mailing list