[PATCH] clk: si570: Add a driver for SI570 oscillators

Guenter Roeck linux at roeck-us.net
Mon Sep 16 12:49:27 EDT 2013


On Mon, Sep 16, 2013 at 10:34:28AM -0600, Stephen Warren wrote:
> On 09/12/2013 06:55 PM, Soren Brinkmann wrote:
> > Add a driver for SILabs 570, 571, 598, 599 programmable oscillators.
> > The devices generate low-jitter clock signals and are reprogrammable via
> > an I2C interface.
> 
> > diff --git a/Documentation/devicetree/bindings/clock/silabs,si570.txt b/Documentation/devicetree/bindings/clock/silabs,si570.txt
> 
> > +Required properties:
> > + - compatible: Shall be one of "silabs,si57x", "silabs,si59x".
> > + - reg: I2C device address.
> > + - #clock-cells: From common clock bindings: Shall be 0.
> > + - factory-fout: Factory set default frequency
> 
> So, there's no way to query this from the device at all? Looking at the
> data-sheet, all the frequency generation parameters are in registers,
> and the device supports I2C read commands. As such, I'm not convinced
> this property is necessary.
> 
Unfortunately, the chip does not report the factory setting for fout,
so the property is needed. The chip can not be programmed without it.

> > +Optional properties:
> > + - initial-fout: Initial output frequency to set during probe
> 
> "probe" is a Linux-specific concept. This property should be removed. If
> the driver is asked to set a specific frequency, it should do so, but I
> don't think it should program something pro-actively just because it
> starts up.
> 
> If this property is acceptable, it'd be better to describe it more along
> the lines of the following:
> 
> initial-fout: The frequency at which the system requires the clock to
> operate.
> 
It should probably be something like "clock-frequency". In many use cases
the programmed frequency is set to a constant frequency at system startup
and never changed, similar to other clocks.

Guenter

> > + - temperature-stability-7ppm: Indicate a device with a temperature stability
> > +			       of 7ppm
> > +
> > +Example:
> > +	si570: clock-generator at 5d {
> > +		#clock-cells = <0>;
> > +		compatible = "silabs,si570";
> > +		reg = <0x5d>;
> > +		factory-fout = <156250000>;
> > +	};
> 
> 



More information about the linux-arm-kernel mailing list