Re: [PATCH 3/4] ARM: dts: imx27.dtsi: change the clock information for usb

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

 




On Tue, Sep 15, 2015 at 10:49 PM, Peter Chen <peter.chen@xxxxxxxxxxxxx> wrote:
> For imx27, it needs three clocks to let the controller work,
> the old code is wrong, and will cause below data abort when
> accass usbmisc registers.
>
> usbcore: registered new interface driver usb-storage
> Unhandled fault: external abort on non-linefetch (0x008) at 0xf4424600
> pgd = c0004000
> [f4424600] *pgd=10000452(bad)
> Internal error: : 8 [#1] PREEMPT ARM
> Modules linked in:
> CPU: 0 PID: 1 Comm: swapper Not tainted 4.1.0-next-20150701-dirty #3089
> Hardware name: Freescale i.MX27 (Device Tree Support)
> task: c7832b60 ti: c783e000 task.ti: c783e000
> PC is at usbmisc_imx27_init+0x4c/0xbc
> LR is at usbmisc_imx27_init+0x40/0xbc
> pc : [<c03cb5c0>]    lr : [<c03cb5b4>]    psr: 60000093
> sp : c783fe08  ip : 00000000  fp : 00000000
> r10: c0576434  r9 : 0000009c  r8 : c7a773a0
> r7 : 01000000  r6 : 60000013  r5 : c7a776f0  r4 : c7a773f0
> r3 : f4424600  r2 : 00000000  r1 : 00000001  r0 : 00000001
> Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
> Control: 0005317f  Table: a0004000  DAC: 00000017
> Process swapper (pid: 1, stack limit = 0xc783e190)
> Stack: (0xc783fe08 to 0xc7840000)
>
> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
> Reported-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx>
> ---
>  arch/arm/boot/dts/imx27.dtsi | 19 +++++++++++++++----
>  1 file changed, 15 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/boot/dts/imx27.dtsi b/arch/arm/boot/dts/imx27.dtsi
> index feb9d34..93e3e14 100644
> --- a/arch/arm/boot/dts/imx27.dtsi
> +++ b/arch/arm/boot/dts/imx27.dtsi

mx25.dtsi and mx35.dtsi also need to be changed.

> @@ -486,7 +486,11 @@
>                                 compatible = "fsl,imx27-usb";
>                                 reg = <0x10024000 0x200>;
>                                 interrupts = <56>;
> -                               clocks = <&clks IMX27_CLK_USB_IPG_GATE>;
> +                               need-three-clocks;
> +                               clocks = <&clks IMX27_CLK_USB_IPG_GATE>,
> +                                       <&clks IMX27_CLK_USB_AHB_GATE>,
> +                                       <&clks IMX27_CLK_USB_DIV>;
> +                               clock-names = "ipg", "ahb", "per";

'ipg' and 'ahb' are enough.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux