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.cdiff --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