mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2 0/6] Configure imx8mp dsp node for rproc usage
@ 2024-11-25 15:24 Daniel Baluta
  2024-11-25 15:24 ` [PATCH v2 1/6] arm64: dts: imx8mp: Add mu2 root clock Daniel Baluta
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Daniel Baluta @ 2024-11-25 15:24 UTC (permalink / raw)
  To: shawnguo, s.hauer, kernel
  Cc: robh, krzk+dt, conor+dt, festevam, devicetree, imx,
	linux-arm-kernel, linux-kernel, frank.li, aisheng.dong,
	daniel.baluta, laurentiu.mihalcea, shengjiu.wang, iuliana.prodan,
	a.fatoum, Daniel Baluta

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 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 v1:
	- document syscon compatible as pointed by Peng Fan
        - do not disable dsp_reserved node in the dtsi file as pointed
          by Ahmad Fatoum.

Daniel Baluta (6):
  arm64: dts: imx8mp: Add mu2 root clock
  arm64: dts: imx8mp: Configure dsp node for rproc usage
  arm64: dts: imx8mp: Add DSP clocks
  dt-bindings: clock: imx8mp: Add syscon compatible
  arm64: dts: imx8mp: Add fsl,dsp-ctrl property for dsp
  arm64: dts: Add dsp rproc related mem regions

 .../bindings/clock/imx8mp-audiomix.yaml       |  4 +++-
 arch/arm64/boot/dts/freescale/imx8mp-evk.dts  | 10 +++++++++
 arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 22 ++++++++++++-------
 3 files changed, 27 insertions(+), 9 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH v2 1/6] arm64: dts: imx8mp: Add mu2 root clock
  2024-11-25 15:24 [PATCH v2 0/6] Configure imx8mp dsp node for rproc usage Daniel Baluta
@ 2024-11-25 15:24 ` Daniel Baluta
  2024-11-25 15:24 ` [PATCH v2 2/6] arm64: dts: imx8mp: Configure dsp node for rproc usage Daniel Baluta
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 12+ messages in thread
From: Daniel Baluta @ 2024-11-25 15:24 UTC (permalink / raw)
  To: shawnguo, s.hauer, kernel
  Cc: robh, krzk+dt, conor+dt, festevam, devicetree, imx,
	linux-arm-kernel, linux-kernel, frank.li, aisheng.dong,
	daniel.baluta, laurentiu.mihalcea, shengjiu.wang, iuliana.prodan,
	a.fatoum, Daniel Baluta

Enable MU2 node and add mu2 root clock.
MU2 is used to communicate with DSP core.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx8mp.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index e0d3b8cba221..00924e0836db 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -1252,7 +1252,7 @@ mu2: mailbox@30e60000 {
 				reg = <0x30e60000 0x10000>;
 				interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
 				#mbox-cells = <2>;
-				status = "disabled";
+				clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_MU2_ROOT>;
 			};
 
 			i2c5: i2c@30ad0000 {
-- 
2.43.0


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH v2 2/6] arm64: dts: imx8mp: Configure dsp node for rproc usage
  2024-11-25 15:24 [PATCH v2 0/6] Configure imx8mp dsp node for rproc usage Daniel Baluta
  2024-11-25 15:24 ` [PATCH v2 1/6] arm64: dts: imx8mp: Add mu2 root clock Daniel Baluta
@ 2024-11-25 15:24 ` Daniel Baluta
  2024-11-25 15:24 ` [PATCH v2 3/6] arm64: dts: imx8mp: Add DSP clocks Daniel Baluta
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 12+ messages in thread
From: Daniel Baluta @ 2024-11-25 15:24 UTC (permalink / raw)
  To: shawnguo, s.hauer, kernel
  Cc: robh, krzk+dt, conor+dt, festevam, devicetree, imx,
	linux-arm-kernel, linux-kernel, frank.li, aisheng.dong,
	daniel.baluta, laurentiu.mihalcea, shengjiu.wang, iuliana.prodan,
	a.fatoum, Daniel Baluta

DSP can be used with various frameworks (e.g audio firmware, rproc).
Currently 'dsp' configuration is intended for audio firmware but it
doesn't work well with board level DTs (e.g imx8mp-evk) because
board level DT enables audio related IPs (e.g SAI) while audio firmware
needs this IPs disabled (because firmware will configure them).

So, configure 'dsp' node to be used with rproc. This way users will be
able to use board DT to use the DSP as long as they don't clash with
Audio IP configurations.

More comples usage of 'dsp' node (e.g by audio firmware) will need to
create a separate dts file (or an overlay).

