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

From: Shengjiu Wang
Date: Fri Oct 08 2021 - 00:12:22 EST


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?

Best regards
Wang Shengjiu