pub struct VexpressConfig {
regs: MmioRegion,
dcc_regs: MmioRegion,
dcc_initialized: AtomicBool,
master_site: u32,
power_state: PowerState,
}Fields§
§regs: MmioRegion§dcc_regs: MmioRegionDCC clock-generator register block, mapped separately from the syscfg registers (platform-dependent base).
dcc_initialized: AtomicBoolTrue once the DCC has been programmed; guarded atomically because
transactions are issued through &self.
master_site: u32§power_state: PowerStateImplementations§
Source§impl VexpressConfig
impl VexpressConfig
Sourcepub fn init_dcc_regs(&mut self, base: usize)
pub fn init_dcc_regs(&mut self, base: usize)
Maps the DCC register block. Must be called before Self::init
for config-bus transactions to be allowed (the DCC must run before
any transaction can succeed, per the VExpress syscfg spec).
Sourcefn ensure_dcc_ready(&self) -> Result<(), BusError>
fn ensure_dcc_ready(&self) -> Result<(), BusError>
Programs the DCC to run the config bus at
DCC_TARGET_FREQ_MHZ from DCC_REF_FREQ_MHZ, exactly once.
Sourcefn detect_master_site(&mut self)
fn detect_master_site(&mut self)
Performs the detect master site operation.
Sourcepub fn read_procid(&self, site: u32) -> u32
pub fn read_procid(&self, site: u32) -> u32
Reads procid.
Trait Implementations§
Source§impl BusDriver for VexpressConfig
impl BusDriver for VexpressConfig
Source§fn compatible(&self) -> &[&str]
fn compatible(&self) -> &[&str]
Performs the compatible operation.
Source§fn as_firewall(&self) -> Option<&dyn FirewallController>
fn as_firewall(&self) -> Option<&dyn FirewallController>
Returns the optional [
FirewallController] capability, if any. Read moreSource§fn probe(&self) -> bool
fn probe(&self) -> bool
Returns
true if the driver believes the hardware is present. Read moreSource§fn error_count(&self) -> u64
fn error_count(&self) -> u64
Performs the error count operation.
Source§fn handle_irq(&mut self) -> bool
fn handle_irq(&mut self) -> bool
Handles irq.
Auto Trait Implementations§
impl !Freeze for VexpressConfig
impl RefUnwindSafe for VexpressConfig
impl Send for VexpressConfig
impl Sync for VexpressConfig
impl Unpin for VexpressConfig
impl UnsafeUnpin for VexpressConfig
impl UnwindSafe for VexpressConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more