--- v5
+++ v2
@@ -1,19 +1,20 @@
-fsl_rpmsg is a virtual audio device. Mapping to real hardware
-devices are SAI, DMA controlled by Cortex M core. What we see from
-Linux side is a device which provides audio service by rpmsg channel.
+fsl_rpmsg cpu dai driver is driver for rpmsg audio, which is mainly used
+for getting the user's configuration from device tree and configure the
+clocks which is used by Cortex-M core. So in this document define the
+needed property.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
---
- .../devicetree/bindings/sound/fsl,rpmsg.yaml | 108 ++++++++++++++++++
- 1 file changed, 108 insertions(+)
+ .../devicetree/bindings/sound/fsl,rpmsg.yaml | 80 +++++++++++++++++++
+ 1 file changed, 80 insertions(+)
create mode 100644 Documentation/devicetree/bindings/sound/fsl,rpmsg.yaml
diff --git a/Documentation/devicetree/bindings/sound/fsl,rpmsg.yaml b/Documentation/devicetree/bindings/sound/fsl,rpmsg.yaml
new file mode 100644
-index 000000000000..b4c190bddd84
+index 000000000000..2d3ce10d42fc
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/fsl,rpmsg.yaml
-@@ -0,0 +1,108 @@
+@@ -0,0 +1,80 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
@@ -25,22 +26,13 @@
+maintainers:
+ - Shengjiu Wang <shengjiu.wang@nxp.com>
+
-+description: |
-+ fsl_rpmsg is a virtual audio device. Mapping to real hardware devices
-+ are SAI, DMA controlled by Cortex M core. What we see from Linux
-+ side is a device which provides audio service by rpmsg channel.
-+
+properties:
+ compatible:
+ enum:
-+ - fsl,imx7ulp-rpmsg-audio
-+ - fsl,imx8mn-rpmsg-audio
-+ - fsl,imx8mm-rpmsg-audio
-+ - fsl,imx8mp-rpmsg-audio
-+
-+ model:
-+ $ref: /schemas/types.yaml#/definitions/string
-+ description: User specified audio sound card name
++ - fsl,imx7ulp-rpmsg
++ - fsl,imx8mn-rpmsg
++ - fsl,imx8mm-rpmsg
++ - fsl,imx8mp-rpmsg
+
+ clocks:
+ items:
@@ -49,6 +41,7 @@
+ - description: DMA clock for DMA register access
+ - description: Parent clock for multiple of 8kHz sample rates
+ - description: Parent clock for multiple of 11kHz sample rates
++ minItems: 5
+
+ clock-names:
+ items:
@@ -57,70 +50,50 @@
+ - const: dma
+ - const: pll8k
+ - const: pll11k
++ minItems: 5
+
+ power-domains:
-+ description:
-+ List of phandle and PM domain specifier as documented in
-+ Documentation/devicetree/bindings/power/power_domain.txt
+ maxItems: 1
+
-+ memory-region:
-+ $ref: /schemas/types.yaml#/definitions/phandle
-+ description:
-+ phandle to a node describing reserved memory (System RAM memory)
-+ The M core can't access all the DDR memory space on some platform,
-+ So reserved a specific memory for dma buffer which M core can
-+ access.
-+ (see bindings/reserved-memory/reserved-memory.txt)
++ fsl,audioindex:
++ $ref: /schemas/types.yaml#/definitions/uint32
++ description: instance index for rpmsg image
+
-+ audio-codec:
-+ $ref: /schemas/types.yaml#/definitions/phandle
-+ description: The phandle to a node of audio codec
++ fsl,version:
++ $ref: /schemas/types.yaml#/definitions/uint32
++ description: rpmsg image version index
+
-+ audio-routing:
-+ $ref: /schemas/types.yaml#/definitions/non-unique-string-array
-+ description: |
-+ A list of the connections between audio components. Each entry is a
-+ pair of strings, the first being the connection's sink, the second
-+ being the connection's source.
++ fsl,buffer-size:
++ $ref: /schemas/types.yaml#/definitions/uint32
++ description: pre allocate dma buffer size
+
+ fsl,enable-lpa:
+ $ref: /schemas/types.yaml#/definitions/flag
+ description: enable low power audio path.
+
-+ fsl,rpmsg-out:
-+ $ref: /schemas/types.yaml#/definitions/flag
-+ description: |
-+ This is a boolean property. If present, the transmitting function
-+ will be enabled.
-+
-+ fsl,rpmsg-in:
-+ $ref: /schemas/types.yaml#/definitions/flag
-+ description: |
-+ This is a boolean property. If present, the receiving function
-+ will be enabled.
++ fsl,codec-type:
++ $ref: /schemas/types.yaml#/definitions/uint32
++ description: Sometimes the codec is registered by
++ driver not the device tree, this items
++ can be used to distinguish codecs
+
+required:
+ - compatible
-+ - model
++ - fsl,audioindex
++ - fsl,version
++ - fsl,buffer-size
+
+additionalProperties: false
+
+examples:
+ - |
-+ #include <dt-bindings/clock/imx8mn-clock.h>
-+
+ rpmsg_audio: rpmsg_audio {
-+ compatible = "fsl,imx8mn-rpmsg-audio";
-+ model = "wm8524-audio";
++ compatible = "fsl,imx8mn-rpmsg";
++ fsl,audioindex = <0> ;
++ fsl,version = <2>;
++ fsl,buffer-size = <0x6000000>;
+ fsl,enable-lpa;
-+ fsl,rpmsg-out;
-+ clocks = <&clk IMX8MN_CLK_SAI3_IPG>,
-+ <&clk IMX8MN_CLK_SAI3_ROOT>,
-+ <&clk IMX8MN_CLK_SDMA3_ROOT>,
-+ <&clk IMX8MN_AUDIO_PLL1_OUT>,
-+ <&clk IMX8MN_AUDIO_PLL2_OUT>;
-+ clock-names = "ipg", "mclk", "dma", "pll8k", "pll11k";
++ status = "okay";
+ };
--
2.27.0