Message ID | 20220711183010.39123-2-Ryan.Wanner@microchip.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | dt-bindings: sound: Convert to json-schema | expand |
On 11/07/2022 20:30, Ryan.Wanner@microchip.com wrote: > From: Ryan Wanner <Ryan.Wanner@microchip.com> > > Convert atmel CLASSD devicetree binding to json-schema. > Change file name to match json-schema naming. > > Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com> > --- > v1 -> v2: > - Fix title. Still wrong subsystem prefix. use git log --oneline -- > - Fix formatting. > - Removed trivial descriptions. > - Fix filename. > > .../bindings/sound/atmel,sama5d2-classd.yaml | 104 ++++++++++++++++++ > .../bindings/sound/atmel-classd.txt | 55 --------- > 2 files changed, 104 insertions(+), 55 deletions(-) > create mode 100644 Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml > delete mode 100644 Documentation/devicetree/bindings/sound/atmel-classd.txt > > diff --git a/Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml b/Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml > new file mode 100644 > index 000000000000..9ef8c6dde8a8 > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml > @@ -0,0 +1,104 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/sound/atmel,sama5d2-classd.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Atmel ClassD Amplifier > + > +maintainers: > + - Nicolas Ferre <nicolas.ferre@microchip.com> > + - Alexandre Belloni <alexandre.belloni@bootlin.com> > + - Claudiu Beznea <claudiu.beznea@microchip.com> > + > +description: > + The Audio Class D Amplifier (CLASSD) is a digital input, Pulse Width Modulated (PWM) Wrap at 80, like Linux coding style asks for. > + output stereo Class D amplifier. > + > +properties: > + compatible: > + const: atmel,sama5d2-classd > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + dmas: > + maxItems: 1 > + > + dma-names: > + const: tx > + > + clocks: > + maxItems: 2 > + > + clock-names: > + items: > + - const: pclk > + - const: gclk > + > + assigned-clocks: > + maxItems: 1 > + description: classd_gclk Usually assigned-clocks are not mentioned (they come from core schema), so why do you need to add it? Maybe just skip it. > + > + atmel,model: > + $ref: /schemas/types.yaml#/definitions/string > + description: The user-visible name of this sound complex. > + default: CLASSD > + > + atmel,pwm-type: > + $ref: /schemas/types.yaml#/definitions/string > + enum: > + - single > + - diff > + default: single > + description: PWM modulation type, "single" or "diff". Remove last part - , "single" or "diff" - it duplicates enum. > + > + atmel,non-overlap-time: > + description: > + Set non-overlapping time, the unit is nanosecond(ns). > + Non-overlapping will be disabled if not specified. Keep description in consistent place, so either as first property or last. Don't mix. > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: > + - 5 > + - 10 > + - 15 > + - 20 > + default: 10 > + Best regards, Krzysztof
On 11/07/2022 20:30, Ryan.Wanner@microchip.com wrote: One more: > + > +examples: > + - | > + #include <dt-bindings/dma/at91.h> > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + > + classd: sound@fc048000 { > + compatible = "atmel,sama5d2-classd"; > + reg = <0xfc048000 0x100>; > + interrupts = <59 IRQ_TYPE_LEVEL_HIGH 7>; Wrong indentation. I asked about this in v1. Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml b/Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml new file mode 100644 index 000000000000..9ef8c6dde8a8 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml @@ -0,0 +1,104 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/atmel,sama5d2-classd.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Atmel ClassD Amplifier + +maintainers: + - Nicolas Ferre <nicolas.ferre@microchip.com> + - Alexandre Belloni <alexandre.belloni@bootlin.com> + - Claudiu Beznea <claudiu.beznea@microchip.com> + +description: + The Audio Class D Amplifier (CLASSD) is a digital input, Pulse Width Modulated (PWM) + output stereo Class D amplifier. + +properties: + compatible: + const: atmel,sama5d2-classd + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + dmas: + maxItems: 1 + + dma-names: + const: tx + + clocks: + maxItems: 2 + + clock-names: + items: + - const: pclk + - const: gclk + + assigned-clocks: + maxItems: 1 + description: classd_gclk + + atmel,model: + $ref: /schemas/types.yaml#/definitions/string + description: The user-visible name of this sound complex. + default: CLASSD + + atmel,pwm-type: + $ref: /schemas/types.yaml#/definitions/string + enum: + - single + - diff + default: single + description: PWM modulation type, "single" or "diff". + + atmel,non-overlap-time: + description: + Set non-overlapping time, the unit is nanosecond(ns). + Non-overlapping will be disabled if not specified. + $ref: /schemas/types.yaml#/definitions/uint32 + enum: + - 5 + - 10 + - 15 + - 20 + default: 10 + +required: + - compatible + - reg + - interrupts + - dmas + - dma-names + - clock-names + - clocks + +additionalProperties: false + +examples: + - | + #include <dt-bindings/dma/at91.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + + classd: sound@fc048000 { + compatible = "atmel,sama5d2-classd"; + reg = <0xfc048000 0x100>; + interrupts = <59 IRQ_TYPE_LEVEL_HIGH 7>; + dmas = <&dma0 + (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) + | AT91_XDMAC_DT_PERID(47))>; + dma-names = "tx"; + clocks = <&classd_clk>, <&classd_gclk>; + clock-names = "pclk", "gclk"; + assigned-clocks = <&classd_gclk>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_classd_default>; + atmel,model = "classd @ SAMA5D2-Xplained"; + atmel,pwm-type = "diff"; + atmel,non-overlap-time = <10>; + }; diff --git a/Documentation/devicetree/bindings/sound/atmel-classd.txt b/Documentation/devicetree/bindings/sound/atmel-classd.txt deleted file mode 100644 index 898551076382..000000000000 --- a/Documentation/devicetree/bindings/sound/atmel-classd.txt +++ /dev/null @@ -1,55 +0,0 @@ -* Atmel ClassD driver under ALSA SoC architecture - -Required properties: -- compatible - Should be "atmel,sama5d2-classd". -- reg - Should contain ClassD registers location and length. -- interrupts - Should contain the IRQ line for the ClassD. -- dmas - One DMA specifiers as described in atmel-dma.txt and dma.txt files. -- dma-names - Must be "tx". -- clock-names - Tuple listing input clock names. - Required elements: "pclk" and "gclk". -- clocks - Please refer to clock-bindings.txt. -- assigned-clocks - Should be <&classd_gclk>. - -Optional properties: -- pinctrl-names, pinctrl-0 - Please refer to pinctrl-bindings.txt. -- atmel,model - The user-visible name of this sound complex. - The default value is "CLASSD". -- atmel,pwm-type - PWM modulation type, "single" or "diff". - The default value is "single". -- atmel,non-overlap-time - Set non-overlapping time, the unit is nanosecond(ns). - There are four values, - <5>, <10>, <15>, <20>, the default value is <10>. - Non-overlapping will be disabled if not specified. - -Example: -classd: classd@fc048000 { - compatible = "atmel,sama5d2-classd"; - reg = <0xfc048000 0x100>; - interrupts = <59 IRQ_TYPE_LEVEL_HIGH 7>; - dmas = <&dma0 - (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) - | AT91_XDMAC_DT_PERID(47))>; - dma-names = "tx"; - clocks = <&classd_clk>, <&classd_gclk>; - clock-names = "pclk", "gclk"; - assigned-clocks = <&classd_gclk>; - - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_classd_default>; - atmel,model = "classd @ SAMA5D2-Xplained"; - atmel,pwm-type = "diff"; - atmel,non-overlap-time = <10>; -};