]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - Documentation/devicetree/bindings/clock/idt,versaclock5.txt
Merge tag 'linux-watchdog-5.9-rc1' of git://www.linux-watchdog.org/linux-watchdog
[mirror_ubuntu-jammy-kernel.git] / Documentation / devicetree / bindings / clock / idt,versaclock5.txt
CommitLineData
73100e79 1Binding for IDT VersaClock 5,6 programmable i2c clock generators.
9044d873 2
73100e79
MV
3The IDT VersaClock 5 and VersaClock 6 are programmable i2c clock
4generators providing from 3 to 12 output clocks.
9044d873
MV
5
6==I2C device node==
7
8Required properties:
73100e79
MV
9- compatible: shall be one of
10 "idt,5p49v5923"
3a11c661 11 "idt,5p49v5925"
73100e79
MV
12 "idt,5p49v5933"
13 "idt,5p49v5935"
14 "idt,5p49v6901"
d63ed4ff 15 "idt,5p49v6965"
9044d873
MV
16- reg: i2c device address, shall be 0x68 or 0x6a.
17- #clock-cells: from common clock binding; shall be set to 1.
18- clocks: from common clock binding; list of parent clock handles,
73100e79 19 - 5p49v5923 and
3a11c661 20 5p49v5925 and
73100e79 21 5p49v6901: (required) either or both of XTAL or CLKIN
9044d873 22 reference clock.
a330b6f5
AF
23 - 5p49v5933 and
24 - 5p49v5935: (optional) property not present (internal
9044d873
MV
25 Xtal used) or CLKIN reference
26 clock.
27- clock-names: from common clock binding; clock input names, can be
73100e79 28 - 5p49v5923 and
3a11c661 29 5p49v5925 and
73100e79 30 5p49v6901: (required) either or both of "xin", "clkin".
a330b6f5
AF
31 - 5p49v5933 and
32 - 5p49v5935: (optional) property not present or "clkin".
9044d873 33
34662f6e
AF
34For all output ports, a corresponding, optional child node named OUT1,
35OUT2, etc. can represent a each output, and the node can be used to
36specify the following:
37
38- itd,mode: can be one of the following:
39 - VC5_LVPECL
40 - VC5_CMOS
41 - VC5_HCSL33
42 - VC5_LVDS
43 - VC5_CMOS2
44 - VC5_CMOSD
45 - VC5_HCSL25
46
47- idt,voltage-microvolts: can be one of the following
48 - 1800000
49 - 2500000
50 - 3300000
51- idt,slew-percent: Percent of normal, can be one of
52 - 80
53 - 85
54 - 90
55 - 100
56
9044d873
MV
57==Mapping between clock specifier and physical pins==
58
59When referencing the provided clock in the DT using phandle and
60clock specifier, the following mapping applies:
61
625P49V5923:
63 0 -- OUT0_SEL_I2CB
64 1 -- OUT1
65 2 -- OUT2
66
675P49V5933:
68 0 -- OUT0_SEL_I2CB
69 1 -- OUT1
70 2 -- OUT4
71
3a11c661 725P49V5925 and
a330b6f5
AF
735P49V5935:
74 0 -- OUT0_SEL_I2CB
75 1 -- OUT1
76 2 -- OUT2
77 3 -- OUT3
78 4 -- OUT4
79
73100e79
MV
805P49V6901:
81 0 -- OUT0_SEL_I2CB
82 1 -- OUT1
83 2 -- OUT2
84 3 -- OUT3
85 4 -- OUT4
86
9044d873
MV
87==Example==
88
89/* 25MHz reference crystal */
90ref25: ref25m {
91 compatible = "fixed-clock";
92 #clock-cells = <0>;
93 clock-frequency = <25000000>;
94};
95
96i2c-master-node {
97
98 /* IDT 5P49V5923 i2c clock generator */
99 vc5: clock-generator@6a {
100 compatible = "idt,5p49v5923";
101 reg = <0x6a>;
102 #clock-cells = <1>;
103
104 /* Connect XIN input to 25MHz reference */
105 clocks = <&ref25m>;
106 clock-names = "xin";
34662f6e
AF
107
108 OUT1 {
109 itd,mode = <VC5_CMOS>;
110 idt,voltage-microvolts = <1800000>;
111 idt,slew-percent = <80>;
112 };
113 OUT2 {
114 ...
115 };
116 ...
9044d873
MV
117 };
118};
119
120/* Consumer referencing the 5P49V5923 pin OUT1 */
121consumer {
122 ...
123 clocks = <&vc5 1>;
124 ...
125}