<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX ProcessorsのトピックRe: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-MX-95-Dynamic-TRDC-System-Manager-Resource-Allocation-and-GPIO/m-p/2412897#M246683</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;On the i.MX 95, the MIPI DSI resource can be used by the M7 initially and later handed over to the A55. The resource access and ownership should be configured through the System Manager/TRDC configuration, while the actual runtime handover should be handled by software. TRDC controls which Logical Machine/domain is allowed to access the peripheral, but it does not manage synchronization between M7 and A55. Therefore, M7 should first complete all DSI operations, stop using the peripheral, and notify A55 through an inter-core mechanism such as MU/IPC before A55 takes control. Similarly, GPIO resources can be made accessible to both M7 and A55 through the appropriate TRDC configuration, but simultaneous access must be synchronized by software. For the DSI use case, the recommended approach is to have only one core actively use the peripheral at a time and use MU/IPC for the handover.&lt;/P&gt;</description>
    <pubDate>Fri, 11 Sep 2026 05:42:20 GMT</pubDate>
    <dc:creator>drist029ity</dc:creator>
    <dc:date>2026-09-11T05:42:20Z</dc:date>
    <item>
      <title>i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX-95-Dynamic-TRDC-System-Manager-Resource-Allocation-and-GPIO/m-p/2412214#M246653</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hi Team,&lt;BR /&gt;&lt;BR /&gt;We are working on an&amp;nbsp;&lt;STRONG&gt;i.MX 95 platform&lt;/STRONG&gt;&amp;nbsp;and would like to use the&amp;nbsp;&lt;STRONG&gt;MIPI DSI peripheral initially from the M7 core&lt;/STRONG&gt;, and then hand over the resource to the&amp;nbsp;&lt;STRONG&gt;A55 core at runtime&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;BR /&gt;From our understanding, the peripheral resources and their ownership are initially defined for each&amp;nbsp;&lt;STRONG&gt;Logical Machine/processor&lt;/STRONG&gt;&amp;nbsp;in the&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;mx95evk.cfg&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;file generated/configured through the&amp;nbsp;&lt;STRONG&gt;System Manager tools&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;BR /&gt;We would like to clarify the following:&lt;/SPAN&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN&gt;Dynamic Resource Handover:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;&lt;BR /&gt;Is it possible to dynamically transfer the MIPI DSI peripheral resource from M7 to A55 at runtime? For example, M7 would initially own and use MIPI DSI, then release it, after which A55 would take ownership and use the same peripheral.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN&gt;Dynamic Resource Allocation:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;&lt;BR /&gt;If runtime handover is supported, what is the recommended mechanism/API to change the resource ownership or access permissions dynamically? Is this handled through the System Manager, TRDC, or another mechanism?&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN&gt;GPIO Sharing:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;&lt;BR /&gt;Is it possible for the same GPIO port/resource to be accessed by both M7 and A55 simultaneously? If so, are there any TRDC configuration requirements or software synchronization mechanisms that need to be implemented to safely share the GPIO resource?&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN&gt;&lt;BR /&gt;We would appreciate any guidance on the recommended approach for implementing&amp;nbsp;&lt;STRONG&gt;dynamic peripheral handover and/or resource sharing between M7 and A55&lt;/STRONG&gt;&amp;nbsp;on the i.MX 95.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Sep 2026 05:04:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX-95-Dynamic-TRDC-System-Manager-Resource-Allocation-and-GPIO/m-p/2412214#M246653</guid>
      <dc:creator>Manoj2605</dc:creator>
      <dc:date>2026-09-09T05:04:41Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX-95-Dynamic-TRDC-System-Manager-Resource-Allocation-and-GPIO/m-p/2412867#M246681</link>
      <description>&lt;P&gt;I discussed with the AE team, please refer to the following update.&lt;/P&gt;
