[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <53EF8559.7010103@gmail.com>
Date: Sat, 16 Aug 2014 18:22:49 +0200
From: Philippe Reynes <tremyfr@...il.com>
To: Fabio Estevam <festevam@...il.com>
CC: linux-kernel <Linux-kernel@...r.kernel.org>,
USB list <linux-usb@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
Shawn Guo <shawn.guo@...escale.com>,
Peter Chen <Peter.Chen@...escale.com>,
gwenhael.goavec-merou@...bucayre.com
Subject: Re: [RFC] usb issue on imx27: 3 clocks are needed
Hi Fabio,
On 16/08/14 18:01, Fabio Estevam wrote:
> Hi Philippe,
>
> On Sat, Aug 16, 2014 at 12:38 PM, Philippe Reynes<tremyfr@...il.com> wrote:
>> Hi all,
>>
>> i.MX27's usb needs three clocks (usb_ipg_gate, usb_ahb_gate and usb_div)
>> but the current chipidea driver implementation, and devicetree, provides
>> only ipg and ahb. Consequently, if the bootloader don't enable the last
>> one, the kernel will crash.
>
> Which kernel version and what is the crash log you are getting?
I use linux git kernel (from linus) and 3.16.
Both has the same result, a crash in the function hw_phymode_configure.
> I used to get a USB crash on mx27, which was fixed with the following commit:
>
> commit b67b19447eb4f60d4f004f48298154630d4bed39
> Author: Fabio Estevam<fabio.estevam@...escale.com>
> Date: Wed Apr 16 14:53:18 2014 -0300
>
> ARM: dts: imx27: Use the correct usb clock gate
>
> USB Host1, Host2 and OTG are gated via 'usb_ipg_gate' clock, so
> fix it in order
> to avoid the following kernel oops:
>
> usbcore: registered new interface driver usb-storage
> 10024000.usb supply vbus not found, using dummy regulator
> Unhandled fault: external abort on non-linefetch (0x808) at 0xf4424184
> Internal error: : 808 [#1] PREEMPT ARM
> Modules linked in:
> CPU: 0 PID: 1 Comm: swapper Not tainted 3.15.0-rc1-26325-g971f9fd-dirty #64
> task: c7829aa0 ti: c7836000 task.ti: c7836000
> PC is at ci_hdrc_probe+0x3a4/0x634
> LR is at ci_hdrc_probe+0x100/0x634
> pc : [<c036cc78>] lr : [<c036c9d4>] psr: 60000013
> sp : c7837d48 ip : 00000001 fp : 00000000
> r10: 00000000 r9 : 00000000 r8 : c791b6c0
> r7 : c7945000 r6 : f4424000 r5 : c7945010 r4 : c794e010
> r3 : f4424184 r2 : 00000000 r1 : 8c000004 r0 : 0c000004
> Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
> Control: 0005317f Table: a0004000 DAC: 00000017
> Process swapper (pid: 1, stack limit = 0xc78361c0)
> Stack: (0xc7837d48 to 0xc7838000)
>
> Signed-off-by: Fabio Estevam<fabio.estevam@...escale.com>
> Signed-off-by: Shawn Guo<shawn.guo@...escale.com>
>
> Do you have this one applied?
Yes, I've got this commit on my kernel.
This patch enable clock ipg, but the clock usb_div is disable,
so the "crash" still happen. The only way we found to get the
usb working is to enable the three usb clock : ipg, ahb and per.
Best regards,
Philippe
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists