[PATCH v2 0/2] dt-bindings: sound: Convert to json-schema
From: Ryan Wanner Ryan.Wanner@microchip.com
This patch series converts atmel-classd and atmel-pdmic device tree bindings to json-schema.
v1 -> v2: - Fix commit formatting. - Fix titles in yaml file - Removed trivial descriptions - Correct formatting errors
Ryan Wanner (2): dt-bindings: sound: atmel,classd: Convert to json-schema dt-binding: sound: atmel,pdmic: Convert to json-schema
.../bindings/sound/atmel,sama5d2-classd.yaml | 104 ++++++++++++++++++ .../bindings/sound/atmel,sama5d2-pdmic.yaml | 98 +++++++++++++++++ .../bindings/sound/atmel-classd.txt | 55 --------- .../devicetree/bindings/sound/atmel-pdmic.txt | 55 --------- 4 files changed, 202 insertions(+), 110 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/atmel,sama5d2-classd.yaml create mode 100644 Documentation/devicetree/bindings/sound/atmel,sama5d2-pdmic.yaml delete mode 100644 Documentation/devicetree/bindings/sound/atmel-classd.txt delete mode 100644 Documentation/devicetree/bindings/sound/atmel-pdmic.txt
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. - 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) + 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>; -};
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
From: Ryan Wanner Ryan.Wanner@microchip.com
Convert Atmel PDMIC devicetree binding to json-schema. Change file naming to match json-schema naming.
Signed-off-by: Ryan Wanner Ryan.Wanner@microchip.com --- v1 -> v2: - Fix title. - Removed trivial descriptions. - Fix formatting.
.../bindings/sound/atmel,sama5d2-pdmic.yaml | 98 +++++++++++++++++++ .../devicetree/bindings/sound/atmel-pdmic.txt | 55 ----------- 2 files changed, 98 insertions(+), 55 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/atmel,sama5d2-pdmic.yaml delete mode 100644 Documentation/devicetree/bindings/sound/atmel-pdmic.txt
diff --git a/Documentation/devicetree/bindings/sound/atmel,sama5d2-pdmic.yaml b/Documentation/devicetree/bindings/sound/atmel,sama5d2-pdmic.yaml new file mode 100644 index 000000000000..88fa92a30147 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/atmel,sama5d2-pdmic.yaml @@ -0,0 +1,98 @@ +# 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-pdmic.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Atmel PDMIC decoder + +maintainers: + - Claudiu Beznea claudiu.beznea@microchip.com + +description: + Atmel Pulse Density Modulation Interface Controller + (PDMIC) peripheral is a mono PDM decoder module + that decodes an incoming PDM sample stream. + +properties: + compatible: + const: atmel,sama5d2-pdmic + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + items: + - description: peripheral clock + - description: generated clock + + clock-names: + items: + - const: pclk + - const: gclk + + dmas: + maxItems: 1 + + dma-names: + const: rx + + atmel,mic-min-freq: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + The minimal frequency that the microphone supports. + + atmel,mic-max-freq: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + The maximal frequency that the microphone supports. + + atmel,model: + description: The user-visible name of this sound card. + $ref: /schemas/types.yaml#/definitions/string + default: PDMIC + + atmel,mic-offset: + $ref: /schemas/types.yaml#/definitions/int32 + description: The offset that should be added. + default: 0 + +required: + - compatible + - reg + - interrupts + - dmas + - dma-names + - clock-names + - clocks + - atmel,mic-min-freq + - atmel,mic-max-freq + +additionalProperties: false + +examples: + - | + #include <dt-bindings/dma/at91.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + + pdmic: sound@f8018000 { + compatible = "atmel,sama5d2-pdmic"; + reg = <0xf8018000 0x124>; + interrupts = <48 IRQ_TYPE_LEVEL_HIGH 7>; + dmas = <&dma0 + (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) + | AT91_XDMAC_DT_PERID(50))>; + dma-names = "rx"; + clocks = <&pdmic_clk>, <&pdmic_gclk>; + clock-names = "pclk", "gclk"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pdmic_default>; + atmel,model = "PDMIC@sama5d2_xplained"; + atmel,mic-min-freq = <1000000>; + atmel,mic-max-freq = <3246000>; + atmel,mic-offset = <0x0>; + }; diff --git a/Documentation/devicetree/bindings/sound/atmel-pdmic.txt b/Documentation/devicetree/bindings/sound/atmel-pdmic.txt deleted file mode 100644 index e0875f17c229..000000000000 --- a/Documentation/devicetree/bindings/sound/atmel-pdmic.txt +++ /dev/null @@ -1,55 +0,0 @@ -* Atmel PDMIC driver under ALSA SoC architecture - -Required properties: -- compatible - Should be "atmel,sama5d2-pdmic". -- reg - Should contain PDMIC registers location and length. -- interrupts - Should contain the IRQ line for the PDMIC. -- dmas - One DMA specifiers as described in atmel-dma.txt and dma.txt files. -- dma-names - Must be "rx". -- clock-names - Required elements: - - "pclk" peripheral clock - - "gclk" generated clock -- clocks - Must contain an entry for each required entry in clock-names. - Please refer to clock-bindings.txt. -- atmel,mic-min-freq - The minimal frequency that the micphone supports. -- atmel,mic-max-freq - The maximal frequency that the micphone supports. - -Optional properties: -- pinctrl-names, pinctrl-0 - Please refer to pinctrl-bindings.txt. -- atmel,model - The user-visible name of this sound card. - The default value is "PDMIC". -- atmel,mic-offset - The offset that should be added. - The range is from -32768 to 32767. - The default value is 0. - -Example: - pdmic@f8018000 { - compatible = "atmel,sama5d2-pdmic"; - reg = <0xf8018000 0x124>; - interrupts = <48 IRQ_TYPE_LEVEL_HIGH 7>; - dmas = <&dma0 - (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) - | AT91_XDMAC_DT_PERID(50))>; - dma-names = "rx"; - clocks = <&pdmic_clk>, <&pdmic_gclk>; - clock-names = "pclk", "gclk"; - - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_pdmic_default>; - atmel,model = "PDMIC @ sama5d2_xplained"; - atmel,mic-min-freq = <1000000>; - atmel,mic-max-freq = <3246000>; - atmel,mic-offset = <0x0>; - };
On 11/07/2022 20:30, Ryan.Wanner@microchip.com wrote:
From: Ryan Wanner Ryan.Wanner@microchip.com
Convert Atmel PDMIC devicetree binding to json-schema. Change file naming to match json-schema naming.
Signed-off-by: Ryan Wanner Ryan.Wanner@microchip.com
v1 -> v2:
- Fix title.
- Removed trivial descriptions.
- Fix formatting.
.../bindings/sound/atmel,sama5d2-pdmic.yaml | 98 +++++++++++++++++++ .../devicetree/bindings/sound/atmel-pdmic.txt | 55 ----------- 2 files changed, 98 insertions(+), 55 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/atmel,sama5d2-pdmic.yaml delete mode 100644 Documentation/devicetree/bindings/sound/atmel-pdmic.txt
diff --git a/Documentation/devicetree/bindings/sound/atmel,sama5d2-pdmic.yaml b/Documentation/devicetree/bindings/sound/atmel,sama5d2-pdmic.yaml new file mode 100644 index 000000000000..88fa92a30147 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/atmel,sama5d2-pdmic.yaml @@ -0,0 +1,98 @@ +# 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-pdmic.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: Atmel PDMIC decoder
+maintainers:
- Claudiu Beznea claudiu.beznea@microchip.com
+description:
- Atmel Pulse Density Modulation Interface Controller
- (PDMIC) peripheral is a mono PDM decoder module
- that decodes an incoming PDM sample stream.
+properties:
- compatible:
- const: atmel,sama5d2-pdmic
- reg:
- maxItems: 1
- interrupts:
- maxItems: 1
- clocks:
- items:
- description: peripheral clock
- description: generated clock
- clock-names:
- items:
- const: pclk
- const: gclk
- dmas:
- maxItems: 1
- dma-names:
- const: rx
- atmel,mic-min-freq:
- $ref: /schemas/types.yaml#/definitions/uint32
- description:
The minimal frequency that the microphone supports.
- atmel,mic-max-freq:
- $ref: /schemas/types.yaml#/definitions/uint32
- description:
The maximal frequency that the microphone supports.
- atmel,model:
- description: The user-visible name of this sound card.
In previous properties the description was the last one, so keep it consistent.
- $ref: /schemas/types.yaml#/definitions/string
- default: PDMIC
- atmel,mic-offset:
- $ref: /schemas/types.yaml#/definitions/int32
- description: The offset that should be added.
- default: 0
+required:
- compatible
- reg
- interrupts
- dmas
- dma-names
- clock-names
- clocks
- atmel,mic-min-freq
- atmel,mic-max-freq
+additionalProperties: false
+examples:
- |
- #include <dt-bindings/dma/at91.h>
- #include <dt-bindings/interrupt-controller/arm-gic.h>
- pdmic: sound@f8018000 {
compatible = "atmel,sama5d2-pdmic";
Wrong indentation. I already asked for this.
Best regards, Krzysztof
Hey Ryan, Thanks for your patches, got a couple comments.
On 11/07/2022 19:30, Ryan.Wanner@microchip.com wrote:
From: Ryan Wanner Ryan.Wanner@microchip.com
This patch series converts atmel-classd and atmel-pdmic device tree bindings to json-schema.
v1 -> v2:
- Fix commit formatting.
For sound bindings, I afaik the standard way to do it is: "ASoC: dt-bindings: foo"
If you ever want to get an idea of what subjects for a subsystem should look like you can always run:
git log --oneline path/to/subsystem
So for these patches:
git log --oneline Documentation/devicetree/bindings/sound/
- Fix titles in yaml file
- Removed trivial descriptions
- Correct formatting errors
Ryan Wanner (2): dt-bindings: sound: atmel,classd: Convert to json-schema dt-binding: sound: atmel,pdmic: Convert to json-schema
^ forgot the s here
Thanks, Conor.
On 11/07/2022 20:30, Ryan.Wanner@microchip.com wrote:
From: Ryan Wanner Ryan.Wanner@microchip.com
This patch series converts atmel-classd and atmel-pdmic device tree bindings to json-schema.
v1 -> v2:
- Fix commit formatting.
- Fix titles in yaml file
- Removed trivial descriptions
- Correct formatting errors
Ryan Wanner (2): dt-bindings: sound: atmel,classd: Convert to json-schema dt-binding: sound: atmel,pdmic: Convert to json-schema
Use consistent and proper prefix. I think you got such comment before, right?
Best regards, Krzysztof
participants (3)
-
Conor.Dooley@microchip.com
-
Krzysztof Kozlowski
-
Ryan.Wanner@microchip.com