blob: f320b561f24cbd0877663a6783f433ea9c7789f3 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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 };