File Index
Files and directories
Sign in
FILE

mediatek,mt7986-afe.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/sound/mediatek,mt7986-afe.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/sound/mediatek,mt7986-afe.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: MediaTek AFE PCM controller for MT7986
  8
  9maintainers:
 10  - Maso Huang <maso.huang@mediatek.com>
 11
 12properties:
 13  compatible:
 14    oneOf:
 15      - const: mediatek,mt7986-afe
 16      - items:
 17          - enum:
 18              - mediatek,mt7981-afe
 19              - mediatek,mt7988-afe
 20          - const: mediatek,mt7986-afe
 21
 22  reg:
 23    maxItems: 1
 24
 25  interrupts:
 26    maxItems: 1
 27
 28  clocks:
 29    minItems: 5
 30    items:
 31      - description: audio bus clock
 32      - description: audio 26M clock
 33      - description: audio intbus clock
 34      - description: audio hopping clock
 35      - description: audio pll clock
 36      - description: mux for pcm_mck
 37      - description: audio i2s/pcm mck
 38
 39  clock-names:
 40    minItems: 5
 41    items:
 42      - const: bus_ck
 43      - const: 26m_ck
 44      - const: l_ck
 45      - const: aud_ck
 46      - const: eg2_ck
 47      - const: sel
 48      - const: i2s_m
 49
 50required:
 51  - compatible
 52  - reg
 53  - interrupts
 54  - clocks
 55  - clock-names
 56
 57allOf:
 58  - if:
 59      properties:
 60        compatible:
 61          contains:
 62            const: mediatek,mt7986-afe
 63    then:
 64      properties:
 65        clocks:
 66          items:
 67            - description: audio bus clock
 68            - description: audio 26M clock
 69            - description: audio intbus clock
 70            - description: audio hopping clock
 71            - description: audio pll clock
 72        clock-names:
 73          items:
 74            - const: bus_ck
 75            - const: 26m_ck
 76            - const: l_ck
 77            - const: aud_ck
 78            - const: eg2_ck
 79
 80  - if:
 81      properties:
 82        compatible:
 83          contains:
 84            const: mediatek,mt7981-afe
 85    then:
 86      properties:
 87        clocks:
 88          items:
 89            - description: audio bus clock
 90            - description: audio 26M clock
 91            - description: audio intbus clock
 92            - description: audio hopping clock
 93            - description: audio pll clock
 94            - description: mux for pcm_mck
 95        clock-names:
 96          items:
 97            - const: bus_ck
 98            - const: 26m_ck
 99            - const: l_ck
100            - const: aud_ck
101            - const: eg2_ck
102            - const: sel
103
104  - if:
105      properties:
106        compatible:
107          contains:
108            const: mediatek,mt7988-afe
109    then:
110      properties:
111        clocks:
112          items:
113            - description: audio bus clock
114            - description: audio 26M clock
115            - description: audio intbus clock
116            - description: audio hopping clock
117            - description: audio pll clock
118            - description: mux for pcm_mck
119            - description: audio i2s/pcm mck
120        clock-names:
121          items:
122            - const: bus_ck
123            - const: 26m_ck
124            - const: l_ck
125            - const: aud_ck
126            - const: eg2_ck
127            - const: sel
128            - const: i2s_m
129
130additionalProperties: false
131
132examples:
133  - |
134    #include <dt-bindings/interrupt-controller/arm-gic.h>
135    #include <dt-bindings/interrupt-controller/irq.h>
136    #include <dt-bindings/clock/mt7986-clk.h>
137
138    afe@11210000 {
139        compatible = "mediatek,mt7986-afe";
140        reg = <0x11210000 0x9000>;
141        interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
142        clocks = <&infracfg_ao CLK_INFRA_AUD_BUS_CK>,
143                 <&infracfg_ao CLK_INFRA_AUD_26M_CK>,
144                 <&infracfg_ao CLK_INFRA_AUD_L_CK>,
145                 <&infracfg_ao CLK_INFRA_AUD_AUD_CK>,
146                 <&infracfg_ao CLK_INFRA_AUD_EG2_CK>;
147        clock-names = "bus_ck",
148                      "26m_ck",
149                      "l_ck",
150                      "aud_ck",
151                      "eg2_ck";
152        assigned-clocks = <&topckgen CLK_TOP_A1SYS_SEL>,
153                          <&topckgen CLK_TOP_AUD_L_SEL>,
154                          <&topckgen CLK_TOP_A_TUNER_SEL>;
155        assigned-clock-parents = <&topckgen CLK_TOP_APLL2_D4>,
156                                 <&apmixedsys CLK_APMIXED_APLL2>,
157                                 <&topckgen CLK_TOP_APLL2_D4>;
158    };
159
160...
~/ Read-only file preview.