1*c5536e7bSJerome Brunet# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*c5536e7bSJerome Brunet%YAML 1.2
3*c5536e7bSJerome Brunet---
4*c5536e7bSJerome Brunet$id: http://devicetree.org/schemas/sound/amlogic,axg-tdm-formatters.yaml#
5*c5536e7bSJerome Brunet$schema: http://devicetree.org/meta-schemas/core.yaml#
6*c5536e7bSJerome Brunet
7*c5536e7bSJerome Brunettitle: Amlogic Audio AXG TDM formatters
8*c5536e7bSJerome Brunet
9*c5536e7bSJerome Brunetmaintainers:
10*c5536e7bSJerome Brunet  - Jerome Brunet <jbrunet@baylibre.com>
11*c5536e7bSJerome Brunet
12*c5536e7bSJerome Brunetproperties:
13*c5536e7bSJerome Brunet  compatible:
14*c5536e7bSJerome Brunet    enum:
15*c5536e7bSJerome Brunet      - amlogic,g12a-tdmout
16*c5536e7bSJerome Brunet      - amlogic,sm1-tdmout
17*c5536e7bSJerome Brunet      - amlogic,axg-tdmout
18*c5536e7bSJerome Brunet      - amlogic,g12a-tdmin
19*c5536e7bSJerome Brunet      - amlogic,sm1-tdmin
20*c5536e7bSJerome Brunet      - amlogic,axg-tdmin
21*c5536e7bSJerome Brunet
22*c5536e7bSJerome Brunet  clocks:
23*c5536e7bSJerome Brunet    items:
24*c5536e7bSJerome Brunet      - description: Peripheral clock
25*c5536e7bSJerome Brunet      - description: Bit clock
26*c5536e7bSJerome Brunet      - description: Bit clock input multiplexer
27*c5536e7bSJerome Brunet      - description: Sample clock
28*c5536e7bSJerome Brunet      - description: Sample clock input multiplexer
29*c5536e7bSJerome Brunet
30*c5536e7bSJerome Brunet  clock-names:
31*c5536e7bSJerome Brunet    items:
32*c5536e7bSJerome Brunet      - const: pclk
33*c5536e7bSJerome Brunet      - const: sclk
34*c5536e7bSJerome Brunet      - const: sclk_sel
35*c5536e7bSJerome Brunet      - const: lrclk
36*c5536e7bSJerome Brunet      - const: lrclk_sel
37*c5536e7bSJerome Brunet
38*c5536e7bSJerome Brunet  reg:
39*c5536e7bSJerome Brunet    maxItems: 1
40*c5536e7bSJerome Brunet
41*c5536e7bSJerome Brunet  resets:
42*c5536e7bSJerome Brunet    maxItems: 1
43*c5536e7bSJerome Brunet
44*c5536e7bSJerome Brunetrequired:
45*c5536e7bSJerome Brunet  - compatible
46*c5536e7bSJerome Brunet  - reg
47*c5536e7bSJerome Brunet  - clocks
48*c5536e7bSJerome Brunet  - clock-names
49*c5536e7bSJerome Brunet
50*c5536e7bSJerome BrunetallOf:
51*c5536e7bSJerome Brunet  - $ref: component-common.yaml#
52*c5536e7bSJerome Brunet
53*c5536e7bSJerome Brunet  - if:
54*c5536e7bSJerome Brunet      properties:
55*c5536e7bSJerome Brunet        compatible:
56*c5536e7bSJerome Brunet          contains:
57*c5536e7bSJerome Brunet            enum:
58*c5536e7bSJerome Brunet              - amlogic,g12a-tdmin
59*c5536e7bSJerome Brunet              - amlogic,sm1-tdmin
60*c5536e7bSJerome Brunet              - amlogic,g12a-tdmout
61*c5536e7bSJerome Brunet              - amlogic,sm1-tdmout
62*c5536e7bSJerome Brunet    then:
63*c5536e7bSJerome Brunet      required:
64*c5536e7bSJerome Brunet        - resets
65*c5536e7bSJerome Brunet
66*c5536e7bSJerome Brunet    else:
67*c5536e7bSJerome Brunet      properties:
68*c5536e7bSJerome Brunet        resets: false
69*c5536e7bSJerome Brunet
70*c5536e7bSJerome BrunetunevaluatedProperties: false
71*c5536e7bSJerome Brunet
72*c5536e7bSJerome Brunetexamples:
73*c5536e7bSJerome Brunet  - |
74*c5536e7bSJerome Brunet    #include <dt-bindings/clock/axg-audio-clkc.h>
75*c5536e7bSJerome Brunet    #include <dt-bindings/reset/amlogic,meson-g12a-audio-reset.h>
76*c5536e7bSJerome Brunet
77*c5536e7bSJerome Brunet    audio-controller@500 {
78*c5536e7bSJerome Brunet        compatible = "amlogic,g12a-tdmout";
79*c5536e7bSJerome Brunet        reg = <0x500 0x40>;
80*c5536e7bSJerome Brunet        resets = <&clkc_audio AUD_RESET_TDMOUT_A>;
81*c5536e7bSJerome Brunet        clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>,
82*c5536e7bSJerome Brunet                 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>,
83*c5536e7bSJerome Brunet                 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>,
84*c5536e7bSJerome Brunet                 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>,
85*c5536e7bSJerome Brunet                 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>;
86*c5536e7bSJerome Brunet        clock-names = "pclk", "sclk", "sclk_sel",
87*c5536e7bSJerome Brunet                      "lrclk", "lrclk_sel";
88*c5536e7bSJerome Brunet    };
89