Thread (6 messages) 6 messages, 3 authors, 2018-03-20

Re: [PATCH v2] clk: Add driver for the si544 clock generator chip

From: Mike Looijmans <hidden>
Date: 2018-03-19 16:29:07
Also in: linux-clk, lkml

On 18-03-18 13:52, Rob Herring wrote:
On Thu, Mar 15, 2018 at 12:50:08PM +0100, Mike Looijmans wrote:
quoted
This patch adds the driver and devicetree documentation for the
Silicon Labs SI544 clock generator chip. This is an I2C controlled
oscillator capable of generating clock signals ranging from 200kHz
to 1500MHz.

Signed-off-by: Mike Looijmans <redacted>
---
v2: Add u64 cast to ls_div_bits calculation loop
     When ls_div_bits is non-zero, the hs_div must always be even

  .../devicetree/bindings/clock/silabs,si544.txt     |  25 ++
  drivers/clk/Kconfig                                |  10 +
  drivers/clk/Makefile                               |   1 +
  drivers/clk/clk-si544.c                            | 422 +++++++++++++++++++++
  4 files changed, 458 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/clock/silabs,si544.txt
  create mode 100644 drivers/clk/clk-si544.c
diff --git a/Documentation/devicetree/bindings/clock/silabs,si544.txt b/Documentation/devicetree/bindings/clock/silabs,si544.txt
new file mode 100644
index 0000000..eec1787
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/silabs,si544.txt
@@ -0,0 +1,25 @@
+Binding for Silicon Labs 544 programmable I2C clock generator.
+
+Reference
+This binding uses the common clock binding[1]. Details about the device can be
+found in the datasheet[2].
+
+[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
+[2] Si544 datasheet
+    https://www.silabs.com/documents/public/data-sheets/si544-datasheet.pdf
+
+Required properties:
+ - compatible: One of "silabs,si514a", "silabs,si514b" "silabs,si514c" according
+               to the speed grade of the chip.
+ - reg: I2C device address.
+ - #clock-cells: From common clock bindings: Shall be 0.
+
+Optional properties:
+ - clock-output-names: From common clock bindings. Recommended to be "si544".
What's the point if there is only 1 clock output?
I have a board with 6 of these chips, and the clock registration fails if they 
don't have unique names. Providing a clock-output-names property was the 
easiest way around it.

Should I just omit the line or change the wording to reflect the above or is 
there a better solution (maybe I can use the DT node name as clock name in the 
driver, will look into that)
quoted
+
+Example:
+	si544: clock-generator@55 {
clock-controller@55 is the standard node name.
I'll change and post patch v3
quoted
+		reg = <0x55>;
+		#clock-cells = <0>;
+		compatible = "silabs,si544b";
+	};
Otherwise, for the binding:

Reviewed-by: Rob Herring <robh@kernel.org>


Kind regards,

Mike Looijmans
System Expert

TOPIC Products
Materiaalweg 4, NL-5681 RJ Best
Postbus 440, NL-5680 AK Best
Telefoon: +31 (0) 499 33 69 79
E-mail: mike.looijmans@topicproducts.com
Website: www.topicproducts.com

Please consider the environment before printing this e-mail
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help