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    oneOf:
22      - items:
23          - const: atmel,sama5d2-classd
24      - items:
25          - const: microchip,sam9x7-classd
26          - const: atmel,sama5d2-classd
27
28  reg:
29    maxItems: 1
30
31  interrupts:
32    maxItems: 1
33
34  dmas:
35    maxItems: 1
36
37  dma-names:
38    const: tx
39
40  clocks:
41    maxItems: 2
42
43  clock-names:
44    items:
45      - const: pclk
46      - const: gclk
47
48  atmel,model:
49    $ref: /schemas/types.yaml#/definitions/string
50    default: CLASSD
51    description: The user-visible name of this sound complex.
52
53  atmel,pwm-type:
54    $ref: /schemas/types.yaml#/definitions/string
55    enum:
56      - single
57      - diff
58    default: single
59    description: PWM modulation type.
60
61  atmel,non-overlap-time:
62    $ref: /schemas/types.yaml#/definitions/uint32
63    enum:
64      - 5
65      - 10
66      - 15
67      - 20
68    default: 10
69    description:
70      Set non-overlapping time, the unit is nanosecond(ns).
71      Non-overlapping will be disabled if not specified.
72
73required:
74  - compatible
75  - reg
76  - interrupts
77  - dmas
78  - dma-names
79  - clock-names
80  - clocks
81
82additionalProperties: false
83
84examples:
85  - |
86    #include <dt-bindings/dma/at91.h>
87    #include <dt-bindings/interrupt-controller/arm-gic.h>
88
89    classd: sound@fc048000 {
90        compatible = "atmel,sama5d2-classd";
91        reg = <0xfc048000 0x100>;
92        interrupts = <59 IRQ_TYPE_LEVEL_HIGH 7>;
93        dmas = <&dma0
94            (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
95            | AT91_XDMAC_DT_PERID(47))>;
96        dma-names = "tx";
97        clocks = <&classd_clk>, <&classd_gclk>;
98        clock-names = "pclk", "gclk";
99        assigned-clocks = <&classd_gclk>;
100        pinctrl-names = "default";
101        pinctrl-0 = <&pinctrl_classd_default>;
102        atmel,model = "classd @ SAMA5D2-Xplained";
103        atmel,pwm-type = "diff";
104        atmel,non-overlap-time = <10>;
105    };
106