xref: /freebsd/sys/contrib/device-tree/Bindings/clock/ti/ti,fixed-factor-clock.yaml (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
1*833e5d42SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*833e5d42SEmmanuel Vadot%YAML 1.2
3*833e5d42SEmmanuel Vadot---
4*833e5d42SEmmanuel Vadot$id: http://devicetree.org/schemas/clock/ti/ti,fixed-factor-clock.yaml#
5*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*833e5d42SEmmanuel Vadot
7*833e5d42SEmmanuel Vadottitle: TI fixed factor rate clock sources
8*833e5d42SEmmanuel Vadot
9*833e5d42SEmmanuel Vadotmaintainers:
10*833e5d42SEmmanuel Vadot  - Tero Kristo <kristo@kernel.org>
11*833e5d42SEmmanuel Vadot  - Sukrut Bellary <sbellary@baylibre.com>
12*833e5d42SEmmanuel Vadot
13*833e5d42SEmmanuel Vadotdescription:
14*833e5d42SEmmanuel Vadot  This consists of a divider and a multiplier used to generate a fixed rate
15*833e5d42SEmmanuel Vadot  clock. This also uses the autoidle support from TI autoidle clock.
16*833e5d42SEmmanuel Vadot
17*833e5d42SEmmanuel VadotallOf:
18*833e5d42SEmmanuel Vadot  - $ref: ti,autoidle.yaml#
19*833e5d42SEmmanuel Vadot
20*833e5d42SEmmanuel Vadotproperties:
21*833e5d42SEmmanuel Vadot  compatible:
22*833e5d42SEmmanuel Vadot    const: ti,fixed-factor-clock
23*833e5d42SEmmanuel Vadot
24*833e5d42SEmmanuel Vadot  "#clock-cells":
25*833e5d42SEmmanuel Vadot    const: 0
26*833e5d42SEmmanuel Vadot
27*833e5d42SEmmanuel Vadot  reg:
28*833e5d42SEmmanuel Vadot    maxItems: 1
29*833e5d42SEmmanuel Vadot
30*833e5d42SEmmanuel Vadot  ti,clock-div:
31*833e5d42SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
32*833e5d42SEmmanuel Vadot    description: Fixed divider
33*833e5d42SEmmanuel Vadot    minimum: 1
34*833e5d42SEmmanuel Vadot
35*833e5d42SEmmanuel Vadot  ti,clock-mult:
36*833e5d42SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
37*833e5d42SEmmanuel Vadot    description: Fixed multiplier
38*833e5d42SEmmanuel Vadot    minimum: 1
39*833e5d42SEmmanuel Vadot
40*833e5d42SEmmanuel Vadot  clocks:
41*833e5d42SEmmanuel Vadot    maxItems: 1
42*833e5d42SEmmanuel Vadot
43*833e5d42SEmmanuel Vadot  clock-output-names:
44*833e5d42SEmmanuel Vadot    maxItems: 1
45*833e5d42SEmmanuel Vadot
46*833e5d42SEmmanuel Vadot  ti,set-rate-parent:
47*833e5d42SEmmanuel Vadot    description:
48*833e5d42SEmmanuel Vadot      Propagate to parent clock
49*833e5d42SEmmanuel Vadot    type: boolean
50*833e5d42SEmmanuel Vadot
51*833e5d42SEmmanuel Vadotrequired:
52*833e5d42SEmmanuel Vadot  - compatible
53*833e5d42SEmmanuel Vadot  - clocks
54*833e5d42SEmmanuel Vadot  - "#clock-cells"
55*833e5d42SEmmanuel Vadot  - ti,clock-mult
56*833e5d42SEmmanuel Vadot  - ti,clock-div
57*833e5d42SEmmanuel Vadot
58*833e5d42SEmmanuel VadotunevaluatedProperties: false
59*833e5d42SEmmanuel Vadot
60*833e5d42SEmmanuel Vadotexamples:
61*833e5d42SEmmanuel Vadot  - |
62*833e5d42SEmmanuel Vadot    bus{
63*833e5d42SEmmanuel Vadot        #address-cells = <1>;
64*833e5d42SEmmanuel Vadot        #size-cells = <0>;
65*833e5d42SEmmanuel Vadot
66*833e5d42SEmmanuel Vadot        clock@1b4 {
67*833e5d42SEmmanuel Vadot            compatible = "ti,fixed-factor-clock";
68*833e5d42SEmmanuel Vadot            reg = <0x1b4>;
69*833e5d42SEmmanuel Vadot            clocks = <&dpll_usb_ck>;
70*833e5d42SEmmanuel Vadot            #clock-cells = <0>;
71*833e5d42SEmmanuel Vadot            ti,clock-mult = <1>;
72*833e5d42SEmmanuel Vadot            ti,clock-div = <1>;
73*833e5d42SEmmanuel Vadot            ti,autoidle-shift = <8>;
74*833e5d42SEmmanuel Vadot            ti,invert-autoidle-bit;
75*833e5d42SEmmanuel Vadot        };
76*833e5d42SEmmanuel Vadot    };
77