]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: ti: k3-am642-tqma64xxl: Add missing cfg for TI IPC Firmware
authorBeleswar Padhi <b-padhi@ti.com>
Mon, 8 Sep 2025 14:28:12 +0000 (19:58 +0530)
committerNishanth Menon <nm@ti.com>
Fri, 12 Sep 2025 04:15:31 +0000 (09:45 +0530)
Currently, only R5F remote processors are enabled for k3-am642-tqma64xxl
whereas the M4F in MCU domain is disabled. Enable the M4F remote
processor at board level by reserving memory carveouts and assigning
mailboxes.

While at it, reserve the MAIN domain timers that are used by R5F remote
processors for ticks to avoid rproc crashes. This config aligns with
other AM64 boards and can be refactored out later.

Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
Link: https://patch.msgid.link/20250908142826.1828676-21-b-padhi@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
arch/arm64/boot/dts/ti/k3-am642-tqma64xxl.dtsi

index 4068d2c2b10c996b8104e4491167257260a118b9..f6d1e980d32f39f77bb81c6fd2c5c63f05bbeec2 100644 (file)
                        no-map;
                };
 
+               mcu_m4fss_dma_memory_region: memory@a4000000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0x00 0xa4000000 0x00 0x100000>;
+                       no-map;
+               };
+
+               mcu_m4fss_memory_region: memory@a4100000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0x00 0xa4100000 0x00 0xf00000>;
+                       no-map;
+               };
+
                rtos_ipc_memory_region: memory@a5000000 {
                        reg = <0x00 0xa5000000 0x00 0x00800000>;
                        alignment = <0x1000>;
        };
 };
 
+/* main_timer8 is used by r5f0-0 */
+&main_timer8 {
+       status = "reserved";
+};
+
+/* main_timer9 is used by r5f0-1 */
+&main_timer9 {
+       status = "reserved";
+};
+
+/* main_timer10 is used by r5f1-0 */
+&main_timer10 {
+       status = "reserved";
+};
+
+/* main_timer11 is used by r5f1-1 */
+&main_timer11 {
+       status = "reserved";
+};
+
 &main_r5fss0 {
        status = "okay";
 };
        status = "okay";
 };
 
+&mcu_m4fss {
+       mboxes = <&mailbox0_cluster6 &mbox_m4_0>;
+       memory-region = <&mcu_m4fss_dma_memory_region>,
+                       <&mcu_m4fss_memory_region>;
+       status = "okay";
+};
+
 &ospi0 {
        status = "okay";
        pinctrl-names = "default";