GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / sound / atmel,sama5d2-classd.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-classd.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: Atmel ClassD Amplifier
9
10 maintainers:
11   - Nicolas Ferre <nicolas.ferre@microchip.com>
12   - Alexandre Belloni <alexandre.belloni@bootlin.com>
13   - Claudiu Beznea <claudiu.beznea@microchip.com>
14
15 description:
16   The Audio Class D Amplifier (CLASSD) is a digital input, Pulse Width
17   Modulated (PWM) output stereo Class D amplifier.
18
19 properties:
20   compatible:
21     const: atmel,sama5d2-classd
22
23   reg:
24     maxItems: 1
25
26   interrupts:
27     maxItems: 1
28
29   dmas:
30     maxItems: 1
31
32   dma-names:
33     const: tx
34
35   clocks:
36     maxItems: 2
37
38   clock-names:
39     items:
40       - const: pclk
41       - const: gclk
42
43   atmel,model:
44     $ref: /schemas/types.yaml#/definitions/string
45     default: CLASSD
46     description: The user-visible name of this sound complex.
47
48   atmel,pwm-type:
49     $ref: /schemas/types.yaml#/definitions/string
50     enum:
51       - single
52       - diff
53     default: single
54     description: PWM modulation type.
55
56   atmel,non-overlap-time:
57     $ref: /schemas/types.yaml#/definitions/uint32
58     enum:
59       - 5
60       - 10
61       - 15
62       - 20
63     default: 10
64     description:
65       Set non-overlapping time, the unit is nanosecond(ns).
66       Non-overlapping will be disabled if not specified.
67
68 required:
69   - compatible
70   - reg
71   - interrupts
72   - dmas
73   - dma-names
74   - clock-names
75   - clocks
76
77 additionalProperties: false
78
79 examples:
80   - |
81     #include <dt-bindings/dma/at91.h>
82     #include <dt-bindings/interrupt-controller/arm-gic.h>
83
84     classd: sound@fc048000 {
85         compatible = "atmel,sama5d2-classd";
86         reg = <0xfc048000 0x100>;
87         interrupts = <59 IRQ_TYPE_LEVEL_HIGH 7>;
88         dmas = <&dma0
89             (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
90             | AT91_XDMAC_DT_PERID(47))>;
91         dma-names = "tx";
92         clocks = <&classd_clk>, <&classd_gclk>;
93         clock-names = "pclk", "gclk";
94         assigned-clocks = <&classd_gclk>;
95         pinctrl-names = "default";
96         pinctrl-0 = <&pinctrl_classd_default>;
97         atmel,model = "classd @ SAMA5D2-Xplained";
98         atmel,pwm-type = "diff";
99         atmel,non-overlap-time = <10>;
100     };