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
8title: Atmel PDMIC decoder
9
10maintainers:
11  - Claudiu Beznea <claudiu.beznea@microchip.com>
12
13description:
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
18properties:
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
64required:
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
75additionalProperties: false
76
77examples:
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    };
99