ARM: dove: add si5351 clock driver to CuBox DT
authorSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Tue, 30 Apr 2013 17:24:35 +0000 (19:24 +0200)
committerJason Cooper <jason@lakedaemon.net>
Mon, 13 May 2013 20:14:56 +0000 (20:14 +0000)
This patch adds the device tree node for si5351 clock generator
and the corresponding oscillator connected to it. It also limits
i2c frequency to 100kHz as there are bus locks reported on higher
frequencies.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
arch/arm/boot/dts/dove-cubox.dts

index 7e3065a..5cae2ab 100644 (file)
                        gpio = <&gpio0 1 0>;
                };
        };
+
+       clocks {
+               /* 25MHz reference crystal */
+               ref25: oscillator {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <25000000>;
+               };
+       };
 };
 
 &uart0 { status = "okay"; };
 &sata0 { status = "okay"; };
-&i2c0 { status = "okay"; };
+
+&i2c0 {
+       status = "okay";
+       clock-frequency = <100000>;
+
+       si5351: clock-generator {
+               compatible = "silabs,si5351a-msop";
+               reg = <0x60>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               #clock-cells = <1>;
+
+               /* connect xtal input to 25MHz reference */
+               clocks = <&ref25>;
+
+               /* connect xtal input as source of pll0 and pll1 */
+               silabs,pll-source = <0 0>, <1 0>;
+
+               clkout0 {
+                       reg = <0>;
+                       silabs,drive-strength = <8>;
+                       silabs,multisynth-source = <0>;
+                       silabs,clock-source = <0>;
+                       silabs,pll-master;
+               };
+
+               clkout1 {
+                       reg = <1>;
+                       silabs,drive-strength = <8>;
+                       silabs,multisynth-source = <1>;
+                       silabs,clock-source = <0>;
+                       silabs,pll-master;
+               };
+
+               clkout2 {
+                       reg = <2>;
+                       silabs,multisynth-source = <1>;
+                       silabs,clock-source = <0>;
+               };
+       };
+};
 
 &sdio0 {
        status = "okay";