linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] ASoC: dt-bindings: fsl-audmix: Convert fsl,audmix.txt to yaml
@ 2024-03-18 19:18 Frank Li
  2024-03-20 15:20 ` Rob Herring
  0 siblings, 1 reply; 2+ messages in thread
From: Frank Li @ 2024-03-18 19:18 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Shengjiu Wang,
	open list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEM...,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

Convert fsl,audmix.txt to yaml to let dtb check tools check audmix part.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---

Notes:
    dt_binding_check and DTB_CHECK passed.
    
    make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8  dt_binding_check DT_SCHEMA_FILES=fsl,audmix.yaml
      LINT    Documentation/devicetree/bindings
      DTEX    Documentation/devicetree/bindings/sound/fsl,audmix.example.dts
      CHKDT   Documentation/devicetree/bindings/processed-schema.json
      SCHEMA  Documentation/devicetree/bindings/processed-schema.json
      DTC_CHK Documentation/devicetree/bindings/sound/fsl,audmix.example.dtb

 .../devicetree/bindings/sound/fsl,audmix.txt  | 50 ------------
 .../devicetree/bindings/sound/fsl,audmix.yaml | 78 +++++++++++++++++++
 2 files changed, 78 insertions(+), 50 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/sound/fsl,audmix.txt
 create mode 100644 Documentation/devicetree/bindings/sound/fsl,audmix.yaml

diff --git a/Documentation/devicetree/bindings/sound/fsl,audmix.txt b/Documentation/devicetree/bindings/sound/fsl,audmix.txt
deleted file mode 100644
index 840b7e0d6a631..0000000000000
--- a/Documentation/devicetree/bindings/sound/fsl,audmix.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-NXP Audio Mixer (AUDMIX).
-
-The Audio Mixer is a on-chip functional module that allows mixing of two
-audio streams into a single audio stream. Audio Mixer has two input serial
-audio interfaces. These are driven by two Synchronous Audio interface
-modules (SAI). Each input serial interface carries 8 audio channels in its
-frame in TDM manner. Mixer mixes audio samples of corresponding channels
-from two interfaces into a single sample. Before mixing, audio samples of
-two inputs can be attenuated based on configuration. The output of the
-Audio Mixer is also a serial audio interface. Like input interfaces it has
-the same TDM frame format. This output is used to drive the serial DAC TDM
-interface of audio codec and also sent to the external pins along with the
-receive path of normal audio SAI module for readback by the CPU.
-
-The output of Audio Mixer can be selected from any of the three streams
- - serial audio input 1
- - serial audio input 2
- - mixed audio
-
-Mixing operation is independent of audio sample rate but the two audio
-input streams must have same audio sample rate with same number of channels
-in TDM frame to be eligible for mixing.
-
-Device driver required properties:
-=================================
-  - compatible		: Compatible list, contains "fsl,imx8qm-audmix"
-
-  - reg			: Offset and length of the register set for the device.
-
-  - clocks		: Must contain an entry for each entry in clock-names.
-
-  - clock-names		: Must include the "ipg" for register access.
-
-  - power-domains	: Must contain the phandle to AUDMIX power domain node
-
-  - dais		: Must contain a list of phandles to AUDMIX connected
-			  DAIs. The current implementation requires two phandles
-			  to SAI interfaces to be provided, the first SAI in the
-			  list being used to route the AUDMIX output.
-
-Device driver configuration example:
-======================================
-  audmix: audmix@59840000 {
-    compatible = "fsl,imx8qm-audmix";
-    reg = <0x0 0x59840000 0x0 0x10000>;
-    clocks = <&clk IMX8QXP_AUD_AUDMIX_IPG>;
-    clock-names = "ipg";
-    power-domains = <&pd_audmix>;
-    dais = <&sai4>, <&sai5>;
-  };
diff --git a/Documentation/devicetree/bindings/sound/fsl,audmix.yaml b/Documentation/devicetree/bindings/sound/fsl,audmix.yaml
new file mode 100644
index 0000000000000..fc65b76ea35ce
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/fsl,audmix.yaml
@@ -0,0 +1,78 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/fsl,audmix.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NXP Audio Mixer (AUDMIX).
+
+maintainers:
+  - Shengjiu Wang <shengjiu.wang@nxp.com>
+  - Frank Li <Frank.Li@nxp.com>
+
+description:
+  The Audio Mixer is a on-chip functional module that allows mixing of two
+  audio streams into a single audio stream. Audio Mixer has two input serial
+  audio interfaces. These are driven by two Synchronous Audio interface
+  modules (SAI). Each input serial interface carries 8 audio channels in its
+  frame in TDM manner. Mixer mixes audio samples of corresponding channels
+  from two interfaces into a single sample. Before mixing, audio samples of
+  two inputs can be attenuated based on configuration. The output of the
+  Audio Mixer is also a serial audio interface. Like input interfaces it has
+  the same TDM frame format. This output is used to drive the serial DAC TDM
+  interface of audio codec and also sent to the external pins along with the
+  receive path of normal audio SAI module for readback by the CPU.
+
+  The output of Audio Mixer can be selected from any of the three streams
+    - serial audio input 1
+    - serial audio input 2
+    - mixed audio
+
+  Mixing operation is independent of audio sample rate but the two audio
+  input streams must have same audio sample rate with same number of channels
+  in TDM frame to be eligible for mixing.
+
+properties:
+  compatible:
+    const: fsl,imx8qm-audmix
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  clock-names:
+    items:
+      - const: ipg
+
+  power-domains:
+    maxItems: 1
+
+  dais:
+    description:
+      Must contain a list of phandles to AUDMIX connected
+      DAIs. The current implementation requires two phandles
+      to SAI interfaces to be provided, the first SAI in the
+      list being used to route the AUDMIX output.
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - clock-names
+  - power-domains
+  - dais
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    audmix@59840000 {
+      compatible = "fsl,imx8qm-audmix";
+      reg = <0x59840000 0x10000>;
+      clocks = <&amix_lpcg 0>;
+      clock-names = "ipg";
+      power-domains = <&pd_audmix>;
+      dais = <&sai4>, <&sai5>;
+    };
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 1/1] ASoC: dt-bindings: fsl-audmix: Convert fsl,audmix.txt to yaml
  2024-03-18 19:18 [PATCH 1/1] ASoC: dt-bindings: fsl-audmix: Convert fsl,audmix.txt to yaml Frank Li
@ 2024-03-20 15:20 ` Rob Herring
  0 siblings, 0 replies; 2+ messages in thread
