diff mbox series

[v3,3/4] dt-bindings: remoteproc: Add fsl, imx-dsp-rproc binding document

Message ID 1630661377-31244-4-git-send-email-shengjiu.wang@nxp.com (mailing list archive)
State New, archived
Headers show
Series Add remoteproc driver for DSP on i.MX | expand

Commit Message

Shengjiu Wang Sept. 3, 2021, 9:29 a.m. UTC
Define the compatible string and properties needed by imx_dsp_rproc
driver.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
---
 .../remoteproc/fsl,imx-dsp-rproc.yaml         | 131 ++++++++++++++++++
 1 file changed, 131 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/remoteproc/fsl,imx-dsp-rproc.yaml

Comments

Rob Herring Sept. 3, 2021, 4:42 p.m. UTC | #1
On Fri, 03 Sep 2021 17:29:36 +0800, Shengjiu Wang wrote:
> Define the compatible string and properties needed by imx_dsp_rproc
> driver.
> 
> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> ---
>  .../remoteproc/fsl,imx-dsp-rproc.yaml         | 131 ++++++++++++++++++
>  1 file changed, 131 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/remoteproc/fsl,imx-dsp-rproc.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>
Rob Herring Sept. 3, 2021, 4:50 p.m. UTC | #2
On Fri, Sep 3, 2021 at 11:42 AM Rob Herring <robh@kernel.org> wrote:
>
> On Fri, 03 Sep 2021 17:29:36 +0800, Shengjiu Wang wrote:
> > Define the compatible string and properties needed by imx_dsp_rproc
> > driver.
> >
> > Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> > ---
> >  .../remoteproc/fsl,imx-dsp-rproc.yaml         | 131 ++++++++++++++++++
> >  1 file changed, 131 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/remoteproc/fsl,imx-dsp-rproc.yaml
> >
>
> Reviewed-by: Rob Herring <robh@kernel.org>

I take that back. What's the difference with this binding and
Documentation/devicetree/bindings/dsp/fsl,dsp.yaml?
Shengjiu Wang Sept. 4, 2021, 2:58 a.m. UTC | #3
Hi Rob

On Sat, Sep 4, 2021 at 12:50 AM Rob Herring <robh+dt@kernel.org> wrote:
>
> On Fri, Sep 3, 2021 at 11:42 AM Rob Herring <robh@kernel.org> wrote:
> >
> > On Fri, 03 Sep 2021 17:29:36 +0800, Shengjiu Wang wrote:
> > > Define the compatible string and properties needed by imx_dsp_rproc
> > > driver.
> > >
> > > Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> > > ---
> > >  .../remoteproc/fsl,imx-dsp-rproc.yaml         | 131 ++++++++++++++++++
> > >  1 file changed, 131 insertions(+)
> > >  create mode 100644 Documentation/devicetree/bindings/remoteproc/fsl,imx-dsp-rproc.yaml
> > >
> >
> > Reviewed-by: Rob Herring <robh@kernel.org>
>
> I take that back. What's the difference with this binding and
> Documentation/devicetree/bindings/dsp/fsl,dsp.yaml?

Some devices, but two kinds of driver. one for remoteproc
framework,  another one is for ALSA.
So should I merge fsl,imx-dsp-rproc.yaml to fsl,dsp.yaml?

Best regards
Wang shengjiu
Rob Herring Sept. 7, 2021, 12:50 p.m. UTC | #4
On Fri, Sep 3, 2021 at 9:58 PM Shengjiu Wang <shengjiu.wang@gmail.com> wrote:
>
> Hi Rob
>
> On Sat, Sep 4, 2021 at 12:50 AM Rob Herring <robh+dt@kernel.org> wrote:
> >
> > On Fri, Sep 3, 2021 at 11:42 AM Rob Herring <robh@kernel.org> wrote:
> > >
> > > On Fri, 03 Sep 2021 17:29:36 +0800, Shengjiu Wang wrote:
> > > > Define the compatible string and properties needed by imx_dsp_rproc
> > > > driver.
> > > >
> > > > Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> > > > ---
> > > >  .../remoteproc/fsl,imx-dsp-rproc.yaml         | 131 ++++++++++++++++++
> > > >  1 file changed, 131 insertions(+)
> > > >  create mode 100644 Documentation/devicetree/bindings/remoteproc/fsl,imx-dsp-rproc.yaml
> > > >
> > >
> > > Reviewed-by: Rob Herring <robh@kernel.org>
> >
> > I take that back. What's the difference with this binding and
> > Documentation/devicetree/bindings/dsp/fsl,dsp.yaml?
>
> Some devices, but two kinds of driver. one for remoteproc
> framework,  another one is for ALSA.
> So should I merge fsl,imx-dsp-rproc.yaml to fsl,dsp.yaml?

You can have 100 drivers for all I care, but it's 1 DT binding for 1
piece of h/w.