This change follows the approach taken for other i.MX8 boards
in commit 391a319c81f6d7 ("arm64: dts: imx8-ss-audio: configure dsp node
for rproc usage")

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx8mp.dtsi | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index 00924e0836db..2f94c55e4999 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -280,7 +280,7 @@ reserved-memory {
 		ranges;
 
 		dsp_reserved: dsp@92400000 {
-			reg = <0 0x92400000 0 0x2000000>;
+			reg = <0 0x92400000 0 0x1000000>;
 			no-map;
 			status = "disabled";
 		};
@@ -2414,12 +2414,12 @@ usb_dwc3_1: usb@38200000 {
 		};
 
 		dsp: dsp@3b6e8000 {
-			compatible = "fsl,imx8mp-dsp";
+			compatible = "fsl,imx8mp-hifi4";
 			reg = <0x3b6e8000 0x88000>;
-			mbox-names = "txdb0", "txdb1",
-				"rxdb0", "rxdb1";
-			mboxes = <&mu2 2 0>, <&mu2 2 1>,
-				<&mu2 3 0>, <&mu2 3 1>;
+			power-domains = <&pgc_audio>;
+			mbox-names = "tx", "rx", "rxdb";
+			mboxes = <&mu2 0 0>, <&mu2 1 0>, <&mu2 3 0>;
+			firmware-name = "imx/dsp/hifi4.bin";
 			memory-region = <&dsp_reserved>;
 			status = "disabled";
 		};
-- 
2.43.0


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH v2 3/6] arm64: dts: imx8mp: Add DSP clocks
  2024-11-25 15:24 [PATCH v2 0/6] Configure imx8mp dsp node for rproc usage Daniel Baluta
  2024-11-25 15:24 ` [PATCH v2 1/6] arm64: dts: imx8mp: Add mu2 root clock Daniel Baluta
  2024-11-25 15:24 ` [PATCH v2 2/6] arm64: dts: imx8mp: Configure dsp node for rproc usage Daniel Baluta
@ 2024-11-25 15:24 ` Daniel Baluta
  2024-11-25 15:24 ` [PATCH v2 4/6] dt-bindings: clock: imx8mp: Add syscon compatible Daniel Baluta
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 12+ messages in thread
From: Daniel Baluta @ 2024-11-25 15:24 UTC (permalink / raw)
  To: shawnguo, s.hauer, kernel
  Cc: robh, krzk+dt, conor+dt, festevam, devicetree, imx,
	linux-arm-kernel, linux-kernel, frank.li, aisheng.dong,
	daniel.baluta, laurentiu.mihalcea, shengjiu.wang, iuliana.prodan,
	a.fatoum, Daniel Baluta

DSP core needs ocram, core and debug clocks.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx8mp.dtsi | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index 2f94c55e4999..b42e6430123f 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -2416,6 +2416,11 @@ usb_dwc3_1: usb@38200000 {
 		dsp: dsp@3b6e8000 {
 			compatible = "fsl,imx8mp-hifi4";
 			reg = <0x3b6e8000 0x88000>;
+			clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_OCRAMA_IPG>,
+				<&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_OCRAMA_IPG>,
+				<&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_DSP_ROOT>,
+				<&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_DSPDBG_ROOT>;
+			clock-names = "ipg", "ocram", "core", "debug";
 			power-domains = <&pgc_audio>;
 			mbox-names = "tx", "rx", "rxdb";
 			mboxes = <&mu2 0 0>, <&mu2 1 0>, <&mu2 3 0>;
-- 
2.43.0


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH v2 4/6] dt-bindings: clock: imx8mp: Add syscon compatible
  2024-11-25 15:24 [PATCH v2 0/6] Configure imx8mp dsp node for rproc usage Daniel Baluta
                   ` (2 preceding siblings ...)
  2024-11-25 15:24 ` [PATCH v2 3/6] arm64: dts: imx8mp: Add DSP clocks Daniel Baluta
@ 2024-11-25 15:24 ` Daniel Baluta
  2024-11-25 16:25   ` Rob Herring (Arm)
  2024-11-25 17:08   ` Frank Li
  2024-11-25 15:24 ` [PATCH v2 5/6] arm64: dts: imx8mp: Add fsl,dsp-ctrl property for dsp Daniel Baluta
  2024-11-25 15:24 ` [PATCH v2 6/6] arm64: dts: Add dsp rproc related mem regions Daniel Baluta
  5 siblings, 2 replies; 12+ messages in thread
From: Daniel Baluta @ 2024-11-25 15:24 UTC (permalink / raw)
  To: shawnguo, s.hauer, kernel
  Cc: robh, krzk+dt, conor+dt, festevam, devicetree, imx,
	linux-arm-kernel, linux-kernel, frank.li, aisheng.dong,
	daniel.baluta, laurentiu.mihalcea, shengjiu.wang, iuliana.prodan,
	a.fatoum, Daniel Baluta

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


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH v2 5/6] arm64: dts: imx8mp: Add fsl,dsp-ctrl property for dsp
  2024-11-25 15:24 [PATCH v2 0/6] Configure imx8mp dsp node for rproc usage Daniel Baluta
                   ` (3 preceding siblings ...)
  2024-11-25 15:24 ` [PATCH v2 4/6] dt-bindings: clock: imx8mp: Add syscon compatible Daniel Baluta
@ 2024-11-25 15:24 ` Daniel Baluta
  2024-11-25 15:24 ` [PATCH v2 6/6] arm64: dts: Add dsp rproc related mem regions Daniel Baluta
  5 siblings, 0 replies; 12+ messages in thread
From: Daniel Baluta @ 2024-11-25 15:24 UTC (permalink / raw)
  To: shawnguo, s.hauer, kernel
  Cc: robh, krzk+dt, conor+dt, festevam, devicetree, imx,
	linux-arm-kernel, linux-kernel, frank.li, aisheng.dong,
	daniel.baluta, laurentiu.mihalcea, shengjiu.wang, iuliana.prodan,
	a.fatoum, Daniel Baluta

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(-)

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";
 		};
 	};
-- 
2.43.0


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH v2 6/6] arm64: dts: Add dsp rproc related mem regions
  2024-11-25 15:24 [PATCH v2 0/6] Configure imx8mp dsp node for rproc usage Daniel Baluta
                   ` (4 preceding siblings ...)
  2024-11-25 15:24 ` [PATCH v2 5/6] arm64: dts: imx8mp: Add fsl,dsp-ctrl property for dsp Daniel Baluta
@ 2024-11-25 15:24 ` Daniel Baluta
  2024-11-26  6:49   ` Ahmad Fatoum
  5 siblings, 1 reply; 12+ messages in thread
From: Daniel Baluta @ 2024-11-25 15:24 UTC (permalink / raw)
  To: shawnguo, s.hauer, kernel
  Cc: robh, krzk+dt, conor+dt, festevam, devicetree, imx,
	linux-arm-kernel, linux-kernel, frank.li, aisheng.dong,
	daniel.baluta, laurentiu.mihalcea, shengjiu.wang, iuliana.prodan,
	a.fatoum, Daniel Baluta

With imx8mp-evk board we are now configuring 'dsp' node for rproc usage,
so add rproc specific memory regions.

Also, enable dsp node because it is ready to be used.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
index d26930f1a9e9..c732ee79772d 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
@@ -291,6 +291,16 @@ &aud2htx {
 	status = "okay";
 };
 
+&dsp_reserved {
+	status = "okay";
+};
+
+&dsp {
+	memory-region = <&dsp_vdev0buffer>, <&dsp_vdev0vring0>,
+			<&dsp_vdev0vring1>, <&dsp_reserved>;
+	status = "okay";
+};
+
 &eqos {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_eqos>;
-- 
2.43.0


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 4/6] dt-bindings: clock: imx8mp: Add syscon compatible
  2024-11-25 15:24 ` [PATCH v2 4/6] dt-bindings: clock: imx8mp: Add syscon compatible Daniel Baluta
@ 2024-11-25 16:25   ` Rob Herring (Arm)
  2024-11-25 17:08   ` Frank Li
  1 sibling, 0 replies; 12+ messages in thread
From: Rob Herring (Arm) @ 2024-11-25 16:25 UTC (permalink / raw)
  To: Daniel Baluta
  Cc: kernel, linux-arm-kernel, iuliana.prodan, laurentiu.mihalcea,
	daniel.baluta, devicetree, festevam, conor+dt, aisheng.dong,
	krzk+dt, s.hauer, shawnguo, imx, shengjiu.wang, a.fatoum,
	frank.li, linux-kernel


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.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 4/6] dt-bindings: clock: imx8mp: Add syscon compatible
  2024-11-25 15:24 ` [PATCH v2 4/6] dt-bindings: clock: imx8mp: Add syscon compatible Daniel Baluta
  2024-11-25 16:25   ` Rob Herring (Arm)
@ 2024-11-25 17:08   ` Frank Li
  2024-11-26 15:31     ` Daniel Baluta
  1 sibling, 1 reply; 12+ messages in thread
From: Frank Li @ 2024-11-25 17:08 UTC (permalink / raw)
  To: Daniel Baluta
  Cc: shawnguo, s.hauer, kernel, robh, krzk+dt, conor+dt, festevam,
	devicetree, imx, linux-arm-kernel, linux-kernel, aisheng.dong,
	daniel.baluta, laurentiu.mihalcea, shengjiu.wang, iuliana.prodan,
	a.fatoum

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
>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 6/6] arm64: dts: Add dsp rproc related mem regions
  2024-11-25 15:24 ` [PATCH v2 6/6] arm64: dts: Add dsp rproc related mem regions Daniel Baluta
@ 2024-11-26  6:49   ` Ahmad Fatoum
  0 siblings, 0 replies; 12+ messages in thread
