#[repr(C)]
#[doc = "Register block"]
pub struct RegisterBlock {
dmac: Dmac,
ch: [Ch; 4],
}
impl RegisterBlock {
#[doc = "0x00..0x100 - DesignWare DMAC registers"]
#[inline(always)]
pub const fn dmac(&self) -> &Dmac {
&self.dmac
}
#[doc = "0x100..0x500 - DesignWare DMAC Channel registers"]
#[doc = ""]
#[doc = "<div class=\"warning\">`n` is the index of cluster in the array. `n == 0` corresponds to `ch1` cluster.</div>"]
#[inline(always)]
pub const fn ch(&self, n: usize) -> &Ch {
&self.ch[n]
}
#[doc = "Iterator for array of:"]
#[doc = "0x100..0x500 - DesignWare DMAC Channel registers"]
#[inline(always)]
pub fn ch_iter(&self) -> impl Iterator<Item = &Ch> {
self.ch.iter()
}
#[doc = "0x100..0x200 - DesignWare DMAC Channel registers"]
#[inline(always)]
pub const fn ch1(&self) -> &Ch {
self.ch(0)
}
#[doc = "0x200..0x300 - DesignWare DMAC Channel registers"]
#[inline(always)]
pub const fn ch2(&self) -> &Ch {
self.ch(1)
}
#[doc = "0x300..0x400 - DesignWare DMAC Channel registers"]
#[inline(always)]
pub const fn ch3(&self) -> &Ch {
self.ch(2)
}
#[doc = "0x400..0x500 - DesignWare DMAC Channel registers"]
#[inline(always)]
pub const fn ch4(&self) -> &Ch {
self.ch(3)
}
}
#[doc = "DesignWare DMAC registers"]
pub use self::dmac::Dmac;
#[doc = r"Cluster"]
#[doc = "DesignWare DMAC registers"]
pub mod dmac;
#[doc = "DesignWare DMAC Channel registers"]
pub use self::ch::Ch;
#[doc = r"Cluster"]
#[doc = "DesignWare DMAC Channel registers"]
pub mod ch;