aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/clock/silabs,si5324.txt
blob: 642af113aa6e4c21dbeb6845bc9356d1f04e85d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Binding for Silicon Labs si5324, si5328 and si5319 programmable
I2C clock generator.

Reference
This binding uses the common clock binding[1].
The si5324 is programmable i2c low-bandwidth, jitter-attenuating, precision
clock multiplier with up to 2 output clocks. The internal structure can be
found in [2].
The internal pin structure of si5328 and si5319 can be found in [3].

[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
[2] Si5324 Data Sheet
	http://www.silabs.com/Support%20Documents/TechnicalDocs/Si5324.pdf
[3] Si53xx Reference Manual
	http://www.silabs.com/Support%20Documents/TechnicalDocs/
	Si53xxReferenceManual.pdf

==I2C device node==

Required properties:
- compatible: should be one of
	"silabs,si5324"
	"silabs,si5319"
	"silabs,si5328"
- reg: i2c device address.
- #clock-cells: from common clock binding; shall be set to 1.
- clocks: from common clock binding; list of parent clock
  handles, clock name should be one of
	"xtal"
	"clkin1"
	"clkin2"
- #address-cells: shall be set to 1.
- #size-cells: shall be set to 0.

Optional properties:
- silabs,pll-source: pair of (number, source) for each pll. Allows
  to overwrite clock source of pll.

==Child nodes==

Each of the clock outputs can be overwritten individually by
using a child node to the I2C device node. If a child node for a clock
output is not set, the eeprom configuration is not overwritten.

Required child node properties:
- reg: number of clock output.
- clock-frequency: default output frequency at power on

Optional child node properties:
- silabs,drive-strength: output drive strength in mA, shall be one of {2,4,6,8}.

Example:
Following example describes the ZCU102 board with hdmi design which
uses si5319 as clock generator. XTAL is hard-wired on the board to act
as input clock with a frequency of 114.285MHz.

refhdmi: refhdmi {
	compatible = "fixed-clock";
	#clock-cells = <0>;
	clock-frequency = <114285000>;
};

/* Si5319 i2c clock generator */
si5319: clock-generator@68 {
	status = "okay";
	compatible = "silabs,si5319";
	reg = <0x68>;
	#address-cells = <1>;
	#size-cells = <0>;
	#clock-cells = <1>;
	clocks = <&refhdmi>;
	clock-names = "xtal";

	clk0 {
		reg = <0>;
		clock-frequency = <27000000>;
	};
};