pub struct HardwareDoorbellParty {
pub core: Party,
pub irq: u32,
pub window: DoorbellWindow,
pub memory: u32,
pub page_memory: u32,
pub page_irq: u32,
}Fields§
§core: PartyCore name.
- A-core secure:
optee. - A-core non-secure:
linux. - M-core: for example,
cm7,cm33, etc. If there are multiple same cortex cores, e.g., two Cortex-M7, usecm7:0andcm7:1. - TrustZone: add
-ssuffix, e.g.,cm33-s, orcm33:1-s.
irq: u32Interrupt number.
- A-core (GIC): raw SPI number (starts from 0).
- M-core (NVIC): raw NVIC position.
These are two different numbering spaces, and the linux/optee entries
are consumed verbatim as the interrupts cell of the generated UIO node.
Copying an M-core NVIC position into an A-core slot therefore produces a
device tree that binds the wrong line, with no diagnostic.
window: DoorbellWindowWhich of the peripheral’s per-side register windows this party drives.
An i.MX MU exposes the same instance through two windows — MUA and MUB, one per processor — and which side a core gets is a silicon fact, not a property of its role in the channel. On i.MX 95 the A-core is on MUA and the CM7 on MUB; on i.MX 93 it is the other way round. STM32 IPCC/HSEM expose one block with a bank per core, so they leave this at the default.
This selects the generated doorbell’s side marker; the window’s address
is memory.
memory: u32Base of the register window this party drives, relative to the chip’s peripheral alias.
Single-window blocks (STM32 IPCC/HSEM) repeat the block base for every party; an i.MX MU gives each party the base of its own MUA/MUB window.
page_memory: u32TRM page documenting the peripheral memory mapping for this core view.
page_irq: u32TRM page documenting the interrupt number for this core view.
Trait Implementations§
Source§impl Clone for HardwareDoorbellParty
impl Clone for HardwareDoorbellParty
Source§fn clone(&self) -> HardwareDoorbellParty
fn clone(&self) -> HardwareDoorbellParty
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more