1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
#[doc = r"Register block"] #[repr(C)] pub struct RegisterBlock { #[doc = "0x00 - Control register"] pub cr: CR, #[doc = "0x04 - Interrupt mask register"] pub imr: IMR, #[doc = "0x08 - Status register"] pub sr: SR, #[doc = "0x0c - Interrupt Flag Clear register"] pub ifcr: IFCR, _reserved_4_dr_: [u8; 4usize], #[doc = "0x14 - Channel Status register"] pub csr: CSR, #[doc = "0x18 - Debug Information register"] pub dir: DIR, _reserved7: [u8; 984usize], #[doc = "0x3f4 - SPDIFRX version register"] pub verr: VERR, #[doc = "0x3f8 - SPDIFRX identification register"] pub idr: IDR, #[doc = "0x3fc - SPDIFRX size identification register"] pub sidr: SIDR, } impl RegisterBlock { #[doc = "0x10 - Data input register"] #[inline(always)] pub fn dr_10(&self) -> &DR_10 { unsafe { &*(((self as *const Self) as *const u8).add(16usize) as *const DR_10) } } #[doc = "0x10 - Data input register"] #[inline(always)] pub fn dr_10_mut(&self) -> &mut DR_10 { unsafe { &mut *(((self as *const Self) as *mut u8).add(16usize) as *mut DR_10) } } #[doc = "0x10 - Data input register"] #[inline(always)] pub fn dr_01(&self) -> &DR_01 { unsafe { &*(((self as *const Self) as *const u8).add(16usize) as *const DR_01) } } #[doc = "0x10 - Data input register"] #[inline(always)] pub fn dr_01_mut(&self) -> &mut DR_01 { unsafe { &mut *(((self as *const Self) as *mut u8).add(16usize) as *mut DR_01) } } #[doc = "0x10 - Data input register"] #[inline(always)] pub fn dr_00(&self) -> &DR_00 { unsafe { &*(((self as *const Self) as *const u8).add(16usize) as *const DR_00) } } #[doc = "0x10 - Data input register"] #[inline(always)] pub fn dr_00_mut(&self) -> &mut DR_00 { unsafe { &mut *(((self as *const Self) as *mut u8).add(16usize) as *mut DR_00) } } } #[doc = "Control register"] pub struct CR { register: vcell::VolatileCell<u32>, } #[doc = "Control register"] pub mod cr; #[doc = "Interrupt mask register"] pub struct IMR { register: vcell::VolatileCell<u32>, } #[doc = "Interrupt mask register"] pub mod imr; #[doc = "Status register"] pub struct SR { register: vcell::VolatileCell<u32>, } #[doc = "Status register"] pub mod sr; #[doc = "Interrupt Flag Clear register"] pub struct IFCR { register: vcell::VolatileCell<u32>, } #[doc = "Interrupt Flag Clear register"] pub mod ifcr; #[doc = "Data input register"] pub struct DR_00 { register: vcell::VolatileCell<u32>, } #[doc = "Data input register"] pub mod dr_00; #[doc = "Channel Status register"] pub struct CSR { register: vcell::VolatileCell<u32>, } #[doc = "Channel Status register"] pub mod csr; #[doc = "Debug Information register"] pub struct DIR { register: vcell::VolatileCell<u32>, } #[doc = "Debug Information register"] pub mod dir; #[doc = "SPDIFRX version register"] pub struct VERR { register: vcell::VolatileCell<u32>, } #[doc = "SPDIFRX version register"] pub mod verr; #[doc = "SPDIFRX identification register"] pub struct IDR { register: vcell::VolatileCell<u32>, } #[doc = "SPDIFRX identification register"] pub mod idr; #[doc = "SPDIFRX size identification register"] pub struct SIDR { register: vcell::VolatileCell<u32>, } #[doc = "SPDIFRX size identification register"] pub mod sidr; #[doc = "Data input register"] pub struct DR_01 { register: vcell::VolatileCell<u32>, } #[doc = "Data input register"] pub mod dr_01; #[doc = "Data input register"] pub struct DR_10 { register: vcell::VolatileCell<u32>, } #[doc = "Data input register"] pub mod dr_10;