Re: [PATCH v3 2/8] dt-bindings: dsp: fsl,dsp: Add resets property

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Di, 2025-02-25 at 12:19 +0200, Daniel Baluta wrote:
> 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 for 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.
> 
> [1] https://patchwork.kernel.org/project/imx/patch/20250212085222.107102-6-daniel.baluta@xxxxxxx/
> 
> Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxx>
> Reviewed-by: Frank Li <Frank.Li@xxxxxxx>
> ---
>  .../devicetree/bindings/dsp/fsl,dsp.yaml         | 16 +++++++++++++++-
>  1 file changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml b/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
> index ab93ffd3d2e5..b3550c9d12e7 100644
> --- a/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
> +++ b/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
> @@ -82,6 +82,9 @@ properties:
>      description:
>        Phandle to syscon block which provide access for processor enablement
>  
> +  resets:
> +    maxItems: 1

The DAP core reset is mentioned in the commit message. Why is it
missing here? After reading the discussion in [1], I'd expect both the
stall and the (core) reset signal to be documented, something like:

  resets:
    maxItems: 2

  reset-names:
    items:
      - const: core
      - const: stall

> +
>  required:
>    - compatible
>    - reg
> @@ -164,6 +167,16 @@ allOf:
>              - const: txdb1
>              - const: rxdb0
>              - const: rxdb1
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - fsl,imx8mp-dsp
> +              - fsl,imx8mp-hifi4
> +    then:
> +      required:
> +        - resets
>  
>  additionalProperties: false
>  
> @@ -186,6 +199,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 +234,5 @@ examples:
>                 <&mu2 3 0>;
>        memory-region = <&dsp_vdev0buffer>, <&dsp_vdev0vring0>,
>                        <&dsp_vdev0vring1>, <&dsp_reserved>;
> -      fsl,dsp-ctrl = <&audio_blk_ctrl>;

Is there nothing else in this range that will have to be controlled by
the DSP driver in the future, such as the IMPWIRE register or the
XOCDMODE[OCDHALTONRESET] bit?

regards
Philipp





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux