GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / sound / atmel,sama5d2-pdmic.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 # Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/sound/atmel,sama5d2-pdmic.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: Atmel PDMIC decoder
9
10 maintainers:
11   - Claudiu Beznea <claudiu.beznea@microchip.com>
12
13 description:
14   Atmel Pulse Density Modulation Interface Controller
15   (PDMIC) peripheral is a mono PDM decoder module
16   that decodes an incoming PDM sample stream.
17
18 properties:
19   compatible:
20     const: atmel,sama5d2-pdmic
21
22   reg:
23     maxItems: 1
24
25   interrupts:
26     maxItems: 1
27
28   clocks:
29     items:
30       - description: peripheral clock
31       - description: generated clock
32
33   clock-names:
34     items:
35       - const: pclk
36       - const: gclk
37
38   dmas:
39     maxItems: 1
40
41   dma-names:
42     const: rx
43
44   atmel,mic-min-freq:
45     $ref: /schemas/types.yaml#/definitions/uint32
46     description:
47       The minimal frequency that the microphone supports.
48
49   atmel,mic-max-freq:
50     $ref: /schemas/types.yaml#/definitions/uint32
51     description:
52       The maximal frequency that the microphone supports.
53
54   atmel,model:
55     $ref: /schemas/types.yaml#/definitions/string
56     default: PDMIC
57     description: The user-visible name of this sound card.
58
59   atmel,mic-offset:
60     $ref: /schemas/types.yaml#/definitions/int32
61     default: 0
62     description: The offset that should be added.
63
64 required:
65   - compatible
66   - reg
67   - interrupts
68   - dmas
69   - dma-names
70   - clock-names
71   - clocks
72   - atmel,mic-min-freq
73   - atmel,mic-max-freq
74
75 additionalProperties: false
76
77 examples:
78   - |
79     #include <dt-bindings/dma/at91.h>
80     #include <dt-bindings/interrupt-controller/arm-gic.h>
81
82     pdmic: sound@f8018000 {
83         compatible = "atmel,sama5d2-pdmic";
84         reg = <0xf8018000 0x124>;
85         interrupts = <48 IRQ_TYPE_LEVEL_HIGH 7>;
86         dmas = <&dma0
87                 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
88                 | AT91_XDMAC_DT_PERID(50))>;
89         dma-names = "rx";
90         clocks = <&pdmic_clk>, <&pdmic_gclk>;
91         clock-names = "pclk", "gclk";
92         pinctrl-names = "default";
93         pinctrl-0 = <&pinctrl_pdmic_default>;
94         atmel,model = "PDMIC@sama5d2_xplained";
95         atmel,mic-min-freq = <1000000>;
96         atmel,mic-max-freq = <3246000>;
97         atmel,mic-offset = <0x0>;
98     };