Message ID | 1614221563-26822-8-git-send-email-shengjiu.wang@nxp.com |
---|---|
State | New |
Headers | show |
Series | Add audio driver base on rpmsg on i.MX platform | expand |
On Thu, Feb 25, 2021 at 10:52:43AM +0800, Shengjiu Wang wrote: > Imx-rpmsg is a new added machine driver for supporting audio on Cortex-M > core. The Cortex-M core will control the audio interface, DMA and audio > codec, setup the pipeline, the audio driver on Cortex-A core side is just > to communitcate with M core, it is a virtual sound card and don't touch > the hardware. This sounds like 1 h/w block (the interface to the cortex-M), your DT should be 1 node. If you need 2 drivers to satisfy the needs of the OS, then instantiate one device from the other device's driver. Rob
On Sun, Mar 7, 2021 at 4:37 AM Rob Herring <robh@kernel.org> wrote: > > On Thu, Feb 25, 2021 at 10:52:43AM +0800, Shengjiu Wang wrote: > > Imx-rpmsg is a new added machine driver for supporting audio on Cortex-M > > core. The Cortex-M core will control the audio interface, DMA and audio > > codec, setup the pipeline, the audio driver on Cortex-A core side is just > > to communitcate with M core, it is a virtual sound card and don't touch > > the hardware. > > This sounds like 1 h/w block (the interface to the cortex-M), your DT > should be 1 node. If you need 2 drivers to satisfy the needs of the OS, > then instantiate one device from the other device's driver. > Ok, I will change it in v4. best regards wang shengjiu
diff --git a/Documentation/devicetree/bindings/sound/imx-audio-rpmsg.yaml b/Documentation/devicetree/bindings/sound/imx-audio-rpmsg.yaml new file mode 100644 index 000000000000..ff9b3fc69dae --- /dev/null +++ b/Documentation/devicetree/bindings/sound/imx-audio-rpmsg.yaml @@ -0,0 +1,55 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/imx-audio-rpmsg.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NXP i.MX audio complex with rpmsg + +maintainers: + - Shengjiu Wang <shengjiu.wang@nxp.com> + +description: | + imx-rpmsg is a machine driver for supporting audio by rpmsg. + The Cortex-M core will control the audio interface, DMA and audio + codec, setup the pipeline, the audio driver on Cortex-A core side + is just to communitcate with M core, it is a virtual sound card + and don't touch the hardware. + +properties: + compatible: + enum: + - fsl,imx-audio-rpmsg + + model: + $ref: /schemas/types.yaml#/definitions/string + description: User specified audio sound card name + + audio-cpu: + description: The phandle of an CPU DAI controller + + rpmsg-out: + description: | + This is a boolean property. If present, the transmitting function + will be enabled, + + rpmsg-in: + description: | + This is a boolean property. If present, the receiving function + will be enabled. + +required: + - compatible + - model + - audio-cpu + +additionalProperties: false + +examples: + - | + sound-rpmsg { + compatible = "fsl,imx-audio-rpmsg"; + model = "ak4497-audio"; + audio-cpu = <&rpmsg_audio>; + rpmsg-out; + };
Imx-rpmsg is a new added machine driver for supporting audio on Cortex-M core. The Cortex-M core will control the audio interface, DMA and audio codec, setup the pipeline, the audio driver on Cortex-A core side is just to communitcate with M core, it is a virtual sound card and don't touch the hardware. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> --- .../bindings/sound/imx-audio-rpmsg.yaml | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/imx-audio-rpmsg.yaml