Linux kernel -stable discussions
 help / color / mirror / Atom feed
* [PATCH 3/4] ARM: dts: imx27.dtsi: change the clock information for usb
       [not found] <1442368183-8103-1-git-send-email-peter.chen@freescale.com>
@ 2015-09-16  1:49 ` Peter Chen
  2015-09-16  3:25   ` Fabio Estevam
  2015-09-16  4:55   ` Fabio Estevam
  0 siblings, 2 replies; 5+ messages in thread
From: Peter Chen @ 2015-09-16  1:49 UTC (permalink / raw)
  To: shawn.guo, linux-usb
  Cc: kernel, fabio.estevam, devicetree, robh+dt, pawel.moll,
	mark.rutland, Peter Chen, stable

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@freescale.com>
Reported-by: Fabio Estevam <fabio.estevam@freescale.com>
Cc: <stable@vger.kernel.org>
---
 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
@@ -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";
 				fsl,usbmisc = <&usbmisc 0>;
 				status = "disabled";
 			};
@@ -495,7 +499,11 @@
 				compatible = "fsl,imx27-usb";
 				reg = <0x10024200 0x200>;
 				interrupts = <54>;
-				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";
 				fsl,usbmisc = <&usbmisc 1>;
 				dr_mode = "host";
 				status = "disabled";
@@ -505,7 +513,11 @@
 				compatible = "fsl,imx27-usb";
 				reg = <0x10024400 0x200>;
 				interrupts = <55>;
-				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";
 				fsl,usbmisc = <&usbmisc 2>;
 				dr_mode = "host";
 				status = "disabled";
@@ -515,7 +527,6 @@
 				#index-cells = <1>;
 				compatible = "fsl,imx27-usbmisc";
 				reg = <0x10024600 0x200>;
-				clocks = <&clks IMX27_CLK_USB_AHB_GATE>;
 			};
 
 			sahara2: sahara@10025000 {
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 3/4] ARM: dts: imx27.dtsi: change the clock information for usb
  2015-09-16  3:25   ` Fabio Estevam
@ 2015-09-16  2:31     ` Peter Chen
  2015-09-16  3:46       ` Fabio Estevam
  0 siblings, 1 reply; 5+ messages in thread
From: Peter Chen @ 2015-09-16  2:31 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: Shawn Guo, USB list, Sascha Hauer, Fabio Estevam,
	devicetree@vger.kernel.org, robh+dt@kernel.org, Pawel Moll,
	Mark Rutland, stable

On Wed, Sep 16, 2015 at 12:25:17AM -0300, Fabio Estevam wrote:
> On Tue, Sep 15, 2015 at 10:49 PM, Peter Chen <peter.chen@freescale.com> 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@freescale.com>
> > Reported-by: Fabio Estevam <fabio.estevam@freescale.com>
> > Cc: <stable@vger.kernel.org>
> > ---
> >  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.
> 

If you can help to test, I will update.

-- 

Best Regards,
Peter Chen

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 3/4] ARM: dts: imx27.dtsi: change the clock information for usb
  2015-09-16  1:49 ` [PATCH 3/4] ARM: dts: imx27.dtsi: change the clock information for usb Peter Chen
@ 2015-09-16  3:25   ` Fabio Estevam
  2015-09-16  2:31     ` Peter Chen
  2015-09-16  4:55   ` Fabio Estevam
  1 sibling, 1 reply; 5+ messages in thread
From: Fabio Estevam @ 2015-09-16  3:25 UTC (permalink / raw)
  To: Peter Chen
  Cc: Shawn Guo, USB list, Sascha Hauer, Fabio Estevam,
	devicetree@vger.kernel.org, robh+dt@kernel.org, Pawel Moll,
	Mark Rutland, stable

On Tue, Sep 15, 2015 at 10:49 PM, Peter Chen <peter.chen@freescale.com> 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@freescale.com>
> Reported-by: Fabio Estevam <fabio.estevam@freescale.com>
> Cc: <stable@vger.kernel.org>
> ---
>  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.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 3/4] ARM: dts: imx27.dtsi: change the clock information for usb
  2015-09-16  2:31     ` Peter Chen
@ 2015-09-16  3:46       ` Fabio Estevam
  0 siblings, 0 replies; 5+ messages in thread
From: Fabio Estevam @ 2015-09-16  3:46 UTC (permalink / raw)
  To: Peter Chen
  Cc: Shawn Guo, USB list, Sascha Hauer, Fabio Estevam,
	devicetree@vger.kernel.org, robh+dt@kernel.org, Pawel Moll,
	Mark Rutland, stable

On Tue, Sep 15, 2015 at 11:31 PM, Peter Chen <peter.chen@freescale.com> wrote:

>> mx25.dtsi and mx35.dtsi also need to be changed.
>
> If you can help to test, I will update.

Sure, I can test it on mx25pdk tomorrow.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 3/4] ARM: dts: imx27.dtsi: change the clock information for usb
  2015-09-16  1:49 ` [PATCH 3/4] ARM: dts: imx27.dtsi: change the clock information for usb Peter Chen
  2015-09-16  3:25   ` Fabio Estevam
@ 2015-09-16  4:55   ` Fabio Estevam
  1 sibling, 0 replies; 5+ messages in thread
From: Fabio Estevam @ 2015-09-16  4:55 UTC (permalink / raw)
  To: Peter Chen
  Cc: Shawn Guo, USB list, Sascha Hauer, Fabio Estevam,
	devicetree@vger.kernel.org, robh+dt@kernel.org, Pawel Moll,
	Mark Rutland, stable

On Tue, Sep 15, 2015 at 10:49 PM, Peter Chen <peter.chen@freescale.com> 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.

s/acass/accessing

>
> 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@freescale.com>
> Reported-by: Fabio Estevam <fabio.estevam@freescale.com>
> Cc: <stable@vger.kernel.org>

Tested-by: Fabio Estevam <fabio.estevam@freescale.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-09-16  4:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1442368183-8103-1-git-send-email-peter.chen@freescale.com>
2015-09-16  1:49 ` [PATCH 3/4] ARM: dts: imx27.dtsi: change the clock information for usb Peter Chen
2015-09-16  3:25   ` Fabio Estevam
2015-09-16  2:31     ` Peter Chen
2015-09-16  3:46       ` Fabio Estevam
2015-09-16  4:55   ` Fabio Estevam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox