xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/x-powers,ac100.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
18cc087a1SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
28cc087a1SEmmanuel Vadot%YAML 1.2
38cc087a1SEmmanuel Vadot---
4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/x-powers,ac100.yaml#
5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68cc087a1SEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: X-Powers AC100
88cc087a1SEmmanuel Vadot
98cc087a1SEmmanuel Vadotmaintainers:
108cc087a1SEmmanuel Vadot  - Chen-Yu Tsai <wens@csie.org>
118cc087a1SEmmanuel Vadot
128cc087a1SEmmanuel Vadotproperties:
138cc087a1SEmmanuel Vadot  compatible:
148cc087a1SEmmanuel Vadot    const: x-powers,ac100
158cc087a1SEmmanuel Vadot
168cc087a1SEmmanuel Vadot  reg:
178cc087a1SEmmanuel Vadot    maxItems: 1
188cc087a1SEmmanuel Vadot
198cc087a1SEmmanuel Vadot  codec:
208cc087a1SEmmanuel Vadot    type: object
218cc087a1SEmmanuel Vadot
228cc087a1SEmmanuel Vadot    properties:
238cc087a1SEmmanuel Vadot      "#clock-cells":
248cc087a1SEmmanuel Vadot        const: 0
258cc087a1SEmmanuel Vadot
268cc087a1SEmmanuel Vadot      compatible:
278cc087a1SEmmanuel Vadot        const: x-powers,ac100-codec
288cc087a1SEmmanuel Vadot
298cc087a1SEmmanuel Vadot      interrupts:
308cc087a1SEmmanuel Vadot        maxItems: 1
318cc087a1SEmmanuel Vadot
328cc087a1SEmmanuel Vadot      clock-output-names:
338cc087a1SEmmanuel Vadot        maxItems: 1
348cc087a1SEmmanuel Vadot        description: >
358cc087a1SEmmanuel Vadot          Name of the 4M_adda clock exposed by the codec
368cc087a1SEmmanuel Vadot
378cc087a1SEmmanuel Vadot    required:
388cc087a1SEmmanuel Vadot      - "#clock-cells"
398cc087a1SEmmanuel Vadot      - compatible
408cc087a1SEmmanuel Vadot      - interrupts
418cc087a1SEmmanuel Vadot      - clock-output-names
428cc087a1SEmmanuel Vadot
438cc087a1SEmmanuel Vadot    additionalProperties: false
448cc087a1SEmmanuel Vadot
458cc087a1SEmmanuel Vadot  rtc:
468cc087a1SEmmanuel Vadot    type: object
478cc087a1SEmmanuel Vadot
488cc087a1SEmmanuel Vadot    properties:
498cc087a1SEmmanuel Vadot      "#clock-cells":
508cc087a1SEmmanuel Vadot        const: 1
518cc087a1SEmmanuel Vadot
528cc087a1SEmmanuel Vadot      compatible:
538cc087a1SEmmanuel Vadot        const: x-powers,ac100-rtc
548cc087a1SEmmanuel Vadot
558cc087a1SEmmanuel Vadot      interrupts:
568cc087a1SEmmanuel Vadot        maxItems: 1
578cc087a1SEmmanuel Vadot
588cc087a1SEmmanuel Vadot      clocks:
598cc087a1SEmmanuel Vadot        maxItems: 1
608cc087a1SEmmanuel Vadot        description: >
618cc087a1SEmmanuel Vadot           A phandle to the codec's "4M_adda" clock
628cc087a1SEmmanuel Vadot
638cc087a1SEmmanuel Vadot      clock-output-names:
648cc087a1SEmmanuel Vadot        maxItems: 3
658cc087a1SEmmanuel Vadot        description: >
668cc087a1SEmmanuel Vadot          Name of the cko1, cko2 and cko3 clocks exposed by the codec
678cc087a1SEmmanuel Vadot
688cc087a1SEmmanuel Vadot    required:
698cc087a1SEmmanuel Vadot      - "#clock-cells"
708cc087a1SEmmanuel Vadot      - compatible
718cc087a1SEmmanuel Vadot      - interrupts
728cc087a1SEmmanuel Vadot      - clocks
738cc087a1SEmmanuel Vadot      - clock-output-names
748cc087a1SEmmanuel Vadot
758cc087a1SEmmanuel Vadot    additionalProperties: false
768cc087a1SEmmanuel Vadot
778cc087a1SEmmanuel Vadotrequired:
788cc087a1SEmmanuel Vadot  - compatible
798cc087a1SEmmanuel Vadot  - reg
808cc087a1SEmmanuel Vadot  - codec
818cc087a1SEmmanuel Vadot  - rtc
828cc087a1SEmmanuel Vadot
838cc087a1SEmmanuel VadotadditionalProperties: false
848cc087a1SEmmanuel Vadot
858cc087a1SEmmanuel Vadotexamples:
868cc087a1SEmmanuel Vadot  - |
878cc087a1SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
888cc087a1SEmmanuel Vadot
898cc087a1SEmmanuel Vadot    rsb {
908cc087a1SEmmanuel Vadot        #address-cells = <1>;
918cc087a1SEmmanuel Vadot        #size-cells = <0>;
928cc087a1SEmmanuel Vadot
938cc087a1SEmmanuel Vadot        codec@e89 {
948cc087a1SEmmanuel Vadot            compatible = "x-powers,ac100";
958cc087a1SEmmanuel Vadot            reg = <0xe89>;
968cc087a1SEmmanuel Vadot
978cc087a1SEmmanuel Vadot            ac100_codec: codec {
988cc087a1SEmmanuel Vadot                compatible = "x-powers,ac100-codec";
998cc087a1SEmmanuel Vadot                interrupt-parent = <&r_pio>;
1008cc087a1SEmmanuel Vadot                interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
1018cc087a1SEmmanuel Vadot                #clock-cells = <0>;
1028cc087a1SEmmanuel Vadot                clock-output-names = "4M_adda";
1038cc087a1SEmmanuel Vadot            };
1048cc087a1SEmmanuel Vadot
1058cc087a1SEmmanuel Vadot            ac100_rtc: rtc {
1068cc087a1SEmmanuel Vadot                compatible = "x-powers,ac100-rtc";
1078cc087a1SEmmanuel Vadot                interrupt-parent = <&nmi_intc>;
1088cc087a1SEmmanuel Vadot                interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
1098cc087a1SEmmanuel Vadot                clocks = <&ac100_codec>;
1108cc087a1SEmmanuel Vadot                #clock-cells = <1>;
1118cc087a1SEmmanuel Vadot                clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
1128cc087a1SEmmanuel Vadot            };
1138cc087a1SEmmanuel Vadot        };
1148cc087a1SEmmanuel Vadot    };
1158cc087a1SEmmanuel Vadot
1168cc087a1SEmmanuel Vadot...
117