From: Rob Herring @ 2024-03-20 15:20 UTC (permalink / raw)
  To: Frank Li
  Cc: Liam Girdwood, Mark Brown, Krzysztof Kozlowski, Conor Dooley,
	Shengjiu Wang,
	open list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEM...,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

On Mon, Mar 18, 2024 at 03:18:21PM -0400, Frank Li wrote:
> Convert fsl,audmix.txt to yaml to let dtb check tools check audmix part.
> 
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> 
> Notes:
>     dt_binding_check and DTB_CHECK passed.
>     
>     make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j8  dt_binding_check DT_SCHEMA_FILES=fsl,audmix.yaml
>       LINT    Documentation/devicetree/bindings
>       DTEX    Documentation/devicetree/bindings/sound/fsl,audmix.example.dts
>       CHKDT   Documentation/devicetree/bindings/processed-schema.json
>       SCHEMA  Documentation/devicetree/bindings/processed-schema.json
>       DTC_CHK Documentation/devicetree/bindings/sound/fsl,audmix.example.dtb
> 
>  .../devicetree/bindings/sound/fsl,audmix.txt  | 50 ------------
>  .../devicetree/bindings/sound/fsl,audmix.yaml | 78 +++++++++++++++++++
>  2 files changed, 78 insertions(+), 50 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/sound/fsl,audmix.txt
>  create mode 100644 Documentation/devicetree/bindings/sound/fsl,audmix.yaml
> 
> diff --git a/Documentation/devicetree/bindings/sound/fsl,audmix.txt b/Documentation/devicetree/bindings/sound/fsl,audmix.txt
> deleted file mode 100644
> index 840b7e0d6a631..0000000000000
> --- a/Documentation/devicetree/bindings/sound/fsl,audmix.txt
> +++ /dev/null
> @@ -1,50 +0,0 @@
> -NXP Audio Mixer (AUDMIX).
> -
> -The Audio Mixer is a on-chip functional module that allows mixing of two
> -audio streams into a single audio stream. Audio Mixer has two input serial
> -audio interfaces. These are driven by two Synchronous Audio interface
> -modules (SAI). Each input serial interface carries 8 audio channels in its
> -frame in TDM manner. Mixer mixes audio samples of corresponding channels
> -from two interfaces into a single sample. Before mixing, audio samples of
> -two inputs can be attenuated based on configuration. The output of the
> -Audio Mixer is also a serial audio interface. Like input interfaces it has
> -the same TDM frame format. This output is used to drive the serial DAC TDM
> -interface of audio codec and also sent to the external pins along with the
> -receive path of normal audio SAI module for readback by the CPU.
> -
> -The output of Audio Mixer can be selected from any of the three streams
> - - serial audio input 1
> - - serial audio input 2
> - - mixed audio
> -
> -Mixing operation is independent of audio sample rate but the two audio
> -input streams must have same audio sample rate with same number of channels
> -in TDM frame to be eligible for mixing.
> -
> -Device driver required properties:
> -=================================
> -  - compatible		: Compatible list, contains "fsl,imx8qm-audmix"
> -
> -  - reg			: Offset and length of the register set for the device.
> -
> -  - clocks		: Must contain an entry for each entry in clock-names.
> -
> -  - clock-names		: Must include the "ipg" for register access.
> -
> -  - power-domains	: Must contain the phandle to AUDMIX power domain node
> -
> -  - dais		: Must contain a list of phandles to AUDMIX connected
> -			  DAIs. The current implementation requires two phandles
> -			  to SAI interfaces to be provided, the first SAI in the
> -			  list being used to route the AUDMIX output.
> -
> -Device driver configuration example:
> -======================================
> -  audmix: audmix@59840000 {
> -    compatible = "fsl,imx8qm-audmix";
> -    reg = <0x0 0x59840000 0x0 0x10000>;
> -    clocks = <&clk IMX8QXP_AUD_AUDMIX_IPG>;
> -    clock-names = "ipg";
> -    power-domains = <&pd_audmix>;
> -    dais = <&sai4>, <&sai5>;
> -  };
> diff --git a/Documentation/devicetree/bindings/sound/fsl,audmix.yaml b/Documentation/devicetree/bindings/sound/fsl,audmix.yaml
> new file mode 100644
> index 0000000000000..fc65b76ea35ce
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/fsl,audmix.yaml
> @@ -0,0 +1,78 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/fsl,audmix.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: NXP Audio Mixer (AUDMIX).
> +
> +maintainers:
> +  - Shengjiu Wang <shengjiu.wang@nxp.com>
> +  - Frank Li <Frank.Li@nxp.com>
> +
> +description:

