pub trait PeripheralManagement<C> where
    C: ClockInterface
{ type RegisterType; fn get_registers(&self) -> &Self::RegisterType; fn get_clock(&self) -> &C; fn before_peripheral_access(&self, _: &C, _: &Self::RegisterType); fn after_peripheral_access(&self, _: &C, _: &Self::RegisterType); }
Expand description

A structure encapsulating a peripheral should implement this trait.

Required Associated Types

Required Methods

How to get a reference to the physical hardware registers (the MMIO struct).

Which clock feeds this peripheral.

For peripherals with no clock, use &::kernel::platform::chip::NO_CLOCK_CONTROL.

Called before peripheral access.

Responsible for ensure the periphal can be safely accessed, e.g. that its clock is powered on.

Called after periphal access.

Currently used primarily for power management to check whether the peripheral can be powered off.