Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: "http://devicetree.org/schemas/mfd/x-powers,ac100.yaml#"
0005 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
0006 
0007 title: X-Powers AC100 Device Tree Bindings
0008 
0009 maintainers:
0010   - Chen-Yu Tsai <wens@csie.org>
0011 
0012 properties:
0013   compatible:
0014     const: x-powers,ac100
0015 
0016   reg:
0017     maxItems: 1
0018 
0019   codec:
0020     type: object
0021 
0022     properties:
0023       "#clock-cells":
0024         const: 0
0025 
0026       compatible:
0027         const: x-powers,ac100-codec
0028 
0029       interrupts:
0030         maxItems: 1
0031 
0032       clock-output-names:
0033         maxItems: 1
0034         description: >
0035           Name of the 4M_adda clock exposed by the codec
0036 
0037     required:
0038       - "#clock-cells"
0039       - compatible
0040       - interrupts
0041       - clock-output-names
0042 
0043     additionalProperties: false
0044 
0045   rtc:
0046     type: object
0047 
0048     properties:
0049       "#clock-cells":
0050         const: 1
0051 
0052       compatible:
0053         const: x-powers,ac100-rtc
0054 
0055       interrupts:
0056         maxItems: 1
0057 
0058       clocks:
0059         maxItems: 1
0060         description: >
0061            A phandle to the codec's "4M_adda" clock
0062 
0063       clock-output-names:
0064         maxItems: 3
0065         description: >
0066           Name of the cko1, cko2 and cko3 clocks exposed by the codec
0067 
0068     required:
0069       - "#clock-cells"
0070       - compatible
0071       - interrupts
0072       - clocks
0073       - clock-output-names
0074 
0075     additionalProperties: false
0076 
0077 required:
0078   - compatible
0079   - reg
0080   - codec
0081   - rtc
0082 
0083 additionalProperties: false
0084 
0085 examples:
0086   - |
0087     #include <dt-bindings/interrupt-controller/irq.h>
0088 
0089     rsb {
0090         #address-cells = <1>;
0091         #size-cells = <0>;
0092 
0093         codec@e89 {
0094             compatible = "x-powers,ac100";
0095             reg = <0xe89>;
0096 
0097             ac100_codec: codec {
0098                 compatible = "x-powers,ac100-codec";
0099                 interrupt-parent = <&r_pio>;
0100                 interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
0101                 #clock-cells = <0>;
0102                 clock-output-names = "4M_adda";
0103             };
0104 
0105             ac100_rtc: rtc {
0106                 compatible = "x-powers,ac100-rtc";
0107                 interrupt-parent = <&nmi_intc>;
0108                 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
0109                 clocks = <&ac100_codec>;
0110                 #clock-cells = <1>;
0111                 clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
0112             };
0113         };
0114     };
0115 
0116 ...