All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] Add DSP node for imx8ulp
@ 2024-04-18 20:37 ` Laurentiu Mihalcea
  0 siblings, 0 replies; 24+ messages in thread
From: Laurentiu Mihalcea @ 2024-04-18 20:37 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Daniel Baluta, Shengjiu Wang, Liu Ying
  Cc: Laurentiu Mihalcea, devicetree, imx, linux-kernel, linux-arm-kernel

From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>

Add devicetree node for imx8ulp's DSP core. Also,
update the schema for the DSP node to accomodate
the clocks used by it and add a new schema for its
syscon type node dependency.

Laurentiu Mihalcea (3):
  dt-bindings: dsp: support imx8ulp dsp clocks
  dt-bindings: mfd: add schema for 8ulp AVD-SIM
  arm64: dts: imx8ulp: add DSP node

 .../devicetree/bindings/dsp/fsl,dsp.yaml      | 51 ++++++++++++++-----
 .../bindings/mfd/fsl,imx8ulp-avd-sim.yaml     | 42 +++++++++++++++
 arch/arm64/boot/dts/freescale/imx8ulp-evk.dts | 39 ++++++++++++++
 arch/arm64/boot/dts/freescale/imx8ulp.dtsi    | 22 ++++++++
 4 files changed, 142 insertions(+), 12 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml

-- 
2.34.1


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

* [PATCH 0/3] Add DSP node for imx8ulp
@ 2024-04-18 20:37 ` Laurentiu Mihalcea
  0 siblings, 0 replies; 24+ messages in thread
From: Laurentiu Mihalcea @ 2024-04-18 20:37 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Daniel Baluta, Shengjiu Wang, Liu Ying
  Cc: Laurentiu Mihalcea, devicetree, imx, linux-kernel, linux-arm-kernel

From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>

Add devicetree node for imx8ulp's DSP core. Also,
update the schema for the DSP node to accomodate
the clocks used by it and add a new schema for its
syscon type node dependency.

Laurentiu Mihalcea (3):
  dt-bindings: dsp: support imx8ulp dsp clocks
  dt-bindings: mfd: add schema for 8ulp AVD-SIM
  arm64: dts: imx8ulp: add DSP node

 .../devicetree/bindings/dsp/fsl,dsp.yaml      | 51 ++++++++++++++-----
 .../bindings/mfd/fsl,imx8ulp-avd-sim.yaml     | 42 +++++++++++++++
 arch/arm64/boot/dts/freescale/imx8ulp-evk.dts | 39 ++++++++++++++
 arch/arm64/boot/dts/freescale/imx8ulp.dtsi    | 22 ++++++++
 4 files changed, 142 insertions(+), 12 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml

-- 
2.34.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 1/3] dt-bindings: dsp: support imx8ulp dsp clocks
  2024-04-18 20:37 ` Laurentiu Mihalcea
@ 2024-04-18 20:37   ` Laurentiu Mihalcea
  -1 siblings, 0 replies; 24+ messages in thread
From: Laurentiu Mihalcea @ 2024-04-18 20:37 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Daniel Baluta, Shengjiu Wang, Liu Ying
  Cc: Laurentiu Mihalcea, devicetree, imx, linux-kernel, linux-arm-kernel

From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>

i.MX8ULP DSP node needs a MU clock, but doesn't need
a debug clock. Change "clocks" and "clock-names" properties
to allow for this case.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
---
 .../devicetree/bindings/dsp/fsl,dsp.yaml      | 51 ++++++++++++++-----
 1 file changed, 39 insertions(+), 12 deletions(-)

diff --git a/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml b/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
index 9af40da5688e..4a39d57b1cc6 100644
--- a/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
+++ b/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
@@ -30,22 +30,12 @@ properties:
     maxItems: 1
 
   clocks:
-    items:
-      - description: ipg clock
-      - description: ocram clock
-      - description: core clock
-      - description: debug interface clock
-      - description: message unit clock
     minItems: 3
+    maxItems: 5
 
   clock-names:
-    items:
-      - const: ipg
-      - const: ocram
-      - const: core
-      - const: debug
-      - const: mu
     minItems: 3
+    maxItems: 5
 
   power-domains:
     description:
@@ -93,6 +83,43 @@ required:
   - memory-region
 
 allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: fsl,imx8ulp-hifi4
+    then:
+      properties:
+        clocks:
+          items:
+            - description: ipg clock
+            - description: ocram clock
+            - description: core clock
+            - description: message unit clock
+        clock-names:
+          items:
+            - const: ipg
+            - const: ocram
+            - const: core
+            - const: mu
+    else:
+      properties:
+        clocks:
+          items:
+            - description: ipg clock
+            - description: ocram clock
+            - description: core clock
+            - description: debug interface clock
+            - description: message unit clock
+          minItems: 3
+        clock-names:
+          items:
+            - const: ipg
+            - const: ocram
+            - const: core
+            - const: debug
+            - const: mu
+          minItems: 3
   - if:
       properties:
         compatible:
-- 
2.34.1


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

* [PATCH 1/3] dt-bindings: dsp: support imx8ulp dsp clocks
@ 2024-04-18 20:37   ` Laurentiu Mihalcea
  0 siblings, 0 replies; 24+ messages in thread
From: Laurentiu Mihalcea @ 2024-04-18 20:37 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Daniel Baluta, Shengjiu Wang, Liu Ying
  Cc: Laurentiu Mihalcea, devicetree, imx, linux-kernel, linux-arm-kernel

From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>

i.MX8ULP DSP node needs a MU clock, but doesn't need
a debug clock. Change "clocks" and "clock-names" properties
to allow for this case.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
---
 .../devicetree/bindings/dsp/fsl,dsp.yaml      | 51 ++++++++++++++-----
 1 file changed, 39 insertions(+), 12 deletions(-)

diff --git a/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml b/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
index 9af40da5688e..4a39d57b1cc6 100644
--- a/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
+++ b/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
@@ -30,22 +30,12 @@ properties:
     maxItems: 1
 
   clocks:
-    items:
-      - description: ipg clock
-      - description: ocram clock
-      - description: core clock
-      - description: debug interface clock
-      - description: message unit clock
     minItems: 3
+    maxItems: 5
 
   clock-names:
-    items:
-      - const: ipg
-      - const: ocram
-      - const: core
-      - const: debug
-      - const: mu
     minItems: 3
+    maxItems: 5
 
   power-domains:
     description:
@@ -93,6 +83,43 @@ required:
   - memory-region
 
 allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: fsl,imx8ulp-hifi4
+    then:
+      properties:
+        clocks:
+          items:
+            - description: ipg clock
+            - description: ocram clock
+            - description: core clock
+            - description: message unit clock
+        clock-names:
+          items:
+            - const: ipg
+            - const: ocram
+            - const: core
+            - const: mu
+    else:
+      properties:
+        clocks:
+          items:
+            - description: ipg clock
+            - description: ocram clock
+            - description: core clock
+            - description: debug interface clock
+            - description: message unit clock
+          minItems: 3
+        clock-names:
+          items:
+            - const: ipg
+            - const: ocram
+            - const: core
+            - const: debug
+            - const: mu
+          minItems: 3
   - if:
       properties:
         compatible:
-- 
2.34.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 2/3] dt-bindings: mfd: add schema for 8ulp AVD-SIM
  2024-04-18 20:37 ` Laurentiu Mihalcea