From: Ahmad Fatoum @ 2024-11-26  6:49 UTC (permalink / raw)
  To: Daniel Baluta, shawnguo, s.hauer, kernel
  Cc: robh, krzk+dt, conor+dt, festevam, devicetree, imx,
	linux-arm-kernel, linux-kernel, frank.li, aisheng.dong,
	daniel.baluta, laurentiu.mihalcea, shengjiu.wang, iuliana.prodan

On 25.11.24 16:24, Daniel Baluta wrote:
> With imx8mp-evk board we are now configuring 'dsp' node for rproc usage,
> so add rproc specific memory regions.
> 
> Also, enable dsp node because it is ready to be used.
> 
> Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>

Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de>

> ---
>  arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> index d26930f1a9e9..c732ee79772d 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts
> @@ -291,6 +291,16 @@ &aud2htx {
>  	status = "okay";
>  };
>  
> +&dsp_reserved {
> +	status = "okay";
> +};
> +
> +&dsp {
> +	memory-region = <&dsp_vdev0buffer>, <&dsp_vdev0vring0>,
> +			<&dsp_vdev0vring1>, <&dsp_reserved>;
> +	status = "okay";
> +};
> +
>  &eqos {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&pinctrl_eqos>;


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 4/6] dt-bindings: clock: imx8mp: Add syscon compatible
  2024-11-25 17:08   ` Frank Li
@ 2024-11-26 15:31     ` Daniel Baluta
  2024-11-26 16:36       ` Frank Li
  0 siblings, 1 reply; 12+ messages in thread
From: Daniel Baluta @ 2024-11-26 15:31 UTC (permalink / raw)
  To: Frank Li
  Cc: Daniel Baluta, shawnguo, s.hauer, kernel, robh, krzk+dt,
	conor+dt, festevam, devicetree, imx, linux-arm-kernel,
	linux-kernel, aisheng.dong, laurentiu.mihalcea, shengjiu.wang,
	iuliana.prodan, a.fatoum

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.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 4/6] dt-bindings: clock: imx8mp: Add syscon compatible
  2024-11-26 15:31     ` Daniel Baluta
