xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/x-powers,ac100.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/x-powers,ac100.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: X-Powers AC100
8
9maintainers:
10  - Chen-Yu Tsai <wens@csie.org>
11
12properties:
13  compatible:
14    const: x-powers,ac100
15
16  reg:
17    maxItems: 1
18
19  codec:
20    type: object
21
22    properties:
23      "#clock-cells":
24        const: 0
25
26      compatible:
27        const: x-powers,ac100-codec
28
29      interrupts:
30        maxItems: 1
31
32      clock-output-names:
33        maxItems: 1
34        description: >
35          Name of the 4M_adda clock exposed by the codec
36
37    required:
38      - "#clock-cells"
39      - compatible
40      - interrupts
41      - clock-output-names
42
43    additionalProperties: false
44
45  rtc:
46    type: object
47
48    properties:
49      "#clock-cells":
50        const: 1
51
52      compatible:
53        const: x-powers,ac100-rtc
54
55      interrupts:
56        maxItems: 1
57
58      clocks:
59        maxItems: 1
60        description: >
61           A phandle to the codec's "4M_adda" clock
62
63      clock-output-names:
64        maxItems: 3
65        description: >
66          Name of the cko1, cko2 and cko3 clocks exposed by the codec
67
68    required:
69      - "#clock-cells"
70      - compatible
71      - interrupts
72      - clocks
73      - clock-output-names
74
75    additionalProperties: false
76
77required:
78  - compatible
79  - reg
80  - codec
81  - rtc
82
83additionalProperties: false
84
85examples:
86  - |
87    #include <dt-bindings/interrupt-controller/irq.h>
88
89    rsb {
90        #address-cells = <1>;
91        #size-cells = <0>;
92
93        codec@e89 {
94            compatible = "x-powers,ac100";
95            reg = <0xe89>;
96
97            ac100_codec: codec {
98                compatible = "x-powers,ac100-codec";
99                interrupt-parent = <&r_pio>;
100                interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
101                #clock-cells = <0>;
102                clock-output-names = "4M_adda";
103            };
104
105            ac100_rtc: rtc {
106                compatible = "x-powers,ac100-rtc";
107                interrupt-parent = <&nmi_intc>;
108                interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
109                clocks = <&ac100_codec>;
110                #clock-cells = <1>;
111                clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
112            };
113        };
114    };
115
116...
117