[PATCH v2 4/6] dt-bindings: clock: imx8mp: Add syscon compatible

Daniel Baluta posted 6 patches 1 year, 2 months ago
There is a newer version of this series
[PATCH v2 4/6] dt-bindings: clock: imx8mp: Add syscon compatible
Posted by Daniel Baluta 1 year, 2 months ago
imx8mp audiomix contains a set of registers used to control
the DSP.

The dsp will use this to acquire o reference to audiomix registers
and handle the registers to control the dsp.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
---
 Documentation/devicetree/bindings/clock/imx8mp-audiomix.yaml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/clock/imx8mp-audiomix.yaml b/Documentation/devicetree/bindings/clock/imx8mp-audiomix.yaml
index 6588a17a7d9a..f368682f3633 100644
--- a/Documentation/devicetree/bindings/clock/imx8mp-audiomix.yaml
+++ b/Documentation/devicetree/bindings/clock/imx8mp-audiomix.yaml
@@ -15,7 +15,9 @@ description: |
 
 properties:
   compatible:
-    const: fsl,imx8mp-audio-blk-ctrl
+    items:
+      - const: fsl,imx8mp-audio-blk-ctrl
+      - const: syscon
 
   reg:
     maxItems: 1
-- 
2.43.0
Re: [PATCH v2 4/6] dt-bindings: clock: imx8mp: Add syscon compatible
Posted by Frank Li 1 year, 2 months ago
On Mon, Nov 25, 2024 at 05:24:24PM +0200, Daniel Baluta wrote:
> imx8mp audiomix contains a set of registers used to control
> the DSP.
>
> The dsp will use this to acquire o reference to audiomix registers
> and handle the registers to control the dsp.

Look like this is NOT good method to direct operate these register. If it
is reset, you should export it as reset interface. If it is clock, you
should export it as clock interface.

Frank

>
> Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
> ---
>  Documentation/devicetree/bindings/clock/imx8mp-audiomix.yaml | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/clock/imx8mp-audiomix.yaml b/Documentation/devicetree/bindings/clock/imx8mp-audiomix.yaml
> index 6588a17a7d9a..f368682f3633 100644
> --- a/Documentation/devicetree/bindings/clock/imx8mp-audiomix.yaml
> +++ b/Documentation/devicetree/bindings/clock/imx8mp-audiomix.yaml
> @@ -15,7 +15,9 @@ description: |
>
>  properties:
>    compatible:
> -    const: fsl,imx8mp-audio-blk-ctrl
> +    items:
> +      - const: fsl,imx8mp-audio-blk-ctrl
> +      - const: syscon
>
>    reg:
>      maxItems: 1
> --
> 2.43.0
>
Re: [PATCH v2 4/6] dt-bindings: clock: imx8mp: Add syscon compatible
Posted by Daniel Baluta 1 year, 2 months ago
On Mon, Nov 25, 2024 at 7:08 PM Frank Li <Frank.li@nxp.com> wrote:
>
> On Mon, Nov 25, 2024 at 05:24:24PM +0200, Daniel Baluta wrote:
> > imx8mp audiomix contains a set of registers used to control
> > the DSP.
> >
> > The dsp will use this to acquire o reference to audiomix registers
> > and handle the registers to control the dsp.
>
> Look like this is NOT good method to direct operate these register. If it
> is reset, you should export it as reset interface. If it is clock, you
> should export it as clock interface.


Hi Frank,

The code to handle this is already upstream and used for:

Remoteproc

https://elixir.bootlin.com/linux/v6.12/source/drivers/remoteproc/imx_dsp_rproc.c#L991

and Sound Open Firmware

https://elixir.bootlin.com/linux/v6.12/source/sound/soc/sof/imx/imx8m.c#L237

I'm not sure if it worths the effort to refactor this for such a
simple operation.
Re: [PATCH v2 4/6] dt-bindings: clock: imx8mp: Add syscon compatible
Posted by Frank Li 1 year, 2 months ago
On Tue, Nov 26, 2024 at 05:31:21PM +0200, Daniel Baluta wrote:
> On Mon, Nov 25, 2024 at 7:08 PM Frank Li <Frank.li@nxp.com> wrote:
> >
> > On Mon, Nov 25, 2024 at 05:24:24PM +0200, Daniel Baluta wrote:
> > > imx8mp audiomix contains a set of registers used to control
> > > the DSP.
> > >
> > > The dsp will use this to acquire o reference to audiomix registers
> > > and handle the registers to control the dsp.
> >
> > Look like this is NOT good method to direct operate these register. If it
> > is reset, you should export it as reset interface. If it is clock, you
> > should export it as clock interface.
>
>
> Hi Frank,
>
> The code to handle this is already upstream and used for:
>
> Remoteproc
>
> https://elixir.bootlin.com/linux/v6.12/source/drivers/remoteproc/imx_dsp_rproc.c#L991
>
> and Sound Open Firmware
>
> https://elixir.bootlin.com/linux/v6.12/source/sound/soc/sof/imx/imx8m.c#L237
>
> I'm not sure if it worths the effort to refactor this for such a
> simple operation.

It is up to Rob's opinion.

Frank
Re: [PATCH v2 4/6] dt-bindings: clock: imx8mp: Add syscon compatible
Posted by Rob Herring (Arm) 1 year, 2 months ago
On Mon, 25 Nov 2024 17:24:24 +0200, Daniel Baluta wrote:
> imx8mp audiomix contains a set of registers used to control
> the DSP.
> 
> The dsp will use this to acquire o reference to audiomix registers
> and handle the registers to control the dsp.
> 
> Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
> ---
>  Documentation/devicetree/bindings/clock/imx8mp-audiomix.yaml | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/clock/imx8mp-audiomix.example.dtb: clock-controller@30e20000: compatible: ['fsl,imx8mp-audio-blk-ctrl'] is too short
	from schema $id: http://devicetree.org/schemas/clock/imx8mp-audiomix.yaml#

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20241125152427.136883-5-daniel.baluta@nxp.com

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.