On Fri, Oct 8, 2021 at 2:19 AM Shengjiu Wang <shengjiu.wang@xxxxxxxxx> wrote: > > 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. Yes, that's right. The main section has to pass for all cases, so you need the maximum range (1-4 items). Rob