dt: Add additional option bindings for IDT VersaClock
authorAdam Ford <aford173@gmail.com>
Wed, 3 Jun 2020 15:43:28 +0000 (10:43 -0500)
committerStephen Boyd <sboyd@kernel.org>
Tue, 23 Jun 2020 02:04:58 +0000 (19:04 -0700)
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>
Documentation/devicetree/bindings/clock/idt,versaclock5.txt
include/dt-bindings/clk/versaclock.h [new file with mode: 0644]

index bcff681..6165b6d 100644 (file)
@@ -31,6 +31,29 @@ Required properties:
                - 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
@@ -81,6 +104,16 @@ i2c-master-node {
                /* 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 {
+                       ...
+               };
+               ...
        };
 };
 
diff --git a/include/dt-bindings/clk/versaclock.h b/include/dt-bindings/clk/versaclock.h
new file mode 100644 (file)
index 0000000..c6a6a09
--- /dev/null
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+/* This file defines field values used by the versaclock 6 family
+ * for defining output type
+ */
+
+#define VC5_LVPECL     0
+#define VC5_CMOS       1
+#define VC5_HCSL33     2
+#define VC5_LVDS       3
+#define VC5_CMOS2      4
+#define VC5_CMOSD      5
+#define VC5_HCSL25     6