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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - Various Analog blocks configuration (like FRO 192MHz trimmings source ...)"]
    pub analog_ctrl_cfg: ANALOG_CTRL_CFG,
    #[doc = "0x04 - Analog Macroblock Identity registers, Flash Status registers"]
    pub analog_ctrl_status: ANALOG_CTRL_STATUS,
    _reserved0: [u8; 4usize],
    #[doc = "0x0c - Frequency Measure function control register"]
    pub freq_me_ctrl: FREQ_ME_CTRL,
    #[doc = "0x10 - 192MHz Free Running OScillator (FRO) Control register"]
    pub fro192m_ctrl: FRO192M_CTRL,
    #[doc = "0x14 - 192MHz Free Running OScillator (FRO) Status register"]
    pub fro192m_status: FRO192M_STATUS,
    #[doc = "0x18 - General Purpose ADC VBAT Divider branch control"]
    pub adc_ctrl: ADC_CTRL,
    _reserved1: [u8; 4usize],
    #[doc = "0x20 - 32 MHz Crystal Oscillator Control register"]
    pub xo32m_ctrl: XO32M_CTRL,
    #[doc = "0x24 - 32 MHz Crystal Oscillator Status register"]
    pub xo32m_status: XO32M_STATUS,
    _reserved2: [u8; 8usize],
    #[doc = "0x30 - Brown Out Detectors (BoDs) & DCDC interrupts generation control register"]
    pub bod_dcdc_int_ctrl: BOD_DCDC_INT_CTRL,
    #[doc = "0x34 - BoDs & DCDC interrupts status register"]
    pub bod_dcdc_int_status: BOD_DCDC_INT_STATUS,
    _reserved3: [u8; 8usize],
    #[doc = "0x40 - First Ring Oscillator module control register."]
    pub ringo0_ctrl: RINGO0_CTRL,
    #[doc = "0x44 - Second Ring Oscillator module control register."]
    pub ringo1_ctrl: RINGO1_CTRL,
    #[doc = "0x48 - Third Ring Oscillator module control register."]
    pub ringo2_ctrl: RINGO2_CTRL,
    _reserved4: [u8; 100usize],
    #[doc = "0xb0 - High Speed Crystal Oscillator (12 MHz - 32 MHz) Voltage Source Supply Control register"]
    pub ldo_xo32m: LDO_XO32M,
    _reserved5: [u8; 12usize],
    #[doc = "0xc0 - All Crystal Oscillators (both the 32 KHz and the High speed) Capacitive Banks Calibration Configuration register"]
    pub xo_cal_cfg: XO_CAL_CFG,
    #[doc = "0xc4 - All Crystal Oscillators (both the 32 KHz and the High Speed) Capacitive Banks Calibration Command register."]
    pub xo_cal_cmd: XO_CAL_CMD,
    #[doc = "0xc8 - All Crystal Oscillators (both the 32 KHz and the High speed) Capacitive Banks Calibration Status register."]
    pub xo_cal_status: XO_CAL_STATUS,
    _reserved6: [u8; 52usize],
    #[doc = "0x100 - USB High Speed Phy Control"]
    pub usbhs_phy_ctrl: USBHS_PHY_CTRL,
    #[doc = "0x104 - USB High Speed Phy Trim values"]
    pub usbhs_phy_trim: USBHS_PHY_TRIM,
    #[doc = "0x108 - USB High Speed Phy Status"]
    pub usbhs_phy_status: USBHS_PHY_STATUS,
}
#[doc = "Various Analog blocks configuration (like FRO 192MHz trimmings source ...)"]
pub struct ANALOG_CTRL_CFG {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Various Analog blocks configuration (like FRO 192MHz trimmings source ...)"]
pub mod analog_ctrl_cfg;
#[doc = "Analog Macroblock Identity registers, Flash Status registers"]
pub struct ANALOG_CTRL_STATUS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Analog Macroblock Identity registers, Flash Status registers"]
pub mod analog_ctrl_status;
#[doc = "Frequency Measure function control register"]
pub struct FREQ_ME_CTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Frequency Measure function control register"]
pub mod freq_me_ctrl;
#[doc = "192MHz Free Running OScillator (FRO) Control register"]
pub struct FRO192M_CTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "192MHz Free Running OScillator (FRO) Control register"]
pub mod fro192m_ctrl;
#[doc = "192MHz Free Running OScillator (FRO) Status register"]
pub struct FRO192M_STATUS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "192MHz Free Running OScillator (FRO) Status register"]
pub mod fro192m_status;
#[doc = "General Purpose ADC VBAT Divider branch control"]
pub struct ADC_CTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "General Purpose ADC VBAT Divider branch control"]
pub mod adc_ctrl;
#[doc = "32 MHz Crystal Oscillator Control register"]
pub struct XO32M_CTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "32 MHz Crystal Oscillator Control register"]
pub mod xo32m_ctrl;
#[doc = "32 MHz Crystal Oscillator Status register"]
pub struct XO32M_STATUS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "32 MHz Crystal Oscillator Status register"]
pub mod xo32m_status;
#[doc = "Brown Out Detectors (BoDs) & DCDC interrupts generation control register"]
pub struct BOD_DCDC_INT_CTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Brown Out Detectors (BoDs) & DCDC interrupts generation control register"]
pub mod bod_dcdc_int_ctrl;
#[doc = "BoDs & DCDC interrupts status register"]
pub struct BOD_DCDC_INT_STATUS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "BoDs & DCDC interrupts status register"]
pub mod bod_dcdc_int_status;
#[doc = "First Ring Oscillator module control register."]
pub struct RINGO0_CTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "First Ring Oscillator module control register."]
pub mod ringo0_ctrl;
#[doc = "Second Ring Oscillator module control register."]
pub struct RINGO1_CTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Second Ring Oscillator module control register."]
pub mod ringo1_ctrl;
#[doc = "Third Ring Oscillator module control register."]
pub struct RINGO2_CTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Third Ring Oscillator module control register."]
pub mod ringo2_ctrl;
#[doc = "High Speed Crystal Oscillator (12 MHz - 32 MHz) Voltage Source Supply Control register"]
pub struct LDO_XO32M {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "High Speed Crystal Oscillator (12 MHz - 32 MHz) Voltage Source Supply Control register"]
pub mod ldo_xo32m;
#[doc = "All Crystal Oscillators (both the 32 KHz and the High speed) Capacitive Banks Calibration Configuration register"]
pub struct XO_CAL_CFG {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "All Crystal Oscillators (both the 32 KHz and the High speed) Capacitive Banks Calibration Configuration register"]
pub mod xo_cal_cfg;
#[doc = "All Crystal Oscillators (both the 32 KHz and the High Speed) Capacitive Banks Calibration Command register."]
pub struct XO_CAL_CMD {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "All Crystal Oscillators (both the 32 KHz and the High Speed) Capacitive Banks Calibration Command register."]
pub mod xo_cal_cmd;
#[doc = "All Crystal Oscillators (both the 32 KHz and the High speed) Capacitive Banks Calibration Status register."]
pub struct XO_CAL_STATUS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "All Crystal Oscillators (both the 32 KHz and the High speed) Capacitive Banks Calibration Status register."]
pub mod xo_cal_status;
#[doc = "USB High Speed Phy Control"]
pub struct USBHS_PHY_CTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "USB High Speed Phy Control"]
pub mod usbhs_phy_ctrl;
#[doc = "USB High Speed Phy Trim values"]
pub struct USBHS_PHY_TRIM {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "USB High Speed Phy Trim values"]
pub mod usbhs_phy_trim;
#[doc = "USB High Speed Phy Status"]
pub struct USBHS_PHY_STATUS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "USB High Speed Phy Status"]
pub mod usbhs_phy_status;