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

Rob Herring robh at kernel.org
Fri Oct 8 12:26:47 PDT 2021


On Fri, Oct 8, 2021 at 2:19 AM Shengjiu Wang <shengjiu.wang at gmail.com> wrote:
>
> On Fri, Oct 8, 2021 at 12:12 PM Shengjiu Wang <shengjiu.wang at gmail.com> wrote:
> >
> > Hi Rob
> >
> > On Sat, Oct 2, 2021 at 12:40 AM Rob Herring <robh at kernel.org> wrote:
> > >
> > > On Wed, Sep 29, 2021 at 9:34 PM Shengjiu Wang <shengjiu.wang at gmail.com> wrote:
> > > >
> > > > Hi Rob
> > > >
> > > > On Thu, Sep 30, 2021 at 6:40 AM Rob Herring <robh at kernel.org> 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 at nxp.com>
> > > > > > Acked-by: Daniel Baluta <daniel.baluta at nxp.com>
> > > > > > ---
> > > > > >  .../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 at nxp.com>
> > > > > > +  - Shengjiu Wang <shengjiu.wang at nxp.com>
> > > > > >
> > > > > >  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 at 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.

Yes, that's right. The main section has to pass for all cases, so you
need the maximum range (1-4 items).

Rob



More information about the linux-arm-kernel mailing list