blob: ae3162fcfe02f7fcbfc4454a12318464468a9ffa [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-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:
Tom Rini6bb92fc2024-05-20 09:54:58 -060021 oneOf:
22 - items:
23 - const: atmel,sama5d2-classd
24 - items:
25 - const: microchip,sam9x7-classd
26 - const: atmel,sama5d2-classd
Tom Rini53633a82024-02-29 12:33:36 -050027
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 };