template <typename ForcedAccessType = void>
class RegisterMmioScaled
Defined at line 29 of file ../../zircon/system/ulib/hwreg/include/hwreg/mmio.h
This can be passed to ReadFrom and WriteTo methods. The RegisterAddr object holds an offset from
an MMIO base address stored in this object.
The template parameter defines a type meant to be used for MMIO operations (read/write).
This implies that values are casted to and from |ForcedAccessType|. This affects register
offsets as well, since offsets will be scaled with by |sizeof(ForcedAccessType)|.
|ForcedAccessType = void| is a special case where unscaled and unconstrained MMIO operations are
performed; that is no casting is performed between types and no scaling is applied to the
offsets.
Public Methods
void RegisterMmioScaled<ForcedAccessType> (volatile void * mmio)
Defined at line 31 of file ../../zircon/system/ulib/hwreg/include/hwreg/mmio.h
template <typename IntType>
void Write (IntType val, uint32_t offset)
Write |val| to the |sizeof(IntType)| byte field located |offset| bytes from
|base()|.
Defined at line 36 of file ../../zircon/system/ulib/hwreg/include/hwreg/mmio.h
template <typename IntType>
IntType Read (uint32_t offset)
Read the value of the |sizeof(IntType)| byte field located |offset| bytes from
|base()|.
Defined at line 44 of file ../../zircon/system/ulib/hwreg/include/hwreg/mmio.h
uintptr_t base ()
Defined at line 49 of file ../../zircon/system/ulib/hwreg/include/hwreg/mmio.h