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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - CAN_MCR"]
    pub can_mcr: CAN_MCR,
    #[doc = "0x04 - CAN_MSR"]
    pub can_msr: CAN_MSR,
    #[doc = "0x08 - CAN_TSR"]
    pub can_tsr: CAN_TSR,
    #[doc = "0x0c - CAN_RF0R"]
    pub rfr: [RFR; 2],
    #[doc = "0x14 - CAN_IER"]
    pub can_ier: CAN_IER,
    #[doc = "0x18 - CAN_ESR"]
    pub can_esr: CAN_ESR,
    #[doc = "0x1c - CAN_BTR"]
    pub can_btr: CAN_BTR,
    _reserved0: [u8; 352usize],
    #[doc = "0x180 - Cluster TX%s, containing CAN_TI?R, CAN_TDT?R, CAN_TDL?R, CAN_TDH?R"]
    pub tx: [TX; 3],
    #[doc = "0x1b0 - Cluster RX%s, containing CAN_RI?R, CAN_RDT?R, CAN_RDL?R, CAN_RDH?R"]
    pub rx: [RX; 2],
    _reserved1: [u8; 48usize],
    #[doc = "0x200 - CAN_FMR"]
    pub can_fmr: CAN_FMR,
    #[doc = "0x204 - CAN_FM1R"]
    pub can_fm1r: CAN_FM1R,
    _reserved2: [u8; 4usize],
    #[doc = "0x20c - CAN_FS1R"]
    pub can_fs1r: CAN_FS1R,
    _reserved3: [u8; 4usize],
    #[doc = "0x214 - CAN_FFA1R"]
    pub can_ffa1r: CAN_FFA1R,
    _reserved4: [u8; 4usize],
    #[doc = "0x21c - CAN_FA1R"]
    pub can_fa1r: CAN_FA1R,
    _reserved5: [u8; 32usize],
    #[doc = "0x240 - Cluster FILTER%s, containing F*R1, F*R2"]
    pub filter: [FILTER; 14],
}
#[doc = r" Register block"]
#[repr(C)]
pub struct TX {
    #[doc = "0x00 - CAN_TI0R"]
    pub tir: self::tx::TIR,
    #[doc = "0x04 - CAN_TDT0R"]
    pub tdtr: self::tx::TDTR,
    #[doc = "0x08 - CAN_TDL0R"]
    pub tdlr: self::tx::TDLR,
    #[doc = "0x0c - CAN_TDH0R"]
    pub tdhr: self::tx::TDHR,
}
#[doc = r" Register block"]
#[doc = "Cluster TX%s, containing CAN_TI?R, CAN_TDT?R, CAN_TDL?R, CAN_TDH?R"]
pub mod tx;
#[doc = r" Register block"]
#[repr(C)]
pub struct RX {
    #[doc = "0x00 - CAN_RI0R"]
    pub tir: self::rx::TIR,
    #[doc = "0x04 - CAN_RDT0R"]
    pub tdtr: self::rx::TDTR,
    #[doc = "0x08 - CAN_RDL0R"]
    pub tdlr: self::rx::TDLR,
    #[doc = "0x0c - CAN_RDH0R"]
    pub tdhr: self::rx::TDHR,
}
#[doc = r" Register block"]
#[doc = "Cluster RX%s, containing CAN_RI?R, CAN_RDT?R, CAN_RDL?R, CAN_RDH?R"]
pub mod rx;
#[doc = r" Register block"]
#[repr(C)]
pub struct FILTER {
    #[doc = "0x00 - Filter bank 0 register 1"]
    pub fr1: self::filter::FR1,
    #[doc = "0x04 - Filter bank 0 register 2"]
    pub fr2: self::filter::FR2,
}
#[doc = r" Register block"]
#[doc = "Cluster FILTER%s, containing F*R1, F*R2"]
pub mod filter;
#[doc = "CAN_MCR"]
pub struct CAN_MCR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "CAN_MCR"]
pub mod can_mcr;
#[doc = "CAN_MSR"]
pub struct CAN_MSR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "CAN_MSR"]
pub mod can_msr;
#[doc = "CAN_TSR"]
pub struct CAN_TSR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "CAN_TSR"]
pub mod can_tsr;
#[doc = "CAN_RF0R"]
pub struct RFR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "CAN_RF0R"]
pub mod rfr;
#[doc = "CAN_IER"]
pub struct CAN_IER {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "CAN_IER"]
pub mod can_ier;
#[doc = "CAN_ESR"]
pub struct CAN_ESR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "CAN_ESR"]
pub mod can_esr;
#[doc = "CAN_BTR"]
pub struct CAN_BTR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "CAN_BTR"]
pub mod can_btr;
#[doc = "CAN_FMR"]
pub struct CAN_FMR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "CAN_FMR"]
pub mod can_fmr;
#[doc = "CAN_FM1R"]
pub struct CAN_FM1R {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "CAN_FM1R"]
pub mod can_fm1r;
#[doc = "CAN_FS1R"]
pub struct CAN_FS1R {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "CAN_FS1R"]
pub mod can_fs1r;
#[doc = "CAN_FFA1R"]
pub struct CAN_FFA1R {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "CAN_FFA1R"]
pub mod can_ffa1r;
#[doc = "CAN_FA1R"]
pub struct CAN_FA1R {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "CAN_FA1R"]
pub mod can_fa1r;