@ 2024-04-18 20:37   ` Laurentiu Mihalcea
  -1 siblings, 0 replies; 24+ messages in thread
From: Laurentiu Mihalcea @ 2024-04-18 20:37 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Daniel Baluta, Shengjiu Wang, Liu Ying
  Cc: Laurentiu Mihalcea, devicetree, imx, linux-kernel, linux-arm-kernel

From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>

Add schema for i.MX8ULP's AVD-SIM module.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
---
 .../bindings/mfd/fsl,imx8ulp-avd-sim.yaml     | 42 +++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml

diff --git a/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml b/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
new file mode 100644
index 000000000000..4020c6e37f80
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
@@ -0,0 +1,42 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/fsl,imx8ulp-avd-sim.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NXP i.MX8ULP Audio-Video Domain System Integration Module
+
+maintainers:
+  - Liu Ying <victor.liu@nxp.com>
+
+description: |
+  The AVD-SIM module provides configuration options for components of AVD.
+
+properties:
+  compatible:
+    items:
+      - const: fsl,imx8ulp-avd-sim
+      - const: syscon
+      - const: simple-mfd
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+  - clocks
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/imx8ulp-clock.h>
+    avd_sim: syscon@2da50000 {
+        compatible = "fsl,imx8ulp-avd-sim", "syscon", "simple-mfd";
+        reg = <0x2da50000 0x38>;
+        clocks = <&pcc5 IMX8ULP_CLK_AVD_SIM>;
+    };
-- 
2.34.1


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

* [PATCH 2/3] dt-bindings: mfd: add schema for 8ulp AVD-SIM
@ 2024-04-18 20:37   ` Laurentiu Mihalcea
  0 siblings, 0 replies; 24+ messages in thread
From: Laurentiu Mihalcea @ 2024-04-18 20:37 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Daniel Baluta, Shengjiu Wang, Liu Ying
  Cc: Laurentiu Mihalcea, devicetree, imx, linux-kernel, linux-arm-kernel

From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>

Add schema for i.MX8ULP's AVD-SIM module.

Signed-off-by: Liu Ying <victor.liu@nxp.com>
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
---
 .../bindings/mfd/fsl,imx8ulp-avd-sim.yaml     | 42 +++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml

diff --git a/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml b/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
new file mode 100644
index 000000000000..4020c6e37f80
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
@@ -0,0 +1,42 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/fsl,imx8ulp-avd-sim.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NXP i.MX8ULP Audio-Video Domain System Integration Module
+
+maintainers:
+  - Liu Ying <victor.liu@nxp.com>
+
+description: |
+  The AVD-SIM module provides configuration options for components of AVD.
+
+properties:
+  compatible:
+    items:
+      - const: fsl,imx8ulp-avd-sim
+      - const: syscon
+      - const: simple-mfd
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+  - clocks
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/imx8ulp-clock.h>
+    avd_sim: syscon@2da50000 {
+        compatible = "fsl,imx8ulp-avd-sim", "syscon", "simple-mfd";
+        reg = <0x2da50000 0x38>;
+        clocks = <&pcc5 IMX8ULP_CLK_AVD_SIM>;
+    };
-- 
2.34.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 3/3] arm64: dts: imx8ulp: add DSP node
  2024-04-18 20:37 ` Laurentiu Mihalcea
@ 2024-04-18 20:37   ` Laurentiu Mihalcea
  -1 siblings, 0 replies; 24+ messages in thread
From: Laurentiu Mihalcea @ 2024-04-18 20:37 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Daniel Baluta, Shengjiu Wang, Liu Ying
  Cc: Laurentiu Mihalcea, devicetree, imx, linux-kernel, linux-arm-kernel

From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>

Add node for i.MX8ULP's DSP core and its dependencies.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx8ulp-evk.dts | 39 +++++++++++++++++++
 arch/arm64/boot/dts/freescale/imx8ulp.dtsi    | 22 +++++++++++
 2 files changed, 61 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8ulp-evk.dts b/arch/arm64/boot/dts/freescale/imx8ulp-evk.dts
index 24bb253b938d..5dadcbba370d 100644
--- a/arch/arm64/boot/dts/freescale/imx8ulp-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8ulp-evk.dts
@@ -67,6 +67,32 @@ vdevbuffer: vdevbuffer@a8400000 {
 			reg = <0 0xa8400000 0 0x100000>;
 			no-map;
 		};
