RE: Re: [PATCH 1/5] ASoC: dt-bindings: fsl_rpmsg: Add a property to assign platform driver name

From: Chancel Liu
Date: Tue Sep 13 2022 - 03:14:42 EST


> > Add a string property to assign ASoC platform driver name. It also
> > represents the rpmsg channel this sound card sits on. This property
> > can be omitted if there is only one sound card and it sits on
> > "rpmsg-audio-channel".
> >
> > Signed-off-by: Chancel Liu <chancel.liu@xxxxxxx>
> > ---
> > .../devicetree/bindings/sound/fsl,rpmsg.yaml | 34 +++++++++++++++++--
> > 1 file changed, 32 insertions(+), 2 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/sound/fsl,rpmsg.yaml
> b/Documentation/devicetree/bindings/sound/fsl,rpmsg.yaml
> > index d370c98a62c7..35e3cb9f768b 100644
> > --- a/Documentation/devicetree/bindings/sound/fsl,rpmsg.yaml
> > +++ b/Documentation/devicetree/bindings/sound/fsl,rpmsg.yaml
> > @@ -11,8 +11,11 @@ maintainers:
> >
> > 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.
> > + are SAI, MICFIL, DMA controlled by Cortex M core. What we see from
> > + Linux side is a device which provides audio service by rpmsg channel.
> > + We can create different sound cards which access different hardwares
> > + such as SAI, MICFIL, .etc through building rpmsg channels between
> > + Cortex-A and Cortex-M.
> >
> > properties:
> > compatible:
> > @@ -85,6 +88,14 @@ properties:
> > This is a boolean property. If present, the receiving function
> > will be enabled.
> >
> > + fsl,platform:
> > + $ref: /schemas/types.yaml#/definitions/string
> > + description: |
> > + A string property to assign ASoC platform driver name.
>
> No, this is not a property of hardware. Naming of some drivers in some
> systems does not fit DTS and bindings.
>

This property aims to tell the ASoC driver which rpmsg channel the
sound card depends on. If there are several sound cards sit on rpmsg,
we should pass correct information in dts node to specify the name of
rpmsg channel. That is why I meant to add this property. I just want to
use a string property to distinguish different names of rpmsg channel.

Actually this property is hardware-related. As we discussed before,
this kind of sound card based on rpmsg works under this mechanism
Cortex-A core tells the Cortex-M core configuration of the PCM
parameters then Cortex-M controls real hardware devices. This property
specifying rpmsg channel represents the real hardware audio controller.

That's my idea adding this property. Do you have any better suggestion?

> > It also
> > + represents the rpmsg channel this sound card sits on. This property
> > + can be omitted if there is only one sound card and it sits on
> > + "rpmsg-audio-channel".
> > +
> > required:
> > - compatible
> > - model
> > @@ -107,3 +118,22 @@ examples:
> > <&clk IMX8MN_AUDIO_PLL2_OUT>;
> > clock-names = "ipg", "mclk", "dma", "pll8k", "pll11k";
> > };
> > +
> > + - |
> > + #include <dt-bindings/clock/imx8mm-clock.h>
> > +
> > + rpmsg_micfil: rpmsg_micfil {
>
> Node names should be generic.
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdevicetre
> e-specification.readthedocs.io%2Fen%2Flatest%2Fchapter2-devicetree-basics.h
> tml%23generic-names-recommendation&amp;data=05%7C01%7Cchancel.liu%
> 40nxp.com%7C8d5f4ca9669349c597b908da8a6a0311%7C686ea1d3bc2b4c6fa
> 92cd99c5c301635%7C0%7C0%7C637974485190445475%7CUnknown%7CTWFp
> bGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6
> Mn0%3D%7C3000%7C%7C%7C&amp;sdata=SgDveDWfYyVYhBrG9gpi2aPgGV4j
> PwtqbQOtbaE%2FI2s%3D&amp;reserved=0
>
> Also: no underscores in node names.
>
> Best regards,
> Krzysztof

Thanks for your reminder. We will rename the node in patches for next
version like:

rpmsg_micfil: audio-controller {
// property;
};

Regards,
Chancel Liu