#![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 VERID {
pub mod FEATURE {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const FEATURE_0: u32 = 0b0000000000000000;
pub const FEATURE_1: u32 = 0b0000000000000001;
}
}
pub mod MINOR {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MAJOR {
pub const offset: u32 = 24;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod PARAM {
pub mod SHIFTER {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIMER {
pub const offset: u32 = 8;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PIN {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TRIGGER {
pub const offset: u32 = 24;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod CTRL {
pub mod FLEXEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const FLEXEN_0: u32 = 0b0;
pub const FLEXEN_1: u32 = 0b1;
}
}
pub mod SWRST {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SWRST_0: u32 = 0b0;
pub const SWRST_1: u32 = 0b1;
}
}
pub mod FASTACC {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const FASTACC_0: u32 = 0b0;
pub const FASTACC_1: u32 = 0b1;
}
}
pub mod DBGE {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DBGE_0: u32 = 0b0;
pub const DBGE_1: u32 = 0b1;
}
}
pub mod DOZEN {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DOZEN_0: u32 = 0b0;
pub const DOZEN_1: u32 = 0b1;
}
}
}
pub mod PIN {
pub mod PDI {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SHIFTSTAT {
pub mod SSF {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SHIFTERR {
pub mod SEF {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIMSTAT {
pub mod TSF {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SHIFTSIEN {
pub mod SSIE {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SHIFTEIEN {
pub mod SEIE {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIMIEN {
pub mod TEIE {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SHIFTSDEN {
pub mod SSDE {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SHIFTSTATE {
pub mod STATE {
pub const offset: u32 = 0;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SHIFTCTL0 {
pub mod SMOD {
pub const offset: u32 = 0;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SMOD_0: u32 = 0b000;
pub const SMOD_1: u32 = 0b001;
pub const SMOD_2: u32 = 0b010;
pub const SMOD_4: u32 = 0b100;
pub const SMOD_5: u32 = 0b101;
pub const SMOD_6: u32 = 0b110;
pub const SMOD_7: u32 = 0b111;
}
}
pub mod PINPOL {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PINPOL_0: u32 = 0b0;
pub const PINPOL_1: u32 = 0b1;
}
}
pub mod PINSEL {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PINCFG {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PINCFG_0: u32 = 0b00;
pub const PINCFG_1: u32 = 0b01;
pub const PINCFG_2: u32 = 0b10;
pub const PINCFG_3: u32 = 0b11;
}
}
pub mod TIMPOL {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TIMPOL_0: u32 = 0b0;
pub const TIMPOL_1: u32 = 0b1;
}
}
pub mod TIMSEL {
pub const offset: u32 = 24;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SHIFTCTL1 {
pub use super::SHIFTCTL0::PINCFG;
pub use super::SHIFTCTL0::PINPOL;
pub use super::SHIFTCTL0::PINSEL;
pub use super::SHIFTCTL0::SMOD;
pub use super::SHIFTCTL0::TIMPOL;
pub use super::SHIFTCTL0::TIMSEL;
}
pub mod SHIFTCTL2 {
pub use super::SHIFTCTL0::PINCFG;
pub use super::SHIFTCTL0::PINPOL;
pub use super::SHIFTCTL0::PINSEL;
pub use super::SHIFTCTL0::SMOD;
pub use super::SHIFTCTL0::TIMPOL;
pub use super::SHIFTCTL0::TIMSEL;
}
pub mod SHIFTCTL3 {
pub use super::SHIFTCTL0::PINCFG;
pub use super::SHIFTCTL0::PINPOL;
pub use super::SHIFTCTL0::PINSEL;
pub use super::SHIFTCTL0::SMOD;
pub use super::SHIFTCTL0::TIMPOL;
pub use super::SHIFTCTL0::TIMSEL;
}
pub mod SHIFTCFG0 {
pub mod SSTART {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SSTART_0: u32 = 0b00;
pub const SSTART_1: u32 = 0b01;
pub const SSTART_2: u32 = 0b10;
pub const SSTART_3: u32 = 0b11;
}
}
pub mod SSTOP {
pub const offset: u32 = 4;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SSTOP_0: u32 = 0b00;
pub const SSTOP_2: u32 = 0b10;
pub const SSTOP_3: u32 = 0b11;
}
}
pub mod INSRC {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const INSRC_0: u32 = 0b0;
pub const INSRC_1: u32 = 0b1;
}
}
pub mod PWIDTH {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SHIFTCFG1 {
pub use super::SHIFTCFG0::INSRC;
pub use super::SHIFTCFG0::PWIDTH;
pub use super::SHIFTCFG0::SSTART;
pub use super::SHIFTCFG0::SSTOP;
}
pub mod SHIFTCFG2 {
pub use super::SHIFTCFG0::INSRC;
pub use super::SHIFTCFG0::PWIDTH;
pub use super::SHIFTCFG0::SSTART;
pub use super::SHIFTCFG0::SSTOP;
}
pub mod SHIFTCFG3 {
pub use super::SHIFTCFG0::INSRC;
pub use super::SHIFTCFG0::PWIDTH;
pub use super::SHIFTCFG0::SSTART;
pub use super::SHIFTCFG0::SSTOP;
}
pub mod SHIFTBUF0 {
pub mod SHIFTBUF {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SHIFTBUF1 {
pub use super::SHIFTBUF0::SHIFTBUF;
}
pub mod SHIFTBUF2 {
pub use super::SHIFTBUF0::SHIFTBUF;
}
pub mod SHIFTBUF3 {
pub use super::SHIFTBUF0::SHIFTBUF;
}
pub mod SHIFTBUFBIS0 {
pub mod SHIFTBUFBIS {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SHIFTBUFBIS1 {
pub use super::SHIFTBUFBIS0::SHIFTBUFBIS;
}
pub mod SHIFTBUFBIS2 {
pub use super::SHIFTBUFBIS0::SHIFTBUFBIS;
}
pub mod SHIFTBUFBIS3 {
pub use super::SHIFTBUFBIS0::SHIFTBUFBIS;
}
pub mod SHIFTBUFBYS0 {
pub mod SHIFTBUFBYS {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SHIFTBUFBYS1 {
pub use super::SHIFTBUFBYS0::SHIFTBUFBYS;
}
pub mod SHIFTBUFBYS2 {
pub use super::SHIFTBUFBYS0::SHIFTBUFBYS;
}
pub mod SHIFTBUFBYS3 {
pub use super::SHIFTBUFBYS0::SHIFTBUFBYS;
}
pub mod SHIFTBUFBBS0 {
pub mod SHIFTBUFBBS {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SHIFTBUFBBS1 {
pub use super::SHIFTBUFBBS0::SHIFTBUFBBS;
}
pub mod SHIFTBUFBBS2 {
pub use super::SHIFTBUFBBS0::SHIFTBUFBBS;
}
pub mod SHIFTBUFBBS3 {
pub use super::SHIFTBUFBBS0::SHIFTBUFBBS;
}
pub mod TIMCTL0 {
pub mod TIMOD {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TIMOD_0: u32 = 0b00;
pub const TIMOD_1: u32 = 0b01;
pub const TIMOD_2: u32 = 0b10;
pub const TIMOD_3: u32 = 0b11;
}
}
pub mod PINPOL {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PINPOL_0: u32 = 0b0;
pub const PINPOL_1: u32 = 0b1;
}
}
pub mod PINSEL {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PINCFG {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PINCFG_0: u32 = 0b00;
pub const PINCFG_1: u32 = 0b01;
pub const PINCFG_2: u32 = 0b10;
pub const PINCFG_3: u32 = 0b11;
}
}
pub mod TRGSRC {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TRGSRC_0: u32 = 0b0;
pub const TRGSRC_1: u32 = 0b1;
}
}
pub mod TRGPOL {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TRGPOL_0: u32 = 0b0;
pub const TRGPOL_1: u32 = 0b1;
}
}
pub mod TRGSEL {
pub const offset: u32 = 24;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIMCTL1 {
pub use super::TIMCTL0::PINCFG;
pub use super::TIMCTL0::PINPOL;
pub use super::TIMCTL0::PINSEL;
pub use super::TIMCTL0::TIMOD;
pub use super::TIMCTL0::TRGPOL;
pub use super::TIMCTL0::TRGSEL;
pub use super::TIMCTL0::TRGSRC;
}
pub mod TIMCTL2 {
pub use super::TIMCTL0::PINCFG;
pub use super::TIMCTL0::PINPOL;
pub use super::TIMCTL0::PINSEL;
pub use super::TIMCTL0::TIMOD;
pub use super::TIMCTL0::TRGPOL;
pub use super::TIMCTL0::TRGSEL;
pub use super::TIMCTL0::TRGSRC;
}
pub mod TIMCTL3 {
pub use super::TIMCTL0::PINCFG;
pub use super::TIMCTL0::PINPOL;
pub use super::TIMCTL0::PINSEL;
pub use super::TIMCTL0::TIMOD;
pub use super::TIMCTL0::TRGPOL;
pub use super::TIMCTL0::TRGSEL;
pub use super::TIMCTL0::TRGSRC;
}
pub mod TIMCFG0 {
pub mod TSTART {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TSTART_0: u32 = 0b0;
pub const TSTART_1: u32 = 0b1;
}
}
pub mod TSTOP {
pub const offset: u32 = 4;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TSTOP_0: u32 = 0b00;
pub const TSTOP_1: u32 = 0b01;
pub const TSTOP_2: u32 = 0b10;
pub const TSTOP_3: u32 = 0b11;
}
}
pub mod TIMENA {
pub const offset: u32 = 8;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TIMENA_0: u32 = 0b000;
pub const TIMENA_1: u32 = 0b001;
pub const TIMENA_2: u32 = 0b010;
pub const TIMENA_3: u32 = 0b011;
pub const TIMENA_4: u32 = 0b100;
pub const TIMENA_5: u32 = 0b101;
pub const TIMENA_6: u32 = 0b110;
pub const TIMENA_7: u32 = 0b111;
}
}
pub mod TIMDIS {
pub const offset: u32 = 12;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TIMDIS_0: u32 = 0b000;
pub const TIMDIS_1: u32 = 0b001;
pub const TIMDIS_2: u32 = 0b010;
pub const TIMDIS_3: u32 = 0b011;
pub const TIMDIS_4: u32 = 0b100;
pub const TIMDIS_5: u32 = 0b101;
pub const TIMDIS_6: u32 = 0b110;
}
}
pub mod TIMRST {
pub const offset: u32 = 16;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TIMRST_0: u32 = 0b000;
pub const TIMRST_2: u32 = 0b010;
pub const TIMRST_3: u32 = 0b011;
pub const TIMRST_4: u32 = 0b100;
pub const TIMRST_6: u32 = 0b110;
pub const TIMRST_7: u32 = 0b111;
}
}
pub mod TIMDEC {
pub const offset: u32 = 20;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TIMDEC_0: u32 = 0b00;
pub const TIMDEC_1: u32 = 0b01;
pub const TIMDEC_2: u32 = 0b10;
pub const TIMDEC_3: u32 = 0b11;
}
}
pub mod TIMOUT {
pub const offset: u32 = 24;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TIMOUT_0: u32 = 0b00;
pub const TIMOUT_1: u32 = 0b01;
pub const TIMOUT_2: u32 = 0b10;
pub const TIMOUT_3: u32 = 0b11;
}
}
}
pub mod TIMCFG1 {
pub use super::TIMCFG0::TIMDEC;
pub use super::TIMCFG0::TIMDIS;
pub use super::TIMCFG0::TIMENA;
pub use super::TIMCFG0::TIMOUT;
pub use super::TIMCFG0::TIMRST;
pub use super::TIMCFG0::TSTART;
pub use super::TIMCFG0::TSTOP;
}
pub mod TIMCFG2 {
pub use super::TIMCFG0::TIMDEC;
pub use super::TIMCFG0::TIMDIS;
pub use super::TIMCFG0::TIMENA;
pub use super::TIMCFG0::TIMOUT;
pub use super::TIMCFG0::TIMRST;
pub use super::TIMCFG0::TSTART;
pub use super::TIMCFG0::TSTOP;
}
pub mod TIMCFG3 {
pub use super::TIMCFG0::TIMDEC;
pub use super::TIMCFG0::TIMDIS;
pub use super::TIMCFG0::TIMENA;
pub use super::TIMCFG0::TIMOUT;
pub use super::TIMCFG0::TIMRST;
pub use super::TIMCFG0::TSTART;
pub use super::TIMCFG0::TSTOP;
}
pub mod TIMCMP0 {
pub mod CMP {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIMCMP1 {
pub use super::TIMCMP0::CMP;
}
pub mod TIMCMP2 {
pub use super::TIMCMP0::CMP;
}
pub mod TIMCMP3 {
pub use super::TIMCMP0::CMP;
}
pub mod SHIFTBUFNBS0 {
pub mod SHIFTBUFNBS {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SHIFTBUFNBS1 {
pub use super::SHIFTBUFNBS0::SHIFTBUFNBS;
}
pub mod SHIFTBUFNBS2 {
pub use super::SHIFTBUFNBS0::SHIFTBUFNBS;
}
pub mod SHIFTBUFNBS3 {
pub use super::SHIFTBUFNBS0::SHIFTBUFNBS;
}
pub mod SHIFTBUFHWS0 {
pub mod SHIFTBUFHWS {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SHIFTBUFHWS1 {
pub use super::SHIFTBUFHWS0::SHIFTBUFHWS;
}
pub mod SHIFTBUFHWS2 {
pub use super::SHIFTBUFHWS0::SHIFTBUFHWS;
}
pub mod SHIFTBUFHWS3 {
pub use super::SHIFTBUFHWS0::SHIFTBUFHWS;
}
pub mod SHIFTBUFNIS0 {
pub mod SHIFTBUFNIS {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SHIFTBUFNIS1 {
pub use super::SHIFTBUFNIS0::SHIFTBUFNIS;
}
pub mod SHIFTBUFNIS2 {
pub use super::SHIFTBUFNIS0::SHIFTBUFNIS;
}
pub mod SHIFTBUFNIS3 {
pub use super::SHIFTBUFNIS0::SHIFTBUFNIS;
}
#[repr(C)]
pub struct RegisterBlock {
pub VERID: RORegister<u32>,
pub PARAM: RORegister<u32>,
pub CTRL: RWRegister<u32>,
pub PIN: RORegister<u32>,
pub SHIFTSTAT: RWRegister<u32>,
pub SHIFTERR: RWRegister<u32>,
pub TIMSTAT: RWRegister<u32>,
_reserved1: [u32; 1],
pub SHIFTSIEN: RWRegister<u32>,
pub SHIFTEIEN: RWRegister<u32>,
pub TIMIEN: RWRegister<u32>,
_reserved2: [u32; 1],
pub SHIFTSDEN: RWRegister<u32>,
_reserved3: [u32; 3],
pub SHIFTSTATE: RWRegister<u32>,
_reserved4: [u32; 15],
pub SHIFTCTL0: RWRegister<u32>,
pub SHIFTCTL1: RWRegister<u32>,
pub SHIFTCTL2: RWRegister<u32>,
pub SHIFTCTL3: RWRegister<u32>,
_reserved5: [u32; 28],
pub SHIFTCFG0: RWRegister<u32>,
pub SHIFTCFG1: RWRegister<u32>,
pub SHIFTCFG2: RWRegister<u32>,
pub SHIFTCFG3: RWRegister<u32>,
_reserved6: [u32; 60],
pub SHIFTBUF0: RWRegister<u32>,
pub SHIFTBUF1: RWRegister<u32>,
pub SHIFTBUF2: RWRegister<u32>,
pub SHIFTBUF3: RWRegister<u32>,
_reserved7: [u32; 28],
pub SHIFTBUFBIS0: RWRegister<u32>,
pub SHIFTBUFBIS1: RWRegister<u32>,
pub SHIFTBUFBIS2: RWRegister<u32>,
pub SHIFTBUFBIS3: RWRegister<u32>,
_reserved8: [u32; 28],
pub SHIFTBUFBYS0: RWRegister<u32>,
pub SHIFTBUFBYS1: RWRegister<u32>,
pub SHIFTBUFBYS2: RWRegister<u32>,
pub SHIFTBUFBYS3: RWRegister<u32>,
_reserved9: [u32; 28],
pub SHIFTBUFBBS0: RWRegister<u32>,
pub SHIFTBUFBBS1: RWRegister<u32>,
pub SHIFTBUFBBS2: RWRegister<u32>,
pub SHIFTBUFBBS3: RWRegister<u32>,
_reserved10: [u32; 28],
pub TIMCTL0: RWRegister<u32>,
pub TIMCTL1: RWRegister<u32>,
pub TIMCTL2: RWRegister<u32>,
pub TIMCTL3: RWRegister<u32>,
_reserved11: [u32; 28],
pub TIMCFG0: RWRegister<u32>,
pub TIMCFG1: RWRegister<u32>,
pub TIMCFG2: RWRegister<u32>,
pub TIMCFG3: RWRegister<u32>,
_reserved12: [u32; 28],
pub TIMCMP0: RWRegister<u32>,
pub TIMCMP1: RWRegister<u32>,
pub TIMCMP2: RWRegister<u32>,
pub TIMCMP3: RWRegister<u32>,
_reserved13: [u32; 92],
pub SHIFTBUFNBS0: RWRegister<u32>,
pub SHIFTBUFNBS1: RWRegister<u32>,
pub SHIFTBUFNBS2: RWRegister<u32>,
pub SHIFTBUFNBS3: RWRegister<u32>,
_reserved14: [u32; 28],
pub SHIFTBUFHWS0: RWRegister<u32>,
pub SHIFTBUFHWS1: RWRegister<u32>,
pub SHIFTBUFHWS2: RWRegister<u32>,
pub SHIFTBUFHWS3: RWRegister<u32>,
_reserved15: [u32; 28],
pub SHIFTBUFNIS0: RWRegister<u32>,
pub SHIFTBUFNIS1: RWRegister<u32>,
pub SHIFTBUFNIS2: RWRegister<u32>,
pub SHIFTBUFNIS3: RWRegister<u32>,
}
pub struct ResetValues {
pub VERID: u32,
pub PARAM: u32,
pub CTRL: u32,
pub PIN: u32,
pub SHIFTSTAT: u32,
pub SHIFTERR: u32,
pub TIMSTAT: u32,
pub SHIFTSIEN: u32,
pub SHIFTEIEN: u32,
pub TIMIEN: u32,
pub SHIFTSDEN: u32,
pub SHIFTSTATE: u32,
pub SHIFTCTL0: u32,
pub SHIFTCTL1: u32,
pub SHIFTCTL2: u32,
pub SHIFTCTL3: u32,
pub SHIFTCFG0: u32,
pub SHIFTCFG1: u32,
pub SHIFTCFG2: u32,
pub SHIFTCFG3: u32,
pub SHIFTBUF0: u32,
pub SHIFTBUF1: u32,
pub SHIFTBUF2: u32,
pub SHIFTBUF3: u32,
pub SHIFTBUFBIS0: u32,
pub SHIFTBUFBIS1: u32,
pub SHIFTBUFBIS2: u32,
pub SHIFTBUFBIS3: u32,
pub SHIFTBUFBYS0: u32,
pub SHIFTBUFBYS1: u32,
pub SHIFTBUFBYS2: u32,
pub SHIFTBUFBYS3: u32,
pub SHIFTBUFBBS0: u32,
pub SHIFTBUFBBS1: u32,
pub SHIFTBUFBBS2: u32,
pub SHIFTBUFBBS3: u32,
pub TIMCTL0: u32,
pub TIMCTL1: u32,
pub TIMCTL2: u32,
pub TIMCTL3: u32,
pub TIMCFG0: u32,
pub TIMCFG1: u32,
pub TIMCFG2: u32,
pub TIMCFG3: u32,
pub TIMCMP0: u32,
pub TIMCMP1: u32,
pub TIMCMP2: u32,
pub TIMCMP3: u32,
pub SHIFTBUFNBS0: u32,
pub SHIFTBUFNBS1: u32,
pub SHIFTBUFNBS2: u32,
pub SHIFTBUFNBS3: u32,
pub SHIFTBUFHWS0: u32,
pub SHIFTBUFHWS1: u32,
pub SHIFTBUFHWS2: u32,
pub SHIFTBUFHWS3: u32,
pub SHIFTBUFNIS0: u32,
pub SHIFTBUFNIS1: u32,
pub SHIFTBUFNIS2: u32,
pub SHIFTBUFNIS3: 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 {}