
On 1/3/25 7:45 AM, Alice Guo wrote:
From: Viorel Suman viorel.suman@nxp.com
When interrupt driven communication is supported
U-Boot does not use interrupts.
, the transport allows the caller to choose between interrupt and polling driven communications. To make the choice, the channel flags are used. i.MX95 uses interrupt driven communication so that Channel flags should be set to 1.
How does this work in U-Boot, which does not use interrupts ?
Hi Marek,
The clearer explanation will be added in the commit log.
This is based on Arm® System Control and Management Interface Platform Design Document Version 3.2 (Document number: DEN0056E) 5.1.2. When Bit[0] of Channel flags is 1, the System Manager runs on M core will trigger general-purpose interrupts to A core. U-Boot polls General-purpose Status (GSR) until GIPn is set.
/* Command should complete via an interrupt so that set Channel flags
to 1. */
if (IS_ENABLED(CONFIG_IMX95))
scmi_smt_enable_intr(smt, true);
This SoC specific stuff shouldn't be in generic code.
Can this be moved elsewhere ?
Will change it in v4.
Best Regards, Alice Guo