Re: [PATCH V3] clk: qcom: Add spmi_pmic clock divider support
From: Rob Herring <robh@kernel.org>
Date: 2017-09-13 17:40:40
Also in:
linux-arm-msm, linux-clk, lkml
On Wed, Sep 06, 2017 at 05:30:07PM +0530, Tirupathi Reddy wrote:
quoted hunk ↗ jump to hunk
Clkdiv module provides a clock output on the PMIC with CXO as the source. This clock can be routed through PMIC GPIOs. Add a device driver to configure this clkdiv module. Signed-off-by: Tirupathi Reddy <redacted> --- .../bindings/clock/clk-spmi-pmic-div.txt | 51 +++ drivers/clk/qcom/Kconfig | 9 + drivers/clk/qcom/Makefile | 1 + drivers/clk/qcom/clk-spmi-pmic-div.c | 342 +++++++++++++++++++++ 4 files changed, 403 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/clk-spmi-pmic-div.txt create mode 100644 drivers/clk/qcom/clk-spmi-pmic-div.cdiff --git a/Documentation/devicetree/bindings/clock/clk-spmi-pmic-div.txt b/Documentation/devicetree/bindings/clock/clk-spmi-pmic-div.txt new file mode 100644 index 0000000..8b84b32 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/clk-spmi-pmic-div.txt@@ -0,0 +1,51 @@ +Qualcomm Technologies, Inc. SPMI PMIC clock divider (clkdiv) + +clkdiv configures the clock frequency of a set of outputs on the PMIC. +These clocks are typically wired through alternate functions on +gpio pins. + +======================= +Properties +======================= + +- compatible + Usage: required + Value type: <string> + Definition: must be one of: + "qcom,spmi-clkdiv"
If this is not a fallback, drop it.
+ "qcom,pm8998-clkdiv" + +- reg + Usage: required + Value type: <prop-encoded-array> + Definition: Addresses and sizes for the memory of this CLKDIV + peripheral. + +- clocks: + Usage: required + Value type: <prop-encoded-array> + Definition: reference to the xo clock. + +- clock-names: + Usage: required + Value type: <stringlist> + Definition: must be "xo".
Missing #clock-cells
+
+=======
+Example
+=======
+
+pm8998_clk_divs: qcom,clkdiv@5b00 {clock@5b00
+ compatible = "qcom,pm8998-clkdiv"; + reg = <0x5b00>; + #clock-cells = <1>; + clocks = <&xo_board>; + clock-names = "xo"; + + assigned-clocks = <&pm8998_clk_divs 1>, + <&pm8998_clk_divs 2>, + <&pm8998_clk_divs 3>; + assigned-clock-rates = <9600000>, + <9600000>, + <9600000>; +};