Commit e1b31235 authored by Daniel Baluta's avatar Daniel Baluta Committed by Mathieu Poirier
Browse files

dt-bindings: dsp: fsl,dsp: Add resets property

Assert and deassert functionality of the DSP found on i.MX8MP is
realized by combining control bits from two modules: Audio Block
Control and Debug Access Port.

Audio block control bits are used to Run/Stall the DSP core
while the DAP bits are used for software reset the core.

The original plan was to use fsl,dsp-ctrl property and to refer the
audiomix bits via syscon interface. This proposal received NACK from
community we shouldn't abuse the syscon interface [1].

So remove fsl,dsp-ctrl property for i.MX8MP and use reset control
interface instead.

Example dts node only uses runstall control now, but softreset will
be added in the future when we will convert the softreset functionality
to use reset controller API.

[1] https://patchwork.kernel.org/project/imx/patch/20250212085222.107102-6-daniel.baluta@nxp.com/



Reviewed-by: default avatarRob Herring (Arm) <robh@kernel.org>
Reviewed-by: default avatarFrank Li <Frank.Li@nxp.com>
Signed-off-by: default avatarDaniel Baluta <daniel.baluta@nxp.com>
Acked-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
Link: https://lore.kernel.org/r/20250311085812.1296243-3-daniel.baluta@nxp.com


Signed-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
parent cd9ccebf
Loading
Loading
Loading
Loading
+23 −1
Original line number Diff line number Diff line
@@ -82,6 +82,15 @@ properties:
    description:
      Phandle to syscon block which provide access for processor enablement

  resets:
    minItems: 1

  reset-names:
    minItems: 1
    items:
      - const: runstall
      - const: softreset

required:
  - compatible
  - reg
@@ -164,6 +173,17 @@ allOf:
            - const: txdb1
            - const: rxdb0
            - const: rxdb1
  - if:
      properties:
        compatible:
          contains:
            enum:
              - fsl,imx8mp-dsp
              - fsl,imx8mp-hifi4
    then:
      required:
        - resets
        - reset-names

additionalProperties: false

@@ -186,6 +206,7 @@ examples:
    };
  - |
    #include <dt-bindings/clock/imx8mp-clock.h>
    #include <dt-bindings/reset/imx8mp-reset-audiomix.h>
    dsp_reserved: dsp@92400000 {
      reg = <0x92400000 0x1000000>;
      no-map;
@@ -220,5 +241,6 @@ examples:
               <&mu2 3 0>;
      memory-region = <&dsp_vdev0buffer>, <&dsp_vdev0vring0>,
                      <&dsp_vdev0vring1>, <&dsp_reserved>;
      fsl,dsp-ctrl = <&audio_blk_ctrl>;
      resets = <&audio_blk_ctrl IMX8MP_AUDIOMIX_DSP_RUNSTALL>;
      reset-names = "runstall";
    };