Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / clock / imx8mn-clock.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/bindings/clock/imx8mn-clock.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: NXP i.MX8M Nano Clock Control Module Binding
8
9 maintainers:
10   - Anson Huang <Anson.Huang@nxp.com>
11
12 description: |
13   NXP i.MX8M Nano clock control module is an integrated clock controller, which
14   generates and supplies to all modules.
15
16 properties:
17   compatible:
18     const: fsl,imx8mn-ccm
19
20   reg:
21     maxItems: 1
22
23   clocks:
24     items:
25       - description: 32k osc
26       - description: 24m osc
27       - description: ext1 clock input
28       - description: ext2 clock input
29       - description: ext3 clock input
30       - description: ext4 clock input
31
32   clock-names:
33     items:
34       - const: osc_32k
35       - const: osc_24m
36       - const: clk_ext1
37       - const: clk_ext2
38       - const: clk_ext3
39       - const: clk_ext4
40
41   '#clock-cells':
42     const: 1
43     description: |
44       The clock consumer should specify the desired clock by having the clock
45       ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx8mn-clock.h
46       for the full list of i.MX8M Nano clock IDs.
47
48 required:
49   - compatible
50   - reg
51   - clocks
52   - clock-names
53   - '#clock-cells'
54
55 examples:
56   # Clock Control Module node:
57   - |
58     clk: clock-controller@30380000 {
59         compatible = "fsl,imx8mn-ccm";
60         reg = <0x0 0x30380000 0x0 0x10000>;
61         #clock-cells = <1>;
62         clocks = <&osc_32k>, <&osc_24m>, <&clk_ext1>,
63                  <&clk_ext2>, <&clk_ext3>, <&clk_ext4>;
64         clock-names = "osc_32k", "osc_24m", "clk_ext1",
65                       "clk_ext2", "clk_ext3", "clk_ext4";
66     };
67
68   # Required external clocks for Clock Control Module node:
69   - |
70     osc_32k: clock-osc-32k {
71         compatible = "fixed-clock";
72         #clock-cells = <0>;
73         clock-frequency = <32768>;
74         clock-output-names = "osc_32k";
75     };
76
77     osc_24m: clock-osc-24m {
78         compatible = "fixed-clock";
79         #clock-cells = <0>;
80         clock-frequency = <24000000>;
81         clock-output-names = "osc_24m";
82     };
83
84     clk_ext1: clock-ext1 {
85         compatible = "fixed-clock";
86         #clock-cells = <0>;
87         clock-frequency = <133000000>;
88         clock-output-names = "clk_ext1";
89     };
90
91     clk_ext2: clock-ext2 {
92         compatible = "fixed-clock";
93         #clock-cells = <0>;
94         clock-frequency = <133000000>;
95         clock-output-names = "clk_ext2";
96     };
97
98     clk_ext3: clock-ext3 {
99         compatible = "fixed-clock";
100         #clock-cells = <0>;
101         clock-frequency = <133000000>;
102         clock-output-names = "clk_ext3";
103     };
104
105     clk_ext4: clock-ext4 {
106         compatible = "fixed-clock";
107         #clock-cells = <0>;
108         clock-frequency= <133000000>;
109         clock-output-names = "clk_ext4";
110     };
111
112 ...