#![allow(non_snake_case, non_upper_case_globals)]
#![allow(non_camel_case_types)]
use crate::{RORegister, RWRegister};
#[cfg(not(feature = "nosync"))]
use core::marker::PhantomData;
pub mod ROMPATCH7D {
pub mod DATAX {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod ROMPATCH6D {
pub use super::ROMPATCH7D::DATAX;
}
pub mod ROMPATCH5D {
pub use super::ROMPATCH7D::DATAX;
}
pub mod ROMPATCH4D {
pub use super::ROMPATCH7D::DATAX;
}
pub mod ROMPATCH3D {
pub use super::ROMPATCH7D::DATAX;
}
pub mod ROMPATCH2D {
pub use super::ROMPATCH7D::DATAX;
}
pub mod ROMPATCH1D {
pub use super::ROMPATCH7D::DATAX;
}
pub mod ROMPATCH0D {
pub use super::ROMPATCH7D::DATAX;
}
pub mod ROMPATCHCNTL {
pub mod DATAFIX {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DATAFIX_0: u32 = 0b00000000;
pub const DATAFIX_1: u32 = 0b00000001;
}
}
pub mod DIS {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DIS_0: u32 = 0b0;
pub const DIS_1: u32 = 0b1;
}
}
}
pub mod ROMPATCHENH {}
pub mod ROMPATCHENL {
pub mod ENABLE {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ENABLE_0: u32 = 0b0000000000000000;
pub const ENABLE_1: u32 = 0b0000000000000001;
}
}
}
pub mod ROMPATCH0A {
pub mod THUMBX {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const THUMBX_0: u32 = 0b0;
pub const THUMBX_1: u32 = 0b1;
}
}
pub mod ADDRX {
pub const offset: u32 = 1;
pub const mask: u32 = 0x3fffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod ROMPATCH1A {
pub use super::ROMPATCH0A::ADDRX;
pub use super::ROMPATCH0A::THUMBX;
}
pub mod ROMPATCH2A {
pub use super::ROMPATCH0A::ADDRX;
pub use super::ROMPATCH0A::THUMBX;
}
pub mod ROMPATCH3A {
pub use super::ROMPATCH0A::ADDRX;
pub use super::ROMPATCH0A::THUMBX;
}
pub mod ROMPATCH4A {
pub use super::ROMPATCH0A::ADDRX;
pub use super::ROMPATCH0A::THUMBX;
}
pub mod ROMPATCH5A {
pub use super::ROMPATCH0A::ADDRX;
pub use super::ROMPATCH0A::THUMBX;
}
pub mod ROMPATCH6A {
pub use super::ROMPATCH0A::ADDRX;
pub use super::ROMPATCH0A::THUMBX;
}
pub mod ROMPATCH7A {
pub use super::ROMPATCH0A::ADDRX;
pub use super::ROMPATCH0A::THUMBX;
}
pub mod ROMPATCH8A {
pub use super::ROMPATCH0A::ADDRX;
pub use super::ROMPATCH0A::THUMBX;
}
pub mod ROMPATCH9A {
pub use super::ROMPATCH0A::ADDRX;
pub use super::ROMPATCH0A::THUMBX;
}
pub mod ROMPATCH10A {
pub use super::ROMPATCH0A::ADDRX;
pub use super::ROMPATCH0A::THUMBX;
}
pub mod ROMPATCH11A {
pub use super::ROMPATCH0A::ADDRX;
pub use super::ROMPATCH0A::THUMBX;
}
pub mod ROMPATCH12A {
pub use super::ROMPATCH0A::ADDRX;
pub use super::ROMPATCH0A::THUMBX;
}
pub mod ROMPATCH13A {
pub use super::ROMPATCH0A::ADDRX;
pub use super::ROMPATCH0A::THUMBX;
}
pub mod ROMPATCH14A {
pub use super::ROMPATCH0A::ADDRX;
pub use super::ROMPATCH0A::THUMBX;
}
pub mod ROMPATCH15A {
pub use super::ROMPATCH0A::ADDRX;
pub use super::ROMPATCH0A::THUMBX;
}
pub mod ROMPATCHSR {
pub mod SOURCE {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SOURCE_0: u32 = 0b000000;
pub const SOURCE_1: u32 = 0b000001;
pub const SOURCE_15: u32 = 0b001111;
}
}
pub mod SW {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SW_0: u32 = 0b0;
pub const SW_1: u32 = 0b1;
}
}
}
#[repr(C)]
pub struct RegisterBlock {
_reserved1: [u32; 53],
pub ROMPATCH7D: RWRegister<u32>,
pub ROMPATCH6D: RWRegister<u32>,
pub ROMPATCH5D: RWRegister<u32>,
pub ROMPATCH4D: RWRegister<u32>,
pub ROMPATCH3D: RWRegister<u32>,
pub ROMPATCH2D: RWRegister<u32>,
pub ROMPATCH1D: RWRegister<u32>,
pub ROMPATCH0D: RWRegister<u32>,
pub ROMPATCHCNTL: RWRegister<u32>,
pub ROMPATCHENH: RORegister<u32>,
pub ROMPATCHENL: RWRegister<u32>,
pub ROMPATCH0A: RWRegister<u32>,
pub ROMPATCH1A: RWRegister<u32>,
pub ROMPATCH2A: RWRegister<u32>,
pub ROMPATCH3A: RWRegister<u32>,
pub ROMPATCH4A: RWRegister<u32>,
pub ROMPATCH5A: RWRegister<u32>,
pub ROMPATCH6A: RWRegister<u32>,
pub ROMPATCH7A: RWRegister<u32>,
pub ROMPATCH8A: RWRegister<u32>,
pub ROMPATCH9A: RWRegister<u32>,
pub ROMPATCH10A: RWRegister<u32>,
pub ROMPATCH11A: RWRegister<u32>,
pub ROMPATCH12A: RWRegister<u32>,
pub ROMPATCH13A: RWRegister<u32>,
pub ROMPATCH14A: RWRegister<u32>,
pub ROMPATCH15A: RWRegister<u32>,
_reserved2: [u32; 50],
pub ROMPATCHSR: RWRegister<u32>,
}
pub struct ResetValues {
pub ROMPATCH7D: u32,
pub ROMPATCH6D: u32,
pub ROMPATCH5D: u32,
pub ROMPATCH4D: u32,
pub ROMPATCH3D: u32,
pub ROMPATCH2D: u32,
pub ROMPATCH1D: u32,
pub ROMPATCH0D: u32,
pub ROMPATCHCNTL: u32,
pub ROMPATCHENH: u32,
pub ROMPATCHENL: u32,
pub ROMPATCH0A: u32,
pub ROMPATCH1A: u32,
pub ROMPATCH2A: u32,
pub ROMPATCH3A: u32,
pub ROMPATCH4A: u32,
pub ROMPATCH5A: u32,
pub ROMPATCH6A: u32,
pub ROMPATCH7A: u32,
pub ROMPATCH8A: u32,
pub ROMPATCH9A: u32,
pub ROMPATCH10A: u32,
pub ROMPATCH11A: u32,
pub ROMPATCH12A: u32,
pub ROMPATCH13A: u32,
pub ROMPATCH14A: u32,
pub ROMPATCH15A: u32,
pub ROMPATCHSR: u32,
}
#[cfg(not(feature = "nosync"))]
pub struct Instance {
pub(crate) addr: u32,
pub(crate) _marker: PhantomData<*const RegisterBlock>,
}
#[cfg(not(feature = "nosync"))]
impl ::core::ops::Deref for Instance {
type Target = RegisterBlock;
#[inline(always)]
fn deref(&self) -> &RegisterBlock {
unsafe { &*(self.addr as *const _) }
}
}
#[cfg(feature = "rtfm")]
unsafe impl Send for Instance {}