mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-12 08:09:56 +00:00
34662f6e30
The VersaClock driver now supports some additional bindings to support child nodes which can configure optional settings like mode, voltage and slew. This patch updates the binding document to describe what is available in the driver. Signed-off-by: Adam Ford <aford173@gmail.com> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20200603154329.31579-2-aford173@gmail.com Signed-off-by: Stephen Boyd <sboyd@kernel.org>
126 lines
2.7 KiB
Plaintext
126 lines
2.7 KiB
Plaintext
Binding for IDT VersaClock 5,6 programmable i2c clock generators.
|
|
|
|
The IDT VersaClock 5 and VersaClock 6 are programmable i2c clock
|
|
generators providing from 3 to 12 output clocks.
|
|
|
|
==I2C device node==
|
|
|
|
Required properties:
|
|
- compatible: shall be one of
|
|
"idt,5p49v5923"
|
|
"idt,5p49v5925"
|
|
"idt,5p49v5933"
|
|
"idt,5p49v5935"
|
|
"idt,5p49v6901"
|
|
"idt,5p49v6965"
|
|
- reg: i2c device address, shall be 0x68 or 0x6a.
|
|
- #clock-cells: from common clock binding; shall be set to 1.
|
|
- clocks: from common clock binding; list of parent clock handles,
|
|
- 5p49v5923 and
|
|
5p49v5925 and
|
|
5p49v6901: (required) either or both of XTAL or CLKIN
|
|
reference clock.
|
|
- 5p49v5933 and
|
|
- 5p49v5935: (optional) property not present (internal
|
|
Xtal used) or CLKIN reference
|
|
clock.
|
|
- clock-names: from common clock binding; clock input names, can be
|
|
- 5p49v5923 and
|
|
5p49v5925 and
|
|
5p49v6901: (required) either or both of "xin", "clkin".
|
|
- 5p49v5933 and
|
|
- 5p49v5935: (optional) property not present or "clkin".
|
|
|
|
For all output ports, a corresponding, optional child node named OUT1,
|
|
OUT2, etc. can represent a each output, and the node can be used to
|
|
specify the following:
|
|
|
|
- itd,mode: can be one of the following:
|
|
- VC5_LVPECL
|
|
- VC5_CMOS
|
|
- VC5_HCSL33
|
|
- VC5_LVDS
|
|
- VC5_CMOS2
|
|
- VC5_CMOSD
|
|
- VC5_HCSL25
|
|
|
|
- idt,voltage-microvolts: can be one of the following
|
|
- 1800000
|
|
- 2500000
|
|
- 3300000
|
|
- idt,slew-percent: Percent of normal, can be one of
|
|
- 80
|
|
- 85
|
|
- 90
|
|
- 100
|
|
|
|
==Mapping between clock specifier and physical pins==
|
|
|
|
When referencing the provided clock in the DT using phandle and
|
|
clock specifier, the following mapping applies:
|
|
|
|
5P49V5923:
|
|
0 -- OUT0_SEL_I2CB
|
|
1 -- OUT1
|
|
2 -- OUT2
|
|
|
|
5P49V5933:
|
|
0 -- OUT0_SEL_I2CB
|
|
1 -- OUT1
|
|
2 -- OUT4
|
|
|
|
5P49V5925 and
|
|
5P49V5935:
|
|
0 -- OUT0_SEL_I2CB
|
|
1 -- OUT1
|
|
2 -- OUT2
|
|
3 -- OUT3
|
|
4 -- OUT4
|
|
|
|
5P49V6901:
|
|
0 -- OUT0_SEL_I2CB
|
|
1 -- OUT1
|
|
2 -- OUT2
|
|
3 -- OUT3
|
|
4 -- OUT4
|
|
|
|
==Example==
|
|
|
|
/* 25MHz reference crystal */
|
|
ref25: ref25m {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <25000000>;
|
|
};
|
|
|
|
i2c-master-node {
|
|
|
|
/* IDT 5P49V5923 i2c clock generator */
|
|
vc5: clock-generator@6a {
|
|
compatible = "idt,5p49v5923";
|
|
reg = <0x6a>;
|
|
#clock-cells = <1>;
|
|
|
|
/* Connect XIN input to 25MHz reference */
|
|
clocks = <&ref25m>;
|
|
clock-names = "xin";
|
|
|
|
OUT1 {
|
|
itd,mode = <VC5_CMOS>;
|
|
idt,voltage-microvolts = <1800000>;
|
|
idt,slew-percent = <80>;
|
|
};
|
|
OUT2 {
|
|
...
|
|
};
|
|
...
|
|
};
|
|
};
|
|
|
|
/* Consumer referencing the 5P49V5923 pin OUT1 */
|
|
consumer {
|
|
...
|
|
clocks = <&vc5 1>;
|
|
...
|
|
}
|