&lt;P&gt;On i.MX 95, resource&amp;nbsp;&lt;STRONG&gt;ownership and TRDC permissions are defined statically at build time&lt;/STRONG&gt;&amp;nbsp;in the SM config (mx95evk.cfg&amp;nbsp;→ generated&amp;nbsp;config_&lt;STRONG&gt;.h) and applied by the System Manager (SM) when a MIX powers up.&amp;nbsp;*There is no SCMI/SM message that transfers ownership of a peripheral from one Logical Machine (LM) to another at runtime.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;However, SM documentation names&amp;nbsp;&lt;STRONG&gt;"handing a display over from one LM to another"&lt;/STRONG&gt;&amp;nbsp;as the&amp;nbsp;&lt;EM&gt;exact motivating use case&lt;/EM&gt;&amp;nbsp;for the&amp;nbsp;SM_SCMI_PERM_EXCLUSIVE&amp;nbsp;model. So the handover is achievable, just not by "moving" ownership.&lt;/P&gt;
&lt;P&gt;Q1 &amp;amp; Q2 — MIPI DSI M7 → A55 handover: how to do it&lt;/P&gt;
&lt;P&gt;The LMM (Logical Machine Management) SCMI protocol only boots / resets / shuts down / suspends / wakes LMs — it has&amp;nbsp;&lt;STRONG&gt;no&amp;nbsp;RESOURCE_ASSIGN&amp;nbsp;or&amp;nbsp;OWNERSHIP_TRANSFER&amp;nbsp;message&lt;/STRONG&gt;. Instead, use a&amp;nbsp;&lt;STRONG&gt;temporal-division handoff&lt;/STRONG&gt;:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Grant BOTH LMs access up-front&lt;/STRONG&gt;&amp;nbsp;in&amp;nbsp;mx95evk.cfg. By default the EVK config assigns&amp;nbsp;MIPI_DSI,&amp;nbsp;MIPI_PHY,&amp;nbsp;DC_DISPENG,&amp;nbsp;BLK_CTRL_DISPLAYMIX, the display clocks/power (PD_DISPLAY,&amp;nbsp;CLK_DISP*) as&amp;nbsp;&lt;STRONG&gt;OWNER of the AP (LM2) only&lt;/STRONG&gt;&amp;nbsp;— you must&amp;nbsp;&lt;STRONG&gt;also add them to the M7 LM (LM1)&lt;/STRONG&gt;&amp;nbsp;to allow M7-first usage.&lt;/LI&gt;
&lt;LI&gt;Mark the SM-managed resources (clocks, power, reset) as&amp;nbsp;SM_SCMI_PERM_EXCLUSIVE&amp;nbsp;(api=all) so requests from the two LMs are&amp;nbsp;&lt;STRONG&gt;not silently aggregated/overwritten&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;At handover,&amp;nbsp;&lt;STRONG&gt;M7 quiesces DSI/DCIF&lt;/STRONG&gt;, then signals A55 via application-level IPC (MU mailbox or SCMI notification). A55 (Linux/DRM DSI+DPU stack) then brings up the same IP.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;The handoff sequencing is the&amp;nbsp;&lt;STRONG&gt;customer's software responsibility&lt;/STRONG&gt;&amp;nbsp;(temporal division). The SM only guarantees the HW is drivable from either side because both LMs were pre-granted access. TRDC ownership cannot be rewritten at runtime — only the SM programs TRDC, and only from the static config at MIX power-up.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;TRDC config that controls this&lt;/STRONG&gt;&amp;nbsp;(expressed in the&amp;nbsp;.cfg):&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;MDAC_am=…&amp;nbsp;— Master-Domain Assignment (maps a bus master to a domain ID)&lt;/LI&gt;
&lt;LI&gt;MBC_am=s.b&amp;nbsp;— Memory Block Check —&amp;nbsp;&lt;STRONG&gt;this is where peripheral access is gated&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;MRC_am=…&amp;nbsp;— Memory Region Check (large memory regions like DDR)&lt;/LI&gt;
&lt;LI&gt;Each LM binds to a DID, e.g.&amp;nbsp;SM did=2,&amp;nbsp;AP(LM2) did=3,&amp;nbsp;M7(LM1) did=4.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Q3 — Shared GPIO between M7 and A55&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Yes, TRDC can grant both the M7 domain and the A55 domain concurrent access to the same GPIO instance&lt;/STRONG&gt;&amp;nbsp;(enable its MBC block for both DIDs). But there is a critical caveat and two supported patterns:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Caveat:&lt;/STRONG&gt;&amp;nbsp;i.MX 95 GPIO has&amp;nbsp;&lt;STRONG&gt;no hardware arbitration&lt;/STRONG&gt;&amp;nbsp;—&amp;nbsp;PDR/DR/GDIR&amp;nbsp;registers are physically shared, so uncoordinated read-modify-write from both cores races.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Pattern A (disjoint pins + SW sync):&lt;/STRONG&gt;&amp;nbsp;Assign specific pins to each core by convention (the config already splits pins per LM). Since the data/direction register banks are still shared, protect concurrent RMW with a&amp;nbsp;&lt;STRONG&gt;hardware semaphore / MU&lt;/STRONG&gt;, or ensure the cores never touch the same register bank concurrently.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Pattern B (SM-arbitrated, recommended for truly shared instances):&lt;/STRONG&gt;&amp;nbsp;Route through the always-on&amp;nbsp;&lt;STRONG&gt;GPIO1&lt;/STRONG&gt;, which is owned by the SM and whose documented role is&amp;nbsp;&lt;EM&gt;"arbitrates shared access."&lt;/EM&gt;&amp;nbsp;IOMUXC/IOMUX_GPR&amp;nbsp;are likewise SM-arbitrated. Pinmux/daisy is set via the SCMI pin-control protocol with per-agent permissions; GPIO&amp;nbsp;&lt;EM&gt;data&lt;/EM&gt;&amp;nbsp;ops are direct MMIO.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Sep 2026 01:35:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX-95-Dynamic-TRDC-System-Manager-Resource-Allocation-and-GPIO/m-p/2412867#M246681</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2026-09-11T01:35:39Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX 95: Dynamic TRDC/System Manager Resource Allocation and GPIO Sharing Between M7 and A55</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX-95-Dynamic-TRDC-System-Manager-Resource-Allocation-and-GPIO/m-p/2412897#M246683</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;On the i.MX 95, the MIPI DSI resource can be used by the M7 initially and later handed over to the A55. The resource access and ownership should be configured through the System Manager/TRDC configuration, while the actual runtime handover should be handled by software. TRDC controls which Logical Machine/domain is allowed to access the peripheral, but it does not manage synchronization between M7 and A55. Therefore, M7 should first complete all DSI operations, stop using the peripheral, and notify A55 through an inter-core mechanism such as MU/IPC before A55 takes control. Similarly, GPIO resources can be made accessible to both M7 and A55 through the appropriate TRDC configuration, but simultaneous access must be synchronized by software. For the DSI use case, the recommended approach is to have only one core actively use the peripheral at a time and use MU/IPC for the handover.&lt;/P&gt;</description>
      <pubDate>Fri, 11 Sep 2026 05:42:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX-95-Dynamic-TRDC-System-Manager-Resource-Allocation-and-GPIO/m-p/2412897#M246683</guid>
      <dc:creator>drist029ity</dc:creator>
      <dc:date>2026-09-11T05:42:20Z</dc:date>
    </item>
  </channel>
</rss>

