From: Nishanth Menon <nm@ti.com>
To: Lennart Sorensen <lsorense@csclub.uwaterloo.ca>
Cc: Tero Kristo <t-kristo@ti.com>, Lokesh Vutla <lokeshvutla@ti.com>,
linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Sekhar Nori <nsekhar@ti.com>
Subject: Re: [PATCH 2/2] ARM: omap5/dra7xx: Fix counter frequency drift for AM572x errata i856.
Date: Wed, 17 Dec 2014 09:22:25 -0600 [thread overview]
Message-ID: <20141217152225.GA737@kahuna> (raw)
In-Reply-To: <20141217145533.GS24110@csclub.uwaterloo.ca>
On 09:55-20141217, Lennart Sorensen wrote:
> On Wed, Dec 17, 2014 at 03:21:27PM +0200, Tero Kristo wrote:
> > Yea I think the 32k clock node should be fixed based on this.
> > Something like this:
> >
> > --- a/arch/arm/boot/dts/dra7xx-clocks.dtsi
> > +++ b/arch/arm/boot/dts/dra7xx-clocks.dtsi
> > @@ -100,8 +100,10 @@
> >
> > sys_32k_ck: sys_32k_ck {
> > #clock-cells = <0>;
> > - compatible = "fixed-clock";
> > - clock-frequency = <32768>;
> > + compatible = "fixed-factor-clock";
> > + clocks = <&sys_clkin1>;
> > + clock-mult = <1>;
> > + clock-div = <610>;
> > };
> >
> > virt_12000000_ck: virt_12000000_ck {
> >
> >
> > It might be better then just query the actual clock rate from the
> > timer code.
>
> But it is only SYSCLK1 / 610 if the DRA7_CTRL_CORE_BOOTSTRAP register
> says it is. Otherwise is is in fact 32768Hz. I certainly would expect
> that if another revision of the chip is made (and even for the single
> core AM571x chips when they are done) will have this fixed and will work
> with the external 32.768KHz crystal, if it is present.
>
> So how does one make the dtb reflect what the state of the CPU actually
> is?
>
> The errata even says that if SYSCLK1 is 26MHz (not a supported option
> in the manual), then the 32.768KHz crystal does work and the counter
> frequency will in fact be 6.144MHz like it should be.
>
> So just changing the dtb is not an option.
A clock mux might do the job?
value 1, 2 , 3 will imply sysclk1 / 610
value of 0 implies fixed 32768
soemthing like
sys_clk32_crystal {
compatible = "fixed-clock";
clock-frequency = <32768>;
}
sys_clk32_pseudo {
compatible = "fixed-clock";
compatible = "fixed-factor-clock";
clocks = <&sys_clkin1>;
clock-mult = <1>;
clock-div = <610>;
}
sys_32k_ck: sys_32k_ck {
compatible = "ti,mux-clock";
clocks = <&sys_clk32_crystal>, <&sys_clk32_pseudo>, <&sys_clk32_pseudo>, <&sys_clk32_pseudo>;
};
I think... The only issue is that the BOOTSTRAP register is not around
the usual CM1,2 address region...
--
Regards,
Nishanth Menon
WARNING: multiple messages have this Message-ID (diff)
From: nm@ti.com (Nishanth Menon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] ARM: omap5/dra7xx: Fix counter frequency drift for AM572x errata i856.
Date: Wed, 17 Dec 2014 09:22:25 -0600 [thread overview]
Message-ID: <20141217152225.GA737@kahuna> (raw)
In-Reply-To: <20141217145533.GS24110@csclub.uwaterloo.ca>
On 09:55-20141217, Lennart Sorensen wrote:
> On Wed, Dec 17, 2014 at 03:21:27PM +0200, Tero Kristo wrote:
> > Yea I think the 32k clock node should be fixed based on this.
> > Something like this:
> >
> > --- a/arch/arm/boot/dts/dra7xx-clocks.dtsi
> > +++ b/arch/arm/boot/dts/dra7xx-clocks.dtsi
> > @@ -100,8 +100,10 @@
> >
> > sys_32k_ck: sys_32k_ck {
> > #clock-cells = <0>;
> > - compatible = "fixed-clock";
> > - clock-frequency = <32768>;
> > + compatible = "fixed-factor-clock";
> > + clocks = <&sys_clkin1>;
> > + clock-mult = <1>;
> > + clock-div = <610>;
> > };
> >
> > virt_12000000_ck: virt_12000000_ck {
> >
> >
> > It might be better then just query the actual clock rate from the
> > timer code.
>
> But it is only SYSCLK1 / 610 if the DRA7_CTRL_CORE_BOOTSTRAP register
> says it is. Otherwise is is in fact 32768Hz. I certainly would expect
> that if another revision of the chip is made (and even for the single
> core AM571x chips when they are done) will have this fixed and will work
> with the external 32.768KHz crystal, if it is present.
>
> So how does one make the dtb reflect what the state of the CPU actually
> is?
>
> The errata even says that if SYSCLK1 is 26MHz (not a supported option
> in the manual), then the 32.768KHz crystal does work and the counter
> frequency will in fact be 6.144MHz like it should be.
>
> So just changing the dtb is not an option.
A clock mux might do the job?
value 1, 2 , 3 will imply sysclk1 / 610
value of 0 implies fixed 32768
soemthing like
sys_clk32_crystal {
compatible = "fixed-clock";
clock-frequency = <32768>;
}
sys_clk32_pseudo {
compatible = "fixed-clock";
compatible = "fixed-factor-clock";
clocks = <&sys_clkin1>;
clock-mult = <1>;
clock-div = <610>;
}
sys_32k_ck: sys_32k_ck {
compatible = "ti,mux-clock";
clocks = <&sys_clk32_crystal>, <&sys_clk32_pseudo>, <&sys_clk32_pseudo>, <&sys_clk32_pseudo>;
};
I think... The only issue is that the BOOTSTRAP register is not around
the usual CM1,2 address region...
--
Regards,
Nishanth Menon
WARNING: multiple messages have this Message-ID (diff)
From: Nishanth Menon <nm@ti.com>
To: Lennart Sorensen <lsorense@csclub.uwaterloo.ca>
Cc: Tero Kristo <t-kristo@ti.com>, Lokesh Vutla <lokeshvutla@ti.com>,
<linux-omap@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
Sekhar Nori <nsekhar@ti.com>
Subject: Re: [PATCH 2/2] ARM: omap5/dra7xx: Fix counter frequency drift for AM572x errata i856.
Date: Wed, 17 Dec 2014 09:22:25 -0600 [thread overview]
Message-ID: <20141217152225.GA737@kahuna> (raw)
In-Reply-To: <20141217145533.GS24110@csclub.uwaterloo.ca>
On 09:55-20141217, Lennart Sorensen wrote:
> On Wed, Dec 17, 2014 at 03:21:27PM +0200, Tero Kristo wrote:
> > Yea I think the 32k clock node should be fixed based on this.
> > Something like this:
> >
> > --- a/arch/arm/boot/dts/dra7xx-clocks.dtsi
> > +++ b/arch/arm/boot/dts/dra7xx-clocks.dtsi
> > @@ -100,8 +100,10 @@
> >
> > sys_32k_ck: sys_32k_ck {
> > #clock-cells = <0>;
> > - compatible = "fixed-clock";
> > - clock-frequency = <32768>;
> > + compatible = "fixed-factor-clock";
> > + clocks = <&sys_clkin1>;
> > + clock-mult = <1>;
> > + clock-div = <610>;
> > };
> >
> > virt_12000000_ck: virt_12000000_ck {
> >
> >
> > It might be better then just query the actual clock rate from the
> > timer code.
>
> But it is only SYSCLK1 / 610 if the DRA7_CTRL_CORE_BOOTSTRAP register
> says it is. Otherwise is is in fact 32768Hz. I certainly would expect
> that if another revision of the chip is made (and even for the single
> core AM571x chips when they are done) will have this fixed and will work
> with the external 32.768KHz crystal, if it is present.
>
> So how does one make the dtb reflect what the state of the CPU actually
> is?
>
> The errata even says that if SYSCLK1 is 26MHz (not a supported option
> in the manual), then the 32.768KHz crystal does work and the counter
> frequency will in fact be 6.144MHz like it should be.
>
> So just changing the dtb is not an option.
A clock mux might do the job?
value 1, 2 , 3 will imply sysclk1 / 610
value of 0 implies fixed 32768
soemthing like
sys_clk32_crystal {
compatible = "fixed-clock";
clock-frequency = <32768>;
}
sys_clk32_pseudo {
compatible = "fixed-clock";
compatible = "fixed-factor-clock";
clocks = <&sys_clkin1>;
clock-mult = <1>;
clock-div = <610>;
}
sys_32k_ck: sys_32k_ck {
compatible = "ti,mux-clock";
clocks = <&sys_clk32_crystal>, <&sys_clk32_pseudo>, <&sys_clk32_pseudo>, <&sys_clk32_pseudo>;
};
I think... The only issue is that the BOOTSTRAP register is not around
the usual CM1,2 address region...
--
Regards,
Nishanth Menon
next prev parent reply other threads:[~2014-12-17 15:22 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-12 22:08 [PATCH 0/2] ARM: omap5/dra7xx counter frequency fixes Lennart Sorensen
2014-12-12 22:08 ` Lennart Sorensen
2014-12-12 22:08 ` [PATCH 1/2] ARM: omap5/dra7xx: Fix frequency typos Lennart Sorensen
2014-12-12 22:08 ` Lennart Sorensen
2014-12-16 11:38 ` Lokesh Vutla
2014-12-16 11:38 ` Lokesh Vutla
2014-12-16 11:38 ` Lokesh Vutla
2014-12-16 14:06 ` Nishanth Menon
2014-12-16 14:06 ` Nishanth Menon
2014-12-16 14:06 ` Nishanth Menon
2014-12-16 16:39 ` Lennart Sorensen
2014-12-16 16:39 ` Lennart Sorensen
2014-12-12 22:08 ` [PATCH 2/2] ARM: omap5/dra7xx: Fix counter frequency drift for AM572x errata i856 Lennart Sorensen
2014-12-12 22:08 ` Lennart Sorensen
2014-12-14 4:45 ` Lennart Sorensen
2014-12-14 4:45 ` Lennart Sorensen
2014-12-16 11:35 ` Lokesh Vutla
2014-12-16 11:35 ` Lokesh Vutla
2014-12-16 11:35 ` Lokesh Vutla
2014-12-16 14:58 ` Nishanth Menon
2014-12-16 14:58 ` Nishanth Menon
2014-12-16 14:58 ` Nishanth Menon
2014-12-16 16:36 ` Lennart Sorensen
2014-12-16 16:36 ` Lennart Sorensen
2014-12-16 18:59 ` Nishanth Menon
2014-12-16 18:59 ` Nishanth Menon
2014-12-16 18:59 ` Nishanth Menon
2014-12-16 19:27 ` Lennart Sorensen
2014-12-16 19:27 ` Lennart Sorensen
2014-12-16 19:33 ` Nishanth Menon
2014-12-16 19:33 ` Nishanth Menon
2014-12-16 19:33 ` Nishanth Menon
2014-12-17 13:21 ` Tero Kristo
2014-12-17 13:21 ` Tero Kristo
2014-12-17 13:21 ` Tero Kristo
2014-12-17 14:55 ` Lennart Sorensen
2014-12-17 14:55 ` Lennart Sorensen
2014-12-17 15:22 ` Nishanth Menon [this message]
2014-12-17 15:22 ` Nishanth Menon
2014-12-17 15:22 ` Nishanth Menon
2014-12-17 15:27 ` Lennart Sorensen
2014-12-17 15:27 ` Lennart Sorensen
2014-12-17 15:45 ` Tero Kristo
2014-12-17 15:45 ` Tero Kristo
2014-12-17 15:45 ` Tero Kristo
2014-12-17 15:49 ` Lennart Sorensen
2014-12-17 15:49 ` Lennart Sorensen
2014-12-17 15:53 ` Nishanth Menon
2014-12-17 15:53 ` Nishanth Menon
2014-12-17 15:53 ` Nishanth Menon
2014-12-17 15:56 ` Tero Kristo
2014-12-17 15:56 ` Tero Kristo
2014-12-17 15:56 ` Tero Kristo
2014-12-16 16:16 ` Lennart Sorensen
2014-12-16 16:16 ` Lennart Sorensen
2014-12-16 19:56 ` Nishanth Menon
2014-12-16 19:56 ` Nishanth Menon
2014-12-16 19:56 ` Nishanth Menon
2014-12-16 19:58 ` Lennart Sorensen
2014-12-16 19:58 ` Lennart Sorensen
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=20141217152225.GA737@kahuna \
--to=nm@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=lokeshvutla@ti.com \
--cc=lsorense@csclub.uwaterloo.ca \
--cc=nsekhar@ti.com \
--cc=t-kristo@ti.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.