Thread (25 messages) 25 messages, 5 authors, 2021-09-23

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

From: Mathieu Poirier <mathieu.poirier@linaro.org>
Date: 2021-09-13 17:08:38
Also in: linux-arm-kernel, linux-remoteproc, lkml

On Sun, 12 Sept 2021 at 20:50, Shengjiu Wang [off-list ref] wrote:
Hi Rob

On Sat, Sep 11, 2021 at 5:43 AM Rob Herring [off-list ref] wrote:
quoted
On Wed, Sep 08, 2021 at 05:10:55PM +0800, Shengjiu Wang wrote:
quoted
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.
What determines which firmware is used? Is it tied to the board? Or for
a given board, users could want different firmware? In the latter case,
this configuration should not be in DT.
The compatible string determines which firmware is used.
For a given board, users could want different firmware, then need
to reboot the kernel and switch to another DTB.
quoted
quoted
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 <redacted>
---
 .../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@nxp.com>
+  - Shengjiu Wang <shengjiu.wang@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

   clock-names:
     items:
       - const: ipg
       - const: ocram
       - const: core
+      - const: debug
+      - const: mu
+    minItems: 3
+    maxItems: 5

   power-domains:
     description:
       List of phandle and PM domain specifier as documented in
       Documentation/devicetree/bindings/power/power_domain.txt
+    minItems: 1
     maxItems: 4
How does the same h/w have different number of power domains?
For different SoC, the integration is different, on i.MX8QM/8QXP, there are
4 power-domains for DSP,  but on i.MX8MP, there are 1 power-domain.
quoted
quoted
   mboxes:
     description:
       List of <&phandle type channel> - 2 channels for TXDB, 2 channels for RXDB
+      or - 1 channel for TX, 1 channel for RX, 1 channel for RXDB
       (see mailbox/fsl,mu.txt)
+    minItems: 3
     maxItems: 4

   mbox-names:
-    items:
-      - const: txdb0
-      - const: txdb1
-      - const: rxdb0
-      - const: rxdb1
+    oneOf:
+      - items:
+          - const: txdb0
+          - const: txdb1
+          - const: rxdb0
+          - const: rxdb1
+      - items:
+          - const: tx
+          - const: rx
+          - const: rxdb
These are completely different mailboxes?
It is the same mailbox, for this mailbox, there are 16 channels
(4 for tx,  4 for rx,  4 for txdb, 4 for rxdb).
For sound open firmware and remoteproc firmware, they
use different mailbox channels.
quoted
quoted
   memory-region:
     description:
       phandle to a node describing reserved memory (System RAM memory)
       used by DSP (see bindings/reserved-memory/reserved-memory.txt)
-    maxItems: 1
+    minItems: 1
+    maxItems: 4
+
+  firmware-name:
+    description: |
+      Default name of the firmware to load to the remote processor.
+
+  fsl,dsp-ctrl:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description:
+      Phandle to syscon block which provide access for processor enablement
Curious, how is this done with the open sound f/w?
Currently the code for this in sound open firmware is not upsteamed,
I think this phandle is also applied for sound open firmware.

By the way, Should I separate the change of this file from this
patch series?  Does it belong to your linux tree?
Please keep the patches together.  Once Rob acks the bindings, patches
in this series will be picked up in the remoteproc tree.

Thanks,
Mathieu

Best Regards
Wang Shengjiu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help