public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: Beleswar Padhi <b-padhi@ti.com>
To: <nm@ti.com>, <vigneshr@ti.com>, <kristo@kernel.org>,
	<robh@kernel.org>, <krzk+dt@kernel.org>, <conor+dt@kernel.org>
Cc: <afd@ti.com>, <u-kumar1@ti.com>, <hnagalla@ti.com>, <jm@ti.com>,
	<b-padhi@ti.com>, <devicetree@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>
Subject: [PATCH v3 27/33] arm64: dts: ti: k3-j784s4-ti-ipc-firmware: Refactor IPC cfg into new dtsi
Date: Fri, 5 Sep 2025 10:48:40 +0530	[thread overview]
Message-ID: <20250905051846.1189612-28-b-padhi@ti.com> (raw)
In-Reply-To: <20250905051846.1189612-1-b-padhi@ti.com>

The TI K3 J784S4 SoCs have multiple programmable remote processors like
R5F, C7x etc. The TI SDKs for J784S4 SoCs offer sample firmwares which
could be run on these cores to demonstrate an "echo" IPC test. Those
firmware require certain memory carveouts to be reserved from system
memory, timers to be reserved, and certain mailbox configurations for
interrupt based messaging. These configurations could be different for a
different firmware.

While DT is not meant for system configurations, at least refactor these
configurations from board level DTS into a dtsi for now. This dtsi for
TI IPC firmware is board-independent and can be applied to all boards
from the same SoC Family. This gets rid of code duplication and allows
more freedom for users developing custom firmware (or no firmware) to
utilize system resources better; easily by swapping out this dtsi. To
maintain backward compatibility, the dtsi is included in all boards.

This patch only refactors the C71_3 remote processor related nodes into
the new dtsi. All other nodes have been refactored in the previous
commit as part of k3-j784s4-j742s2-ti-ipc-firmware-common.dtsi.

Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
---
v3: Changelog:
1. None

Link to v2:
https://lore.kernel.org/all/20250823160901.2177841-28-b-padhi@ti.com/

v2: Changelog:
1. Re-ordered patch from [PATCH 12/33] to [PATCH v2 27/33].

Link to v1:
https://lore.kernel.org/all/20250814223839.3256046-13-b-padhi@ti.com/

 arch/arm64/boot/dts/ti/k3-am69-sk.dts         | 27 +-------------
 arch/arm64/boot/dts/ti/k3-j784s4-evm.dts      | 26 +-------------
 .../dts/ti/k3-j784s4-ti-ipc-firmware.dtsi     | 35 +++++++++++++++++++
 3 files changed, 37 insertions(+), 51 deletions(-)
 create mode 100644 arch/arm64/boot/dts/ti/k3-j784s4-ti-ipc-firmware.dtsi

diff --git a/arch/arm64/boot/dts/ti/k3-am69-sk.dts b/arch/arm64/boot/dts/ti/k3-am69-sk.dts
index 3acd86b7845a..7d0ed596c9d8 100644
--- a/arch/arm64/boot/dts/ti/k3-am69-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am69-sk.dts
@@ -60,18 +60,6 @@ mcu_r5fss0_core0_memory_region: r5f-memory@a0100000 {
 			reg = <0x00 0xa0100000 0x00 0xf00000>;
 			no-map;
 		};
