On Mon, Jan 20, 2014 at 03:03:50PM -0200, Fabio Estevam wrote: > On Mon, Jan 20, 2014 at 2:48 PM, Russell King - ARM Linux > <linux@xxxxxxxxxxxxxxxx> wrote: > > > So far so good. Now, what about this external oscillator which has its > > own separate power control. My immediate thought is that this can be > > specified via card_ext_clock - I would simply need to declare a fixed-rate > > clock with either a regulator (power switch) controlled via a gpio (which > > would probably be closer to the hardware) or a gpio as an enable... ah, > > that requires me to write a common clock driver for that bit since this > > is currently not modelled by CCF... > > Isn't this covered by the gpios property of fixed-clock? > > We do the following to enable the 26MHz codec clock in > imx51-babbage.dts via GPIO4_26: > > clk_26M: codec_clock { > compatible = "fixed-clock"; > reg=<0>; > #clock-cells = <0>; > clock-frequency = <26000000>; > gpios = <&gpio4 26 GPIO_ACTIVE_LOW>; > }; Not as far as I can see. fixed-clock appears to have two properies: clock-frequency clock-output-names and nothing else. See of_fixed_clk_setup in drivers/clk/clk-fixed-rate.c. You'll also find that the documentation in this file says this about it: * DOC: basic fixed-rate clock that cannot gate * * Traits of this clock: * prepare - clk_(un)prepare only ensures parents are prepared * enable - clk_enable only ensures parents are enabled * rate - rate is always a fixed value. No clk_set_rate support * parent - fixed parent. No clk_set_parent support So, I think the bit which you quote from imx51-babbage.dts is wishful thinking on the part of the author of the DT file, rather than actually being implemented in any way by the kernel DT support. -- FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up. Estimation in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad. Estimate before purchase was "up to 13.2Mbit". -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html