1a3b19e0cSRyan Wanner# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2a3b19e0cSRyan Wanner# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries 3a3b19e0cSRyan Wanner%YAML 1.2 4a3b19e0cSRyan Wanner--- 5a3b19e0cSRyan Wanner$id: http://devicetree.org/schemas/sound/atmel,sama5d2-classd.yaml# 6a3b19e0cSRyan Wanner$schema: http://devicetree.org/meta-schemas/core.yaml# 7a3b19e0cSRyan Wanner 8a3b19e0cSRyan Wannertitle: Atmel ClassD Amplifier 9a3b19e0cSRyan Wanner 10a3b19e0cSRyan Wannermaintainers: 11a3b19e0cSRyan Wanner - Nicolas Ferre <nicolas.ferre@microchip.com> 12a3b19e0cSRyan Wanner - Alexandre Belloni <alexandre.belloni@bootlin.com> 13a3b19e0cSRyan Wanner - Claudiu Beznea <claudiu.beznea@microchip.com> 14a3b19e0cSRyan Wanner 15a3b19e0cSRyan Wannerdescription: 16a3b19e0cSRyan Wanner The Audio Class D Amplifier (CLASSD) is a digital input, Pulse Width 17a3b19e0cSRyan Wanner Modulated (PWM) output stereo Class D amplifier. 18a3b19e0cSRyan Wanner 19a3b19e0cSRyan Wannerproperties: 20a3b19e0cSRyan Wanner compatible: 21*89f3180dSVarshini Rajendran oneOf: 22*89f3180dSVarshini Rajendran - items: 23*89f3180dSVarshini Rajendran - const: atmel,sama5d2-classd 24*89f3180dSVarshini Rajendran - items: 25*89f3180dSVarshini Rajendran - const: microchip,sam9x7-classd 26*89f3180dSVarshini Rajendran - const: atmel,sama5d2-classd 27a3b19e0cSRyan Wanner 28a3b19e0cSRyan Wanner reg: 29a3b19e0cSRyan Wanner maxItems: 1 30a3b19e0cSRyan Wanner 31a3b19e0cSRyan Wanner interrupts: 32a3b19e0cSRyan Wanner maxItems: 1 33a3b19e0cSRyan Wanner 34a3b19e0cSRyan Wanner dmas: 35a3b19e0cSRyan Wanner maxItems: 1 36a3b19e0cSRyan Wanner 37a3b19e0cSRyan Wanner dma-names: 38a3b19e0cSRyan Wanner const: tx 39a3b19e0cSRyan Wanner 40a3b19e0cSRyan Wanner clocks: 41a3b19e0cSRyan Wanner maxItems: 2 42a3b19e0cSRyan Wanner 43a3b19e0cSRyan Wanner clock-names: 44a3b19e0cSRyan Wanner items: 45a3b19e0cSRyan Wanner - const: pclk 46a3b19e0cSRyan Wanner - const: gclk 47a3b19e0cSRyan Wanner 48a3b19e0cSRyan Wanner atmel,model: 49a3b19e0cSRyan Wanner $ref: /schemas/types.yaml#/definitions/string 50a3b19e0cSRyan Wanner default: CLASSD 51a3b19e0cSRyan Wanner description: The user-visible name of this sound complex. 52a3b19e0cSRyan Wanner 53a3b19e0cSRyan Wanner atmel,pwm-type: 54a3b19e0cSRyan Wanner $ref: /schemas/types.yaml#/definitions/string 55a3b19e0cSRyan Wanner enum: 56a3b19e0cSRyan Wanner - single 57a3b19e0cSRyan Wanner - diff 58a3b19e0cSRyan Wanner default: single 59a3b19e0cSRyan Wanner description: PWM modulation type. 60a3b19e0cSRyan Wanner 61a3b19e0cSRyan Wanner atmel,non-overlap-time: 62a3b19e0cSRyan Wanner $ref: /schemas/types.yaml#/definitions/uint32 63a3b19e0cSRyan Wanner enum: 64a3b19e0cSRyan Wanner - 5 65a3b19e0cSRyan Wanner - 10 66a3b19e0cSRyan Wanner - 15 67a3b19e0cSRyan Wanner - 20 68a3b19e0cSRyan Wanner default: 10 69a3b19e0cSRyan Wanner description: 70a3b19e0cSRyan Wanner Set non-overlapping time, the unit is nanosecond(ns). 71a3b19e0cSRyan Wanner Non-overlapping will be disabled if not specified. 72a3b19e0cSRyan Wanner 73a3b19e0cSRyan Wannerrequired: 74a3b19e0cSRyan Wanner - compatible 75a3b19e0cSRyan Wanner - reg 76a3b19e0cSRyan Wanner - interrupts 77a3b19e0cSRyan Wanner - dmas 78a3b19e0cSRyan Wanner - dma-names 79a3b19e0cSRyan Wanner - clock-names 80a3b19e0cSRyan Wanner - clocks 81a3b19e0cSRyan Wanner 82a3b19e0cSRyan WanneradditionalProperties: false 83a3b19e0cSRyan Wanner 84a3b19e0cSRyan Wannerexamples: 85a3b19e0cSRyan Wanner - | 86a3b19e0cSRyan Wanner #include <dt-bindings/dma/at91.h> 87a3b19e0cSRyan Wanner #include <dt-bindings/interrupt-controller/arm-gic.h> 88a3b19e0cSRyan Wanner 89a3b19e0cSRyan Wanner classd: sound@fc048000 { 90a3b19e0cSRyan Wanner compatible = "atmel,sama5d2-classd"; 91a3b19e0cSRyan Wanner reg = <0xfc048000 0x100>; 92a3b19e0cSRyan Wanner interrupts = <59 IRQ_TYPE_LEVEL_HIGH 7>; 93a3b19e0cSRyan Wanner dmas = <&dma0 94a3b19e0cSRyan Wanner (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) 95a3b19e0cSRyan Wanner | AT91_XDMAC_DT_PERID(47))>; 96a3b19e0cSRyan Wanner dma-names = "tx"; 97a3b19e0cSRyan Wanner clocks = <&classd_clk>, <&classd_gclk>; 98a3b19e0cSRyan Wanner clock-names = "pclk", "gclk"; 99a3b19e0cSRyan Wanner assigned-clocks = <&classd_gclk>; 100a3b19e0cSRyan Wanner pinctrl-names = "default"; 101a3b19e0cSRyan Wanner pinctrl-0 = <&pinctrl_classd_default>; 102a3b19e0cSRyan Wanner atmel,model = "classd @ SAMA5D2-Xplained"; 103a3b19e0cSRyan Wanner atmel,pwm-type = "diff"; 104a3b19e0cSRyan Wanner atmel,non-overlap-time = <10>; 105a3b19e0cSRyan Wanner }; 106