+
+		dsp_reserved: dsp_reserved@8e000000 {
+			reg = <0 0x8e000000 0 0x1000000>;
+			no-map;
+		};
+
+		dsp_reserved_heap: dsp_reserved_heap@8f000000 {
+			reg = <0 0x8f000000 0 0xef0000>;
+			no-map;
+		};
+
+		dsp_vdev0vring0: vdev0vring0@8fef0000 {
+			reg = <0 0x8fef0000 0 0x8000>;
+			no-map;
+		};
+
+		dsp_vdev0vring1: vdev0vring1@8fef8000 {
+			reg = <0 0x8fef8000 0 0x8000>;
+			no-map;
+		};
+
+		dsp_vdev0buffer: vdev0buffer@8ff00000 {
+			compatible = "shared-dma-pool";
+			reg = <0 0x8ff00000 0 0x100000>;
+			no-map;
+		};
 	};
 
 	clock_ext_rmii: clock-ext-rmii {
@@ -95,6 +121,15 @@ &cm33 {
 	status = "okay";
 };
 
+&dsp {
+	assigned-clocks = <&cgc2 IMX8ULP_CLK_HIFI_SEL>, <&cgc2 IMX8ULP_CLK_HIFI_DIVCORE>;
+	assigned-clock-parents = <&cgc2 IMX8ULP_CLK_PLL4_PFD0>;
+	assigned-clock-rates = <0>, <475200000>;
+	memory-region = <&dsp_vdev0buffer>, <&dsp_vdev0vring0>,
+			<&dsp_vdev0vring1>, <&dsp_reserved>;
+	status = "okay";
+};
+
 &flexspi2 {
 	pinctrl-names = "default", "sleep";
 	pinctrl-0 = <&pinctrl_flexspi2_ptd>;
@@ -176,6 +211,10 @@ &mu {
 	status = "okay";
 };
 
+&mu3 {
+	status = "okay";
+};
+
 &iomuxc1 {
 	pinctrl_enet: enetgrp {
 		fsl,pins = <
diff --git a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi
index c4a0082f30d3..99ed8c1ee57c 100644
--- a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi
@@ -198,6 +198,22 @@ soc: soc@0 {
 		ranges = <0x0 0x0 0x0 0x40000000>,
 			 <0x60000000 0x0 0x60000000 0x1000000>;
 
+		dsp: dsp@21170000 {
+			compatible = "fsl,imx8ulp-hifi4";
+			reg = <0x21170000 0x20000>;
+			clocks = <&cgc2 IMX8ULP_CLK_LPAV_BUS_DIV>,
+				 <&cgc2 IMX8ULP_CLK_HIFI_DIVPLAT>,
+				 <&cgc2 IMX8ULP_CLK_HIFI_DIVCORE>,
+				 <&pcc5 IMX8ULP_CLK_MU3_B>;
+			clock-names = "ipg", "ocram", "core", "mu";
+			power-domains = <&scmi_devpd IMX8ULP_PD_HIFI4>;
+			firmware-name = "imx/dsp/hifi4.bin";
+			mbox-names = "tx", "rx", "rxdb";
+			mboxes = <&mu3 0 0>, <&mu3 1 0>, <&mu3 3 0>;
+			fsl,dsp-ctrl = <&avd_sim>;
+			status = "disabled";
+		};
+
 		s4muap: mailbox@27020000 {
 			compatible = "fsl,imx8ulp-mu-s4";
 			reg = <0x27020000 0x10000>;
@@ -520,6 +536,12 @@ per_bridge5: bus@2d800000 {
 			#size-cells = <1>;
 			ranges;
 
+			avd_sim: syscon@2da50000 {
+				compatible = "fsl,imx8ulp-avd-sim", "syscon", "simple-mfd";
+				reg = <0x2da50000 0x38>;
+				clocks = <&pcc5 IMX8ULP_CLK_AVD_SIM>;
+			};
+
 			cgc2: clock-controller@2da60000 {
 				compatible = "fsl,imx8ulp-cgc2";
 				reg = <0x2da60000 0x10000>;
-- 
2.34.1


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

* [PATCH 3/3] arm64: dts: imx8ulp: add DSP node
@ 2024-04-18 20:37   ` Laurentiu Mihalcea
  0 siblings, 0 replies; 24+ messages in thread
From: Laurentiu Mihalcea @ 2024-04-18 20:37 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Daniel Baluta, Shengjiu Wang, Liu Ying
  Cc: Laurentiu Mihalcea, devicetree, imx, linux-kernel, linux-arm-kernel

From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>

Add node for i.MX8ULP's DSP core and its dependencies.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx8ulp-evk.dts | 39 +++++++++++++++++++
 arch/arm64/boot/dts/freescale/imx8ulp.dtsi    | 22 +++++++++++
 2 files changed, 61 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8ulp-evk.dts b/arch/arm64/boot/dts/freescale/imx8ulp-evk.dts
index 24bb253b938d..5dadcbba370d 100644
--- a/arch/arm64/boot/dts/freescale/imx8ulp-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8ulp-evk.dts
@@ -67,6 +67,32 @@ vdevbuffer: vdevbuffer@a8400000 {
 			reg = <0 0xa8400000 0 0x100000>;
 			no-map;
 		};
+
+		dsp_reserved: dsp_reserved@8e000000 {
+			reg = <0 0x8e000000 0 0x1000000>;
+			no-map;
+		};
+
+		dsp_reserved_heap: dsp_reserved_heap@8f000000 {
+			reg = <0 0x8f000000 0 0xef0000>;
+			no-map;
+		};
+
+		dsp_vdev0vring0: vdev0vring0@8fef0000 {
+			reg = <0 0x8fef0000 0 0x8000>;
+			no-map;
+		};
+
+		dsp_vdev0vring1: vdev0vring1@8fef8000 {
+			reg = <0 0x8fef8000 0 0x8000>;
+			no-map;
+		};
+
+		dsp_vdev0buffer: vdev0buffer@8ff00000 {
+			compatible = "shared-dma-pool";
+			reg = <0 0x8ff00000 0 0x100000>;
+			no-map;
+		};
 	};
 
 	clock_ext_rmii: clock-ext-rmii {
@@ -95,6 +121,15 @@ &cm33 {
 	status = "okay";
 };
 
+&dsp {
+	assigned-clocks = <&cgc2 IMX8ULP_CLK_HIFI_SEL>, <&cgc2 IMX8ULP_CLK_HIFI_DIVCORE>;
+	assigned-clock-parents = <&cgc2 IMX8ULP_CLK_PLL4_PFD0>;
+	assigned-clock-rates = <0>, <475200000>;
+	memory-region = <&dsp_vdev0buffer>, <&dsp_vdev0vring0>,
+			<&dsp_vdev0vring1>, <&dsp_reserved>;
+	status = "okay";
+};
+
 &flexspi2 {
 	pinctrl-names = "default", "sleep";
 	pinctrl-0 = <&pinctrl_flexspi2_ptd>;
@@ -176,6 +211,10 @@ &mu {
 	status = "okay";
 };
 
+&mu3 {
+	status = "okay";
+};
+
 &iomuxc1 {
 	pinctrl_enet: enetgrp {
 		fsl,pins = <
diff --git a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi
index c4a0082f30d3..99ed8c1ee57c 100644
--- a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi
@@ -198,6 +198,22 @@ soc: soc@0 {
 		ranges = <0x0 0x0 0x0 0x40000000>,
 			 <0x60000000 0x0 0x60000000 0x1000000>;
 
+		dsp: dsp@21170000 {
+			compatible = "fsl,imx8ulp-hifi4";
+			reg = <0x21170000 0x20000>;
+			clocks = <&cgc2 IMX8ULP_CLK_LPAV_BUS_DIV>,
+				 <&cgc2 IMX8ULP_CLK_HIFI_DIVPLAT>,
+				 <&cgc2 IMX8ULP_CLK_HIFI_DIVCORE>,
+				 <&pcc5 IMX8ULP_CLK_MU3_B>;
+			clock-names = "ipg", "ocram", "core", "mu";
+			power-domains = <&scmi_devpd IMX8ULP_PD_HIFI4>;
+			firmware-name = "imx/dsp/hifi4.bin";
+			mbox-names = "tx", "rx", "rxdb";
+			mboxes = <&mu3 0 0>, <&mu3 1 0>, <&mu3 3 0>;
+			fsl,dsp-ctrl = <&avd_sim>;
+			status = "disabled";
+		};
+
 		s4muap: mailbox@27020000 {
 			compatible = "fsl,imx8ulp-mu-s4";
 			reg = <0x27020000 0x10000>;
@@ -520,6 +536,12 @@ per_bridge5: bus@2d800000 {
 			#size-cells = <1>;
 			ranges;
 
+			avd_sim: syscon@2da50000 {
+				compatible = "fsl,imx8ulp-avd-sim", "syscon", "simple-mfd";
+				reg = <0x2da50000 0x38>;
+				clocks = <&pcc5 IMX8ULP_CLK_AVD_SIM>;
+			};
+
 			cgc2: clock-controller@2da60000 {
 				compatible = "fsl,imx8ulp-cgc2";
 				reg = <0x2da60000 0x10000>;
-- 
2.34.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/3] dt-bindings: dsp: support imx8ulp dsp clocks
  2024-04-18 20:37   ` Laurentiu Mihalcea
@ 2024-04-18 21:08     ` Frank Li
  -1 siblings, 0 replies; 24+ messages in thread
From: Frank Li @ 2024-04-18 21:08 UTC (permalink / raw)
  To: Laurentiu Mihalcea
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Daniel Baluta, Shengjiu Wang, Liu Ying, Laurentiu Mihalcea,
	devicetree, imx, linux-kernel, linux-arm-kernel

On Thu, Apr 18, 2024 at 11:37:18PM +0300, Laurentiu Mihalcea wrote:
> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> 
> i.MX8ULP DSP node needs a MU clock, but doesn't need
> a debug clock. Change "clocks" and "clock-names" properties
> to allow for this case.
> 
> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> ---
>  .../devicetree/bindings/dsp/fsl,dsp.yaml      | 51 ++++++++++++++-----
>  1 file changed, 39 insertions(+), 12 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml b/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
> index 9af40da5688e..4a39d57b1cc6 100644
> --- a/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
> +++ b/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
> @@ -30,22 +30,12 @@ properties:
>      maxItems: 1
>  
>    clocks:
> -    items:
> -      - description: ipg clock
> -      - description: ocram clock
> -      - description: core clock
> -      - description: debug interface clock
> -      - description: message unit clock
>      minItems: 3
> +    maxItems: 5
>  
>    clock-names:
> -    items:
> -      - const: ipg
> -      - const: ocram
> -      - const: core
> -      - const: debug
> -      - const: mu
>      minItems: 3
> +    maxItems: 5
>  
>    power-domains:
>      description:
> @@ -93,6 +83,43 @@ required:
>    - memory-region
>  
>  allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: fsl,imx8ulp-hifi4
> +    then:
> +      properties:
> +        clocks:
> +          items:
> +            - description: ipg clock
> +            - description: ocram clock
> +            - description: core clock
> +            - description: message unit clock
> +        clock-names:
> +          items:
> +            - const: ipg
> +            - const: ocram
> +            - const: core
> +            - const: mu
> +    else:
> +      properties:
> +        clocks:
> +          items:
> +            - description: ipg clock
> +            - description: ocram clock
> +            - description: core clock
> +            - description: debug interface clock
> +            - description: message unit clock
> +          minItems: 3
> +        clock-names:
> +          items:
> +            - const: ipg
> +            - const: ocram
> +            - const: core
> +            - const: debug
> +            - const: mu
> +          minItems: 3

According to your descript, look like only clk "debug" is difference.

How about

  clocks:                                                               
    items:                                                              
      - description: ipg clock                                          
      - description: ocram clock                                        
      - description: core clock                                         
      - description: message unit clock                                 
      - description: debug interface clock

   clock-names:                                                          
      items:                                                              
        - const: ipg                                                      
        - const: ocram                                                    
        - const: core
	- const: mu                                                     
        - const: debug                                                    

allOf:
   if:                                                                 
     properties:                                                       
       compatible:                                                     
          contains:                                                     
            const: fsl,imx8ulp-hifi4
   then:
     properties:
       clocks:
         minItems: 4
       clock-names:
         minItems: 4

   else:
     propertyies:
       clocks:
         minItems: 3
       clock-names:
         minItems: 3



>    - if:
>        properties:
>          compatible:
> -- 
> 2.34.1
> 

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

* Re: [PATCH 1/3] dt-bindings: dsp: support imx8ulp dsp clocks
@ 2024-04-18 21:08     ` Frank Li
  0 siblings, 0 replies; 24+ messages in thread
From: Frank Li @ 2024-04-18 21:08 UTC (permalink / raw)
  To: Laurentiu Mihalcea
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Daniel Baluta, Shengjiu Wang, Liu Ying, Laurentiu Mihalcea,
	devicetree, imx, linux-kernel, linux-arm-kernel

On Thu, Apr 18, 2024 at 11:37:18PM +0300, Laurentiu Mihalcea wrote:
> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> 
> i.MX8ULP DSP node needs a MU clock, but doesn't need
> a debug clock. Change "clocks" and "clock-names" properties
> to allow for this case.
> 
> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> ---
>  .../devicetree/bindings/dsp/fsl,dsp.yaml      | 51 ++++++++++++++-----
>  1 file changed, 39 insertions(+), 12 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml b/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
> index 9af40da5688e..4a39d57b1cc6 100644
> --- a/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
> +++ b/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
> @@ -30,22 +30,12 @@ properties:
>      maxItems: 1
>  
>    clocks:
> -    items:
> -      - description: ipg clock
> -      - description: ocram clock
> -      - description: core clock
> -      - description: debug interface clock
> -      - description: message unit clock
>      minItems: 3
> +    maxItems: 5
>  
>    clock-names:
> -    items:
> -      - const: ipg
> -      - const: ocram
> -      - const: core
> -      - const: debug
> -      - const: mu
>      minItems: 3
> +    maxItems: 5
>  
>    power-domains:
>      description:
> @@ -93,6 +83,43 @@ required:
>    - memory-region
>  
>  allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: fsl,imx8ulp-hifi4
> +    then:
> +      properties:
> +        clocks:
> +          items:
> +            - description: ipg clock
> +            - description: ocram clock
> +            - description: core clock
> +            - description: message unit clock
> +        clock-names:
> +          items:
> +            - const: ipg
> +            - const: ocram
> +            - const: core
> +            - const: mu
> +    else:
> +      properties:
> +        clocks:
> +          items:
> +            - description: ipg clock
> +            - description: ocram clock
> +            - description: core clock
> +            - description: debug interface clock
> +            - description: message unit clock
> +          minItems: 3
> +        clock-names:
> +          items:
> +            - const: ipg
> +            - const: ocram
> +            - const: core
> +            - const: debug
> +            - const: mu
> +          minItems: 3

According to your descript, look like only clk "debug" is difference.

How about

  clocks:                                                               
    items:                                                              
      - description: ipg clock                                          
      - description: ocram clock                                        
      - description: core clock                                         
      - description: message unit clock                                 
      - description: debug interface clock

   clock-names:                                                          
      items:                                                              
        - const: ipg                                                      
        - const: ocram                                                    
        - const: core
	- const: mu                                                     
        - const: debug                                                    

allOf:
   if:                                                                 
     properties:                                                       
       compatible:                                                     
          contains:                                                     
            const: fsl,imx8ulp-hifi4
   then:
     properties:
       clocks:
         minItems: 4
       clock-names:
         minItems: 4

   else:
     propertyies:
       clocks:
         minItems: 3
       clock-names:
         minItems: 3



>    - if:
>        properties:
>          compatible:
> -- 
> 2.34.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 2/3] dt-bindings: mfd: add schema for 8ulp AVD-SIM
  2024-04-18 20:37   ` Laurentiu Mihalcea
@ 2024-04-18 21:10     ` Frank Li
  -1 siblings, 0 replies; 24+ messages in thread
From: Frank Li @ 2024-04-18 21:10 UTC (permalink / raw)
  To: Laurentiu Mihalcea
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Daniel Baluta, Shengjiu Wang, Liu Ying, Laurentiu Mihalcea,
	devicetree, imx, linux-kernel, linux-arm-kernel

On Thu, Apr 18, 2024 at 11:37:19PM +0300, Laurentiu Mihalcea wrote:
> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> 
> Add schema for i.MX8ULP's AVD-SIM module.
> 
> Signed-off-by: Liu Ying <victor.liu@nxp.com>
> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> ---
>  .../bindings/mfd/fsl,imx8ulp-avd-sim.yaml     | 42 +++++++++++++++++++
>  1 file changed, 42 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml b/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
> new file mode 100644
> index 000000000000..4020c6e37f80
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
> @@ -0,0 +1,42 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/fsl,imx8ulp-avd-sim.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: NXP i.MX8ULP Audio-Video Domain System Integration Module
> +
> +maintainers:
> +  - Liu Ying <victor.liu@nxp.com>
> +
> +description: |
> +  The AVD-SIM module provides configuration options for components of AVD.

Needn't "|"

> +
> +properties:
> +  compatible:
> +    items:
> +      - const: fsl,imx8ulp-avd-sim
> +      - const: syscon
> +      - const: simple-mfd
> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 1
> +
> +required:
> +  - compatible
> +  - reg
> +  - clocks
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/imx8ulp-clock.h>
> +    avd_sim: syscon@2da50000 {

Needn't label 'avd_sim'

> +        compatible = "fsl,imx8ulp-avd-sim", "syscon", "simple-mfd";
> +        reg = <0x2da50000 0x38>;
> +        clocks = <&pcc5 IMX8ULP_CLK_AVD_SIM>;
> +    };
> -- 
> 2.34.1
> 

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

* Re: [PATCH 2/3] dt-bindings: mfd: add schema for 8ulp AVD-SIM
@ 2024-04-18 21:10     ` Frank Li
  0 siblings, 0 replies; 24+ messages in thread
From: Frank Li @ 2024-04-18 21:10 UTC (permalink / raw)
  To: Laurentiu Mihalcea
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Daniel Baluta, Shengjiu Wang, Liu Ying, Laurentiu Mihalcea,
	devicetree, imx, linux-kernel, linux-arm-kernel

On Thu, Apr 18, 2024 at 11:37:19PM +0300, Laurentiu Mihalcea wrote:
> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> 
> Add schema for i.MX8ULP's AVD-SIM module.
> 
> Signed-off-by: Liu Ying <victor.liu@nxp.com>
> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> ---
>  .../bindings/mfd/fsl,imx8ulp-avd-sim.yaml     | 42 +++++++++++++++++++
>  1 file changed, 42 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml b/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
> new file mode 100644
> index 000000000000..4020c6e37f80
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
> @@ -0,0 +1,42 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/fsl,imx8ulp-avd-sim.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: NXP i.MX8ULP Audio-Video Domain System Integration Module
> +
> +maintainers:
> +  - Liu Ying <victor.liu@nxp.com>
> +
> +description: |
> +  The AVD-SIM module provides configuration options for components of AVD.

Needn't "|"

> +
> +properties:
> +  compatible:
> +    items:
> +      - const: fsl,imx8ulp-avd-sim
> +      - const: syscon
> +      - const: simple-mfd
> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 1
> +
> +required:
> +  - compatible
> +  - reg
> +  - clocks
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/imx8ulp-clock.h>
> +    avd_sim: syscon@2da50000 {

Needn't label 'avd_sim'

> +        compatible = "fsl,imx8ulp-avd-sim", "syscon", "simple-mfd";
> +        reg = <0x2da50000 0x38>;
> +        clocks = <&pcc5 IMX8ULP_CLK_AVD_SIM>;
> +    };
> -- 
> 2.34.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 3/3] arm64: dts: imx8ulp: add DSP node
  2024-04-18 20:37   ` Laurentiu Mihalcea
@ 2024-04-18 21:17     ` Frank Li
  -1 siblings, 0 replies; 24+ messages in thread
From: Frank Li @ 2024-04-18 21:17 UTC (permalink / raw)
  To: Laurentiu Mihalcea
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Daniel Baluta, Shengjiu Wang, Liu Ying, Laurentiu Mihalcea,
	devicetree, imx, linux-kernel, linux-arm-kernel

On Thu, Apr 18, 2024 at 11:37:20PM +0300, Laurentiu Mihalcea wrote:
> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> 
> Add node for i.MX8ULP's DSP core and its dependencies.
> 
> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> ---
>  arch/arm64/boot/dts/freescale/imx8ulp-evk.dts | 39 +++++++++++++++++++
>  arch/arm64/boot/dts/freescale/imx8ulp.dtsi    | 22 +++++++++++

8ulp.dtsi and imx8ulp-evk.dts need two patches. one for imx8ulp.dtsi, the
other for imx8ulp-evk.dts.

Frank

>  2 files changed, 61 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8ulp-evk.dts b/arch/arm64/boot/dts/freescale/imx8ulp-evk.dts
> index 24bb253b938d..5dadcbba370d 100644
> --- a/arch/arm64/boot/dts/freescale/imx8ulp-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8ulp-evk.dts
> @@ -67,6 +67,32 @@ vdevbuffer: vdevbuffer@a8400000 {
>  			reg = <0 0xa8400000 0 0x100000>;
>  			no-map;
>  		};
> +
> +		dsp_reserved: dsp_reserved@8e000000 {
> +			reg = <0 0x8e000000 0 0x1000000>;
> +			no-map;
> +		};
> +
> +		dsp_reserved_heap: dsp_reserved_heap@8f000000 {
> +			reg = <0 0x8f000000 0 0xef0000>;
> +			no-map;
> +		};
> +
> +		dsp_vdev0vring0: vdev0vring0@8fef0000 {
> +			reg = <0 0x8fef0000 0 0x8000>;
> +			no-map;
> +		};
> +
> +		dsp_vdev0vring1: vdev0vring1@8fef8000 {
> +			reg = <0 0x8fef8000 0 0x8000>;
> +			no-map;
> +		};
> +
> +		dsp_vdev0buffer: vdev0buffer@8ff00000 {
> +			compatible = "shared-dma-pool";
> +			reg = <0 0x8ff00000 0 0x100000>;
> +			no-map;
> +		};
>  	};
>  
>  	clock_ext_rmii: clock-ext-rmii {
> @@ -95,6 +121,15 @@ &cm33 {
>  	status = "okay";
>  };
>  
> +&dsp {
> +	assigned-clocks = <&cgc2 IMX8ULP_CLK_HIFI_SEL>, <&cgc2 IMX8ULP_CLK_HIFI_DIVCORE>;
> +	assigned-clock-parents = <&cgc2 IMX8ULP_CLK_PLL4_PFD0>;
> +	assigned-clock-rates = <0>, <475200000>;
> +	memory-region = <&dsp_vdev0buffer>, <&dsp_vdev0vring0>,
> +			<&dsp_vdev0vring1>, <&dsp_reserved>;
> +	status = "okay";
> +};
> +
>  &flexspi2 {
>  	pinctrl-names = "default", "sleep";
>  	pinctrl-0 = <&pinctrl_flexspi2_ptd>;
> @@ -176,6 +211,10 @@ &mu {
>  	status = "okay";
>  };
>  
> +&mu3 {
> +	status = "okay";
> +};
> +
>  &iomuxc1 {
>  	pinctrl_enet: enetgrp {
>  		fsl,pins = <
> diff --git a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi
> index c4a0082f30d3..99ed8c1ee57c 100644
> --- a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi
> @@ -198,6 +198,22 @@ soc: soc@0 {
>  		ranges = <0x0 0x0 0x0 0x40000000>,
>  			 <0x60000000 0x0 0x60000000 0x1000000>;
>  
> +		dsp: dsp@21170000 {
> +			compatible = "fsl,imx8ulp-hifi4";
> +			reg = <0x21170000 0x20000>;
> +			clocks = <&cgc2 IMX8ULP_CLK_LPAV_BUS_DIV>,
> +				 <&cgc2 IMX8ULP_CLK_HIFI_DIVPLAT>,
> +				 <&cgc2 IMX8ULP_CLK_HIFI_DIVCORE>,
> +				 <&pcc5 IMX8ULP_CLK_MU3_B>;
> +			clock-names = "ipg", "ocram", "core", "mu";
> +			power-domains = <&scmi_devpd IMX8ULP_PD_HIFI4>;
> +			firmware-name = "imx/dsp/hifi4.bin";
> +			mbox-names = "tx", "rx", "rxdb";
> +			mboxes = <&mu3 0 0>, <&mu3 1 0>, <&mu3 3 0>;
> +			fsl,dsp-ctrl = <&avd_sim>;
> +			status = "disabled";
> +		};
> +
>  		s4muap: mailbox@27020000 {
>  			compatible = "fsl,imx8ulp-mu-s4";
>  			reg = <0x27020000 0x10000>;
> @@ -520,6 +536,12 @@ per_bridge5: bus@2d800000 {
>  			#size-cells = <1>;
>  			ranges;
>  
> +			avd_sim: syscon@2da50000 {
> +				compatible = "fsl,imx8ulp-avd-sim", "syscon", "simple-mfd";

Any driver actually use "fsl,imx8ulp-avd-sim"?

> +				reg = <0x2da50000 0x38>;
> +				clocks = <&pcc5 IMX8ULP_CLK_AVD_SIM>;
> +			};
> +
>  			cgc2: clock-controller@2da60000 {
>  				compatible = "fsl,imx8ulp-cgc2";
>  				reg = <0x2da60000 0x10000>;
> -- 
> 2.34.1
> 

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

* Re: [PATCH 3/3] arm64: dts: imx8ulp: add DSP node
@ 2024-04-18 21:17     ` Frank Li
  0 siblings, 0 replies; 24+ messages in thread
From: Frank Li @ 2024-04-18 21:17 UTC (permalink / raw)
  To: Laurentiu Mihalcea
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Daniel Baluta, Shengjiu Wang, Liu Ying, Laurentiu Mihalcea,
	devicetree, imx, linux-kernel, linux-arm-kernel

On Thu, Apr 18, 2024 at 11:37:20PM +0300, Laurentiu Mihalcea wrote:
> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> 
> Add node for i.MX8ULP's DSP core and its dependencies.
> 
> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> ---
>  arch/arm64/boot/dts/freescale/imx8ulp-evk.dts | 39 +++++++++++++++++++
>  arch/arm64/boot/dts/freescale/imx8ulp.dtsi    | 22 +++++++++++

8ulp.dtsi and imx8ulp-evk.dts need two patches. one for imx8ulp.dtsi, the
other for imx8ulp-evk.dts.

Frank

>  2 files changed, 61 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx8ulp-evk.dts b/arch/arm64/boot/dts/freescale/imx8ulp-evk.dts
> index 24bb253b938d..5dadcbba370d 100644
> --- a/arch/arm64/boot/dts/freescale/imx8ulp-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8ulp-evk.dts
> @@ -67,6 +67,32 @@ vdevbuffer: vdevbuffer@a8400000 {
>  			reg = <0 0xa8400000 0 0x100000>;
>  			no-map;
>  		};
> +
> +		dsp_reserved: dsp_reserved@8e000000 {
> +			reg = <0 0x8e000000 0 0x1000000>;
> +			no-map;
> +		};
> +
> +		dsp_reserved_heap: dsp_reserved_heap@8f000000 {
> +			reg = <0 0x8f000000 0 0xef0000>;
> +			no-map;
> +		};
> +
> +		dsp_vdev0vring0: vdev0vring0@8fef0000 {
> +			reg = <0 0x8fef0000 0 0x8000>;
> +			no-map;
> +		};
> +
> +		dsp_vdev0vring1: vdev0vring1@8fef8000 {
> +			reg = <0 0x8fef8000 0 0x8000>;
> +			no-map;
> +		};
> +
> +		dsp_vdev0buffer: vdev0buffer@8ff00000 {
> +			compatible = "shared-dma-pool";
> +			reg = <0 0x8ff00000 0 0x100000>;
> +			no-map;
> +		};
>  	};
>  
>  	clock_ext_rmii: clock-ext-rmii {
> @@ -95,6 +121,15 @@ &cm33 {
>  	status = "okay";
>  };
>  
> +&dsp {
> +	assigned-clocks = <&cgc2 IMX8ULP_CLK_HIFI_SEL>, <&cgc2 IMX8ULP_CLK_HIFI_DIVCORE>;
> +	assigned-clock-parents = <&cgc2 IMX8ULP_CLK_PLL4_PFD0>;
> +	assigned-clock-rates = <0>, <475200000>;
> +	memory-region = <&dsp_vdev0buffer>, <&dsp_vdev0vring0>,
> +			<&dsp_vdev0vring1>, <&dsp_reserved>;
> +	status = "okay";
> +};
> +
>  &flexspi2 {
>  	pinctrl-names = "default", "sleep";
>  	pinctrl-0 = <&pinctrl_flexspi2_ptd>;
> @@ -176,6 +211,10 @@ &mu {
>  	status = "okay";
>  };
>  
> +&mu3 {
> +	status = "okay";
> +};
> +
>  &iomuxc1 {
>  	pinctrl_enet: enetgrp {
>  		fsl,pins = <
> diff --git a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi
> index c4a0082f30d3..99ed8c1ee57c 100644
> --- a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi
> @@ -198,6 +198,22 @@ soc: soc@0 {
>  		ranges = <0x0 0x0 0x0 0x40000000>,
>  			 <0x60000000 0x0 0x60000000 0x1000000>;
>  
> +		dsp: dsp@21170000 {
> +			compatible = "fsl,imx8ulp-hifi4";
> +			reg = <0x21170000 0x20000>;
> +			clocks = <&cgc2 IMX8ULP_CLK_LPAV_BUS_DIV>,
> +				 <&cgc2 IMX8ULP_CLK_HIFI_DIVPLAT>,
> +				 <&cgc2 IMX8ULP_CLK_HIFI_DIVCORE>,
> +				 <&pcc5 IMX8ULP_CLK_MU3_B>;
> +			clock-names = "ipg", "ocram", "core", "mu";
> +			power-domains = <&scmi_devpd IMX8ULP_PD_HIFI4>;
> +			firmware-name = "imx/dsp/hifi4.bin";
> +			mbox-names = "tx", "rx", "rxdb";
> +			mboxes = <&mu3 0 0>, <&mu3 1 0>, <&mu3 3 0>;
> +			fsl,dsp-ctrl = <&avd_sim>;
> +			status = "disabled";
> +		};
> +
>  		s4muap: mailbox@27020000 {
>  			compatible = "fsl,imx8ulp-mu-s4";
>  			reg = <0x27020000 0x10000>;
> @@ -520,6 +536,12 @@ per_bridge5: bus@2d800000 {
>  			#size-cells = <1>;
>  			ranges;
>  
> +			avd_sim: syscon@2da50000 {
> +				compatible = "fsl,imx8ulp-avd-sim", "syscon", "simple-mfd";

Any driver actually use "fsl,imx8ulp-avd-sim"?

> +				reg = <0x2da50000 0x38>;
> +				clocks = <&pcc5 IMX8ULP_CLK_AVD_SIM>;
> +			};
> +
>  			cgc2: clock-controller@2da60000 {
>  				compatible = "fsl,imx8ulp-cgc2";
>  				reg = <0x2da60000 0x10000>;
> -- 
> 2.34.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/3] dt-bindings: dsp: support imx8ulp dsp clocks
  2024-04-18 21:08     ` Frank Li
@ 2024-04-22 14:24       ` Rob Herring
  -1 siblings, 0 replies; 24+ messages in thread
From: Rob Herring @ 2024-04-22 14:24 UTC (permalink / raw)
  To: Frank Li
  Cc: Laurentiu Mihalcea, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Daniel Baluta, Shengjiu Wang, Liu Ying, Laurentiu Mihalcea,
	devicetree, imx, linux-kernel, linux-arm-kernel

On Thu, Apr 18, 2024 at 05:08:20PM -0400, Frank Li wrote:
> On Thu, Apr 18, 2024 at 11:37:18PM +0300, Laurentiu Mihalcea wrote:
> > From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> > 
> > i.MX8ULP DSP node needs a MU clock, but doesn't need
> > a debug clock. Change "clocks" and "clock-names" properties
> > to allow for this case.
> > 
> > Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> > ---
> >  .../devicetree/bindings/dsp/fsl,dsp.yaml      | 51 ++++++++++++++-----
> >  1 file changed, 39 insertions(+), 12 deletions(-)
> > 
> > diff --git a/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml b/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
> > index 9af40da5688e..4a39d57b1cc6 100644
> > --- a/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
> > +++ b/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
> > @@ -30,22 +30,12 @@ properties:
> >      maxItems: 1
> >  
> >    clocks:
> > -    items:
> > -      - description: ipg clock
> > -      - description: ocram clock
> > -      - description: core clock
> > -      - description: debug interface clock
> > -      - description: message unit clock
> >      minItems: 3
> > +    maxItems: 5
> >  
> >    clock-names:
> > -    items:
> > -      - const: ipg
> > -      - const: ocram
> > -      - const: core
> > -      - const: debug
> > -      - const: mu
> >      minItems: 3
> > +    maxItems: 5
> >  
> >    power-domains:
> >      description:
> > @@ -93,6 +83,43 @@ required:
> >    - memory-region
> >  
> >  allOf:
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            const: fsl,imx8ulp-hifi4
> > +    then:
> > +      properties:
> > +        clocks:
> > +          items:
> > +            - description: ipg clock
> > +            - description: ocram clock
> > +            - description: core clock
> > +            - description: message unit clock
> > +        clock-names:
> > +          items:
> > +            - const: ipg
> > +            - const: ocram
> > +            - const: core
> > +            - const: mu
> > +    else:
> > +      properties:
> > +        clocks:
> > +          items:
> > +            - description: ipg clock
> > +            - description: ocram clock
> > +            - description: core clock
> > +            - description: debug interface clock
> > +            - description: message unit clock
> > +          minItems: 3
> > +        clock-names:
> > +          items:
> > +            - const: ipg
> > +            - const: ocram
> > +            - const: core
> > +            - const: debug
> > +            - const: mu
> > +          minItems: 3
> 
> According to your descript, look like only clk "debug" is difference.
> 
> How about
> 
>   clocks:                                                               
>     items:                                                              
>       - description: ipg clock                                          
>       - description: ocram clock                                        
>       - description: core clock                                         
>       - description: message unit clock                                 
>       - description: debug interface clock
> 
>    clock-names:                                                          
>       items:                                                              
>         - const: ipg                                                      
>         - const: ocram                                                    
>         - const: core
> 	- const: mu                                                     
>         - const: debug                                                    

You can't change the existing order, so this does not work.

Rob

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

* Re: [PATCH 1/3] dt-bindings: dsp: support imx8ulp dsp clocks
@ 2024-04-22 14:24       ` Rob Herring
  0 siblings, 0 replies; 24+ messages in thread
From: Rob Herring @ 2024-04-22 14:24 UTC (permalink / raw)
  To: Frank Li
  Cc: Laurentiu Mihalcea, Krzysztof Kozlowski, Conor Dooley, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Daniel Baluta, Shengjiu Wang, Liu Ying, Laurentiu Mihalcea,
	devicetree, imx, linux-kernel, linux-arm-kernel

On Thu, Apr 18, 2024 at 05:08:20PM -0400, Frank Li wrote:
> On Thu, Apr 18, 2024 at 11:37:18PM +0300, Laurentiu Mihalcea wrote:
> > From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> > 
> > i.MX8ULP DSP node needs a MU clock, but doesn't need
> > a debug clock. Change "clocks" and "clock-names" properties
> > to allow for this case.
> > 
> > Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> > ---
> >  .../devicetree/bindings/dsp/fsl,dsp.yaml      | 51 ++++++++++++++-----
> >  1 file changed, 39 insertions(+), 12 deletions(-)
> > 
> > diff --git a/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml b/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
> > index 9af40da5688e..4a39d57b1cc6 100644
> > --- a/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
> > +++ b/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
> > @@ -30,22 +30,12 @@ properties:
> >      maxItems: 1
> >  
> >    clocks:
> > -    items:
> > -      - description: ipg clock
> > -      - description: ocram clock
> > -      - description: core clock
> > -      - description: debug interface clock
> > -      - description: message unit clock
> >      minItems: 3
> > +    maxItems: 5
> >  
> >    clock-names:
> > -    items:
> > -      - const: ipg
> > -      - const: ocram
> > -      - const: core
> > -      - const: debug
> > -      - const: mu
> >      minItems: 3
> > +    maxItems: 5
> >  
> >    power-domains:
> >      description:
> > @@ -93,6 +83,43 @@ required:
> >    - memory-region
> >  
> >  allOf:
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            const: fsl,imx8ulp-hifi4
> > +    then:
> > +      properties:
> > +        clocks:
> > +          items:
> > +            - description: ipg clock
> > +            - description: ocram clock
> > +            - description: core clock
> > +            - description: message unit clock
> > +        clock-names:
> > +          items:
> > +            - const: ipg
> > +            - const: ocram
> > +            - const: core
> > +            - const: mu
> > +    else:
> > +      properties:
> > +        clocks:
> > +          items:
> > +            - description: ipg clock
> > +            - description: ocram clock
> > +            - description: core clock
> > +            - description: debug interface clock
> > +            - description: message unit clock
> > +          minItems: 3
> > +        clock-names:
> > +          items:
> > +            - const: ipg
> > +            - const: ocram
> > +            - const: core
> > +            - const: debug
> > +            - const: mu
> > +          minItems: 3
> 
> According to your descript, look like only clk "debug" is difference.
> 
> How about
> 
>   clocks:                                                               
>     items:                                                              
>       - description: ipg clock                                          
>       - description: ocram clock                                        
>       - description: core clock                                         
>       - description: message unit clock                                 
>       - description: debug interface clock
> 
>    clock-names:                                                          
>       items:                                                              
>         - const: ipg                                                      
>         - const: ocram                                                    
>         - const: core
> 	- const: mu                                                     
>         - const: debug                                                    

You can't change the existing order, so this does not work.

Rob

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/3] dt-bindings: dsp: support imx8ulp dsp clocks
  2024-04-18 20:37   ` Laurentiu Mihalcea
@ 2024-04-22 14:26     ` Rob Herring
  -1 siblings, 0 replies; 24+ messages in thread
From: Rob Herring @ 2024-04-22 14:26 UTC (permalink / raw)
  To: Laurentiu Mihalcea
  Cc: Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, Daniel Baluta,
	Shengjiu Wang, Liu Ying, Laurentiu Mihalcea, devicetree, imx,
	linux-kernel, linux-arm-kernel

On Thu, Apr 18, 2024 at 11:37:18PM +0300, Laurentiu Mihalcea wrote:
> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> 
> i.MX8ULP DSP node needs a MU clock, but doesn't need
> a debug clock. Change "clocks" and "clock-names" properties
> to allow for this case.
> 
> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> ---
>  .../devicetree/bindings/dsp/fsl,dsp.yaml      | 51 ++++++++++++++-----
>  1 file changed, 39 insertions(+), 12 deletions(-)

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>

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

* Re: [PATCH 1/3] dt-bindings: dsp: support imx8ulp dsp clocks
@ 2024-04-22 14:26     ` Rob Herring
  0 siblings, 0 replies; 24+ messages in thread
From: Rob Herring @ 2024-04-22 14:26 UTC (permalink / raw)
  To: Laurentiu Mihalcea
  Cc: Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, Daniel Baluta,
	Shengjiu Wang, Liu Ying, Laurentiu Mihalcea, devicetree, imx,
	linux-kernel, linux-arm-kernel

On Thu, Apr 18, 2024 at 11:37:18PM +0300, Laurentiu Mihalcea wrote:
> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> 
> i.MX8ULP DSP node needs a MU clock, but doesn't need
> a debug clock. Change "clocks" and "clock-names" properties
> to allow for this case.
> 
> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> ---
>  .../devicetree/bindings/dsp/fsl,dsp.yaml      | 51 ++++++++++++++-----
>  1 file changed, 39 insertions(+), 12 deletions(-)

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 2/3] dt-bindings: mfd: add schema for 8ulp AVD-SIM
  2024-04-18 20:37   ` Laurentiu Mihalcea
@ 2024-04-22 14:29     ` Rob Herring
  -1 siblings, 0 replies; 24+ messages in thread
From: Rob Herring @ 2024-04-22 14:29 UTC (permalink / raw)
  To: Laurentiu Mihalcea
  Cc: Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, Daniel Baluta,
	Shengjiu Wang, Liu Ying, Laurentiu Mihalcea, devicetree, imx,
	linux-kernel, linux-arm-kernel

On Thu, Apr 18, 2024 at 11:37:19PM +0300, Laurentiu Mihalcea wrote:
> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> 
> Add schema for i.MX8ULP's AVD-SIM module.
> 
> Signed-off-by: Liu Ying <victor.liu@nxp.com>
> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> ---
>  .../bindings/mfd/fsl,imx8ulp-avd-sim.yaml     | 42 +++++++++++++++++++
>  1 file changed, 42 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml b/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
> new file mode 100644
> index 000000000000..4020c6e37f80
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
> @@ -0,0 +1,42 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/fsl,imx8ulp-avd-sim.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: NXP i.MX8ULP Audio-Video Domain System Integration Module
> +
> +maintainers:
> +  - Liu Ying <victor.liu@nxp.com>
> +
> +description: |
> +  The AVD-SIM module provides configuration options for components of AVD.
> +
> +properties:
> +  compatible:
> +    items:
> +      - const: fsl,imx8ulp-avd-sim
> +      - const: syscon
> +      - const: simple-mfd

'simple-mfd' means you have child nodes, but you have none defined.

> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 1

If you do add child nodes, 'simple-mfd' also means there is not any 
dependency on the parent node such as needing this clock to be enabled 
for the child nodes.

Rob

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

* Re: [PATCH 2/3] dt-bindings: mfd: add schema for 8ulp AVD-SIM
@ 2024-04-22 14:29     ` Rob Herring
  0 siblings, 0 replies; 24+ messages in thread
From: Rob Herring @ 2024-04-22 14:29 UTC (permalink / raw)
  To: Laurentiu Mihalcea
  Cc: Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, Daniel Baluta,
	Shengjiu Wang, Liu Ying, Laurentiu Mihalcea, devicetree, imx,
	linux-kernel, linux-arm-kernel

On Thu, Apr 18, 2024 at 11:37:19PM +0300, Laurentiu Mihalcea wrote:
> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> 
> Add schema for i.MX8ULP's AVD-SIM module.
> 
> Signed-off-by: Liu Ying <victor.liu@nxp.com>
> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> ---
>  .../bindings/mfd/fsl,imx8ulp-avd-sim.yaml     | 42 +++++++++++++++++++
>  1 file changed, 42 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml b/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
> new file mode 100644
> index 000000000000..4020c6e37f80
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
> @@ -0,0 +1,42 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/fsl,imx8ulp-avd-sim.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: NXP i.MX8ULP Audio-Video Domain System Integration Module
> +
> +maintainers:
> +  - Liu Ying <victor.liu@nxp.com>
> +
> +description: |
> +  The AVD-SIM module provides configuration options for components of AVD.
> +
> +properties:
> +  compatible:
> +    items:
> +      - const: fsl,imx8ulp-avd-sim
> +      - const: syscon
> +      - const: simple-mfd

'simple-mfd' means you have child nodes, but you have none defined.

> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 1

If you do add child nodes, 'simple-mfd' also means there is not any 
dependency on the parent node such as needing this clock to be enabled 
for the child nodes.

Rob

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 2/3] dt-bindings: mfd: add schema for 8ulp AVD-SIM
  2024-04-22 14:29     ` Rob Herring
@ 2024-05-09 18:48       ` Laurentiu Mihalcea
  -1 siblings, 0 replies; 24+ messages in thread
From: Laurentiu Mihalcea @ 2024-05-09 18:48 UTC (permalink / raw)
  To: Rob Herring
  Cc: Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, Daniel Baluta,
	Shengjiu Wang, Liu Ying, Laurentiu Mihalcea, devicetree, imx,
	linux-kernel, linux-arm-kernel



On 4/22/2024 5:29 PM, Rob Herring wrote:
> On Thu, Apr 18, 2024 at 11:37:19PM +0300, Laurentiu Mihalcea wrote:
>> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
>>
>> Add schema for i.MX8ULP's AVD-SIM module.
>>
>> Signed-off-by: Liu Ying <victor.liu@nxp.com>
>> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
>> ---
>>  .../bindings/mfd/fsl,imx8ulp-avd-sim.yaml     | 42 +++++++++++++++++++
>>  1 file changed, 42 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml b/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
>> new file mode 100644
>> index 000000000000..4020c6e37f80
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
>> @@ -0,0 +1,42 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/mfd/fsl,imx8ulp-avd-sim.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: NXP i.MX8ULP Audio-Video Domain System Integration Module
>> +
>> +maintainers:
>> +  - Liu Ying <victor.liu@nxp.com>
>> +
>> +description: |
>> +  The AVD-SIM module provides configuration options for components of AVD.
>> +
>> +properties:
>> +  compatible:
>> +    items:
>> +      - const: fsl,imx8ulp-avd-sim
>> +      - const: syscon
>> +      - const: simple-mfd
> 'simple-mfd' means you have child nodes, but you have none defined.

Thanks for the clarification! These were intentionally omitted since they're
not needed for the DSP.

>
>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +  clocks:
>> +    maxItems: 1
> If you do add child nodes, 'simple-mfd' also means there is not any 
> dependency on the parent node such as needing this clock to be enabled 
> for the child nodes.
>
> Rob

The plan was to add the children later on as required.
Given the children would in fact depend on the parent's clock being
enabled, I wonder if just removing 'simple-mfd' from the compatible
list would do the trick?


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

* Re: [PATCH 2/3] dt-bindings: mfd: add schema for 8ulp AVD-SIM
@ 2024-05-09 18:48       ` Laurentiu Mihalcea
  0 siblings, 0 replies; 24+ messages in thread
From: Laurentiu Mihalcea @ 2024-05-09 18:48 UTC (permalink / raw)
  To: Rob Herring
  Cc: Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, Daniel Baluta,
	Shengjiu Wang, Liu Ying, Laurentiu Mihalcea, devicetree, imx,
	linux-kernel, linux-arm-kernel



On 4/22/2024 5:29 PM, Rob Herring wrote:
> On Thu, Apr 18, 2024 at 11:37:19PM +0300, Laurentiu Mihalcea wrote:
>> From: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
>>
>> Add schema for i.MX8ULP's AVD-SIM module.
>>
>> Signed-off-by: Liu Ying <victor.liu@nxp.com>
>> Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
>> ---
>>  .../bindings/mfd/fsl,imx8ulp-avd-sim.yaml     | 42 +++++++++++++++++++
>>  1 file changed, 42 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml b/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
>> new file mode 100644
>> index 000000000000..4020c6e37f80
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/mfd/fsl,imx8ulp-avd-sim.yaml
>> @@ -0,0 +1,42 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/mfd/fsl,imx8ulp-avd-sim.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: NXP i.MX8ULP Audio-Video Domain System Integration Module
>> +
>> +maintainers:
>> +  - Liu Ying <victor.liu@nxp.com>
>> +
>> +description: |
>> +  The AVD-SIM module provides configuration options for components of AVD.
>> +
>> +properties:
>> +  compatible:
>> +    items:
>> +      - const: fsl,imx8ulp-avd-sim
>> +      - const: syscon
>> +      - const: simple-mfd
> 'simple-mfd' means you have child nodes, but you have none defined.

Thanks for the clarification! These were intentionally omitted since they're
not needed for the DSP.

>
>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +  clocks:
>> +    maxItems: 1
> If you do add child nodes, 'simple-mfd' also means there is not any 
> dependency on the parent node such as needing this clock to be enabled 
> for the child nodes.
>
> Rob

The plan was to add the children later on as required.
Given the children would in fact depend on the parent's clock being
enabled, I wonder if just removing 'simple-mfd' from the compatible
list would do the trick?


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 2/3] dt-bindings: mfd: add schema for 8ulp AVD-SIM
  2024-05-09 18:48       ` Laurentiu Mihalcea
@ 2024-05-13  9:02         ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 24+ messages in thread
From: Krzysztof Kozlowski @ 2024-05-13  9:02 UTC (permalink / raw)
  To: Laurentiu Mihalcea, Rob Herring
  Cc: Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, Daniel Baluta,
	Shengjiu Wang, Liu Ying, Laurentiu Mihalcea, devicetree, imx,
	linux-kernel, linux-arm-kernel

On 09/05/2024 20:48, Laurentiu Mihalcea wrote:
>>> +
>>> +  reg:
>>> +    maxItems: 1
>>> +
>>> +  clocks:
>>> +    maxItems: 1
>> If you do add child nodes, 'simple-mfd' also means there is not any 
>> dependency on the parent node such as needing this clock to be enabled 
>> for the child nodes.
>>
>> Rob
> 
> The plan was to add the children later on as required.
> Given the children would in fact depend on the parent's clock being
> enabled, I wonder if just removing 'simple-mfd' from the compatible
> list would do the trick?

Dropping simple-mfd would be a requirement in such case, but not
sufficient. Please send complete bindings, so with the children.

Best regards,
Krzysztof


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

* Re: [PATCH 2/3] dt-bindings: mfd: add schema for 8ulp AVD-SIM
@ 2024-05-13  9:02         ` Krzysztof Kozlowski
  0 siblings, 0 replies; 24+ messages in thread
From: Krzysztof Kozlowski @ 2024-05-13  9:02 UTC (permalink / raw)
  To: Laurentiu Mihalcea, Rob Herring
  Cc: Krzysztof Kozlowski, Conor Dooley, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, Daniel Baluta,
	Shengjiu Wang, Liu Ying, Laurentiu Mihalcea, devicetree, imx,
	linux-kernel, linux-arm-kernel

On 09/05/2024 20:48, Laurentiu Mihalcea wrote:
>>> +
>>> +  reg:
>>> +    maxItems: 1
>>> +
>>> +  clocks:
>>> +    maxItems: 1
>> If you do add child nodes, 'simple-mfd' also means there is not any 
>> dependency on the parent node such as needing this clock to be enabled 
>> for the child nodes.
>>
>> Rob
> 
> The plan was to add the children later on as required.
> Given the children would in fact depend on the parent's clock being
> enabled, I wonder if just removing 'simple-mfd' from the compatible
> list would do the trick?

Dropping simple-mfd would be a requirement in such case, but not
sufficient. Please send complete bindings, so with the children.

Best regards,
Krzysztof


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2024-05-13  9:03 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-18 20:37 [PATCH 0/3] Add DSP node for imx8ulp Laurentiu Mihalcea
2024-04-18 20:37 ` Laurentiu Mihalcea
2024-04-18 20:37 ` [PATCH 1/3] dt-bindings: dsp: support imx8ulp dsp clocks Laurentiu Mihalcea
2024-04-18 20:37   ` Laurentiu Mihalcea
2024-04-18 21:08   ` Frank Li
2024-04-18 21:08     ` Frank Li
2024-04-22 14:24     ` Rob Herring
2024-04-22 14:24       ` Rob Herring
2024-04-22 14:26   ` Rob Herring
2024-04-22 14:26     ` Rob Herring
2024-04-18 20:37 ` [PATCH 2/3] dt-bindings: mfd: add schema for 8ulp AVD-SIM Laurentiu Mihalcea
2024-04-18 20:37   ` Laurentiu Mihalcea
2024-04-18 21:10   ` Frank Li
2024-04-18 21:10     ` Frank Li
2024-04-22 14:29   ` Rob Herring
2024-04-22 14:29     ` Rob Herring
2024-05-09 18:48     ` Laurentiu Mihalcea
2024-05-09 18:48       ` Laurentiu Mihalcea
2024-05-13  9:02       ` Krzysztof Kozlowski
2024-05-13  9:02         ` Krzysztof Kozlowski
2024-04-18 20:37 ` [PATCH 3/3] arm64: dts: imx8ulp: add DSP node Laurentiu Mihalcea
2024-04-18 20:37   ` Laurentiu Mihalcea
2024-04-18 21:17   ` Frank Li
2024-04-18 21:17     ` Frank Li

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.