Re: [PATCH v5] ASoC: dt-bindings: omap-mcpdm: Convert to DT schema

From: Péter Ujfalusi
Date: Wed May 22 2024 - 09:56:50 EST


Hi,

On 22/05/2024 10:52, Mighty wrote:
> From: Mithil Bavishi <bavishimithil@xxxxxxxxx>
>
> Convert the OMAP4+ McPDM bindings to DT schema.
>
> Signed-off-by: Mithil Bavishi <bavishimithil@xxxxxxxxx>
> ---
> Changelog v5:
> - Add imports for constants
> - Add desc to ti,hwmods
>
> .../devicetree/bindings/sound/omap-mcpdm.txt | 30 ---------
> .../bindings/sound/ti,omap4-mcpdm.yaml | 61 +++++++++++++++++++
> 2 files changed, 61 insertions(+), 30 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/sound/omap-mcpdm.txt
> create mode 100644 Documentation/devicetree/bindings/sound/ti,omap4-mcpdm.yaml
>
> diff --git a/Documentation/devicetree/bindings/sound/omap-mcpdm.txt b/Documentation/devicetree/bindings/sound/omap-mcpdm.txt
> deleted file mode 100644
> index ff98a0cb5..000000000
> --- a/Documentation/devicetree/bindings/sound/omap-mcpdm.txt
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -* Texas Instruments OMAP4+ McPDM
> -
> -Required properties:
> -- compatible: "ti,omap4-mcpdm"
> -- reg: Register location and size as an array:
> - <MPU access base address, size>,
> - <L3 interconnect address, size>;
> -- interrupts: Interrupt number for McPDM
> -- ti,hwmods: Name of the hwmod associated to the McPDM
> -- clocks: phandle for the pdmclk provider, likely <&twl6040>
> -- clock-names: Must be "pdmclk"
> -
> -Example:
> -
> -mcpdm: mcpdm@40132000 {
> - compatible = "ti,omap4-mcpdm";
> - reg = <0x40132000 0x7f>, /* MPU private access */
> - <0x49032000 0x7f>; /* L3 Interconnect */
> - interrupts = <0 112 0x4>;
> - interrupt-parent = <&gic>;
> - ti,hwmods = "mcpdm";
> -};
> -
> -In board DTS file the pdmclk needs to be added:
> -
> -&mcpdm {
> - clocks = <&twl6040>;
> - clock-names = "pdmclk";
> - status = "okay";
> -};
> diff --git a/Documentation/devicetree/bindings/sound/ti,omap4-mcpdm.yaml b/Documentation/devicetree/bindings/sound/ti,omap4-mcpdm.yaml
> new file mode 100644
> index 000000000..966406078
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/ti,omap4-mcpdm.yaml
> @@ -0,0 +1,61 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/ti,omap4-mcpdm.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: OMAP McPDM
> +
> +maintainers:
> + - Misael Lopez Cruz <misael.lopez@xxxxxx>
> +
> +description:
> + OMAP ALSA SoC DAI driver using McPDM port used by TWL6040
> +
> +properties:
> + compatible:
> + const: ti,omap4-mcpdm
> +
> + reg:
> + items:
> + - description: MPU access base address
> + - description: L3 interconnect address
> +
> + interrupts:
> + maxItems: 1
> +
> + ti,hwmods:
> + $ref: /schemas/types.yaml#/definitions/string
> + enum: [mcpdm]
> + description: Name of the hwmod associated to the McPDM, likely "mcpdm"
> +
> + clocks:
> + maxItems: 1
> +
> + clock-names:
> + items:
> + - const: pdmclk
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - ti,hwmods
> + - clocks
> + - clock-names
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + pdm@40132000 {

The original label and name is preferred to be used.

> + compatible = "ti,omap4-mcpdm";
> + reg = <0x40132000 0x7f>, /* MPU private access */
> + <0x49032000 0x7f>; /* L3 Interconnect */
> + interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-parent = <&gic>;
> + ti,hwmods = "mcpdm";
> + clocks = <&twl6040>;
> + clock-names = "pdmclk";

The clocks cannot be added at the time when the node is defined, it is
board specific. This way you imply that it is OK to have it in main dtsi
file. It is not.

> + };

--
Péter