@ 2024-11-26 16:36       ` Frank Li
  0 siblings, 0 replies; 12+ messages in thread
From: Frank Li @ 2024-11-26 16:36 UTC (permalink / raw)
  To: Daniel Baluta
  Cc: Daniel Baluta, shawnguo, s.hauer, kernel, robh, krzk+dt,
	conor+dt, festevam, devicetree, imx, linux-arm-kernel,
	linux-kernel, aisheng.dong, laurentiu.mihalcea, shengjiu.wang,
	iuliana.prodan, a.fatoum

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-11-26 16:36 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-11-25 15:24 [PATCH v2 0/6] Configure imx8mp dsp node for rproc usage Daniel Baluta
2024-11-25 15:24 ` [PATCH v2 1/6] arm64: dts: imx8mp: Add mu2 root clock Daniel Baluta
2024-11-25 15:24 ` [PATCH v2 2/6] arm64: dts: imx8mp: Configure dsp node for rproc usage Daniel Baluta
2024-11-25 15:24 ` [PATCH v2 3/6] arm64: dts: imx8mp: Add DSP clocks Daniel Baluta
2024-11-25 15:24 ` [PATCH v2 4/6] dt-bindings: clock: imx8mp: Add syscon compatible Daniel Baluta
2024-11-25 16:25   ` Rob Herring (Arm)
2024-11-25 17:08   ` Frank Li
2024-11-26 15:31     ` Daniel Baluta
2024-11-26 16:36       ` Frank Li
2024-11-25 15:24 ` [PATCH v2 5/6] arm64: dts: imx8mp: Add fsl,dsp-ctrl property for dsp Daniel Baluta
2024-11-25 15:24 ` [PATCH v2 6/6] arm64: dts: Add dsp rproc related mem regions Daniel Baluta
2024-11-26  6:49   ` Ahmad Fatoum

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®