Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1Binding for IDT VersaClock 5,6 programmable i2c clock generators.
2
3The IDT VersaClock 5 and VersaClock 6 are programmable i2c clock
4generators providing from 3 to 12 output clocks.
5
6==I2C device node==
7
8Required properties:
9- compatible: shall be one of
10 "idt,5p49v5923"
11 "idt,5p49v5925"
12 "idt,5p49v5933"
13 "idt,5p49v5935"
14 "idt,5p49v6901"
15- reg: i2c device address, shall be 0x68 or 0x6a.
16- #clock-cells: from common clock binding; shall be set to 1.
17- clocks: from common clock binding; list of parent clock handles,
18 - 5p49v5923 and
19 5p49v5925 and
20 5p49v6901: (required) either or both of XTAL or CLKIN
21 reference clock.
22 - 5p49v5933 and
23 - 5p49v5935: (optional) property not present (internal
24 Xtal used) or CLKIN reference
25 clock.
26- clock-names: from common clock binding; clock input names, can be
27 - 5p49v5923 and
28 5p49v5925 and
29 5p49v6901: (required) either or both of "xin", "clkin".
30 - 5p49v5933 and
31 - 5p49v5935: (optional) property not present or "clkin".
32
33==Mapping between clock specifier and physical pins==
34
35When referencing the provided clock in the DT using phandle and
36clock specifier, the following mapping applies:
37
385P49V5923:
39 0 -- OUT0_SEL_I2CB
40 1 -- OUT1
41 2 -- OUT2
42
435P49V5933:
44 0 -- OUT0_SEL_I2CB
45 1 -- OUT1
46 2 -- OUT4
47
485P49V5925 and
495P49V5935:
50 0 -- OUT0_SEL_I2CB
51 1 -- OUT1
52 2 -- OUT2
53 3 -- OUT3
54 4 -- OUT4
55
565P49V6901:
57 0 -- OUT0_SEL_I2CB
58 1 -- OUT1
59 2 -- OUT2
60 3 -- OUT3
61 4 -- OUT4
62
63==Example==
64
65/* 25MHz reference crystal */
66ref25: ref25m {
67 compatible = "fixed-clock";
68 #clock-cells = <0>;
69 clock-frequency = <25000000>;
70};
71
72i2c-master-node {
73
74 /* IDT 5P49V5923 i2c clock generator */
75 vc5: clock-generator@6a {
76 compatible = "idt,5p49v5923";
77 reg = <0x6a>;
78 #clock-cells = <1>;
79
80 /* Connect XIN input to 25MHz reference */
81 clocks = <&ref25m>;
82 clock-names = "xin";
83 };
84};
85
86/* Consumer referencing the 5P49V5923 pin OUT1 */
87consumer {
88 ...
89 clocks = <&vc5 1>;
90 ...
91}