You need '|' as you have formatting.

> +  The Audio Mixer is a on-chip functional module that allows mixing of two
> +  audio streams into a single audio stream. Audio Mixer has two input serial
> +  audio interfaces. These are driven by two Synchronous Audio interface
> +  modules (SAI). Each input serial interface carries 8 audio channels in its
> +  frame in TDM manner. Mixer mixes audio samples of corresponding channels
> +  from two interfaces into a single sample. Before mixing, audio samples of
> +  two inputs can be attenuated based on configuration. The output of the
> +  Audio Mixer is also a serial audio interface. Like input interfaces it has
> +  the same TDM frame format. This output is used to drive the serial DAC TDM
> +  interface of audio codec and also sent to the external pins along with the
> +  receive path of normal audio SAI module for readback by the CPU.
> +
> +  The output of Audio Mixer can be selected from any of the three streams
> +    - serial audio input 1
> +    - serial audio input 2
> +    - mixed audio
> +
> +  Mixing operation is independent of audio sample rate but the two audio
> +  input streams must have same audio sample rate with same number of channels
> +  in TDM frame to be eligible for mixing.
> +
> +properties:
> +  compatible:
> +    const: fsl,imx8qm-audmix
> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 1
> +
> +  clock-names:
> +    items:
> +      - const: ipg
> +
> +  power-domains:
> +    maxItems: 1
> +
> +  dais:
> +    description:
> +      Must contain a list of phandles to AUDMIX connected
> +      DAIs. The current implementation requires two phandles
> +      to SAI interfaces to be provided, the first SAI in the
> +      list being used to route the AUDMIX output.

Needs a type and constraints. This corresponds to the output and 2 input 
streams? Something like this then?:

$ref: /schemas/types.yaml#/definitions/phandle-array
minItems: 2
items:
  - description: the AUDMIX output
    maxItems: 1
  - description: serial audio input 1
    maxItems: 1
  - description: serial audio input 2
    maxItems: 1

Rob

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-03-20 15:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-18 19:18 [PATCH 1/1] ASoC: dt-bindings: fsl-audmix: Convert fsl,audmix.txt to yaml Frank Li
2024-03-20 15:20 ` Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).