Re: [PATCH v5 4/4] dt-bindings: dsp: fsl: update binding document for remote proc driver

From: Shengjiu Wang
Date: Fri Oct 08 2021 - 03:19:34 EST


On Fri, Oct 8, 2021 at 12:12 PM Shengjiu Wang <shengjiu.wang@xxxxxxxxx> wrote:
>
> Hi Rob
>
> On Sat, Oct 2, 2021 at 12:40 AM Rob Herring <robh@xxxxxxxxxx> wrote:
> >
> > On Wed, Sep 29, 2021 at 9:34 PM Shengjiu Wang <shengjiu.wang@xxxxxxxxx> wrote:
> > >
> > > Hi Rob
> > >
> > > On Thu, Sep 30, 2021 at 6:40 AM Rob Herring <robh@xxxxxxxxxx> wrote:
> > > >
> > > > On Sun, Sep 26, 2021 at 11:07:10AM +0800, Shengjiu Wang wrote:
> > > > > As there are two drivers for DSP on i.MX, one is for sound open
> > > > > firmware, another is for remote processor framework. In order to
> > > > > distinguish two kinds of driver, defining different compatible strings.
> > > > >
> > > > > For remote proc driver, the properties firmware-name and fsl,dsp-ctrl
> > > > > are needed and the mailbox channel is different with SOF.
> > > > >
> > > > > Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxx>
> > > > > Acked-by: Daniel Baluta <daniel.baluta@xxxxxxx>
> > > > > ---
> > > > > .../devicetree/bindings/dsp/fsl,dsp.yaml | 81 +++++++++++++++++--
> > > > > 1 file changed, 75 insertions(+), 6 deletions(-)
> > > > >
> > > > > diff --git a/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml b/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
> > > > > index 7afc9f2be13a..51ea657f6d42 100644
> > > > > --- a/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
> > > > > +++ b/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
> > > > > @@ -8,6 +8,7 @@ title: NXP i.MX8 DSP core
> > > > >
> > > > > maintainers:
> > > > > - Daniel Baluta <daniel.baluta@xxxxxxx>
> > > > > + - Shengjiu Wang <shengjiu.wang@xxxxxxx>
> > > > >
> > > > > description: |
> > > > > Some boards from i.MX8 family contain a DSP core used for
> > > > > @@ -19,6 +20,10 @@ properties:
> > > > > - fsl,imx8qxp-dsp
> > > > > - fsl,imx8qm-dsp
> > > > > - fsl,imx8mp-dsp
> > > > > + - fsl,imx8qxp-hifi4
> > > > > + - fsl,imx8qm-hifi4
> > > > > + - fsl,imx8mp-hifi4
> > > > > + - fsl,imx8ulp-hifi4
> > > > >
> > > > > reg:
> > > > > maxItems: 1
> > > > > @@ -28,37 +33,63 @@ properties:
> > > > > - description: ipg clock
> > > > > - description: ocram clock
> > > > > - description: core clock
> > > > > + - description: debug interface clock
> > > > > + - description: message unit clock
> > > > > + minItems: 3
> > > > > + maxItems: 5
> > > >
> > > > Don't need maxItems.
> > >
> > > Ok, I will update it.
> > >
> > > >
> > > > >
> > > > > clock-names:
> > > > > items:
> > > > > - const: ipg
> > > > > - const: ocram
> > > > > - const: core
> > > > > + - const: debug
> > > > > + - const: mu
> > > > > + minItems: 3
> > > > > + maxItems: 5
> > > >
> > > > ditto
> > >
> > > Ok, I will update it.
> > >
> > > >
> > > > >
> > > > > power-domains:
> > > > > description:
> > > > > List of phandle and PM domain specifier as documented in
> > > > > Documentation/devicetree/bindings/power/power_domain.txt
> > > > > + minItems: 1
> > > >
> > > > This is curious. The h/w sometimes has fewer power domains?
> > >
> > > On i.MX8QM/8QXP, there are independent power domains for DSP core,
> > > DSP's RAM and DSP's MU.
> > > But on i.MX8MP, all these DSP components are in same audio subsystem
> > > There is only one power domain for whole audio subsystem, when
> > > power on audio subsystem, the DSP's components are powered on also.
> > >
> > > So the number of power domain depends on how the DSP component
> > > integrated in SoC.
> >
> > Sounds like you can write an if/then schema for this difference.
> >
>
> I try this:
>
> allOf:
> - if:
> properties:
> compatible:
> contains:
> enum:
> - fsl,imx8mp-hifi4
> - fsl,imx8mp-dsp
>
> then:
> properties:
> power-domains:
> maxItems: 1
>
> else:
> properties:
> power-domains:
> maxItems: 4
>
>
> But the dt_binding_check report error:
> DTEX Documentation/devicetree/bindings/dsp/fsl,dsp.example.dts
> DTC Documentation/devicetree/bindings/dsp/fsl,dsp.example.dt.yaml
> CHECK Documentation/devicetree/bindings/dsp/fsl,dsp.example.dt.yaml
> /opt/alsa/sound/Documentation/devicetree/bindings/dsp/fsl,dsp.example.dt.yaml:
> dsp@3b6e8000: power-domains: [[4294967295]] is too short
> From schema:
> /opt/alsa/sound/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
>
> I don't know the reason, could you please help to have a look what
> is wrong?

Seems still need to add "minItems" in original power-domains besides
if/then schema. otherwise the dt_binding_check report above
error.

Best Regards
Wang Shengjiu