Message ID | 20241210125338.104959-6-daniel.baluta@nxp.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Configure imx8mp dsp node for rproc usage | expand |
On Tue, Dec 10, 2024 at 02:53:37PM +0200, Daniel Baluta wrote: > Audio block control contains a set of registers some of them used for > DSP configuration. > > Drivers (rproc, SOF) are using fsl,dsp-ctrl property to access those > registers in order to control the operations of the DSP (e.g for > start, reset, etc). This should have been implemented as reset controller, not syscon. It's really poor choice to call everything syscon. It does not scale, does not provide you runtime PM or probe ordering (device links). Quick look at your drivers suggest that you have exacvtly that problems. Best regards, Krzysztof
diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi index b42e6430123f..c8f9347d602c 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi @@ -1609,7 +1609,7 @@ sdma2: dma-controller@30e10000 { }; audio_blk_ctrl: clock-controller@30e20000 { - compatible = "fsl,imx8mp-audio-blk-ctrl"; + compatible = "fsl,imx8mp-audio-blk-ctrl", "syscon"; reg = <0x30e20000 0x10000>; #clock-cells = <1>; #reset-cells = <1>; @@ -2426,6 +2426,7 @@ dsp: dsp@3b6e8000 { mboxes = <&mu2 0 0>, <&mu2 1 0>, <&mu2 3 0>; firmware-name = "imx/dsp/hifi4.bin"; memory-region = <&dsp_reserved>; + fsl,dsp-ctrl = <&audio_blk_ctrl>; status = "disabled"; }; };
Audio block control contains a set of registers some of them used for DSP configuration. Drivers (rproc, SOF) are using fsl,dsp-ctrl property to access those registers in order to control the operations of the DSP (e.g for start, reset, etc). Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com> --- arch/arm64/boot/dts/freescale/imx8mp.dtsi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)