Re: [PATCH V2 RESEND] clk: mxs: Fix invalid 32-bit access to frac registers

Stefan Wahren
2015-02-20T11:09:53Z

Hi Fabio,

> Stefan Wahren <stefan.wahren@i2se.com> hat am 11. Februar 2015 um 21:31
> geschrieben:
>
>
> Hi Fabio,
>
> > Fabio Estevam <festevam@gmail.com> hat am 11. Februar 2015 um 17:58
> > geschrieben:
> >
> >
> > Hi Stefan,
> >
> > On Tue, Feb 10, 2015 at 7:24 PM, Stefan Wahren <stefan.wahren@i2se.com>
> > wrote:
> > > Hi Fabio,
> > >
> > >> Fabio Estevam <festevam@gmail.com> hat am 10. Februar 2015 um 16:06
> > >> geschrieben:
> > >>
> > >>
> > >> Hi Stefan,
> > >>
> > >> On Tue, Feb 10, 2015 at 11:55 AM, Stefan Wahren <stefan.wahren@i2se.com>
> > >> wrote:
> > >>
> > >> > Could you apply only the clk-imx28.c part of my patch and see what
> > >> > happens?
> > >>
> > >> If I apply only the clk-imx28.c part of your patch I can successfully
> > >> probe the SPI NOR.
> > >
> > > thanks this is very helpful. I built the linux-next for my Duckbill and
> > > add
> > > the
> > > SSP2 section from imx28-evk.dts into imx28-duckbill.dts.
> > >
> > > Without my patch i get the following for HW_CLKCTRL_FRAC0:
> > >
> > > ./memwatch -a 0x800401B0
> > >
> > > 0x800401b0: 0x5e5b5513
> > >
> > > With my patch i get:
> > >
> > > ./memwatch -a 0x800401B0
> > >
> > > 0x800401b0: 0x5e1b5513
> >
> > I always get 0x5e5b5513 with or without your patch.
>
> very strange. Do you have any idea why IO1_STABLE is permanent low?
>
> Here are the register dumps as requested by Mike.
>
> Without this patch after boot
>
> 0x80040000: 0x00060000
> 0x80040010: 0x800004b1
> 0x80040050: 0x00011001
> 0x80040080: 0x64000001
> 0x80040090: 0x00000001
> 0x800400a0: 0x80000001
> 0x800400b0: 0x00000002
> 0x800400c0: 0xa0000001
> 0x800401b0: 0x5e5b5513
> 0x800401c0: 0x00929292
> 0x800401d0: 0x00004104
>
> With this patch after boot
>
> 0x80040000: 0x00060000
> 0x80040010: 0x800004b1
> 0x80040050: 0x00011001
> 0x80040080: 0x64000001
> 0x80040090: 0x00000001
> 0x800400a0: 0x80000001
> 0x800400b0: 0x00000002
> 0x800400c0: 0xa0000001
> 0x800401b0: 0x5e1b5513
> 0x800401c0: 0x00929292
> 0x800401d0: 0x00004104

just for the records here is the register dump for the case "patch V2 on
Duckbill with U-Boot instead of imx-bootlets":

0x80040000: 0x00060000
0x80040010: 0x800004b1
0x80040050: 0x00011001
0x80040080: 0x64000001
0x80040090: 0x00000005
0x800400a0: 0x80000001
0x800400b0: 0x00000002
0x800400c0: 0xa0000001
0x800401b0: 0x5e5b5513
0x800401c0: 0x00929292
0x800401d0: 0x00004104

So the issue with IO1_STABLE seems to come from the bootloader.

Do you have any idea which i.MX28 registers additionally could be relevant?

Stefan