-
-		c71_3_dma_memory_region: c71-dma-memory@ab000000 {
-			compatible = "shared-dma-pool";
-			reg = <0x00 0xab000000 0x00 0x100000>;
-			no-map;
-		};
-
-		c71_3_memory_region: c71-memory@ab100000 {
-			compatible = "shared-dma-pool";
-			reg = <0x00 0xab100000 0x00 0xf00000>;
-			no-map;
-		};
 	};
 
 	vusb_main: regulator-vusb-main5v0 {
@@ -520,13 +508,6 @@ &phy_gmii_sel {
 	bootph-all;
 };
 
-&mailbox0_cluster5 {
-	mbox_c71_3: mbox-c71-3 {
-		ti,mbox-rx = <2 0 0>;
-		ti,mbox-tx = <3 0 0>;
-	};
-};
-
 &wkup_uart0 {
 	/* Firmware usage */
 	status = "reserved";
@@ -795,13 +776,6 @@ &mcu_cpsw_port1 {
 	bootph-all;
 };
 
-&c71_3 {
-	status = "okay";
-	mboxes = <&mailbox0_cluster5 &mbox_c71_3>;
-	memory-region = <&c71_3_dma_memory_region>,
-			<&c71_3_memory_region>;
-};
-
 &wkup_gpio_intr {
 	status = "okay";
 };
@@ -1086,3 +1060,4 @@ &usb0 {
 };
 
 #include "k3-j784s4-j742s2-ti-ipc-firmware-common.dtsi"
+#include "k3-j784s4-ti-ipc-firmware.dtsi"
diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
index a84bde08f85e..6c7458c76f53 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
@@ -27,31 +27,7 @@ memory@80000000 {
 	reserved_memory: reserved-memory {
 		#address-cells = <2>;
 		#size-cells = <2>;
-
-		c71_3_dma_memory_region: c71-dma-memory@ab000000 {
-			compatible = "shared-dma-pool";
-			reg = <0x00 0xab000000 0x00 0x100000>;
-			no-map;
-		};
-
-		c71_3_memory_region: c71-memory@ab100000 {
-			compatible = "shared-dma-pool";
-			reg = <0x00 0xab100000 0x00 0xf00000>;
-			no-map;
-		};
-	};
-};
-
-&mailbox0_cluster5 {
-	mbox_c71_3: mbox-c71-3 {
-		ti,mbox-rx = <2 0 0>;
-		ti,mbox-tx = <3 0 0>;
 	};
 };
 
-&c71_3 {
-	mboxes = <&mailbox0_cluster5 &mbox_c71_3>;
-	memory-region = <&c71_3_dma_memory_region>,
-			<&c71_3_memory_region>;
-	status = "okay";
-};
+#include "k3-j784s4-ti-ipc-firmware.dtsi"
diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-ti-ipc-firmware.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-ti-ipc-firmware.dtsi
new file mode 100644
index 000000000000..23020c0bbb28
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-ti-ipc-firmware.dtsi
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/**
+ * Device Tree Source for enabling IPC using TI SDK firmware on J784S4 SoCs
+ *
+ * Copyright (C) 2022-2025 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+&reserved_memory {
+	c71_3_dma_memory_region: c71-dma-memory@ab000000 {
+		compatible = "shared-dma-pool";
+		reg = <0x00 0xab000000 0x00 0x100000>;
+		no-map;
+	};
+
+	c71_3_memory_region: c71-memory@ab100000 {
+		compatible = "shared-dma-pool";
+		reg = <0x00 0xab100000 0x00 0xf00000>;
+		no-map;
+	};
+};
+
+&mailbox0_cluster5 {
+
+	mbox_c71_3: mbox-c71-3 {
+		ti,mbox-rx = <2 0 0>;
+		ti,mbox-tx = <3 0 0>;
+	};
+};
+
+&c71_3 {
+	mboxes = <&mailbox0_cluster5 &mbox_c71_3>;
+	memory-region = <&c71_3_dma_memory_region>,
+			<&c71_3_memory_region>;
+	status = "okay";
+};
-- 
2.34.1



  parent reply	other threads:[~2025-09-05  6:48 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-05  5:18 [PATCH v3 00/33] Refactor TI IPC DT configs into dtsi Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 01/33] arm64: dts: ti: k3-j7200: Enable R5F remote processors at board level Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 02/33] arm64: dts: ti: k3-j721e: Enable " Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 03/33] arm64: dts: ti: k3-j721s2: " Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 04/33] arm64: dts: ti: k3-j784s4-j742s2: " Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 05/33] arm64: dts: ti: k3-am62p-j722s: " Beleswar Padhi
2025-09-05 19:09   ` Dhruva Gole
2025-09-05  5:18 ` [PATCH v3 06/33] arm64: dts: ti: k3-am62: " Beleswar Padhi
2025-09-05 19:11   ` Dhruva Gole
2025-09-05  5:18 ` [PATCH v3 07/33] arm64: dts: ti: k3-am62a: " Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 08/33] arm64: dts: ti: k3-am64: " Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 09/33] arm64: dts: ti: k3-am65: " Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 10/33] arm64: dts: ti: k3-am62: Enable Mailbox nodes at the " Beleswar Padhi
2025-09-05 19:13   ` Dhruva Gole
2025-09-05  5:18 ` [PATCH v3 11/33] arm64: dts: ti: k3-am62a: " Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 12/33] arm64: dts: ti: k3-am6*-boards: Add label to reserved-memory node Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 13/33] arm64: dts: ti: k3-j721e-beagleboneai64: Add missing cfg for TI IPC FW Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 14/33] arm64: dts: ti: k3-am62p-verdin: Add missing cfg for TI IPC Firmware Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 15/33] arm64: dts: ti: k3-am62-verdin: " Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 16/33] arm64: dts: ti: k3-am62-pocketbeagle2: " Beleswar Padhi
2025-09-08 11:46   ` Dhruva Gole
2025-09-05  5:18 ` [PATCH v3 17/33] arm64: dts: ti: k3-am642-sr-som: " Beleswar Padhi
2025-09-05  6:34   ` Francesco Dolcini
2025-09-05  5:18 ` [PATCH v3 18/33] arm64: dts: ti: k3-am64-phycore-som: " Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 19/33] arm64: dts: ti: k3-am642-tqma64xxl: " Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 20/33] Revert "arm64: dts: ti: k3-j721e-sk: Fix reversed C6x carveout locations" Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 21/33] Revert "arm64: dts: ti: k3-j721e-beagleboneai64: " Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 22/33] arm64: dts: ti: k3-j721e-beagleboneai64: Switch MAIN R5F clusters to Split-mode Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 23/33] arm64: dts: ti: k3-j7200-ti-ipc-firmware: Refactor IPC cfg into new dtsi Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 24/33] arm64: dts: ti: k3-j721e-ti-ipc-firmware: " Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 25/33] arm64: dts: ti: k3-j721s2-ti-ipc-firmware: " Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 26/33] arm64: dts: ti: k3-j784s4-j742s2-ti-ipc-firmware-common: " Beleswar Padhi
2025-09-05  5:18 ` Beleswar Padhi [this message]
2025-09-05  5:18 ` [PATCH v3 28/33] arm64: dts: ti: k3-j722s-ti-ipc-firmware: " Beleswar Padhi
2025-09-05  5:18 ` [PATCH v3 29/33] arm64: dts: ti: k3-am62p-ti-ipc-firmware: " Beleswar Padhi
2025-09-08  9:45   ` Dhruva Gole
2025-09-05  5:18 ` [PATCH v3 30/33] arm64: dts: ti: k3-am62-ti-ipc-firmware: " Beleswar Padhi
2025-09-08  9:37   ` Dhruva Gole
2025-09-05  5:18 ` [PATCH v3 31/33] arm64: dts: ti: k3-am62a-ti-ipc-firmware: " Beleswar Padhi
2025-09-08  9:46   ` Dhruva Gole
2025-09-05  5:18 ` [PATCH v3 32/33] arm64: dts: ti: k3-am64-ti-ipc-firmware: " Beleswar Padhi
2025-09-08  9:46   ` Dhruva Gole
2025-09-05  5:18 ` [PATCH v3 33/33] arm64: dts: ti: k3-am65-ti-ipc-firmware: " Beleswar Padhi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250905051846.1189612-28-b-padhi@ti.com \
    --to=b-padhi@ti.com \
    --cc=afd@ti.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=hnagalla@ti.com \
    --cc=jm@ti.com \
    --cc=kristo@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=robh@kernel.org \
    --cc=u-kumar1@ti.com \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox