Struct rk3399_pac::Emmccore

source ·
pub struct Emmccore { /* private fields */ }
Expand description

eMMC Controller (EMMCCORE) Registers

Implementations§

source§

impl Emmccore

source

pub const PTR: *const RegisterBlock = {0xfe330000 as *const emmccore::RegisterBlock}

Pointer to the register block

source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

source

pub unsafe fn steal() -> Self

Steal an instance of this peripheral

§Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

source

pub fn saddr(&self) -> &Saddr

0x00 - System address/ Argument 2 register

source

pub fn blksiz(&self) -> &Blksiz

0x04 - Block size register

source

pub fn blkcnt(&self) -> &Blkcnt

0x06 - Block count register

source

pub fn arg(&self) -> &Arg

0x08 - Argument register

source

pub fn transmod(&self) -> &Transmod

0x0c - Transfer mode register

source

pub fn cmd(&self) -> &Cmd

0x0e - Command register

source

pub fn resp0(&self) -> &Resp0

0x10 - Response register bit [31:0]

source

pub fn resp1(&self) -> &Resp1

0x14 - Response register bit [63:32]

source

pub fn resp2(&self) -> &Resp2

0x18 - Response register bit [95:64]

source

pub fn resp3(&self) -> &Resp3

0x1c - Response register bit [127:98]

source

pub fn buffer(&self) -> &Buffer

0x20 - Buffer data port register

source

pub fn prests(&self) -> &Prests

0x24 - Present state register

source

pub fn hostctrl1(&self) -> &Hostctrl1

0x28 - Host control 1 register

source

pub fn pwrctrl(&self) -> &Pwrctrl

0x29 - Power control register

source

pub fn blkgapctrl(&self) -> &Blkgapctrl

0x2a - Block gap control register

source

pub fn clkctrl(&self) -> &Clkctrl

0x2c - Clock control Register

source

pub fn timeout(&self) -> &Timeout

0x2e - Timeout control register

source

pub fn swrst(&self) -> &Swrst

0x2f - Software reset register

source

pub fn norintsts(&self) -> &Norintsts

0x30 - Normal interrupt status register

source

pub fn errintsts(&self) -> &Errintsts

0x32 - Error interrupt status register

source

pub fn norintstsena(&self) -> &Norintstsena

0x34 - Normal interrupt status enable register

source

pub fn errintstsena(&self) -> &Errintstsena

0x36 - Error interrupt status enable register

source

pub fn norintsigena(&self) -> &Norintsigena

0x38 - Normal interrupt signal enable register

source

pub fn errintsigena(&self) -> &Errintsigena

0x3a - Error interrupt signal enable register

source

pub fn acmderrsts(&self) -> &Acmderrsts

0x3c - Auto CMD error status register

source

pub fn hostctrl2(&self) -> &Hostctrl2

0x3e - Host Control 2 Register

source

pub fn cap(&self) -> &Cap

0x40..0x48 - Capabilities register

source

pub fn feacmd(&self) -> &Feacmd

0x50 - Force event register for Auto CMD error status

source

pub fn feerrint(&self) -> &Feerrint

0x52 - Force event register for error interrupt status

source

pub fn admaerrsts(&self) -> &Admaerrsts

0x54 - ADMA error status register

source

pub fn admaaddr(&self) -> &Admaaddr

0x58..0x60 - ADMA system address register

source

pub fn pvalinit(&self) -> &Pvalinit

0x60 - Preset value register for Initialization

source

pub fn pvalds(&self) -> &Pvalds

0x62 - Preset value register for Default Speed

source

pub fn pvalhs(&self) -> &Pvalhs

0x64 - Preset value register for High Speed

source

pub fn pvalsdr12(&self) -> &Pvalsdr12

0x66 - Preset value register for SDR12

source

pub fn pvalsdr25(&self) -> &Pvalsdr25

0x68 - Preset value register for SDR25

source

pub fn pvalsdr50(&self) -> &Pvalsdr50

0x6a - Preset value register for SDR50

source

pub fn pvalsdr104(&self) -> &Pvalsdr104

0x6c - Preset value register for SDR104

source

pub fn pvalddr50(&self) -> &Pvalddr50

0x6e - Preset value register for DDR50

source

pub fn boottimeout(&self) -> &Boottimeout

0x70 - Boot timeout control register

source

pub fn pvalhs400(&self) -> &Pvalhs400

0x74 - Preset value register for HS400

source

pub fn vendor(&self) -> &Vendor

0x78 - Vendor register

source

pub fn slotintsts(&self) -> &Slotintsts

0xfc - Slot interrupt status register

source

pub fn version(&self) -> &Version

0xfe - Host controller version register

source

pub fn cqver(&self) -> &Cqver

0x200 - Command queueing version register

source

pub fn cqcap(&self) -> &Cqcap

0x204 - Command queueing capabilities register

source

pub fn cqcfg(&self) -> &Cqcfg

0x208 - Command queueing configuration register

source

pub fn cqctrl(&self) -> &Cqctrl

0x20c - Command queueing control register

source

pub fn cqintsts(&self) -> &Cqintsts

0x210 - Command queueing interrupt status register

source

pub fn cqintstsena(&self) -> &Cqintstsena

0x214 - Command queueing interrupt status enable register

source

pub fn cqintsigena(&self) -> &Cqintsigena

0x218 - Command queueing interrupt signal enable register

source

pub fn cqintcoal(&self) -> &Cqintcoal

0x21c - Command queueing interrupt coalescing register

source

pub fn cqtdlba(&self) -> &Cqtdlba

0x220 - Command queueing task descriptor list base address register

source

pub fn cqtdlbau(&self) -> &Cqtdlbau

0x224 - Command queueing task descriptor list base address upper 32bits register

source

pub fn cqtdb(&self) -> &Cqtdb

0x228 - Command queueing task doorbell register

source

pub fn cqtdbn(&self) -> &Cqtdbn

0x22c - Command queueing task doorbell notification register

source

pub fn cqdqsts(&self) -> &Cqdqsts

0x230 - Command queueing device queue status register

source

pub fn cqdpt(&self) -> &Cqdpt

0x234 - Command queueing device pending tasks register

source

pub fn cqtclr(&self) -> &Cqtclr

0x238 - Command queueing task clear register

source

pub fn cqssc1(&self) -> &Cqssc1

0x240 - Command queueing send status configuration register 1

source

pub fn cqssc2(&self) -> &Cqssc2

0x244 - Command queueing send status configuration register 2

source

pub fn cqcrdt(&self) -> &Cqcrdt

0x248 - Command queueing command response for direct-command task register

source

pub fn cqrmem(&self) -> &Cqrmem

0x250 - Command queueing response mode error mask register

source

pub fn cqtei(&self) -> &Cqtei

0x254 - Command queueing task error information register

source

pub fn cqcri(&self) -> &Cqcri

0x258 - Command queueing command response index register

source

pub fn cqcra(&self) -> &Cqcra

0x25c - Command queueing command response argument register

Trait Implementations§

source§

impl Debug for Emmccore

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Deref for Emmccore

§

type Target = RegisterBlock

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Send for Emmccore

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.