159f031c0SMaxime Ripard# SPDX-License-Identifier: GPL-2.0
259f031c0SMaxime Ripard%YAML 1.2
359f031c0SMaxime Ripard---
4*9896a19cSRob Herring$id: http://devicetree.org/schemas/mfd/x-powers,ac100.yaml#
5*9896a19cSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
659f031c0SMaxime Ripard
7dd3cb467SAndrew Lunntitle: X-Powers AC100
859f031c0SMaxime Ripard
959f031c0SMaxime Ripardmaintainers:
1059f031c0SMaxime Ripard  - Chen-Yu Tsai <wens@csie.org>
1159f031c0SMaxime Ripard
1259f031c0SMaxime Ripardproperties:
1359f031c0SMaxime Ripard  compatible:
1459f031c0SMaxime Ripard    const: x-powers,ac100
1559f031c0SMaxime Ripard
1659f031c0SMaxime Ripard  reg:
1759f031c0SMaxime Ripard    maxItems: 1
1859f031c0SMaxime Ripard
1959f031c0SMaxime Ripard  codec:
2059f031c0SMaxime Ripard    type: object
2159f031c0SMaxime Ripard
2259f031c0SMaxime Ripard    properties:
2359f031c0SMaxime Ripard      "#clock-cells":
2459f031c0SMaxime Ripard        const: 0
2559f031c0SMaxime Ripard
2659f031c0SMaxime Ripard      compatible:
2759f031c0SMaxime Ripard        const: x-powers,ac100-codec
2859f031c0SMaxime Ripard
2959f031c0SMaxime Ripard      interrupts:
3059f031c0SMaxime Ripard        maxItems: 1
3159f031c0SMaxime Ripard
3259f031c0SMaxime Ripard      clock-output-names:
3359f031c0SMaxime Ripard        maxItems: 1
3459f031c0SMaxime Ripard        description: >
3559f031c0SMaxime Ripard          Name of the 4M_adda clock exposed by the codec
3659f031c0SMaxime Ripard
3759f031c0SMaxime Ripard    required:
3859f031c0SMaxime Ripard      - "#clock-cells"
3959f031c0SMaxime Ripard      - compatible
4059f031c0SMaxime Ripard      - interrupts
4159f031c0SMaxime Ripard      - clock-output-names
4259f031c0SMaxime Ripard
4359f031c0SMaxime Ripard    additionalProperties: false
4459f031c0SMaxime Ripard
4559f031c0SMaxime Ripard  rtc:
4659f031c0SMaxime Ripard    type: object
4759f031c0SMaxime Ripard
4859f031c0SMaxime Ripard    properties:
4959f031c0SMaxime Ripard      "#clock-cells":
5059f031c0SMaxime Ripard        const: 1
5159f031c0SMaxime Ripard
5259f031c0SMaxime Ripard      compatible:
5359f031c0SMaxime Ripard        const: x-powers,ac100-rtc
5459f031c0SMaxime Ripard
5559f031c0SMaxime Ripard      interrupts:
5659f031c0SMaxime Ripard        maxItems: 1
5759f031c0SMaxime Ripard
5859f031c0SMaxime Ripard      clocks:
5959f031c0SMaxime Ripard        maxItems: 1
6059f031c0SMaxime Ripard        description: >
6159f031c0SMaxime Ripard           A phandle to the codec's "4M_adda" clock
6259f031c0SMaxime Ripard
6359f031c0SMaxime Ripard      clock-output-names:
6459f031c0SMaxime Ripard        maxItems: 3
6559f031c0SMaxime Ripard        description: >
6659f031c0SMaxime Ripard          Name of the cko1, cko2 and cko3 clocks exposed by the codec
6759f031c0SMaxime Ripard
6859f031c0SMaxime Ripard    required:
6959f031c0SMaxime Ripard      - "#clock-cells"
7059f031c0SMaxime Ripard      - compatible
7159f031c0SMaxime Ripard      - interrupts
7259f031c0SMaxime Ripard      - clocks
7359f031c0SMaxime Ripard      - clock-output-names
7459f031c0SMaxime Ripard
7559f031c0SMaxime Ripard    additionalProperties: false
7659f031c0SMaxime Ripard
7759f031c0SMaxime Ripardrequired:
7859f031c0SMaxime Ripard  - compatible
7959f031c0SMaxime Ripard  - reg
8059f031c0SMaxime Ripard  - codec
8159f031c0SMaxime Ripard  - rtc
8259f031c0SMaxime Ripard
8359f031c0SMaxime RipardadditionalProperties: false
8459f031c0SMaxime Ripard
8559f031c0SMaxime Ripardexamples:
8659f031c0SMaxime Ripard  - |
8759f031c0SMaxime Ripard    #include <dt-bindings/interrupt-controller/irq.h>
8859f031c0SMaxime Ripard
8959f031c0SMaxime Ripard    rsb {
9059f031c0SMaxime Ripard        #address-cells = <1>;
9159f031c0SMaxime Ripard        #size-cells = <0>;
9259f031c0SMaxime Ripard
9359f031c0SMaxime Ripard        codec@e89 {
9459f031c0SMaxime Ripard            compatible = "x-powers,ac100";
9559f031c0SMaxime Ripard            reg = <0xe89>;
9659f031c0SMaxime Ripard
9759f031c0SMaxime Ripard            ac100_codec: codec {
9859f031c0SMaxime Ripard                compatible = "x-powers,ac100-codec";
9959f031c0SMaxime Ripard                interrupt-parent = <&r_pio>;
10059f031c0SMaxime Ripard                interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
10159f031c0SMaxime Ripard                #clock-cells = <0>;
10259f031c0SMaxime Ripard                clock-output-names = "4M_adda";
10359f031c0SMaxime Ripard            };
10459f031c0SMaxime Ripard
10559f031c0SMaxime Ripard            ac100_rtc: rtc {
10659f031c0SMaxime Ripard                compatible = "x-powers,ac100-rtc";
10759f031c0SMaxime Ripard                interrupt-parent = <&nmi_intc>;
10859f031c0SMaxime Ripard                interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
10959f031c0SMaxime Ripard                clocks = <&ac100_codec>;
11059f031c0SMaxime Ripard                #clock-cells = <1>;
11159f031c0SMaxime Ripard                clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
11259f031c0SMaxime Ripard            };
11359f031c0SMaxime Ripard        };
11459f031c0SMaxime Ripard    };
11559f031c0SMaxime Ripard
11659f031c0SMaxime Ripard...
117