Rob
Shengjiu Wang Sept. 8, 2021, 7:23 a.m. UTC | #5
On Tue, Sep 7, 2021 at 8:50 PM Rob Herring <robh+dt@kernel.org> wrote:
>
> On Fri, Sep 3, 2021 at 9:58 PM Shengjiu Wang <shengjiu.wang@gmail.com> wrote:
> >
> > Hi Rob
> >
> > On Sat, Sep 4, 2021 at 12:50 AM Rob Herring <robh+dt@kernel.org> wrote:
> > >
> > > On Fri, Sep 3, 2021 at 11:42 AM Rob Herring <robh@kernel.org> wrote:
> > > >
> > > > On Fri, 03 Sep 2021 17:29:36 +0800, Shengjiu Wang wrote:
> > > > > Define the compatible string and properties needed by imx_dsp_rproc
> > > > > driver.
> > > > >
> > > > > Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> > > > > ---
> > > > >  .../remoteproc/fsl,imx-dsp-rproc.yaml         | 131 ++++++++++++++++++
> > > > >  1 file changed, 131 insertions(+)
> > > > >  create mode 100644 Documentation/devicetree/bindings/remoteproc/fsl,imx-dsp-rproc.yaml
> > > > >
> > > >
> > > > Reviewed-by: Rob Herring <robh@kernel.org>
> > >
> > > I take that back. What's the difference with this binding and
> > > Documentation/devicetree/bindings/dsp/fsl,dsp.yaml?
> >
> > Some devices, but two kinds of driver. one for remoteproc
> > framework,  another one is for ALSA.
> > So should I merge fsl,imx-dsp-rproc.yaml to fsl,dsp.yaml?
>
> You can have 100 drivers for all I care, but it's 1 DT binding for 1
> piece of h/w.
>

Ok, I will merge it to fsl,dsp.yaml

Best regards
wang shengjiu
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/remoteproc/fsl,imx-dsp-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/fsl,imx-dsp-rproc.yaml
new file mode 100644
index 000000000000..98e70a47705a
--- /dev/null
+++ b/Documentation/devicetree/bindings/remoteproc/fsl,imx-dsp-rproc.yaml
@@ -0,0 +1,131 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/remoteproc/fsl,imx-dsp-rproc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: i.MX DSP Remoteproc Devices
+
+maintainers:
+  - Shengjiu Wang <shengjiu.wang@nxp.com>
+
+description:
+  This binding provides support for DSP processors found on i.MX family of SoCs
+
+properties:
+  compatible:
+    enum:
+      - fsl,imx8qxp-hifi4
+      - fsl,imx8qm-hifi4
+      - fsl,imx8mp-hifi4
+      - fsl,imx8ulp-hifi4
+
+  clocks:
+    description:
+      Main functional clock for the remote processor
+    minItems: 1
+    items:
+      - description: core clock
+      - description: internal memory clock
+      - description: debug interface clock
+      - description: network interconnect clock
+      - description: message unit clock
+
+  clock-names:
+    description: |
+      List of clock names for the remote processor.
+    minItems: 1
+    items:
+      - const: core
+      - const: ocram
+      - const: debug
+      - const: nic
+      - const: mu
+
+  fsl,dsp-ctrl:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description:
+      Phandle to syscon block which provide access for processor enablement
+
+  mbox-names:
+    items:
+      - const: tx
+      - const: rx
+      - const: rxdb
+
+  mboxes:
+    description:
+      This property is required only if the rpmsg/virtio functionality is used.
+      List of <&phandle type channel> - 1 channel for TX, 1 channel for RX, 1 channel for RXDB.
+      (see mailbox/fsl,mu.yaml)
+    minItems: 1
+    maxItems: 3
+
+  firmware-name:
+    description: |
+      Default name of the firmware to load to the remote processor.
+
+  memory-region:
+    description:
+      If present, a phandle for a reserved memory area that used for vdev buffer,
+      resource table, vring region and others used by remote processor.
+    minItems: 1
+    maxItems: 32
+
+  reg:
+    description: |
+      Address space for any remoteproc memories present on the SoC.
+
+  power-domains:
+    minItems: 1
+    maxItems: 32
+
+required:
+  - compatible
+  - reg
+  - mboxes
+  - mbox-names
+  - clocks
+  - clock-names
+  - firmware-name
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/imx8mp-clock.h>
+    dsp_reserved: dsp@92400000 {
+      reg = <0x92400000 0x1000000>;
+      no-map;
+    };
+    dsp_vdev0vring0: vdev0vring0@942f0000 {
+      reg = <0x942f0000 0x8000>;
+      no-map;
+    };
+    dsp_vdev0vring1: vdev0vring1@942f8000 {
+      reg = <0x942f8000 0x8000>;
+      no-map;
+    };
+    dsp_vdev0buffer: vdev0buffer@94300000 {
+      compatible = "shared-dma-pool";
+      reg = <0x94300000 0x100000>;
+      no-map;
+    };
+
+    dsp: dsp@3b6e8000 {
+      compatible = "fsl,imx8mp-hifi4";
+      reg = <0x3B6E8000 0x88000>;
+      clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_DSP_ROOT>,
+               <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_OCRAMA_IPG>,
+               <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_DSPDBG_ROOT>;
+      clock-names = "core", "ocram", "debug";
+      firmware-name = "imx/dsp/hifi4.bin";
+      power-domains = <&audiomix_pd>;
+      mbox-names = "tx", "rx", "rxdb";
+      mboxes = <&mu2 0 0>,
+               <&mu2 1 0>,
+               <&mu2 3 0>;
+      memory-region = <&dsp_vdev0buffer>, <&dsp_vdev0vring0>,
+                      <&dsp_vdev0vring1>, <&dsp_reserved>;
+      fsl,dsp-ctrl = <&audio_blk_ctrl>;
+    };