xref: /freebsd/sys/contrib/device-tree/Bindings/clock/idt,versaclock5.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotBinding for IDT VersaClock 5,6 programmable i2c clock generators.
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotThe IDT VersaClock 5 and VersaClock 6 are programmable i2c clock
4*c66ec88fSEmmanuel Vadotgenerators providing from 3 to 12 output clocks.
5*c66ec88fSEmmanuel Vadot
6*c66ec88fSEmmanuel Vadot==I2C device node==
7*c66ec88fSEmmanuel Vadot
8*c66ec88fSEmmanuel VadotRequired properties:
9*c66ec88fSEmmanuel Vadot- compatible:	shall be one of
10*c66ec88fSEmmanuel Vadot		"idt,5p49v5923"
11*c66ec88fSEmmanuel Vadot		"idt,5p49v5925"
12*c66ec88fSEmmanuel Vadot		"idt,5p49v5933"
13*c66ec88fSEmmanuel Vadot		"idt,5p49v5935"
14*c66ec88fSEmmanuel Vadot		"idt,5p49v6901"
15*c66ec88fSEmmanuel Vadot		"idt,5p49v6965"
16*c66ec88fSEmmanuel Vadot- reg:		i2c device address, shall be 0x68 or 0x6a.
17*c66ec88fSEmmanuel Vadot- #clock-cells:	from common clock binding; shall be set to 1.
18*c66ec88fSEmmanuel Vadot- clocks:	from common clock binding; list of parent clock handles,
19*c66ec88fSEmmanuel Vadot		- 5p49v5923 and
20*c66ec88fSEmmanuel Vadot		  5p49v5925 and
21*c66ec88fSEmmanuel Vadot		  5p49v6901: (required) either or both of XTAL or CLKIN
22*c66ec88fSEmmanuel Vadot					reference clock.
23*c66ec88fSEmmanuel Vadot		- 5p49v5933 and
24*c66ec88fSEmmanuel Vadot		- 5p49v5935: (optional) property not present (internal
25*c66ec88fSEmmanuel Vadot					Xtal used) or CLKIN reference
26*c66ec88fSEmmanuel Vadot					clock.
27*c66ec88fSEmmanuel Vadot- clock-names:	from common clock binding; clock input names, can be
28*c66ec88fSEmmanuel Vadot		- 5p49v5923 and
29*c66ec88fSEmmanuel Vadot		  5p49v5925 and
30*c66ec88fSEmmanuel Vadot		  5p49v6901: (required) either or both of "xin", "clkin".
31*c66ec88fSEmmanuel Vadot		- 5p49v5933 and
32*c66ec88fSEmmanuel Vadot		- 5p49v5935: (optional) property not present or "clkin".
33*c66ec88fSEmmanuel Vadot
34*c66ec88fSEmmanuel Vadot==Mapping between clock specifier and physical pins==
35*c66ec88fSEmmanuel Vadot
36*c66ec88fSEmmanuel VadotWhen referencing the provided clock in the DT using phandle and
37*c66ec88fSEmmanuel Vadotclock specifier, the following mapping applies:
38*c66ec88fSEmmanuel Vadot
39*c66ec88fSEmmanuel Vadot5P49V5923:
40*c66ec88fSEmmanuel Vadot	0 -- OUT0_SEL_I2CB
41*c66ec88fSEmmanuel Vadot	1 -- OUT1
42*c66ec88fSEmmanuel Vadot	2 -- OUT2
43*c66ec88fSEmmanuel Vadot
44*c66ec88fSEmmanuel Vadot5P49V5933:
45*c66ec88fSEmmanuel Vadot	0 -- OUT0_SEL_I2CB
46*c66ec88fSEmmanuel Vadot	1 -- OUT1
47*c66ec88fSEmmanuel Vadot	2 -- OUT4
48*c66ec88fSEmmanuel Vadot
49*c66ec88fSEmmanuel Vadot5P49V5925 and
50*c66ec88fSEmmanuel Vadot5P49V5935:
51*c66ec88fSEmmanuel Vadot	0 -- OUT0_SEL_I2CB
52*c66ec88fSEmmanuel Vadot	1 -- OUT1
53*c66ec88fSEmmanuel Vadot	2 -- OUT2
54*c66ec88fSEmmanuel Vadot	3 -- OUT3
55*c66ec88fSEmmanuel Vadot	4 -- OUT4
56*c66ec88fSEmmanuel Vadot
57*c66ec88fSEmmanuel Vadot5P49V6901:
58*c66ec88fSEmmanuel Vadot	0 -- OUT0_SEL_I2CB
59*c66ec88fSEmmanuel Vadot	1 -- OUT1
60*c66ec88fSEmmanuel Vadot	2 -- OUT2
61*c66ec88fSEmmanuel Vadot	3 -- OUT3
62*c66ec88fSEmmanuel Vadot	4 -- OUT4
63*c66ec88fSEmmanuel Vadot
64*c66ec88fSEmmanuel Vadot==Example==
65*c66ec88fSEmmanuel Vadot
66*c66ec88fSEmmanuel Vadot/* 25MHz reference crystal */
67*c66ec88fSEmmanuel Vadotref25: ref25m {
68*c66ec88fSEmmanuel Vadot	compatible = "fixed-clock";
69*c66ec88fSEmmanuel Vadot	#clock-cells = <0>;
70*c66ec88fSEmmanuel Vadot	clock-frequency = <25000000>;
71*c66ec88fSEmmanuel Vadot};
72*c66ec88fSEmmanuel Vadot
73*c66ec88fSEmmanuel Vadoti2c-master-node {
74*c66ec88fSEmmanuel Vadot
75*c66ec88fSEmmanuel Vadot	/* IDT 5P49V5923 i2c clock generator */
76*c66ec88fSEmmanuel Vadot	vc5: clock-generator@6a {
77*c66ec88fSEmmanuel Vadot		compatible = "idt,5p49v5923";
78*c66ec88fSEmmanuel Vadot		reg = <0x6a>;
79*c66ec88fSEmmanuel Vadot		#clock-cells = <1>;
80*c66ec88fSEmmanuel Vadot
81*c66ec88fSEmmanuel Vadot		/* Connect XIN input to 25MHz reference */
82*c66ec88fSEmmanuel Vadot		clocks = <&ref25m>;
83*c66ec88fSEmmanuel Vadot		clock-names = "xin";
84*c66ec88fSEmmanuel Vadot	};
85*c66ec88fSEmmanuel Vadot};
86*c66ec88fSEmmanuel Vadot
87*c66ec88fSEmmanuel Vadot/* Consumer referencing the 5P49V5923 pin OUT1 */
88*c66ec88fSEmmanuel Vadotconsumer {
89*c66ec88fSEmmanuel Vadot	...
90*c66ec88fSEmmanuel Vadot	clocks = <&vc5 1>;
91*c66ec88fSEmmanuel Vadot	...
92*c66ec88fSEmmanuel Vadot}
93