> On 1/3/25 7:45 AM, Alice Guo wrote: > > From: Viorel Suman <viorel.su...@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