Virtual devices (cpufreq etc) and DT
Jamie Iles
jamie at jamieiles.com
Thu Aug 4 02:41:28 EST 2011
On Wed, Aug 03, 2011 at 11:29:16AM -0500, Rob Herring wrote:
> On 08/03/2011 04:50 AM, Jamie Iles wrote:
> > I'm trying to work out how our cpufreq driver fits in with device tree
> > bindings. We have a simple driver that just takes a struct clk and
> > calls clk_set_rate() on it. Is a node in the device tree the right way
> > to do this as it isn't really a physical device? I have the PLL in the
> > clocks group of the DT:
>
> Sounds generically useful...
Yes, once I've got it working internally I'll submit this as a generic
thing for drivers/cpufreq.
> The OF clock bindings are not really completely finalized and work on
> the OF clk code is basically blocked waiting on the common struct clk
> infrastructure.
OK, so for the platform I'm working on mainlining at the moment does
that mean I should leave the clock bindings for now or is that something
that can be revised at a later date?
> >
> > clocks {
> > ...
> >
> > arm_clk: clock at 11 {
> > compatible = "picochip,pc3x3-pll";
> > reg = <0x800a0050 0x8>;
> > picoxcell,min-freq = <140000000>;
> > picoxcell,max-freq = <700000000>;
> > ref-clock = <&ref_clk>, "ref";
> > clock-outputs = "cpu";
> > };
> > };
> >
>
> This describes the clock output. You still need to describe the
> connection which is what the cpufreq driver should get. For that you
> need something like this:
>
> cpu at 0 {
> compatible = "arm,cortex-a9";
> reg = <0>;
> cpu-clock = <&arm_clk>, "cpu";
> };
>
> cpu at 1 {
> compatible = "arm,cortex-a9";
> cpu-clock = <&arm_clk>, "cpu";
> };
>
> Then look for the cpu node(s) and get it's clock.
Ahh, I hadn't thought of adding it to the cpu node, that's a nice way of
representing it!
> > so I could reference that. The of clk interface also requires a struct
> > device for getting the clk so I guess this is needed...
>
> I ran into that problem as well. Making of_clk_get take a struct
> device_node ptr instead of struct device fixes the problem. Here's a
> patch that does that.
Nice, thanks Rob!
Jamie
More information about the devicetree-discuss
mailing list