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
8title: Atmel ClassD Amplifier
9
10maintainers:
11  - Nicolas Ferre <nicolas.ferre@microchip.com>
12  - Alexandre Belloni <alexandre.belloni@bootlin.com>
13  - Claudiu Beznea <claudiu.beznea@microchip.com>
14
15description:
16  The Audio Class D Amplifier (CLASSD) is a digital input, Pulse Width
17  Modulated (PWM) output stereo Class D amplifier.
18
19properties:
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
68required:
69  - compatible
70  - reg
71  - interrupts
72  - dmas
73  - dma-names
74  - clock-names
75  - clocks
76
77additionalProperties: false
78
79examples:
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    };
101