1*3ad3ab0bSBeleswar Padhi// SPDX-License-Identifier: GPL-2.0-only OR MIT 2*3ad3ab0bSBeleswar Padhi/** 3*3ad3ab0bSBeleswar Padhi * Device Tree Source for enabling IPC using TI SDK firmware on AM64 SoCs 4*3ad3ab0bSBeleswar Padhi * 5*3ad3ab0bSBeleswar Padhi * Copyright (C) 2024-2025 Texas Instruments Incorporated - https://www.ti.com/ 6*3ad3ab0bSBeleswar Padhi */ 7*3ad3ab0bSBeleswar Padhi 8*3ad3ab0bSBeleswar Padhi&reserved_memory { 9*3ad3ab0bSBeleswar Padhi main_r5fss0_core1_dma_memory_region: memory@a1000000 { 10*3ad3ab0bSBeleswar Padhi compatible = "shared-dma-pool"; 11*3ad3ab0bSBeleswar Padhi reg = <0x00 0xa1000000 0x00 0x100000>; 12*3ad3ab0bSBeleswar Padhi no-map; 13*3ad3ab0bSBeleswar Padhi }; 14*3ad3ab0bSBeleswar Padhi 15*3ad3ab0bSBeleswar Padhi main_r5fss0_core1_memory_region: memory@a1100000 { 16*3ad3ab0bSBeleswar Padhi compatible = "shared-dma-pool"; 17*3ad3ab0bSBeleswar Padhi reg = <0x00 0xa1100000 0x00 0xf00000>; 18*3ad3ab0bSBeleswar Padhi no-map; 19*3ad3ab0bSBeleswar Padhi }; 20*3ad3ab0bSBeleswar Padhi 21*3ad3ab0bSBeleswar Padhi main_r5fss1_core0_dma_memory_region: memory@a2000000 { 22*3ad3ab0bSBeleswar Padhi compatible = "shared-dma-pool"; 23*3ad3ab0bSBeleswar Padhi reg = <0x00 0xa2000000 0x00 0x100000>; 24*3ad3ab0bSBeleswar Padhi no-map; 25*3ad3ab0bSBeleswar Padhi }; 26*3ad3ab0bSBeleswar Padhi 27*3ad3ab0bSBeleswar Padhi main_r5fss1_core0_memory_region: memory@a2100000 { 28*3ad3ab0bSBeleswar Padhi compatible = "shared-dma-pool"; 29*3ad3ab0bSBeleswar Padhi reg = <0x00 0xa2100000 0x00 0xf00000>; 30*3ad3ab0bSBeleswar Padhi no-map; 31*3ad3ab0bSBeleswar Padhi }; 32*3ad3ab0bSBeleswar Padhi 33*3ad3ab0bSBeleswar Padhi main_r5fss1_core1_dma_memory_region: memory@a3000000 { 34*3ad3ab0bSBeleswar Padhi compatible = "shared-dma-pool"; 35*3ad3ab0bSBeleswar Padhi reg = <0x00 0xa3000000 0x00 0x100000>; 36*3ad3ab0bSBeleswar Padhi no-map; 37*3ad3ab0bSBeleswar Padhi }; 38*3ad3ab0bSBeleswar Padhi 39*3ad3ab0bSBeleswar Padhi main_r5fss1_core1_memory_region: memory@a3100000 { 40*3ad3ab0bSBeleswar Padhi compatible = "shared-dma-pool"; 41*3ad3ab0bSBeleswar Padhi reg = <0x00 0xa3100000 0x00 0xf00000>; 42*3ad3ab0bSBeleswar Padhi no-map; 43*3ad3ab0bSBeleswar Padhi }; 44*3ad3ab0bSBeleswar Padhi 45*3ad3ab0bSBeleswar Padhi mcu_m4fss_dma_memory_region: memory@a4000000 { 46*3ad3ab0bSBeleswar Padhi compatible = "shared-dma-pool"; 47*3ad3ab0bSBeleswar Padhi reg = <0x00 0xa4000000 0x00 0x100000>; 48*3ad3ab0bSBeleswar Padhi no-map; 49*3ad3ab0bSBeleswar Padhi }; 50*3ad3ab0bSBeleswar Padhi 51*3ad3ab0bSBeleswar Padhi mcu_m4fss_memory_region: memory@a4100000 { 52*3ad3ab0bSBeleswar Padhi compatible = "shared-dma-pool"; 53*3ad3ab0bSBeleswar Padhi reg = <0x00 0xa4100000 0x00 0xf00000>; 54*3ad3ab0bSBeleswar Padhi no-map; 55*3ad3ab0bSBeleswar Padhi }; 56*3ad3ab0bSBeleswar Padhi 57*3ad3ab0bSBeleswar Padhi rtos_ipc_memory_region: memory@a5000000 { 58*3ad3ab0bSBeleswar Padhi reg = <0x00 0xa5000000 0x00 0x00800000>; 59*3ad3ab0bSBeleswar Padhi alignment = <0x1000>; 60*3ad3ab0bSBeleswar Padhi no-map; 61*3ad3ab0bSBeleswar Padhi }; 62*3ad3ab0bSBeleswar Padhi}; 63*3ad3ab0bSBeleswar Padhi 64*3ad3ab0bSBeleswar Padhi&mailbox0_cluster2 { 65*3ad3ab0bSBeleswar Padhi status = "okay"; 66*3ad3ab0bSBeleswar Padhi 67*3ad3ab0bSBeleswar Padhi mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 { 68*3ad3ab0bSBeleswar Padhi ti,mbox-rx = <0 0 2>; 69*3ad3ab0bSBeleswar Padhi ti,mbox-tx = <1 0 2>; 70*3ad3ab0bSBeleswar Padhi }; 71*3ad3ab0bSBeleswar Padhi 72*3ad3ab0bSBeleswar Padhi mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 { 73*3ad3ab0bSBeleswar Padhi ti,mbox-rx = <2 0 2>; 74*3ad3ab0bSBeleswar Padhi ti,mbox-tx = <3 0 2>; 75*3ad3ab0bSBeleswar Padhi }; 76*3ad3ab0bSBeleswar Padhi}; 77*3ad3ab0bSBeleswar Padhi 78*3ad3ab0bSBeleswar Padhi&mailbox0_cluster4 { 79*3ad3ab0bSBeleswar Padhi status = "okay"; 80*3ad3ab0bSBeleswar Padhi 81*3ad3ab0bSBeleswar Padhi mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 { 82*3ad3ab0bSBeleswar Padhi ti,mbox-rx = <0 0 2>; 83*3ad3ab0bSBeleswar Padhi ti,mbox-tx = <1 0 2>; 84*3ad3ab0bSBeleswar Padhi }; 85*3ad3ab0bSBeleswar Padhi 86*3ad3ab0bSBeleswar Padhi mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 { 87*3ad3ab0bSBeleswar Padhi ti,mbox-rx = <2 0 2>; 88*3ad3ab0bSBeleswar Padhi ti,mbox-tx = <3 0 2>; 89*3ad3ab0bSBeleswar Padhi }; 90*3ad3ab0bSBeleswar Padhi}; 91*3ad3ab0bSBeleswar Padhi 92*3ad3ab0bSBeleswar Padhi&mailbox0_cluster6 { 93*3ad3ab0bSBeleswar Padhi status = "okay"; 94*3ad3ab0bSBeleswar Padhi 95*3ad3ab0bSBeleswar Padhi mbox_m4_0: mbox-m4-0 { 96*3ad3ab0bSBeleswar Padhi ti,mbox-rx = <0 0 2>; 97*3ad3ab0bSBeleswar Padhi ti,mbox-tx = <1 0 2>; 98*3ad3ab0bSBeleswar Padhi }; 99*3ad3ab0bSBeleswar Padhi}; 100*3ad3ab0bSBeleswar Padhi 101*3ad3ab0bSBeleswar Padhi/* main_timer8 is used by r5f0-0 */ 102*3ad3ab0bSBeleswar Padhi&main_timer8 { 103*3ad3ab0bSBeleswar Padhi status = "reserved"; 104*3ad3ab0bSBeleswar Padhi}; 105*3ad3ab0bSBeleswar Padhi 106*3ad3ab0bSBeleswar Padhi/* main_timer9 is used by r5f0-1 */ 107*3ad3ab0bSBeleswar Padhi&main_timer9 { 108*3ad3ab0bSBeleswar Padhi status = "reserved"; 109*3ad3ab0bSBeleswar Padhi}; 110*3ad3ab0bSBeleswar Padhi 111*3ad3ab0bSBeleswar Padhi/* main_timer10 is used by r5f1-0 */ 112*3ad3ab0bSBeleswar Padhi&main_timer10 { 113*3ad3ab0bSBeleswar Padhi status = "reserved"; 114*3ad3ab0bSBeleswar Padhi}; 115*3ad3ab0bSBeleswar Padhi 116*3ad3ab0bSBeleswar Padhi/* main_timer11 is used by r5f1-1 */ 117*3ad3ab0bSBeleswar Padhi&main_timer11 { 118*3ad3ab0bSBeleswar Padhi status = "reserved"; 119*3ad3ab0bSBeleswar Padhi}; 120*3ad3ab0bSBeleswar Padhi 121*3ad3ab0bSBeleswar Padhi&main_r5fss0 { 122*3ad3ab0bSBeleswar Padhi status = "okay"; 123*3ad3ab0bSBeleswar Padhi}; 124*3ad3ab0bSBeleswar Padhi 125*3ad3ab0bSBeleswar Padhi&main_r5fss0_core0 { 126*3ad3ab0bSBeleswar Padhi mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>; 127*3ad3ab0bSBeleswar Padhi memory-region = <&main_r5fss0_core0_dma_memory_region>, 128*3ad3ab0bSBeleswar Padhi <&main_r5fss0_core0_memory_region>; 129*3ad3ab0bSBeleswar Padhi status = "okay"; 130*3ad3ab0bSBeleswar Padhi}; 131*3ad3ab0bSBeleswar Padhi 132*3ad3ab0bSBeleswar Padhi&main_r5fss0_core1 { 133*3ad3ab0bSBeleswar Padhi mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>; 134*3ad3ab0bSBeleswar Padhi memory-region = <&main_r5fss0_core1_dma_memory_region>, 135*3ad3ab0bSBeleswar Padhi <&main_r5fss0_core1_memory_region>; 136*3ad3ab0bSBeleswar Padhi status = "okay"; 137*3ad3ab0bSBeleswar Padhi}; 138*3ad3ab0bSBeleswar Padhi 139*3ad3ab0bSBeleswar Padhi&main_r5fss1 { 140*3ad3ab0bSBeleswar Padhi status = "okay"; 141*3ad3ab0bSBeleswar Padhi}; 142*3ad3ab0bSBeleswar Padhi 143*3ad3ab0bSBeleswar Padhi&main_r5fss1_core0 { 144*3ad3ab0bSBeleswar Padhi mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>; 145*3ad3ab0bSBeleswar Padhi memory-region = <&main_r5fss1_core0_dma_memory_region>, 146*3ad3ab0bSBeleswar Padhi <&main_r5fss1_core0_memory_region>; 147*3ad3ab0bSBeleswar Padhi status = "okay"; 148*3ad3ab0bSBeleswar Padhi}; 149*3ad3ab0bSBeleswar Padhi 150*3ad3ab0bSBeleswar Padhi&main_r5fss1_core1 { 151*3ad3ab0bSBeleswar Padhi mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>; 152*3ad3ab0bSBeleswar Padhi memory-region = <&main_r5fss1_core1_dma_memory_region>, 153*3ad3ab0bSBeleswar Padhi <&main_r5fss1_core1_memory_region>; 154*3ad3ab0bSBeleswar Padhi status = "okay"; 155*3ad3ab0bSBeleswar Padhi}; 156*3ad3ab0bSBeleswar Padhi 157*3ad3ab0bSBeleswar Padhi&mcu_m4fss { 158*3ad3ab0bSBeleswar Padhi mboxes = <&mailbox0_cluster6 &mbox_m4_0>; 159*3ad3ab0bSBeleswar Padhi memory-region = <&mcu_m4fss_dma_memory_region>, 160*3ad3ab0bSBeleswar Padhi <&mcu_m4fss_memory_region>; 161*3ad3ab0bSBeleswar Padhi status = "okay"; 162*3ad3ab0bSBeleswar Padhi}; 163