mbox series

[v5,0/5] Configure imx8mp dsp node for rproc usage

Message ID 20250317133306.2003909-1-daniel.baluta@nxp.com (mailing list archive)
Headers show
Series Configure imx8mp dsp node for rproc usage | expand

Message

Daniel Baluta March 17, 2025, 1:33 p.m. UTC
DSP found in i.MX8MP SOC can be used by multiple frameworks in order to
enable various applications:
        - rproc/rpmsg framework, used to load for example Zephyr samples
        - Sound Open Firmware, used to enable various audio processing
          pipelines.

Current dsp node was configured with SOF in mind but it doesn't work
well with imx8mp-evk dts. SOF controls audio IPs from firmware side
while imx8mp-evk.dts preffers to control audio IPs from Linux side.

So, configure 'dsp' node to be used with rproc scenario and later will
add a separate dts or an overlay to configure the node for SOF.

This patch series configures and enables dsp node to be used with rproc.

Changes since v4:
(https://lore.kernel.org/linux-arm-kernel/Z6zGLn3B6SVXhTV1@lizhi-Precision-Tower-5810/T/)
	- after comments received on v4, we implemented the run/stall
	  bits using reset controller API (changes merged ->
https://patchwork.kernel.org/project/linux-arm-kernel/cover/20250311085812.1296243-1-daniel.baluta@nxp.com/)
        - drop patches related to DSP run/stall/reset via syscon
	- picked up patch related to using run_stall via reset
	  controller API.

Daniel Baluta (5):
  arm64: dts: imx8mp: Use resets property
  arm64: dts: imx8mp: Add mu2 root clock
  arm64: dts: imx8mp: Configure dsp node for rproc usage
  arm64: dts: imx8mp: Add DSP clocks
  arm64: dts: Add dsp rproc related mem regions

 arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 10 +++++++++
 arch/arm64/boot/dts/freescale/imx8mp.dtsi    | 22 +++++++++++++-------
 2 files changed, 25 insertions(+), 7 deletions(-)

Comments

Rob Herring (Arm) March 17, 2025, 8:37 p.m. UTC | #1
On Mon, 17 Mar 2025 15:33:01 +0200, Daniel Baluta wrote:
> DSP found in i.MX8MP SOC can be used by multiple frameworks in order to
> enable various applications:
>         - rproc/rpmsg framework, used to load for example Zephyr samples
>         - Sound Open Firmware, used to enable various audio processing
>           pipelines.
> 
> Current dsp node was configured with SOF in mind but it doesn't work
> well with imx8mp-evk dts. SOF controls audio IPs from firmware side
> while imx8mp-evk.dts preffers to control audio IPs from Linux side.
> 
> So, configure 'dsp' node to be used with rproc scenario and later will
> add a separate dts or an overlay to configure the node for SOF.
> 
> This patch series configures and enables dsp node to be used with rproc.
> 
> Changes since v4:
> (https://lore.kernel.org/linux-arm-kernel/Z6zGLn3B6SVXhTV1@lizhi-Precision-Tower-5810/T/)
> 	- after comments received on v4, we implemented the run/stall
> 	  bits using reset controller API (changes merged ->
> https://patchwork.kernel.org/project/linux-arm-kernel/cover/20250311085812.1296243-1-daniel.baluta@nxp.com/)
>         - drop patches related to DSP run/stall/reset via syscon
> 	- picked up patch related to using run_stall via reset
> 	  controller API.
> 
> Daniel Baluta (5):
>   arm64: dts: imx8mp: Use resets property
>   arm64: dts: imx8mp: Add mu2 root clock
>   arm64: dts: imx8mp: Configure dsp node for rproc usage
>   arm64: dts: imx8mp: Add DSP clocks
>   arm64: dts: Add dsp rproc related mem regions
> 
>  arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 10 +++++++++
>  arch/arm64/boot/dts/freescale/imx8mp.dtsi    | 22 +++++++++++++-------
>  2 files changed, 25 insertions(+), 7 deletions(-)
> 
> --
> 2.43.0
> 
> 
> 


My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

  pip3 install dtschema --upgrade


New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/freescale/' for 20250317133306.2003909-1-daniel.baluta@nxp.com:

arch/arm64/boot/dts/freescale/imx8mp-aristainetos3-proton2s.dtb: dsp@3b6e8000: memory-region: [[142]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dtb: dsp@3b6e8000: memory-region: [[105]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-dhcom-pdk3.dtb: dsp@3b6e8000: memory-region: [[156]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-venice-gw72xx-2x.dtb: dsp@3b6e8000: memory-region: [[127]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-verdin-nonwifi-dahlia.dtb: dsp@3b6e8000: memory-region: [[164]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-icore-mx8mp-edimm2.2.dtb: dsp@3b6e8000: memory-region: [[102]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-venice-gw73xx-2x.dtb: dsp@3b6e8000: memory-region: [[129]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-skov-revb-lt6.dtb: dsp@3b6e8000: memory-region: [[132]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-debix-som-a-bmb-08.dtb: dsp@3b6e8000: memory-region: [[118]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi-dev.dtb: dsp@3b6e8000: memory-region: [[165]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-nitrogen-smarc-universal-board.dtb: dsp@3b6e8000: memory-region: [[105]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-msc-sm2s-ep1.dtb: dsp@3b6e8000: memory-region: [[140]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-aristainetos3-adpismarc.dtb: dsp@3b6e8000: memory-region: [[142]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi-ivy.dtb: dsp@3b6e8000: memory-region: [[162]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-venice-gw71xx-2x.dtb: dsp@3b6e8000: memory-region: [[120]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi-yavia.dtb: dsp@3b6e8000: memory-region: [[163]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-kontron-smarc-eval-carrier.dtb: dsp@3b6e8000: memory-region: [[155]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi-mallow.dtb: dsp@3b6e8000: memory-region: [[164]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-debix-model-a.dtb: dsp@3b6e8000: memory-region: [[119]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-verdin-nonwifi-yavia.dtb: dsp@3b6e8000: memory-region: [[158]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-skov-revb-mi1010ait-1cp1.dtb: dsp@3b6e8000: memory-region: [[131]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-navqp.dtb: dsp@3b6e8000: memory-region: [[111]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-skov-revb-hdmi.dtb: dsp@3b6e8000: memory-region: [[134]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dtb: dsp@3b6e8000: memory-region: [[130]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-dhcom-pdk2.dtb: dsp@3b6e8000: memory-region: [[152]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-skov-revc-bd500.dtb: dsp@3b6e8000: memory-region: [[130]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-beacon-kit.dtb: dsp@3b6e8000: memory-region: [[148]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dtb: dsp@3b6e8000: memory-region: [[136]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-aristainetos3-helios.dtb: dsp@3b6e8000: memory-region: [[142]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi-dahlia.dtb: dsp@3b6e8000: memory-region: [[169]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314.dtb: dsp@3b6e8000: memory-region: [[156]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-dhcom-drc02.dtb: dsp@3b6e8000: memory-region: [[160]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-verdin-nonwifi-ivy.dtb: dsp@3b6e8000: memory-region: [[157]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-verdin-nonwifi-mallow.dtb: dsp@3b6e8000: memory-region: [[159]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mpxl.dtb: dsp@3b6e8000: memory-region: [[153]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-kontron-bl-osm-s.dtb: dsp@3b6e8000: memory-region: [[150]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-venice-gw82xx-2x.dtb: dsp@3b6e8000: memory-region: [[132]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-venice-gw75xx-2x.dtb: dsp@3b6e8000: memory-region: [[123]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-data-modul-edm-sbc.dtb: dsp@3b6e8000: memory-region: [[144]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-verdin-nonwifi-dev.dtb: dsp@3b6e8000: memory-region: [[160]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-skov-revc-tian-g07017.dtb: dsp@3b6e8000: memory-region: [[131]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-iota2-lumpy.dtb: dsp@3b6e8000: memory-region: [[107]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-dhcom-picoitx.dtb: dsp@3b6e8000: memory-region: [[158]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#
arch/arm64/boot/dts/freescale/imx8mp-skov-basic.dtb: dsp@3b6e8000: memory-region: [[129]] is too short
	from schema $id: http://devicetree.org/schemas/dsp/fsl,dsp.yaml#