xref: /freebsd/sys/contrib/device-tree/Bindings/clock/qcom,spmi-clkdiv.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1*cb7aa33aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*cb7aa33aSEmmanuel Vadot%YAML 1.2
3*cb7aa33aSEmmanuel Vadot---
4*cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/clock/qcom,spmi-clkdiv.yaml#
5*cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*cb7aa33aSEmmanuel Vadot
7*cb7aa33aSEmmanuel Vadottitle: Qualcomm SPMI PMIC clock divider
8*cb7aa33aSEmmanuel Vadot
9*cb7aa33aSEmmanuel Vadotmaintainers:
10*cb7aa33aSEmmanuel Vadot  - Bjorn Andersson <andersson@kernel.org>
11*cb7aa33aSEmmanuel Vadot  - Stephen Boyd <sboyd@kernel.org>
12*cb7aa33aSEmmanuel Vadot
13*cb7aa33aSEmmanuel Vadotdescription: |
14*cb7aa33aSEmmanuel Vadot  Qualcomm SPMI PMIC clock divider configures the clock frequency of a set of
15*cb7aa33aSEmmanuel Vadot  outputs on the PMIC.  These clocks are typically wired through alternate
16*cb7aa33aSEmmanuel Vadot  functions on GPIO pins.
17*cb7aa33aSEmmanuel Vadot
18*cb7aa33aSEmmanuel Vadotproperties:
19*cb7aa33aSEmmanuel Vadot  compatible:
20*cb7aa33aSEmmanuel Vadot    const: qcom,spmi-clkdiv
21*cb7aa33aSEmmanuel Vadot
22*cb7aa33aSEmmanuel Vadot  reg:
23*cb7aa33aSEmmanuel Vadot    maxItems: 1
24*cb7aa33aSEmmanuel Vadot
25*cb7aa33aSEmmanuel Vadot  clocks:
26*cb7aa33aSEmmanuel Vadot    items:
27*cb7aa33aSEmmanuel Vadot      - description: Board XO source
28*cb7aa33aSEmmanuel Vadot
29*cb7aa33aSEmmanuel Vadot  clock-names:
30*cb7aa33aSEmmanuel Vadot    items:
31*cb7aa33aSEmmanuel Vadot      - const: xo
32*cb7aa33aSEmmanuel Vadot
33*cb7aa33aSEmmanuel Vadot  "#clock-cells":
34*cb7aa33aSEmmanuel Vadot    const: 1
35*cb7aa33aSEmmanuel Vadot
36*cb7aa33aSEmmanuel Vadot  qcom,num-clkdivs:
37*cb7aa33aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
38*cb7aa33aSEmmanuel Vadot    description: Number of CLKDIV peripherals.
39*cb7aa33aSEmmanuel Vadot
40*cb7aa33aSEmmanuel Vadotrequired:
41*cb7aa33aSEmmanuel Vadot  - compatible
42*cb7aa33aSEmmanuel Vadot  - reg
43*cb7aa33aSEmmanuel Vadot  - clocks
44*cb7aa33aSEmmanuel Vadot  - clock-names
45*cb7aa33aSEmmanuel Vadot  - "#clock-cells"
46*cb7aa33aSEmmanuel Vadot  - qcom,num-clkdivs
47*cb7aa33aSEmmanuel Vadot
48*cb7aa33aSEmmanuel VadotadditionalProperties: false
49*cb7aa33aSEmmanuel Vadot
50*cb7aa33aSEmmanuel Vadotexamples:
51*cb7aa33aSEmmanuel Vadot  - |
52*cb7aa33aSEmmanuel Vadot    pmic {
53*cb7aa33aSEmmanuel Vadot        #address-cells = <1>;
54*cb7aa33aSEmmanuel Vadot        #size-cells = <0>;
55*cb7aa33aSEmmanuel Vadot
56*cb7aa33aSEmmanuel Vadot        clock-controller@5b00 {
57*cb7aa33aSEmmanuel Vadot            compatible = "qcom,spmi-clkdiv";
58*cb7aa33aSEmmanuel Vadot            reg = <0x5b00>;
59*cb7aa33aSEmmanuel Vadot            clocks = <&xo_board>;
60*cb7aa33aSEmmanuel Vadot            clock-names = "xo";
61*cb7aa33aSEmmanuel Vadot            #clock-cells = <1>;
62*cb7aa33aSEmmanuel Vadot            qcom,num-clkdivs = <3>;
63*cb7aa33aSEmmanuel Vadot
64*cb7aa33aSEmmanuel Vadot            assigned-clocks = <&pm8998_clk_divs 1>,
65*cb7aa33aSEmmanuel Vadot                              <&pm8998_clk_divs 2>,
66*cb7aa33aSEmmanuel Vadot                              <&pm8998_clk_divs 3>;
67*cb7aa33aSEmmanuel Vadot            assigned-clock-rates = <9600000>,
68*cb7aa33aSEmmanuel Vadot                                   <9600000>,
69*cb7aa33aSEmmanuel Vadot                                   <9600000>;
70*cb7aa33aSEmmanuel Vadot        };
71*cb7aa33aSEmmanuel Vadot    };
72