From: Stefan Wahren <stefan.wahren@i2se.com>
To: Fabio Estevam <festevam@gmail.com>
Cc: Sascha Hauer <kernel@pengutronix.de>,
linux-kernel <linux-kernel@vger.kernel.org>,
Shawn Guo <shawn.guo@linaro.org>,
Mike Turquette <mturquette@linaro.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Marek Vasut <marex@denx.de>, Zhi Li <lznuaa@gmail.com>
Subject: Re: [PATCH V2 RESEND] clk: mxs: Fix invalid 32-bit access to frac registers
Date: Mon, 16 Feb 2015 21:24:51 +0100 (CET) [thread overview]
Message-ID: <235965536.675649.1424118291283.JavaMail.open-xchange@oxbaltgw06.schlund.de> (raw)
In-Reply-To: <CAOMZO5DJ82Yyq4Ch_kKR01-yYhjn53As7ZBt91Dd5sna9Z+wXg@mail.gmail.com>
Hi Fabio,
> Fabio Estevam <festevam@gmail.com> hat am 12. Februar 2015 um 20:08
> geschrieben:
>
>
> Hi Stefan,
>
> On Thu, Feb 12, 2015 at 4:59 PM, Stefan Wahren <stefan.wahren@i2se.com> wrote:
> > Hi Fabio,
> >
> >> Fabio Estevam <festevam@gmail.com> hat am 11. Februar 2015 um 22:10
> >> geschrieben:
> >>
> >>
> >> On Wed, Feb 11, 2015 at 6:31 PM, Stefan Wahren <stefan.wahren@i2se.com>
> >> wrote:
> >>
> >> >> I always get 0x5e5b5513 with or without your patch.
> >> >
> >> > very strange. Do you have any idea why IO1_STABLE is permanent low?
> >>
> >> On my case it is always 1.
> >
> > i expected the same behavior on my hardware.
> >
> > Do you use u-boot as bootloader?
>
> Yes, I do.
i will try to test it with u-boot.
>
> >>
> >> > Can you confirm the behavior according to your flash issue?
> >>
> >> In my tests IO1_STABLE stays the same.
> >
> > This wasn't the intension of my second question. I wanted to know about the
> > state of the SPI NOR flash detection process.
> >
> > Does it sucessed if you apply the patch, but revert the changes in
> > clk_ref_set_rate() from clk-ref.c?
>
> I don't have my mx28evk setup available at the moment, but when I
> applied your patch and reverted all the changes in clk-ref.c, then the
> SPI flash detection works.
>
> I haven't tested to only reverting the changes inside
> clk_ref_set_rate(), but I can do it tomorrow.
I think the reason for the problem in the flash detection is caused by the
misaligned access on the frac register.
Maybe you want to try the following after the second patch is reverted.
Stefan
------------>8----------------------------------------------------------
diff --git a/drivers/clk/mxs/clk-imx23.c b/drivers/clk/mxs/clk-imx23.c
index 9fc9359..87969e3 100644
--- a/drivers/clk/mxs/clk-imx23.c
+++ b/drivers/clk/mxs/clk-imx23.c
@@ -73,8 +73,10 @@ static void __init clk_misc_init(void)
* 480 MHz seems too high to be ssp clock source directly,
* so set frac to get a 288 MHz ref_io.
*/
- writel_relaxed(0x3f << BP_FRAC_IOFRAC, FRAC + CLR);
- writel_relaxed(30 << BP_FRAC_IOFRAC, FRAC + SET);
+ val = readl_relaxed(FRAC);
+ val &= ~(0x3f << BP_FRAC_IOFRAC);
+ val |= 30 << BP_FRAC_IOFRAC;
+ writel_relaxed(val, FRAC);
}
static const char *sel_pll[] __initconst = { "pll", "ref_xtal", };
diff --git a/drivers/clk/mxs/clk-imx28.c b/drivers/clk/mxs/clk-imx28.c
index a6c3501..e47ad69 100644
--- a/drivers/clk/mxs/clk-imx28.c
+++ b/drivers/clk/mxs/clk-imx28.c
@@ -118,10 +118,15 @@ static void __init clk_misc_init(void)
/*
* 480 MHz seems too high to be ssp clock source directly,
* so set frac0 to get a 288 MHz ref_io0 and ref_io1.
+ * According to reference manual we must modify frac bytewise.
*/
val = readl_relaxed(FRAC0);
- val &= ~((0x3f << BP_FRAC0_IO0FRAC) | (0x3f << BP_FRAC0_IO1FRAC));
- val |= (30 << BP_FRAC0_IO0FRAC) | (30 << BP_FRAC0_IO1FRAC);
+ val &= ~(0x3f << BP_FRAC0_IO0FRAC);
+ val |= 30 << BP_FRAC0_IO0FRAC;
+ writel_relaxed(val, FRAC0);
+ val = readl_relaxed(FRAC0);
+ val &= ~(0x3f << BP_FRAC0_IO1FRAC);
+ val |= 30 << BP_FRAC0_IO1FRAC;
writel_relaxed(val, FRAC0);
}
next prev parent reply other threads:[~2015-02-16 20:25 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-30 19:20 Stefan Wahren
2015-01-30 19:28 ` Fabio Estevam
2015-02-03 21:08 ` Mike Turquette
2015-02-10 12:52 ` Fabio Estevam
2015-02-10 13:05 ` Stefan Wahren
2015-02-10 13:09 ` Fabio Estevam
2015-02-10 13:55 ` Stefan Wahren
2015-02-10 15:06 ` Fabio Estevam
2015-02-10 21:24 ` Stefan Wahren
2015-02-10 21:54 ` Fabio Estevam
2015-02-10 22:07 ` Marek Vasut
2015-02-11 2:24 ` Mike Turquette
2015-02-11 16:58 ` Fabio Estevam
2015-02-11 20:31 ` Stefan Wahren
2015-02-11 21:10 ` Fabio Estevam
2015-02-12 18:59 ` Stefan Wahren
2015-02-12 19:08 ` Fabio Estevam
2015-02-16 20:24 ` Stefan Wahren [this message]
2015-02-17 8:09 ` Marek Vasut
2015-02-20 11:09 ` Stefan Wahren
-- strict thread matches above, loose matches on Subject: below --
2015-01-30 19:14 Stefan Wahren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=235965536.675649.1424118291283.JavaMail.open-xchange@oxbaltgw06.schlund.de \
--to=stefan.wahren@i2se.com \
--cc=festevam@gmail.com \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lznuaa@gmail.com \
--cc=marex@denx.de \
--cc=mturquette@linaro.org \
--cc=shawn.guo@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®