From mboxrd@z Thu Jan 1 00:00:00 1970 From: heiko@sntech.de (Heiko =?ISO-8859-1?Q?St=FCbner?=) Date: Tue, 07 Oct 2014 21:37:48 +0200 Subject: [PATCH 2/2] ARM: dts: enable init rate for clock In-Reply-To: References: <1412674438-26160-1-git-send-email-kever.yang@rock-chips.com> <1854393.Qf7h4x8eso@phil> Message-ID: <3345042.lGjGYUIfnV@phil> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Am Dienstag, 7. Oktober 2014, 12:20:38 schrieb Doug Anderson: > Heiko, > > On Tue, Oct 7, 2014 at 11:27 AM, Heiko St?bner wrote: > > Am Dienstag, 7. Oktober 2014, 10:03:19 schrieb Doug Anderson: > >> Kever, > >> > >> On Tue, Oct 7, 2014 at 2:33 AM, Kever Yang > > > > wrote: > >> > We need to initialize PLL rate and some of bus clock rate while > >> > kernel init, for there is no other module will do that. > >> > > >> > Signed-off-by: Kever Yang > >> > --- > >> > > >> > arch/arm/boot/dts/rk3288.dtsi | 10 ++++++++++ > >> > 1 file changed, 10 insertions(+) > >> > > >> > diff --git a/arch/arm/boot/dts/rk3288.dtsi > >> > b/arch/arm/boot/dts/rk3288.dtsi > >> > index 874e66d..2f4519b 100644 > >> > --- a/arch/arm/boot/dts/rk3288.dtsi > >> > +++ b/arch/arm/boot/dts/rk3288.dtsi > >> > @@ -455,6 +455,16 @@ > >> > > >> > rockchip,grf = <&grf>; > >> > #clock-cells = <1>; > >> > #reset-cells = <1>; > >> > > >> > + assigned-clocks = <&cru PLL_GPLL>, <&cru PLL_CPLL>, > >> > + <&cru PLL_NPLL>, <&cru ACLK_CPU>, > >> > + <&cru HCLK_CPU>, <&cru PCLK_CPU>, > >> > + <&cru ACLK_PERI>, <&cru HCLK_PERI>, > >> > + <&cru PCLK_PERI>; > >> > + assigned-clock-rates = <594000000>, <400000000>, > >> > + <500000000>, <300000000>, > >> > >> When I boot up, I see that ACLK_CPU was 297000000. You specified > >> 300000000. Did you expect to get 300? If you expected 297, I think > >> you should put 297. If you expected 300 then we have some debugging > >> to do. Note: I'm not quite sure how you'd expect to get 300 given > >> that none of the PLLs divide evenly to 300... > > > > I'd think 300 is simply the target value. I.e. take the closest rate <= > > 300 > > MHz, same for 150 etc. I somehow like the approach of specifying what the > > rate _should_ ideally be :-) . > > > > Also reduces the amount of thougths necessary (and possible > > head-scratching) when adapting the pll rates to some other constraints > > (child-clocks already have the target rates and cannot drop to some even > > stranger value). > OK, fair enough. I guess maybe I've overly paranoid and like to make > sure that someone has thought through exactly what various core clocks > should be and made sure that the voltage matched and that clocks were > never out of spec. ...but if others really like specifying more ideal > values then I'm OK with it. Especially as clocks like ACLK_CPU can select from different plls (cpll and gpll on the rk3288) it would be even more difficult to predict which path the clock selection would take. So it makes sense to specifiy the value we wish for and let the common-clock-framework do its magic to select the best sources. >I will say that I'd really like the PLLs > to be exact, though. I think those are now... agreed. PLL rates should be exact.