Overall: 4420/8205 fields covered

ADC

0x42028000: Analog to digital converter

13/161 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 ISR
0x4 IER
0x8 CR
0xc CFGR
0x10 CFGR2
0x14 SMPR1
0x18 SMPR2
0x20 TR1
0x24 TR2
0x28 TR3
0x30 SQR1
0x34 SQR2
0x38 SQR3
0x3c SQR4
0x40 DR
0x4c JSQR
0x60 OFR1
0x64 OFR2
0x68 OFR3
0x6c OFR4
0x80 JDR1
0x84 JDR2
0x88 JDR3
0x8c JDR4
0xa0 AWD2CR
0xa4 AWD3CR
0xb0 DIFSEL
0xb4 CALFACT
0xc8 OR
0x308 CCR
0x3f0 HWCFGR0
0x3f4 VERR
0x3f8 IPDR
0x3fc SIDR
Toggle registers

ISR

ADC interrupt and status register

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

0/11 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
JQOVF
rw
AWD3
rw
AWD2
rw
AWD1
rw
JEOS
rw
JEOC
rw
OVR
rw
EOS
rw
EOC
rw
EOSMP
rw
ADRDY
rw
Toggle fields

ADRDY

Bit 0: ADC ready This bit is set by hardware after the ADC has been enabled (ADEN = 1) and when the ADC reaches a state where it is ready to accept conversion requests. It is cleared by software writing 1 to it..

EOSMP

Bit 1: End of sampling flag This bit is set by hardware during the conversion of any channel (only for regular channels), at the end of the sampling phase..

EOC

Bit 2: End of conversion flag This bit is set by hardware at the end of each regular conversion of a channel when a new data is available in the ADC_DR register. It is cleared by software writing 1 to it or by reading the ADC_DR register.

EOS

Bit 3: End of regular sequence flag This bit is set by hardware at the end of the conversions of a regular sequence of channels. It is cleared by software writing 1 to it..

OVR

Bit 4: ADC overrun This bit is set by hardware when an overrun occurs on a regular channel, meaning that a new conversion has completed while the EOC flag was already set. It is cleared by software writing 1 to it..

JEOC

Bit 5: Injected channel end of conversion flag This bit is set by hardware at the end of each injected conversion of a channel when a new data is available in the corresponding ADC_JDRy register. It is cleared by software writing 1 to it or by reading the corresponding ADC_JDRy register.

JEOS

Bit 6: Injected channel end of sequence flag This bit is set by hardware at the end of the conversions of all injected channels in the group. It is cleared by software writing 1 to it..

AWD1

Bit 7: Analog watchdog 1 flag This bit is set by hardware when the converted voltage crosses the values programmed in the fields LT1[11:0] and HT1[11:0] of ADC_TR1 register. It is cleared by software. writing 1 to it..

AWD2

Bit 8: Analog watchdog 2 flag This bit is set by hardware when the converted voltage crosses the values programmed in the fields LT2[7:0] and HT2[7:0] of ADC_TR2 register. It is cleared by software writing 1 to it..

AWD3

Bit 9: Analog watchdog 3 flag This bit is set by hardware when the converted voltage crosses the values programmed in the fields LT3[7:0] and HT3[7:0] of ADC_TR3 register. It is cleared by software writing 1 to it..

JQOVF

Bit 10: Injected context queue overflow This bit is set by hardware when an Overflow of the Injected Queue of Context occurs. It is cleared by software writing 1 to it. Refer to for more information..

IER

ADC interrupt enable register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

0/11 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
JQOVFIE
rw
AWD3IE
rw
AWD2IE
rw
AWD1IE
rw
JEOSIE
rw
JEOCIE
rw
OVRIE
rw
EOSIE
rw
EOCIE
rw
EOSMPIE
rw
ADRDYIE
rw
Toggle fields

ADRDYIE

Bit 0: ADC ready interrupt enable This bit is set and cleared by software to enable/disable the ADC Ready interrupt. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

EOSMPIE

Bit 1: End of sampling flag interrupt enable for regular conversions This bit is set and cleared by software to enable/disable the end of the sampling phase interrupt for regular conversions. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

EOCIE

Bit 2: End of regular conversion interrupt enable This bit is set and cleared by software to enable/disable the end of a regular conversion interrupt. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

EOSIE

Bit 3: End of regular sequence of conversions interrupt enable This bit is set and cleared by software to enable/disable the end of regular sequence of conversions interrupt. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

OVRIE

Bit 4: Overrun interrupt enable This bit is set and cleared by software to enable/disable the Overrun interrupt of a regular conversion. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

JEOCIE

Bit 5: End of injected conversion interrupt enable This bit is set and cleared by software to enable/disable the end of an injected conversion interrupt. Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing)..

JEOSIE

Bit 6: End of injected sequence of conversions interrupt enable This bit is set and cleared by software to enable/disable the end of injected sequence of conversions interrupt. Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing)..

AWD1IE

Bit 7: Analog watchdog 1 interrupt enable This bit is set and cleared by software to enable/disable the analog watchdog 1 interrupt. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

AWD2IE

Bit 8: Analog watchdog 2 interrupt enable This bit is set and cleared by software to enable/disable the analog watchdog 2 interrupt. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

AWD3IE

Bit 9: Analog watchdog 3 interrupt enable This bit is set and cleared by software to enable/disable the analog watchdog 2 interrupt. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

JQOVFIE

Bit 10: Injected context queue overflow interrupt enable This bit is set and cleared by software to enable/disable the Injected Context Queue Overflow interrupt. Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing)..

CR

ADC control register

Offset: 0x8, size: 32, reset: 0x20000000, access: Unspecified

0/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADCAL
rw
ADCALDIF
rw
DEEPPWD
rw
ADVREGEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
JADSTP
rw
ADSTP
rw
JADSTART
rw
ADSTART
rw
ADDIS
rw
ADEN
rw
Toggle fields

ADEN

Bit 0: ADC enable control This bit is set by software to enable the ADC. The ADC is effectively ready to operate once the flag ADRDY has been set. It is cleared by hardware when the ADC is disabled, after the execution of the ADDIS command. Note: The software is allowed to set ADEN only when all bits of ADC_CR registers are 0 (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0) except for bit ADVREGEN which must be 1 (and the software must have wait for the startup time of the voltage regulator).

ADDIS

Bit 1: ADC disable command This bit is set by software to disable the ADC (ADDIS command) and put it into power-down state (OFF state). It is cleared by hardware once the ADC is effectively disabled (ADEN is also cleared by hardware at this time). Note: The software is allowed to set ADDIS only when ADEN = 1 and both ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).

ADSTART

Bit 2: ADC start of regular conversion This bit is set by software to start ADC conversion of regular channels. Depending on the configuration bits EXTEN, a conversion immediately starts (software trigger configuration) or once a regular hardware trigger event occurs (hardware trigger configuration). It is cleared by hardware: in Single conversion mode when software trigger is selected (EXTSEL = 0x0): at the assertion of the End of Regular Conversion Sequence (EOS) flag. in all cases: after the execution of the ADSTP command, at the same time that ADSTP is cleared by hardware. Note: The software is allowed to set ADSTART only when ADEN = 1 and ADDIS = 0 (ADC is enabled and there is no pending request to disable the ADC) In auto-injection mode (JAUTO = 1), regular and auto-injected conversions are started by setting bit ADSTART (JADSTART must be kept cleared).

JADSTART

Bit 3: ADC start of injected conversion This bit is set by software to start ADC conversion of injected channels. Depending on the configuration bits JEXTEN, a conversion immediately starts (software trigger configuration) or once an injected hardware trigger event occurs (hardware trigger configuration). It is cleared by hardware: in Single conversion mode when software trigger is selected (JEXTSEL = 0x0): at the assertion of the End of Injected Conversion Sequence (JEOS) flag. in all cases: after the execution of the JADSTP command, at the same time that JADSTP is cleared by hardware. Note: The software is allowed to set JADSTART only when ADEN = 1 and ADDIS = 0 (ADC is enabled and there is no pending request to disable the ADC). In auto-injection mode (JAUTO = 1), regular and auto-injected conversions are started by setting bit ADSTART (JADSTART must be kept cleared).

ADSTP

Bit 4: ADC stop of regular conversion command This bit is set by software to stop and discard an ongoing regular conversion (ADSTP Command). It is cleared by hardware when the conversion is effectively discarded and the ADC regular sequence and triggers can be re-configured. The ADC is then ready to accept a new start of regular conversions (ADSTART command). Note: The software is allowed to set ADSTP only when ADSTART = 1 and ADDIS = 0 (ADC is enabled and eventually converting a regular conversion and there is no pending request to disable the ADC). In auto-injection mode (JAUTO = 1), setting ADSTP bit aborts both regular and injected conversions (do not use JADSTP)..

JADSTP

Bit 5: ADC stop of injected conversion command This bit is set by software to stop and discard an ongoing injected conversion (JADSTP Command). It is cleared by hardware when the conversion is effectively discarded and the ADC injected sequence and triggers can be re-configured. The ADC is then ready to accept a new start of injected conversions (JADSTART command). Note: The software is allowed to set JADSTP only when JADSTART = 1 and ADDIS = 0 (ADC is enabled and eventually converting an injected conversion and there is no pending request to disable the ADC) In Auto-injection mode (JAUTO = 1), setting ADSTP bit aborts both regular and injected conversions (do not use JADSTP).

ADVREGEN

Bit 28: ADC voltage regulator enable This bits is set by software to enable the ADC voltage regulator. Before performing any operation such as launching a calibration or enabling the ADC, the ADC voltage regulator must first be enabled and the software must wait for the regulator start-up time. For more details about the ADC voltage regulator enable and disable sequences, refer to (ADVREGEN). The software can program this bit field only when the ADC is disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0)..

DEEPPWD

Bit 29: Deep-power-down enable This bit is set and cleared by software to put the ADC in Deep-power-down mode. Note: The software is allowed to write this bit only when the ADC is disabled (ADCAL = 0, JADSTART = 0, JADSTP = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0)..

ADCALDIF

Bit 30: Differential mode for calibration This bit is set and cleared by software to configure the Single-ended or Differential inputs mode for the calibration. Note: The software is allowed to write this bit only when the ADC is disabled and is not calibrating (ADCAL = 0, JADSTART = 0, JADSTP = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0)..

ADCAL

Bit 31: ADC calibration This bit is set by software to start the calibration of the ADC. Program first the bit ADCALDIF to determine if this calibration applies for Single-ended or Differential inputs mode. It is cleared by hardware after calibration is complete. Note: The software is allowed to launch a calibration by setting ADCAL only when ADEN = 0. The software is allowed to update the calibration factor by writing ADC_CALFACT only when ADEN = 1 and ADSTART = 0 and JADSTART = 0 (ADC enabled and no conversion is ongoing).

CFGR

ADC configuration register

Offset: 0xc, size: 32, reset: 0x80000000, access: Unspecified

0/23 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
JQDIS
rw
AWD1CH
rw
JAUTO
rw
JAWD1EN
rw
AWD1EN
rw
AWD1SGL
rw
JQM
rw
JDISCEN
rw
DISCNUM
rw
DISCEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ALIGN
rw
AUTDLY
rw
CONT
rw
OVRMOD
rw
EXTEN
rw
EXTSEL4
rw
EXTSEL3
rw
EXTSEL2
rw
EXTSEL1
rw
EXTSEL0
rw
RES
rw
DMACFG
rw
DMAEN
rw
Toggle fields

DMAEN

Bit 0: Direct memory access enable This bit is set and cleared by software to enable the generation of DMA requests. This allows to use the DMA to manage automatically the converted data. For more details, refer to conversions using the DMA. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

DMACFG

Bit 1: Direct memory access configuration This bit is set and cleared by software to select between two DMA modes of operation and is effective only when DMAEN = 1. For more details, refer to Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

RES

Bits 3-4: Data resolution These bits are written by software to select the resolution of the conversion. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

EXTSEL0

Bit 5: External trigger selection for regular group These bits select the external event used to trigger the start of conversion of a regular group: ... Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

EXTSEL1

Bit 6: External trigger selection for regular group These bits select the external event used to trigger the start of conversion of a regular group: ... Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

EXTSEL2

Bit 7: External trigger selection for regular group These bits select the external event used to trigger the start of conversion of a regular group: ... Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

EXTSEL3

Bit 8: External trigger selection for regular group These bits select the external event used to trigger the start of conversion of a regular group: ... Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

EXTSEL4

Bit 9: External trigger selection for regular group These bits select the external event used to trigger the start of conversion of a regular group: ... Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

EXTEN

Bits 10-11: External trigger enable and polarity selection for regular channels These bits are set and cleared by software to select the external trigger polarity and enable the trigger of a regular group. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

OVRMOD

Bit 12: Overrun mode This bit is set and cleared by software and configure the way data overrun is managed. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

CONT

Bit 13: Single / Continuous conversion mode for regular conversions This bit is set and cleared by software. If it is set, regular conversion takes place continuously until it is cleared. Note: It is not possible to have both Discontinuous mode and Continuous mode enabled: it is forbidden to set both DISCEN = 1 and CONT = 1. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

AUTDLY

Bit 14: Delayed conversion mode This bit is set and cleared by software to enable/disable the Auto Delayed Conversion mode.. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

ALIGN

Bit 15: Data alignment This bit is set and cleared by software to select right or left alignment. Refer to register, data alignment and offset (ADC_DR, OFFSET, OFFSET_CH, ALIGN). Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

DISCEN

Bit 16: Discontinuous mode for regular channels This bit is set and cleared by software to enable/disable Discontinuous mode for regular channels. Note: It is not possible to have both Discontinuous mode and Continuous mode enabled: it is forbidden to set both DISCEN = 1 and CONT = 1. It is not possible to use both auto-injected mode and Discontinuous mode simultaneously: the bits DISCEN and JDISCEN must be kept cleared by software when JAUTO is set. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

DISCNUM

Bits 17-19: Discontinuous mode channel count These bits are written by software to define the number of regular channels to be converted in Discontinuous mode, after receiving an external trigger. ... Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

JDISCEN

Bit 20: Discontinuous mode on injected channels This bit is set and cleared by software to enable/disable Discontinuous mode on the injected channels of a group. Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing). It is not possible to use both auto-injected mode and Discontinuous mode simultaneously: the bits DISCEN and JDISCEN must be kept cleared by software when JAUTO is set..

JQM

Bit 21: JSQR queue mode This bit is set and cleared by software. It defines how an empty Queue is managed. Refer to for more information. Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing)..

AWD1SGL

Bit 22: Enable the watchdog 1 on a single channel or on all channels This bit is set and cleared by software to enable the analog watchdog on the channel identified by the AWD1CH[4:0] bits or on all the channels Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

AWD1EN

Bit 23: Analog watchdog 1 enable on regular channels This bit is set and cleared by software Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

JAWD1EN

Bit 24: Analog watchdog 1 enable on injected channels This bit is set and cleared by software Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing)..

JAUTO

Bit 25: Automatic injected group conversion This bit is set and cleared by software to enable/disable automatic injected group conversion after regular group conversion. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no regular nor injected conversion is ongoing)..

AWD1CH

Bits 26-30: Analog watchdog 1 channel selection These bits are set and cleared by software. They select the input channel to be guarded by the analog watchdog. ..... others: reserved, must not be used Note: Some channels are not connected physically. Keep the corresponding AWD1CH[4:0] setting to the reset value. The channel selected by AWD1CH must be also selected into the SQRi or JSQRi registers. The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

JQDIS

Bit 31: Injected Queue disable These bits are set and cleared by software to disable the Injected Queue mechanism : Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no regular nor injected conversion is ongoing). A set or reset of JQDIS bit causes the injected queue to be flushed and the JSQR register is cleared..

CFGR2

ADC configuration register 2

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

0/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SMPTRIG
rw
BULB
rw
SWTRIG
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ROVSM
rw
TROVS
rw
OVSS
rw
OVSR
rw
JOVSE
rw
ROVSE
rw
Toggle fields

ROVSE

Bit 0: Regular Oversampling Enable This bit is set and cleared by software to enable regular oversampling. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).

JOVSE

Bit 1: Injected Oversampling Enable This bit is set and cleared by software to enable injected oversampling. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing).

OVSR

Bits 2-4: Oversampling ratio This bitfield is set and cleared by software to define the oversampling ratio. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no conversion is ongoing)..

OVSS

Bits 5-8: Oversampling shift This bitfield is set and cleared by software to define the right shifting applied to the raw oversampling result. Other codes reserved Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no conversion is ongoing)..

TROVS

Bit 9: Triggered Regular Oversampling This bit is set and cleared by software to enable triggered oversampling Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

ROVSM

Bit 10: Regular Oversampling mode This bit is set and cleared by software to select the regular oversampling mode. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

SWTRIG

Bit 25: Software trigger bit for sampling time control trigger mode This bit is set and cleared by software to enable the bulb sampling mode. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

BULB

Bit 26: Bulb sampling mode This bit is set and cleared by software to enable the bulb sampling mode. SAMPTRIG bit must not be set when the BULB bit is set. The very first ADC conversion is performed with the sampling time specified in SMPx bits. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

SMPTRIG

Bit 27: Sampling time control trigger mode This bit is set and cleared by software to enable the sampling time control trigger mode. The sampling time starts on the trigger rising edge, and the conversion on the trigger falling edge. EXTEN bit should be set to 01. BULB bit must not be set when the SMPTRIG bit is set. When EXTEN bit is set to 00, set SWTRIG to start the sampling and clear SWTRIG bit to start the conversion. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

SMPR1

ADC sample time register 1

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

0/11 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SMPPLUS
rw
SMP9
rw
SMP8
rw
SMP7
rw
SMP6
rw
SMP5
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SMP5
rw
SMP4
rw
SMP3
rw
SMP2
rw
SMP1
rw
SMP0
rw
Toggle fields

SMP0

Bits 0-2: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMP1

Bits 3-5: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMP2

Bits 6-8: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMP3

Bits 9-11: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMP4

Bits 12-14: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMP5

Bits 15-17: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMP6

Bits 18-20: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMP7

Bits 21-23: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMP8

Bits 24-26: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMP9

Bits 27-29: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMPPLUS

Bit 31: Addition of one clock cycle to the sampling time. To make sure no conversion is ongoing, the software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0..

SMPR2

ADC sample time register 2

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

0/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SMP19
rw
SMP18
rw
SMP17
rw
SMP16
rw
SMP15
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SMP15
rw
SMP14
rw
SMP13
rw
SMP12
rw
SMP11
rw
SMP10
rw
Toggle fields

SMP10

Bits 0-2: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMP11

Bits 3-5: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMP12

Bits 6-8: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMP13

Bits 9-11: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMP14

Bits 12-14: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMP15

Bits 15-17: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMP16

Bits 18-20: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMP17

Bits 21-23: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMP18

Bits 24-26: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

SMP19

Bits 27-29: Channel x sampling time selection These bits are written by software to select the sampling time individually for each channel. During sampling cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value..

TR1

ADC watchdog threshold register 1

Offset: 0x20, size: 32, reset: 0x0FFF0000, access: Unspecified

0/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
HT1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AWDFILT
rw
LT1
rw
Toggle fields

LT1

Bits 0-11: Analog watchdog 1 lower threshold These bits are written by software to define the lower threshold for the analog watchdog 1. Refer to AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

AWDFILT

Bits 12-14: Analog watchdog filtering parameter This bit is set and cleared by software. ... Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing)..

HT1

Bits 16-27: Analog watchdog 1 higher threshold These bits are written by software to define the higher threshold for the analog watchdog 1. Refer to AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

TR2

ADC watchdog threshold register 2

Offset: 0x24, size: 32, reset: 0x00FF0000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
HT2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LT2
rw
Toggle fields

LT2

Bits 0-7: Analog watchdog 2 lower threshold These bits are written by software to define the lower threshold for the analog watchdog 2. Refer to AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

HT2

Bits 16-23: Analog watchdog 2 higher threshold These bits are written by software to define the higher threshold for the analog watchdog 2. Refer to AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

TR3

ADC watchdog threshold register 3

Offset: 0x28, size: 32, reset: 0x00FF0000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
HT3
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LT3
rw
Toggle fields

LT3

Bits 0-7: Analog watchdog 3 lower threshold These bits are written by software to define the lower threshold for the analog watchdog 3. This watchdog compares the 8-bit of LT3 with the 8 MSB of the converted data. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

HT3

Bits 16-23: Analog watchdog 3 higher threshold These bits are written by software to define the higher threshold for the analog watchdog 3. Refer to AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

SQR1

ADC regular sequence register 1

Offset: 0x30, size: 32, reset: 0x00000000, access: Unspecified

0/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SQ4
rw
SQ3
rw
SQ2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SQ2
rw
SQ1
rw
L
rw
Toggle fields

L

Bits 0-3: Regular channel sequence length These bits are written by software to define the total number of conversions in the regular channel conversion sequence. ... Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

SQ1

Bits 6-10: 1st conversion in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 1st in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

SQ2

Bits 12-16: 2nd conversion in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 2nd in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

SQ3

Bits 18-22: 3rd conversion in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 3rd in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

SQ4

Bits 24-28: 4th conversion in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 4th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

SQR2

ADC regular sequence register 2

Offset: 0x34, size: 32, reset: 0x00000000, access: Unspecified

0/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SQ9
rw
SQ8
rw
SQ7
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SQ7
rw
SQ6
rw
SQ5
rw
Toggle fields

SQ5

Bits 0-4: 5th conversion in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 5th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

SQ6

Bits 6-10: 6th conversion in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 6th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

SQ7

Bits 12-16: 7th conversion in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 7th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

SQ8

Bits 18-22: 8th conversion in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 8th in the regular conversion sequence Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

SQ9

Bits 24-28: 9th conversion in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 9th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

SQR3

ADC regular sequence register 3

Offset: 0x38, size: 32, reset: 0x00000000, access: Unspecified

0/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SQ14
rw
SQ13
rw
SQ12
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SQ12
rw
SQ11
rw
SQ10
rw
Toggle fields

SQ10

Bits 0-4: 10th conversion in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 10th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

SQ11

Bits 6-10: 11th conversion in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 11th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

SQ12

Bits 12-16: 12th conversion in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 12th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

SQ13

Bits 18-22: 13th conversion in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 13th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

SQ14

Bits 24-28: 14th conversion in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 14th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

SQR4

ADC regular sequence register 4

Offset: 0x3c, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SQ16
rw
SQ15
rw
Toggle fields

SQ15

Bits 0-4: 15th conversion in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 15th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

SQ16

Bits 6-10: 16th conversion in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 16th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing)..

DR

ADC regular data register

Offset: 0x40, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RDATA
r
Toggle fields

RDATA

Bits 0-15: Regular data converted These bits are read-only. They contain the conversion result from the last converted regular channel. The data are left- or right-aligned as described in ..

JSQR

ADC injected sequence register

Offset: 0x4c, size: 32, reset: 0x00000000, access: Unspecified

0/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
JSQ4
rw
JSQ3
rw
JSQ2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
JSQ2
rw
JSQ1
rw
JEXTEN
rw
JEXTSEL
rw
JL
rw
Toggle fields

JL

Bits 0-1: Injected channel sequence length These bits are written by software to define the total number of conversions in the injected channel conversion sequence. Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing)..

JEXTSEL

Bits 2-6: External Trigger Selection for injected group These bits select the external event used to trigger the start of conversion of an injected group: ... Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing)..

JEXTEN

Bits 7-8: External trigger enable and polarity selection for injected channels These bits are set and cleared by software to select the external trigger polarity and enable the trigger of an injected group. Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing). If JQM = 1 and if the Queue of Context becomes empty, the software and hardware triggers of the injected sequence are both internally disabled (refer to Queue of context for injected conversions).

JSQ1

Bits 9-13: 1st conversion in the injected sequence These bits are written by software with the channel number (0 to 19) assigned as the 1st in the injected conversion sequence. Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing)..

JSQ2

Bits 15-19: 2nd conversion in the injected sequence These bits are written by software with the channel number (0 to 19) assigned as the 2nd in the injected conversion sequence. Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing)..

JSQ3

Bits 21-25: 3rd conversion in the injected sequence These bits are written by software with the channel number (0 to 19) assigned as the 3rd in the injected conversion sequence. Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing)..

JSQ4

Bits 27-31: 4th conversion in the injected sequence These bits are written by software with the channel number (0 to 19) assigned as the 4th in the injected conversion sequence. Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing)..

OFR1

ADC offset 1 register

Offset: 0x60, size: 32, reset: 0x00000000, access: Unspecified

0/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OFFSET_EN
rw
OFFSET_CH
rw
SATEN
rw
OFFSETPOS
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OFFSET
rw
Toggle fields

OFFSET

Bits 0-11: Data offset y for the channel programmed into bits OFFSET_CH[4:0] These bits are written by software to define the offset to be subtracted from the raw converted data when converting a channel (can be regular or injected). The channel to which applies the data offset must be programmed in the bits OFFSET_CH[4:0]. The conversion result can be read from in the ADC_DR (regular conversion) or from in the ADC_JDRyi registers (injected conversion). Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). If several offset (OFFSET) point to the same channel, only the offset with the lowest x value is considered for the subtraction. Ex: if OFFSET1_CH[4:0] = 4 and OFFSET2_CH[4:0] = 4, this is OFFSET1[11:0] which is subtracted when converting channel 4..

OFFSETPOS

Bit 24: Positive offset This bit is set and cleared by software to enable the positive offset. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

SATEN

Bit 25: Saturation enable This bit is set and cleared by software to enable the saturation at 0x000 and 0xFFF for the offset function. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

OFFSET_CH

Bits 26-30: Channel selection for the data offset y These bits are written by software to define the channel to which the offset programmed into bits OFFSET[11:0] applies. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically and must not be selected for the data offset y. If OFFSET_EN is set, it is not allowed to select the same channel for different ADC_OFRy registers..

OFFSET_EN

Bit 31: Offset y enable This bit is written by software to enable or disable the offset programmed into bits OFFSET[11:0]. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

OFR2

ADC offset 2 register

Offset: 0x64, size: 32, reset: 0x00000000, access: Unspecified

0/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OFFSET_EN
rw
OFFSET_CH
rw
SATEN
rw
OFFSETPOS
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OFFSET
rw
Toggle fields

OFFSET

Bits 0-11: Data offset y for the channel programmed into bits OFFSET_CH[4:0] These bits are written by software to define the offset to be subtracted from the raw converted data when converting a channel (can be regular or injected). The channel to which applies the data offset must be programmed in the bits OFFSET_CH[4:0]. The conversion result can be read from in the ADC_DR (regular conversion) or from in the ADC_JDRyi registers (injected conversion). Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). If several offset (OFFSET) point to the same channel, only the offset with the lowest x value is considered for the subtraction. Ex: if OFFSET1_CH[4:0] = 4 and OFFSET2_CH[4:0] = 4, this is OFFSET1[11:0] which is subtracted when converting channel 4..

OFFSETPOS

Bit 24: Positive offset This bit is set and cleared by software to enable the positive offset. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

SATEN

Bit 25: Saturation enable This bit is set and cleared by software to enable the saturation at 0x000 and 0xFFF for the offset function. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

OFFSET_CH

Bits 26-30: Channel selection for the data offset y These bits are written by software to define the channel to which the offset programmed into bits OFFSET[11:0] applies. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically and must not be selected for the data offset y. If OFFSET_EN is set, it is not allowed to select the same channel for different ADC_OFRy registers..

OFFSET_EN

Bit 31: Offset y enable This bit is written by software to enable or disable the offset programmed into bits OFFSET[11:0]. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

OFR3

ADC offset 3 register

Offset: 0x68, size: 32, reset: 0x00000000, access: Unspecified

0/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OFFSET_EN
rw
OFFSET_CH
rw
SATEN
rw
OFFSETPOS
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OFFSET
rw
Toggle fields

OFFSET

Bits 0-11: Data offset y for the channel programmed into bits OFFSET_CH[4:0] These bits are written by software to define the offset to be subtracted from the raw converted data when converting a channel (can be regular or injected). The channel to which applies the data offset must be programmed in the bits OFFSET_CH[4:0]. The conversion result can be read from in the ADC_DR (regular conversion) or from in the ADC_JDRyi registers (injected conversion). Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). If several offset (OFFSET) point to the same channel, only the offset with the lowest x value is considered for the subtraction. Ex: if OFFSET1_CH[4:0] = 4 and OFFSET2_CH[4:0] = 4, this is OFFSET1[11:0] which is subtracted when converting channel 4..

OFFSETPOS

Bit 24: Positive offset This bit is set and cleared by software to enable the positive offset. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

SATEN

Bit 25: Saturation enable This bit is set and cleared by software to enable the saturation at 0x000 and 0xFFF for the offset function. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

OFFSET_CH

Bits 26-30: Channel selection for the data offset y These bits are written by software to define the channel to which the offset programmed into bits OFFSET[11:0] applies. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically and must not be selected for the data offset y. If OFFSET_EN is set, it is not allowed to select the same channel for different ADC_OFRy registers..

OFFSET_EN

Bit 31: Offset y enable This bit is written by software to enable or disable the offset programmed into bits OFFSET[11:0]. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

OFR4

ADC offset 4 register

Offset: 0x6c, size: 32, reset: 0x00000000, access: Unspecified

0/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OFFSET_EN
rw
OFFSET_CH
rw
SATEN
rw
OFFSETPOS
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OFFSET
rw
Toggle fields

OFFSET

Bits 0-11: Data offset y for the channel programmed into bits OFFSET_CH[4:0] These bits are written by software to define the offset to be subtracted from the raw converted data when converting a channel (can be regular or injected). The channel to which applies the data offset must be programmed in the bits OFFSET_CH[4:0]. The conversion result can be read from in the ADC_DR (regular conversion) or from in the ADC_JDRyi registers (injected conversion). Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). If several offset (OFFSET) point to the same channel, only the offset with the lowest x value is considered for the subtraction. Ex: if OFFSET1_CH[4:0] = 4 and OFFSET2_CH[4:0] = 4, this is OFFSET1[11:0] which is subtracted when converting channel 4..

OFFSETPOS

Bit 24: Positive offset This bit is set and cleared by software to enable the positive offset. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

SATEN

Bit 25: Saturation enable This bit is set and cleared by software to enable the saturation at 0x000 and 0xFFF for the offset function. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

OFFSET_CH

Bits 26-30: Channel selection for the data offset y These bits are written by software to define the channel to which the offset programmed into bits OFFSET[11:0] applies. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically and must not be selected for the data offset y. If OFFSET_EN is set, it is not allowed to select the same channel for different ADC_OFRy registers..

OFFSET_EN

Bit 31: Offset y enable This bit is written by software to enable or disable the offset programmed into bits OFFSET[11:0]. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing)..

JDR1

ADC injected channel 1 data register

Offset: 0x80, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
JDATA
r
Toggle fields

JDATA

Bits 0-15: Injected data These bits are read-only. They contain the conversion result from injected channel y. The data are left -or right-aligned as described in ..

JDR2

ADC injected channel 2 data register

Offset: 0x84, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
JDATA
r
Toggle fields

JDATA

Bits 0-15: Injected data These bits are read-only. They contain the conversion result from injected channel y. The data are left -or right-aligned as described in ..

JDR3

ADC injected channel 3 data register

Offset: 0x88, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
JDATA
r
Toggle fields

JDATA

Bits 0-15: Injected data These bits are read-only. They contain the conversion result from injected channel y. The data are left -or right-aligned as described in ..

JDR4

ADC injected channel 4 data register

Offset: 0x8c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
JDATA
r
Toggle fields

JDATA

Bits 0-15: Injected data These bits are read-only. They contain the conversion result from injected channel y. The data are left -or right-aligned as described in ..

AWD2CR

ADC Analog Watchdog 2 Configuration Register

Offset: 0xa0, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AWD2CH
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AWD2CH
rw
Toggle fields

AWD2CH

Bits 0-19: Analog watchdog 2 channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by the analog watchdog 2. AWD2CH[i] = 0: ADC analog input channel i is not monitored by AWD2 AWD2CH[i] = 1: ADC analog input channel i is monitored by AWD2 When AWD2CH[19:0] = 000..0, the analog Watchdog 2 is disabled Note: The channels selected by AWD2CH must be also selected into the SQRi or JSQRi registers. The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically and must not be selected for the analog watchdog..

AWD3CR

ADC Analog Watchdog 3 Configuration Register

Offset: 0xa4, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AWD3CH
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AWD3CH
rw
Toggle fields

AWD3CH

Bits 0-19: Analog watchdog 3 channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by the analog watchdog 3. AWD3CH[i] = 0: ADC analog input channel i is not monitored by AWD3 AWD3CH[i] = 1: ADC analog input channel i is monitored by AWD3 When AWD3CH[19:0] = 000..0, the analog Watchdog 3 is disabled Note: The channels selected by AWD3CH must be also selected into the SQRi or JSQRi registers. The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically and must not be selected for the analog watchdog..

DIFSEL

ADC Differential mode Selection Register

Offset: 0xb0, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DIFSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DIFSEL
rw
Toggle fields

DIFSEL

Bits 0-19: Differential mode for channels 19 to 0. These bits are set and cleared by software. They allow to select if a channel is configured as Single-ended or Differential mode. DIFSEL[i] = 0: ADC analog input channel is configured in Single-ended mode DIFSEL[i] = 1: ADC analog input channel i is configured in Differential mode Note: The DIFSEL bits corresponding to channels that are either connected to a single-ended I/O port or to an internal channel must be kept their reset value (Single-ended input mode). The software is allowed to write these bits only when the ADC is disabled (ADCAL = 0, JADSTART = 0, JADSTP = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0)..

CALFACT

ADC Calibration Factors

Offset: 0xb4, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CALFACT_D
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CALFACT_S
rw
Toggle fields

CALFACT_S

Bits 0-6: Calibration Factors In Single-ended mode These bits are written by hardware or by software. Once a single-ended inputs calibration is complete, they are updated by hardware with the calibration factors. Software can write these bits with a new calibration factor. If the new calibration factor is different from the current one stored into the analog ADC, it is then applied once a new single-ended calibration is launched. Note: The software is allowed to write these bits only when ADEN = 1, ADSTART = 0 and JADSTART = 0 (ADC is enabled and no calibration is ongoing and no conversion is ongoing)..

CALFACT_D

Bits 16-22: Calibration Factors in differential mode These bits are written by hardware or by software. Once a differential inputs calibration is complete, they are updated by hardware with the calibration factors. Software can write these bits with a new calibration factor. If the new calibration factor is different from the current one stored into the analog ADC, it is then applied once a new differential calibration is launched. Note: The software is allowed to write these bits only when ADEN = 1, ADSTART = 0 and JADSTART = 0 (ADC is enabled and no calibration is ongoing and no conversion is ongoing)..

OR

ADC option register

Offset: 0xc8, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OP1
rw
OP0
rw
Toggle fields

OP0

Bit 0: Option bit 0.

OP1

Bit 1: Option bit 1.

CCR

ADC common control register

Offset: 0x308, size: 32, reset: 0x00000000, access: Unspecified

0/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
VBATEN
rw
TSEN
rw
VREFEN
rw
PRESC
rw
CKMODE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

CKMODE

Bits 16-17: ADC clock mode These bits are set and cleared by software to define the ADC clock scheme (which is common to both master and slave ADCs): In all synchronous clock modes, there is no jitter in the delay from a timer trigger to the start of a conversion. Note: The software is allowed to write these bits only when the ADCs are disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0)..

PRESC

Bits 18-21: ADC prescaler These bits are set and cleared by software to select the frequency of the clock to the ADC. The clock is common for all the ADCs. other: reserved Note: The software is allowed to write these bits only when the ADC is disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). The ADC prescaler value is applied only when CKMODE[1:0] = 0b00..

VREFEN

Bit 22: VREFINT enable This bit is set and cleared by software to enable/disable the VREFINT channel..

TSEN

Bit 23: VSENSE enable This bit is set and cleared by software to control VSENSE..

VBATEN

Bit 24: VBAT enable This bit is set and cleared by software to control..

HWCFGR0

ADC hardware configuration register

Offset: 0x3f0, size: 32, reset: 0x00001211, access: Unspecified

4/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IDLEVALUE
r
OPBITS
r
MULPIPE
r
ADCNUM
r
Toggle fields

ADCNUM

Bits 0-3: Number of ADCs implemented.

MULPIPE

Bits 4-7: Number of pipeline stages.

OPBITS

Bits 8-11: Number of option bits 0002: 2 option bits implemented in the ADC option register (ADC_OR) at address offset 0xC8.

IDLEVALUE

Bits 12-15: Idle value for non-selected channels.

VERR

ADC version register

Offset: 0x3f4, size: 32, reset: 0x00000012, access: Unspecified

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MAJREV
r
MINREV
r
Toggle fields

MINREV

Bits 0-3: Minor revision These bits returns the ADC IP minor revision 0002: Major revision = X.2.

MAJREV

Bits 4-7: Major revision These bits returns the ADC IP major revision.

IPDR

ADC identification register

Offset: 0x3f8, size: 32, reset: 0x00110006, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ID
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID
r
Toggle fields

ID

Bits 0-31: Peripheral identifier These bits returns the ADC identifier. ID[31:0] = 0x0011 0006: c7amba_aditf5_90_v1.

SIDR

ADC size identification register

Offset: 0x3fc, size: 32, reset: 0xA3C5DD01, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SID
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SID
r
Toggle fields

SID

Bits 0-31: Size Identification SID[31:8]: fixed code that characterizes the ADC_SIDR register. This field is always read at 0xA3C5DD. SID[7:0]: read-only numeric field that returns the address offset (in Kbytes) of the identification registers from the IP base address:.

COMP

0x40004000: Comparator

2/17 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 COMP_SR
0x4 COMP_ICFR
0xc COMP_CFGR1
0x10 COMP_CFGR2
Toggle registers

COMP_SR

Comparator status register

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
C1IF
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
C1VAL
r
Toggle fields

C1VAL

Bit 0: COMP Channel1 output status bit This bit is read-only. It reflects the current COMP Channel1 output taking into account POLARITY and BLANKING bits effect..

C1IF

Bit 16: COMP Channel1 interrupt flag This bit is set by hardware when the COMP Channel1 output is set This bit is cleared by software writing 1 the CC1IF bit in the COMP_ICFR register..

COMP_ICFR

Comparator interrupt clear flag register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CC1IF
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

CC1IF

Bit 16: Clear COMP Channel1 interrupt flag Writing 1 clears the C1IF flag in the COMP_SR register..

COMP_CFGR1

Comparator configuration register 1

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

0/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LOCK
rw
BLANKING
rw
INPSEL2
rw
INPSEL1
rw
INMSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PWRMODE
rw
HYST
rw
ITEN
rw
POLARITY
rw
SCALEN
rw
BRGEN
rw
EN
rw
Toggle fields

EN

Bit 0: COMP Channel1 enable This bit is set and cleared by software (only if LOCK not set). It enables the COMP�Channel1..

BRGEN

Bit 1: Scaler bridge enable This bit is set and cleared by software (only if LOCK not set). This bit enables the bridge of the scaler. If SCALEN is set and BRGEN is reset, all four scaler outputs provide the same level V<sub>REF_COMP</sub> (similar to V<sub>REFINT</sub>). If SCALEN and BRGEN are set, the four scaler outputs provide V<sub>REF_COMP</sub>, 3/4�V<sub>REF_COMP</sub>, 1/2�V<sub>REF_COMP</sub> and 1/4�V<sub>REF_COMP</sub> levels, respectively..

SCALEN

Bit 2: Voltage scaler enable This bit is set and cleared by software (only if LOCK not set). This bit enables the V<sub>REFINT</sub> scaler for the COMP channels..

POLARITY

Bit 3: COMP channel1 polarity selection This bit is set and cleared by software (only if LOCK not set). It inverts COMP channel1 polarity..

ITEN

Bit 6: COMP channel1 interrupt enable This bit is set and cleared by software (only if LOCK not set). This bit enable the interrupt generation of the COMP channel1..

HYST

Bits 8-9: COMP channel1 hysteresis selection These bits are set and cleared by software (only if LOCK not set). They select the hysteresis voltage of the COMP channel1..

PWRMODE

Bits 12-13: Power mode of the COMP channel1 These bits are set and cleared by software (only if LOCK not set). They control the power/speed of the COMP channel1..

INMSEL

Bits 16-19: COMP channel1 inverting input selection These bits are set and cleared by software (only if LOCK not set). They select which input is connected to the input minus of the COMP channel. Note: See Table�146: COMP1 inverting input assignment for more details..

INPSEL1

Bit 20: COMP noninverting input selection This bit is set and cleared by software (only if LOCK not set). They select which input is connected to the positive input of COMP channel. Note: See Table�145: COMP1 noninverting input assignment for more details..

INPSEL2

Bit 22: COMP noninverting input selection This bit is set and cleared by software (only if LOCK not set). They select which input is connected to the positive input of the COMP channel. See Table�145: COMP1 noninverting input assignment for more details..

BLANKING

Bits 24-27: COMP Channel1 blanking source selection Bits of this field are set and cleared by software (only if LOCK not set). The field selects the input source for COMP Channel1 output blanking: All other values: reserved.

LOCK

Bit 31: Lock This bit is set by software and cleared by a hardware system reset. It locks the whole content of the COMP Channel1 configuration register COMP_CFGR1[31:0].

COMP_CFGR2

Comparator configuration register 2

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LOCK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
INPSEL0
rw
Toggle fields

INPSEL0

Bit 4: COMP non-inverting input selection This bit is set and cleared by software (only if LOCK not set). They select which input is connected to the positive input of COMP channel. See Table�145: COMP1 noninverting input assignment for more details..

LOCK

Bit 31: Lock This bit is set by software and cleared by a hardware system reset. It locks the whole content of the COMP Channel1 configuration register COMP_CFGR2[31:0].

CRC

0x40023000: Cyclic redundancy check calculation unit

0/8 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 DR
0x4 IDR
0x8 CR
0x10 INIT
0x14 POL
Toggle registers

DR

CRC data register

Offset: 0x0, size: 32, reset: 0xFFFFFFFF, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DR
rw
Toggle fields

DR

Bits 0-31: Data register bits This register is used to write new data to the CRC calculator. It holds the previous CRC calculation result when it is read. If the data size is less than 32 bits, the least significant bits are used to write/read the correct value..

IDR

CRC independent data register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
IDR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IDR
rw
Toggle fields

IDR

Bits 0-31: General-purpose 32-bit data register bits These bits can be used as a temporary storage location for four bytes. This register is not affected by CRC resets generated by the RESET bit in the CRC_CR register.

CR

CRC control register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
REV_OUT
rw
REV_IN
rw
POLYSIZE
rw
RESET
rw
Toggle fields

RESET

Bit 0: RESET bit This bit is set by software to reset the CRC calculation unit and set the data register to the value stored in the CRC_INIT register. This bit can only be set, it is automatically cleared by hardware.

POLYSIZE

Bits 3-4: Polynomial size These bits control the size of the polynomial..

REV_IN

Bits 5-6: Reverse input data These bits control the reversal of the bit order of the input data.

REV_OUT

Bit 7: Reverse output data This bit controls the reversal of the bit order of the output data..

INIT

CRC initial value

Offset: 0x10, size: 32, reset: 0xFFFFFFFF, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CRC_INIT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CRC_INIT
rw
Toggle fields

CRC_INIT

Bits 0-31: Programmable initial CRC value This register is used to write the CRC initial value..

POL

CRC polynomial

Offset: 0x14, size: 32, reset: 0x04C11DB7, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
POL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
POL
rw
Toggle fields

POL

Bits 0-31: Programmable polynomial This register is used to write the coefficients of the polynomial to be used for CRC calculation. If the polynomial size is less than 32 bits, the least significant bits have to be used to program the correct value..

CRS

0x40006000: Clock recovery system

26/26 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CR
0x4 CFGR
0x8 ISR
0xc ICR
Toggle registers

CR

CRS control register

Offset: 0x0, size: 32, reset: 0x00002000, access: Unspecified

8/8 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIM
rw
SWSYNC
rw
AUTOTRIMEN
rw
CEN
rw
ESYNCIE
rw
ERRIE
rw
SYNCWARNIE
rw
SYNCOKIE
rw
Toggle fields

SYNCOKIE

Bit 0: SYNC event OK interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

SYNCWARNIE

Bit 1: SYNC warning interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

ERRIE

Bit 2: Synchronization or trimming error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

ESYNCIE

Bit 3: Expected SYNC interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

CEN

Bit 5: Frequency error counter enable This bit enables the oscillator clock for the frequency error counter. When this bit is set, the CRS_CFGR register is write-protected and cannot be modified..

Allowed values:
0: Disabled: Frequency error counter disabled
1: Enabled: Frequency error counter enabled

AUTOTRIMEN

Bit 6: Automatic trimming enable This bit enables the automatic hardware adjustment of TRIM bits according to the measured frequency error between two SYNC events. If this bit is set, the TRIM bits are read-only. The TRIM value can be adjusted by hardware by one or two steps at a time, depending on the measured frequency error value. Refer to Section 10.5.3 for more details..

Allowed values:
0: Disabled: Automatic trimming disabled
1: Enabled: Automatic trimming enabled

SWSYNC

Bit 7: Generate software SYNC event This bit is set by software in order to generate a software SYNC event. It is automatically cleared by hardware..

Allowed values:
1: Sync: A software sync is generated

TRIM

Bits 8-13: HSI48 oscillator smooth trimming These bits provide a user-programmable trimming value to the HSI48 oscillator. They can be programmed to adjust to variations in voltage and temperature that influence the frequency of the HSI48 oscillator. The default value is 32, which corresponds to the middle of the trimming interval. The trimming step is specified in the product datasheet. A higher TRIM value corresponds to a higher output frequency. When the AUTOTRIMEN bit is set, this field is controlled by hardware and is read-only..

Allowed values: 0x0-0x3f

CFGR

CRS configuration register

Offset: 0x4, size: 32, reset: 0x2022BB7F, access: Unspecified

5/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SYNCPOL
rw
SYNCSRC
rw
SYNCDIV
rw
FELIM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RELOAD
rw
Toggle fields

RELOAD

Bits 0-15: Counter reload value RELOAD is the value to be loaded in the frequency error counter with each SYNC event. Refer to Section 10.5.2 for more details about counter behavior..

Allowed values: 0x0-0xffff

FELIM

Bits 16-23: Frequency error limit FELIM contains the value to be used to evaluate the captured frequency error value latched in the FECAP[15:0] bits of the CRS_ISR register. Refer to Section 10.5.3 for more details about FECAP evaluation..

Allowed values: 0x0-0xff

SYNCDIV

Bits 24-26: SYNC divider These bits are set and cleared by software to control the division factor of the SYNC signal..

Allowed values:
0: NotDivided: SYNC not divided
1: DivideBy2: SYNC divided by 2
2: DivideBy4: SYNC divided by 4
3: DivideBy8: SYNC divided by 8
4: DivideBy16: SYNC divided by 16
5: DivideBy32: SYNC divided by 32
6: DivideBy64: SYNC divided by 64
7: DivideBy128: SYNC divided by 128

SYNCSRC

Bits 28-29: SYNC signal source selection These bits are set and cleared by software to select the SYNC signal source (see Table 68: CRS internal input/output signals for STM32U575/585): Note: When using USB LPM (Link Power Management) and the device is in Sleep mode, the periodic USB SOF is not generated by the host. No SYNC signal is therefore provided to the CRS to calibrate the HSI48 oscillator on the run. To guarantee the required clock precision after waking up from Sleep mode, the LSE or reference clock on the GPIOs must be used as SYNC signal..

Allowed values:
0: GPIO_AF: GPIO AF (crs_sync_in_1) selected as SYNC signal source
1: LSE: LSE (crs_sync_in_2) selected as SYNC signal source
2: USB_SOF: USB SOF (crs_sync_in_3) selected as SYNC signal source

SYNCPOL

Bit 31: SYNC polarity selection This bit is set and cleared by software to select the input polarity for the SYNC signal source..

Allowed values:
0: RisingEdge: SYNC active on rising edge
1: FallingEdge: SYNC active on falling edge

ISR

CRS interrupt and status register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FECAP
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FEDIR
r
TRIMOVF
r
SYNCMISS
r
SYNCERR
r
ESYNCF
r
ERRF
r
SYNCWARNF
r
SYNCOKF
r
Toggle fields

SYNCOKF

Bit 0: SYNC event OK flag This flag is set by hardware when the measured frequency error is smaller than FELIM * 3. This means that either no adjustment of the TRIM value is needed or that an adjustment by one trimming step is enough to compensate the frequency error. An interrupt is generated if the SYNCOKIE bit is set in the CRS_CR register. It is cleared by software by setting the SYNCOKC bit in the CRS_ICR register..

Allowed values:
0: NotSignaled: Signal not set
1: Signaled: Signal set

SYNCWARNF

Bit 1: SYNC warning flag This flag is set by hardware when the measured frequency error is greater than or equal to FELIM * 3, but smaller than FELIM * 128. This means that to compensate the frequency error, the TRIM value must be adjusted by two steps or more. An interrupt is generated if the SYNCWARNIE bit is set in the CRS_CR register. It is cleared by software by setting the SYNCWARNC bit in the CRS_ICR register..

Allowed values:
0: NotSignaled: Signal not set
1: Signaled: Signal set

ERRF

Bit 2: Error flag This flag is set by hardware in case of any synchronization or trimming error. It is the logical OR of the TRIMOVF, SYNCMISS and SYNCERR bits. An interrupt is generated if the ERRIE bit is set in the CRS_CR register. It is cleared by software in reaction to setting the ERRC bit in the CRS_ICR register, which clears the TRIMOVF, SYNCMISS and SYNCERR bits..

Allowed values:
0: NotSignaled: Signal not set
1: Signaled: Signal set

ESYNCF

Bit 3: Expected SYNC flag This flag is set by hardware when the frequency error counter reached a zero value. An interrupt is generated if the ESYNCIE bit is set in the CRS_CR register. It is cleared by software by setting the ESYNCC bit in the CRS_ICR register..

Allowed values:
0: NotSignaled: Signal not set
1: Signaled: Signal set

SYNCERR

Bit 8: SYNC error This flag is set by hardware when the SYNC pulse arrives before the ESYNC event and the measured frequency error is greater than or equal to FELIM * 128. This means that the frequency error is too big (internal frequency too low) to be compensated by adjusting the TRIM value, and that some other action has to be taken. An interrupt is generated if the ERRIE bit is set in the CRS_CR register. It is cleared by software by setting the ERRC bit in the CRS_ICR register..

Allowed values:
0: NotSignaled: Signal not set
1: Signaled: Signal set

SYNCMISS

Bit 9: SYNC missed This flag is set by hardware when the frequency error counter reached value FELIM * 128 and no SYNC was detected, meaning either that a SYNC pulse was missed or that the frequency error is too big (internal frequency too high) to be compensated by adjusting the TRIM value, and that some other action has to be taken. At this point, the frequency error counter is stopped (waiting for a next SYNC) and an interrupt is generated if the ERRIE bit is set in the CRS_CR register. It is cleared by software by setting the ERRC bit in the CRS_ICR register..

Allowed values:
0: NotSignaled: Signal not set
1: Signaled: Signal set

TRIMOVF

Bit 10: Trimming overflow or underflow This flag is set by hardware when the automatic trimming tries to over- or under-flow the TRIM value. An interrupt is generated if the ERRIE bit is set in the CRS_CR register. It is cleared by software by setting the ERRC bit in the CRS_ICR register..

Allowed values:
0: NotSignaled: Signal not set
1: Signaled: Signal set

FEDIR

Bit 15: Frequency error direction FEDIR is the counting direction of the frequency error counter latched in the time of the last SYNC event. It shows whether the actual frequency is below or above the target..

Allowed values:
0: UpCounting: Error in up-counting direction
1: DownCounting: Error in down-counting direction

FECAP

Bits 16-31: Frequency error capture FECAP is the frequency error counter value latched in the time of the last SYNC event. Refer to Section 10.5.3 for more details about FECAP usage..

Allowed values: 0x0-0xffff

ICR

CRS interrupt flag clear register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ESYNCC
rw
ERRC
rw
SYNCWARNC
rw
SYNCOKC
rw
Toggle fields

SYNCOKC

Bit 0: SYNC event OK clear flag Writing 1 to this bit clears the SYNCOKF flag in the CRS_ISR register..

Allowed values:
1: Clear: Clear flag

SYNCWARNC

Bit 1: SYNC warning clear flag Writing 1 to this bit clears the SYNCWARNF flag in the CRS_ISR register..

Allowed values:
1: Clear: Clear flag

ERRC

Bit 2: Error clear flag Writing 1 to this bit clears TRIMOVF, SYNCMISS and SYNCERR bits and consequently also the ERRF flag in the CRS_ISR register..

Allowed values:
1: Clear: Clear flag

ESYNCC

Bit 3: Expected SYNC clear flag Writing 1 to this bit clears the ESYNCF flag in the CRS_ISR register..

Allowed values:
1: Clear: Clear flag

DAC

0x42028400: Digital to analog converter

12/66 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CR
0x4 SWTRGR
0x8 DHR12R1
0xc DHR12L1
0x10 DHR8R1
0x14 DHR12R2
0x18 DHR12L2
0x1c DHR8R2
0x20 DHR12RD
0x24 DHR12LD
0x28 DHR8RD
0x2c DOR1
0x30 DOR2
0x34 SR
0x38 CCR
0x3c MCR
0x40 SHSR1
0x44 SHSR2
0x48 SHHR
0x4c SHRR
Toggle registers

CR

DAC control register

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

0/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CEN2
rw
DMAUDRIE2
rw
DMAEN2
rw
MAMP2
rw
WAVE2
rw
TSEL2
rw
TEN2
rw
EN2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CEN1
rw
DMAUDRIE1
rw
DMAEN1
rw
MAMP1
rw
WAVE1
rw
TSEL1
rw
TEN1
rw
EN1
rw
Toggle fields

EN1

Bit 0: DAC channel1 enable This bit is set and cleared by software to enable/disable DAC channel1..

TEN1

Bit 1: DAC channel1 trigger enable This bit is set and cleared by software to enable/disable DAC channel1 trigger. Note: When software trigger is selected, the transfer from the DAC_DHR1 register to the DAC_DOR1 register takes only one dac_hclk clock cycle..

TSEL1

Bits 2-5: DAC channel1 trigger selection These bits select the external event used to trigger DAC channel1 ... Refer to the trigger selection tables in for details on trigger configuration and mapping. Note: Only used if bit TEN1 = 1 (DAC channel1 trigger enabled)..

WAVE1

Bits 6-7: DAC channel1 noise/triangle wave generation enable These bits are set and cleared by software. 1x: Triangle wave generation enabled Only used if bit TEN1 = 1 (DAC channel1 trigger enabled)..

MAMP1

Bits 8-11: DAC channel1 mask/amplitude selector These bits are written by software to select mask in wave generation mode or amplitude in triangle generation mode. ≥ 1011: Unmask bits[11:0] of LFSR/ triangle amplitude equal to 4095.

DMAEN1

Bit 12: DAC channel1 DMA enable This bit is set and cleared by software..

DMAUDRIE1

Bit 13: DAC channel1 DMA Underrun Interrupt enable This bit is set and cleared by software..

CEN1

Bit 14: DAC channel1 calibration enable This bit is set and cleared by software to enable/disable DAC channel1 calibration, it can be written only if bit EN1 = 0 into DAC_CR (the calibration mode can be entered/exit only when the DAC channel is disabled) Otherwise, the write operation is ignored..

EN2

Bit 16: DAC channel2 enable This bit is set and cleared by software to enable/disable DAC channel2. Note: These bits are available only on dual-channel DACs. Refer to implementation..

TEN2

Bit 17: DAC channel2 trigger enable This bit is set and cleared by software to enable/disable DAC channel2 trigger Note: When software trigger is selected, the transfer from the DAC_DHR2 register to the DAC_DOR2 register takes only one dac_hclk clock cycle. These bits are available only on dual-channel DACs. Refer to implementation..

TSEL2

Bits 18-21: DAC channel2 trigger selection These bits select the external event used to trigger DAC channel2 ... Refer to the trigger selection tables in for details on trigger configuration and mapping. Note: Only used if bit TEN2 = 1 (DAC channel2 trigger enabled). These bits are available only on dual-channel DACs. Refer to implementation..

WAVE2

Bits 22-23: DAC channel2 noise/triangle wave generation enable These bits are set/reset by software. 1x: Triangle wave generation enabled Note: Only used if bit TEN2 = 1 (DAC channel2 trigger enabled) These bits are available only on dual-channel DACs. Refer to implementation..

MAMP2

Bits 24-27: DAC channel2 mask/amplitude selector These bits are written by software to select mask in wave generation mode or amplitude in triangle generation mode. ≥ 1011: Unmask bits[11:0] of LFSR/ triangle amplitude equal to 4095 Note: These bits are available only on dual-channel DACs. Refer to implementation..

DMAEN2

Bit 28: DAC channel2 DMA enable This bit is set and cleared by software. Note: This bit is available only on dual-channel DACs. Refer to implementation..

DMAUDRIE2

Bit 29: DAC channel2 DMA underrun interrupt enable This bit is set and cleared by software. Note: This bit is available only on dual-channel DACs. Refer to implementation..

CEN2

Bit 30: DAC channel2 calibration enable This bit is set and cleared by software to enable/disable DAC channel2 calibration, it can be written only if EN2 bit is set to 0 into DAC_CR (the calibration mode can be entered/exit only when the DAC channel is disabled) Otherwise, the write operation is ignored. Note: This bit is available only on dual-channel DACs. Refer to implementation..

SWTRGR

DAC software trigger register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SWTRIG2
w
SWTRIG1
w
Toggle fields

SWTRIG1

Bit 0: DAC channel1 software trigger This bit is set by software to trigger the DAC in software trigger mode. Note: This bit is cleared by hardware (one dac_hclk clock cycle later) once the DAC_DHR1 register value has been loaded into the DAC_DOR1 register..

SWTRIG2

Bit 1: DAC channel2 software trigger This bit is set by software to trigger the DAC in software trigger mode. Note: This bit is cleared by hardware (one dac_hclk clock cycle later) once the DAC_DHR2 register value has been loaded into the DAC_DOR2 register. This bit is available only on dual-channel DACs. Refer to implementation..

DHR12R1

DAC channel1 12-bit right-aligned data holding register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DACC1DHRB
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DACC1DHR
rw
Toggle fields

DACC1DHR

Bits 0-11: DAC channel1 12-bit right-aligned data These bits are written by software. They specify 12-bit data for DAC channel1..

DACC1DHRB

Bits 16-27: DAC channel1 12-bit right-aligned data B These bits are written by software. They specify 12-bit data for DAC channel1 when the DAC operates in Double data mode..

DHR12L1

DAC channel1 12-bit left aligned data holding register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DACC1DHRB
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DACC1DHR
rw
Toggle fields

DACC1DHR

Bits 4-15: DAC channel1 12-bit left-aligned data These bits are written by software. They specify 12-bit data for DAC channel1..

DACC1DHRB

Bits 20-31: DAC channel1 12-bit left-aligned data B These bits are written by software. They specify 12-bit data for DAC channel1 when the DAC operates in Double data mode..

DHR8R1

DAC channel1 8-bit right aligned data holding register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DACC1DHRB
rw
DACC1DHR
rw
Toggle fields

DACC1DHR

Bits 0-7: DAC channel1 8-bit right-aligned data These bits are written by software. They specify 8-bit data for DAC channel1..

DACC1DHRB

Bits 8-15: DAC channel1 8-bit right-aligned data These bits are written by software. They specify 8-bit data for DAC channel1 when the DAC operates in Double data mode..

DHR12R2

DAC channel2 12-bit right aligned data holding register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DACC2DHRB
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DACC2DHR
rw
Toggle fields

DACC2DHR

Bits 0-11: DAC channel2 12-bit right-aligned data These bits are written by software. They specify 12-bit data for DAC channel2..

DACC2DHRB

Bits 16-27: DAC channel2 12-bit right-aligned data These bits are written by software. They specify 12-bit data for DAC channel2 when the DAC operates in DMA Double data mode..

DHR12L2

DAC channel2 12-bit left aligned data holding register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DACC2DHRB
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DACC2DHR
rw
Toggle fields

DACC2DHR

Bits 4-15: DAC channel2 12-bit left-aligned data These bits are written by software which specify 12-bit data for DAC channel2..

DACC2DHRB

Bits 20-31: DAC channel2 12-bit left-aligned data B These bits are written by software. They specify 12-bit data for DAC channel2 when the DAC operates in Double data mode..

DHR8R2

DAC channel2 8-bit right-aligned data holding register

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DACC2DHRB
rw
DACC2DHR
rw
Toggle fields

DACC2DHR

Bits 0-7: DAC channel2 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel2..

DACC2DHRB

Bits 8-15: DAC channel2 8-bit right-aligned data These bits are written by software. They specify 8-bit data for DAC channel2 when the DAC operates in Double data mode..

DHR12RD

Dual DAC 12-bit right-aligned data holding register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DACC2DHR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DACC1DHR
rw
Toggle fields

DACC1DHR

Bits 0-11: DAC channel1 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel1..

DACC2DHR

Bits 16-27: DAC channel2 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel2..

DHR12LD

Dual DAC 12-bit left aligned data holding register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DACC2DHR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DACC1DHR
rw
Toggle fields

DACC1DHR

Bits 4-15: DAC channel1 12-bit left-aligned data These bits are written by software which specifies 12-bit data for DAC channel1..

DACC2DHR

Bits 20-31: DAC channel2 12-bit left-aligned data These bits are written by software which specifies 12-bit data for DAC channel2..

DHR8RD

Dual DAC 8-bit right aligned data holding register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DACC2DHR
rw
DACC1DHR
rw
Toggle fields

DACC1DHR

Bits 0-7: DAC channel1 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel1..

DACC2DHR

Bits 8-15: DAC channel2 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel2..

DOR1

DAC channel1 data output register

Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DACC1DORB
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DACC1DOR
r
Toggle fields

DACC1DOR

Bits 0-11: DAC channel1 data output These bits are read-only, they contain data output for DAC channel1..

DACC1DORB

Bits 16-27: DAC channel1 data output These bits are read-only. They contain data output for DAC channel1 B..

DOR2

DAC channel2 data output register

Offset: 0x30, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DACC2DORB
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DACC2DOR
r
Toggle fields

DACC2DOR

Bits 0-11: DAC channel2 data output These bits are read-only, they contain data output for DAC channel2..

DACC2DORB

Bits 16-27: DAC channel2 data output These bits are read-only. They contain data output for DAC channel2 B..

SR

DAC status register

Offset: 0x34, size: 32, reset: 0x00000000, access: Unspecified

8/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BWST2
r
CAL_FLAG2
r
DMAUDR2
rw
DORSTAT2
r
DAC2RDY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BWST1
r
CAL_FLAG1
r
DMAUDR1
rw
DORSTAT1
r
DAC1RDY
r
Toggle fields

DAC1RDY

Bit 11: DAC channel1 ready status bit This bit is set and cleared by hardware..

DORSTAT1

Bit 12: DAC channel1 output register status bit This bit is set and cleared by hardware. It is applicable only when the DAC operates in Double data mode..

DMAUDR1

Bit 13: DAC channel1 DMA underrun flag This bit is set by hardware and cleared by software (by writing it to 1)..

CAL_FLAG1

Bit 14: DAC channel1 calibration offset status This bit is set and cleared by hardware.

BWST1

Bit 15: DAC channel1 busy writing sample time flag This bit is systematically set just after Sample and hold mode enable and is set each time the software writes the register DAC_SHSR1, It is cleared by hardware when the write operation of DAC_SHSR1 is complete. (It takes about 3 LSI/LSE periods of synchronization)..

DAC2RDY

Bit 27: DAC channel2 ready status bit This bit is set and cleared by hardware. Note: This bit is available only on dual-channel DACs. Refer to implementation..

DORSTAT2

Bit 28: DAC channel2 output register status bit This bit is set and cleared by hardware. It is applicable only when the DAC operates in Double data mode. Note: This bit is available only on dual-channel DACs. Refer to implementation..

DMAUDR2

Bit 29: DAC channel2 DMA underrun flag This bit is set by hardware and cleared by software (by writing it to 1). Note: This bit is available only on dual-channel DACs. Refer to implementation..

CAL_FLAG2

Bit 30: DAC channel2 calibration offset status This bit is set and cleared by hardware Note: This bit is available only on dual-channel DACs. Refer to implementation..

BWST2

Bit 31: DAC channel2 busy writing sample time flag This bit is systematically set just after Sample and hold mode enable. It is set each time the software writes the register DAC_SHSR2, It is cleared by hardware when the write operation of DAC_SHSR2 is complete. (It takes about 3 LSI/LSE periods of synchronization). Note: This bit is available only on dual-channel DACs. Refer to implementation..

CCR

DAC calibration control register

Offset: 0x38, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OTRIM2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OTRIM1
rw
Toggle fields

OTRIM1

Bits 0-4: DAC channel1 offset trimming value.

OTRIM2

Bits 16-20: DAC channel2 offset trimming value These bits are available only on dual-channel DACs. Refer to implementation..

MCR

DAC mode control register

Offset: 0x3c, size: 32, reset: 0x00000000, access: Unspecified

0/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SINFORMAT2
rw
DMADOUBLE2
rw
MODE2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HFSEL1
rw
HFSEL0
rw
SINFORMAT1
rw
DMADOUBLE1
rw
MODE1
rw
Toggle fields

MODE1

Bits 0-2: DAC channel1 mode These bits can be written only when the DAC is disabled and not in the calibration mode (when bit EN1 = 0 and bit CEN1 = 0 in the DAC_CR register). If EN1 = 1 or CEN1 = 1 the write operation is ignored. They can be set and cleared by software to select the DAC channel1 mode: DAC channel1 in Normal mode DAC channel1 in sample & hold mode Note: This register can be modified only when EN1 = 0..

DMADOUBLE1

Bit 8: DAC channel1 DMA double data mode This bit is set and cleared by software..

SINFORMAT1

Bit 9: Enable signed format for DAC channel1 This bit is set and cleared by software..

HFSEL0

Bit 14: High frequency interface mode selection.

HFSEL1

Bit 15: High frequency interface mode selection.

MODE2

Bits 16-18: DAC channel2 mode These bits can be written only when the DAC is disabled and not in the calibration mode (when bit EN2 = 0 and bit CEN2 = 0 in the DAC_CR register). If EN2 = 1 or CEN2 = 1 the write operation is ignored. They can be set and cleared by software to select the DAC channel2 mode: DAC channel2 in Normal mode DAC channel2 in Sample and hold mode Note: This register can be modified only when EN2 = 0. Refer to for the availability of DAC channel2..

DMADOUBLE2

Bit 24: DAC channel2 DMA double data mode This bit is set and cleared by software. Note: This bit is available only on dual-channel DACs. Refer to implementation..

SINFORMAT2

Bit 25: Enable signed format for DAC channel2 This bit is set and cleared by software. Note: This bit is available only on dual-channel DACs. Refer to implementation..

SHSR1

DAC channel1 sample and hold sample time register

Offset: 0x40, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TSAMPLE1
rw
Toggle fields

TSAMPLE1

Bits 0-9: DAC channel1 sample time (only valid in Sample and hold mode) These bits can be written when the DAC channel1 is disabled or also during normal operation. in the latter case, the write can be done only when BWST1 of DAC_SR register is low, If BWST1 = 1, the write operation is ignored..

SHSR2

DAC channel2 sample and hold sample time register

Offset: 0x44, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TSAMPLE2
rw
Toggle fields

TSAMPLE2

Bits 0-9: DAC channel2 sample time (only valid in Sample and hold mode) These bits can be written when the DAC channel2 is disabled or also during normal operation. in the latter case, the write can be done only when BWST2 of DAC_SR register is low, if BWST2 = 1, the write operation is ignored..

SHHR

DAC sample and hold time register

Offset: 0x48, size: 32, reset: 0x00010001, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
THOLD2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
THOLD1
rw
Toggle fields

THOLD1

Bits 0-9: DAC channel1 hold time (only valid in Sample and hold mode) Hold time = (THOLD[9:0]) x LSI/LSE clock period Note: This register can be modified only when EN1 = 0..

THOLD2

Bits 16-25: DAC channel2 hold time (only valid in Sample and hold mode). Hold time = (THOLD[9:0]) x LSI/LSE clock period Note: This register can be modified only when EN2 = 0. These bits are available only on dual-channel DACs. Refer to implementation..

SHRR

DAC sample and hold refresh time register

Offset: 0x4c, size: 32, reset: 0x00010001, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TREFRESH2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TREFRESH1
rw
Toggle fields

TREFRESH1

Bits 0-7: DAC channel1 refresh time (only valid in Sample and hold mode) Refresh time = (TREFRESH[7:0]) x LSI/LSE clock period Note: This register can be modified only when EN1 = 0..

TREFRESH2

Bits 16-23: DAC channel2 refresh time (only valid in Sample and hold mode) Refresh time = (TREFRESH[7:0]) x LSI/LSE clock period Note: This register can be modified only when EN2 = 0. These bits are available only on dual-channel DACs. Refer to implementation..

DBGMCU

0x44024000: Microcontroller debug unit

18/59 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 IDCODE
0x4 CR
0x8 APB1LFZR
0xc APB1HFZR
0x10 APB2FZR
0x14 APB3FZR
0x20 AHB1FZR
0xfc SR
0x100 DBG_AUTH_HOST
0x104 DBG_AUTH_DEVICE
0x108 DBG_AUTH_ACK
0xfd0 PIDR4
0xfe0 PIDR0
0xfe4 PIDR1
0xfe8 PIDR2
0xfec PIDR3
0xff0 CIDR0
0xff4 CIDR1
0xff8 CIDR2
0xffc CIDR3
Toggle registers

IDCODE

DBGMCU identity code register

Offset: 0x0, size: 32, reset: 0x00006000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
REV_ID
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DEV_ID
r
Toggle fields

DEV_ID

Bits 0-11: device identification.

REV_ID

Bits 16-31: revision This field indicates the revision of the device..

CR

DBGMCU configuration register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

0/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DCRT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRACE_MODE
rw
TRACE_EN
rw
TRACE_IOEN
rw
DBG_STANDBY
rw
DBG_STOP
rw
Toggle fields

DBG_STOP

Bit 1: Allows debug in Stop mode All clocks are disabled automatically in Stop mode. All active clocks and oscillators continue to run during Stop mode, allowing full debug capability. On exit from Stop mode, the clock settings are set to the Stop mode exit state..

DBG_STANDBY

Bit 2: Allows debug in Standby mode All clocks are disabled and the core powered down automatically in Standby mode. All active clocks and oscillators continue to run during Standby mode, and the core supply is maintained, allowing full debug capability. On exit from Standby mode, a system reset is performed..

TRACE_IOEN

Bit 4: trace pin enable.

TRACE_EN

Bit 5: trace port and clock enable. This bit enables the trace port clock, TRACECK..

TRACE_MODE

Bits 6-7: trace pin assignment.

DCRT

Bit 16: Debug credentials reset type This bit selects which type of reset is used to revoke the debug authentication credentials.

APB1LFZR

DBGMCU APB1L peripheral freeze register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

0/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DBG_I3C1_STOP
rw
DBG_I2C2_STOP
rw
DBG_I2C1_STOP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBG_IWDG_STOP
rw
DBG_WWDG_STOP
rw
DBG_TIM7_STOP
rw
DBG_TIM6_STOP
rw
DBG_TIM3_STOP
rw
DBG_TIM2_STOP
rw
Toggle fields

DBG_TIM2_STOP

Bit 0: TIM2 stop in debug.

DBG_TIM3_STOP

Bit 1: TIM3 stop in debug.

DBG_TIM6_STOP

Bit 4: TIM6 stop in debug.

DBG_TIM7_STOP

Bit 5: TIM7 stop in debug.

DBG_WWDG_STOP

Bit 11: WWDG stop in debug.

DBG_IWDG_STOP

Bit 12: IWDG stop in debug.

DBG_I2C1_STOP

Bit 21: I2C1 SMBUS timeout stop in debug.

DBG_I2C2_STOP

Bit 22: I2C2 SMBUS timeout stop in debug.

DBG_I3C1_STOP

Bit 23: I3C1 SCL stall counter stop in debug.

APB1HFZR

DBGMCU APB1H peripheral freeze register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBG_LPTIM2_STOP
rw
Toggle fields

DBG_LPTIM2_STOP

Bit 5: LPTIM2 stop in debug.

APB2FZR

DBGMCU APB2 peripheral freeze register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBG_TIM1_STOP
rw
Toggle fields

DBG_TIM1_STOP

Bit 11: TIM1 stop in debug.

APB3FZR

DBGMCU APB3 peripheral freeze register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

0/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DBG_RTC_STOP
rw
DBG_LPTIM1_STOP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBG_I3C2_STOP
rw
Toggle fields

DBG_I3C2_STOP

Bit 12: I3C2 SCL stall counter stop in debug.

DBG_LPTIM1_STOP

Bit 17: LPTIM1 stop in debug.

DBG_RTC_STOP

Bit 30: RTC stop in debug.

AHB1FZR

DBGMCU AHB1 peripheral freeze register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

0/16 fields covered.

Toggle fields

DBG_GPDMA1_0_STOP

Bit 0: GPDMA1 channel 0 stop in debug.

DBG_GPDMA1_1_STOP

Bit 1: GPDMA1 channel 1 stop in debug.

DBG_GPDMA1_2_STOP

Bit 2: GPDMA1 channel 2 stop in debug.

DBG_GPDMA1_3_STOP

Bit 3: GPDMA1 channel 3 stop in debug.

DBG_GPDMA1_4_STOP

Bit 4: GPDMA1 channel 4 stop in debug.

DBG_GPDMA1_5_STOP

Bit 5: GPDMA1 channel 5 stop in debug.

DBG_GPDMA1_6_STOP

Bit 6: GPDMA1 channel 6 stop in debug.

DBG_GPDMA1_7_STOP

Bit 7: GPDMA1 channel 7 stop in debug.

DBG_GPDMA2_0_STOP

Bit 16: GPDMA2 channel 0 stop in debug.

DBG_GPDMA2_1_STOP

Bit 17: GPDMA2 channel 1 stop in debug.

DBG_GPDMA2_2_STOP

Bit 18: GPDMA2 channel 2 stop in debug.

DBG_GPDMA2_3_STOP

Bit 19: GPDMA2 channel 3 stop in debug.

DBG_GPDMA2_4_STOP

Bit 20: GPDMA2 channel 4 stop in debug.

DBG_GPDMA2_5_STOP

Bit 21: GPDMA2 channel 5 stop in debug.

DBG_GPDMA2_6_STOP

Bit 22: GPDMA2 channel 6 stop in debug.

DBG_GPDMA2_7_STOP

Bit 23: GPDMA2 channel 7 stop in debug.

SR

DBGMCU status register

Offset: 0xfc, size: 32, reset: 0x00010003, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AP_ENABLED
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AP_PRESENT
w
Toggle fields

AP_PRESENT

Bits 0-15: Bit n identifies whether access port AP n is present in device Bit n = 0: APn absent Bit n = 1: APn present.

AP_ENABLED

Bits 16-31: Bit n identifies whether access port AP n is open (can be accessed via the debug port) or locked (debug access to the AP is blocked) Bit n = 0: APn locked Bit n = 1: APn enabled.

DBG_AUTH_HOST

DBGMCU debug authentication mailbox host register

Offset: 0x100, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MESSAGE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MESSAGE
rw
Toggle fields

MESSAGE

Bits 0-31: Debug host to device mailbox message. During debug authentication the debug host communicates with the device via this register..

DBG_AUTH_DEVICE

DBGMCU debug authentication mailbox device register

Offset: 0x104, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MESSAGE
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MESSAGE
r
Toggle fields

MESSAGE

Bits 0-31: Device to debug host mailbox message. During debug authentication the device communicates with the debug host via this register..

DBG_AUTH_ACK

DBGMCU debug authentication mailbox acknowledge register

Offset: 0x108, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DEV_ACK
rw
HOST_ACK
rw
Toggle fields

HOST_ACK

Bit 0: Host to device acknowledge. The device sets this bit to indicate that it has placed a message in the DBGMCU_DBG_AUTH_DEVICE register. It should be reset by the host after reading the message.

DEV_ACK

Bit 1: Device to device acknowledge. The host sets this bit to indicate that it has placed a message in the DBGMCU_DBG_AUTH_HOST register. It is reset by the device after reading the message.

PIDR4

DBGMCU CoreSight peripheral identity register 4

Offset: 0xfd0, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SIZE
r
JEP106CON
r
Toggle fields

JEP106CON

Bits 0-3: JEP106 continuation code.

SIZE

Bits 4-7: register file size.

PIDR0

DBGMCU CoreSight peripheral identity register 0

Offset: 0xfe0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PARTNUM
r
Toggle fields

PARTNUM

Bits 0-7: part number bits [7:0].

PIDR1

DBGMCU CoreSight peripheral identity register 1

Offset: 0xfe4, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
JEP106ID
r
PARTNUM
r
Toggle fields

PARTNUM

Bits 0-3: part number bits [11:8].

JEP106ID

Bits 4-7: JEP106 identity code bits [3:0].

PIDR2

DBGMCU CoreSight peripheral identity register 2

Offset: 0xfe8, size: 32, reset: 0x0000000A, access: Unspecified

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
REVISION
r
JEDEC
r
JEP106ID
r
Toggle fields

JEP106ID

Bits 0-2: JEP106 identity code bits [6:4].

JEDEC

Bit 3: JEDEC assigned value.

REVISION

Bits 4-7: component revision number.

PIDR3

DBGMCU CoreSight peripheral identity register 3

Offset: 0xfec, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
REVAND
r
CMOD
r
Toggle fields

CMOD

Bits 0-3: customer modified.

REVAND

Bits 4-7: metal fix version.

CIDR0

DBGMCU CoreSight component identity register 0

Offset: 0xff0, size: 32, reset: 0x0000000D, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PREAMBLE
r
Toggle fields

PREAMBLE

Bits 0-7: component identification bits [7:0].

CIDR1

DBGMCU CoreSight component identity register 1

Offset: 0xff4, size: 32, reset: 0x000000F0, access: Unspecified

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CLASS
r
PREAMBLE
r
Toggle fields

PREAMBLE

Bits 0-3: component identification bits [11:8].

CLASS

Bits 4-7: component identification bits [15:12] - component class.

CIDR2

DBGMCU CoreSight component identity register 2

Offset: 0xff8, size: 32, reset: 0x00000005, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PREAMBLE
r
Toggle fields

PREAMBLE

Bits 0-7: component identification bits [23:16].

CIDR3

DBGMCU CoreSight component identity register 3

Offset: 0xffc, size: 32, reset: 0x000000B1, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PREAMBLE
r
Toggle fields

PREAMBLE

Bits 0-7: component identification bits [31:24].

DTS

0x40008c00: Digital temperature sensor

10/64 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CFGR1
0x8 T0VALR1
0x10 RAMPVALR
0x14 ITR1
0x1c DR
0x20 SR
0x24 ITENR
0x28 ICIFR
0x2c OR
Toggle registers

CFGR1

Temperature sensor configuration register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

0/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
HSREF_CLK_DIV
rw
Q_MEAS_OPT
rw
REFCLK_SEL
rw
TS1_SMP_TIME
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TS1_INTRIG_SEL
rw
TS1_START
rw
TS1_EN
rw
Toggle fields

TS1_EN

Bit 0: Temperature sensor 1 enable bit This bit is set and cleared by software. Note: Once enabled, the temperature sensor is active after a specific delay time. The TS1_RDY flag will be set when the sensor is ready..

TS1_START

Bit 4: Start frequency measurement on temperature sensor 1 This bit is set and cleared by software..

TS1_INTRIG_SEL

Bits 8-11: Input trigger selection bit for temperature sensor 1 These bits are set and cleared by software. They select which input triggers a temperature measurement. Refer to Section 19.3.10: Trigger input..

TS1_SMP_TIME

Bits 16-19: Sampling time for temperature sensor 1 These bits allow increasing the sampling time to improve measurement precision. When the PCLK clock is selected as reference clock (REFCLK_SEL = 0), the measurement will be performed at TS1_SMP_TIME period of CLK_PTAT. When the LSE is selected as reference clock (REFCLK_SEL =1), the measurement will be performed at TS1_SMP_TIME period of LSE..

REFCLK_SEL

Bit 20: Reference clock selection bit This bit is set and cleared by software. It indicates whether the reference clock is the high speed clock (PCLK) or the low speed clock (LSE)..

Q_MEAS_OPT

Bit 21: Quick measurement option bit This bit is set and cleared by software. It is used to increase the measurement speed by suppressing the calibration step. It is effective only when the LSE clock is used as reference clock (REFCLK_SEL=1)..

HSREF_CLK_DIV

Bits 24-30: High speed clock division ratio These bits are set and cleared by software. They can be used to define the division ratio for the main clock in order to obtain the internal frequency lower than 1 MHz required for the calibration. They are applicable only for calibration when PCLK is selected as reference clock (REFCLK_SEL=0). ....

T0VALR1

Temperature sensor T0 value register 1

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TS1_T0
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TS1_FMT0
r
Toggle fields

TS1_FMT0

Bits 0-15: Engineering value of the frequency measured at T0 for temperature sensor 1 This value is expressed in 0.1 kHz..

TS1_T0

Bits 16-17: Engineering value of the T0 temperature for temperature sensor 1. Others: Reserved, must not be used..

RAMPVALR

Temperature sensor ramp value register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TS1_RAMP_COEFF
r
Toggle fields

TS1_RAMP_COEFF

Bits 0-15: Engineering value of the ramp coefficient for the temperature sensor 1. This value is expressed in Hz/�C..

ITR1

Temperature sensor interrupt threshold register 1

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TS1_HITTHD
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TS1_LITTHD
rw
Toggle fields

TS1_LITTHD

Bits 0-15: Low interrupt threshold for temperature sensor 1 These bits are set and cleared by software. They indicate the lowest value than can be reached before raising an interrupt signal..

TS1_HITTHD

Bits 16-31: High interrupt threshold for temperature sensor 1 These bits are set and cleared by software. They indicate the highest value than can be reached before raising an interrupt signal..

DR

Temperature sensor data register

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TS1_MFREQ
rw
Toggle fields

TS1_MFREQ

Bits 0-15: Value of the counter output value for temperature sensor 1.

SR

Temperature sensor status register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

Toggle fields

TS1_ITEF

Bit 0: Interrupt flag for end of measurement on temperature sensor 1, synchronized on PCLK. This bit is set by hardware when a temperature measure is done. It is cleared by software by writing 1 to the TS2_CITEF bit in the DTS_ICIFR register. Note: This bit is active only when the TS1_ITEFEN bit is set.

TS1_ITLF

Bit 1: Interrupt flag for low threshold on temperature sensor 1, synchronized on PCLK. This bit is set by hardware when the low threshold is set and reached. It is cleared by software by writing 1 to the TS1_CITLF bit in the DTS_ICIFR register. Note: This bit is active only when the TS1_ITLFEN bit is set.

TS1_ITHF

Bit 2: Interrupt flag for high threshold on temperature sensor 1, synchronized on PCLK This bit is set by hardware when the high threshold is set and reached. It is cleared by software by writing 1 to the TS1_CITHF bit in the DTS_ICIFR register. Note: This bit is active only when the TS1_ITHFEN bit is set.

TS1_AITEF

Bit 4: Asynchronous interrupt flag for end of measure on temperature sensor 1 This bit is set by hardware when a temperature measure is done. It is cleared by software by writing 1 to the TS1_CAITEF bit in the DTS_ICIFR register. Note: This bit is active only when the TS1_AITEFEN bit is set.

TS1_AITLF

Bit 5: Asynchronous interrupt flag for low threshold on temperature sensor 1 This bit is set by hardware when the low threshold is reached. It is cleared by software by writing 1 to the TS1_CAITLF bit in the DTS_ICIFR register. Note: This bit is active only when the TS1_AITLFEN bit is set.

TS1_AITHF

Bit 6: Asynchronous interrupt flag for high threshold on temperature sensor 1 This bit is set by hardware when the high threshold is reached. It is cleared by software by writing 1 to the TS1_CAITHF bit in the DTS_ICIFR register. Note: This bit is active only when the TS1_AITHFEN bit is set.

TS1_RDY

Bit 15: Temperature sensor 1 ready flag This bit is set and reset by hardware. It indicates that a measurement is ongoing..

ITENR

Temperature sensor interrupt enable register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

0/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TS1_AITHEN
rw
TS1_AITLEN
rw
TS1_AITEEN
rw
TS1_ITHEN
rw
TS1_ITLEN
rw
TS1_ITEEN
rw
Toggle fields

TS1_ITEEN

Bit 0: Interrupt enable flag for end of measurement on temperature sensor 1, synchronized on PCLK. This bit are set and cleared by software. It enables the synchronous interrupt for end of measurement..

TS1_ITLEN

Bit 1: Interrupt enable flag for low threshold on temperature sensor 1, synchronized on PCLK. This bit are set and cleared by software. It enables the synchronous interrupt when the measure reaches or is below the low threshold..

TS1_ITHEN

Bit 2: Interrupt enable flag for high threshold on temperature sensor 1, synchronized on PCLK. This bit are set and cleared by software. It enables the interrupt when the measure reaches or is above the high threshold..

TS1_AITEEN

Bit 4: Asynchronous interrupt enable flag for end of measurement on temperature sensor 1 This bit are set and cleared by software. It enables the asynchronous interrupt for end of measurement (only when REFCLK_SEL = 1)..

TS1_AITLEN

Bit 5: Asynchronous interrupt enable flag for low threshold on temperature sensor 1. This bit are set and cleared by software. It enables the asynchronous interrupt when the temperature is below the low threshold (only when REFCLK_SEL= 1).

TS1_AITHEN

Bit 6: Asynchronous interrupt enable flag on high threshold for temperature sensor 1. This bit are set and cleared by software. It enables the asynchronous interrupt when the temperature is above the high threshold (only when REFCLK_SEL= 1’’).

ICIFR

Temperature sensor clear interrupt flag register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

0/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TS1_CAITHF
rw
TS1_CAITLF
rw
TS1_CAITEF
rw
TS1_CITHF
rw
TS1_CITLF
rw
TS1_CITEF
rw
Toggle fields

TS1_CITEF

Bit 0: Interrupt clear flag for end of measurement on temperature sensor 1 Writing 1 to this bit clears the TS1_ITEF flag in the DTS_SR register..

TS1_CITLF

Bit 1: Interrupt clear flag for low threshold on temperature sensor 1 Writing 1 to this bit clears the TS1_ITLF flag in the DTS_SR register..

TS1_CITHF

Bit 2: Interrupt clear flag for high threshold on temperature sensor 1 Writing this bit to 1 clears the TS1_ITHF flag in the DTS_SR register..

TS1_CAITEF

Bit 4: Write once bit. Clear the asynchronous IT flag for End Of Measure for thermal sensor 1. Writing 1 clears the TS1_AITEF flag of the DTS_SR register..

TS1_CAITLF

Bit 5: Asynchronous interrupt clear flag for low threshold on temperature sensor 1 Writing 1 to this bit clears the TS1_AITLF flag in the DTS_SR register..

TS1_CAITHF

Bit 6: Asynchronous interrupt clear flag for high threshold on temperature sensor 1 Writing 1 to this bit clears the TS1_AITHF flag in the DTS_SR register..

OR

Temperature sensor option register

Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

TS_OP0

Bit 0: general purpose option bits.

TS_OP1

Bit 1: general purpose option bits.

TS_OP2

Bit 2: general purpose option bits.

TS_OP3

Bit 3: general purpose option bits.

TS_OP4

Bit 4: general purpose option bits.

TS_OP5

Bit 5: general purpose option bits.

TS_OP6

Bit 6: general purpose option bits.

TS_OP7

Bit 7: general purpose option bits.

TS_OP8

Bit 8: general purpose option bits.

TS_OP9

Bit 9: general purpose option bits.

TS_OP10

Bit 10: general purpose option bits.

TS_OP11

Bit 11: general purpose option bits.

TS_OP12

Bit 12: general purpose option bits.

TS_OP13

Bit 13: general purpose option bits.

TS_OP14

Bit 14: general purpose option bits.

TS_OP15

Bit 15: general purpose option bits.

TS_OP16

Bit 16: general purpose option bits.

TS_OP17

Bit 17: general purpose option bits.

TS_OP18

Bit 18: general purpose option bits.

TS_OP19

Bit 19: general purpose option bits.

TS_OP20

Bit 20: general purpose option bits.

TS_OP21

Bit 21: general purpose option bits.

TS_OP22

Bit 22: general purpose option bits.

TS_OP23

Bit 23: general purpose option bits.

TS_OP24

Bit 24: general purpose option bits.

TS_OP25

Bit 25: general purpose option bits.

TS_OP26

Bit 26: general purpose option bits.

TS_OP27

Bit 27: general purpose option bits.

TS_OP28

Bit 28: general purpose option bits.

TS_OP29

Bit 29: general purpose option bits.

TS_OP30

Bit 30: general purpose option bits.

TS_OP31

Bit 31: general purpose option bits.

EXTI

0x44022000: Extended interrupt/event controller

206/222 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 RTSR1
0x4 FTSR1
0x8 SWIER1
0xc RPR1
0x10 FPR1
0x18 PRIVCFGR1
0x20 RTSR2
0x24 FTSR2
0x28 SWIER2
0x2c RPR2
0x30 FPR2
0x38 PRIVCFGR2
0x60 EXTICR1
0x64 EXTICR2
0x68 EXTICR3
0x6c EXTICR4
0x80 IMR1
0x84 EMR1
0x90 IMR2
0x94 EMR2
Toggle registers

RTSR1

EXTI rising trigger selection register

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

17/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RT16
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RT15
rw
RT14
rw
RT13
rw
RT12
rw
RT11
rw
RT10
rw
RT9
rw
RT8
rw
RT7
rw
RT6
rw
RT5
rw
RT4
rw
RT3
rw
RT2
rw
RT1
rw
RT0
rw
Toggle fields

RT0

Bit 0: Rising trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

RT1

Bit 1: Rising trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

RT2

Bit 2: Rising trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

RT3

Bit 3: Rising trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

RT4

Bit 4: Rising trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

RT5

Bit 5: Rising trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

RT6

Bit 6: Rising trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

RT7

Bit 7: Rising trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

RT8

Bit 8: Rising trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

RT9

Bit 9: Rising trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

RT10

Bit 10: Rising trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

RT11

Bit 11: Rising trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

RT12

Bit 12: Rising trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

RT13

Bit 13: Rising trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

RT14

Bit 14: Rising trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

RT15

Bit 15: Rising trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

RT16

Bit 16: Rising trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

FTSR1

EXTI falling trigger selection register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

17/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FT16
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FT15
rw
FT14
rw
FT13
rw
FT12
rw
FT11
rw
FT10
rw
FT9
rw
FT8
rw
FT7
rw
FT6
rw
FT5
rw
FT4
rw
FT3
rw
FT2
rw
FT1
rw
FT0
rw
Toggle fields

FT0

Bit 0: Falling trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

FT1

Bit 1: Falling trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

FT2

Bit 2: Falling trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

FT3

Bit 3: Falling trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

FT4

Bit 4: Falling trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

FT5

Bit 5: Falling trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

FT6

Bit 6: Falling trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

FT7

Bit 7: Falling trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

FT8

Bit 8: Falling trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

FT9

Bit 9: Falling trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

FT10

Bit 10: Falling trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

FT11

Bit 11: Falling trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

FT12

Bit 12: Falling trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

FT13

Bit 13: Falling trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

FT14

Bit 14: Falling trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

FT15

Bit 15: Falling trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

FT16

Bit 16: Falling trigger event configuration bit of configurable event input x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

SWIER1

EXTI software interrupt event register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

17/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SWI16
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SWI15
rw
SWI14
rw
SWI13
rw
SWI12
rw
SWI11
rw
SWI10
rw
SWI9
rw
SWI8
rw
SWI7
rw
SWI6
rw
SWI5
rw
SWI4
rw
SWI3
rw
SWI2
rw
SWI1
rw
SWI0
rw
Toggle fields

SWI0

Bit 0: Software interrupt on event x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

SWI1

Bit 1: Software interrupt on event x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

SWI2

Bit 2: Software interrupt on event x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

SWI3

Bit 3: Software interrupt on event x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

SWI4

Bit 4: Software interrupt on event x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

SWI5

Bit 5: Software interrupt on event x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

SWI6

Bit 6: Software interrupt on event x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

SWI7

Bit 7: Software interrupt on event x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

SWI8

Bit 8: Software interrupt on event x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

SWI9

Bit 9: Software interrupt on event x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

SWI10

Bit 10: Software interrupt on event x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

SWI11

Bit 11: Software interrupt on event x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

SWI12

Bit 12: Software interrupt on event x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

SWI13

Bit 13: Software interrupt on event x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

SWI14

Bit 14: Software interrupt on event x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

SWI15

Bit 15: Software interrupt on event x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

SWI16

Bit 16: Software interrupt on event x (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

RPR1

EXTI rising edge pending register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

17/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RPIF16
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RPIF15
rw
RPIF14
rw
RPIF13
rw
RPIF12
rw
RPIF11
rw
RPIF10
rw
RPIF9
rw
RPIF8
rw
RPIF7
rw
RPIF6
rw
RPIF5
rw
RPIF4
rw
RPIF3
rw
RPIF2
rw
RPIF1
rw
RPIF0
rw
Toggle fields

RPIF0

Bit 0: configurable event inputs x rising edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

RPIF1

Bit 1: configurable event inputs x rising edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

RPIF2

Bit 2: configurable event inputs x rising edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

RPIF3

Bit 3: configurable event inputs x rising edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

RPIF4

Bit 4: configurable event inputs x rising edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

RPIF5

Bit 5: configurable event inputs x rising edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

RPIF6

Bit 6: configurable event inputs x rising edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

RPIF7

Bit 7: configurable event inputs x rising edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

RPIF8

Bit 8: configurable event inputs x rising edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

RPIF9

Bit 9: configurable event inputs x rising edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

RPIF10

Bit 10: configurable event inputs x rising edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

RPIF11

Bit 11: configurable event inputs x rising edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

RPIF12

Bit 12: configurable event inputs x rising edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

RPIF13

Bit 13: configurable event inputs x rising edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

RPIF14

Bit 14: configurable event inputs x rising edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

RPIF15

Bit 15: configurable event inputs x rising edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

RPIF16

Bit 16: configurable event inputs x rising edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPR1

EXTI falling edge pending register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

17/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FPIF16
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FPIF15
rw
FPIF14
rw
FPIF13
rw
FPIF12
rw
FPIF11
rw
FPIF10
rw
FPIF9
rw
FPIF8
rw
FPIF7
rw
FPIF6
rw
FPIF5
rw
FPIF4
rw
FPIF3
rw
FPIF2
rw
FPIF1
rw
FPIF0
rw
Toggle fields

FPIF0

Bit 0: configurable event inputs x falling edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPIF1

Bit 1: configurable event inputs x falling edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPIF2

Bit 2: configurable event inputs x falling edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPIF3

Bit 3: configurable event inputs x falling edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPIF4

Bit 4: configurable event inputs x falling edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPIF5

Bit 5: configurable event inputs x falling edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPIF6

Bit 6: configurable event inputs x falling edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPIF7

Bit 7: configurable event inputs x falling edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPIF8

Bit 8: configurable event inputs x falling edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPIF9

Bit 9: configurable event inputs x falling edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPIF10

Bit 10: configurable event inputs x falling edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPIF11

Bit 11: configurable event inputs x falling edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPIF12

Bit 12: configurable event inputs x falling edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPIF13

Bit 13: configurable event inputs x falling edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPIF14

Bit 14: configurable event inputs x falling edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPIF15

Bit 15: configurable event inputs x falling edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPIF16

Bit 16: configurable event inputs x falling edge pending bit (x = 16 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

PRIVCFGR1

EXTI privilege configuration register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

27/27 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRIV29
rw
PRIV28
rw
PRIV27
rw
PRIV26
rw
PRIV25
rw
PRIV24
rw
PRIV22
rw
PRIV21
rw
PRIV19
rw
PRIV17
rw
PRIV16
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRIV15
rw
PRIV14
rw
PRIV13
rw
PRIV12
rw
PRIV11
rw
PRIV10
rw
PRIV9
rw
PRIV8
rw
PRIV7
rw
PRIV6
rw
PRIV5
rw
PRIV4
rw
PRIV3
rw
PRIV2
rw
PRIV1
rw
PRIV0
rw
Toggle fields

PRIV0

Bit 0: Privilege enable on event input x (x = 17 to 0).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV1

Bit 1: Privilege enable on event input x (x = 17 to 0).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV2

Bit 2: Privilege enable on event input x (x = 17 to 0).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV3

Bit 3: Privilege enable on event input x (x = 17 to 0).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV4

Bit 4: Privilege enable on event input x (x = 17 to 0).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV5

Bit 5: Privilege enable on event input x (x = 17 to 0).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV6

Bit 6: Privilege enable on event input x (x = 17 to 0).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV7

Bit 7: Privilege enable on event input x (x = 17 to 0).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV8

Bit 8: Privilege enable on event input x (x = 17 to 0).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV9

Bit 9: Privilege enable on event input x (x = 17 to 0).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV10

Bit 10: Privilege enable on event input x (x = 17 to 0).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV11

Bit 11: Privilege enable on event input x (x = 17 to 0).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV12

Bit 12: Privilege enable on event input x (x = 17 to 0).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV13

Bit 13: Privilege enable on event input x (x = 17 to 0).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV14

Bit 14: Privilege enable on event input x (x = 17 to 0).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV15

Bit 15: Privilege enable on event input x (x = 17 to 0).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV16

Bit 16: Privilege enable on event input x (x = 17 to 0).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV17

Bit 17: Privilege enable on event input x (x = 17 to 0).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV19

Bit 19: Privilege enable on event input 19.

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV21

Bit 21: Privilege enable on event input x (x = 22 to 21).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV22

Bit 22: Privilege enable on event input x (x = 22 to 21).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV24

Bit 24: Privilege enable on event input x (x = 29 to 24).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV25

Bit 25: Privilege enable on event input x (x = 29 to 24).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV26

Bit 26: Privilege enable on event input x (x = 29 to 24).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV27

Bit 27: Privilege enable on event input x (x = 29 to 24).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV28

Bit 28: Privilege enable on event input x (x = 29 to 24).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV29

Bit 29: Privilege enable on event input x (x = 29 to 24).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

RTSR2

EXTI rising trigger selection register 2

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RT53
rw
RT50
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

RT50

Bit 18: Rising trigger event configuration bit of configurable event input x When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

RT53

Bit 21: Rising trigger event configuration bit of configurable event input x When EXTI_PRIVCFGR.PRIVx is disabled, RTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RTx can only be accessed with privileged access. Unprivileged write to this bit x is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Rising edge trigger is disabled
1: Enabled: Rising edge trigger is enabled

FTSR2

EXTI falling trigger selection register 2

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FT53
rw
FT50
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

FT50

Bit 18: Falling trigger event configuration bit of configurable event input x When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

FT53

Bit 21: Falling trigger event configuration bit of configurable event input x When EXTI_PRIVCFGR.PRIVx is disabled, FTx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FTx can only be accessed with privileged access. Unprivileged write to this FTx is discarded, unprivileged read returns 0..

Allowed values:
0: Disabled: Falling edge trigger is disabled
1: Enabled: Falling edge trigger is enabled

SWIER2

EXTI software interrupt event register 2

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SWI53
rw
SWI50
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

SWI50

Bit 18: Software interrupt on event x When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

SWI53

Bit 21: Software interrupt on event x When EXTI_PRIVCFGR.PRIVx is disabled, SWIx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SWIx can only be accessed with privileged access. Unprivileged write to this SWIx is discarded, unprivileged read returns 0. A software interrupt is generated independent from the setting in EXTI_RTSR and EXTI_FTSR. It always returns 0 when read..

Allowed values:
1: Pend: Generates an interrupt request

RPR2

EXTI rising edge pending register 2

Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RPIF53
rw
RPIF50
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

RPIF50

Bit 18: configurable event inputs x rising edge pending bit When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

RPIF53

Bit 21: configurable event inputs x rising edge pending bit When EXTI_PRIVCFGR.PRIVx is disabled, RPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, RPIFx can only be accessed with privileged access. Unprivileged write to this RPIFx is discarded, unprivileged read returns 0. This bit is set when the rising edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPR2

EXTI falling edge pending register 2

Offset: 0x30, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FPIF53
rw
FPIF50
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

FPIF50

Bit 18: configurable event inputs x falling edge pending bit When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

FPIF53

Bit 21: configurable event inputs x falling edge pending bit When EXTI_PRIVCFGR.PRIVx is disabled, FPIFx can be accessed with unprivileged and privileged access. When EXTI_PRIVCFGR.PRIVx is enabled, FPIFx can only be accessed with privileged access. Unprivileged write to this FPIFx is discarded, unprivileged read returns 0. This bit is set when the falling edge event arrives on the configurable event line. This bit is cleared by writing 1 to it..

Allowed values:
0: NotPending: No trigger request occurred
1: Pending: Selected trigger request occurred

PRIVCFGR2

EXTI privilege configuration register 2

Offset: 0x38, size: 32, reset: 0x00000000, access: Unspecified

10/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRIV53
rw
PRIV50
rw
PRIV49
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRIV47
rw
PRIV42
rw
PRIV41
rw
PRIV40
rw
PRIV39
rw
PRIV38
rw
PRIV37
rw
Toggle fields

PRIV37

Bit 5: Privilege enable on event input x (x = 42 to 37).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV38

Bit 6: Privilege enable on event input x (x = 42 to 37).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV39

Bit 7: Privilege enable on event input x (x = 42 to 37).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV40

Bit 8: Privilege enable on event input x (x = 42 to 37).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV41

Bit 9: Privilege enable on event input x (x = 42 to 37).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV42

Bit 10: Privilege enable on event input x (x = 42 to 37).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV47

Bit 15: Privilege enable on event input x.

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV49

Bit 17: Privilege enable on event input x (x = 50 to 49).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV50

Bit 18: Privilege enable on event input x (x = 50 to 49).

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

PRIV53

Bit 21: Privilege enable on event input x.

Allowed values:
0: Unprivileged: Event privilege disabled
1: Privileged: Event privilege enabled

EXTICR1

EXTI external interrupt selection register

Offset: 0x60, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EXTI3
rw
EXTI2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EXTI1
rw
EXTI0
rw
Toggle fields

EXTI0

Bits 0-7: EXTI0 GPIO port selection These bits are written by software to select the source input for EXTI0 external interrupt. When EXTI_PRIVCFGR.PRIV0 is disabled, EXTI0 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV0 is enabled, EXTI0 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved.

EXTI1

Bits 8-15: EXTI1 GPIO port selection These bits are written by software to select the source input for EXTI1 external interrupt. When EXTI_PRIVCFGR.PRIV1 is disabled, EXTI1 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV1 is enabled, EXTI1 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved.

EXTI2

Bits 16-23: EXTI2 GPIO port selection These bits are written by software to select the source input for EXTI2 external interrupt. When EXTI_PRIVCFGR.PRIV2 is disabled, EXTI2 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV2 is enabled, EXTI2 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved.

EXTI3

Bits 24-31: EXTI3 GPIO port selectio These bits are written by software to select the source input for EXTI3 external interrupt. When EXTI_PRIVCFGR.PRIV3 is disabled, EXTI3 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV3 is enabled, EXTI3 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved.

EXTICR2

EXTI external interrupt selection register

Offset: 0x64, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EXTI7
rw
EXTI6
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EXTI5
rw
EXTI4
rw
Toggle fields

EXTI4

Bits 0-7: EXTI4 GPIO port selection These bits are written by software to select the source input for EXTI4 external interrupt. When EXTI_PRIVCFGR.PRIV4 is disabled, EXTI4 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV4 is enabled, EXTI4 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved.

EXTI5

Bits 8-15: EXTI5 GPIO port selection These bits are written by software to select the source input for EXTI5 external interrupt. When EXTI_PRIVCFGR.PRIV5 is disabled, EXTI5 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV5 is enabled, EXTI5 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved.

EXTI6

Bits 16-23: EXTI6 GPIO port selection These bits are written by software to select the source input for EXTI6 external interrupt. When EXTI_PRIVCFGR.PRIV6 is disabled, EXTI6 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV6 is enabled, EXTI6 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved.

EXTI7

Bits 24-31: EXTI7 GPIO port selection These bits are written by software to select the source input for EXTI7 external interrupt. When EXTI_PRIVCFGR.PRIV7 is disabled, EXTI7 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV7 is enabled, EXTI7 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved.

EXTICR3

EXTI external interrupt selection register

Offset: 0x68, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EXTI11
rw
EXTI10
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EXTI9
rw
EXTI8
rw
Toggle fields

EXTI8

Bits 0-7: EXTI8 GPIO port selection These bits are written by software to select the source input for EXTIm external interrupt. When EXTI_PRIVCFGR.PRIV8 is disabled, EXTI8 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV8 is enabled, EXTI8 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved.

EXTI9

Bits 8-15: EXTI9 GPIO port selection These bits are written by software to select the source input for EXTI9 external interrupt. When EXTI_PRIVCFGR.PRIV9 is disabled, EXTI9 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV9 is enabled, EXTI9 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved.

EXTI10

Bits 16-23: EXTI10 GPIO port selection These bits are written by software to select the source input for EXTI10 external interrupt. When EXTI_PRIVCFGR.PRIV10 is disabled, EXTI10 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV10 is enabled, EXTI10 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved.

EXTI11

Bits 24-31: EXTI11 GPIO port selection These bits are written by software to select the source input for EXTI11 external interrupt. When EXTI_PRIVCFGR.PRIV11 is disabled, EXTI11 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV11 is enabled, EXTI11 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved.

EXTICR4

EXTI external interrupt selection register

Offset: 0x6c, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EXTI15
rw
EXTI14
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EXTI13
rw
EXTI12
rw
Toggle fields

EXTI12

Bits 0-7: EXTI12 GPIO port selection These bits are written by software to select the source input for EXTI12 external interrupt. When EXTI_PRIVCFGR.PRIV12 is disabled, EXTI12 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV12 is enabled, EXTI12 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved.

EXTI13

Bits 8-15: EXTI13 GPIO port selection These bits are written by software to select the source input for EXTI13 external interrupt. When EXTI_PRIVCFGR.PRIV13 is disabled, EXTI13 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV13 is enabled, EXTI13 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved.

EXTI14

Bits 16-23: EXTI14 GPIO port selection These bits are written by software to select the source input for EXTI14 external interrupt. When EXTI_PRIVCFGR.PRIV14 is disabled, EXTI14 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV14 is enabled, EXTI14 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved.

EXTI15

Bits 24-31: EXTI15 GPIO port selection These bits are written by software to select the source input for EXTI15 external interrupt. When EXTI_PRIVCFGR.PRIV15 is disabled, EXTI15 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV15 is enabled, EXTI15 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved.

IMR1

EXTI CPU wakeup with interrupt mask register

Offset: 0x80, size: 32, reset: 0xFFFE0000, access: Unspecified

27/27 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
IM29
rw
IM28
rw
IM27
rw
IM26
rw
IM25
rw
IM24
rw
IM22
rw
IM21
rw
IM19
rw
IM17
rw
IM16
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IM15
rw
IM14
rw
IM13
rw
IM12
rw
IM11
rw
IM10
rw
IM9
rw
IM8
rw
IM7
rw
IM6
rw
IM5
rw
IM4
rw
IM3
rw
IM2
rw
IM1
rw
IM0
rw
Toggle fields

IM0

Bit 0: CPU wakeup with interrupt mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM1

Bit 1: CPU wakeup with interrupt mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM2

Bit 2: CPU wakeup with interrupt mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM3

Bit 3: CPU wakeup with interrupt mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM4

Bit 4: CPU wakeup with interrupt mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM5

Bit 5: CPU wakeup with interrupt mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM6

Bit 6: CPU wakeup with interrupt mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM7

Bit 7: CPU wakeup with interrupt mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM8

Bit 8: CPU wakeup with interrupt mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM9

Bit 9: CPU wakeup with interrupt mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM10

Bit 10: CPU wakeup with interrupt mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM11

Bit 11: CPU wakeup with interrupt mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM12

Bit 12: CPU wakeup with interrupt mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM13

Bit 13: CPU wakeup with interrupt mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM14

Bit 14: CPU wakeup with interrupt mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM15

Bit 15: CPU wakeup with interrupt mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM16

Bit 16: CPU wakeup with interrupt mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM17

Bit 17: CPU wakeup with interrupt mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM19

Bit 19: CPU wakeup with interrupt mask on event input x When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM21

Bit 21: CPU wakeup with interrupt mask on event input x (x = 22 to 21) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM22

Bit 22: CPU wakeup with interrupt mask on event input x (x = 22 to 21) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM24

Bit 24: CPU wakeup with interrupt mask on event input x (x = 29 to 24) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM25

Bit 25: CPU wakeup with interrupt mask on event input x (x = 29 to 24) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM26

Bit 26: CPU wakeup with interrupt mask on event input x (x = 29 to 24) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM27

Bit 27: CPU wakeup with interrupt mask on event input x (x = 29 to 24) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM28

Bit 28: CPU wakeup with interrupt mask on event input x (x = 29 to 24) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM29

Bit 29: CPU wakeup with interrupt mask on event input x (x = 29 to 24) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EMR1

EXTI CPU wakeup with event mask register

Offset: 0x84, size: 32, reset: 0xFFFE0000, access: Unspecified

27/27 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EM29
rw
EM28
rw
EM27
rw
EM26
rw
EM25
rw
EM24
rw
EM22
rw
EM21
rw
EM19
rw
EM17
rw
EM16
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EM15
rw
EM14
rw
EM13
rw
EM12
rw
EM11
rw
EM10
rw
EM9
rw
EM8
rw
EM7
rw
EM6
rw
EM5
rw
EM4
rw
EM3
rw
EM2
rw
EM1
rw
EM0
rw
Toggle fields

EM0

Bit 0: CPU wakeup with event generation mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM1

Bit 1: CPU wakeup with event generation mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM2

Bit 2: CPU wakeup with event generation mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM3

Bit 3: CPU wakeup with event generation mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM4

Bit 4: CPU wakeup with event generation mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM5

Bit 5: CPU wakeup with event generation mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM6

Bit 6: CPU wakeup with event generation mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM7

Bit 7: CPU wakeup with event generation mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM8

Bit 8: CPU wakeup with event generation mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM9

Bit 9: CPU wakeup with event generation mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM10

Bit 10: CPU wakeup with event generation mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM11

Bit 11: CPU wakeup with event generation mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM12

Bit 12: CPU wakeup with event generation mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM13

Bit 13: CPU wakeup with event generation mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM14

Bit 14: CPU wakeup with event generation mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM15

Bit 15: CPU wakeup with event generation mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM16

Bit 16: CPU wakeup with event generation mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM17

Bit 17: CPU wakeup with event generation mask on event input x (x = 17 to 0) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM19

Bit 19: CPU wakeup with event generation mask on event input x When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM21

Bit 21: CPU wakeup with event generation mask on event input x (x = 22 to 21) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM22

Bit 22: CPU wakeup with event generation mask on event input x (x = 22 to 21) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM24

Bit 24: CPU wakeup with event generation mask on event input x (x = 29 to 24) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM25

Bit 25: CPU wakeup with event generation mask on event input x (x = 29 to 24) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM26

Bit 26: CPU wakeup with event generation mask on event input x (x = 29 to 24) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM27

Bit 27: CPU wakeup with event generation mask on event input x (x = 29 to 24) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM28

Bit 28: CPU wakeup with event generation mask on event input x (x = 29 to 24) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM29

Bit 29: CPU wakeup with event generation mask on event input x (x = 29 to 24) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IMR2

EXTI CPU wakeup with interrupt mask register 2

Offset: 0x90, size: 32, reset: 0x00DBBFFF, access: Unspecified

10/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
IM53
rw
IM50
rw
IM49
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IM47
rw
IM42
rw
IM41
rw
IM40
rw
IM39
rw
IM38
rw
IM37
rw
Toggle fields

IM37

Bit 5: CPU wakeup with interrupt mask on event input x (x = 42 to 37) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM38

Bit 6: CPU wakeup with interrupt mask on event input x (x = 42 to 37) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM39

Bit 7: CPU wakeup with interrupt mask on event input x (x = 42 to 37) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM40

Bit 8: CPU wakeup with interrupt mask on event input x (x = 42 to 37) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM41

Bit 9: CPU wakeup with interrupt mask on event input x (x = 42 to 37) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM42

Bit 10: CPU wakeup with interrupt mask on event input x (x = 42 to 37) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM47

Bit 15: CPU wakeup with interrupt mask on event input x When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM49

Bit 17: CPU wakeup with interrupt mask on event input x (x = 50 to 49) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM50

Bit 18: CPU wakeup with interrupt mask on event input x (x = 50 to 49) When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

IM53

Bit 21: CPU wakeup with interrupt mask on event input x When EXTI_PRIVCFGR.PRIVx is disabled, IMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, IMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EMR2

EXTI CPU wakeup with event mask register 2

Offset: 0x94, size: 32, reset: 0x00DBBFFF, access: Unspecified

10/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EM53
rw
EM50
rw
EM49
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EM47
rw
EM42
rw
EM41
rw
EM40
rw
EM39
rw
EM38
rw
EM37
rw
Toggle fields

EM37

Bit 5: CPU wakeup with event generation mask on event input x (x = 42 to 37) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM38

Bit 6: CPU wakeup with event generation mask on event input x (x = 42 to 37) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM39

Bit 7: CPU wakeup with event generation mask on event input x (x = 42 to 37) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM40

Bit 8: CPU wakeup with event generation mask on event input x (x = 42 to 37) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM41

Bit 9: CPU wakeup with event generation mask on event input x (x = 42 to 37) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM42

Bit 10: CPU wakeup with event generation mask on event input x (x = 42 to 37) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM47

Bit 15: CPU wakeup with event generation mask on event input x When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM49

Bit 17: CPU wakeup with event generation mask on event input x (x = 50 to 49) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM50

Bit 18: CPU wakeup with event generation mask on event input x (x = 50 to 49) When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

EM53

Bit 21: CPU wakeup with event generation mask on event input x When EXTI_PRIVCFGR.PRIVx is disabled, EMx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, EMx can only be accessed with privileged access. Unprivileged write to this bit is discarded..

Allowed values:
0: Masked: Interrupt request line is masked
1: Unmasked: Interrupt request line is unmasked

FDCAN1

0x4000a400: Controller area network

44/160 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 FDCAN_CREL
0x4 FDCAN_ENDN
0xc FDCAN_DBTP
0x10 FDCAN_TEST
0x14 FDCAN_RWD
0x18 FDCAN_CCCR
0x1c FDCAN_NBTP
0x20 FDCAN_TSCC
0x24 FDCAN_TSCV
0x28 FDCAN_TOCC
0x2c FDCAN_TOCV
0x40 FDCAN_ECR
0x44 FDCAN_PSR
0x48 FDCAN_TDCR
0x50 FDCAN_IR
0x54 FDCAN_IE
0x58 FDCAN_ILS
0x5c FDCAN_ILE
0x80 FDCAN_RXGFC
0x84 FDCAN_XIDAM
0x88 FDCAN_HPMS
0x90 FDCAN_RXF0S
0x94 FDCAN_RXF0A
0x98 FDCAN_RXF1S
0x9c FDCAN_RXF1A
0xc0 FDCAN_TXBC
0xc4 FDCAN_TXFQS
0xc8 FDCAN_TXBRP
0xcc FDCAN_TXBAR
0xd0 FDCAN_TXBCR
0xd4 FDCAN_TXBTO
0xd8 FDCAN_TXBCF
0xdc FDCAN_TXBTIE
0xe0 FDCAN_TXBCIE
0xe4 FDCAN_TXEFS
0xe8 FDCAN_TXEFA
0x100 FDCAN_CKDIV
Toggle registers

FDCAN_CREL

FDCAN core release register

Offset: 0x0, size: 32, reset: 0x32141218, access: Unspecified

6/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
REL
r
STEP
r
SUBSTEP
r
YEAR
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MON
r
DAY
r
Toggle fields

DAY

Bits 0-7: 18.

MON

Bits 8-15: 12.

YEAR

Bits 16-19: 4.

SUBSTEP

Bits 20-23: 1.

STEP

Bits 24-27: 2.

REL

Bits 28-31: 3.

FDCAN_ENDN

FDCAN endian register

Offset: 0x4, size: 32, reset: 0x87654321, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ETV
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ETV
r
Toggle fields

ETV

Bits 0-31: Endianness test value The endianness test value is 0x8765 4321..

FDCAN_DBTP

FDCAN data bit timing and prescaler register

Offset: 0xc, size: 32, reset: 0x00000A33, access: Unspecified

0/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TDC
rw
DBRP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DTSEG1
rw
DTSEG2
rw
DSJW
rw
Toggle fields

DSJW

Bits 0-3: Synchronization jump width Must always be smaller than DTSEG2, valid values are 0 to 15. The value used by the hardware is the one programmed, incremented by 1: tSJW = (DSJW + 1) x tq..

DTSEG2

Bits 4-7: Data time segment after sample point Valid values are 0 to 15. The value used by the hardware is the one programmed, incremented by 1, i.e. tBS2 = (DTSEG2 + 1) x tq..

DTSEG1

Bits 8-12: Data time segment before sample point Valid values are 0 to 31. The value used by the hardware is the one programmed, incremented by 1, i.e. tBS1 = (DTSEG1 + 1) x tq..

DBRP

Bits 16-20: Data bit rate prescaler The value by which the oscillator frequency is divided to generate the bit time quanta. The bit time is built up from a multiple of this quanta. Valid values for the Baud Rate Prescaler are 0 to 31. The hardware interpreters this value as the value programmed plus 1..

TDC

Bit 23: Transceiver delay compensation.

FDCAN_TEST

FDCAN test register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

1/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RX
r
TX
rw
LBCK
rw
Toggle fields

LBCK

Bit 4: Loop back mode.

TX

Bits 5-6: Control of transmit pin.

RX

Bit 7: Receive pin Monitors the actual value of pin FDCANx_RX.

FDCAN_RWD

FDCAN RAM watchdog register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

1/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WDV
r
WDC
rw
Toggle fields

WDC

Bits 0-7: Watchdog configuration Start value of the message RAM watchdog counter. With the reset value of 00, the counter is disabled. These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of FDCAN_CCCR register are set to 1..

WDV

Bits 8-15: Watchdog value Actual message RAM watchdog counter value..

FDCAN_CCCR

FDCAN CC control register

Offset: 0x18, size: 32, reset: 0x00000001, access: Unspecified

1/14 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NISO
rw
TXP
rw
EFBI
rw
PXHD
rw
BRSE
rw
FDOE
rw
TEST
rw
DAR
rw
MON
rw
CSR
rw
CSA
r
ASM
rw
CCE
rw
INIT
rw
Toggle fields

INIT

Bit 0: Initialization.

CCE

Bit 1: Configuration change enable.

ASM

Bit 2: ASM restricted operation mode The restricted operation mode is intended for applications that adapt themselves to different CAN bit rates. The application tests different bit rates and leaves the Restricted operation Mode after it has received a valid frame. In the optional Restricted operation Mode the node is able to transmit and receive data and remote frames and it gives acknowledge to valid frames, but it does not send active error frames or overload frames. In case of an error condition or overload condition, it does not send dominant bits, instead it waits for the occurrence of bus idle condition to resynchronize itself to the CAN communication. The error counters are not incremented. Bit ASM can only be set by software when both CCE and INIT are set to 1. The bit can be reset by the software at any time..

CSA

Bit 3: Clock stop acknowledge.

CSR

Bit 4: Clock stop request.

MON

Bit 5: Bus monitoring mode Bit MON can only be set by software when both CCE and INIT are set to 1. The bit can be reset by the Host at any time..

DAR

Bit 6: Disable automatic retransmission.

TEST

Bit 7: Test mode enable.

FDOE

Bit 8: FD operation enable.

BRSE

Bit 9: FDCAN bit rate switching.

PXHD

Bit 12: Protocol exception handling disable.

EFBI

Bit 13: Edge filtering during bus integration.

TXP

Bit 14: If this bit is set, the FDCAN pauses for two CAN bit times before starting the next transmission after successfully transmitting a frame..

NISO

Bit 15: Non ISO operation If this bit is set, the FDCAN uses the CAN FD frame format as specified by the Bosch CAN FD Specification V1.0..

FDCAN_NBTP

FDCAN nominal bit timing and prescaler register

Offset: 0x1c, size: 32, reset: 0x06000A03, access: Unspecified

0/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
NSJW
rw
NBRP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NTSEG1
rw
NTSEG2
rw
Toggle fields

NTSEG2

Bits 0-6: Nominal time segment after sample point Valid values are 0 to 127. The actual interpretation by the hardware of this value is such that one more than the programmed value is used..

NTSEG1

Bits 8-15: Nominal time segment before sample point Valid values are 0 to 255. The actual interpretation by the hardware of this value is such that one more than the programmed value is used. These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

NBRP

Bits 16-24: Bit rate prescaler Value by which the oscillator frequency is divided for generating the bit time quanta. The bit time is built up from a multiple of this quanta. Valid values are 0 to 511. The actual interpretation by the hardware of this value is such that one more than the value programmed here is used. These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

NSJW

Bits 25-31: Nominal (re)synchronization jump width Valid values are 0 to 127. The actual interpretation by the hardware of this value is such that the used value is the one programmed incremented by one. These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

FDCAN_TSCC

FDCAN timestamp counter configuration register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TSS
rw
Toggle fields

TSS

Bits 0-1: Timestamp select These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

TCP

Bits 16-19: Timestamp counter prescaler Configures the timestamp and timeout counters time unit in multiples of CAN bit times [1 … 16]. The actual interpretation by the hardware of this value is such that one more than the value programmed here is used. In CAN FD mode the internal timestamp counter TCP does not provide a constant time base due to the different CAN bit times between arbitration phase and data phase. Thus CAN FD requires an external counter for timestamp generation (TSS = 10). These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

FDCAN_TSCV

FDCAN timestamp counter value register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TSC
rw
Toggle fields

TSC

Bits 0-15: Timestamp counter The internal/external timestamp counter value is captured on start of frame (both Rx and Tx). When TSCC[TSS] = 01, the timestamp counter is incremented in multiples of CAN bit times [1 … 16] depending on the configuration of TSCC[TCP]. A wrap around sets interrupt flag IR[TSW]. Write access resets the counter to 0. When TSCC.TSS = 10, TSC reflects the external timestamp counter value. A write access has no impact..

FDCAN_TOCC

FDCAN timeout counter configuration register

Offset: 0x28, size: 32, reset: 0xFFFF0000, access: Unspecified

0/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TOP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOS
rw
ETOC
rw
Toggle fields

ETOC

Bit 0: Timeout counter enable This is a protected write (P) bit, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

TOS

Bits 1-2: Timeout select When operating in Continuous mode, a write to TOCV presets the counter to the value configured by TOCC[TOP] and continues down-counting. When the timeout counter is controlled by one of the FIFOs, an empty FIFO presets the counter to the value configured by TOCC[TOP]. Down-counting is started when the first FIFO element is stored. These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

TOP

Bits 16-31: Timeout period Start value of the timeout counter (down-counter). Configures the timeout period..

FDCAN_TOCV

FDCAN timeout counter value register

Offset: 0x2c, size: 32, reset: 0x0000FFFF, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOC
rw
Toggle fields

TOC

Bits 0-15: Timeout counter The timeout counter is decremented in multiples of CAN bit times [1 … 16] depending on the configuration of TSCC.TCP. When decremented to 0, interrupt flag IR.TOO is set and the timeout counter is stopped. Start and reset/restart conditions are configured via TOCC.TOS..

FDCAN_ECR

FDCAN error counter register

Offset: 0x40, size: 32, reset: 0x00000000, access: Unspecified

3/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RP
r
REC
r
TEC
r
Toggle fields

TEC

Bits 0-7: Transmit error counter Actual state of the transmit error counter, values between 0 and 255. When CCCR.ASM is set, the CAN protocol controller does not increment TEC and REC when a CAN protocol error is detected, but CEL is still incremented..

REC

Bits 8-14: Receive error counter Actual state of the receive error counter, values between 0 and 127..

RP

Bit 15: Receive error passive.

CEL

Bits 16-23: CAN error logging The counter is incremented each time when a CAN protocol error causes the transmit error counter or the receive error counter to be incremented. It is reset by read access to CEL. The counter stops at 0xFF; the next increment of TEC or REC sets interrupt flag IR[ELO]. Access type is RX: reset on read..

FDCAN_PSR

FDCAN protocol status register

Offset: 0x44, size: 32, reset: 0x00000707, access: Unspecified

5/11 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TDCV
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PXE
rw
REDL
rw
RBRS
rw
RESI
rw
DLEC
rw
BO
r
EW
r
EP
r
ACT
r
LEC
rw
Toggle fields

LEC

Bits 0-2: Last error code The LEC indicates the type of the last error to occur on the CAN bus. This field is cleared to 0 when a message has been transferred (reception or transmission) without error. Access type is RS: set on read..

ACT

Bits 3-4: Activity Monitors the module’s CAN communication state..

EP

Bit 5: Error passive.

EW

Bit 6: Warning Sstatus.

BO

Bit 7: Bus_Off status.

DLEC

Bits 8-10: Data last error code Type of last error that occurred in the data phase of a FDCAN format frame with its BRS flag set. Coding is the same as for LEC. This field is cleared to 0 when a FDCAN format frame with its BRS flag set has been transferred (reception or transmission) without error. Access type is RS: set on read..

RESI

Bit 11: ESI flag of last received FDCAN message This bit is set together with REDL, independent of acceptance filtering. Access type is RX: reset on read..

RBRS

Bit 12: BRS flag of last received FDCAN message This bit is set together with REDL, independent of acceptance filtering. Access type is RX: reset on read..

REDL

Bit 13: Received FDCAN message This bit is set independent of acceptance filtering. Access type is RX: reset on read..

PXE

Bit 14: Protocol exception event.

TDCV

Bits 16-22: Transmitter delay compensation value Position of the secondary sample point, defined by the sum of the measured delay from FDCAN_TX to FDCAN_RX and TDCR.TDCO. The SSP position is, in the data phase, the number of minimum time quanta (mtq) between the start of the transmitted bit and the secondary sample point. Valid values are 0 to 127 mtq..

FDCAN_TDCR

FDCAN transmitter delay compensation register

Offset: 0x48, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDCO
rw
TDCF
rw
Toggle fields

TDCF

Bits 0-6: Transmitter delay compensation filter window length Defines the minimum value for the SSP position, dominant edges on FDCAN_RX that would result in an earlier SSP position are ignored for transmitter delay measurements. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

TDCO

Bits 8-14: Transmitter delay compensation offset Offset value defining the distance between the measured delay from FDCAN_TX to FDCAN_RX and the secondary sample point. Valid values are 0 to 127 mtq. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

FDCAN_IR

FDCAN interrupt register

Offset: 0x50, size: 32, reset: 0x00000000, access: Unspecified

0/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ARA
rw
PED
rw
PEA
rw
WDI
rw
BO
rw
EW
rw
EP
rw
ELO
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOO
rw
MRAF
rw
TSW
rw
TEFL
rw
TEFF
rw
TEFN
rw
TFE
rw
TCF
rw
TC
rw
HPM
rw
RF1L
rw
RF1F
rw
RF1N
rw
RF0L
rw
RF0F
rw
RF0N
rw
Toggle fields

RF0N

Bit 0: Rx FIFO 0 new message.

RF0F

Bit 1: Rx FIFO 0 full.

RF0L

Bit 2: Rx FIFO 0 message lost.

RF1N

Bit 3: Rx FIFO 1 new message.

RF1F

Bit 4: Rx FIFO 1 full.

RF1L

Bit 5: Rx FIFO 1 message lost.

HPM

Bit 6: High-priority message.

TC

Bit 7: Transmission completed.

TCF

Bit 8: Transmission cancellation finished.

TFE

Bit 9: Tx FIFO empty.

TEFN

Bit 10: Tx event FIFO New Entry.

TEFF

Bit 11: Tx event FIFO full.

TEFL

Bit 12: Tx event FIFO element lost.

TSW

Bit 13: Timestamp wraparound.

MRAF

Bit 14: Message RAM access failure The flag is set when the Rx handler: has not completed acceptance filtering or storage of an accepted message until the arbitration field of the following message has been received. In this case acceptance filtering or message storage is aborted and the Rx handler starts processing of the following message. was unable to write a message to the message RAM. In this case message storage is aborted. In both cases the FIFO put index is not updated. The partly stored message is overwritten when the next message is stored to this location. The flag is also set when the Tx Handler was not able to read a message from the Message RAM in time. In this case message transmission is aborted. In case of a Tx Handler access failure the FDCAN is switched into Restricted operation Mode (see mode). To leave Restricted operation Mode, the Host CPU has to reset CCCR.ASM..

TOO

Bit 15: Timeout occurred.

ELO

Bit 16: Error logging overflow.

EP

Bit 17: Error passive.

EW

Bit 18: Warning status.

BO

Bit 19: Bus_Off status.

WDI

Bit 20: Watchdog interrupt.

PEA

Bit 21: Protocol error in arbitration phase (nominal bit time is used).

PED

Bit 22: Protocol error in data phase (data bit time is used).

ARA

Bit 23: Access to reserved address.

FDCAN_IE

FDCAN interrupt enable register

Offset: 0x54, size: 32, reset: 0x00000000, access: Unspecified

0/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ARAE
rw
PEDE
rw
PEAE
rw
WDIE
rw
BOE
rw
EWE
rw
EPE
rw
ELOE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOOE
rw
MRAFE
rw
TSWE
rw
TEFLE
rw
TEFFE
rw
TEFNE
rw
TFEE
rw
TCFE
rw
TCE
rw
HPME
rw
RF1LE
rw
RF1FE
rw
RF1NE
rw
RF0LE
rw
RF0FE
rw
RF0NE
rw
Toggle fields

RF0NE

Bit 0: Rx FIFO 0 new message interrupt enable.

RF0FE

Bit 1: Rx FIFO 0 full interrupt enable.

RF0LE

Bit 2: Rx FIFO 0 message lost interrupt enable.

RF1NE

Bit 3: Rx FIFO 1 new message interrupt enable.

RF1FE

Bit 4: Rx FIFO 1 full interrupt enable.

RF1LE

Bit 5: Rx FIFO 1 message lost interrupt enable.

HPME

Bit 6: High-priority message interrupt enable.

TCE

Bit 7: Transmission completed interrupt enable.

TCFE

Bit 8: Transmission cancellation finished interrupt enable.

TFEE

Bit 9: Tx FIFO empty interrupt enable.

TEFNE

Bit 10: Tx event FIFO new entry interrupt enable.

TEFFE

Bit 11: Tx event FIFO full interrupt enable.

TEFLE

Bit 12: Tx event FIFO element lost interrupt enable.

TSWE

Bit 13: Timestamp wraparound interrupt enable.

MRAFE

Bit 14: Message RAM access failure interrupt enable.

TOOE

Bit 15: Timeout occurred interrupt enable.

ELOE

Bit 16: Error logging overflow interrupt enable.

EPE

Bit 17: Error passive interrupt enable.

EWE

Bit 18: Warning status interrupt enable.

BOE

Bit 19: Bus_Off status.

WDIE

Bit 20: Watchdog interrupt enable.

PEAE

Bit 21: Protocol error in arbitration phase enable.

PEDE

Bit 22: Protocol error in data phase enable.

ARAE

Bit 23: Access to reserved address enable.

FDCAN_ILS

FDCAN interrupt line select register

Offset: 0x58, size: 32, reset: 0x00000000, access: Unspecified

0/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PERR
rw
BERR
rw
MISC
rw
TFERR
rw
SMSG
rw
RxFIFO1
rw
RxFIFO0
rw
Toggle fields

RxFIFO0

Bit 0: RX FIFO bit grouping the following interruption RF0LL: Rx FIFO 0 message lost interrupt line RF0FL: Rx FIFO 0 full interrupt line RF0NL: Rx FIFO 0 new message interrupt line.

RxFIFO1

Bit 1: RX FIFO bit grouping the following interruption RF1LL: Rx FIFO 1 message lost interrupt line RF1FL: Rx FIFO 1 full Interrupt line RF1NL: Rx FIFO 1 new message interrupt line.

SMSG

Bit 2: Status message bit grouping the following interruption TCFL: Transmission cancellation finished interrupt line TCL: Transmission completed interrupt line HPML: High-priority message interrupt line.

TFERR

Bit 3: Tx FIFO ERROR grouping the following interruption TEFLL: Tx event FIFO element lost interrupt line TEFFL: Tx event FIFO full interrupt line TEFNL: Tx event FIFO new entry interrupt line TFEL: Tx FIFO empty interrupt line.

MISC

Bit 4: Interrupt regrouping the following interruption TOOL: Timeout occurred interrupt line MRAFL: Message RAM access failure interrupt line TSWL: Timestamp wraparound interrupt line.

BERR

Bit 5: Bit and line error grouping the following interruption EPL Error passive interrupt line ELOL: Error logging overflow interrupt line.

PERR

Bit 6: Protocol error grouping the following interruption ARAL: Access to reserved address line PEDL: Protocol error in data phase line PEAL: Protocol error in arbitration phase line WDIL: Watchdog interrupt line BOL: Bus_Off status EWL: Warning status interrupt line.

FDCAN_ILE

FDCAN interrupt line enable register

Offset: 0x5c, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EINT1
rw
EINT0
rw
Toggle fields

EINT0

Bit 0: Enable interrupt line 0.

EINT1

Bit 1: Enable interrupt line 1.

FDCAN_RXGFC

FDCAN global filter configuration register

Offset: 0x80, size: 32, reset: 0x00000000, access: Unspecified

0/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LSE
rw
LSS
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
F0OM
rw
F1OM
rw
ANFS
rw
ANFE
rw
RRFS
rw
RRFE
rw
Toggle fields

RRFE

Bit 0: Reject remote frames extended These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

RRFS

Bit 1: Reject remote frames standard These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

ANFE

Bits 2-3: Accept non-matching frames extended Defines how received messages with 29-bit IDs that do not match any element of the filter list are treated. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

ANFS

Bits 4-5: Accept Non-matching frames standard Defines how received messages with 11-bit IDs that do not match any element of the filter list are treated. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

F1OM

Bit 8: FIFO 1 operation mode (overwrite or blocking) This is a protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

F0OM

Bit 9: FIFO 0 operation mode (overwrite or blocking) This is protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

LSS

Bits 16-20: List size standard >28: Values greater than 28 are interpreted as 28. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

LSE

Bits 24-27: List size extended >8: Values greater than 8 are interpreted as 8. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

FDCAN_XIDAM

FDCAN extended ID and mask register

Offset: 0x84, size: 32, reset: 0x1FFFFFFF, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EIDM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EIDM
rw
Toggle fields

EIDM

Bits 0-28: Extended ID mask For acceptance filtering of extended frames the Extended ID AND Mask is AND-ed with the Message ID of a received frame. Intended for masking of 29-bit IDs in SAE J1939. With the reset value of all bits set to 1 the mask is not active. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

FDCAN_HPMS

FDCAN high-priority message status register

Offset: 0x88, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FLST
r
FIDX
r
MSI
r
BIDX
r
Toggle fields

BIDX

Bits 0-2: Buffer index Index of Rx FIFO element to which the message was stored. Only valid when MSI[1] = 1..

MSI

Bits 6-7: Message storage indicator.

FIDX

Bits 8-12: Filter index Index of matching filter element. Range is 0 to RXGFC[LSS] - 1 or RXGFC[LSE] - 1..

FLST

Bit 15: Filter list Indicates the filter list of the matching filter element..

FDCAN_RXF0S

FDCAN Rx FIFO 0 status register

Offset: 0x90, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RF0L
r
F0F
r
F0PI
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
F0GI
r
F0FL
r
Toggle fields

F0FL

Bits 0-3: Rx FIFO 0 fill level Number of elements stored in Rx FIFO 0, range 0 to 3..

F0GI

Bits 8-9: Rx FIFO 0 get index Rx FIFO 0 read index pointer, range 0 to 2..

F0PI

Bits 16-17: Rx FIFO 0 put index Rx FIFO 0 write index pointer, range 0 to 2..

F0F

Bit 24: Rx FIFO 0 full.

RF0L

Bit 25: Rx FIFO 0 message lost This bit is a copy of interrupt flag IR[RF0L]. When IR[RF0L] is reset, this bit is also reset..

FDCAN_RXF0A

CAN Rx FIFO 0 acknowledge register

Offset: 0x94, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
F0AI
rw
Toggle fields

F0AI

Bits 0-2: Rx FIFO 0 acknowledge index After the Host has read a message or a sequence of messages from Rx FIFO 0 it has to write the buffer index of the last element read from Rx FIFO 0 to F0AI. This sets the Rx FIFO 0 get index RXF0S[F0GI] to F0AI + 1 and update the FIFO 0 fill level RXF0S[F0FL]..

FDCAN_RXF1S

FDCAN Rx FIFO 1 status register

Offset: 0x98, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RF1L
r
F1F
r
F1PI
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
F1GI
r
F1FL
r
Toggle fields

F1FL

Bits 0-3: Rx FIFO 1 fill level Number of elements stored in Rx FIFO 1, range 0 to 3..

F1GI

Bits 8-9: Rx FIFO 1 get index Rx FIFO 1 read index pointer, range 0 to 2..

F1PI

Bits 16-17: Rx FIFO 1 put index Rx FIFO 1 write index pointer, range 0 to 2..

F1F

Bit 24: Rx FIFO 1 full.

RF1L

Bit 25: Rx FIFO 1 message lost This bit is a copy of interrupt flag IR[RF1L]. When IR[RF1L] is reset, this bit is also reset..

FDCAN_RXF1A

FDCAN Rx FIFO 1 acknowledge register

Offset: 0x9c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
F1AI
rw
Toggle fields

F1AI

Bits 0-2: Rx FIFO 1 acknowledge index After the Host has read a message or a sequence of messages from Rx FIFO 1 it has to write the buffer index of the last element read from Rx FIFO 1 to F1AI. This sets the Rx FIFO 1 get index RXF1S[F1GI] to F1AI + 1 and update the FIFO 1 Fill Level RXF1S[F1FL]..

FDCAN_TXBC

FDCAN Tx buffer configuration register

Offset: 0xc0, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TFQM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

TFQM

Bit 24: Tx FIFO/queue mode This is a protected write (P) bit, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

FDCAN_TXFQS

FDCAN Tx FIFO/queue status register

Offset: 0xc4, size: 32, reset: 0x00000003, access: Unspecified

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TFQF
r
TFQPI
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TFGI
r
TFFL
r
Toggle fields

TFFL

Bits 0-2: Tx FIFO free level Number of consecutive free Tx FIFO elements starting from TFGI, range 0 to 3. Read as 0 when Tx queue operation is configured (TXBC[TFQM] = 1)..

TFGI

Bits 8-9: Tx FIFO get index Tx FIFO read index pointer, range 0 to 3. Read as 0 when Tx queue operation is configured (TXBC.TFQM = 1).

TFQPI

Bits 16-17: Tx FIFO/queue put index Tx FIFO/queue write index pointer, range 0 to 3.

TFQF

Bit 21: Tx FIFO/queue full.

FDCAN_TXBRP

FDCAN Tx buffer request pending register

Offset: 0xc8, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRP
r
Toggle fields

TRP

Bits 0-2: Transmission request pending Each Tx buffer has its own transmission request pending bit. The bits are set via register TXBAR. The bits are reset after a requested transmission has completed or has been canceled via register TXBCR. After a TXBRP bit has been set, a Tx scan is started to check for the pending Tx request with the highest priority (Tx buffer with lowest Message ID). A cancellation request resets the corresponding transmission request pending bit of register TXBRP. In case a transmission has already been started when a cancellation is requested, this is done at the end of the transmission, regardless whether the transmission was successful or not. The cancellation request bits are reset directly after the corresponding TXBRP bit has been reset. After a cancellation has been requested, a finished cancellation is signaled via TXBCF after successful transmission together with the corresponding TXBTO bit when the transmission has not yet been started at the point of cancellation when the transmission has been aborted due to lost arbitration when an error occurred during frame transmission In DAR mode all transmissions are automatically canceled if they are not successful. The corresponding TXBCF bit is set for all unsuccessful transmissions..

FDCAN_TXBAR

FDCAN Tx buffer add request register

Offset: 0xcc, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AR
rw
Toggle fields

AR

Bits 0-2: Add request Each Tx buffer has its own add request bit. Writing a 1 sets the corresponding add request bit; writing a 0 has no impact. This enables the Host to set transmission requests for multiple Tx buffers with one write to TXBAR. When no Tx scan is running, the bits are reset immediately, else the bits remain set until the Tx scan process has completed..

FDCAN_TXBCR

FDCAN Tx buffer cancellation request register

Offset: 0xd0, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CR
rw
Toggle fields

CR

Bits 0-2: Cancellation request Each Tx buffer has its own cancellation request bit. Writing a 1 sets the corresponding CR bit; writing a 0 has no impact. This enables the Host to set cancellation requests for multiple Tx buffers with one write to TXBCR. The bits remain set until the corresponding TXBRP bit is reset..

FDCAN_TXBTO

FDCAN Tx buffer transmission occurred register

Offset: 0xd4, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TO
r
Toggle fields

TO

Bits 0-2: Transmission occurred. Each Tx buffer has its own TO bit. The bits are set when the corresponding TXBRP bit is cleared after a successful transmission. The bits are reset when a new transmission is requested by writing a 1 to the corresponding bit of register TXBAR..

FDCAN_TXBCF

FDCAN Tx buffer cancellation finished register

Offset: 0xd8, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CF
r
Toggle fields

CF

Bits 0-2: Cancellation finished Each Tx buffer has its own CF bit. The bits are set when the corresponding TXBRP bit is cleared after a cancellation was requested via TXBCR. In case the corresponding TXBRP bit was not set at the point of cancellation, CF is set immediately. The bits are reset when a new transmission is requested by writing a 1 to the corresponding bit of register TXBAR..

FDCAN_TXBTIE

FDCAN Tx buffer transmission interrupt enable register

Offset: 0xdc, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TIE
rw
Toggle fields

TIE

Bits 0-2: Transmission interrupt enable Each Tx buffer has its own TIE bit..

FDCAN_TXBCIE

FDCAN Tx buffer cancellation finished interrupt enable register

Offset: 0xe0, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CFIE
rw
Toggle fields

CFIE

Bits 0-2: Cancellation finished interrupt enable. Each Tx buffer has its own CFIE bit..

FDCAN_TXEFS

FDCAN Tx event FIFO status register

Offset: 0xe4, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TEFL
r
EFF
r
EFPI
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EFGI
r
EFFL
r
Toggle fields

EFFL

Bits 0-2: Event FIFO fill level Number of elements stored in Tx event FIFO, range 0 to 3..

EFGI

Bits 8-9: Event FIFO get index Tx event FIFO read index pointer, range 0 to 3..

EFPI

Bits 16-17: Event FIFO put index Tx event FIFO write index pointer, range 0 to 3..

EFF

Bit 24: Event FIFO full.

TEFL

Bit 25: Tx event FIFO element lost This bit is a copy of interrupt flag IR[TEFL]. When IR[TEFL] is reset, this bit is also reset. 0 No Tx event FIFO element lost 1 Tx event FIFO element lost, also set after write attempt to Tx event FIFO of size 0..

FDCAN_TXEFA

FDCAN Tx event FIFO acknowledge register

Offset: 0xe8, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EFAI
rw
Toggle fields

EFAI

Bits 0-1: Event FIFO acknowledge index After the Host has read an element or a sequence of elements from the Tx event FIFO, it has to write the index of the last element read from Tx event FIFO to EFAI. This sets the Tx event FIFO get index TXEFS[EFGI] to EFAI + 1 and updates the FIFO 0 fill level TXEFS[EFFL]..

FDCAN_CKDIV

FDCAN CFG clock divider register

Offset: 0x100, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PDIV
rw
Toggle fields

PDIV

Bits 0-3: input clock divider The APB clock could be divided prior to be used by the CAN sub system. The rate must be computed using the divider output clock. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1..

FLASH

0x40022000: FLASH address block description

61/122 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 ACR
0x4 NSKEYR
0xc OPTKEYR
0x18 OPSR
0x1c OPTCR
0x20 NSSR
0x24 SECSR
0x28 NSCR
0x30 NSCCR
0x3c PRIVCFGR
0x48 HDPEXTR
0x50 OPTSR_CUR
0x54 OPTSR_PRG
0x70 OPTSR2_CUR
0x74 OPTSR2_PRG
0x80 NSBOOTR_CUR
0x84 NSBOOTR_PRG
0x90 OTPBLR_CUR
0x94 OTPBLR_PRG
0xc0 PRIVBB1R
0xe8 WRPSGN1R_CUR
0xec WRPSGN1R_PRG
0xf8 HDP1R_CUR
0xfc HDP1R_PRG
0x100 ECCCORR
0x104 ECCDETR
0x108 ECCDR
0x1e8 WRPSGN2R_CUR
0x1ec WRPSGN2R_PRG
0x1f8 HDP2R_CUR
0x1fc HDP2R_PRG
Toggle registers

ACR

FLASH access control register

Offset: 0x0, size: 32, reset: 0x00000013, access: Unspecified

0/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
S_PRFTEN
rw
PRFTEN
rw
WRHIGHFREQ
rw
LATENCY
rw
Toggle fields

LATENCY

Bits 0-3: Read latency These bits are used to control the number of wait states used during read operations on both non-volatile memory banks. The application software has to program them to the correct value depending on the embedded Flash memory interface frequency and voltage conditions. ... Note: No check is performed by hardware to verify that the configuration is correct..

WRHIGHFREQ

Bits 4-5: Flash signal delay These bits are used to control the delay between non-volatile memory signals during programming operations. Application software has to program them to the correct value depending on the embedded Flash memory interface frequency. Please refer to for details. Note: No check is performed to verify that the configuration is correct. Two WRHIGHFREQ values can be selected for some frequencies..

PRFTEN

Bit 8: Prefetch enable. When bit value is modified, user must read back ACR register to be sure PRFTEN has been taken into account. Bits used to control the prefetch..

S_PRFTEN

Bit 9: Smart prefetch enable. When bit value is modified, user must read back ACR register to be sure S_PRFTEN has been taken into account. Bits used to control the prefetch functionality..

NSKEYR

FLASH key register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
NSKEY
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NSKEY
w
Toggle fields

NSKEY

Bits 0-31: Non-volatile memory configuration access unlock key.

OPTKEYR

FLASH option key register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OPTKEY
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OPTKEY
w
Toggle fields

OPTKEY

Bits 0-31: FLASH option bytes control access unlock key.

OPSR

FLASH operation status register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CODE_OP
r
OTP_OP
r
SYSF_OP
r
BK_OP
r
ADDR_OP
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ADDR_OP
r
Toggle fields

ADDR_OP

Bits 0-19: Interrupted operation address..

BK_OP

Bit 22: Interrupted operation bank It indicates which bank was concerned by operation..

SYSF_OP

Bit 23: Operation in system Flash memory interrupted Indicates that reset interrupted an ongoing operation in System Flash..

OTP_OP

Bit 24: OTP operation interrupted Indicates that reset interrupted an ongoing operation in OTP area..

CODE_OP

Bits 29-31: Flash memory operation code.

OPTCR

FLASH option control register

Offset: 0x1c, size: 32, reset: 0x00000001, access: Unspecified

1/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SWAP_BANK
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OPTSTRT
rw
OPTLOCK
rw
Toggle fields

OPTLOCK

Bit 0: FLASH_OPTCR lock option configuration bit The OPTLOCK bit locks the FLASH_OPTCR register as well as all _PRG registers. The correct write sequence to FLASH_OPTKEYR register unlocks this bit. If a wrong sequence is executed, or the unlock sequence to FLASH_OPTKEYR is performed twice, this bit remains locked until next system reset. It is possible to set OPTLOCK by programming it to 1. When set to 1, a new unlock sequence is mandatory to unlock it. When OPTLOCK changes from 0 to 1, the others bits of FLASH_OPTCR register do not change..

OPTSTRT

Bit 1: Option byte start change option configuration bit OPTSTRT triggers an option byte change operation. The user can set OPTSTRT only when the OPTLOCK bit is cleared to 0. It’s set only by Software and cleared when the option byte change is completed or an error occurs (PGSERR or OPTCHANGEERR). It’s reseted at the same time as BSY bit. The user application cannot modify any FLASH_XXX_PRG embedded Flash memory register until the option change operation has been completed. Before setting this bit, the user has to write the required values in the FLASH_XXX_PRG registers. The FLASH_XXX_PRG registers are locked until the option byte change operation has been executed in non-volatile memory..

SWAP_BANK

Bit 31: Bank swapping option configuration bit SWAP_BANK controls whether Bank1 and Bank2 are swapped or not. This bit is loaded with the SWAP_BANK bit of FLASH_OPTSR_CUR register only after reset or POR..

NSSR

FLASH non-secure status register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OPTCHANGEERR
r
INCERR
r
STRBERR
r
PGSERR
r
WRPERR
r
EOP
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBNE
r
WBNE
r
BSY
r
Toggle fields

BSY

Bit 0: busy flag BSY flag indicates that a Flash memory is busy by an operation (write, erase, option byte change). It is set at the beginning of a Flash memory operation and cleared when the operation finishes or an error occurs..

WBNE

Bit 1: write buffer not empty flag WBNE flag is set when the embedded Flash memory is waiting for new data to complete the write buffer. In this state, the write buffer is not empty. WBNE is reset by hardware each time the write buffer is complete or the write buffer is emptied following one of the event below: the application software forces the write operation using FW bit in FLASH_NSCR the embedded Flash memory detects an error that involves data loss This bit cannot be reset by software writing 0 directly. To reset it, clear the write buffer by performing any of the above listed actions, or send the missing data..

DBNE

Bit 3: data buffer not empty flag DBNE flag is set when the embedded Flash memory interface is processing 6-bits ECC data in dedicated buffer. This bit cannot be set to 0 by software. The hardware resets it once the buffer is free..

EOP

Bit 16: end of operation flag EOP flag is set when a operation (program/erase) completes. An interrupt is generated if the EOPIE is set to 1. It is not necessary to reset EOP before starting a new operation. EOP bit is cleared by writing 1 to CLR_EOP bit in FLASH_NSCCR register..

WRPERR

Bit 17: write protection error flag WRPERR flag is raised when a protection error occurs during a program operation. An interrupt is also generated if the WRPERRIE is set to 1. Writing 1 to CLR_WRPERR bit in FLASH_NSCCR register clears WRPERR..

PGSERR

Bit 18: programming sequence error flag PGSERR flag is raised when a sequence error occurs. An interrupt is generated if the PGSERRIE bit is set to 1. Writing 1 to CLR_PGSERR bit in FLASH_NSCCR register clears PGSERR..

STRBERR

Bit 19: strobe error flag STRBERR flag is raised when a strobe error occurs (when the master attempts to write several times the same byte in the write buffer). An interrupt is generated if the STRBERRIE bit is set to 1. Writing 1 to CLR_STRBERR bit in FLASH_NSCCR register clears STRBERR..

INCERR

Bit 20: inconsistency error flag INCERR flag is raised when a inconsistency error occurs. An interrupt is generated if INCERRIE is set to 1. Writing 1 to CLR_INCERR bit in the FLASH_NSCCR register clears INCERR..

OPTCHANGEERR

Bit 23: Option byte change error flag OPTCHANGEERR flag indicates that an error occurred during an option byte change operation. When OPTCHANGEERR is set to 1, the option byte change operation did not successfully complete. An interrupt is generated when this flag is raised if the OPTCHANGEERRIE bit of FLASH_NSCR register is set to 1. Writing 1 to CLR_OPTCHANGEERR of register FLASH_CCR clears OPTCHANGEERR. Note: The OPTSTRT bit in FLASH_OPTCR cannot be set while OPTCHANGEERR is set..

SECSR

FLASH secure status register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SECINCERR
r
SECSTRBERR
r
SECPGSERR
r
SECWRPERR
r
SECEOP
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SECDBNE
r
SECWBNE
r
SECBSY
r
Toggle fields

SECBSY

Bit 0: busy flag BSY flag indicates that a FLASH memory is busy by an operation (write, erase, option byte change, OBK operations, PUF operation). It is set at the beginning of a Flash memory operation and cleared when the operation finishes or an error occurs..

SECWBNE

Bit 1: write buffer not empty flag WBNE flag is set when the embedded Flash memory is waiting for new data to complete the write buffer. In this state, the write buffer is not empty. WBNE is reset by hardware each time the write buffer is complete or the write buffer is emptied following one of the event below: the application software forces the write operation using FW bit in FLASH_SECCR the embedded Flash memory detects an error that involves data loss This bit cannot be reset by writing 0 directly by software. To reset it, clear the write buffer by performing any of the above listed actions, or send the missing data..

SECDBNE

Bit 3: data buffer not empty flag DBNE flag is set when the embedded Flash memory interface is processing 6-bits ECC data in dedicated buffer. This bit cannot be set to 0 by software. The hardware resets it once the buffer is free..

SECEOP

Bit 16: end of operation flag EOP flag is set when a operation (program/erase) completes. An interrupt is generated if the EOPIE is set to. It is not necessary to reset EOP before starting a new operation. EOP bit is cleared by writing 1 to CLR_EOP bit in FLASH_SECCCR register..

SECWRPERR

Bit 17: write protection error flag WRPERR flag is raised when a protection error occurs during a program operation. An interrupt is also generated if the WRPERRIE is set to 1. Writing 1 to CLR_WRPERR bit in FLASH_SECCCR register clears WRPERR..

SECPGSERR

Bit 18: programming sequence error flag PGSERR flag is raised when a sequence error occurs. An interrupt is generated if the PGSERRIE bit is set to 1. Writing 1 to CLR_PGSERR bit in FLASH_SECCCR register clears PGSERR..

SECSTRBERR

Bit 19: strobe error flag STRBERR flag is raised when a strobe error occurs (when the master attempts to write several times the same byte in the write buffer). An interrupt is generated if the STRBERRIE bit is set to 1. Writing 1 to CLR_STRBERR bit in FLASH_SECCCR register clears STRBERR..

SECINCERR

Bit 20: inconsistency error flag INCERR flag is raised when a inconsistency error occurs. An interrupt is generated if INCERRIE is set to 1. Writing 1 to CLR_INCERR bit in the FLASH_SECCCR register clears INCERR..

NSCR

FLASH Non Secure control register

Offset: 0x28, size: 32, reset: 0x00000001, access: Unspecified

0/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKSEL
rw
OPTCHANGEERRIE
rw
INCERRIE
rw
STRBERRIE
rw
PGSERRIE
rw
WRPERRIE
rw
EOPIE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MER
rw
SNB
rw
STRT
rw
FW
rw
BER
rw
SER
rw
PG
rw
LOCK
rw
Toggle fields

LOCK

Bit 0: configuration lock bit This bit locks the FLASH_NSCR register. The correct write sequence to FLASH_NSKEYR register unlocks this bit. If a wrong sequence is executed, or if the unlock sequence to FLASH_NSKEYR is performed twice, this bit remains locked until the next system reset. LOCK can be set by programming it to 1. When set to 1, a new unlock sequence is mandatory to unlock it. When LOCK changes from 0 to 1, the other bits of FLASH_NSCR register do not change..

PG

Bit 1: programming control bit PG can be programmed only when LOCK is cleared to 0. PG allows programming in Bank1 and Bank2..

SER

Bit 2: sector erase request Setting SER bit to 1 requests a sector erase. SER can be programmed only when LOCK is cleared to 0. If MER and SER are also set, a PGSERR is raised..

BER

Bit 3: erase request Setting BER bit to 1 requests a bank erase operation (user Flash memory only). BER can be programmed only when LOCK is cleared to 0. If MER and SER are also set, a PGSERR is raised. Note: Write protection error is triggered when a bank erase is required and some sectors are protected..

FW

Bit 4: write forcing control bit FW forces a write operation even if the write buffer is not full. In this case all bits not written are set to 1 by hardware. FW can be programmed only when LOCK is cleared to 0. The embedded Flash memory resets FW when the corresponding operation has been acknowledged. Note: Using a force-write operation prevents the application from updating later the missing bits with something else than 1, because it is likely that it leads to permanent ECC error. Write forcing is effective only if the write buffer is not empty (in particular, FW does not start several write operations when the force-write operations are performed consecutively). Since there is just one write buffer, FW can force a write in bank1 or bank2..

STRT

Bit 5: erase start control bit STRT bit is used to start a sector erase or a bank erase operation. STRT can be programmed only when LOCK is cleared to 0. STRT is reset at the end of the operation or when an error occurs. It cannot be reseted by software..

SNB

Bits 6-8: sector erase selection number These bits are used to select the target sector for an erase operation (they are unused otherwise). SNB can be programmed only when LOCK is cleared to 0. ....

MER

Bit 15: Mass erase request Setting MER bit to 1 requests a mass erase operation (user Flash memory only). MER can be programmed only when LOCK is cleared to 0. If BER or SER are both set, a PGSERR is raised. Error is triggered when a mass erase is required and some sectors are protected..

EOPIE

Bit 16: end of operation interrupt control bit Setting EOPIE bit to 1 enables the generation of an interrupt at the end of a program or erase operation. EOPIE can be programmed only when LOCK is cleared to 0..

WRPERRIE

Bit 17: write protection error interrupt enable bit When WRPERRIE bit is set to 1, an interrupt is generated when a protection error occurs during a program operation. WRPERRIE can be programmed only when LOCK is cleared to 0..

PGSERRIE

Bit 18: programming sequence error interrupt enable bit When PGSERRIE bit is set to 1, an interrupt is generated when a sequence error occurs during a program operation. PGSERRIE can be programmed only when LOCK is cleared to 0..

STRBERRIE

Bit 19: strobe error interrupt enable bit When STRBERRIE bit is set to 1, an interrupt is generated when a strobe error occurs (the master programs several times the same byte in the write buffer) during a write operation. STRBERRIE can be programmed only when LOCK is cleared to 0..

INCERRIE

Bit 20: inconsistency error interrupt enable bit When INCERRIE bit is set to 1, an interrupt is generated when an inconsistency error occurs during a write operation. INCERRIE can be programmed only when LOCK is cleared to 0..

OPTCHANGEERRIE

Bit 23: Option byte change error interrupt enable bit OPTCHANGEERRIE bit controls if an interrupt has to be generated when an error occurs during an option byte change. This bit can be programmed only when LOCK bit is cleared to 0..

BKSEL

Bit 31: Bank selector bit BKSEL can only be programmed when LOCK is cleared to 0. The bit selects physical bank, SWAP_BANK setting is ignored..

NSCCR

FLASH non-secure clear control register

Offset: 0x30, size: 32, reset: 0x00000000, access: Unspecified

0/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CLR_OPTCHANGEERR
w
CLR_INCERR
w
CLR_STRBERR
w
CLR_PGSERR
w
CLR_WRPERR
w
CLR_EOP
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

CLR_EOP

Bit 16: EOP flag clear bit Setting this bit to 1 resets to 0 EOP flag in FLASH_NSSR register..

CLR_WRPERR

Bit 17: WRPERR flag clear bit Setting this bit to 1 resets to 0 WRPERR flag in FLASH_NSSR register..

CLR_PGSERR

Bit 18: PGSERR flag clear bit Setting this bit to 1 resets to 0 PGSERR flag in FLASH_NSSR register..

CLR_STRBERR

Bit 19: STRBERR flag clear bit Setting this bit to 1 resets to 0 STRBERR flag in FLASH_NSSR register..

CLR_INCERR

Bit 20: INCERR flag clear bit Setting this bit to 1 resets to 0 INCERR flag in FLASH_NSSR register..

CLR_OPTCHANGEERR

Bit 23: Clear the flag corresponding flag in FLASH_NSSR by writing this bit..

PRIVCFGR

FLASH privilege configuration register

Offset: 0x3c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NSPRIV
w
Toggle fields

NSPRIV

Bit 1: privilege attribute for non secure registers.

HDPEXTR

FLASH HDP extension register

Offset: 0x48, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
HDP2_EXT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HDP1_EXT
rw
Toggle fields

HDP1_EXT

Bits 0-2: HDP area extension in 8 Kbytes sectors in Bank1. Extension is added after the HDP1_END sector..

HDP2_EXT

Bits 16-18: HDP area extension in 8 Kbytes sectors in Bank2. Extension is added after the HDP2_END sector..

OPTSR_CUR

FLASH option status register

Offset: 0x50, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SWAP_BANK
r
IWDG_STDBY
r
IWDG_STOP
r
IO_VDDIO2_HSLV
r
IO_VDD_HSLV
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRODUCT_STATE
r
NRST_STDBY
r
NRST_STOP
r
NRST_SHDW
r
WWDG_SW
r
IWDG_SW
r
BORH_EN
r
BOR_LEV
r
Toggle fields

BOR_LEV

Bits 0-1: Brownout level option status bit These bits reflects the power level that generates a system reset..

BORH_EN

Bit 2: Brownout high enable status bit.

IWDG_SW

Bit 3: IWDG control mode option status bit.

WWDG_SW

Bit 4: WWDG control mode option status bit.

NRST_SHDW

Bit 5: Core domain Shutdown entry reset option status bit.

NRST_STOP

Bit 6: Core domain Stop entry reset option status bit.

NRST_STDBY

Bit 7: Core domain Standby entry reset option status bit.

PRODUCT_STATE

Bits 8-15: Life state code (based on Hamming 8,4). More information in ..

IO_VDD_HSLV

Bit 16: High-speed IO at low VDD voltage status bit. This bit can be set only with VDD below 2.5 V..

IO_VDDIO2_HSLV

Bit 17: High-speed IO at low VDDIO2 voltage status bit. This bit can be set only with VDDIO2 below 2.5 V..

IWDG_STOP

Bit 20: IWDG Stop mode freeze option status bit When set the independent watchdog IWDG is in system Stop mode..

IWDG_STDBY

Bit 21: IWDG Standby mode freeze option status bit When set the independent watchdog IWDG is frozen in system Standby mode..

SWAP_BANK

Bit 31: Bank swapping option status bit SWAP_BANK reflects whether Bank1 and Bank2 are swapped or not. SWAP_BANK is loaded to SWAP_BANK of FLASH_OPTCR after a reset..

OPTSR_PRG

FLASH option status register

Offset: 0x54, size: 32, reset: 0x00000000, access: Unspecified

0/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SWAP_BANK
rw
IWDG_STDBY
rw
IWDG_STOP
rw
IO_VDDIO2_HSLV
rw
IO_VDD_HSLV
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRODUCT_STATE
rw
NRST_STDBY
rw
NRST_STOP
rw
NRST_SHDW
rw
WWDG_SW
rw
IWDG_SW
rw
BORH_EN
rw
BOR_LEV
rw
Toggle fields

BOR_LEV

Bits 0-1: Brownout level option configuration bit These bits reflects the power level that generates a system reset..

BORH_EN

Bit 2: Brownout high enable configuration bit.

IWDG_SW

Bit 3: IWDG control mode option configuration bit.

WWDG_SW

Bit 4: WWDG control mode option configuration bit.

NRST_SHDW

Bit 5: Core domain Shutdown entry reset option configuration bit.

NRST_STOP

Bit 6: Core domain Stop entry reset option configuration bit.

NRST_STDBY

Bit 7: Core domain Standby entry reset option configuration bit.

PRODUCT_STATE

Bits 8-15: Life state code (based on Hamming 8,4). More information in ..

IO_VDD_HSLV

Bit 16: High-speed IO at low VDD voltage configuration bit. This bit can be set only with VDD below 2.5 V..

IO_VDDIO2_HSLV

Bit 17: High-speed IO at low VDDIO2 voltage configuration bit. This bit can be set only with VDDIO2 below 2.5 V..

IWDG_STOP

Bit 20: IWDG Stop mode freeze option configuration bit When set the independent watchdog IWDG is in system Stop mode..

IWDG_STDBY

Bit 21: IWDG Standby mode freeze option configuration bit When set the independent watchdog IWDG is frozen in system Standby mode..

SWAP_BANK

Bit 31: Bank swapping option configuration bit SWAP_BANK option bit is used to configure whether the Bank1 and Bank2 are swapped or not. This bit is loaded with the SWAP_BANK bit of FLASH_OPTSR_CUR register after a reset..

OPTSR2_CUR

FLASH option status register 2

Offset: 0x70, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SRAM1_ECC
r
SRAM1_RST
r
SRAM2_ECC
r
BKPRAM_ECC
r
SRAM2_RST
r
Toggle fields

SRAM2_RST

Bit 3: SRAM2 erase when system reset.

BKPRAM_ECC

Bit 4: Backup RAM ECC detection and correction disable.

SRAM2_ECC

Bit 6: SRAM2 ECC detection and correction disable.

SRAM1_RST

Bit 9: SRAM1 erase upon system reset.

SRAM1_ECC

Bit 10: SRAM1 ECC detection and correction disable.

OPTSR2_PRG

FLASH option status register 2

Offset: 0x74, size: 32, reset: 0x00000000, access: Unspecified

0/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SRAM1_ECC
rw
SRAM1_RST
rw
SRAM2_ECC
rw
BKPRAM_ECC
rw
SRAM2_RST
rw
Toggle fields

SRAM2_RST

Bit 3: SRAM2 erase when system reset.

BKPRAM_ECC

Bit 4: Backup RAM ECC detection and correction disable.

SRAM2_ECC

Bit 6: SRAM2 ECC detection and correction disable.

SRAM1_RST

Bit 9: SRAM1 erase upon system reset.

SRAM1_ECC

Bit 10: SRAM1 ECC detection and correction disable.

NSBOOTR_CUR

FLASH non-secure unique boot entry register

Offset: 0x80, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
NSBOOTADD
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NSBOOTADD
r
NSBOOT_LOCK
r
Toggle fields

NSBOOT_LOCK

Bits 0-7: A field locking the values of SWAP_BANK, and NSBOOTADD settings..

NSBOOTADD

Bits 8-31: unique boot entry address These bits reflect the UBE address.

NSBOOTR_PRG

FLASH non-secure unique boot entry address

Offset: 0x84, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
NSBOOTADD
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NSBOOTADD
rw
NSBOOT_LOCK
rw
Toggle fields

NSBOOT_LOCK

Bits 0-7: A field locking the values of SWAP_BANK, and NSBOOTADD settings..

NSBOOTADD

Bits 8-31: Unique boot entry address These bits allow configuring the BOOT address.

OTPBLR_CUR

FLASH non-secure OTP block lock

Offset: 0x90, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LOCKBL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LOCKBL
r
Toggle fields

LOCKBL

Bits 0-31: OTP block lock Block n corresponds to OTP 16-bit word 32 x n to 32 x n + 31. LOCKBL[n] = 1 indicates that all OTP 16-bit words in OTP Block n are locked and attempt to program them results in WRPERR. LOCKBL[n] = 0 indicates that all OTP 16-bit words in OTP Block n are not locked. When one block is locked, it’s not possible to remove the write protection. Also if not locked, it is not possible to erase OTP words..

OTPBLR_PRG

FLASH non-secure OTP block lock

Offset: 0x94, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LOCKBL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LOCKBL
rw
Toggle fields

LOCKBL

Bits 0-31: OTP block lock Block n corresponds to OTP 16-bit word 32 x n to 32 x n + 31. LOCKBL[n] = 1 indicates that all OTP 16-bit words in OTP Block n are locked and attempt to program them results in WRPERR. LOCKBL[n] = 0 indicates that all OTP 16-bit words in OTP Block n are not locked. When one block is locked, it is not possible to remove the write protection. LOCKBL bits can be set if the corresponding bit in FLASH_OTPBLR_CUR is cleared..

PRIVBB1R

FLASH privilege register for bank 1

Offset: 0xc0, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRIVBB1
rw
Toggle fields

PRIVBB1

Bits 0-7: Privileged / unprivileged 8 Kbytes Flash Bank1 sector attribute (y = 0 to 7).

WRPSGN1R_CUR

FLASH write sector protection for Bank1

Offset: 0xe8, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WRPSG1
r
Toggle fields

WRPSG1

Bits 0-7: Bank1 sector protection option status byte Setting WRPSG1 bits to 0 write protects the corresponding sectors in bank 1 (0: write protected; 1: not write protected).

WRPSGN1R_PRG

FLASH write sector protection for Bank1

Offset: 0xec, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WRPSG1
rw
Toggle fields

WRPSG1

Bits 0-7: Bank1 sector protection option status byte Setting WRPSG1 bits to 0 write protects the corresponding sectors in bank 1 (0: write protected; 1: not write protected).

HDP1R_CUR

FLASH HDP Bank1 register

Offset: 0xf8, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
HDP1_END
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HDP1_STRT
r
Toggle fields

HDP1_STRT

Bits 0-2: HDPL barrier start set in number of 8 Kbytes sectors.

HDP1_END

Bits 16-18: HDPL barrier end set in number of 8 Kbytes sectors.

HDP1R_PRG

FLASH HDP Bank1 register

Offset: 0xfc, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
HDP1_END
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HDP1_STRT
r
Toggle fields

HDP1_STRT

Bits 0-2: Bank 1 HDPL barrier start set in number of 8 Kbytes sectors.

HDP1_END

Bits 16-18: Bank 1 HDPL barrier end set in number of 8 Kbytes sectors.

ECCCORR

FLASH Flash ECC correction register

Offset: 0x100, size: 32, reset: 0x00000000, access: Unspecified

4/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ECCC
rw
ECCCIE
rw
OTP_ECC
r
SYSF_ECC
r
BK_ECC
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ADDR_ECC
r
Toggle fields

ADDR_ECC

Bits 0-15: ECC error address When an ECC error occurs (for single correction) during a read operation, the ADDR_ECC contains the address that generated the error. ADDR_ECC is reset when the flag error is reset. The embedded Flash memory programs the address in this register only when no ECC error flags are set. This means that only the first address that generated an ECC error is saved. The address in ADDR_ECC is relative to the Flash memory area where the error occurred (user Flash memory, system Flash memory, data area, read-only/OTP area)..

BK_ECC

Bit 22: ECC bank flag for corrected ECC error It indicates which bank is concerned by ECC error.

SYSF_ECC

Bit 23: ECC flag for corrected ECC error in system FLASH It indicates if system Flash memory is concerned by ECC error..

OTP_ECC

Bit 24: OTP ECC error bit This bit is set to 1 when one single ECC correction occurred during the last successful read operation from the read-only/ OTP area. The address of the ECC error is available in ADDR_ECC bitfield..

ECCCIE

Bit 25: ECC single correction error interrupt enable bit When ECCCIE bit is set to 1, an interrupt is generated when an ECC single correction error occurs during a read operation..

ECCC

Bit 30: ECC correction set by hardware when single ECC error has been detected and corrected. Cleared by writing 1..

ECCDETR

FLASH ECC detection register

Offset: 0x104, size: 32, reset: 0x00000000, access: Unspecified

4/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ECCD
rw
OTP_ECC
r
SYSF_ECC
r
BK_ECC
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ADDR_ECC
r
Toggle fields

ADDR_ECC

Bits 0-15: ECC error address When an ECC error occurs (double detection) during a read operation, the ADDR_ECC contains the address that generated the error. ADDR_ECC is reset when the flag error is reset. The embedded Flash memory programs the address in this register only when no ECC error flags are set. This means that only the first address that generated an double ECC error is saved. The address in ADDR_ECC is relative to the Flash memory area where the error occurred (user Flash memory, system Flash memory, data area, read-only/OTP area)..

BK_ECC

Bit 22: ECC fail bank for double ECC Error It indicates which bank is concerned by ECC error.

SYSF_ECC

Bit 23: ECC fail for double ECC error in system Flash memory It indicates if system Flash memory is concerned by ECC error..

OTP_ECC

Bit 24: OTP ECC error bit This bit is set to 1 when double ECC detection occurred during the last read operation from the read-only/ OTP area. The address of the ECC error is available in ADDR_ECC bit field..

ECCD

Bit 31: ECC detection set by hardware when two ECC error has been detected. When this bit is set, a NMI is generated. Cleared by writing 1. Needs to be cleared in order to detect subsequent double ECC errors..

ECCDR

FLASH ECC data

Offset: 0x108, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DATA_ECC
r
Toggle fields

DATA_ECC

Bits 0-15: ECC error data When an double detection ECC error occurs on special areas with 6-bit ECC on 16-bit of data (data area, read-only/OTP area), the failing data is read to this register. By checking if it is possible to determine whether the failure was on a real data, or due to access to uninitialized memory..

WRPSGN2R_CUR

FLASH write sector protection for Bank2

Offset: 0x1e8, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WRPSG2
r
Toggle fields

WRPSG2

Bits 0-7: Bank2 sector protection option status byte Setting WRPSG2 bits to 0 write protects the corresponding sectors in bank 2 (0: write protected; 1: not write protected).

WRPSGN2R_PRG

FLASH write sector protection for Bank2

Offset: 0x1ec, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WRPSG2
rw
Toggle fields

WRPSG2

Bits 0-7: Bank2 sector protection option status byte Setting WRPSG2 bits to 0 write protects the corresponding sectors in bank 2 (0: write protected; 1: not write protected).

HDP2R_CUR

FLASH HDP Bank2 register

Offset: 0x1f8, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
HDP2_END
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HDP2_STRT
r
Toggle fields

HDP2_STRT

Bits 0-2: Bank 2 HDPL barrier start set in number of 8 Kbytes sectors.

HDP2_END

Bits 16-18: Bank 2 HDPL barrier end set in number of 8 Kbytes sectors.

HDP2R_PRG

FLASH HDP Bank2 register

Offset: 0x1fc, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
HDP2_END
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HDP2_STRT
rw
Toggle fields

HDP2_STRT

Bits 0-2: Bank 2 HDPL barrier start set in number of 8 Kbytes sectors.

HDP2_END

Bits 16-18: Bank 2 HDPL barrier end set in number of 8 Kbytes sectors.

GPDMA1

0x40020000: General purpose direct memory access controller

542/542 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x4 PRIVCFGR
0xc MISR
0x50 C0LBAR
0x5c C0FCR
0x60 C0SR
0x64 C0CR
0x90 C0TR1
0x94 C0TR2
0x98 C0BR1
0x9c C0SAR
0xa0 C0DAR
0xcc C0LLR
0xd0 C1LBAR
0xdc C1FCR
0xe0 C1SR
0xe4 C1CR
0x110 C1TR1
0x114 C1TR2
0x118 C1BR1
0x11c C1SAR
0x120 C1DAR
0x14c C1LLR
0x150 C2LBAR
0x15c C2FCR
0x160 C2SR
0x164 C2CR
0x190 C2TR1
0x194 C2TR2
0x198 C2BR1
0x19c C2SAR
0x1a0 C2DAR
0x1cc C2LLR
0x1d0 C3LBAR
0x1dc C3FCR
0x1e0 C3SR
0x1e4 C3CR
0x210 C3TR1
0x214 C3TR2
0x218 C3BR1
0x21c C3SAR
0x220 C3DAR
0x24c C3LLR
0x250 C4LBAR
0x25c C4FCR
0x260 C4SR
0x264 C4CR
0x290 C4TR1
0x294 C4TR2
0x298 C4BR1
0x29c C4SAR
0x2a0 C4DAR
0x2cc C4LLR
0x2d0 C5LBAR
0x2dc C5FCR
0x2e0 C5SR
0x2e4 C5CR
0x310 C5TR1
0x314 C5TR2
0x318 C5BR1
0x31c C5SAR
0x320 C5DAR
0x34c C5LLR
0x350 C6LBAR
0x35c C6FCR
0x360 C6SR
0x364 C6CR
0x390 C6TR1
0x394 C6TR2
0x398 C6BR1
0x39c C6SAR
0x3a0 C6DAR
0x3a4 C6TR3
0x3a8 C6BR2
0x3cc C6LLR
0x3d0 C7LBAR
0x3dc C7FCR
0x3e0 C7SR
0x3e4 C7CR
0x410 C7TR1
0x414 C7TR2
0x418 C7BR1
0x41c C7SAR
0x420 C7DAR
0x424 C7TR3
0x428 C7BR2
0x44c C7LLR
Toggle registers

PRIVCFGR

GPDMA privileged configuration register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRIV7
rw
PRIV6
rw
PRIV5
rw
PRIV4
rw
PRIV3
rw
PRIV2
rw
PRIV1
rw
PRIV0
rw
Toggle fields

PRIV0

Bit 0: privileged state of channel x.

Allowed values:
0: Unprivileged: Channel is unprivileged
1: Privileged: Channel is privileged

PRIV1

Bit 1: privileged state of channel x.

Allowed values:
0: Unprivileged: Channel is unprivileged
1: Privileged: Channel is privileged

PRIV2

Bit 2: privileged state of channel x.

Allowed values:
0: Unprivileged: Channel is unprivileged
1: Privileged: Channel is privileged

PRIV3

Bit 3: privileged state of channel x.

Allowed values:
0: Unprivileged: Channel is unprivileged
1: Privileged: Channel is privileged

PRIV4

Bit 4: privileged state of channel x.

Allowed values:
0: Unprivileged: Channel is unprivileged
1: Privileged: Channel is privileged

PRIV5

Bit 5: privileged state of channel x.

Allowed values:
0: Unprivileged: Channel is unprivileged
1: Privileged: Channel is privileged

PRIV6

Bit 6: privileged state of channel x.

Allowed values:
0: Unprivileged: Channel is unprivileged
1: Privileged: Channel is privileged

PRIV7

Bit 7: privileged state of channel x.

Allowed values:
0: Unprivileged: Channel is unprivileged
1: Privileged: Channel is privileged

MISR

GPDMA masked interrupt status register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MIS7
r
MIS6
r
MIS5
r
MIS4
r
MIS3
r
MIS2
r
MIS1
r
MIS0
r
Toggle fields

MIS0

Bit 0: masked interrupt status of channel x.

Allowed values:
0: NoTrigger: No interrupt has occurred on channel
1: Trigger: An interrupt has occurred on channel

MIS1

Bit 1: masked interrupt status of channel x.

Allowed values:
0: NoTrigger: No interrupt has occurred on channel
1: Trigger: An interrupt has occurred on channel

MIS2

Bit 2: masked interrupt status of channel x.

Allowed values:
0: NoTrigger: No interrupt has occurred on channel
1: Trigger: An interrupt has occurred on channel

MIS3

Bit 3: masked interrupt status of channel x.

Allowed values:
0: NoTrigger: No interrupt has occurred on channel
1: Trigger: An interrupt has occurred on channel

MIS4

Bit 4: masked interrupt status of channel x.

Allowed values:
0: NoTrigger: No interrupt has occurred on channel
1: Trigger: An interrupt has occurred on channel

MIS5

Bit 5: masked interrupt status of channel x.

Allowed values:
0: NoTrigger: No interrupt has occurred on channel
1: Trigger: An interrupt has occurred on channel

MIS6

Bit 6: masked interrupt status of channel x.

Allowed values:
0: NoTrigger: No interrupt has occurred on channel
1: Trigger: An interrupt has occurred on channel

MIS7

Bit 7: masked interrupt status of channel x.

Allowed values:
0: NoTrigger: No interrupt has occurred on channel
1: Trigger: An interrupt has occurred on channel

C0LBAR

GPDMA channel 0 linked-list base address register

Offset: 0x50, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LBA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

LBA

Bits 16-31: linked-list base address of GPDMA channel x.

Allowed values: 0x0-0xffff

C0FCR

GPDMA channel 0 flag clear register

Offset: 0x5c, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
w
SUSPF
w
USEF
w
ULEF
w
DTEF
w
HTF
w
TCF
w
Toggle fields

TCF

Bit 8: transfer complete flag clear.

Allowed values:
1: Clear: Clear flag

HTF

Bit 9: half transfer flag clear.

Allowed values:
1: Clear: Clear flag

DTEF

Bit 10: data transfer error flag clear.

Allowed values:
1: Clear: Clear flag

ULEF

Bit 11: update link transfer error flag clear.

Allowed values:
1: Clear: Clear flag

USEF

Bit 12: user setting error flag clear.

Allowed values:
1: Clear: Clear flag

SUSPF

Bit 13: completed suspension flag clear.

Allowed values:
1: Clear: Clear flag

TOF

Bit 14: trigger overrun flag clear.

Allowed values:
1: Clear: Clear flag

C0SR

GPDMA channel 0 status register

Offset: 0x60, size: 32, reset: 0x00000001, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
r
SUSPF
r
USEF
r
ULEF
r
DTEF
r
HTF
r
TCF
r
IDLEF
r
Toggle fields

IDLEF

Bit 0: idle flag This idle flag is deasserted by hardware when the channel is enabled (GPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state)..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TCF

Bit 8: transfer complete flag A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0])..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

HTF

Bit 9: half transfer flag A half transfer event is either a half block transfer or a half 2D/repeated block transfer, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0]). A half block transfer occurs when half of the bytes of the source block size (rounded up integer of GPDMA_CxBR1.BNDT[15:0]/2) has been transferred to the destination. A half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (GPDMA_CxBR1.BRC[10:0]+1)/2)) has been transferred to the destination..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

DTEF

Bit 10: data transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

ULEF

Bit 11: update link transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

USEF

Bit 12: user setting error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

SUSPF

Bit 13: completed suspension flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TOF

Bit 14: trigger overrun flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

FIFOL

Bits 16-23: monitored FIFO level Number of available write beats in the FIFO, in units of the programmed destination data width (see GPDMA_CxTR1.DDW_LOG2[1:0], in units of bytes, half-words, or words). Note: After having suspended an active transfer, the user may need to read FIFOL[7:0], additionally to GPDMA_CxBR1.BDNT[15:0] and GPDMA_CxBR1.BRC[10:0], to know how many data have been transferred to the destination. Before reading, the user may wait for the transfer to be suspended (GPDMA_CxSR.SUSPF = 1)..

Allowed values: 0x0-0xff

C0CR

GPDMA channel 0 control register

Offset: 0x64, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRIO
rw
LAP
rw
LSM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOIE
rw
SUSPIE
rw
USEIE
rw
ULEIE
rw
DTEIE
rw
HTIE
rw
TCIE
rw
SUSP
rw
RESET
w
EN
rw
Toggle fields

EN

Bit 0: enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is deasserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, for example if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored..

Allowed values:
0: Disabled: Channel disabled
1: Enabled: Channel enabled

RESET

Bit 1: reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (GPDMA_CxSR.SUSPF = 1 and GPDMA_CxSR.IDLEF = GPDMA_CxCR.EN = 1) - channel in disabled state (GPDMA_CxSR.IDLEF = 1 and GPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (GPDMA_CxBR1, GPDMA_CxSAR and GPDMA_CxDAR) before enabling again the channel (see the programming sequence in Figure 44)..

Allowed values:
1: Reset: Reset channel

SUSP

Bit 2: suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel (channel with an ongoing GPDMA transfer over its master ports). The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in Figure 43..

Allowed values:
0: NotSuspended: Channel operation not suspended
1: Suspended: Channel operation suspended

TCIE

Bit 8: transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HTIE

Bit 9: half transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

DTEIE

Bit 10: data transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

ULEIE

Bit 11: update link transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

USEIE

Bit 12: user setting error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

SUSPIE

Bit 13: completed suspension interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

TOIE

Bit 14: trigger overrun interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

LSM

Bit 16: Link step mode First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until GPDMA_CxBR1.BNDT[15:0] = 0 and GPDMA_CxBR1.BRC[10:0] = 0. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by GPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: FullLinkedList: Channel executed for full linked list
1: Once: Channel executed once for current linked list

LAP

Bit 17: linked-list allocated port This bit is used to allocate the master port for the update of the GPDMA linked-list registers from the memory. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

PRIO

Bits 22-23: priority level of the channel x GPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: LowPrioLowWeight: Low priority, low weight
1: LowPrioMidWeight: Low priority, mid weight
2: LowPrioHighWeight: Low priority, high weight
3: HighPrio: High priority

C0TR1

GPDMA channel 0 transfer register 1

Offset: 0x90, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAP
rw
DHX
rw
DBX
rw
DBL_1
rw
DINC
rw
DDW_LOG2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAP
rw
SBX
rw
PAM
rw
SBL_1
rw
SINC
rw
SDW_LOG2
rw
Toggle fields

SDW_LOG2

Bits 0-1: binary logarithm of the source data width of a burst in bytes Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (GPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. Note: A source burst transfer must have an aligned address with its data width (start address GPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

SINC

Bit 3: source incrementing burst The source address, pointed by GPDMA_CxSAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

SBL_1

Bits 4-9: source burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If SBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width SDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

PAM

Bits 11-12: padding/alignment mode If DDW_LOG2[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else, in the following enumerated values, the condition PAM_1 is when destination data width is higher that source data width, and the condition PAM_2 is when destination data width is higher than source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination Note: If the transfer from the source peripheral is configured with peripheral flow-control mode (SWREQ = 0 and PFREQ = 1 and DREQ = 0), and if the destination data width > the source data width, packing is not supported..

Allowed values: 0x0-0x3

PAM_1

Bits 11-12: PAM value when destination data width is higher than source data width.

Allowed values:
0: RightAlignedZeroPadded: Source data is transferred as right aligned, padded with 0s up to the destination data width
1: RightAlignedSignExtended: Source data is transferred as right aligned, sign extended up to the destination data width
2: Fifo: Source data are FIFO queued and packed at the destination data width, in little endian order, before a destination transfer

PAM_2

Bits 11-12: PAM value when source data width is higher than destination data width.

Allowed values:
0: RightAlignedLeftTruncated: Source data is transferred as right aligned, left-truncated down to the destination data width
1: LeftAlignedRightTruncated: Source data is transferred as left-aligned, right-truncated down to the destination data width
2: Fifo: Source data are FIFO queued and unpacked at the destination data width, in little endian order

SBX

Bit 13: source byte exchange within the unaligned half-word of each source word If the source data width is shorter than a word, this bit is ignored. If the source data width is a word:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

SAP

Bit 14: source allocated port This bit is used to allocate the master port for the source transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

DDW_LOG2

Bits 16-17: binary logarithm of the destination data width of a burst, in bytes Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. Note: A destination burst transfer must have an aligned address with its data width (start address GPDMA_CxDAR[2:0] and address offset GPDMA_CxTR3.DAO[2:0], versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and no transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

DINC

Bit 19: destination incrementing burst The destination address, pointed by GPDMA_CxDAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

DBL_1

Bits 20-25: destination burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If DBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width DDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

DBX

Bit 26: destination byte exchange If the destination data size is a byte, this bit is ignored. If the destination data size is not a byte:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

DHX

Bit 27: destination half-word exchange If the destination data size is shorter than a word, this bit is ignored. If the destination data size is a word:.

Allowed values:
0: NotExchanged: No halfword-based exchange within word
1: Exchanged: The two consecutive (post PAM) half-words are exchanged in each destination word

DAP

Bit 30: destination allocated port This bit is used to allocate the master port for the destination transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

C0TR2

GPDMA channel 0 transfer register 2

Offset: 0x94, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCEM
rw
TRIGPOL
rw
TRIGSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIGM
rw
PFREQ
rw
BREQ
rw
DREQ
rw
SWREQ
rw
REQSEL
rw
Toggle fields

REQSEL

Bits 0-7: GPDMA hardware request selection These bits are ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per Section 14.3.4. The user must not assign a same input hardware request (same REQSEL[7:0] value) to different active GPDMA channels (GPDMA_CxCR.EN = 1 and GPDMA_CxTR2.SWREQ = 0 for these channels). GPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting..

Allowed values:
0: ADC1_DMA: adc1_dma selected
2: DAC1_CH1_DMA: dac1_ch1_dma selected
3: DAC1_CH2_DMA: dac1_ch2_dma selected
4: TIM6_UPD_DMA: tim6_upd_dma selected
5: TIM7_UPD_DMA: tim7_upd_dma selected
6: SPI1_RX_DMA: spi1_rx_dma selected
7: SPI1_TX_DMA: spi1_tx_dma selected
8: SPI2_RX_DMA: spi2_rx_dma selected
9: SPI2_TX_DMA: spi2_tx_dma selected
10: SPI3_RX_DMA: spi3_rx_dma selected
11: SPI3_TX_DMA: spi3_tx_dma selected
12: I2C1_RX_DMA: i2c1_rx_dma selected
13: I2C1_TX_DMA: i2c1_tx_dma selected
15: I2C2_RX_DMA: i2c2_rx_dma selected
16: I2C2_TX_DMA: i2c2_tx_dma selected
18: I2C3_RX_DMA: i2c3_rx_dma selected
19: I2C3_TX_DMA: i2c3_tx_dma selected
21: USART1_RX_DMA: usart1_rx_dma selected
22: USART1_TX_DMA: usart1_tx_dma selected
23: USART2_RX_DMA: usart2_rx_dma selected
24: USART2_TX_DMA: usart2_tx_dma selected
25: USART3_RX_DMA: usart3_rx_dma selected
26: USART3_TX_DMA: usart3_tx_dma selected
27: UART4_RX_DMA: uart4_rx_dma selected
28: UART4_TX_DMA: uart4_tx_dma selected
29: UART5_RX_DMA: uart5_rx_dma selected
30: UART5_TX_DMA: uart5_tx_dma selected
31: USART6_RX_DMA: usart6_rx_dma selected
32: USART6_TX_DMA: usart6_tx_dma selected
33: UART7_RX_DMA: uart7_rx_dma selected
34: UART7_TX_DMA: uart7_tx_dma selected
35: UART8_RX_DMA: uart8_rx_dma selected
36: UART8_TX_DMA: uart8_tx_dma selected
37: UART9_RX_DMA: uart9_rx_dma selected
38: UART9_TX_DMA: uart9_tx_dma selected
39: UART10_RX_DMA: uart10_rx_dma selected
40: UART10_TX_DMA: uart10_tx_dma selected
41: UART11_RX_DMA: uart11_rx_dma selected
42: UART11_TX_DMA: uart11_tx_dma selected
43: UART12_RX_DMA: uart12_rx_dma selected
44: UART12_TX_DMA: uart12_tx_dma selected
45: LPUART1_RX_DMA: lpuart1_rx_dma selected
46: LPUART1_TX_DMA: lpuart1_tx_dma selected
47: SPI4_RX_DMA: spi4_rx_dma selected
48: SPI4_TX_DMA: spi4_tx_dma selected
49: SPI5_RX_DMA: spi5_rx_dma selected
50: SPI5_TX_DMA: spi5_tx_dma selected
51: SPI6_RX_DMA: spi6_rx_dma selected
52: SPI6_TX_DMA: spi6_tx_dma selected
53: SAI1_A_DMA: sai1_a_dma selected
54: SAI1_B_DMA: sai1_b_dma selected
55: SAI2_A_DMA: sai2_a_dma selected
56: SAI2_B_DMA: sai2_b_dma selected
57: OSPI1_DMA: ospi1_dma selected
58: TIM1_CC1_DMA: tim1_cc1_dma selected
59: TIM1_CC2_DMA: tim1_cc2_dma selected
60: TIM1_CC3_DMA: tim1_cc3_dma selected
61: TIM1_CC4_DMA: tim1_cc4_dma selected
62: TIM1_UPD_DMA: tim1_upd_dma selected
63: TIM1_TRG_DMA: tim1_trg_dma selected
64: TIM1_COM_DMA: tim1_com_dma selected
65: TIM8_CC1_DMA: tim8_cc1_dma selected
66: TIM8_CC2_DMA: tim8_cc2_dma selected
67: TIM8_CC3_DMA: tim8_cc3_dma selected
68: TIM8_CC4_DMA: tim8_cc4_dma selected
69: TIM8_UPD_DMA: tim8_upd_dma selected
70: TIM8_TIG_DMA: tim8_tig_dma selected
71: TIM8_COM_DMA: tim8_com_dma selected
72: TIM2_CC1_DMA: tim2_cc1_dma selected
73: TIM2_CC2_DMA: tim2_cc2_dma selected
74: TIM2_CC3_DMA: tim2_cc3_dma selected
75: TIM2_CC4_DMA: tim2_cc4_dma selected
76: TIM2_UPD_DMA: tim2_upd_dma selected
77: TIM3_CC1_DMA: tim3_cc1_dma selected
78: TIM3_CC2_DMA: tim3_cc2_dma selected
79: TIM3_CC3_DMA: tim3_cc3_dma selected
80: TIM3_CC4_DMA: tim3_cc4_dma selected
81: TIM3_UPD_DMA: tim3_upd_dma selected
82: TIM3_TRG_DMA: tim3_trg_dma selected
83: TIM4_CC1_DMA: tim4_cc1_dma selected
84: TIM4_CC2_DMA: tim4_cc2_dma selected
85: TIM4_CC3_DMA: tim4_cc3_dma selected
86: TIM4_CC4_DMA: tim4_cc4_dma selected
87: TIM4_UPD_DMA: tim4_upd_dma selected
88: TIM5_CC1_DMA: tim5_cc1_dma selected
89: TIM5_CC2_DMA: tim5_cc2_dma selected
90: TIM5_CC3_DMA: tim5_cc3_dma selected
91: TIM5_CC4_DMA: tim5_cc4_dma selected
92: TIM5_UPD_DMA: tim5_upd_dma selected
93: TIM5_TRG_DMA: tim5_trg_dma selected
94: TIM15_CC1_DMA: tim15_cc1_dma selected
95: TIM15_UPD_DMA: tim15_upd_dma selected
96: TIM15_TRG_DMA: tim15_trg_dma selected
97: TIM15_COM_DMA: tim15_com_dma selected
98: TIM16_CC1_DMA: tim16_cc1_dma selected
99: TIM16_UPD_DMA: tim16_upd_dma selected
100: TIM17_CC1_DMA: tim17_cc1_dma selected
101: TIM17_UPD_DMA: tim17_upd_dma selected
102: LPTIM1_IC1_DMA: lptim1_ic1_dma selected
103: LPTIM1_IC2_DMA: lptim1_ic2_dma selected
104: LPTIM1_UE_DMA: lptim1_ue_dma selected
105: LPTIM2_IC1_DMA: lptim2_ic1_dma selected
106: LPTIM2_IC2_DMA: lptim2_ic2_dma selected
107: LPTIM2_UE_DMA: lptim2_ue_dma selected
108: DCMI_PSSI_DMA: dcmi_dma or pssi_dma(1) selected
109: AES_OUT_DMA: aes_out_dma selected
110: AES_IN_DMA: aes_in_dma selected
111: HASH_IN_DMA: hash_in_dma selected
112: UCPD1_RX_DMA: ucpd1_rx_dma selected
113: UCPD1_TX_DMA: ucpd1_tx_dma selected
114: CORDIC_READ_DMA: cordic_read_dma selected
115: CORDIC_WRITE_DMA: cordic_write_dma selected
116: FMAC_READ_DMA: fmac_read_dma selected
117: FMAC_WRITE_DMA: fmac_write_dma selected
118: SAES_OUT_DMA: saes_out_dma selected
119: SAES_IN_DMA: saes_in_dma selected
120: I3C1_RX_DMA: i3c1_rx_dma selected
121: I3C1_TX_DMA: i3c1_tx_dma selected
122: I3C1_TC_DMA: i3c1_tc_dma selected
123: I3C1_RS_DMA: i3c1_rs_dma selected
124: I2C4_RX_DMA: i2c4_rx_dma selected
125: I2C4_TX_DMA: i2c4_tx_dma selected
127: LPTIM3_IC1_DMA: lptim3_ic1_dma selected
128: LPTIM3_IC2_DMA: lptim3_ic2_dma selected
129: LPTIM3_UE_DMA: lptim3_ue_dma selected
130: LPTIM5_IC1_DMA: lptim5_ic1_dma selected
131: LPTIM5_IC2_DMA: lptim5_ic2_dma selected
132: LPTIM5_UE_DMA: lptim5_ue_dma selected
133: LPTIM6_IC1_DMA: lptim6_ic1_dma selected
134: LPTIM6_IC2_DMA: lptim6_ic2_dma selected
135: LPTIM6_UE_DMA: lptim6_ue_dma selected
136: I3C2_RX: i3c2_rx selected
137: I3C2_TX: i3c2_tx selected
138: I3C2_TC: i3c2_tc selected
139: I3C2_RS: i3c2_rs selected

SWREQ

Bit 9: software request This bit is internally taken into account when GPDMA_CxCR.EN is asserted..

Allowed values:
0: Hardware: No software request. The selected hardware request REQSEL[7:0] is taken into account
1: Software: Software request for memory-to-memory transfer

DREQ

Bit 10: destination hardware request This bit is ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: If the channel x is activated (GPDMA_CxCR.EN is asserted) with SWREQ = 0 and PFREQ = 1 (peripheral hardware request with peripheral flow-control mode), any software assertion to this DREQ bit is ignored: in peripheral flow-control mode, only a peripheral-to-memory transfer is supported..

Allowed values:
0: Source: Selected hardware request driven by a source peripheral
1: Destination: Selected hardware request driven by a destination peripheral

BREQ

Bit 11: Block hardware request If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:.

Allowed values:
0: Burst: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level
1: Block: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level

PFREQ

Bit 12: Hardware request in peripheral flow control mode Important: If a given channel x is not implemented with this feature, this bit is reserved and PFREQ is not present (see Section 14.3.2 for the list of the implemented channels with this feature. If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: Note: In peripheral flow control mode, there are the following restrictions: Note: - no 2D/repeated block support (GPDMA_CxBR1.BRC[10:0] must be set to 0) Note: - the peripheral must be set as the source of the transfer (DREQ = 0). Note: - data packing to a wider destination width is not supported (if destination width > source data width, GPDMA_CxTR1.PAM[1] must be set to 0). Note: - GPDMA_CxBR1.BNDT[15:0] must be programmed as a multiple of the source (peripheral) burst size..

Allowed values:
0: GpdmaControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in GPDMA control mode
1: PeripheralControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in peripheral control mode.

TRIGM

Bits 14-15: trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (GPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a GPDMA transfer is conditioned by at least one trigger hit: – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The GPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLI<sub>n+1</sub> that updates the GPDMA_CxTR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLI<sub>n </sub>trigger. After a first new trigger hit<sub>n+1</sub> is memorized, if another second trigger hit<sub>n+2</sub> is detected and if the hit<sub>n</sub> triggered transfer is still not completed, hit<sub>n+2 </sub>is lost and not memorized.memorized. A trigger overrun flag is reported (GPDMA_CxSR.TOF =1 ), and an interrupt is generated if enabled (GPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. Note: When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger..

Allowed values:
0: BlockLevel: At block level: the first burst read of each block transfer is conditioned by one hit trigger
2: LinkLevel: At link level: a LLI link transfer is conditioned by one hit trigger
3: ProgrammedBurstLevel: At programmed burst level: programmed burst read is conditioned by one hit trigger.

TRIGSEL

Bits 16-21: trigger event input selection These bits select the trigger event input of the GPDMA transfer (as per Section 14.3.7), with an active trigger event if TRIGPOL[1:0] ≠ 00..

Allowed values:
0: EXTI0: exti0 is trigger input
1: EXTI1: exti1 is trigger input
2: EXTI2: exti2 is trigger input
3: EXTI3: exti3 is trigger input
4: EXTI4: exti4 is trigger input
5: EXTI5: exti5 is trigger input
6: EXTI6: exti6 is trigger input
7: EXTI7: exti7 is trigger input
8: TAMP_TRG1: tamp_trg1 is trigger input
9: TAMP_TRG2: tamp_trg2 is trigger input
11: LPTIM1_CH1: lptim1_ch1 is trigger input
12: LPTIM1_CH2: lptim1_ch2 is trigger input
13: LPTIM2_CH1: lptim2_ch1 is trigger input
14: LPTIM2_CH2: lptim2_ch2 is trigger input
15: RTC_ALRA_TRG: rtc_alra_trg is trigger input
16: RTC_ALRB_TRG: rtc_alrb_trg is trigger input
17: RTC_WUT_TRG: rtc_wut_trg is trigger input
18: GPDMA1_CH0_TC: gpdma1_ch0_tc is trigger input
19: GPDMA1_CH1_TC: gpdma1_ch1_tc is trigger input
20: GPDMA1_CH2_TC: gpdma1_ch2_tc is trigger input
21: GPDMA1_CH3_TC: gpdma1_ch3_tc is trigger input
22: GPDMA1_CH4_TC: gpdma1_ch4_tc is trigger input
23: GPDMA1_CH5_TC: gpdma1_ch5_tc is trigger input
24: GPDMA1_CH6_TC: gpdma1_ch6_tc is trigger input
25: GPDMA1_CH7_TC: gpdma1_ch7_tc is trigger input
26: GPDMA2_CH0_TC: gpdma2_ch0_tc is trigger input
27: GPDMA2_CH1_TC: gpdma2_ch1_tc is trigger input
28: GPDMA2_CH2_TC: gpdma2_ch2_tc is trigger input
29: GPDMA2_CH3_TC: gpdma2_ch3_tc is trigger input
30: GPDMA2_CH4_TC: gpdma2_ch4_tc is trigger input
31: GPDMA2_CH5_TC: gpdma2_ch5_tc is trigger input
32: GPDMA2_CH6_TC: gpdma2_ch6_tc is trigger input
33: GPDMA2_CH7_TC: gpdma2_ch7_tc is trigger input
34: TIM2_TRG0: tim2_trgo is trigger input
44: COMP1_OUT: comp1_out is trigger input

TRIGPOL

Bits 24-25: trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]..

Allowed values:
0: NoTrigger: No trigger
1: RisingEdge: Trigger on rising edge
2: FallingEdge: Trigger on falling edge

TCEM

Bits 30-31: transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (i.e. directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI<sub>1</sub>..

Allowed values:
0: BlockLevel: At block level: the complete (and the half) transfer event is generated at the (respectively half of the) end of a block
2: LliLevel: At LLI level: the complete transfer event is generated at the end of the LLI transfer. The half transfer event is generated at the half of the LLI data transfer
3: ChannelLevel: At channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI

C0BR1

GPDMA channel 0 block register 1

Offset: 0x98, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BNDT
rw
Toggle fields

BNDT

Bits 0-15: block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if GPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if GPDMA_CxLLR.UB1 = 0 and if there is at least one non null Uxx update bit, this field is internally restored to the programmed value. - if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] = 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: When configured in packing mode (GPDMA_CxTR1.PAM[1] = 1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffff

C0SAR

GPDMA channel 0 source address register

Offset: 0x9c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SA
rw
Toggle fields

SA

Bits 0-31: source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (GPDMA_CxTR1.SINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.SDW_LOG2[1:0]) after each burst source data, reflecting the next address from which data is read. During the channel activity, this address is updated after each completed source burst, consequently to: the programmed source burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.SINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.SBL_1[5:0] and GPDMA_CxTR1.SDW_LOG2[21:0] the additional source incremented/decremented offset value as programmed by GPDMA_CxBR1.SDEC and GPDMA_CxTR3.SAO[12:0]. once/if completed source block transfer, for a channel x with 2D addressing capability (x = 12 to 15). additional block repeat source incremented/decremented offset value as programmed by GPDMA_CxBR1.BRSDEC and GPDMA_CxBR2.BRSAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source burst (SA[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xffffffff

C0DAR

GPDMA channel 0 destination address register

Offset: 0xa0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 0-31: destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (GPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.DDW_LOG2[21:0]) after each burst destination data, reflecting the next address from which data is written. During the channel activity, this address is updated after each completed destination burst, consequently to: the programmed destination burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.DINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.DBL_1[5:0] and GPDMA_CxTR1.DDW_LOG2[1:0] the additional destination incremented/decremented offset value as programmed by GPDMA_CxBR1.DDEC and GPDMA_CxTR3.DAO[12:0]. once/if completed destination block transfer, for a channel x with 2D addressing capability (x = 12 to 15), the additional block repeat destination incremented/decremented offset value as programmed by GPDMA_CxBR1.BRDDEC and GPDMA_CxBR2.BRDAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by the GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination burst (DA[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffffffff

C0LLR

GPDMA channel 0 linked-list address register

Offset: 0xcc, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UT1
rw
UT2
rw
UB1
rw
USA
rw
UDA
rw
ULL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LA
rw
Toggle fields

LA

Bits 2-15: pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list GPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list GPDMA internal register file (GPDMA_CxCTR1, GPDMA_CxTR2, GPDMA_CxBR1, GPDMA_CxSAR, GPDMA_CxDAR and GPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored..

Allowed values: 0x0-0x3fff

ULL

Bit 16: Update GPDMA_CxLLR register from memory This bit is used to control the update of GPDMA_CxLLR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxLLR update
1: Update: CxLLR updated from memory during link transfer

UDA

Bit 27: Update GPDMA_CxDAR register from memory This bit is used to control the update of GPDMA_CxDAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxDAR update
1: Update: CxDAR updated from memory during link transfer

USA

Bit 28: update GPDMA_CxSAR from memory This bit controls the update of GPDMA_CxSAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxSAR update
1: Update: CxSAR updated from memory during link transfer

UB1

Bit 29: Update GPDMA_CxBR1 from memory This bit controls the update of GPDMA_CxBR1 from the memory during the link transfer. If UB1 = 0 and if GPDMA_CxLLR ≠ 0, the linked-list is not completed. GPDMA_CxBR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer..

Allowed values:
0: NoUpdate: No CxBR1 update
1: Update: CxBR1 updated from memory during link transfer

UT2

Bit 30: Update GPDMA_CxTR2 from memory This bit controls the update of GPDMA_CxTR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR2 update
1: Update: CxTR2 updated from memory during link transfer

UT1

Bit 31: Update GPDMA_CxTR1 from memory This bit controls the update of GPDMA_CxTR1 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR1 update
1: Update: CxTR1 updated from memory during link transfer

C1LBAR

GPDMA channel 1 linked-list base address register

Offset: 0xd0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LBA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

LBA

Bits 16-31: linked-list base address of GPDMA channel x.

Allowed values: 0x0-0xffff

C1FCR

GPDMA channel 1 flag clear register

Offset: 0xdc, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
w
SUSPF
w
USEF
w
ULEF
w
DTEF
w
HTF
w
TCF
w
Toggle fields

TCF

Bit 8: transfer complete flag clear.

Allowed values:
1: Clear: Clear flag

HTF

Bit 9: half transfer flag clear.

Allowed values:
1: Clear: Clear flag

DTEF

Bit 10: data transfer error flag clear.

Allowed values:
1: Clear: Clear flag

ULEF

Bit 11: update link transfer error flag clear.

Allowed values:
1: Clear: Clear flag

USEF

Bit 12: user setting error flag clear.

Allowed values:
1: Clear: Clear flag

SUSPF

Bit 13: completed suspension flag clear.

Allowed values:
1: Clear: Clear flag

TOF

Bit 14: trigger overrun flag clear.

Allowed values:
1: Clear: Clear flag

C1SR

GPDMA channel 1 status register

Offset: 0xe0, size: 32, reset: 0x00000001, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
r
SUSPF
r
USEF
r
ULEF
r
DTEF
r
HTF
r
TCF
r
IDLEF
r
Toggle fields

IDLEF

Bit 0: idle flag This idle flag is deasserted by hardware when the channel is enabled (GPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state)..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TCF

Bit 8: transfer complete flag A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0])..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

HTF

Bit 9: half transfer flag A half transfer event is either a half block transfer or a half 2D/repeated block transfer, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0]). A half block transfer occurs when half of the bytes of the source block size (rounded up integer of GPDMA_CxBR1.BNDT[15:0]/2) has been transferred to the destination. A half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (GPDMA_CxBR1.BRC[10:0]+1)/2)) has been transferred to the destination..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

DTEF

Bit 10: data transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

ULEF

Bit 11: update link transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

USEF

Bit 12: user setting error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

SUSPF

Bit 13: completed suspension flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TOF

Bit 14: trigger overrun flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

FIFOL

Bits 16-23: monitored FIFO level Number of available write beats in the FIFO, in units of the programmed destination data width (see GPDMA_CxTR1.DDW_LOG2[1:0], in units of bytes, half-words, or words). Note: After having suspended an active transfer, the user may need to read FIFOL[7:0], additionally to GPDMA_CxBR1.BDNT[15:0] and GPDMA_CxBR1.BRC[10:0], to know how many data have been transferred to the destination. Before reading, the user may wait for the transfer to be suspended (GPDMA_CxSR.SUSPF = 1)..

Allowed values: 0x0-0xff

C1CR

GPDMA channel 1 control register

Offset: 0xe4, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRIO
rw
LAP
rw
LSM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOIE
rw
SUSPIE
rw
USEIE
rw
ULEIE
rw
DTEIE
rw
HTIE
rw
TCIE
rw
SUSP
rw
RESET
w
EN
rw
Toggle fields

EN

Bit 0: enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is deasserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, for example if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored..

Allowed values:
0: Disabled: Channel disabled
1: Enabled: Channel enabled

RESET

Bit 1: reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (GPDMA_CxSR.SUSPF = 1 and GPDMA_CxSR.IDLEF = GPDMA_CxCR.EN = 1) - channel in disabled state (GPDMA_CxSR.IDLEF = 1 and GPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (GPDMA_CxBR1, GPDMA_CxSAR and GPDMA_CxDAR) before enabling again the channel (see the programming sequence in Figure 44)..

Allowed values:
1: Reset: Reset channel

SUSP

Bit 2: suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel (channel with an ongoing GPDMA transfer over its master ports). The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in Figure 43..

Allowed values:
0: NotSuspended: Channel operation not suspended
1: Suspended: Channel operation suspended

TCIE

Bit 8: transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HTIE

Bit 9: half transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

DTEIE

Bit 10: data transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

ULEIE

Bit 11: update link transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

USEIE

Bit 12: user setting error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

SUSPIE

Bit 13: completed suspension interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

TOIE

Bit 14: trigger overrun interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

LSM

Bit 16: Link step mode First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until GPDMA_CxBR1.BNDT[15:0] = 0 and GPDMA_CxBR1.BRC[10:0] = 0. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by GPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: FullLinkedList: Channel executed for full linked list
1: Once: Channel executed once for current linked list

LAP

Bit 17: linked-list allocated port This bit is used to allocate the master port for the update of the GPDMA linked-list registers from the memory. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

PRIO

Bits 22-23: priority level of the channel x GPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: LowPrioLowWeight: Low priority, low weight
1: LowPrioMidWeight: Low priority, mid weight
2: LowPrioHighWeight: Low priority, high weight
3: HighPrio: High priority

C1TR1

GPDMA channel 1 transfer register 1

Offset: 0x110, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAP
rw
DHX
rw
DBX
rw
DBL_1
rw
DINC
rw
DDW_LOG2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAP
rw
SBX
rw
PAM
rw
SBL_1
rw
SINC
rw
SDW_LOG2
rw
Toggle fields

SDW_LOG2

Bits 0-1: binary logarithm of the source data width of a burst in bytes Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (GPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. Note: A source burst transfer must have an aligned address with its data width (start address GPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

SINC

Bit 3: source incrementing burst The source address, pointed by GPDMA_CxSAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

SBL_1

Bits 4-9: source burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If SBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width SDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

PAM

Bits 11-12: padding/alignment mode If DDW_LOG2[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else, in the following enumerated values, the condition PAM_1 is when destination data width is higher that source data width, and the condition PAM_2 is when destination data width is higher than source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination Note: If the transfer from the source peripheral is configured with peripheral flow-control mode (SWREQ = 0 and PFREQ = 1 and DREQ = 0), and if the destination data width > the source data width, packing is not supported..

Allowed values: 0x0-0x3

PAM_1

Bits 11-12: PAM value when destination data width is higher than source data width.

Allowed values:
0: RightAlignedZeroPadded: Source data is transferred as right aligned, padded with 0s up to the destination data width
1: RightAlignedSignExtended: Source data is transferred as right aligned, sign extended up to the destination data width
2: Fifo: Source data are FIFO queued and packed at the destination data width, in little endian order, before a destination transfer

PAM_2

Bits 11-12: PAM value when source data width is higher than destination data width.

Allowed values:
0: RightAlignedLeftTruncated: Source data is transferred as right aligned, left-truncated down to the destination data width
1: LeftAlignedRightTruncated: Source data is transferred as left-aligned, right-truncated down to the destination data width
2: Fifo: Source data are FIFO queued and unpacked at the destination data width, in little endian order

SBX

Bit 13: source byte exchange within the unaligned half-word of each source word If the source data width is shorter than a word, this bit is ignored. If the source data width is a word:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

SAP

Bit 14: source allocated port This bit is used to allocate the master port for the source transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

DDW_LOG2

Bits 16-17: binary logarithm of the destination data width of a burst, in bytes Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. Note: A destination burst transfer must have an aligned address with its data width (start address GPDMA_CxDAR[2:0] and address offset GPDMA_CxTR3.DAO[2:0], versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and no transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

DINC

Bit 19: destination incrementing burst The destination address, pointed by GPDMA_CxDAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

DBL_1

Bits 20-25: destination burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If DBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width DDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

DBX

Bit 26: destination byte exchange If the destination data size is a byte, this bit is ignored. If the destination data size is not a byte:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

DHX

Bit 27: destination half-word exchange If the destination data size is shorter than a word, this bit is ignored. If the destination data size is a word:.

Allowed values:
0: NotExchanged: No halfword-based exchange within word
1: Exchanged: The two consecutive (post PAM) half-words are exchanged in each destination word

DAP

Bit 30: destination allocated port This bit is used to allocate the master port for the destination transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

C1TR2

GPDMA channel 1 transfer register 2

Offset: 0x114, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCEM
rw
TRIGPOL
rw
TRIGSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIGM
rw
PFREQ
rw
BREQ
rw
DREQ
rw
SWREQ
rw
REQSEL
rw
Toggle fields

REQSEL

Bits 0-7: GPDMA hardware request selection These bits are ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per Section 14.3.4. The user must not assign a same input hardware request (same REQSEL[7:0] value) to different active GPDMA channels (GPDMA_CxCR.EN = 1 and GPDMA_CxTR2.SWREQ = 0 for these channels). GPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting..

Allowed values:
0: ADC1_DMA: adc1_dma selected
2: DAC1_CH1_DMA: dac1_ch1_dma selected
3: DAC1_CH2_DMA: dac1_ch2_dma selected
4: TIM6_UPD_DMA: tim6_upd_dma selected
5: TIM7_UPD_DMA: tim7_upd_dma selected
6: SPI1_RX_DMA: spi1_rx_dma selected
7: SPI1_TX_DMA: spi1_tx_dma selected
8: SPI2_RX_DMA: spi2_rx_dma selected
9: SPI2_TX_DMA: spi2_tx_dma selected
10: SPI3_RX_DMA: spi3_rx_dma selected
11: SPI3_TX_DMA: spi3_tx_dma selected
12: I2C1_RX_DMA: i2c1_rx_dma selected
13: I2C1_TX_DMA: i2c1_tx_dma selected
15: I2C2_RX_DMA: i2c2_rx_dma selected
16: I2C2_TX_DMA: i2c2_tx_dma selected
18: I2C3_RX_DMA: i2c3_rx_dma selected
19: I2C3_TX_DMA: i2c3_tx_dma selected
21: USART1_RX_DMA: usart1_rx_dma selected
22: USART1_TX_DMA: usart1_tx_dma selected
23: USART2_RX_DMA: usart2_rx_dma selected
24: USART2_TX_DMA: usart2_tx_dma selected
25: USART3_RX_DMA: usart3_rx_dma selected
26: USART3_TX_DMA: usart3_tx_dma selected
27: UART4_RX_DMA: uart4_rx_dma selected
28: UART4_TX_DMA: uart4_tx_dma selected
29: UART5_RX_DMA: uart5_rx_dma selected
30: UART5_TX_DMA: uart5_tx_dma selected
31: USART6_RX_DMA: usart6_rx_dma selected
32: USART6_TX_DMA: usart6_tx_dma selected
33: UART7_RX_DMA: uart7_rx_dma selected
34: UART7_TX_DMA: uart7_tx_dma selected
35: UART8_RX_DMA: uart8_rx_dma selected
36: UART8_TX_DMA: uart8_tx_dma selected
37: UART9_RX_DMA: uart9_rx_dma selected
38: UART9_TX_DMA: uart9_tx_dma selected
39: UART10_RX_DMA: uart10_rx_dma selected
40: UART10_TX_DMA: uart10_tx_dma selected
41: UART11_RX_DMA: uart11_rx_dma selected
42: UART11_TX_DMA: uart11_tx_dma selected
43: UART12_RX_DMA: uart12_rx_dma selected
44: UART12_TX_DMA: uart12_tx_dma selected
45: LPUART1_RX_DMA: lpuart1_rx_dma selected
46: LPUART1_TX_DMA: lpuart1_tx_dma selected
47: SPI4_RX_DMA: spi4_rx_dma selected
48: SPI4_TX_DMA: spi4_tx_dma selected
49: SPI5_RX_DMA: spi5_rx_dma selected
50: SPI5_TX_DMA: spi5_tx_dma selected
51: SPI6_RX_DMA: spi6_rx_dma selected
52: SPI6_TX_DMA: spi6_tx_dma selected
53: SAI1_A_DMA: sai1_a_dma selected
54: SAI1_B_DMA: sai1_b_dma selected
55: SAI2_A_DMA: sai2_a_dma selected
56: SAI2_B_DMA: sai2_b_dma selected
57: OSPI1_DMA: ospi1_dma selected
58: TIM1_CC1_DMA: tim1_cc1_dma selected
59: TIM1_CC2_DMA: tim1_cc2_dma selected
60: TIM1_CC3_DMA: tim1_cc3_dma selected
61: TIM1_CC4_DMA: tim1_cc4_dma selected
62: TIM1_UPD_DMA: tim1_upd_dma selected
63: TIM1_TRG_DMA: tim1_trg_dma selected
64: TIM1_COM_DMA: tim1_com_dma selected
65: TIM8_CC1_DMA: tim8_cc1_dma selected
66: TIM8_CC2_DMA: tim8_cc2_dma selected
67: TIM8_CC3_DMA: tim8_cc3_dma selected
68: TIM8_CC4_DMA: tim8_cc4_dma selected
69: TIM8_UPD_DMA: tim8_upd_dma selected
70: TIM8_TIG_DMA: tim8_tig_dma selected
71: TIM8_COM_DMA: tim8_com_dma selected
72: TIM2_CC1_DMA: tim2_cc1_dma selected
73: TIM2_CC2_DMA: tim2_cc2_dma selected
74: TIM2_CC3_DMA: tim2_cc3_dma selected
75: TIM2_CC4_DMA: tim2_cc4_dma selected
76: TIM2_UPD_DMA: tim2_upd_dma selected
77: TIM3_CC1_DMA: tim3_cc1_dma selected
78: TIM3_CC2_DMA: tim3_cc2_dma selected
79: TIM3_CC3_DMA: tim3_cc3_dma selected
80: TIM3_CC4_DMA: tim3_cc4_dma selected
81: TIM3_UPD_DMA: tim3_upd_dma selected
82: TIM3_TRG_DMA: tim3_trg_dma selected
83: TIM4_CC1_DMA: tim4_cc1_dma selected
84: TIM4_CC2_DMA: tim4_cc2_dma selected
85: TIM4_CC3_DMA: tim4_cc3_dma selected
86: TIM4_CC4_DMA: tim4_cc4_dma selected
87: TIM4_UPD_DMA: tim4_upd_dma selected
88: TIM5_CC1_DMA: tim5_cc1_dma selected
89: TIM5_CC2_DMA: tim5_cc2_dma selected
90: TIM5_CC3_DMA: tim5_cc3_dma selected
91: TIM5_CC4_DMA: tim5_cc4_dma selected
92: TIM5_UPD_DMA: tim5_upd_dma selected
93: TIM5_TRG_DMA: tim5_trg_dma selected
94: TIM15_CC1_DMA: tim15_cc1_dma selected
95: TIM15_UPD_DMA: tim15_upd_dma selected
96: TIM15_TRG_DMA: tim15_trg_dma selected
97: TIM15_COM_DMA: tim15_com_dma selected
98: TIM16_CC1_DMA: tim16_cc1_dma selected
99: TIM16_UPD_DMA: tim16_upd_dma selected
100: TIM17_CC1_DMA: tim17_cc1_dma selected
101: TIM17_UPD_DMA: tim17_upd_dma selected
102: LPTIM1_IC1_DMA: lptim1_ic1_dma selected
103: LPTIM1_IC2_DMA: lptim1_ic2_dma selected
104: LPTIM1_UE_DMA: lptim1_ue_dma selected
105: LPTIM2_IC1_DMA: lptim2_ic1_dma selected
106: LPTIM2_IC2_DMA: lptim2_ic2_dma selected
107: LPTIM2_UE_DMA: lptim2_ue_dma selected
108: DCMI_PSSI_DMA: dcmi_dma or pssi_dma(1) selected
109: AES_OUT_DMA: aes_out_dma selected
110: AES_IN_DMA: aes_in_dma selected
111: HASH_IN_DMA: hash_in_dma selected
112: UCPD1_RX_DMA: ucpd1_rx_dma selected
113: UCPD1_TX_DMA: ucpd1_tx_dma selected
114: CORDIC_READ_DMA: cordic_read_dma selected
115: CORDIC_WRITE_DMA: cordic_write_dma selected
116: FMAC_READ_DMA: fmac_read_dma selected
117: FMAC_WRITE_DMA: fmac_write_dma selected
118: SAES_OUT_DMA: saes_out_dma selected
119: SAES_IN_DMA: saes_in_dma selected
120: I3C1_RX_DMA: i3c1_rx_dma selected
121: I3C1_TX_DMA: i3c1_tx_dma selected
122: I3C1_TC_DMA: i3c1_tc_dma selected
123: I3C1_RS_DMA: i3c1_rs_dma selected
124: I2C4_RX_DMA: i2c4_rx_dma selected
125: I2C4_TX_DMA: i2c4_tx_dma selected
127: LPTIM3_IC1_DMA: lptim3_ic1_dma selected
128: LPTIM3_IC2_DMA: lptim3_ic2_dma selected
129: LPTIM3_UE_DMA: lptim3_ue_dma selected
130: LPTIM5_IC1_DMA: lptim5_ic1_dma selected
131: LPTIM5_IC2_DMA: lptim5_ic2_dma selected
132: LPTIM5_UE_DMA: lptim5_ue_dma selected
133: LPTIM6_IC1_DMA: lptim6_ic1_dma selected
134: LPTIM6_IC2_DMA: lptim6_ic2_dma selected
135: LPTIM6_UE_DMA: lptim6_ue_dma selected
136: I3C2_RX: i3c2_rx selected
137: I3C2_TX: i3c2_tx selected
138: I3C2_TC: i3c2_tc selected
139: I3C2_RS: i3c2_rs selected

SWREQ

Bit 9: software request This bit is internally taken into account when GPDMA_CxCR.EN is asserted..

Allowed values:
0: Hardware: No software request. The selected hardware request REQSEL[7:0] is taken into account
1: Software: Software request for memory-to-memory transfer

DREQ

Bit 10: destination hardware request This bit is ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: If the channel x is activated (GPDMA_CxCR.EN is asserted) with SWREQ = 0 and PFREQ = 1 (peripheral hardware request with peripheral flow-control mode), any software assertion to this DREQ bit is ignored: in peripheral flow-control mode, only a peripheral-to-memory transfer is supported..

Allowed values:
0: Source: Selected hardware request driven by a source peripheral
1: Destination: Selected hardware request driven by a destination peripheral

BREQ

Bit 11: Block hardware request If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:.

Allowed values:
0: Burst: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level
1: Block: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level

PFREQ

Bit 12: Hardware request in peripheral flow control mode Important: If a given channel x is not implemented with this feature, this bit is reserved and PFREQ is not present (see Section 14.3.2 for the list of the implemented channels with this feature. If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: Note: In peripheral flow control mode, there are the following restrictions: Note: - no 2D/repeated block support (GPDMA_CxBR1.BRC[10:0] must be set to 0) Note: - the peripheral must be set as the source of the transfer (DREQ = 0). Note: - data packing to a wider destination width is not supported (if destination width > source data width, GPDMA_CxTR1.PAM[1] must be set to 0). Note: - GPDMA_CxBR1.BNDT[15:0] must be programmed as a multiple of the source (peripheral) burst size..

Allowed values:
0: GpdmaControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in GPDMA control mode
1: PeripheralControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in peripheral control mode.

TRIGM

Bits 14-15: trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (GPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a GPDMA transfer is conditioned by at least one trigger hit: – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The GPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLI<sub>n+1</sub> that updates the GPDMA_CxTR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLI<sub>n </sub>trigger. After a first new trigger hit<sub>n+1</sub> is memorized, if another second trigger hit<sub>n+2</sub> is detected and if the hit<sub>n</sub> triggered transfer is still not completed, hit<sub>n+2 </sub>is lost and not memorized.memorized. A trigger overrun flag is reported (GPDMA_CxSR.TOF =1 ), and an interrupt is generated if enabled (GPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. Note: When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger..

Allowed values:
0: BlockLevel: At block level: the first burst read of each block transfer is conditioned by one hit trigger
2: LinkLevel: At link level: a LLI link transfer is conditioned by one hit trigger
3: ProgrammedBurstLevel: At programmed burst level: programmed burst read is conditioned by one hit trigger.

TRIGSEL

Bits 16-21: trigger event input selection These bits select the trigger event input of the GPDMA transfer (as per Section 14.3.7), with an active trigger event if TRIGPOL[1:0] ≠ 00..

Allowed values:
0: EXTI0: exti0 is trigger input
1: EXTI1: exti1 is trigger input
2: EXTI2: exti2 is trigger input
3: EXTI3: exti3 is trigger input
4: EXTI4: exti4 is trigger input
5: EXTI5: exti5 is trigger input
6: EXTI6: exti6 is trigger input
7: EXTI7: exti7 is trigger input
8: TAMP_TRG1: tamp_trg1 is trigger input
9: TAMP_TRG2: tamp_trg2 is trigger input
11: LPTIM1_CH1: lptim1_ch1 is trigger input
12: LPTIM1_CH2: lptim1_ch2 is trigger input
13: LPTIM2_CH1: lptim2_ch1 is trigger input
14: LPTIM2_CH2: lptim2_ch2 is trigger input
15: RTC_ALRA_TRG: rtc_alra_trg is trigger input
16: RTC_ALRB_TRG: rtc_alrb_trg is trigger input
17: RTC_WUT_TRG: rtc_wut_trg is trigger input
18: GPDMA1_CH0_TC: gpdma1_ch0_tc is trigger input
19: GPDMA1_CH1_TC: gpdma1_ch1_tc is trigger input
20: GPDMA1_CH2_TC: gpdma1_ch2_tc is trigger input
21: GPDMA1_CH3_TC: gpdma1_ch3_tc is trigger input
22: GPDMA1_CH4_TC: gpdma1_ch4_tc is trigger input
23: GPDMA1_CH5_TC: gpdma1_ch5_tc is trigger input
24: GPDMA1_CH6_TC: gpdma1_ch6_tc is trigger input
25: GPDMA1_CH7_TC: gpdma1_ch7_tc is trigger input
26: GPDMA2_CH0_TC: gpdma2_ch0_tc is trigger input
27: GPDMA2_CH1_TC: gpdma2_ch1_tc is trigger input
28: GPDMA2_CH2_TC: gpdma2_ch2_tc is trigger input
29: GPDMA2_CH3_TC: gpdma2_ch3_tc is trigger input
30: GPDMA2_CH4_TC: gpdma2_ch4_tc is trigger input
31: GPDMA2_CH5_TC: gpdma2_ch5_tc is trigger input
32: GPDMA2_CH6_TC: gpdma2_ch6_tc is trigger input
33: GPDMA2_CH7_TC: gpdma2_ch7_tc is trigger input
34: TIM2_TRG0: tim2_trgo is trigger input
44: COMP1_OUT: comp1_out is trigger input

TRIGPOL

Bits 24-25: trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]..

Allowed values:
0: NoTrigger: No trigger
1: RisingEdge: Trigger on rising edge
2: FallingEdge: Trigger on falling edge

TCEM

Bits 30-31: transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (i.e. directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI<sub>1</sub>..

Allowed values:
0: BlockLevel: At block level: the complete (and the half) transfer event is generated at the (respectively half of the) end of a block
2: LliLevel: At LLI level: the complete transfer event is generated at the end of the LLI transfer. The half transfer event is generated at the half of the LLI data transfer
3: ChannelLevel: At channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI

C1BR1

GPDMA channel 1 block register 1

Offset: 0x118, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BNDT
rw
Toggle fields

BNDT

Bits 0-15: block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if GPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if GPDMA_CxLLR.UB1 = 0 and if there is at least one non null Uxx update bit, this field is internally restored to the programmed value. - if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] = 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: When configured in packing mode (GPDMA_CxTR1.PAM[1] = 1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffff

C1SAR

GPDMA channel 1 source address register

Offset: 0x11c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SA
rw
Toggle fields

SA

Bits 0-31: source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (GPDMA_CxTR1.SINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.SDW_LOG2[1:0]) after each burst source data, reflecting the next address from which data is read. During the channel activity, this address is updated after each completed source burst, consequently to: the programmed source burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.SINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.SBL_1[5:0] and GPDMA_CxTR1.SDW_LOG2[21:0] the additional source incremented/decremented offset value as programmed by GPDMA_CxBR1.SDEC and GPDMA_CxTR3.SAO[12:0]. once/if completed source block transfer, for a channel x with 2D addressing capability (x = 12 to 15). additional block repeat source incremented/decremented offset value as programmed by GPDMA_CxBR1.BRSDEC and GPDMA_CxBR2.BRSAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source burst (SA[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xffffffff

C1DAR

GPDMA channel 1 destination address register

Offset: 0x120, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 0-31: destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (GPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.DDW_LOG2[21:0]) after each burst destination data, reflecting the next address from which data is written. During the channel activity, this address is updated after each completed destination burst, consequently to: the programmed destination burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.DINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.DBL_1[5:0] and GPDMA_CxTR1.DDW_LOG2[1:0] the additional destination incremented/decremented offset value as programmed by GPDMA_CxBR1.DDEC and GPDMA_CxTR3.DAO[12:0]. once/if completed destination block transfer, for a channel x with 2D addressing capability (x = 12 to 15), the additional block repeat destination incremented/decremented offset value as programmed by GPDMA_CxBR1.BRDDEC and GPDMA_CxBR2.BRDAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by the GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination burst (DA[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffffffff

C1LLR

GPDMA channel 1 linked-list address register

Offset: 0x14c, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UT1
rw
UT2
rw
UB1
rw
USA
rw
UDA
rw
ULL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LA
rw
Toggle fields

LA

Bits 2-15: pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list GPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list GPDMA internal register file (GPDMA_CxCTR1, GPDMA_CxTR2, GPDMA_CxBR1, GPDMA_CxSAR, GPDMA_CxDAR and GPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored..

Allowed values: 0x0-0x3fff

ULL

Bit 16: Update GPDMA_CxLLR register from memory This bit is used to control the update of GPDMA_CxLLR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxLLR update
1: Update: CxLLR updated from memory during link transfer

UDA

Bit 27: Update GPDMA_CxDAR register from memory This bit is used to control the update of GPDMA_CxDAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxDAR update
1: Update: CxDAR updated from memory during link transfer

USA

Bit 28: update GPDMA_CxSAR from memory This bit controls the update of GPDMA_CxSAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxSAR update
1: Update: CxSAR updated from memory during link transfer

UB1

Bit 29: Update GPDMA_CxBR1 from memory This bit controls the update of GPDMA_CxBR1 from the memory during the link transfer. If UB1 = 0 and if GPDMA_CxLLR ≠ 0, the linked-list is not completed. GPDMA_CxBR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer..

Allowed values:
0: NoUpdate: No CxBR1 update
1: Update: CxBR1 updated from memory during link transfer

UT2

Bit 30: Update GPDMA_CxTR2 from memory This bit controls the update of GPDMA_CxTR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR2 update
1: Update: CxTR2 updated from memory during link transfer

UT1

Bit 31: Update GPDMA_CxTR1 from memory This bit controls the update of GPDMA_CxTR1 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR1 update
1: Update: CxTR1 updated from memory during link transfer

C2LBAR

GPDMA channel 2 linked-list base address register

Offset: 0x150, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LBA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

LBA

Bits 16-31: linked-list base address of GPDMA channel x.

Allowed values: 0x0-0xffff

C2FCR

GPDMA channel 2 flag clear register

Offset: 0x15c, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
w
SUSPF
w
USEF
w
ULEF
w
DTEF
w
HTF
w
TCF
w
Toggle fields

TCF

Bit 8: transfer complete flag clear.

Allowed values:
1: Clear: Clear flag

HTF

Bit 9: half transfer flag clear.

Allowed values:
1: Clear: Clear flag

DTEF

Bit 10: data transfer error flag clear.

Allowed values:
1: Clear: Clear flag

ULEF

Bit 11: update link transfer error flag clear.

Allowed values:
1: Clear: Clear flag

USEF

Bit 12: user setting error flag clear.

Allowed values:
1: Clear: Clear flag

SUSPF

Bit 13: completed suspension flag clear.

Allowed values:
1: Clear: Clear flag

TOF

Bit 14: trigger overrun flag clear.

Allowed values:
1: Clear: Clear flag

C2SR

GPDMA channel 2 status register

Offset: 0x160, size: 32, reset: 0x00000001, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
r
SUSPF
r
USEF
r
ULEF
r
DTEF
r
HTF
r
TCF
r
IDLEF
r
Toggle fields

IDLEF

Bit 0: idle flag This idle flag is deasserted by hardware when the channel is enabled (GPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state)..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TCF

Bit 8: transfer complete flag A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0])..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

HTF

Bit 9: half transfer flag A half transfer event is either a half block transfer or a half 2D/repeated block transfer, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0]). A half block transfer occurs when half of the bytes of the source block size (rounded up integer of GPDMA_CxBR1.BNDT[15:0]/2) has been transferred to the destination. A half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (GPDMA_CxBR1.BRC[10:0]+1)/2)) has been transferred to the destination..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

DTEF

Bit 10: data transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

ULEF

Bit 11: update link transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

USEF

Bit 12: user setting error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

SUSPF

Bit 13: completed suspension flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TOF

Bit 14: trigger overrun flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

FIFOL

Bits 16-23: monitored FIFO level Number of available write beats in the FIFO, in units of the programmed destination data width (see GPDMA_CxTR1.DDW_LOG2[1:0], in units of bytes, half-words, or words). Note: After having suspended an active transfer, the user may need to read FIFOL[7:0], additionally to GPDMA_CxBR1.BDNT[15:0] and GPDMA_CxBR1.BRC[10:0], to know how many data have been transferred to the destination. Before reading, the user may wait for the transfer to be suspended (GPDMA_CxSR.SUSPF = 1)..

Allowed values: 0x0-0xff

C2CR

GPDMA channel 2 control register

Offset: 0x164, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRIO
rw
LAP
rw
LSM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOIE
rw
SUSPIE
rw
USEIE
rw
ULEIE
rw
DTEIE
rw
HTIE
rw
TCIE
rw
SUSP
rw
RESET
w
EN
rw
Toggle fields

EN

Bit 0: enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is deasserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, for example if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored..

Allowed values:
0: Disabled: Channel disabled
1: Enabled: Channel enabled

RESET

Bit 1: reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (GPDMA_CxSR.SUSPF = 1 and GPDMA_CxSR.IDLEF = GPDMA_CxCR.EN = 1) - channel in disabled state (GPDMA_CxSR.IDLEF = 1 and GPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (GPDMA_CxBR1, GPDMA_CxSAR and GPDMA_CxDAR) before enabling again the channel (see the programming sequence in Figure 44)..

Allowed values:
1: Reset: Reset channel

SUSP

Bit 2: suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel (channel with an ongoing GPDMA transfer over its master ports). The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in Figure 43..

Allowed values:
0: NotSuspended: Channel operation not suspended
1: Suspended: Channel operation suspended

TCIE

Bit 8: transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HTIE

Bit 9: half transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

DTEIE

Bit 10: data transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

ULEIE

Bit 11: update link transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

USEIE

Bit 12: user setting error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

SUSPIE

Bit 13: completed suspension interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

TOIE

Bit 14: trigger overrun interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

LSM

Bit 16: Link step mode First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until GPDMA_CxBR1.BNDT[15:0] = 0 and GPDMA_CxBR1.BRC[10:0] = 0. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by GPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: FullLinkedList: Channel executed for full linked list
1: Once: Channel executed once for current linked list

LAP

Bit 17: linked-list allocated port This bit is used to allocate the master port for the update of the GPDMA linked-list registers from the memory. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

PRIO

Bits 22-23: priority level of the channel x GPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: LowPrioLowWeight: Low priority, low weight
1: LowPrioMidWeight: Low priority, mid weight
2: LowPrioHighWeight: Low priority, high weight
3: HighPrio: High priority

C2TR1

GPDMA channel 2 transfer register 1

Offset: 0x190, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAP
rw
DHX
rw
DBX
rw
DBL_1
rw
DINC
rw
DDW_LOG2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAP
rw
SBX
rw
PAM
rw
SBL_1
rw
SINC
rw
SDW_LOG2
rw
Toggle fields

SDW_LOG2

Bits 0-1: binary logarithm of the source data width of a burst in bytes Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (GPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. Note: A source burst transfer must have an aligned address with its data width (start address GPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

SINC

Bit 3: source incrementing burst The source address, pointed by GPDMA_CxSAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

SBL_1

Bits 4-9: source burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If SBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width SDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

PAM

Bits 11-12: padding/alignment mode If DDW_LOG2[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else, in the following enumerated values, the condition PAM_1 is when destination data width is higher that source data width, and the condition PAM_2 is when destination data width is higher than source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination Note: If the transfer from the source peripheral is configured with peripheral flow-control mode (SWREQ = 0 and PFREQ = 1 and DREQ = 0), and if the destination data width > the source data width, packing is not supported..

Allowed values: 0x0-0x3

PAM_1

Bits 11-12: PAM value when destination data width is higher than source data width.

Allowed values:
0: RightAlignedZeroPadded: Source data is transferred as right aligned, padded with 0s up to the destination data width
1: RightAlignedSignExtended: Source data is transferred as right aligned, sign extended up to the destination data width
2: Fifo: Source data are FIFO queued and packed at the destination data width, in little endian order, before a destination transfer

PAM_2

Bits 11-12: PAM value when source data width is higher than destination data width.

Allowed values:
0: RightAlignedLeftTruncated: Source data is transferred as right aligned, left-truncated down to the destination data width
1: LeftAlignedRightTruncated: Source data is transferred as left-aligned, right-truncated down to the destination data width
2: Fifo: Source data are FIFO queued and unpacked at the destination data width, in little endian order

SBX

Bit 13: source byte exchange within the unaligned half-word of each source word If the source data width is shorter than a word, this bit is ignored. If the source data width is a word:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

SAP

Bit 14: source allocated port This bit is used to allocate the master port for the source transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

DDW_LOG2

Bits 16-17: binary logarithm of the destination data width of a burst, in bytes Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. Note: A destination burst transfer must have an aligned address with its data width (start address GPDMA_CxDAR[2:0] and address offset GPDMA_CxTR3.DAO[2:0], versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and no transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

DINC

Bit 19: destination incrementing burst The destination address, pointed by GPDMA_CxDAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

DBL_1

Bits 20-25: destination burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If DBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width DDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

DBX

Bit 26: destination byte exchange If the destination data size is a byte, this bit is ignored. If the destination data size is not a byte:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

DHX

Bit 27: destination half-word exchange If the destination data size is shorter than a word, this bit is ignored. If the destination data size is a word:.

Allowed values:
0: NotExchanged: No halfword-based exchange within word
1: Exchanged: The two consecutive (post PAM) half-words are exchanged in each destination word

DAP

Bit 30: destination allocated port This bit is used to allocate the master port for the destination transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

C2TR2

GPDMA channel 2 transfer register 2

Offset: 0x194, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCEM
rw
TRIGPOL
rw
TRIGSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIGM
rw
PFREQ
rw
BREQ
rw
DREQ
rw
SWREQ
rw
REQSEL
rw
Toggle fields

REQSEL

Bits 0-7: GPDMA hardware request selection These bits are ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per Section 14.3.4. The user must not assign a same input hardware request (same REQSEL[7:0] value) to different active GPDMA channels (GPDMA_CxCR.EN = 1 and GPDMA_CxTR2.SWREQ = 0 for these channels). GPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting..

Allowed values:
0: ADC1_DMA: adc1_dma selected
2: DAC1_CH1_DMA: dac1_ch1_dma selected
3: DAC1_CH2_DMA: dac1_ch2_dma selected
4: TIM6_UPD_DMA: tim6_upd_dma selected
5: TIM7_UPD_DMA: tim7_upd_dma selected
6: SPI1_RX_DMA: spi1_rx_dma selected
7: SPI1_TX_DMA: spi1_tx_dma selected
8: SPI2_RX_DMA: spi2_rx_dma selected
9: SPI2_TX_DMA: spi2_tx_dma selected
10: SPI3_RX_DMA: spi3_rx_dma selected
11: SPI3_TX_DMA: spi3_tx_dma selected
12: I2C1_RX_DMA: i2c1_rx_dma selected
13: I2C1_TX_DMA: i2c1_tx_dma selected
15: I2C2_RX_DMA: i2c2_rx_dma selected
16: I2C2_TX_DMA: i2c2_tx_dma selected
18: I2C3_RX_DMA: i2c3_rx_dma selected
19: I2C3_TX_DMA: i2c3_tx_dma selected
21: USART1_RX_DMA: usart1_rx_dma selected
22: USART1_TX_DMA: usart1_tx_dma selected
23: USART2_RX_DMA: usart2_rx_dma selected
24: USART2_TX_DMA: usart2_tx_dma selected
25: USART3_RX_DMA: usart3_rx_dma selected
26: USART3_TX_DMA: usart3_tx_dma selected
27: UART4_RX_DMA: uart4_rx_dma selected
28: UART4_TX_DMA: uart4_tx_dma selected
29: UART5_RX_DMA: uart5_rx_dma selected
30: UART5_TX_DMA: uart5_tx_dma selected
31: USART6_RX_DMA: usart6_rx_dma selected
32: USART6_TX_DMA: usart6_tx_dma selected
33: UART7_RX_DMA: uart7_rx_dma selected
34: UART7_TX_DMA: uart7_tx_dma selected
35: UART8_RX_DMA: uart8_rx_dma selected
36: UART8_TX_DMA: uart8_tx_dma selected
37: UART9_RX_DMA: uart9_rx_dma selected
38: UART9_TX_DMA: uart9_tx_dma selected
39: UART10_RX_DMA: uart10_rx_dma selected
40: UART10_TX_DMA: uart10_tx_dma selected
41: UART11_RX_DMA: uart11_rx_dma selected
42: UART11_TX_DMA: uart11_tx_dma selected
43: UART12_RX_DMA: uart12_rx_dma selected
44: UART12_TX_DMA: uart12_tx_dma selected
45: LPUART1_RX_DMA: lpuart1_rx_dma selected
46: LPUART1_TX_DMA: lpuart1_tx_dma selected
47: SPI4_RX_DMA: spi4_rx_dma selected
48: SPI4_TX_DMA: spi4_tx_dma selected
49: SPI5_RX_DMA: spi5_rx_dma selected
50: SPI5_TX_DMA: spi5_tx_dma selected
51: SPI6_RX_DMA: spi6_rx_dma selected
52: SPI6_TX_DMA: spi6_tx_dma selected
53: SAI1_A_DMA: sai1_a_dma selected
54: SAI1_B_DMA: sai1_b_dma selected
55: SAI2_A_DMA: sai2_a_dma selected
56: SAI2_B_DMA: sai2_b_dma selected
57: OSPI1_DMA: ospi1_dma selected
58: TIM1_CC1_DMA: tim1_cc1_dma selected
59: TIM1_CC2_DMA: tim1_cc2_dma selected
60: TIM1_CC3_DMA: tim1_cc3_dma selected
61: TIM1_CC4_DMA: tim1_cc4_dma selected
62: TIM1_UPD_DMA: tim1_upd_dma selected
63: TIM1_TRG_DMA: tim1_trg_dma selected
64: TIM1_COM_DMA: tim1_com_dma selected
65: TIM8_CC1_DMA: tim8_cc1_dma selected
66: TIM8_CC2_DMA: tim8_cc2_dma selected
67: TIM8_CC3_DMA: tim8_cc3_dma selected
68: TIM8_CC4_DMA: tim8_cc4_dma selected
69: TIM8_UPD_DMA: tim8_upd_dma selected
70: TIM8_TIG_DMA: tim8_tig_dma selected
71: TIM8_COM_DMA: tim8_com_dma selected
72: TIM2_CC1_DMA: tim2_cc1_dma selected
73: TIM2_CC2_DMA: tim2_cc2_dma selected
74: TIM2_CC3_DMA: tim2_cc3_dma selected
75: TIM2_CC4_DMA: tim2_cc4_dma selected
76: TIM2_UPD_DMA: tim2_upd_dma selected
77: TIM3_CC1_DMA: tim3_cc1_dma selected
78: TIM3_CC2_DMA: tim3_cc2_dma selected
79: TIM3_CC3_DMA: tim3_cc3_dma selected
80: TIM3_CC4_DMA: tim3_cc4_dma selected
81: TIM3_UPD_DMA: tim3_upd_dma selected
82: TIM3_TRG_DMA: tim3_trg_dma selected
83: TIM4_CC1_DMA: tim4_cc1_dma selected
84: TIM4_CC2_DMA: tim4_cc2_dma selected
85: TIM4_CC3_DMA: tim4_cc3_dma selected
86: TIM4_CC4_DMA: tim4_cc4_dma selected
87: TIM4_UPD_DMA: tim4_upd_dma selected
88: TIM5_CC1_DMA: tim5_cc1_dma selected
89: TIM5_CC2_DMA: tim5_cc2_dma selected
90: TIM5_CC3_DMA: tim5_cc3_dma selected
91: TIM5_CC4_DMA: tim5_cc4_dma selected
92: TIM5_UPD_DMA: tim5_upd_dma selected
93: TIM5_TRG_DMA: tim5_trg_dma selected
94: TIM15_CC1_DMA: tim15_cc1_dma selected
95: TIM15_UPD_DMA: tim15_upd_dma selected
96: TIM15_TRG_DMA: tim15_trg_dma selected
97: TIM15_COM_DMA: tim15_com_dma selected
98: TIM16_CC1_DMA: tim16_cc1_dma selected
99: TIM16_UPD_DMA: tim16_upd_dma selected
100: TIM17_CC1_DMA: tim17_cc1_dma selected
101: TIM17_UPD_DMA: tim17_upd_dma selected
102: LPTIM1_IC1_DMA: lptim1_ic1_dma selected
103: LPTIM1_IC2_DMA: lptim1_ic2_dma selected
104: LPTIM1_UE_DMA: lptim1_ue_dma selected
105: LPTIM2_IC1_DMA: lptim2_ic1_dma selected
106: LPTIM2_IC2_DMA: lptim2_ic2_dma selected
107: LPTIM2_UE_DMA: lptim2_ue_dma selected
108: DCMI_PSSI_DMA: dcmi_dma or pssi_dma(1) selected
109: AES_OUT_DMA: aes_out_dma selected
110: AES_IN_DMA: aes_in_dma selected
111: HASH_IN_DMA: hash_in_dma selected
112: UCPD1_RX_DMA: ucpd1_rx_dma selected
113: UCPD1_TX_DMA: ucpd1_tx_dma selected
114: CORDIC_READ_DMA: cordic_read_dma selected
115: CORDIC_WRITE_DMA: cordic_write_dma selected
116: FMAC_READ_DMA: fmac_read_dma selected
117: FMAC_WRITE_DMA: fmac_write_dma selected
118: SAES_OUT_DMA: saes_out_dma selected
119: SAES_IN_DMA: saes_in_dma selected
120: I3C1_RX_DMA: i3c1_rx_dma selected
121: I3C1_TX_DMA: i3c1_tx_dma selected
122: I3C1_TC_DMA: i3c1_tc_dma selected
123: I3C1_RS_DMA: i3c1_rs_dma selected
124: I2C4_RX_DMA: i2c4_rx_dma selected
125: I2C4_TX_DMA: i2c4_tx_dma selected
127: LPTIM3_IC1_DMA: lptim3_ic1_dma selected
128: LPTIM3_IC2_DMA: lptim3_ic2_dma selected
129: LPTIM3_UE_DMA: lptim3_ue_dma selected
130: LPTIM5_IC1_DMA: lptim5_ic1_dma selected
131: LPTIM5_IC2_DMA: lptim5_ic2_dma selected
132: LPTIM5_UE_DMA: lptim5_ue_dma selected
133: LPTIM6_IC1_DMA: lptim6_ic1_dma selected
134: LPTIM6_IC2_DMA: lptim6_ic2_dma selected
135: LPTIM6_UE_DMA: lptim6_ue_dma selected
136: I3C2_RX: i3c2_rx selected
137: I3C2_TX: i3c2_tx selected
138: I3C2_TC: i3c2_tc selected
139: I3C2_RS: i3c2_rs selected

SWREQ

Bit 9: software request This bit is internally taken into account when GPDMA_CxCR.EN is asserted..

Allowed values:
0: Hardware: No software request. The selected hardware request REQSEL[7:0] is taken into account
1: Software: Software request for memory-to-memory transfer

DREQ

Bit 10: destination hardware request This bit is ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: If the channel x is activated (GPDMA_CxCR.EN is asserted) with SWREQ = 0 and PFREQ = 1 (peripheral hardware request with peripheral flow-control mode), any software assertion to this DREQ bit is ignored: in peripheral flow-control mode, only a peripheral-to-memory transfer is supported..

Allowed values:
0: Source: Selected hardware request driven by a source peripheral
1: Destination: Selected hardware request driven by a destination peripheral

BREQ

Bit 11: Block hardware request If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:.

Allowed values:
0: Burst: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level
1: Block: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level

PFREQ

Bit 12: Hardware request in peripheral flow control mode Important: If a given channel x is not implemented with this feature, this bit is reserved and PFREQ is not present (see Section 14.3.2 for the list of the implemented channels with this feature. If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: Note: In peripheral flow control mode, there are the following restrictions: Note: - no 2D/repeated block support (GPDMA_CxBR1.BRC[10:0] must be set to 0) Note: - the peripheral must be set as the source of the transfer (DREQ = 0). Note: - data packing to a wider destination width is not supported (if destination width > source data width, GPDMA_CxTR1.PAM[1] must be set to 0). Note: - GPDMA_CxBR1.BNDT[15:0] must be programmed as a multiple of the source (peripheral) burst size..

Allowed values:
0: GpdmaControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in GPDMA control mode
1: PeripheralControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in peripheral control mode.

TRIGM

Bits 14-15: trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (GPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a GPDMA transfer is conditioned by at least one trigger hit: – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The GPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLI<sub>n+1</sub> that updates the GPDMA_CxTR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLI<sub>n </sub>trigger. After a first new trigger hit<sub>n+1</sub> is memorized, if another second trigger hit<sub>n+2</sub> is detected and if the hit<sub>n</sub> triggered transfer is still not completed, hit<sub>n+2 </sub>is lost and not memorized.memorized. A trigger overrun flag is reported (GPDMA_CxSR.TOF =1 ), and an interrupt is generated if enabled (GPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. Note: When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger..

Allowed values:
0: BlockLevel: At block level: the first burst read of each block transfer is conditioned by one hit trigger
2: LinkLevel: At link level: a LLI link transfer is conditioned by one hit trigger
3: ProgrammedBurstLevel: At programmed burst level: programmed burst read is conditioned by one hit trigger.

TRIGSEL

Bits 16-21: trigger event input selection These bits select the trigger event input of the GPDMA transfer (as per Section 14.3.7), with an active trigger event if TRIGPOL[1:0] ≠ 00..

Allowed values:
0: EXTI0: exti0 is trigger input
1: EXTI1: exti1 is trigger input
2: EXTI2: exti2 is trigger input
3: EXTI3: exti3 is trigger input
4: EXTI4: exti4 is trigger input
5: EXTI5: exti5 is trigger input
6: EXTI6: exti6 is trigger input
7: EXTI7: exti7 is trigger input
8: TAMP_TRG1: tamp_trg1 is trigger input
9: TAMP_TRG2: tamp_trg2 is trigger input
11: LPTIM1_CH1: lptim1_ch1 is trigger input
12: LPTIM1_CH2: lptim1_ch2 is trigger input
13: LPTIM2_CH1: lptim2_ch1 is trigger input
14: LPTIM2_CH2: lptim2_ch2 is trigger input
15: RTC_ALRA_TRG: rtc_alra_trg is trigger input
16: RTC_ALRB_TRG: rtc_alrb_trg is trigger input
17: RTC_WUT_TRG: rtc_wut_trg is trigger input
18: GPDMA1_CH0_TC: gpdma1_ch0_tc is trigger input
19: GPDMA1_CH1_TC: gpdma1_ch1_tc is trigger input
20: GPDMA1_CH2_TC: gpdma1_ch2_tc is trigger input
21: GPDMA1_CH3_TC: gpdma1_ch3_tc is trigger input
22: GPDMA1_CH4_TC: gpdma1_ch4_tc is trigger input
23: GPDMA1_CH5_TC: gpdma1_ch5_tc is trigger input
24: GPDMA1_CH6_TC: gpdma1_ch6_tc is trigger input
25: GPDMA1_CH7_TC: gpdma1_ch7_tc is trigger input
26: GPDMA2_CH0_TC: gpdma2_ch0_tc is trigger input
27: GPDMA2_CH1_TC: gpdma2_ch1_tc is trigger input
28: GPDMA2_CH2_TC: gpdma2_ch2_tc is trigger input
29: GPDMA2_CH3_TC: gpdma2_ch3_tc is trigger input
30: GPDMA2_CH4_TC: gpdma2_ch4_tc is trigger input
31: GPDMA2_CH5_TC: gpdma2_ch5_tc is trigger input
32: GPDMA2_CH6_TC: gpdma2_ch6_tc is trigger input
33: GPDMA2_CH7_TC: gpdma2_ch7_tc is trigger input
34: TIM2_TRG0: tim2_trgo is trigger input
44: COMP1_OUT: comp1_out is trigger input

TRIGPOL

Bits 24-25: trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]..

Allowed values:
0: NoTrigger: No trigger
1: RisingEdge: Trigger on rising edge
2: FallingEdge: Trigger on falling edge

TCEM

Bits 30-31: transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (i.e. directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI<sub>1</sub>..

Allowed values:
0: BlockLevel: At block level: the complete (and the half) transfer event is generated at the (respectively half of the) end of a block
2: LliLevel: At LLI level: the complete transfer event is generated at the end of the LLI transfer. The half transfer event is generated at the half of the LLI data transfer
3: ChannelLevel: At channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI

C2BR1

GPDMA channel 2 block register 1

Offset: 0x198, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BNDT
rw
Toggle fields

BNDT

Bits 0-15: block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if GPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if GPDMA_CxLLR.UB1 = 0 and if there is at least one non null Uxx update bit, this field is internally restored to the programmed value. - if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] = 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: When configured in packing mode (GPDMA_CxTR1.PAM[1] = 1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffff

C2SAR

GPDMA channel 2 source address register

Offset: 0x19c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SA
rw
Toggle fields

SA

Bits 0-31: source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (GPDMA_CxTR1.SINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.SDW_LOG2[1:0]) after each burst source data, reflecting the next address from which data is read. During the channel activity, this address is updated after each completed source burst, consequently to: the programmed source burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.SINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.SBL_1[5:0] and GPDMA_CxTR1.SDW_LOG2[21:0] the additional source incremented/decremented offset value as programmed by GPDMA_CxBR1.SDEC and GPDMA_CxTR3.SAO[12:0]. once/if completed source block transfer, for a channel x with 2D addressing capability (x = 12 to 15). additional block repeat source incremented/decremented offset value as programmed by GPDMA_CxBR1.BRSDEC and GPDMA_CxBR2.BRSAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source burst (SA[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xffffffff

C2DAR

GPDMA channel 2 destination address register

Offset: 0x1a0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 0-31: destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (GPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.DDW_LOG2[21:0]) after each burst destination data, reflecting the next address from which data is written. During the channel activity, this address is updated after each completed destination burst, consequently to: the programmed destination burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.DINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.DBL_1[5:0] and GPDMA_CxTR1.DDW_LOG2[1:0] the additional destination incremented/decremented offset value as programmed by GPDMA_CxBR1.DDEC and GPDMA_CxTR3.DAO[12:0]. once/if completed destination block transfer, for a channel x with 2D addressing capability (x = 12 to 15), the additional block repeat destination incremented/decremented offset value as programmed by GPDMA_CxBR1.BRDDEC and GPDMA_CxBR2.BRDAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by the GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination burst (DA[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffffffff

C2LLR

GPDMA channel 2 linked-list address register

Offset: 0x1cc, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UT1
rw
UT2
rw
UB1
rw
USA
rw
UDA
rw
ULL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LA
rw
Toggle fields

LA

Bits 2-15: pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list GPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list GPDMA internal register file (GPDMA_CxCTR1, GPDMA_CxTR2, GPDMA_CxBR1, GPDMA_CxSAR, GPDMA_CxDAR and GPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored..

Allowed values: 0x0-0x3fff

ULL

Bit 16: Update GPDMA_CxLLR register from memory This bit is used to control the update of GPDMA_CxLLR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxLLR update
1: Update: CxLLR updated from memory during link transfer

UDA

Bit 27: Update GPDMA_CxDAR register from memory This bit is used to control the update of GPDMA_CxDAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxDAR update
1: Update: CxDAR updated from memory during link transfer

USA

Bit 28: update GPDMA_CxSAR from memory This bit controls the update of GPDMA_CxSAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxSAR update
1: Update: CxSAR updated from memory during link transfer

UB1

Bit 29: Update GPDMA_CxBR1 from memory This bit controls the update of GPDMA_CxBR1 from the memory during the link transfer. If UB1 = 0 and if GPDMA_CxLLR ≠ 0, the linked-list is not completed. GPDMA_CxBR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer..

Allowed values:
0: NoUpdate: No CxBR1 update
1: Update: CxBR1 updated from memory during link transfer

UT2

Bit 30: Update GPDMA_CxTR2 from memory This bit controls the update of GPDMA_CxTR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR2 update
1: Update: CxTR2 updated from memory during link transfer

UT1

Bit 31: Update GPDMA_CxTR1 from memory This bit controls the update of GPDMA_CxTR1 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR1 update
1: Update: CxTR1 updated from memory during link transfer

C3LBAR

GPDMA channel 3 linked-list base address register

Offset: 0x1d0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LBA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

LBA

Bits 16-31: linked-list base address of GPDMA channel x.

Allowed values: 0x0-0xffff

C3FCR

GPDMA channel 3 flag clear register

Offset: 0x1dc, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
w
SUSPF
w
USEF
w
ULEF
w
DTEF
w
HTF
w
TCF
w
Toggle fields

TCF

Bit 8: transfer complete flag clear.

Allowed values:
1: Clear: Clear flag

HTF

Bit 9: half transfer flag clear.

Allowed values:
1: Clear: Clear flag

DTEF

Bit 10: data transfer error flag clear.

Allowed values:
1: Clear: Clear flag

ULEF

Bit 11: update link transfer error flag clear.

Allowed values:
1: Clear: Clear flag

USEF

Bit 12: user setting error flag clear.

Allowed values:
1: Clear: Clear flag

SUSPF

Bit 13: completed suspension flag clear.

Allowed values:
1: Clear: Clear flag

TOF

Bit 14: trigger overrun flag clear.

Allowed values:
1: Clear: Clear flag

C3SR

GPDMA channel 3 status register

Offset: 0x1e0, size: 32, reset: 0x00000001, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
r
SUSPF
r
USEF
r
ULEF
r
DTEF
r
HTF
r
TCF
r
IDLEF
r
Toggle fields

IDLEF

Bit 0: idle flag This idle flag is deasserted by hardware when the channel is enabled (GPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state)..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TCF

Bit 8: transfer complete flag A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0])..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

HTF

Bit 9: half transfer flag A half transfer event is either a half block transfer or a half 2D/repeated block transfer, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0]). A half block transfer occurs when half of the bytes of the source block size (rounded up integer of GPDMA_CxBR1.BNDT[15:0]/2) has been transferred to the destination. A half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (GPDMA_CxBR1.BRC[10:0]+1)/2)) has been transferred to the destination..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

DTEF

Bit 10: data transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

ULEF

Bit 11: update link transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

USEF

Bit 12: user setting error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

SUSPF

Bit 13: completed suspension flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TOF

Bit 14: trigger overrun flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

FIFOL

Bits 16-23: monitored FIFO level Number of available write beats in the FIFO, in units of the programmed destination data width (see GPDMA_CxTR1.DDW_LOG2[1:0], in units of bytes, half-words, or words). Note: After having suspended an active transfer, the user may need to read FIFOL[7:0], additionally to GPDMA_CxBR1.BDNT[15:0] and GPDMA_CxBR1.BRC[10:0], to know how many data have been transferred to the destination. Before reading, the user may wait for the transfer to be suspended (GPDMA_CxSR.SUSPF = 1)..

Allowed values: 0x0-0xff

C3CR

GPDMA channel 3 control register

Offset: 0x1e4, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRIO
rw
LAP
rw
LSM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOIE
rw
SUSPIE
rw
USEIE
rw
ULEIE
rw
DTEIE
rw
HTIE
rw
TCIE
rw
SUSP
rw
RESET
w
EN
rw
Toggle fields

EN

Bit 0: enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is deasserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, for example if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored..

Allowed values:
0: Disabled: Channel disabled
1: Enabled: Channel enabled

RESET

Bit 1: reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (GPDMA_CxSR.SUSPF = 1 and GPDMA_CxSR.IDLEF = GPDMA_CxCR.EN = 1) - channel in disabled state (GPDMA_CxSR.IDLEF = 1 and GPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (GPDMA_CxBR1, GPDMA_CxSAR and GPDMA_CxDAR) before enabling again the channel (see the programming sequence in Figure 44)..

Allowed values:
1: Reset: Reset channel

SUSP

Bit 2: suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel (channel with an ongoing GPDMA transfer over its master ports). The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in Figure 43..

Allowed values:
0: NotSuspended: Channel operation not suspended
1: Suspended: Channel operation suspended

TCIE

Bit 8: transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HTIE

Bit 9: half transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

DTEIE

Bit 10: data transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

ULEIE

Bit 11: update link transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

USEIE

Bit 12: user setting error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

SUSPIE

Bit 13: completed suspension interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

TOIE

Bit 14: trigger overrun interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

LSM

Bit 16: Link step mode First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until GPDMA_CxBR1.BNDT[15:0] = 0 and GPDMA_CxBR1.BRC[10:0] = 0. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by GPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: FullLinkedList: Channel executed for full linked list
1: Once: Channel executed once for current linked list

LAP

Bit 17: linked-list allocated port This bit is used to allocate the master port for the update of the GPDMA linked-list registers from the memory. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

PRIO

Bits 22-23: priority level of the channel x GPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: LowPrioLowWeight: Low priority, low weight
1: LowPrioMidWeight: Low priority, mid weight
2: LowPrioHighWeight: Low priority, high weight
3: HighPrio: High priority

C3TR1

GPDMA channel 3 transfer register 1

Offset: 0x210, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAP
rw
DHX
rw
DBX
rw
DBL_1
rw
DINC
rw
DDW_LOG2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAP
rw
SBX
rw
PAM
rw
SBL_1
rw
SINC
rw
SDW_LOG2
rw
Toggle fields

SDW_LOG2

Bits 0-1: binary logarithm of the source data width of a burst in bytes Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (GPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. Note: A source burst transfer must have an aligned address with its data width (start address GPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

SINC

Bit 3: source incrementing burst The source address, pointed by GPDMA_CxSAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

SBL_1

Bits 4-9: source burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If SBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width SDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

PAM

Bits 11-12: padding/alignment mode If DDW_LOG2[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else, in the following enumerated values, the condition PAM_1 is when destination data width is higher that source data width, and the condition PAM_2 is when destination data width is higher than source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination Note: If the transfer from the source peripheral is configured with peripheral flow-control mode (SWREQ = 0 and PFREQ = 1 and DREQ = 0), and if the destination data width > the source data width, packing is not supported..

Allowed values: 0x0-0x3

PAM_1

Bits 11-12: PAM value when destination data width is higher than source data width.

Allowed values:
0: RightAlignedZeroPadded: Source data is transferred as right aligned, padded with 0s up to the destination data width
1: RightAlignedSignExtended: Source data is transferred as right aligned, sign extended up to the destination data width
2: Fifo: Source data are FIFO queued and packed at the destination data width, in little endian order, before a destination transfer

PAM_2

Bits 11-12: PAM value when source data width is higher than destination data width.

Allowed values:
0: RightAlignedLeftTruncated: Source data is transferred as right aligned, left-truncated down to the destination data width
1: LeftAlignedRightTruncated: Source data is transferred as left-aligned, right-truncated down to the destination data width
2: Fifo: Source data are FIFO queued and unpacked at the destination data width, in little endian order

SBX

Bit 13: source byte exchange within the unaligned half-word of each source word If the source data width is shorter than a word, this bit is ignored. If the source data width is a word:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

SAP

Bit 14: source allocated port This bit is used to allocate the master port for the source transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

DDW_LOG2

Bits 16-17: binary logarithm of the destination data width of a burst, in bytes Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. Note: A destination burst transfer must have an aligned address with its data width (start address GPDMA_CxDAR[2:0] and address offset GPDMA_CxTR3.DAO[2:0], versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and no transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

DINC

Bit 19: destination incrementing burst The destination address, pointed by GPDMA_CxDAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

DBL_1

Bits 20-25: destination burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If DBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width DDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

DBX

Bit 26: destination byte exchange If the destination data size is a byte, this bit is ignored. If the destination data size is not a byte:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

DHX

Bit 27: destination half-word exchange If the destination data size is shorter than a word, this bit is ignored. If the destination data size is a word:.

Allowed values:
0: NotExchanged: No halfword-based exchange within word
1: Exchanged: The two consecutive (post PAM) half-words are exchanged in each destination word

DAP

Bit 30: destination allocated port This bit is used to allocate the master port for the destination transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

C3TR2

GPDMA channel 3 transfer register 2

Offset: 0x214, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCEM
rw
TRIGPOL
rw
TRIGSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIGM
rw
PFREQ
rw
BREQ
rw
DREQ
rw
SWREQ
rw
REQSEL
rw
Toggle fields

REQSEL

Bits 0-7: GPDMA hardware request selection These bits are ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per Section 14.3.4. The user must not assign a same input hardware request (same REQSEL[7:0] value) to different active GPDMA channels (GPDMA_CxCR.EN = 1 and GPDMA_CxTR2.SWREQ = 0 for these channels). GPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting..

Allowed values:
0: ADC1_DMA: adc1_dma selected
2: DAC1_CH1_DMA: dac1_ch1_dma selected
3: DAC1_CH2_DMA: dac1_ch2_dma selected
4: TIM6_UPD_DMA: tim6_upd_dma selected
5: TIM7_UPD_DMA: tim7_upd_dma selected
6: SPI1_RX_DMA: spi1_rx_dma selected
7: SPI1_TX_DMA: spi1_tx_dma selected
8: SPI2_RX_DMA: spi2_rx_dma selected
9: SPI2_TX_DMA: spi2_tx_dma selected
10: SPI3_RX_DMA: spi3_rx_dma selected
11: SPI3_TX_DMA: spi3_tx_dma selected
12: I2C1_RX_DMA: i2c1_rx_dma selected
13: I2C1_TX_DMA: i2c1_tx_dma selected
15: I2C2_RX_DMA: i2c2_rx_dma selected
16: I2C2_TX_DMA: i2c2_tx_dma selected
18: I2C3_RX_DMA: i2c3_rx_dma selected
19: I2C3_TX_DMA: i2c3_tx_dma selected
21: USART1_RX_DMA: usart1_rx_dma selected
22: USART1_TX_DMA: usart1_tx_dma selected
23: USART2_RX_DMA: usart2_rx_dma selected
24: USART2_TX_DMA: usart2_tx_dma selected
25: USART3_RX_DMA: usart3_rx_dma selected
26: USART3_TX_DMA: usart3_tx_dma selected
27: UART4_RX_DMA: uart4_rx_dma selected
28: UART4_TX_DMA: uart4_tx_dma selected
29: UART5_RX_DMA: uart5_rx_dma selected
30: UART5_TX_DMA: uart5_tx_dma selected
31: USART6_RX_DMA: usart6_rx_dma selected
32: USART6_TX_DMA: usart6_tx_dma selected
33: UART7_RX_DMA: uart7_rx_dma selected
34: UART7_TX_DMA: uart7_tx_dma selected
35: UART8_RX_DMA: uart8_rx_dma selected
36: UART8_TX_DMA: uart8_tx_dma selected
37: UART9_RX_DMA: uart9_rx_dma selected
38: UART9_TX_DMA: uart9_tx_dma selected
39: UART10_RX_DMA: uart10_rx_dma selected
40: UART10_TX_DMA: uart10_tx_dma selected
41: UART11_RX_DMA: uart11_rx_dma selected
42: UART11_TX_DMA: uart11_tx_dma selected
43: UART12_RX_DMA: uart12_rx_dma selected
44: UART12_TX_DMA: uart12_tx_dma selected
45: LPUART1_RX_DMA: lpuart1_rx_dma selected
46: LPUART1_TX_DMA: lpuart1_tx_dma selected
47: SPI4_RX_DMA: spi4_rx_dma selected
48: SPI4_TX_DMA: spi4_tx_dma selected
49: SPI5_RX_DMA: spi5_rx_dma selected
50: SPI5_TX_DMA: spi5_tx_dma selected
51: SPI6_RX_DMA: spi6_rx_dma selected
52: SPI6_TX_DMA: spi6_tx_dma selected
53: SAI1_A_DMA: sai1_a_dma selected
54: SAI1_B_DMA: sai1_b_dma selected
55: SAI2_A_DMA: sai2_a_dma selected
56: SAI2_B_DMA: sai2_b_dma selected
57: OSPI1_DMA: ospi1_dma selected
58: TIM1_CC1_DMA: tim1_cc1_dma selected
59: TIM1_CC2_DMA: tim1_cc2_dma selected
60: TIM1_CC3_DMA: tim1_cc3_dma selected
61: TIM1_CC4_DMA: tim1_cc4_dma selected
62: TIM1_UPD_DMA: tim1_upd_dma selected
63: TIM1_TRG_DMA: tim1_trg_dma selected
64: TIM1_COM_DMA: tim1_com_dma selected
65: TIM8_CC1_DMA: tim8_cc1_dma selected
66: TIM8_CC2_DMA: tim8_cc2_dma selected
67: TIM8_CC3_DMA: tim8_cc3_dma selected
68: TIM8_CC4_DMA: tim8_cc4_dma selected
69: TIM8_UPD_DMA: tim8_upd_dma selected
70: TIM8_TIG_DMA: tim8_tig_dma selected
71: TIM8_COM_DMA: tim8_com_dma selected
72: TIM2_CC1_DMA: tim2_cc1_dma selected
73: TIM2_CC2_DMA: tim2_cc2_dma selected
74: TIM2_CC3_DMA: tim2_cc3_dma selected
75: TIM2_CC4_DMA: tim2_cc4_dma selected
76: TIM2_UPD_DMA: tim2_upd_dma selected
77: TIM3_CC1_DMA: tim3_cc1_dma selected
78: TIM3_CC2_DMA: tim3_cc2_dma selected
79: TIM3_CC3_DMA: tim3_cc3_dma selected
80: TIM3_CC4_DMA: tim3_cc4_dma selected
81: TIM3_UPD_DMA: tim3_upd_dma selected
82: TIM3_TRG_DMA: tim3_trg_dma selected
83: TIM4_CC1_DMA: tim4_cc1_dma selected
84: TIM4_CC2_DMA: tim4_cc2_dma selected
85: TIM4_CC3_DMA: tim4_cc3_dma selected
86: TIM4_CC4_DMA: tim4_cc4_dma selected
87: TIM4_UPD_DMA: tim4_upd_dma selected
88: TIM5_CC1_DMA: tim5_cc1_dma selected
89: TIM5_CC2_DMA: tim5_cc2_dma selected
90: TIM5_CC3_DMA: tim5_cc3_dma selected
91: TIM5_CC4_DMA: tim5_cc4_dma selected
92: TIM5_UPD_DMA: tim5_upd_dma selected
93: TIM5_TRG_DMA: tim5_trg_dma selected
94: TIM15_CC1_DMA: tim15_cc1_dma selected
95: TIM15_UPD_DMA: tim15_upd_dma selected
96: TIM15_TRG_DMA: tim15_trg_dma selected
97: TIM15_COM_DMA: tim15_com_dma selected
98: TIM16_CC1_DMA: tim16_cc1_dma selected
99: TIM16_UPD_DMA: tim16_upd_dma selected
100: TIM17_CC1_DMA: tim17_cc1_dma selected
101: TIM17_UPD_DMA: tim17_upd_dma selected
102: LPTIM1_IC1_DMA: lptim1_ic1_dma selected
103: LPTIM1_IC2_DMA: lptim1_ic2_dma selected
104: LPTIM1_UE_DMA: lptim1_ue_dma selected
105: LPTIM2_IC1_DMA: lptim2_ic1_dma selected
106: LPTIM2_IC2_DMA: lptim2_ic2_dma selected
107: LPTIM2_UE_DMA: lptim2_ue_dma selected
108: DCMI_PSSI_DMA: dcmi_dma or pssi_dma(1) selected
109: AES_OUT_DMA: aes_out_dma selected
110: AES_IN_DMA: aes_in_dma selected
111: HASH_IN_DMA: hash_in_dma selected
112: UCPD1_RX_DMA: ucpd1_rx_dma selected
113: UCPD1_TX_DMA: ucpd1_tx_dma selected
114: CORDIC_READ_DMA: cordic_read_dma selected
115: CORDIC_WRITE_DMA: cordic_write_dma selected
116: FMAC_READ_DMA: fmac_read_dma selected
117: FMAC_WRITE_DMA: fmac_write_dma selected
118: SAES_OUT_DMA: saes_out_dma selected
119: SAES_IN_DMA: saes_in_dma selected
120: I3C1_RX_DMA: i3c1_rx_dma selected
121: I3C1_TX_DMA: i3c1_tx_dma selected
122: I3C1_TC_DMA: i3c1_tc_dma selected
123: I3C1_RS_DMA: i3c1_rs_dma selected
124: I2C4_RX_DMA: i2c4_rx_dma selected
125: I2C4_TX_DMA: i2c4_tx_dma selected
127: LPTIM3_IC1_DMA: lptim3_ic1_dma selected
128: LPTIM3_IC2_DMA: lptim3_ic2_dma selected
129: LPTIM3_UE_DMA: lptim3_ue_dma selected
130: LPTIM5_IC1_DMA: lptim5_ic1_dma selected
131: LPTIM5_IC2_DMA: lptim5_ic2_dma selected
132: LPTIM5_UE_DMA: lptim5_ue_dma selected
133: LPTIM6_IC1_DMA: lptim6_ic1_dma selected
134: LPTIM6_IC2_DMA: lptim6_ic2_dma selected
135: LPTIM6_UE_DMA: lptim6_ue_dma selected
136: I3C2_RX: i3c2_rx selected
137: I3C2_TX: i3c2_tx selected
138: I3C2_TC: i3c2_tc selected
139: I3C2_RS: i3c2_rs selected

SWREQ

Bit 9: software request This bit is internally taken into account when GPDMA_CxCR.EN is asserted..

Allowed values:
0: Hardware: No software request. The selected hardware request REQSEL[7:0] is taken into account
1: Software: Software request for memory-to-memory transfer

DREQ

Bit 10: destination hardware request This bit is ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: If the channel x is activated (GPDMA_CxCR.EN is asserted) with SWREQ = 0 and PFREQ = 1 (peripheral hardware request with peripheral flow-control mode), any software assertion to this DREQ bit is ignored: in peripheral flow-control mode, only a peripheral-to-memory transfer is supported..

Allowed values:
0: Source: Selected hardware request driven by a source peripheral
1: Destination: Selected hardware request driven by a destination peripheral

BREQ

Bit 11: Block hardware request If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:.

Allowed values:
0: Burst: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level
1: Block: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level

PFREQ

Bit 12: Hardware request in peripheral flow control mode Important: If a given channel x is not implemented with this feature, this bit is reserved and PFREQ is not present (see Section 14.3.2 for the list of the implemented channels with this feature. If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: Note: In peripheral flow control mode, there are the following restrictions: Note: - no 2D/repeated block support (GPDMA_CxBR1.BRC[10:0] must be set to 0) Note: - the peripheral must be set as the source of the transfer (DREQ = 0). Note: - data packing to a wider destination width is not supported (if destination width > source data width, GPDMA_CxTR1.PAM[1] must be set to 0). Note: - GPDMA_CxBR1.BNDT[15:0] must be programmed as a multiple of the source (peripheral) burst size..

Allowed values:
0: GpdmaControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in GPDMA control mode
1: PeripheralControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in peripheral control mode.

TRIGM

Bits 14-15: trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (GPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a GPDMA transfer is conditioned by at least one trigger hit: – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The GPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLI<sub>n+1</sub> that updates the GPDMA_CxTR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLI<sub>n </sub>trigger. After a first new trigger hit<sub>n+1</sub> is memorized, if another second trigger hit<sub>n+2</sub> is detected and if the hit<sub>n</sub> triggered transfer is still not completed, hit<sub>n+2 </sub>is lost and not memorized.memorized. A trigger overrun flag is reported (GPDMA_CxSR.TOF =1 ), and an interrupt is generated if enabled (GPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. Note: When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger..

Allowed values:
0: BlockLevel: At block level: the first burst read of each block transfer is conditioned by one hit trigger
2: LinkLevel: At link level: a LLI link transfer is conditioned by one hit trigger
3: ProgrammedBurstLevel: At programmed burst level: programmed burst read is conditioned by one hit trigger.

TRIGSEL

Bits 16-21: trigger event input selection These bits select the trigger event input of the GPDMA transfer (as per Section 14.3.7), with an active trigger event if TRIGPOL[1:0] ≠ 00..

Allowed values:
0: EXTI0: exti0 is trigger input
1: EXTI1: exti1 is trigger input
2: EXTI2: exti2 is trigger input
3: EXTI3: exti3 is trigger input
4: EXTI4: exti4 is trigger input
5: EXTI5: exti5 is trigger input
6: EXTI6: exti6 is trigger input
7: EXTI7: exti7 is trigger input
8: TAMP_TRG1: tamp_trg1 is trigger input
9: TAMP_TRG2: tamp_trg2 is trigger input
11: LPTIM1_CH1: lptim1_ch1 is trigger input
12: LPTIM1_CH2: lptim1_ch2 is trigger input
13: LPTIM2_CH1: lptim2_ch1 is trigger input
14: LPTIM2_CH2: lptim2_ch2 is trigger input
15: RTC_ALRA_TRG: rtc_alra_trg is trigger input
16: RTC_ALRB_TRG: rtc_alrb_trg is trigger input
17: RTC_WUT_TRG: rtc_wut_trg is trigger input
18: GPDMA1_CH0_TC: gpdma1_ch0_tc is trigger input
19: GPDMA1_CH1_TC: gpdma1_ch1_tc is trigger input
20: GPDMA1_CH2_TC: gpdma1_ch2_tc is trigger input
21: GPDMA1_CH3_TC: gpdma1_ch3_tc is trigger input
22: GPDMA1_CH4_TC: gpdma1_ch4_tc is trigger input
23: GPDMA1_CH5_TC: gpdma1_ch5_tc is trigger input
24: GPDMA1_CH6_TC: gpdma1_ch6_tc is trigger input
25: GPDMA1_CH7_TC: gpdma1_ch7_tc is trigger input
26: GPDMA2_CH0_TC: gpdma2_ch0_tc is trigger input
27: GPDMA2_CH1_TC: gpdma2_ch1_tc is trigger input
28: GPDMA2_CH2_TC: gpdma2_ch2_tc is trigger input
29: GPDMA2_CH3_TC: gpdma2_ch3_tc is trigger input
30: GPDMA2_CH4_TC: gpdma2_ch4_tc is trigger input
31: GPDMA2_CH5_TC: gpdma2_ch5_tc is trigger input
32: GPDMA2_CH6_TC: gpdma2_ch6_tc is trigger input
33: GPDMA2_CH7_TC: gpdma2_ch7_tc is trigger input
34: TIM2_TRG0: tim2_trgo is trigger input
44: COMP1_OUT: comp1_out is trigger input

TRIGPOL

Bits 24-25: trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]..

Allowed values:
0: NoTrigger: No trigger
1: RisingEdge: Trigger on rising edge
2: FallingEdge: Trigger on falling edge

TCEM

Bits 30-31: transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (i.e. directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI<sub>1</sub>..

Allowed values:
0: BlockLevel: At block level: the complete (and the half) transfer event is generated at the (respectively half of the) end of a block
2: LliLevel: At LLI level: the complete transfer event is generated at the end of the LLI transfer. The half transfer event is generated at the half of the LLI data transfer
3: ChannelLevel: At channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI

C3BR1

GPDMA channel 3 block register 1

Offset: 0x218, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BNDT
rw
Toggle fields

BNDT

Bits 0-15: block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if GPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if GPDMA_CxLLR.UB1 = 0 and if there is at least one non null Uxx update bit, this field is internally restored to the programmed value. - if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] = 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: When configured in packing mode (GPDMA_CxTR1.PAM[1] = 1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffff

C3SAR

GPDMA channel 3 source address register

Offset: 0x21c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SA
rw
Toggle fields

SA

Bits 0-31: source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (GPDMA_CxTR1.SINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.SDW_LOG2[1:0]) after each burst source data, reflecting the next address from which data is read. During the channel activity, this address is updated after each completed source burst, consequently to: the programmed source burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.SINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.SBL_1[5:0] and GPDMA_CxTR1.SDW_LOG2[21:0] the additional source incremented/decremented offset value as programmed by GPDMA_CxBR1.SDEC and GPDMA_CxTR3.SAO[12:0]. once/if completed source block transfer, for a channel x with 2D addressing capability (x = 12 to 15). additional block repeat source incremented/decremented offset value as programmed by GPDMA_CxBR1.BRSDEC and GPDMA_CxBR2.BRSAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source burst (SA[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xffffffff

C3DAR

GPDMA channel 3 destination address register

Offset: 0x220, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 0-31: destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (GPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.DDW_LOG2[21:0]) after each burst destination data, reflecting the next address from which data is written. During the channel activity, this address is updated after each completed destination burst, consequently to: the programmed destination burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.DINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.DBL_1[5:0] and GPDMA_CxTR1.DDW_LOG2[1:0] the additional destination incremented/decremented offset value as programmed by GPDMA_CxBR1.DDEC and GPDMA_CxTR3.DAO[12:0]. once/if completed destination block transfer, for a channel x with 2D addressing capability (x = 12 to 15), the additional block repeat destination incremented/decremented offset value as programmed by GPDMA_CxBR1.BRDDEC and GPDMA_CxBR2.BRDAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by the GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination burst (DA[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffffffff

C3LLR

GPDMA channel 3 linked-list address register

Offset: 0x24c, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UT1
rw
UT2
rw
UB1
rw
USA
rw
UDA
rw
ULL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LA
rw
Toggle fields

LA

Bits 2-15: pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list GPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list GPDMA internal register file (GPDMA_CxCTR1, GPDMA_CxTR2, GPDMA_CxBR1, GPDMA_CxSAR, GPDMA_CxDAR and GPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored..

Allowed values: 0x0-0x3fff

ULL

Bit 16: Update GPDMA_CxLLR register from memory This bit is used to control the update of GPDMA_CxLLR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxLLR update
1: Update: CxLLR updated from memory during link transfer

UDA

Bit 27: Update GPDMA_CxDAR register from memory This bit is used to control the update of GPDMA_CxDAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxDAR update
1: Update: CxDAR updated from memory during link transfer

USA

Bit 28: update GPDMA_CxSAR from memory This bit controls the update of GPDMA_CxSAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxSAR update
1: Update: CxSAR updated from memory during link transfer

UB1

Bit 29: Update GPDMA_CxBR1 from memory This bit controls the update of GPDMA_CxBR1 from the memory during the link transfer. If UB1 = 0 and if GPDMA_CxLLR ≠ 0, the linked-list is not completed. GPDMA_CxBR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer..

Allowed values:
0: NoUpdate: No CxBR1 update
1: Update: CxBR1 updated from memory during link transfer

UT2

Bit 30: Update GPDMA_CxTR2 from memory This bit controls the update of GPDMA_CxTR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR2 update
1: Update: CxTR2 updated from memory during link transfer

UT1

Bit 31: Update GPDMA_CxTR1 from memory This bit controls the update of GPDMA_CxTR1 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR1 update
1: Update: CxTR1 updated from memory during link transfer

C4LBAR

GPDMA channel 4 linked-list base address register

Offset: 0x250, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LBA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

LBA

Bits 16-31: linked-list base address of GPDMA channel x.

Allowed values: 0x0-0xffff

C4FCR

GPDMA channel 4 flag clear register

Offset: 0x25c, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
w
SUSPF
w
USEF
w
ULEF
w
DTEF
w
HTF
w
TCF
w
Toggle fields

TCF

Bit 8: transfer complete flag clear.

Allowed values:
1: Clear: Clear flag

HTF

Bit 9: half transfer flag clear.

Allowed values:
1: Clear: Clear flag

DTEF

Bit 10: data transfer error flag clear.

Allowed values:
1: Clear: Clear flag

ULEF

Bit 11: update link transfer error flag clear.

Allowed values:
1: Clear: Clear flag

USEF

Bit 12: user setting error flag clear.

Allowed values:
1: Clear: Clear flag

SUSPF

Bit 13: completed suspension flag clear.

Allowed values:
1: Clear: Clear flag

TOF

Bit 14: trigger overrun flag clear.

Allowed values:
1: Clear: Clear flag

C4SR

GPDMA channel 4 status register

Offset: 0x260, size: 32, reset: 0x00000001, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
r
SUSPF
r
USEF
r
ULEF
r
DTEF
r
HTF
r
TCF
r
IDLEF
r
Toggle fields

IDLEF

Bit 0: idle flag This idle flag is deasserted by hardware when the channel is enabled (GPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state)..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TCF

Bit 8: transfer complete flag A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0])..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

HTF

Bit 9: half transfer flag A half transfer event is either a half block transfer or a half 2D/repeated block transfer, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0]). A half block transfer occurs when half of the bytes of the source block size (rounded up integer of GPDMA_CxBR1.BNDT[15:0]/2) has been transferred to the destination. A half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (GPDMA_CxBR1.BRC[10:0]+1)/2)) has been transferred to the destination..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

DTEF

Bit 10: data transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

ULEF

Bit 11: update link transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

USEF

Bit 12: user setting error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

SUSPF

Bit 13: completed suspension flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TOF

Bit 14: trigger overrun flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

FIFOL

Bits 16-23: monitored FIFO level Number of available write beats in the FIFO, in units of the programmed destination data width (see GPDMA_CxTR1.DDW_LOG2[1:0], in units of bytes, half-words, or words). Note: After having suspended an active transfer, the user may need to read FIFOL[7:0], additionally to GPDMA_CxBR1.BDNT[15:0] and GPDMA_CxBR1.BRC[10:0], to know how many data have been transferred to the destination. Before reading, the user may wait for the transfer to be suspended (GPDMA_CxSR.SUSPF = 1)..

Allowed values: 0x0-0xff

C4CR

GPDMA channel 4 control register

Offset: 0x264, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRIO
rw
LAP
rw
LSM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOIE
rw
SUSPIE
rw
USEIE
rw
ULEIE
rw
DTEIE
rw
HTIE
rw
TCIE
rw
SUSP
rw
RESET
w
EN
rw
Toggle fields

EN

Bit 0: enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is deasserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, for example if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored..

Allowed values:
0: Disabled: Channel disabled
1: Enabled: Channel enabled

RESET

Bit 1: reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (GPDMA_CxSR.SUSPF = 1 and GPDMA_CxSR.IDLEF = GPDMA_CxCR.EN = 1) - channel in disabled state (GPDMA_CxSR.IDLEF = 1 and GPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (GPDMA_CxBR1, GPDMA_CxSAR and GPDMA_CxDAR) before enabling again the channel (see the programming sequence in Figure 44)..

Allowed values:
1: Reset: Reset channel

SUSP

Bit 2: suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel (channel with an ongoing GPDMA transfer over its master ports). The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in Figure 43..

Allowed values:
0: NotSuspended: Channel operation not suspended
1: Suspended: Channel operation suspended

TCIE

Bit 8: transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HTIE

Bit 9: half transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

DTEIE

Bit 10: data transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

ULEIE

Bit 11: update link transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

USEIE

Bit 12: user setting error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

SUSPIE

Bit 13: completed suspension interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

TOIE

Bit 14: trigger overrun interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

LSM

Bit 16: Link step mode First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until GPDMA_CxBR1.BNDT[15:0] = 0 and GPDMA_CxBR1.BRC[10:0] = 0. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by GPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: FullLinkedList: Channel executed for full linked list
1: Once: Channel executed once for current linked list

LAP

Bit 17: linked-list allocated port This bit is used to allocate the master port for the update of the GPDMA linked-list registers from the memory. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

PRIO

Bits 22-23: priority level of the channel x GPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: LowPrioLowWeight: Low priority, low weight
1: LowPrioMidWeight: Low priority, mid weight
2: LowPrioHighWeight: Low priority, high weight
3: HighPrio: High priority

C4TR1

GPDMA channel 4 transfer register 1

Offset: 0x290, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAP
rw
DHX
rw
DBX
rw
DBL_1
rw
DINC
rw
DDW_LOG2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAP
rw
SBX
rw
PAM
rw
SBL_1
rw
SINC
rw
SDW_LOG2
rw
Toggle fields

SDW_LOG2

Bits 0-1: binary logarithm of the source data width of a burst in bytes Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (GPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. Note: A source burst transfer must have an aligned address with its data width (start address GPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

SINC

Bit 3: source incrementing burst The source address, pointed by GPDMA_CxSAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

SBL_1

Bits 4-9: source burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If SBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width SDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

PAM

Bits 11-12: padding/alignment mode If DDW_LOG2[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else, in the following enumerated values, the condition PAM_1 is when destination data width is higher that source data width, and the condition PAM_2 is when destination data width is higher than source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination Note: If the transfer from the source peripheral is configured with peripheral flow-control mode (SWREQ = 0 and PFREQ = 1 and DREQ = 0), and if the destination data width > the source data width, packing is not supported..

Allowed values: 0x0-0x3

PAM_1

Bits 11-12: PAM value when destination data width is higher than source data width.

Allowed values:
0: RightAlignedZeroPadded: Source data is transferred as right aligned, padded with 0s up to the destination data width
1: RightAlignedSignExtended: Source data is transferred as right aligned, sign extended up to the destination data width
2: Fifo: Source data are FIFO queued and packed at the destination data width, in little endian order, before a destination transfer

PAM_2

Bits 11-12: PAM value when source data width is higher than destination data width.

Allowed values:
0: RightAlignedLeftTruncated: Source data is transferred as right aligned, left-truncated down to the destination data width
1: LeftAlignedRightTruncated: Source data is transferred as left-aligned, right-truncated down to the destination data width
2: Fifo: Source data are FIFO queued and unpacked at the destination data width, in little endian order

SBX

Bit 13: source byte exchange within the unaligned half-word of each source word If the source data width is shorter than a word, this bit is ignored. If the source data width is a word:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

SAP

Bit 14: source allocated port This bit is used to allocate the master port for the source transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

DDW_LOG2

Bits 16-17: binary logarithm of the destination data width of a burst, in bytes Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. Note: A destination burst transfer must have an aligned address with its data width (start address GPDMA_CxDAR[2:0] and address offset GPDMA_CxTR3.DAO[2:0], versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and no transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

DINC

Bit 19: destination incrementing burst The destination address, pointed by GPDMA_CxDAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

DBL_1

Bits 20-25: destination burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If DBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width DDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

DBX

Bit 26: destination byte exchange If the destination data size is a byte, this bit is ignored. If the destination data size is not a byte:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

DHX

Bit 27: destination half-word exchange If the destination data size is shorter than a word, this bit is ignored. If the destination data size is a word:.

Allowed values:
0: NotExchanged: No halfword-based exchange within word
1: Exchanged: The two consecutive (post PAM) half-words are exchanged in each destination word

DAP

Bit 30: destination allocated port This bit is used to allocate the master port for the destination transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

C4TR2

GPDMA channel 4 transfer register 2

Offset: 0x294, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCEM
rw
TRIGPOL
rw
TRIGSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIGM
rw
PFREQ
rw
BREQ
rw
DREQ
rw
SWREQ
rw
REQSEL
rw
Toggle fields

REQSEL

Bits 0-7: GPDMA hardware request selection These bits are ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per Section 14.3.4. The user must not assign a same input hardware request (same REQSEL[7:0] value) to different active GPDMA channels (GPDMA_CxCR.EN = 1 and GPDMA_CxTR2.SWREQ = 0 for these channels). GPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting..

Allowed values:
0: ADC1_DMA: adc1_dma selected
2: DAC1_CH1_DMA: dac1_ch1_dma selected
3: DAC1_CH2_DMA: dac1_ch2_dma selected
4: TIM6_UPD_DMA: tim6_upd_dma selected
5: TIM7_UPD_DMA: tim7_upd_dma selected
6: SPI1_RX_DMA: spi1_rx_dma selected
7: SPI1_TX_DMA: spi1_tx_dma selected
8: SPI2_RX_DMA: spi2_rx_dma selected
9: SPI2_TX_DMA: spi2_tx_dma selected
10: SPI3_RX_DMA: spi3_rx_dma selected
11: SPI3_TX_DMA: spi3_tx_dma selected
12: I2C1_RX_DMA: i2c1_rx_dma selected
13: I2C1_TX_DMA: i2c1_tx_dma selected
15: I2C2_RX_DMA: i2c2_rx_dma selected
16: I2C2_TX_DMA: i2c2_tx_dma selected
18: I2C3_RX_DMA: i2c3_rx_dma selected
19: I2C3_TX_DMA: i2c3_tx_dma selected
21: USART1_RX_DMA: usart1_rx_dma selected
22: USART1_TX_DMA: usart1_tx_dma selected
23: USART2_RX_DMA: usart2_rx_dma selected
24: USART2_TX_DMA: usart2_tx_dma selected
25: USART3_RX_DMA: usart3_rx_dma selected
26: USART3_TX_DMA: usart3_tx_dma selected
27: UART4_RX_DMA: uart4_rx_dma selected
28: UART4_TX_DMA: uart4_tx_dma selected
29: UART5_RX_DMA: uart5_rx_dma selected
30: UART5_TX_DMA: uart5_tx_dma selected
31: USART6_RX_DMA: usart6_rx_dma selected
32: USART6_TX_DMA: usart6_tx_dma selected
33: UART7_RX_DMA: uart7_rx_dma selected
34: UART7_TX_DMA: uart7_tx_dma selected
35: UART8_RX_DMA: uart8_rx_dma selected
36: UART8_TX_DMA: uart8_tx_dma selected
37: UART9_RX_DMA: uart9_rx_dma selected
38: UART9_TX_DMA: uart9_tx_dma selected
39: UART10_RX_DMA: uart10_rx_dma selected
40: UART10_TX_DMA: uart10_tx_dma selected
41: UART11_RX_DMA: uart11_rx_dma selected
42: UART11_TX_DMA: uart11_tx_dma selected
43: UART12_RX_DMA: uart12_rx_dma selected
44: UART12_TX_DMA: uart12_tx_dma selected
45: LPUART1_RX_DMA: lpuart1_rx_dma selected
46: LPUART1_TX_DMA: lpuart1_tx_dma selected
47: SPI4_RX_DMA: spi4_rx_dma selected
48: SPI4_TX_DMA: spi4_tx_dma selected
49: SPI5_RX_DMA: spi5_rx_dma selected
50: SPI5_TX_DMA: spi5_tx_dma selected
51: SPI6_RX_DMA: spi6_rx_dma selected
52: SPI6_TX_DMA: spi6_tx_dma selected
53: SAI1_A_DMA: sai1_a_dma selected
54: SAI1_B_DMA: sai1_b_dma selected
55: SAI2_A_DMA: sai2_a_dma selected
56: SAI2_B_DMA: sai2_b_dma selected
57: OSPI1_DMA: ospi1_dma selected
58: TIM1_CC1_DMA: tim1_cc1_dma selected
59: TIM1_CC2_DMA: tim1_cc2_dma selected
60: TIM1_CC3_DMA: tim1_cc3_dma selected
61: TIM1_CC4_DMA: tim1_cc4_dma selected
62: TIM1_UPD_DMA: tim1_upd_dma selected
63: TIM1_TRG_DMA: tim1_trg_dma selected
64: TIM1_COM_DMA: tim1_com_dma selected
65: TIM8_CC1_DMA: tim8_cc1_dma selected
66: TIM8_CC2_DMA: tim8_cc2_dma selected
67: TIM8_CC3_DMA: tim8_cc3_dma selected
68: TIM8_CC4_DMA: tim8_cc4_dma selected
69: TIM8_UPD_DMA: tim8_upd_dma selected
70: TIM8_TIG_DMA: tim8_tig_dma selected
71: TIM8_COM_DMA: tim8_com_dma selected
72: TIM2_CC1_DMA: tim2_cc1_dma selected
73: TIM2_CC2_DMA: tim2_cc2_dma selected
74: TIM2_CC3_DMA: tim2_cc3_dma selected
75: TIM2_CC4_DMA: tim2_cc4_dma selected
76: TIM2_UPD_DMA: tim2_upd_dma selected
77: TIM3_CC1_DMA: tim3_cc1_dma selected
78: TIM3_CC2_DMA: tim3_cc2_dma selected
79: TIM3_CC3_DMA: tim3_cc3_dma selected
80: TIM3_CC4_DMA: tim3_cc4_dma selected
81: TIM3_UPD_DMA: tim3_upd_dma selected
82: TIM3_TRG_DMA: tim3_trg_dma selected
83: TIM4_CC1_DMA: tim4_cc1_dma selected
84: TIM4_CC2_DMA: tim4_cc2_dma selected
85: TIM4_CC3_DMA: tim4_cc3_dma selected
86: TIM4_CC4_DMA: tim4_cc4_dma selected
87: TIM4_UPD_DMA: tim4_upd_dma selected
88: TIM5_CC1_DMA: tim5_cc1_dma selected
89: TIM5_CC2_DMA: tim5_cc2_dma selected
90: TIM5_CC3_DMA: tim5_cc3_dma selected
91: TIM5_CC4_DMA: tim5_cc4_dma selected
92: TIM5_UPD_DMA: tim5_upd_dma selected
93: TIM5_TRG_DMA: tim5_trg_dma selected
94: TIM15_CC1_DMA: tim15_cc1_dma selected
95: TIM15_UPD_DMA: tim15_upd_dma selected
96: TIM15_TRG_DMA: tim15_trg_dma selected
97: TIM15_COM_DMA: tim15_com_dma selected
98: TIM16_CC1_DMA: tim16_cc1_dma selected
99: TIM16_UPD_DMA: tim16_upd_dma selected
100: TIM17_CC1_DMA: tim17_cc1_dma selected
101: TIM17_UPD_DMA: tim17_upd_dma selected
102: LPTIM1_IC1_DMA: lptim1_ic1_dma selected
103: LPTIM1_IC2_DMA: lptim1_ic2_dma selected
104: LPTIM1_UE_DMA: lptim1_ue_dma selected
105: LPTIM2_IC1_DMA: lptim2_ic1_dma selected
106: LPTIM2_IC2_DMA: lptim2_ic2_dma selected
107: LPTIM2_UE_DMA: lptim2_ue_dma selected
108: DCMI_PSSI_DMA: dcmi_dma or pssi_dma(1) selected
109: AES_OUT_DMA: aes_out_dma selected
110: AES_IN_DMA: aes_in_dma selected
111: HASH_IN_DMA: hash_in_dma selected
112: UCPD1_RX_DMA: ucpd1_rx_dma selected
113: UCPD1_TX_DMA: ucpd1_tx_dma selected
114: CORDIC_READ_DMA: cordic_read_dma selected
115: CORDIC_WRITE_DMA: cordic_write_dma selected
116: FMAC_READ_DMA: fmac_read_dma selected
117: FMAC_WRITE_DMA: fmac_write_dma selected
118: SAES_OUT_DMA: saes_out_dma selected
119: SAES_IN_DMA: saes_in_dma selected
120: I3C1_RX_DMA: i3c1_rx_dma selected
121: I3C1_TX_DMA: i3c1_tx_dma selected
122: I3C1_TC_DMA: i3c1_tc_dma selected
123: I3C1_RS_DMA: i3c1_rs_dma selected
124: I2C4_RX_DMA: i2c4_rx_dma selected
125: I2C4_TX_DMA: i2c4_tx_dma selected
127: LPTIM3_IC1_DMA: lptim3_ic1_dma selected
128: LPTIM3_IC2_DMA: lptim3_ic2_dma selected
129: LPTIM3_UE_DMA: lptim3_ue_dma selected
130: LPTIM5_IC1_DMA: lptim5_ic1_dma selected
131: LPTIM5_IC2_DMA: lptim5_ic2_dma selected
132: LPTIM5_UE_DMA: lptim5_ue_dma selected
133: LPTIM6_IC1_DMA: lptim6_ic1_dma selected
134: LPTIM6_IC2_DMA: lptim6_ic2_dma selected
135: LPTIM6_UE_DMA: lptim6_ue_dma selected
136: I3C2_RX: i3c2_rx selected
137: I3C2_TX: i3c2_tx selected
138: I3C2_TC: i3c2_tc selected
139: I3C2_RS: i3c2_rs selected

SWREQ

Bit 9: software request This bit is internally taken into account when GPDMA_CxCR.EN is asserted..

Allowed values:
0: Hardware: No software request. The selected hardware request REQSEL[7:0] is taken into account
1: Software: Software request for memory-to-memory transfer

DREQ

Bit 10: destination hardware request This bit is ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: If the channel x is activated (GPDMA_CxCR.EN is asserted) with SWREQ = 0 and PFREQ = 1 (peripheral hardware request with peripheral flow-control mode), any software assertion to this DREQ bit is ignored: in peripheral flow-control mode, only a peripheral-to-memory transfer is supported..

Allowed values:
0: Source: Selected hardware request driven by a source peripheral
1: Destination: Selected hardware request driven by a destination peripheral

BREQ

Bit 11: Block hardware request If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:.

Allowed values:
0: Burst: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level
1: Block: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level

PFREQ

Bit 12: Hardware request in peripheral flow control mode Important: If a given channel x is not implemented with this feature, this bit is reserved and PFREQ is not present (see Section 14.3.2 for the list of the implemented channels with this feature. If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: Note: In peripheral flow control mode, there are the following restrictions: Note: - no 2D/repeated block support (GPDMA_CxBR1.BRC[10:0] must be set to 0) Note: - the peripheral must be set as the source of the transfer (DREQ = 0). Note: - data packing to a wider destination width is not supported (if destination width > source data width, GPDMA_CxTR1.PAM[1] must be set to 0). Note: - GPDMA_CxBR1.BNDT[15:0] must be programmed as a multiple of the source (peripheral) burst size..

Allowed values:
0: GpdmaControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in GPDMA control mode
1: PeripheralControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in peripheral control mode.

TRIGM

Bits 14-15: trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (GPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a GPDMA transfer is conditioned by at least one trigger hit: – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The GPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLI<sub>n+1</sub> that updates the GPDMA_CxTR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLI<sub>n </sub>trigger. After a first new trigger hit<sub>n+1</sub> is memorized, if another second trigger hit<sub>n+2</sub> is detected and if the hit<sub>n</sub> triggered transfer is still not completed, hit<sub>n+2 </sub>is lost and not memorized.memorized. A trigger overrun flag is reported (GPDMA_CxSR.TOF =1 ), and an interrupt is generated if enabled (GPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. Note: When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger..

Allowed values:
0: BlockLevel: At block level: the first burst read of each block transfer is conditioned by one hit trigger
2: LinkLevel: At link level: a LLI link transfer is conditioned by one hit trigger
3: ProgrammedBurstLevel: At programmed burst level: programmed burst read is conditioned by one hit trigger.

TRIGSEL

Bits 16-21: trigger event input selection These bits select the trigger event input of the GPDMA transfer (as per Section 14.3.7), with an active trigger event if TRIGPOL[1:0] ≠ 00..

Allowed values:
0: EXTI0: exti0 is trigger input
1: EXTI1: exti1 is trigger input
2: EXTI2: exti2 is trigger input
3: EXTI3: exti3 is trigger input
4: EXTI4: exti4 is trigger input
5: EXTI5: exti5 is trigger input
6: EXTI6: exti6 is trigger input
7: EXTI7: exti7 is trigger input
8: TAMP_TRG1: tamp_trg1 is trigger input
9: TAMP_TRG2: tamp_trg2 is trigger input
11: LPTIM1_CH1: lptim1_ch1 is trigger input
12: LPTIM1_CH2: lptim1_ch2 is trigger input
13: LPTIM2_CH1: lptim2_ch1 is trigger input
14: LPTIM2_CH2: lptim2_ch2 is trigger input
15: RTC_ALRA_TRG: rtc_alra_trg is trigger input
16: RTC_ALRB_TRG: rtc_alrb_trg is trigger input
17: RTC_WUT_TRG: rtc_wut_trg is trigger input
18: GPDMA1_CH0_TC: gpdma1_ch0_tc is trigger input
19: GPDMA1_CH1_TC: gpdma1_ch1_tc is trigger input
20: GPDMA1_CH2_TC: gpdma1_ch2_tc is trigger input
21: GPDMA1_CH3_TC: gpdma1_ch3_tc is trigger input
22: GPDMA1_CH4_TC: gpdma1_ch4_tc is trigger input
23: GPDMA1_CH5_TC: gpdma1_ch5_tc is trigger input
24: GPDMA1_CH6_TC: gpdma1_ch6_tc is trigger input
25: GPDMA1_CH7_TC: gpdma1_ch7_tc is trigger input
26: GPDMA2_CH0_TC: gpdma2_ch0_tc is trigger input
27: GPDMA2_CH1_TC: gpdma2_ch1_tc is trigger input
28: GPDMA2_CH2_TC: gpdma2_ch2_tc is trigger input
29: GPDMA2_CH3_TC: gpdma2_ch3_tc is trigger input
30: GPDMA2_CH4_TC: gpdma2_ch4_tc is trigger input
31: GPDMA2_CH5_TC: gpdma2_ch5_tc is trigger input
32: GPDMA2_CH6_TC: gpdma2_ch6_tc is trigger input
33: GPDMA2_CH7_TC: gpdma2_ch7_tc is trigger input
34: TIM2_TRG0: tim2_trgo is trigger input
44: COMP1_OUT: comp1_out is trigger input

TRIGPOL

Bits 24-25: trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]..

Allowed values:
0: NoTrigger: No trigger
1: RisingEdge: Trigger on rising edge
2: FallingEdge: Trigger on falling edge

TCEM

Bits 30-31: transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (i.e. directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI<sub>1</sub>..

Allowed values:
0: BlockLevel: At block level: the complete (and the half) transfer event is generated at the (respectively half of the) end of a block
2: LliLevel: At LLI level: the complete transfer event is generated at the end of the LLI transfer. The half transfer event is generated at the half of the LLI data transfer
3: ChannelLevel: At channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI

C4BR1

GPDMA channel 4 block register 1

Offset: 0x298, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BNDT
rw
Toggle fields

BNDT

Bits 0-15: block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if GPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if GPDMA_CxLLR.UB1 = 0 and if there is at least one non null Uxx update bit, this field is internally restored to the programmed value. - if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] = 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: When configured in packing mode (GPDMA_CxTR1.PAM[1] = 1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffff

C4SAR

GPDMA channel 4 source address register

Offset: 0x29c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SA
rw
Toggle fields

SA

Bits 0-31: source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (GPDMA_CxTR1.SINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.SDW_LOG2[1:0]) after each burst source data, reflecting the next address from which data is read. During the channel activity, this address is updated after each completed source burst, consequently to: the programmed source burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.SINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.SBL_1[5:0] and GPDMA_CxTR1.SDW_LOG2[21:0] the additional source incremented/decremented offset value as programmed by GPDMA_CxBR1.SDEC and GPDMA_CxTR3.SAO[12:0]. once/if completed source block transfer, for a channel x with 2D addressing capability (x = 12 to 15). additional block repeat source incremented/decremented offset value as programmed by GPDMA_CxBR1.BRSDEC and GPDMA_CxBR2.BRSAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source burst (SA[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xffffffff

C4DAR

GPDMA channel 4 destination address register

Offset: 0x2a0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 0-31: destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (GPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.DDW_LOG2[21:0]) after each burst destination data, reflecting the next address from which data is written. During the channel activity, this address is updated after each completed destination burst, consequently to: the programmed destination burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.DINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.DBL_1[5:0] and GPDMA_CxTR1.DDW_LOG2[1:0] the additional destination incremented/decremented offset value as programmed by GPDMA_CxBR1.DDEC and GPDMA_CxTR3.DAO[12:0]. once/if completed destination block transfer, for a channel x with 2D addressing capability (x = 12 to 15), the additional block repeat destination incremented/decremented offset value as programmed by GPDMA_CxBR1.BRDDEC and GPDMA_CxBR2.BRDAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by the GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination burst (DA[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffffffff

C4LLR

GPDMA channel 4 linked-list address register

Offset: 0x2cc, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UT1
rw
UT2
rw
UB1
rw
USA
rw
UDA
rw
ULL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LA
rw
Toggle fields

LA

Bits 2-15: pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list GPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list GPDMA internal register file (GPDMA_CxCTR1, GPDMA_CxTR2, GPDMA_CxBR1, GPDMA_CxSAR, GPDMA_CxDAR and GPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored..

Allowed values: 0x0-0x3fff

ULL

Bit 16: Update GPDMA_CxLLR register from memory This bit is used to control the update of GPDMA_CxLLR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxLLR update
1: Update: CxLLR updated from memory during link transfer

UDA

Bit 27: Update GPDMA_CxDAR register from memory This bit is used to control the update of GPDMA_CxDAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxDAR update
1: Update: CxDAR updated from memory during link transfer

USA

Bit 28: update GPDMA_CxSAR from memory This bit controls the update of GPDMA_CxSAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxSAR update
1: Update: CxSAR updated from memory during link transfer

UB1

Bit 29: Update GPDMA_CxBR1 from memory This bit controls the update of GPDMA_CxBR1 from the memory during the link transfer. If UB1 = 0 and if GPDMA_CxLLR ≠ 0, the linked-list is not completed. GPDMA_CxBR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer..

Allowed values:
0: NoUpdate: No CxBR1 update
1: Update: CxBR1 updated from memory during link transfer

UT2

Bit 30: Update GPDMA_CxTR2 from memory This bit controls the update of GPDMA_CxTR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR2 update
1: Update: CxTR2 updated from memory during link transfer

UT1

Bit 31: Update GPDMA_CxTR1 from memory This bit controls the update of GPDMA_CxTR1 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR1 update
1: Update: CxTR1 updated from memory during link transfer

C5LBAR

GPDMA channel 5 linked-list base address register

Offset: 0x2d0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LBA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

LBA

Bits 16-31: linked-list base address of GPDMA channel x.

Allowed values: 0x0-0xffff

C5FCR

GPDMA channel 5 flag clear register

Offset: 0x2dc, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
w
SUSPF
w
USEF
w
ULEF
w
DTEF
w
HTF
w
TCF
w
Toggle fields

TCF

Bit 8: transfer complete flag clear.

Allowed values:
1: Clear: Clear flag

HTF

Bit 9: half transfer flag clear.

Allowed values:
1: Clear: Clear flag

DTEF

Bit 10: data transfer error flag clear.

Allowed values:
1: Clear: Clear flag

ULEF

Bit 11: update link transfer error flag clear.

Allowed values:
1: Clear: Clear flag

USEF

Bit 12: user setting error flag clear.

Allowed values:
1: Clear: Clear flag

SUSPF

Bit 13: completed suspension flag clear.

Allowed values:
1: Clear: Clear flag

TOF

Bit 14: trigger overrun flag clear.

Allowed values:
1: Clear: Clear flag

C5SR

GPDMA channel 5 status register

Offset: 0x2e0, size: 32, reset: 0x00000001, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
r
SUSPF
r
USEF
r
ULEF
r
DTEF
r
HTF
r
TCF
r
IDLEF
r
Toggle fields

IDLEF

Bit 0: idle flag This idle flag is deasserted by hardware when the channel is enabled (GPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state)..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TCF

Bit 8: transfer complete flag A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0])..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

HTF

Bit 9: half transfer flag A half transfer event is either a half block transfer or a half 2D/repeated block transfer, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0]). A half block transfer occurs when half of the bytes of the source block size (rounded up integer of GPDMA_CxBR1.BNDT[15:0]/2) has been transferred to the destination. A half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (GPDMA_CxBR1.BRC[10:0]+1)/2)) has been transferred to the destination..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

DTEF

Bit 10: data transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

ULEF

Bit 11: update link transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

USEF

Bit 12: user setting error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

SUSPF

Bit 13: completed suspension flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TOF

Bit 14: trigger overrun flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

FIFOL

Bits 16-23: monitored FIFO level Number of available write beats in the FIFO, in units of the programmed destination data width (see GPDMA_CxTR1.DDW_LOG2[1:0], in units of bytes, half-words, or words). Note: After having suspended an active transfer, the user may need to read FIFOL[7:0], additionally to GPDMA_CxBR1.BDNT[15:0] and GPDMA_CxBR1.BRC[10:0], to know how many data have been transferred to the destination. Before reading, the user may wait for the transfer to be suspended (GPDMA_CxSR.SUSPF = 1)..

Allowed values: 0x0-0xff

C5CR

GPDMA channel 5 control register

Offset: 0x2e4, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRIO
rw
LAP
rw
LSM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOIE
rw
SUSPIE
rw
USEIE
rw
ULEIE
rw
DTEIE
rw
HTIE
rw
TCIE
rw
SUSP
rw
RESET
w
EN
rw
Toggle fields

EN

Bit 0: enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is deasserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, for example if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored..

Allowed values:
0: Disabled: Channel disabled
1: Enabled: Channel enabled

RESET

Bit 1: reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (GPDMA_CxSR.SUSPF = 1 and GPDMA_CxSR.IDLEF = GPDMA_CxCR.EN = 1) - channel in disabled state (GPDMA_CxSR.IDLEF = 1 and GPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (GPDMA_CxBR1, GPDMA_CxSAR and GPDMA_CxDAR) before enabling again the channel (see the programming sequence in Figure 44)..

Allowed values:
1: Reset: Reset channel

SUSP

Bit 2: suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel (channel with an ongoing GPDMA transfer over its master ports). The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in Figure 43..

Allowed values:
0: NotSuspended: Channel operation not suspended
1: Suspended: Channel operation suspended

TCIE

Bit 8: transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HTIE

Bit 9: half transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

DTEIE

Bit 10: data transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

ULEIE

Bit 11: update link transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

USEIE

Bit 12: user setting error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

SUSPIE

Bit 13: completed suspension interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

TOIE

Bit 14: trigger overrun interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

LSM

Bit 16: Link step mode First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until GPDMA_CxBR1.BNDT[15:0] = 0 and GPDMA_CxBR1.BRC[10:0] = 0. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by GPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: FullLinkedList: Channel executed for full linked list
1: Once: Channel executed once for current linked list

LAP

Bit 17: linked-list allocated port This bit is used to allocate the master port for the update of the GPDMA linked-list registers from the memory. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

PRIO

Bits 22-23: priority level of the channel x GPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: LowPrioLowWeight: Low priority, low weight
1: LowPrioMidWeight: Low priority, mid weight
2: LowPrioHighWeight: Low priority, high weight
3: HighPrio: High priority

C5TR1

GPDMA channel 5 transfer register 1

Offset: 0x310, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAP
rw
DHX
rw
DBX
rw
DBL_1
rw
DINC
rw
DDW_LOG2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAP
rw
SBX
rw
PAM
rw
SBL_1
rw
SINC
rw
SDW_LOG2
rw
Toggle fields

SDW_LOG2

Bits 0-1: binary logarithm of the source data width of a burst in bytes Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (GPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. Note: A source burst transfer must have an aligned address with its data width (start address GPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

SINC

Bit 3: source incrementing burst The source address, pointed by GPDMA_CxSAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

SBL_1

Bits 4-9: source burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If SBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width SDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

PAM

Bits 11-12: padding/alignment mode If DDW_LOG2[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else, in the following enumerated values, the condition PAM_1 is when destination data width is higher that source data width, and the condition PAM_2 is when destination data width is higher than source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination Note: If the transfer from the source peripheral is configured with peripheral flow-control mode (SWREQ = 0 and PFREQ = 1 and DREQ = 0), and if the destination data width > the source data width, packing is not supported..

Allowed values: 0x0-0x3

PAM_1

Bits 11-12: PAM value when destination data width is higher than source data width.

Allowed values:
0: RightAlignedZeroPadded: Source data is transferred as right aligned, padded with 0s up to the destination data width
1: RightAlignedSignExtended: Source data is transferred as right aligned, sign extended up to the destination data width
2: Fifo: Source data are FIFO queued and packed at the destination data width, in little endian order, before a destination transfer

PAM_2

Bits 11-12: PAM value when source data width is higher than destination data width.

Allowed values:
0: RightAlignedLeftTruncated: Source data is transferred as right aligned, left-truncated down to the destination data width
1: LeftAlignedRightTruncated: Source data is transferred as left-aligned, right-truncated down to the destination data width
2: Fifo: Source data are FIFO queued and unpacked at the destination data width, in little endian order

SBX

Bit 13: source byte exchange within the unaligned half-word of each source word If the source data width is shorter than a word, this bit is ignored. If the source data width is a word:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

SAP

Bit 14: source allocated port This bit is used to allocate the master port for the source transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

DDW_LOG2

Bits 16-17: binary logarithm of the destination data width of a burst, in bytes Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. Note: A destination burst transfer must have an aligned address with its data width (start address GPDMA_CxDAR[2:0] and address offset GPDMA_CxTR3.DAO[2:0], versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and no transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

DINC

Bit 19: destination incrementing burst The destination address, pointed by GPDMA_CxDAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

DBL_1

Bits 20-25: destination burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If DBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width DDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

DBX

Bit 26: destination byte exchange If the destination data size is a byte, this bit is ignored. If the destination data size is not a byte:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

DHX

Bit 27: destination half-word exchange If the destination data size is shorter than a word, this bit is ignored. If the destination data size is a word:.

Allowed values:
0: NotExchanged: No halfword-based exchange within word
1: Exchanged: The two consecutive (post PAM) half-words are exchanged in each destination word

DAP

Bit 30: destination allocated port This bit is used to allocate the master port for the destination transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

C5TR2

GPDMA channel 5 transfer register 2

Offset: 0x314, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCEM
rw
TRIGPOL
rw
TRIGSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIGM
rw
PFREQ
rw
BREQ
rw
DREQ
rw
SWREQ
rw
REQSEL
rw
Toggle fields

REQSEL

Bits 0-7: GPDMA hardware request selection These bits are ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per Section 14.3.4. The user must not assign a same input hardware request (same REQSEL[7:0] value) to different active GPDMA channels (GPDMA_CxCR.EN = 1 and GPDMA_CxTR2.SWREQ = 0 for these channels). GPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting..

Allowed values:
0: ADC1_DMA: adc1_dma selected
2: DAC1_CH1_DMA: dac1_ch1_dma selected
3: DAC1_CH2_DMA: dac1_ch2_dma selected
4: TIM6_UPD_DMA: tim6_upd_dma selected
5: TIM7_UPD_DMA: tim7_upd_dma selected
6: SPI1_RX_DMA: spi1_rx_dma selected
7: SPI1_TX_DMA: spi1_tx_dma selected
8: SPI2_RX_DMA: spi2_rx_dma selected
9: SPI2_TX_DMA: spi2_tx_dma selected
10: SPI3_RX_DMA: spi3_rx_dma selected
11: SPI3_TX_DMA: spi3_tx_dma selected
12: I2C1_RX_DMA: i2c1_rx_dma selected
13: I2C1_TX_DMA: i2c1_tx_dma selected
15: I2C2_RX_DMA: i2c2_rx_dma selected
16: I2C2_TX_DMA: i2c2_tx_dma selected
18: I2C3_RX_DMA: i2c3_rx_dma selected
19: I2C3_TX_DMA: i2c3_tx_dma selected
21: USART1_RX_DMA: usart1_rx_dma selected
22: USART1_TX_DMA: usart1_tx_dma selected
23: USART2_RX_DMA: usart2_rx_dma selected
24: USART2_TX_DMA: usart2_tx_dma selected
25: USART3_RX_DMA: usart3_rx_dma selected
26: USART3_TX_DMA: usart3_tx_dma selected
27: UART4_RX_DMA: uart4_rx_dma selected
28: UART4_TX_DMA: uart4_tx_dma selected
29: UART5_RX_DMA: uart5_rx_dma selected
30: UART5_TX_DMA: uart5_tx_dma selected
31: USART6_RX_DMA: usart6_rx_dma selected
32: USART6_TX_DMA: usart6_tx_dma selected
33: UART7_RX_DMA: uart7_rx_dma selected
34: UART7_TX_DMA: uart7_tx_dma selected
35: UART8_RX_DMA: uart8_rx_dma selected
36: UART8_TX_DMA: uart8_tx_dma selected
37: UART9_RX_DMA: uart9_rx_dma selected
38: UART9_TX_DMA: uart9_tx_dma selected
39: UART10_RX_DMA: uart10_rx_dma selected
40: UART10_TX_DMA: uart10_tx_dma selected
41: UART11_RX_DMA: uart11_rx_dma selected
42: UART11_TX_DMA: uart11_tx_dma selected
43: UART12_RX_DMA: uart12_rx_dma selected
44: UART12_TX_DMA: uart12_tx_dma selected
45: LPUART1_RX_DMA: lpuart1_rx_dma selected
46: LPUART1_TX_DMA: lpuart1_tx_dma selected
47: SPI4_RX_DMA: spi4_rx_dma selected
48: SPI4_TX_DMA: spi4_tx_dma selected
49: SPI5_RX_DMA: spi5_rx_dma selected
50: SPI5_TX_DMA: spi5_tx_dma selected
51: SPI6_RX_DMA: spi6_rx_dma selected
52: SPI6_TX_DMA: spi6_tx_dma selected
53: SAI1_A_DMA: sai1_a_dma selected
54: SAI1_B_DMA: sai1_b_dma selected
55: SAI2_A_DMA: sai2_a_dma selected
56: SAI2_B_DMA: sai2_b_dma selected
57: OSPI1_DMA: ospi1_dma selected
58: TIM1_CC1_DMA: tim1_cc1_dma selected
59: TIM1_CC2_DMA: tim1_cc2_dma selected
60: TIM1_CC3_DMA: tim1_cc3_dma selected
61: TIM1_CC4_DMA: tim1_cc4_dma selected
62: TIM1_UPD_DMA: tim1_upd_dma selected
63: TIM1_TRG_DMA: tim1_trg_dma selected
64: TIM1_COM_DMA: tim1_com_dma selected
65: TIM8_CC1_DMA: tim8_cc1_dma selected
66: TIM8_CC2_DMA: tim8_cc2_dma selected
67: TIM8_CC3_DMA: tim8_cc3_dma selected
68: TIM8_CC4_DMA: tim8_cc4_dma selected
69: TIM8_UPD_DMA: tim8_upd_dma selected
70: TIM8_TIG_DMA: tim8_tig_dma selected
71: TIM8_COM_DMA: tim8_com_dma selected
72: TIM2_CC1_DMA: tim2_cc1_dma selected
73: TIM2_CC2_DMA: tim2_cc2_dma selected
74: TIM2_CC3_DMA: tim2_cc3_dma selected
75: TIM2_CC4_DMA: tim2_cc4_dma selected
76: TIM2_UPD_DMA: tim2_upd_dma selected
77: TIM3_CC1_DMA: tim3_cc1_dma selected
78: TIM3_CC2_DMA: tim3_cc2_dma selected
79: TIM3_CC3_DMA: tim3_cc3_dma selected
80: TIM3_CC4_DMA: tim3_cc4_dma selected
81: TIM3_UPD_DMA: tim3_upd_dma selected
82: TIM3_TRG_DMA: tim3_trg_dma selected
83: TIM4_CC1_DMA: tim4_cc1_dma selected
84: TIM4_CC2_DMA: tim4_cc2_dma selected
85: TIM4_CC3_DMA: tim4_cc3_dma selected
86: TIM4_CC4_DMA: tim4_cc4_dma selected
87: TIM4_UPD_DMA: tim4_upd_dma selected
88: TIM5_CC1_DMA: tim5_cc1_dma selected
89: TIM5_CC2_DMA: tim5_cc2_dma selected
90: TIM5_CC3_DMA: tim5_cc3_dma selected
91: TIM5_CC4_DMA: tim5_cc4_dma selected
92: TIM5_UPD_DMA: tim5_upd_dma selected
93: TIM5_TRG_DMA: tim5_trg_dma selected
94: TIM15_CC1_DMA: tim15_cc1_dma selected
95: TIM15_UPD_DMA: tim15_upd_dma selected
96: TIM15_TRG_DMA: tim15_trg_dma selected
97: TIM15_COM_DMA: tim15_com_dma selected
98: TIM16_CC1_DMA: tim16_cc1_dma selected
99: TIM16_UPD_DMA: tim16_upd_dma selected
100: TIM17_CC1_DMA: tim17_cc1_dma selected
101: TIM17_UPD_DMA: tim17_upd_dma selected
102: LPTIM1_IC1_DMA: lptim1_ic1_dma selected
103: LPTIM1_IC2_DMA: lptim1_ic2_dma selected
104: LPTIM1_UE_DMA: lptim1_ue_dma selected
105: LPTIM2_IC1_DMA: lptim2_ic1_dma selected
106: LPTIM2_IC2_DMA: lptim2_ic2_dma selected
107: LPTIM2_UE_DMA: lptim2_ue_dma selected
108: DCMI_PSSI_DMA: dcmi_dma or pssi_dma(1) selected
109: AES_OUT_DMA: aes_out_dma selected
110: AES_IN_DMA: aes_in_dma selected
111: HASH_IN_DMA: hash_in_dma selected
112: UCPD1_RX_DMA: ucpd1_rx_dma selected
113: UCPD1_TX_DMA: ucpd1_tx_dma selected
114: CORDIC_READ_DMA: cordic_read_dma selected
115: CORDIC_WRITE_DMA: cordic_write_dma selected
116: FMAC_READ_DMA: fmac_read_dma selected
117: FMAC_WRITE_DMA: fmac_write_dma selected
118: SAES_OUT_DMA: saes_out_dma selected
119: SAES_IN_DMA: saes_in_dma selected
120: I3C1_RX_DMA: i3c1_rx_dma selected
121: I3C1_TX_DMA: i3c1_tx_dma selected
122: I3C1_TC_DMA: i3c1_tc_dma selected
123: I3C1_RS_DMA: i3c1_rs_dma selected
124: I2C4_RX_DMA: i2c4_rx_dma selected
125: I2C4_TX_DMA: i2c4_tx_dma selected
127: LPTIM3_IC1_DMA: lptim3_ic1_dma selected
128: LPTIM3_IC2_DMA: lptim3_ic2_dma selected
129: LPTIM3_UE_DMA: lptim3_ue_dma selected
130: LPTIM5_IC1_DMA: lptim5_ic1_dma selected
131: LPTIM5_IC2_DMA: lptim5_ic2_dma selected
132: LPTIM5_UE_DMA: lptim5_ue_dma selected
133: LPTIM6_IC1_DMA: lptim6_ic1_dma selected
134: LPTIM6_IC2_DMA: lptim6_ic2_dma selected
135: LPTIM6_UE_DMA: lptim6_ue_dma selected
136: I3C2_RX: i3c2_rx selected
137: I3C2_TX: i3c2_tx selected
138: I3C2_TC: i3c2_tc selected
139: I3C2_RS: i3c2_rs selected

SWREQ

Bit 9: software request This bit is internally taken into account when GPDMA_CxCR.EN is asserted..

Allowed values:
0: Hardware: No software request. The selected hardware request REQSEL[7:0] is taken into account
1: Software: Software request for memory-to-memory transfer

DREQ

Bit 10: destination hardware request This bit is ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: If the channel x is activated (GPDMA_CxCR.EN is asserted) with SWREQ = 0 and PFREQ = 1 (peripheral hardware request with peripheral flow-control mode), any software assertion to this DREQ bit is ignored: in peripheral flow-control mode, only a peripheral-to-memory transfer is supported..

Allowed values:
0: Source: Selected hardware request driven by a source peripheral
1: Destination: Selected hardware request driven by a destination peripheral

BREQ

Bit 11: Block hardware request If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:.

Allowed values:
0: Burst: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level
1: Block: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level

PFREQ

Bit 12: Hardware request in peripheral flow control mode Important: If a given channel x is not implemented with this feature, this bit is reserved and PFREQ is not present (see Section 14.3.2 for the list of the implemented channels with this feature. If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: Note: In peripheral flow control mode, there are the following restrictions: Note: - no 2D/repeated block support (GPDMA_CxBR1.BRC[10:0] must be set to 0) Note: - the peripheral must be set as the source of the transfer (DREQ = 0). Note: - data packing to a wider destination width is not supported (if destination width > source data width, GPDMA_CxTR1.PAM[1] must be set to 0). Note: - GPDMA_CxBR1.BNDT[15:0] must be programmed as a multiple of the source (peripheral) burst size..

Allowed values:
0: GpdmaControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in GPDMA control mode
1: PeripheralControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in peripheral control mode.

TRIGM

Bits 14-15: trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (GPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a GPDMA transfer is conditioned by at least one trigger hit: – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The GPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLI<sub>n+1</sub> that updates the GPDMA_CxTR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLI<sub>n </sub>trigger. After a first new trigger hit<sub>n+1</sub> is memorized, if another second trigger hit<sub>n+2</sub> is detected and if the hit<sub>n</sub> triggered transfer is still not completed, hit<sub>n+2 </sub>is lost and not memorized.memorized. A trigger overrun flag is reported (GPDMA_CxSR.TOF =1 ), and an interrupt is generated if enabled (GPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. Note: When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger..

Allowed values:
0: BlockLevel: At block level: the first burst read of each block transfer is conditioned by one hit trigger
2: LinkLevel: At link level: a LLI link transfer is conditioned by one hit trigger
3: ProgrammedBurstLevel: At programmed burst level: programmed burst read is conditioned by one hit trigger.

TRIGSEL

Bits 16-21: trigger event input selection These bits select the trigger event input of the GPDMA transfer (as per Section 14.3.7), with an active trigger event if TRIGPOL[1:0] ≠ 00..

Allowed values:
0: EXTI0: exti0 is trigger input
1: EXTI1: exti1 is trigger input
2: EXTI2: exti2 is trigger input
3: EXTI3: exti3 is trigger input
4: EXTI4: exti4 is trigger input
5: EXTI5: exti5 is trigger input
6: EXTI6: exti6 is trigger input
7: EXTI7: exti7 is trigger input
8: TAMP_TRG1: tamp_trg1 is trigger input
9: TAMP_TRG2: tamp_trg2 is trigger input
11: LPTIM1_CH1: lptim1_ch1 is trigger input
12: LPTIM1_CH2: lptim1_ch2 is trigger input
13: LPTIM2_CH1: lptim2_ch1 is trigger input
14: LPTIM2_CH2: lptim2_ch2 is trigger input
15: RTC_ALRA_TRG: rtc_alra_trg is trigger input
16: RTC_ALRB_TRG: rtc_alrb_trg is trigger input
17: RTC_WUT_TRG: rtc_wut_trg is trigger input
18: GPDMA1_CH0_TC: gpdma1_ch0_tc is trigger input
19: GPDMA1_CH1_TC: gpdma1_ch1_tc is trigger input
20: GPDMA1_CH2_TC: gpdma1_ch2_tc is trigger input
21: GPDMA1_CH3_TC: gpdma1_ch3_tc is trigger input
22: GPDMA1_CH4_TC: gpdma1_ch4_tc is trigger input
23: GPDMA1_CH5_TC: gpdma1_ch5_tc is trigger input
24: GPDMA1_CH6_TC: gpdma1_ch6_tc is trigger input
25: GPDMA1_CH7_TC: gpdma1_ch7_tc is trigger input
26: GPDMA2_CH0_TC: gpdma2_ch0_tc is trigger input
27: GPDMA2_CH1_TC: gpdma2_ch1_tc is trigger input
28: GPDMA2_CH2_TC: gpdma2_ch2_tc is trigger input
29: GPDMA2_CH3_TC: gpdma2_ch3_tc is trigger input
30: GPDMA2_CH4_TC: gpdma2_ch4_tc is trigger input
31: GPDMA2_CH5_TC: gpdma2_ch5_tc is trigger input
32: GPDMA2_CH6_TC: gpdma2_ch6_tc is trigger input
33: GPDMA2_CH7_TC: gpdma2_ch7_tc is trigger input
34: TIM2_TRG0: tim2_trgo is trigger input
44: COMP1_OUT: comp1_out is trigger input

TRIGPOL

Bits 24-25: trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]..

Allowed values:
0: NoTrigger: No trigger
1: RisingEdge: Trigger on rising edge
2: FallingEdge: Trigger on falling edge

TCEM

Bits 30-31: transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (i.e. directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI<sub>1</sub>..

Allowed values:
0: BlockLevel: At block level: the complete (and the half) transfer event is generated at the (respectively half of the) end of a block
2: LliLevel: At LLI level: the complete transfer event is generated at the end of the LLI transfer. The half transfer event is generated at the half of the LLI data transfer
3: ChannelLevel: At channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI

C5BR1

GPDMA channel 5 block register 1

Offset: 0x318, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BNDT
rw
Toggle fields

BNDT

Bits 0-15: block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if GPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if GPDMA_CxLLR.UB1 = 0 and if there is at least one non null Uxx update bit, this field is internally restored to the programmed value. - if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] = 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: When configured in packing mode (GPDMA_CxTR1.PAM[1] = 1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffff

C5SAR

GPDMA channel 5 source address register

Offset: 0x31c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SA
rw
Toggle fields

SA

Bits 0-31: source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (GPDMA_CxTR1.SINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.SDW_LOG2[1:0]) after each burst source data, reflecting the next address from which data is read. During the channel activity, this address is updated after each completed source burst, consequently to: the programmed source burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.SINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.SBL_1[5:0] and GPDMA_CxTR1.SDW_LOG2[21:0] the additional source incremented/decremented offset value as programmed by GPDMA_CxBR1.SDEC and GPDMA_CxTR3.SAO[12:0]. once/if completed source block transfer, for a channel x with 2D addressing capability (x = 12 to 15). additional block repeat source incremented/decremented offset value as programmed by GPDMA_CxBR1.BRSDEC and GPDMA_CxBR2.BRSAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source burst (SA[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xffffffff

C5DAR

GPDMA channel 5 destination address register

Offset: 0x320, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 0-31: destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (GPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.DDW_LOG2[21:0]) after each burst destination data, reflecting the next address from which data is written. During the channel activity, this address is updated after each completed destination burst, consequently to: the programmed destination burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.DINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.DBL_1[5:0] and GPDMA_CxTR1.DDW_LOG2[1:0] the additional destination incremented/decremented offset value as programmed by GPDMA_CxBR1.DDEC and GPDMA_CxTR3.DAO[12:0]. once/if completed destination block transfer, for a channel x with 2D addressing capability (x = 12 to 15), the additional block repeat destination incremented/decremented offset value as programmed by GPDMA_CxBR1.BRDDEC and GPDMA_CxBR2.BRDAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by the GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination burst (DA[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffffffff

C5LLR

GPDMA channel 5 linked-list address register

Offset: 0x34c, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UT1
rw
UT2
rw
UB1
rw
USA
rw
UDA
rw
ULL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LA
rw
Toggle fields

LA

Bits 2-15: pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list GPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list GPDMA internal register file (GPDMA_CxCTR1, GPDMA_CxTR2, GPDMA_CxBR1, GPDMA_CxSAR, GPDMA_CxDAR and GPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored..

Allowed values: 0x0-0x3fff

ULL

Bit 16: Update GPDMA_CxLLR register from memory This bit is used to control the update of GPDMA_CxLLR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxLLR update
1: Update: CxLLR updated from memory during link transfer

UDA

Bit 27: Update GPDMA_CxDAR register from memory This bit is used to control the update of GPDMA_CxDAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxDAR update
1: Update: CxDAR updated from memory during link transfer

USA

Bit 28: update GPDMA_CxSAR from memory This bit controls the update of GPDMA_CxSAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxSAR update
1: Update: CxSAR updated from memory during link transfer

UB1

Bit 29: Update GPDMA_CxBR1 from memory This bit controls the update of GPDMA_CxBR1 from the memory during the link transfer. If UB1 = 0 and if GPDMA_CxLLR ≠ 0, the linked-list is not completed. GPDMA_CxBR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer..

Allowed values:
0: NoUpdate: No CxBR1 update
1: Update: CxBR1 updated from memory during link transfer

UT2

Bit 30: Update GPDMA_CxTR2 from memory This bit controls the update of GPDMA_CxTR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR2 update
1: Update: CxTR2 updated from memory during link transfer

UT1

Bit 31: Update GPDMA_CxTR1 from memory This bit controls the update of GPDMA_CxTR1 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR1 update
1: Update: CxTR1 updated from memory during link transfer

C6LBAR

GPDMA channel 6 linked-list base address register

Offset: 0x350, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LBA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

LBA

Bits 16-31: linked-list base address of GPDMA channel x.

Allowed values: 0x0-0xffff

C6FCR

GPDMA channel 6 flag clear register

Offset: 0x35c, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
w
SUSPF
w
USEF
w
ULEF
w
DTEF
w
HTF
w
TCF
w
Toggle fields

TCF

Bit 8: transfer complete flag clear.

Allowed values:
1: Clear: Clear flag

HTF

Bit 9: half transfer flag clear.

Allowed values:
1: Clear: Clear flag

DTEF

Bit 10: data transfer error flag clear.

Allowed values:
1: Clear: Clear flag

ULEF

Bit 11: update link transfer error flag clear.

Allowed values:
1: Clear: Clear flag

USEF

Bit 12: user setting error flag clear.

Allowed values:
1: Clear: Clear flag

SUSPF

Bit 13: completed suspension flag clear.

Allowed values:
1: Clear: Clear flag

TOF

Bit 14: trigger overrun flag clear.

Allowed values:
1: Clear: Clear flag

C6SR

GPDMA channel 6 status register

Offset: 0x360, size: 32, reset: 0x00000001, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
r
SUSPF
r
USEF
r
ULEF
r
DTEF
r
HTF
r
TCF
r
IDLEF
r
Toggle fields

IDLEF

Bit 0: idle flag This idle flag is deasserted by hardware when the channel is enabled (GPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state)..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TCF

Bit 8: transfer complete flag A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0])..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

HTF

Bit 9: half transfer flag A half transfer event is either a half block transfer or a half 2D/repeated block transfer, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0]). A half block transfer occurs when half of the bytes of the source block size (rounded up integer of GPDMA_CxBR1.BNDT[15:0]/2) has been transferred to the destination. A half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (GPDMA_CxBR1.BRC[10:0]+1)/2)) has been transferred to the destination..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

DTEF

Bit 10: data transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

ULEF

Bit 11: update link transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

USEF

Bit 12: user setting error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

SUSPF

Bit 13: completed suspension flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TOF

Bit 14: trigger overrun flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

FIFOL

Bits 16-23: monitored FIFO level Number of available write beats in the FIFO, in units of the programmed destination data width (see GPDMA_CxTR1.DDW_LOG2[1:0], in units of bytes, half-words, or words). Note: After having suspended an active transfer, the user may need to read FIFOL[7:0], additionally to GPDMA_CxBR1.BDNT[15:0] and GPDMA_CxBR1.BRC[10:0], to know how many data have been transferred to the destination. Before reading, the user may wait for the transfer to be suspended (GPDMA_CxSR.SUSPF = 1)..

Allowed values: 0x0-0xff

C6CR

GPDMA channel 6 control register

Offset: 0x364, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRIO
rw
LAP
rw
LSM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOIE
rw
SUSPIE
rw
USEIE
rw
ULEIE
rw
DTEIE
rw
HTIE
rw
TCIE
rw
SUSP
rw
RESET
w
EN
rw
Toggle fields

EN

Bit 0: enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is deasserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, for example if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored..

Allowed values:
0: Disabled: Channel disabled
1: Enabled: Channel enabled

RESET

Bit 1: reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (GPDMA_CxSR.SUSPF = 1 and GPDMA_CxSR.IDLEF = GPDMA_CxCR.EN = 1) - channel in disabled state (GPDMA_CxSR.IDLEF = 1 and GPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (GPDMA_CxBR1, GPDMA_CxSAR and GPDMA_CxDAR) before enabling again the channel (see the programming sequence in Figure 44)..

Allowed values:
1: Reset: Reset channel

SUSP

Bit 2: suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel (channel with an ongoing GPDMA transfer over its master ports). The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in Figure 43..

Allowed values:
0: NotSuspended: Channel operation not suspended
1: Suspended: Channel operation suspended

TCIE

Bit 8: transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HTIE

Bit 9: half transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

DTEIE

Bit 10: data transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

ULEIE

Bit 11: update link transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

USEIE

Bit 12: user setting error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

SUSPIE

Bit 13: completed suspension interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

TOIE

Bit 14: trigger overrun interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

LSM

Bit 16: Link step mode First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until GPDMA_CxBR1.BNDT[15:0] = 0 and GPDMA_CxBR1.BRC[10:0] = 0. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by GPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: FullLinkedList: Channel executed for full linked list
1: Once: Channel executed once for current linked list

LAP

Bit 17: linked-list allocated port This bit is used to allocate the master port for the update of the GPDMA linked-list registers from the memory. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

PRIO

Bits 22-23: priority level of the channel x GPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: LowPrioLowWeight: Low priority, low weight
1: LowPrioMidWeight: Low priority, mid weight
2: LowPrioHighWeight: Low priority, high weight
3: HighPrio: High priority

C6TR1

GPDMA channel 6 transfer register 1

Offset: 0x390, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAP
rw
DHX
rw
DBX
rw
DBL_1
rw
DINC
rw
DDW_LOG2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAP
rw
SBX
rw
PAM
rw
SBL_1
rw
SINC
rw
SDW_LOG2
rw
Toggle fields

SDW_LOG2

Bits 0-1: binary logarithm of the source data width of a burst in bytes Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (GPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. Note: A source burst transfer must have an aligned address with its data width (start address GPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

SINC

Bit 3: source incrementing burst The source address, pointed by GPDMA_CxSAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

SBL_1

Bits 4-9: source burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If SBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width SDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

PAM

Bits 11-12: padding/alignment mode If DDW_LOG2[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else, in the following enumerated values, the condition PAM_1 is when destination data width is higher that source data width, and the condition PAM_2 is when destination data width is higher than source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination Note: If the transfer from the source peripheral is configured with peripheral flow-control mode (SWREQ = 0 and PFREQ = 1 and DREQ = 0), and if the destination data width > the source data width, packing is not supported..

Allowed values: 0x0-0x3

PAM_1

Bits 11-12: PAM value when destination data width is higher than source data width.

Allowed values:
0: RightAlignedZeroPadded: Source data is transferred as right aligned, padded with 0s up to the destination data width
1: RightAlignedSignExtended: Source data is transferred as right aligned, sign extended up to the destination data width
2: Fifo: Source data are FIFO queued and packed at the destination data width, in little endian order, before a destination transfer

PAM_2

Bits 11-12: PAM value when source data width is higher than destination data width.

Allowed values:
0: RightAlignedLeftTruncated: Source data is transferred as right aligned, left-truncated down to the destination data width
1: LeftAlignedRightTruncated: Source data is transferred as left-aligned, right-truncated down to the destination data width
2: Fifo: Source data are FIFO queued and unpacked at the destination data width, in little endian order

SBX

Bit 13: source byte exchange within the unaligned half-word of each source word If the source data width is shorter than a word, this bit is ignored. If the source data width is a word:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

SAP

Bit 14: source allocated port This bit is used to allocate the master port for the source transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

DDW_LOG2

Bits 16-17: binary logarithm of the destination data width of a burst, in bytes Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. Note: A destination burst transfer must have an aligned address with its data width (start address GPDMA_CxDAR[2:0] and address offset GPDMA_CxTR3.DAO[2:0], versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and no transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

DINC

Bit 19: destination incrementing burst The destination address, pointed by GPDMA_CxDAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

DBL_1

Bits 20-25: destination burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If DBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width DDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

DBX

Bit 26: destination byte exchange If the destination data size is a byte, this bit is ignored. If the destination data size is not a byte:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

DHX

Bit 27: destination half-word exchange If the destination data size is shorter than a word, this bit is ignored. If the destination data size is a word:.

Allowed values:
0: NotExchanged: No halfword-based exchange within word
1: Exchanged: The two consecutive (post PAM) half-words are exchanged in each destination word

DAP

Bit 30: destination allocated port This bit is used to allocate the master port for the destination transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

C6TR2

GPDMA channel 6 transfer register 2

Offset: 0x394, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCEM
rw
TRIGPOL
rw
TRIGSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIGM
rw
PFREQ
rw
BREQ
rw
DREQ
rw
SWREQ
rw
REQSEL
rw
Toggle fields

REQSEL

Bits 0-7: GPDMA hardware request selection These bits are ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per Section 14.3.4. The user must not assign a same input hardware request (same REQSEL[7:0] value) to different active GPDMA channels (GPDMA_CxCR.EN = 1 and GPDMA_CxTR2.SWREQ = 0 for these channels). GPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting..

Allowed values:
0: ADC1_DMA: adc1_dma selected
2: DAC1_CH1_DMA: dac1_ch1_dma selected
3: DAC1_CH2_DMA: dac1_ch2_dma selected
4: TIM6_UPD_DMA: tim6_upd_dma selected
5: TIM7_UPD_DMA: tim7_upd_dma selected
6: SPI1_RX_DMA: spi1_rx_dma selected
7: SPI1_TX_DMA: spi1_tx_dma selected
8: SPI2_RX_DMA: spi2_rx_dma selected
9: SPI2_TX_DMA: spi2_tx_dma selected
10: SPI3_RX_DMA: spi3_rx_dma selected
11: SPI3_TX_DMA: spi3_tx_dma selected
12: I2C1_RX_DMA: i2c1_rx_dma selected
13: I2C1_TX_DMA: i2c1_tx_dma selected
15: I2C2_RX_DMA: i2c2_rx_dma selected
16: I2C2_TX_DMA: i2c2_tx_dma selected
18: I2C3_RX_DMA: i2c3_rx_dma selected
19: I2C3_TX_DMA: i2c3_tx_dma selected
21: USART1_RX_DMA: usart1_rx_dma selected
22: USART1_TX_DMA: usart1_tx_dma selected
23: USART2_RX_DMA: usart2_rx_dma selected
24: USART2_TX_DMA: usart2_tx_dma selected
25: USART3_RX_DMA: usart3_rx_dma selected
26: USART3_TX_DMA: usart3_tx_dma selected
27: UART4_RX_DMA: uart4_rx_dma selected
28: UART4_TX_DMA: uart4_tx_dma selected
29: UART5_RX_DMA: uart5_rx_dma selected
30: UART5_TX_DMA: uart5_tx_dma selected
31: USART6_RX_DMA: usart6_rx_dma selected
32: USART6_TX_DMA: usart6_tx_dma selected
33: UART7_RX_DMA: uart7_rx_dma selected
34: UART7_TX_DMA: uart7_tx_dma selected
35: UART8_RX_DMA: uart8_rx_dma selected
36: UART8_TX_DMA: uart8_tx_dma selected
37: UART9_RX_DMA: uart9_rx_dma selected
38: UART9_TX_DMA: uart9_tx_dma selected
39: UART10_RX_DMA: uart10_rx_dma selected
40: UART10_TX_DMA: uart10_tx_dma selected
41: UART11_RX_DMA: uart11_rx_dma selected
42: UART11_TX_DMA: uart11_tx_dma selected
43: UART12_RX_DMA: uart12_rx_dma selected
44: UART12_TX_DMA: uart12_tx_dma selected
45: LPUART1_RX_DMA: lpuart1_rx_dma selected
46: LPUART1_TX_DMA: lpuart1_tx_dma selected
47: SPI4_RX_DMA: spi4_rx_dma selected
48: SPI4_TX_DMA: spi4_tx_dma selected
49: SPI5_RX_DMA: spi5_rx_dma selected
50: SPI5_TX_DMA: spi5_tx_dma selected
51: SPI6_RX_DMA: spi6_rx_dma selected
52: SPI6_TX_DMA: spi6_tx_dma selected
53: SAI1_A_DMA: sai1_a_dma selected
54: SAI1_B_DMA: sai1_b_dma selected
55: SAI2_A_DMA: sai2_a_dma selected
56: SAI2_B_DMA: sai2_b_dma selected
57: OSPI1_DMA: ospi1_dma selected
58: TIM1_CC1_DMA: tim1_cc1_dma selected
59: TIM1_CC2_DMA: tim1_cc2_dma selected
60: TIM1_CC3_DMA: tim1_cc3_dma selected
61: TIM1_CC4_DMA: tim1_cc4_dma selected
62: TIM1_UPD_DMA: tim1_upd_dma selected
63: TIM1_TRG_DMA: tim1_trg_dma selected
64: TIM1_COM_DMA: tim1_com_dma selected
65: TIM8_CC1_DMA: tim8_cc1_dma selected
66: TIM8_CC2_DMA: tim8_cc2_dma selected
67: TIM8_CC3_DMA: tim8_cc3_dma selected
68: TIM8_CC4_DMA: tim8_cc4_dma selected
69: TIM8_UPD_DMA: tim8_upd_dma selected
70: TIM8_TIG_DMA: tim8_tig_dma selected
71: TIM8_COM_DMA: tim8_com_dma selected
72: TIM2_CC1_DMA: tim2_cc1_dma selected
73: TIM2_CC2_DMA: tim2_cc2_dma selected
74: TIM2_CC3_DMA: tim2_cc3_dma selected
75: TIM2_CC4_DMA: tim2_cc4_dma selected
76: TIM2_UPD_DMA: tim2_upd_dma selected
77: TIM3_CC1_DMA: tim3_cc1_dma selected
78: TIM3_CC2_DMA: tim3_cc2_dma selected
79: TIM3_CC3_DMA: tim3_cc3_dma selected
80: TIM3_CC4_DMA: tim3_cc4_dma selected
81: TIM3_UPD_DMA: tim3_upd_dma selected
82: TIM3_TRG_DMA: tim3_trg_dma selected
83: TIM4_CC1_DMA: tim4_cc1_dma selected
84: TIM4_CC2_DMA: tim4_cc2_dma selected
85: TIM4_CC3_DMA: tim4_cc3_dma selected
86: TIM4_CC4_DMA: tim4_cc4_dma selected
87: TIM4_UPD_DMA: tim4_upd_dma selected
88: TIM5_CC1_DMA: tim5_cc1_dma selected
89: TIM5_CC2_DMA: tim5_cc2_dma selected
90: TIM5_CC3_DMA: tim5_cc3_dma selected
91: TIM5_CC4_DMA: tim5_cc4_dma selected
92: TIM5_UPD_DMA: tim5_upd_dma selected
93: TIM5_TRG_DMA: tim5_trg_dma selected
94: TIM15_CC1_DMA: tim15_cc1_dma selected
95: TIM15_UPD_DMA: tim15_upd_dma selected
96: TIM15_TRG_DMA: tim15_trg_dma selected
97: TIM15_COM_DMA: tim15_com_dma selected
98: TIM16_CC1_DMA: tim16_cc1_dma selected
99: TIM16_UPD_DMA: tim16_upd_dma selected
100: TIM17_CC1_DMA: tim17_cc1_dma selected
101: TIM17_UPD_DMA: tim17_upd_dma selected
102: LPTIM1_IC1_DMA: lptim1_ic1_dma selected
103: LPTIM1_IC2_DMA: lptim1_ic2_dma selected
104: LPTIM1_UE_DMA: lptim1_ue_dma selected
105: LPTIM2_IC1_DMA: lptim2_ic1_dma selected
106: LPTIM2_IC2_DMA: lptim2_ic2_dma selected
107: LPTIM2_UE_DMA: lptim2_ue_dma selected
108: DCMI_PSSI_DMA: dcmi_dma or pssi_dma(1) selected
109: AES_OUT_DMA: aes_out_dma selected
110: AES_IN_DMA: aes_in_dma selected
111: HASH_IN_DMA: hash_in_dma selected
112: UCPD1_RX_DMA: ucpd1_rx_dma selected
113: UCPD1_TX_DMA: ucpd1_tx_dma selected
114: CORDIC_READ_DMA: cordic_read_dma selected
115: CORDIC_WRITE_DMA: cordic_write_dma selected
116: FMAC_READ_DMA: fmac_read_dma selected
117: FMAC_WRITE_DMA: fmac_write_dma selected
118: SAES_OUT_DMA: saes_out_dma selected
119: SAES_IN_DMA: saes_in_dma selected
120: I3C1_RX_DMA: i3c1_rx_dma selected
121: I3C1_TX_DMA: i3c1_tx_dma selected
122: I3C1_TC_DMA: i3c1_tc_dma selected
123: I3C1_RS_DMA: i3c1_rs_dma selected
124: I2C4_RX_DMA: i2c4_rx_dma selected
125: I2C4_TX_DMA: i2c4_tx_dma selected
127: LPTIM3_IC1_DMA: lptim3_ic1_dma selected
128: LPTIM3_IC2_DMA: lptim3_ic2_dma selected
129: LPTIM3_UE_DMA: lptim3_ue_dma selected
130: LPTIM5_IC1_DMA: lptim5_ic1_dma selected
131: LPTIM5_IC2_DMA: lptim5_ic2_dma selected
132: LPTIM5_UE_DMA: lptim5_ue_dma selected
133: LPTIM6_IC1_DMA: lptim6_ic1_dma selected
134: LPTIM6_IC2_DMA: lptim6_ic2_dma selected
135: LPTIM6_UE_DMA: lptim6_ue_dma selected
136: I3C2_RX: i3c2_rx selected
137: I3C2_TX: i3c2_tx selected
138: I3C2_TC: i3c2_tc selected
139: I3C2_RS: i3c2_rs selected

SWREQ

Bit 9: software request This bit is internally taken into account when GPDMA_CxCR.EN is asserted..

Allowed values:
0: Hardware: No software request. The selected hardware request REQSEL[7:0] is taken into account
1: Software: Software request for memory-to-memory transfer

DREQ

Bit 10: destination hardware request This bit is ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: If the channel x is activated (GPDMA_CxCR.EN is asserted) with SWREQ = 0 and PFREQ = 1 (peripheral hardware request with peripheral flow-control mode), any software assertion to this DREQ bit is ignored: in peripheral flow-control mode, only a peripheral-to-memory transfer is supported..

Allowed values:
0: Source: Selected hardware request driven by a source peripheral
1: Destination: Selected hardware request driven by a destination peripheral

BREQ

Bit 11: Block hardware request If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:.

Allowed values:
0: Burst: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level
1: Block: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level

PFREQ

Bit 12: Hardware request in peripheral flow control mode Important: If a given channel x is not implemented with this feature, this bit is reserved and PFREQ is not present (see Section 14.3.2 for the list of the implemented channels with this feature. If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: Note: In peripheral flow control mode, there are the following restrictions: Note: - no 2D/repeated block support (GPDMA_CxBR1.BRC[10:0] must be set to 0) Note: - the peripheral must be set as the source of the transfer (DREQ = 0). Note: - data packing to a wider destination width is not supported (if destination width > source data width, GPDMA_CxTR1.PAM[1] must be set to 0). Note: - GPDMA_CxBR1.BNDT[15:0] must be programmed as a multiple of the source (peripheral) burst size..

Allowed values:
0: GpdmaControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in GPDMA control mode
1: PeripheralControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in peripheral control mode.

TRIGM

Bits 14-15: trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (GPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a GPDMA transfer is conditioned by at least one trigger hit: – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The GPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLI<sub>n+1</sub> that updates the GPDMA_CxTR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLI<sub>n </sub>trigger. After a first new trigger hit<sub>n+1</sub> is memorized, if another second trigger hit<sub>n+2</sub> is detected and if the hit<sub>n</sub> triggered transfer is still not completed, hit<sub>n+2 </sub>is lost and not memorized.memorized. A trigger overrun flag is reported (GPDMA_CxSR.TOF =1 ), and an interrupt is generated if enabled (GPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. Note: When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger..

Allowed values:
0: BlockLevel: At block level: the first burst read of each block transfer is conditioned by one hit trigger
1: RepeatedBlockLevel: At repeated block level: the first burst read of a 2D/repeated block transfer is conditioned by one hit trigger
2: LinkLevel: At link level: a LLI link transfer is conditioned by one hit trigger
3: ProgrammedBurstLevel: At programmed burst level: programmed burst read is conditioned by one hit trigger.

TRIGSEL

Bits 16-21: trigger event input selection These bits select the trigger event input of the GPDMA transfer (as per Section 14.3.7), with an active trigger event if TRIGPOL[1:0] ≠ 00..

Allowed values:
0: EXTI0: exti0 is trigger input
1: EXTI1: exti1 is trigger input
2: EXTI2: exti2 is trigger input
3: EXTI3: exti3 is trigger input
4: EXTI4: exti4 is trigger input
5: EXTI5: exti5 is trigger input
6: EXTI6: exti6 is trigger input
7: EXTI7: exti7 is trigger input
8: TAMP_TRG1: tamp_trg1 is trigger input
9: TAMP_TRG2: tamp_trg2 is trigger input
11: LPTIM1_CH1: lptim1_ch1 is trigger input
12: LPTIM1_CH2: lptim1_ch2 is trigger input
13: LPTIM2_CH1: lptim2_ch1 is trigger input
14: LPTIM2_CH2: lptim2_ch2 is trigger input
15: RTC_ALRA_TRG: rtc_alra_trg is trigger input
16: RTC_ALRB_TRG: rtc_alrb_trg is trigger input
17: RTC_WUT_TRG: rtc_wut_trg is trigger input
18: GPDMA1_CH0_TC: gpdma1_ch0_tc is trigger input
19: GPDMA1_CH1_TC: gpdma1_ch1_tc is trigger input
20: GPDMA1_CH2_TC: gpdma1_ch2_tc is trigger input
21: GPDMA1_CH3_TC: gpdma1_ch3_tc is trigger input
22: GPDMA1_CH4_TC: gpdma1_ch4_tc is trigger input
23: GPDMA1_CH5_TC: gpdma1_ch5_tc is trigger input
24: GPDMA1_CH6_TC: gpdma1_ch6_tc is trigger input
25: GPDMA1_CH7_TC: gpdma1_ch7_tc is trigger input
26: GPDMA2_CH0_TC: gpdma2_ch0_tc is trigger input
27: GPDMA2_CH1_TC: gpdma2_ch1_tc is trigger input
28: GPDMA2_CH2_TC: gpdma2_ch2_tc is trigger input
29: GPDMA2_CH3_TC: gpdma2_ch3_tc is trigger input
30: GPDMA2_CH4_TC: gpdma2_ch4_tc is trigger input
31: GPDMA2_CH5_TC: gpdma2_ch5_tc is trigger input
32: GPDMA2_CH6_TC: gpdma2_ch6_tc is trigger input
33: GPDMA2_CH7_TC: gpdma2_ch7_tc is trigger input
34: TIM2_TRG0: tim2_trgo is trigger input
44: COMP1_OUT: comp1_out is trigger input

TRIGPOL

Bits 24-25: trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]..

Allowed values:
0: NoTrigger: No trigger
1: RisingEdge: Trigger on rising edge
2: FallingEdge: Trigger on falling edge

TCEM

Bits 30-31: transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (i.e. directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI<sub>1</sub>..

Allowed values:
0: BlockLevel: At block level: the complete (and the half) transfer event is generated at the (respectively half of the) end of a block
1: RepeatedBlockLevel: At repeated block level: the complete (and the half) transfer event is generated at the end (respectively half of the end) of the 2D/repeated block.
2: LliLevel: At LLI level: the complete transfer event is generated at the end of the LLI transfer. The half transfer event is generated at the half of the LLI data transfer
3: ChannelLevel: At channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI

C6BR1

GPDMA channel 6 alternate block register 1

Offset: 0x398, size: 32, reset: 0x00000000, access: Unspecified

6/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BRDDEC
rw
BRSDEC
rw
DDEC
rw
SDEC
rw
BRC
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BNDT
rw
Toggle fields

BNDT

Bits 0-15: block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if GPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if GPDMA_CxLLR.UB1 = 0 and if there is at least one not null Uxx update bit, this field is internally restored to the programmed value. - if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] ≠ 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: When configured in packing mode (GPDMA_CxTR1.PAM[1]=1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffff

BRC

Bits 16-26: Block repeat counter This field contains the number of repetitions of the current block (0 to 2047). When the channel is enabled, this field becomes read-only. After decrements, this field indicates the remaining number of blocks, excluding the current one. This counter is hardware decremented for each completed block transfer. Once the last block transfer is completed (BRC[10:0] = BNDT[15:0] = 0): If GPDMA_CxLLR.UB1 = 1, all GPDMA_CxBR1 fields are updated by the next LLI in the memory. If GPDMA_CxLLR.UB1 = 0 and if there is at least one not null Uxx update bit, this field is internally restored to the programmed value. if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] ≠ 0, this field is internally restored to the programmed value (infinite/continuous last LLI). if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI and data transfer..

Allowed values: 0x0-0x7ff

SDEC

Bit 28: source address decrement.

Allowed values:
0: Increment: Source address incremented
1: Decrement: Source address decremented

DDEC

Bit 29: destination address decrement.

Allowed values:
0: Increment: Destination address incremented
1: Decrement: Destination address decremented

BRSDEC

Bit 30: Block repeat source address decrement Note: On top of this increment/decrement (depending on BRSDEC), GPDMA_CxSAR is in the same time also updated by the increment/decrement (depending on SDEC) of the GPDMA_CxTR3.SAO value, as it is done after any programmed burst transfer..

Allowed values:
0: Increment: Block repeat source address incremented
1: Decrement: Block repeat source address decremented

BRDDEC

Bit 31: Block repeat destination address decrement Note: On top of this increment/decrement (depending on BRDDEC), GPDMA_CxDAR is in the same time also updated by the increment/decrement (depending on DDEC) of the GPDMA_CxTR3.DAO value, as it is usually done at the end of each programmed burst transfer..

Allowed values:
0: Increment: Block repeat destination address incremented
1: Decrement: Block repeat destination address decremented

C6SAR

GPDMA channel 6 source address register

Offset: 0x39c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SA
rw
Toggle fields

SA

Bits 0-31: source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (GPDMA_CxTR1.SINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.SDW_LOG2[1:0]) after each burst source data, reflecting the next address from which data is read. During the channel activity, this address is updated after each completed source burst, consequently to: the programmed source burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.SINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.SBL_1[5:0] and GPDMA_CxTR1.SDW_LOG2[21:0] the additional source incremented/decremented offset value as programmed by GPDMA_CxBR1.SDEC and GPDMA_CxTR3.SAO[12:0]. once/if completed source block transfer, for a channel x with 2D addressing capability (x = 12 to 15). additional block repeat source incremented/decremented offset value as programmed by GPDMA_CxBR1.BRSDEC and GPDMA_CxBR2.BRSAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source burst (SA[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xffffffff

C6DAR

GPDMA channel 6 destination address register

Offset: 0x3a0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 0-31: destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (GPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.DDW_LOG2[21:0]) after each burst destination data, reflecting the next address from which data is written. During the channel activity, this address is updated after each completed destination burst, consequently to: the programmed destination burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.DINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.DBL_1[5:0] and GPDMA_CxTR1.DDW_LOG2[1:0] the additional destination incremented/decremented offset value as programmed by GPDMA_CxBR1.DDEC and GPDMA_CxTR3.DAO[12:0]. once/if completed destination block transfer, for a channel x with 2D addressing capability (x = 12 to 15), the additional block repeat destination incremented/decremented offset value as programmed by GPDMA_CxBR1.BRDDEC and GPDMA_CxBR2.BRDAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by the GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination burst (DA[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffffffff

C6TR3

GPDMA channel 6 transfer register 3

Offset: 0x3a4, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAO
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAO
rw
Toggle fields

SAO

Bits 0-12: source address offset increment The source address, pointed by GPDMA_CxSAR, is incremented or decremented (depending on GPDMA_CxBR1.SDEC) by this offset SAO[12:0] for each programmed source burst. This offset is not including and is added to the programmed burst size when the completed burst is addressed in incremented mode (GPDMA_CxTR1.SINC = 1). Note: A source address offset must be aligned with the programmed data width of a source burst (SAO[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and none transfer is issued. Note: When the source block size is not a multiple of the destination burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xfff

DAO

Bits 16-28: destination address offset increment The destination address, pointed by GPDMA_CxDAR, is incremented or decremented (depending on GPDMA_CxBR1.DDEC) by this offset DAO[12:0] for each programmed destination burst. This offset is not including and is added to the programmed burst size when the completed burst is addressed in incremented mode (GPDMA_CxTR1.DINC = 1). Note: A destination address offset must be aligned with the programmed data width of a destination burst (DAO[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xfff

C6BR2

GPDMA channel 6 block register 2

Offset: 0x3a8, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BRDAO
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BRSAO
rw
Toggle fields

BRSAO

Bits 0-15: Block repeated source address offset For a channel with 2D addressing capability, this field is used to update (by addition or subtraction depending on GPDMA_CxBR1.BRSDEC) the current source address (GPDMA_CxSAR) at the end of a block transfer. A block repeated source address offset must be aligned with the programmed data width of a source burst (BRSAO[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: BRSAO[15:0] must be set to 0 in peripheral flow-control mode (if GPDMA_CxTR2.PFREQ = 1)..

Allowed values: 0x0-0xffff

BRDAO

Bits 16-31: Block repeated destination address offset For a channel with 2D addressing capability, this field is used to update (by addition or subtraction depending on GPDMA_CxBR1.BRDDEC) the current destination address (GPDMA_CxDAR) at the end of a block transfer. A block repeated destination address offset must be aligned with the programmed data width of a destination burst (BRDAO[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: BRDAO[15:0] must be set to 0 in peripheral flow-control mode (if GPDMA_CxTR2.PFREQ = 1)..

Allowed values: 0x0-0xffff

C6LLR

GPDMA channel 6 alternate linked-list address register

Offset: 0x3cc, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UT1
rw
UT2
rw
UB1
rw
USA
rw
UDA
rw
UT3
rw
UB2
rw
ULL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LA
rw
Toggle fields

LA

Bits 2-15: pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list GPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list GPDMA internal register file (GPDMA_CxCTR1, GPDMA_CxTR2, GPDMA_CxBR1, GPDMA_CxSAR, GPDMA_CxDAR and GPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored..

Allowed values: 0x0-0x3fff

ULL

Bit 16: Update GPDMA_CxLLR register from memory This bit is used to control the update of GPDMA_CxLLR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxLLR update
1: Update: CxLLR updated from memory during link transfer

UB2

Bit 25: Update GPDMA_CxBR2 from memory This bit controls the update of GPDMA_CxBR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxBR2 update
1: Update: CxBR2 updated from memory during link transfer

UT3

Bit 26: Update GPDMA_CxTR3 from memory This bit controls the update of GPDMA_CxTR3 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR3 update
1: Update: CxTR3 updated from memory during link transfer

UDA

Bit 27: Update GPDMA_CxDAR register from memory This bit is used to control the update of GPDMA_CxDAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxDAR update
1: Update: CxDAR updated from memory during link transfer

USA

Bit 28: update GPDMA_CxSAR from memory This bit controls the update of GPDMA_CxSAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxSAR update
1: Update: CxSAR updated from memory during link transfer

UB1

Bit 29: Update GPDMA_CxBR1 from memory This bit controls the update of GPDMA_CxBR1 from the memory during the link transfer. If UB1 = 0 and if GPDMA_CxLLR ≠ 0, the linked-list is not completed. GPDMA_CxBR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer..

Allowed values:
0: NoUpdate: No CxBR1 update
1: Update: CxBR1 updated from memory during link transfer

UT2

Bit 30: Update GPDMA_CxTR2 from memory This bit controls the update of GPDMA_CxTR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR2 update
1: Update: CxTR2 updated from memory during link transfer

UT1

Bit 31: Update GPDMA_CxTR1 from memory This bit controls the update of GPDMA_CxTR1 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR1 update
1: Update: CxTR1 updated from memory during link transfer

C7LBAR

GPDMA channel 7 linked-list base address register

Offset: 0x3d0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LBA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

LBA

Bits 16-31: linked-list base address of GPDMA channel x.

Allowed values: 0x0-0xffff

C7FCR

GPDMA channel 7 flag clear register

Offset: 0x3dc, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
w
SUSPF
w
USEF
w
ULEF
w
DTEF
w
HTF
w
TCF
w
Toggle fields

TCF

Bit 8: transfer complete flag clear.

Allowed values:
1: Clear: Clear flag

HTF

Bit 9: half transfer flag clear.

Allowed values:
1: Clear: Clear flag

DTEF

Bit 10: data transfer error flag clear.

Allowed values:
1: Clear: Clear flag

ULEF

Bit 11: update link transfer error flag clear.

Allowed values:
1: Clear: Clear flag

USEF

Bit 12: user setting error flag clear.

Allowed values:
1: Clear: Clear flag

SUSPF

Bit 13: completed suspension flag clear.

Allowed values:
1: Clear: Clear flag

TOF

Bit 14: trigger overrun flag clear.

Allowed values:
1: Clear: Clear flag

C7SR

GPDMA channel 7 status register

Offset: 0x3e0, size: 32, reset: 0x00000001, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
r
SUSPF
r
USEF
r
ULEF
r
DTEF
r
HTF
r
TCF
r
IDLEF
r
Toggle fields

IDLEF

Bit 0: idle flag This idle flag is deasserted by hardware when the channel is enabled (GPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state)..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TCF

Bit 8: transfer complete flag A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0])..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

HTF

Bit 9: half transfer flag A half transfer event is either a half block transfer or a half 2D/repeated block transfer, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0]). A half block transfer occurs when half of the bytes of the source block size (rounded up integer of GPDMA_CxBR1.BNDT[15:0]/2) has been transferred to the destination. A half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (GPDMA_CxBR1.BRC[10:0]+1)/2)) has been transferred to the destination..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

DTEF

Bit 10: data transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

ULEF

Bit 11: update link transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

USEF

Bit 12: user setting error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

SUSPF

Bit 13: completed suspension flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TOF

Bit 14: trigger overrun flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

FIFOL

Bits 16-23: monitored FIFO level Number of available write beats in the FIFO, in units of the programmed destination data width (see GPDMA_CxTR1.DDW_LOG2[1:0], in units of bytes, half-words, or words). Note: After having suspended an active transfer, the user may need to read FIFOL[7:0], additionally to GPDMA_CxBR1.BDNT[15:0] and GPDMA_CxBR1.BRC[10:0], to know how many data have been transferred to the destination. Before reading, the user may wait for the transfer to be suspended (GPDMA_CxSR.SUSPF = 1)..

Allowed values: 0x0-0xff

C7CR

GPDMA channel 7 control register

Offset: 0x3e4, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRIO
rw
LAP
rw
LSM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOIE
rw
SUSPIE
rw
USEIE
rw
ULEIE
rw
DTEIE
rw
HTIE
rw
TCIE
rw
SUSP
rw
RESET
w
EN
rw
Toggle fields

EN

Bit 0: enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is deasserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, for example if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored..

Allowed values:
0: Disabled: Channel disabled
1: Enabled: Channel enabled

RESET

Bit 1: reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (GPDMA_CxSR.SUSPF = 1 and GPDMA_CxSR.IDLEF = GPDMA_CxCR.EN = 1) - channel in disabled state (GPDMA_CxSR.IDLEF = 1 and GPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (GPDMA_CxBR1, GPDMA_CxSAR and GPDMA_CxDAR) before enabling again the channel (see the programming sequence in Figure 44)..

Allowed values:
1: Reset: Reset channel

SUSP

Bit 2: suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel (channel with an ongoing GPDMA transfer over its master ports). The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in Figure 43..

Allowed values:
0: NotSuspended: Channel operation not suspended
1: Suspended: Channel operation suspended

TCIE

Bit 8: transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HTIE

Bit 9: half transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

DTEIE

Bit 10: data transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

ULEIE

Bit 11: update link transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

USEIE

Bit 12: user setting error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

SUSPIE

Bit 13: completed suspension interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

TOIE

Bit 14: trigger overrun interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

LSM

Bit 16: Link step mode First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until GPDMA_CxBR1.BNDT[15:0] = 0 and GPDMA_CxBR1.BRC[10:0] = 0. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by GPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: FullLinkedList: Channel executed for full linked list
1: Once: Channel executed once for current linked list

LAP

Bit 17: linked-list allocated port This bit is used to allocate the master port for the update of the GPDMA linked-list registers from the memory. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

PRIO

Bits 22-23: priority level of the channel x GPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: LowPrioLowWeight: Low priority, low weight
1: LowPrioMidWeight: Low priority, mid weight
2: LowPrioHighWeight: Low priority, high weight
3: HighPrio: High priority

C7TR1

GPDMA channel 7 transfer register 1

Offset: 0x410, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAP
rw
DHX
rw
DBX
rw
DBL_1
rw
DINC
rw
DDW_LOG2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAP
rw
SBX
rw
PAM
rw
SBL_1
rw
SINC
rw
SDW_LOG2
rw
Toggle fields

SDW_LOG2

Bits 0-1: binary logarithm of the source data width of a burst in bytes Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (GPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. Note: A source burst transfer must have an aligned address with its data width (start address GPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

SINC

Bit 3: source incrementing burst The source address, pointed by GPDMA_CxSAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

SBL_1

Bits 4-9: source burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If SBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width SDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

PAM

Bits 11-12: padding/alignment mode If DDW_LOG2[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else, in the following enumerated values, the condition PAM_1 is when destination data width is higher that source data width, and the condition PAM_2 is when destination data width is higher than source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination Note: If the transfer from the source peripheral is configured with peripheral flow-control mode (SWREQ = 0 and PFREQ = 1 and DREQ = 0), and if the destination data width > the source data width, packing is not supported..

Allowed values: 0x0-0x3

PAM_1

Bits 11-12: PAM value when destination data width is higher than source data width.

Allowed values:
0: RightAlignedZeroPadded: Source data is transferred as right aligned, padded with 0s up to the destination data width
1: RightAlignedSignExtended: Source data is transferred as right aligned, sign extended up to the destination data width
2: Fifo: Source data are FIFO queued and packed at the destination data width, in little endian order, before a destination transfer

PAM_2

Bits 11-12: PAM value when source data width is higher than destination data width.

Allowed values:
0: RightAlignedLeftTruncated: Source data is transferred as right aligned, left-truncated down to the destination data width
1: LeftAlignedRightTruncated: Source data is transferred as left-aligned, right-truncated down to the destination data width
2: Fifo: Source data are FIFO queued and unpacked at the destination data width, in little endian order

SBX

Bit 13: source byte exchange within the unaligned half-word of each source word If the source data width is shorter than a word, this bit is ignored. If the source data width is a word:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

SAP

Bit 14: source allocated port This bit is used to allocate the master port for the source transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

DDW_LOG2

Bits 16-17: binary logarithm of the destination data width of a burst, in bytes Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. Note: A destination burst transfer must have an aligned address with its data width (start address GPDMA_CxDAR[2:0] and address offset GPDMA_CxTR3.DAO[2:0], versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and no transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

DINC

Bit 19: destination incrementing burst The destination address, pointed by GPDMA_CxDAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

DBL_1

Bits 20-25: destination burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If DBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width DDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

DBX

Bit 26: destination byte exchange If the destination data size is a byte, this bit is ignored. If the destination data size is not a byte:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

DHX

Bit 27: destination half-word exchange If the destination data size is shorter than a word, this bit is ignored. If the destination data size is a word:.

Allowed values:
0: NotExchanged: No halfword-based exchange within word
1: Exchanged: The two consecutive (post PAM) half-words are exchanged in each destination word

DAP

Bit 30: destination allocated port This bit is used to allocate the master port for the destination transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

C7TR2

GPDMA channel 7 transfer register 2

Offset: 0x414, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCEM
rw
TRIGPOL
rw
TRIGSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIGM
rw
PFREQ
rw
BREQ
rw
DREQ
rw
SWREQ
rw
REQSEL
rw
Toggle fields

REQSEL

Bits 0-7: GPDMA hardware request selection These bits are ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per Section 14.3.4. The user must not assign a same input hardware request (same REQSEL[7:0] value) to different active GPDMA channels (GPDMA_CxCR.EN = 1 and GPDMA_CxTR2.SWREQ = 0 for these channels). GPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting..

Allowed values:
0: ADC1_DMA: adc1_dma selected
2: DAC1_CH1_DMA: dac1_ch1_dma selected
3: DAC1_CH2_DMA: dac1_ch2_dma selected
4: TIM6_UPD_DMA: tim6_upd_dma selected
5: TIM7_UPD_DMA: tim7_upd_dma selected
6: SPI1_RX_DMA: spi1_rx_dma selected
7: SPI1_TX_DMA: spi1_tx_dma selected
8: SPI2_RX_DMA: spi2_rx_dma selected
9: SPI2_TX_DMA: spi2_tx_dma selected
10: SPI3_RX_DMA: spi3_rx_dma selected
11: SPI3_TX_DMA: spi3_tx_dma selected
12: I2C1_RX_DMA: i2c1_rx_dma selected
13: I2C1_TX_DMA: i2c1_tx_dma selected
15: I2C2_RX_DMA: i2c2_rx_dma selected
16: I2C2_TX_DMA: i2c2_tx_dma selected
18: I2C3_RX_DMA: i2c3_rx_dma selected
19: I2C3_TX_DMA: i2c3_tx_dma selected
21: USART1_RX_DMA: usart1_rx_dma selected
22: USART1_TX_DMA: usart1_tx_dma selected
23: USART2_RX_DMA: usart2_rx_dma selected
24: USART2_TX_DMA: usart2_tx_dma selected
25: USART3_RX_DMA: usart3_rx_dma selected
26: USART3_TX_DMA: usart3_tx_dma selected
27: UART4_RX_DMA: uart4_rx_dma selected
28: UART4_TX_DMA: uart4_tx_dma selected
29: UART5_RX_DMA: uart5_rx_dma selected
30: UART5_TX_DMA: uart5_tx_dma selected
31: USART6_RX_DMA: usart6_rx_dma selected
32: USART6_TX_DMA: usart6_tx_dma selected
33: UART7_RX_DMA: uart7_rx_dma selected
34: UART7_TX_DMA: uart7_tx_dma selected
35: UART8_RX_DMA: uart8_rx_dma selected
36: UART8_TX_DMA: uart8_tx_dma selected
37: UART9_RX_DMA: uart9_rx_dma selected
38: UART9_TX_DMA: uart9_tx_dma selected
39: UART10_RX_DMA: uart10_rx_dma selected
40: UART10_TX_DMA: uart10_tx_dma selected
41: UART11_RX_DMA: uart11_rx_dma selected
42: UART11_TX_DMA: uart11_tx_dma selected
43: UART12_RX_DMA: uart12_rx_dma selected
44: UART12_TX_DMA: uart12_tx_dma selected
45: LPUART1_RX_DMA: lpuart1_rx_dma selected
46: LPUART1_TX_DMA: lpuart1_tx_dma selected
47: SPI4_RX_DMA: spi4_rx_dma selected
48: SPI4_TX_DMA: spi4_tx_dma selected
49: SPI5_RX_DMA: spi5_rx_dma selected
50: SPI5_TX_DMA: spi5_tx_dma selected
51: SPI6_RX_DMA: spi6_rx_dma selected
52: SPI6_TX_DMA: spi6_tx_dma selected
53: SAI1_A_DMA: sai1_a_dma selected
54: SAI1_B_DMA: sai1_b_dma selected
55: SAI2_A_DMA: sai2_a_dma selected
56: SAI2_B_DMA: sai2_b_dma selected
57: OSPI1_DMA: ospi1_dma selected
58: TIM1_CC1_DMA: tim1_cc1_dma selected
59: TIM1_CC2_DMA: tim1_cc2_dma selected
60: TIM1_CC3_DMA: tim1_cc3_dma selected
61: TIM1_CC4_DMA: tim1_cc4_dma selected
62: TIM1_UPD_DMA: tim1_upd_dma selected
63: TIM1_TRG_DMA: tim1_trg_dma selected
64: TIM1_COM_DMA: tim1_com_dma selected
65: TIM8_CC1_DMA: tim8_cc1_dma selected
66: TIM8_CC2_DMA: tim8_cc2_dma selected
67: TIM8_CC3_DMA: tim8_cc3_dma selected
68: TIM8_CC4_DMA: tim8_cc4_dma selected
69: TIM8_UPD_DMA: tim8_upd_dma selected
70: TIM8_TIG_DMA: tim8_tig_dma selected
71: TIM8_COM_DMA: tim8_com_dma selected
72: TIM2_CC1_DMA: tim2_cc1_dma selected
73: TIM2_CC2_DMA: tim2_cc2_dma selected
74: TIM2_CC3_DMA: tim2_cc3_dma selected
75: TIM2_CC4_DMA: tim2_cc4_dma selected
76: TIM2_UPD_DMA: tim2_upd_dma selected
77: TIM3_CC1_DMA: tim3_cc1_dma selected
78: TIM3_CC2_DMA: tim3_cc2_dma selected
79: TIM3_CC3_DMA: tim3_cc3_dma selected
80: TIM3_CC4_DMA: tim3_cc4_dma selected
81: TIM3_UPD_DMA: tim3_upd_dma selected
82: TIM3_TRG_DMA: tim3_trg_dma selected
83: TIM4_CC1_DMA: tim4_cc1_dma selected
84: TIM4_CC2_DMA: tim4_cc2_dma selected
85: TIM4_CC3_DMA: tim4_cc3_dma selected
86: TIM4_CC4_DMA: tim4_cc4_dma selected
87: TIM4_UPD_DMA: tim4_upd_dma selected
88: TIM5_CC1_DMA: tim5_cc1_dma selected
89: TIM5_CC2_DMA: tim5_cc2_dma selected
90: TIM5_CC3_DMA: tim5_cc3_dma selected
91: TIM5_CC4_DMA: tim5_cc4_dma selected
92: TIM5_UPD_DMA: tim5_upd_dma selected
93: TIM5_TRG_DMA: tim5_trg_dma selected
94: TIM15_CC1_DMA: tim15_cc1_dma selected
95: TIM15_UPD_DMA: tim15_upd_dma selected
96: TIM15_TRG_DMA: tim15_trg_dma selected
97: TIM15_COM_DMA: tim15_com_dma selected
98: TIM16_CC1_DMA: tim16_cc1_dma selected
99: TIM16_UPD_DMA: tim16_upd_dma selected
100: TIM17_CC1_DMA: tim17_cc1_dma selected
101: TIM17_UPD_DMA: tim17_upd_dma selected
102: LPTIM1_IC1_DMA: lptim1_ic1_dma selected
103: LPTIM1_IC2_DMA: lptim1_ic2_dma selected
104: LPTIM1_UE_DMA: lptim1_ue_dma selected
105: LPTIM2_IC1_DMA: lptim2_ic1_dma selected
106: LPTIM2_IC2_DMA: lptim2_ic2_dma selected
107: LPTIM2_UE_DMA: lptim2_ue_dma selected
108: DCMI_PSSI_DMA: dcmi_dma or pssi_dma(1) selected
109: AES_OUT_DMA: aes_out_dma selected
110: AES_IN_DMA: aes_in_dma selected
111: HASH_IN_DMA: hash_in_dma selected
112: UCPD1_RX_DMA: ucpd1_rx_dma selected
113: UCPD1_TX_DMA: ucpd1_tx_dma selected
114: CORDIC_READ_DMA: cordic_read_dma selected
115: CORDIC_WRITE_DMA: cordic_write_dma selected
116: FMAC_READ_DMA: fmac_read_dma selected
117: FMAC_WRITE_DMA: fmac_write_dma selected
118: SAES_OUT_DMA: saes_out_dma selected
119: SAES_IN_DMA: saes_in_dma selected
120: I3C1_RX_DMA: i3c1_rx_dma selected
121: I3C1_TX_DMA: i3c1_tx_dma selected
122: I3C1_TC_DMA: i3c1_tc_dma selected
123: I3C1_RS_DMA: i3c1_rs_dma selected
124: I2C4_RX_DMA: i2c4_rx_dma selected
125: I2C4_TX_DMA: i2c4_tx_dma selected
127: LPTIM3_IC1_DMA: lptim3_ic1_dma selected
128: LPTIM3_IC2_DMA: lptim3_ic2_dma selected
129: LPTIM3_UE_DMA: lptim3_ue_dma selected
130: LPTIM5_IC1_DMA: lptim5_ic1_dma selected
131: LPTIM5_IC2_DMA: lptim5_ic2_dma selected
132: LPTIM5_UE_DMA: lptim5_ue_dma selected
133: LPTIM6_IC1_DMA: lptim6_ic1_dma selected
134: LPTIM6_IC2_DMA: lptim6_ic2_dma selected
135: LPTIM6_UE_DMA: lptim6_ue_dma selected
136: I3C2_RX: i3c2_rx selected
137: I3C2_TX: i3c2_tx selected
138: I3C2_TC: i3c2_tc selected
139: I3C2_RS: i3c2_rs selected

SWREQ

Bit 9: software request This bit is internally taken into account when GPDMA_CxCR.EN is asserted..

Allowed values:
0: Hardware: No software request. The selected hardware request REQSEL[7:0] is taken into account
1: Software: Software request for memory-to-memory transfer

DREQ

Bit 10: destination hardware request This bit is ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: If the channel x is activated (GPDMA_CxCR.EN is asserted) with SWREQ = 0 and PFREQ = 1 (peripheral hardware request with peripheral flow-control mode), any software assertion to this DREQ bit is ignored: in peripheral flow-control mode, only a peripheral-to-memory transfer is supported..

Allowed values:
0: Source: Selected hardware request driven by a source peripheral
1: Destination: Selected hardware request driven by a destination peripheral

BREQ

Bit 11: Block hardware request If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:.

Allowed values:
0: Burst: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level
1: Block: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level

PFREQ

Bit 12: Hardware request in peripheral flow control mode Important: If a given channel x is not implemented with this feature, this bit is reserved and PFREQ is not present (see Section 14.3.2 for the list of the implemented channels with this feature. If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: Note: In peripheral flow control mode, there are the following restrictions: Note: - no 2D/repeated block support (GPDMA_CxBR1.BRC[10:0] must be set to 0) Note: - the peripheral must be set as the source of the transfer (DREQ = 0). Note: - data packing to a wider destination width is not supported (if destination width > source data width, GPDMA_CxTR1.PAM[1] must be set to 0). Note: - GPDMA_CxBR1.BNDT[15:0] must be programmed as a multiple of the source (peripheral) burst size..

Allowed values:
0: GpdmaControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in GPDMA control mode
1: PeripheralControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in peripheral control mode.

TRIGM

Bits 14-15: trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (GPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a GPDMA transfer is conditioned by at least one trigger hit: – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The GPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLI<sub>n+1</sub> that updates the GPDMA_CxTR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLI<sub>n </sub>trigger. After a first new trigger hit<sub>n+1</sub> is memorized, if another second trigger hit<sub>n+2</sub> is detected and if the hit<sub>n</sub> triggered transfer is still not completed, hit<sub>n+2 </sub>is lost and not memorized.memorized. A trigger overrun flag is reported (GPDMA_CxSR.TOF =1 ), and an interrupt is generated if enabled (GPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. Note: When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger..

Allowed values:
0: BlockLevel: At block level: the first burst read of each block transfer is conditioned by one hit trigger
1: RepeatedBlockLevel: At repeated block level: the first burst read of a 2D/repeated block transfer is conditioned by one hit trigger
2: LinkLevel: At link level: a LLI link transfer is conditioned by one hit trigger
3: ProgrammedBurstLevel: At programmed burst level: programmed burst read is conditioned by one hit trigger.

TRIGSEL

Bits 16-21: trigger event input selection These bits select the trigger event input of the GPDMA transfer (as per Section 14.3.7), with an active trigger event if TRIGPOL[1:0] ≠ 00..

Allowed values:
0: EXTI0: exti0 is trigger input
1: EXTI1: exti1 is trigger input
2: EXTI2: exti2 is trigger input
3: EXTI3: exti3 is trigger input
4: EXTI4: exti4 is trigger input
5: EXTI5: exti5 is trigger input
6: EXTI6: exti6 is trigger input
7: EXTI7: exti7 is trigger input
8: TAMP_TRG1: tamp_trg1 is trigger input
9: TAMP_TRG2: tamp_trg2 is trigger input
11: LPTIM1_CH1: lptim1_ch1 is trigger input
12: LPTIM1_CH2: lptim1_ch2 is trigger input
13: LPTIM2_CH1: lptim2_ch1 is trigger input
14: LPTIM2_CH2: lptim2_ch2 is trigger input
15: RTC_ALRA_TRG: rtc_alra_trg is trigger input
16: RTC_ALRB_TRG: rtc_alrb_trg is trigger input
17: RTC_WUT_TRG: rtc_wut_trg is trigger input
18: GPDMA1_CH0_TC: gpdma1_ch0_tc is trigger input
19: GPDMA1_CH1_TC: gpdma1_ch1_tc is trigger input
20: GPDMA1_CH2_TC: gpdma1_ch2_tc is trigger input
21: GPDMA1_CH3_TC: gpdma1_ch3_tc is trigger input
22: GPDMA1_CH4_TC: gpdma1_ch4_tc is trigger input
23: GPDMA1_CH5_TC: gpdma1_ch5_tc is trigger input
24: GPDMA1_CH6_TC: gpdma1_ch6_tc is trigger input
25: GPDMA1_CH7_TC: gpdma1_ch7_tc is trigger input
26: GPDMA2_CH0_TC: gpdma2_ch0_tc is trigger input
27: GPDMA2_CH1_TC: gpdma2_ch1_tc is trigger input
28: GPDMA2_CH2_TC: gpdma2_ch2_tc is trigger input
29: GPDMA2_CH3_TC: gpdma2_ch3_tc is trigger input
30: GPDMA2_CH4_TC: gpdma2_ch4_tc is trigger input
31: GPDMA2_CH5_TC: gpdma2_ch5_tc is trigger input
32: GPDMA2_CH6_TC: gpdma2_ch6_tc is trigger input
33: GPDMA2_CH7_TC: gpdma2_ch7_tc is trigger input
34: TIM2_TRG0: tim2_trgo is trigger input
44: COMP1_OUT: comp1_out is trigger input

TRIGPOL

Bits 24-25: trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]..

Allowed values:
0: NoTrigger: No trigger
1: RisingEdge: Trigger on rising edge
2: FallingEdge: Trigger on falling edge

TCEM

Bits 30-31: transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (i.e. directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI<sub>1</sub>..

Allowed values:
0: BlockLevel: At block level: the complete (and the half) transfer event is generated at the (respectively half of the) end of a block
1: RepeatedBlockLevel: At repeated block level: the complete (and the half) transfer event is generated at the end (respectively half of the end) of the 2D/repeated block.
2: LliLevel: At LLI level: the complete transfer event is generated at the end of the LLI transfer. The half transfer event is generated at the half of the LLI data transfer
3: ChannelLevel: At channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI

C7BR1

GPDMA channel 7 alternate block register 1

Offset: 0x418, size: 32, reset: 0x00000000, access: Unspecified

6/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BRDDEC
rw
BRSDEC
rw
DDEC
rw
SDEC
rw
BRC
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BNDT
rw
Toggle fields

BNDT

Bits 0-15: block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if GPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if GPDMA_CxLLR.UB1 = 0 and if there is at least one not null Uxx update bit, this field is internally restored to the programmed value. - if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] ≠ 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: When configured in packing mode (GPDMA_CxTR1.PAM[1]=1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffff

BRC

Bits 16-26: Block repeat counter This field contains the number of repetitions of the current block (0 to 2047). When the channel is enabled, this field becomes read-only. After decrements, this field indicates the remaining number of blocks, excluding the current one. This counter is hardware decremented for each completed block transfer. Once the last block transfer is completed (BRC[10:0] = BNDT[15:0] = 0): If GPDMA_CxLLR.UB1 = 1, all GPDMA_CxBR1 fields are updated by the next LLI in the memory. If GPDMA_CxLLR.UB1 = 0 and if there is at least one not null Uxx update bit, this field is internally restored to the programmed value. if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] ≠ 0, this field is internally restored to the programmed value (infinite/continuous last LLI). if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI and data transfer..

Allowed values: 0x0-0x7ff

SDEC

Bit 28: source address decrement.

Allowed values:
0: Increment: Source address incremented
1: Decrement: Source address decremented

DDEC

Bit 29: destination address decrement.

Allowed values:
0: Increment: Destination address incremented
1: Decrement: Destination address decremented

BRSDEC

Bit 30: Block repeat source address decrement Note: On top of this increment/decrement (depending on BRSDEC), GPDMA_CxSAR is in the same time also updated by the increment/decrement (depending on SDEC) of the GPDMA_CxTR3.SAO value, as it is done after any programmed burst transfer..

Allowed values:
0: Increment: Block repeat source address incremented
1: Decrement: Block repeat source address decremented

BRDDEC

Bit 31: Block repeat destination address decrement Note: On top of this increment/decrement (depending on BRDDEC), GPDMA_CxDAR is in the same time also updated by the increment/decrement (depending on DDEC) of the GPDMA_CxTR3.DAO value, as it is usually done at the end of each programmed burst transfer..

Allowed values:
0: Increment: Block repeat destination address incremented
1: Decrement: Block repeat destination address decremented

C7SAR

GPDMA channel 7 source address register

Offset: 0x41c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SA
rw
Toggle fields

SA

Bits 0-31: source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (GPDMA_CxTR1.SINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.SDW_LOG2[1:0]) after each burst source data, reflecting the next address from which data is read. During the channel activity, this address is updated after each completed source burst, consequently to: the programmed source burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.SINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.SBL_1[5:0] and GPDMA_CxTR1.SDW_LOG2[21:0] the additional source incremented/decremented offset value as programmed by GPDMA_CxBR1.SDEC and GPDMA_CxTR3.SAO[12:0]. once/if completed source block transfer, for a channel x with 2D addressing capability (x = 12 to 15). additional block repeat source incremented/decremented offset value as programmed by GPDMA_CxBR1.BRSDEC and GPDMA_CxBR2.BRSAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source burst (SA[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xffffffff

C7DAR

GPDMA channel 7 destination address register

Offset: 0x420, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 0-31: destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (GPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.DDW_LOG2[21:0]) after each burst destination data, reflecting the next address from which data is written. During the channel activity, this address is updated after each completed destination burst, consequently to: the programmed destination burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.DINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.DBL_1[5:0] and GPDMA_CxTR1.DDW_LOG2[1:0] the additional destination incremented/decremented offset value as programmed by GPDMA_CxBR1.DDEC and GPDMA_CxTR3.DAO[12:0]. once/if completed destination block transfer, for a channel x with 2D addressing capability (x = 12 to 15), the additional block repeat destination incremented/decremented offset value as programmed by GPDMA_CxBR1.BRDDEC and GPDMA_CxBR2.BRDAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by the GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination burst (DA[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffffffff

C7TR3

GPDMA channel 7 transfer register 3

Offset: 0x424, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAO
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAO
rw
Toggle fields

SAO

Bits 0-12: source address offset increment The source address, pointed by GPDMA_CxSAR, is incremented or decremented (depending on GPDMA_CxBR1.SDEC) by this offset SAO[12:0] for each programmed source burst. This offset is not including and is added to the programmed burst size when the completed burst is addressed in incremented mode (GPDMA_CxTR1.SINC = 1). Note: A source address offset must be aligned with the programmed data width of a source burst (SAO[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and none transfer is issued. Note: When the source block size is not a multiple of the destination burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xfff

DAO

Bits 16-28: destination address offset increment The destination address, pointed by GPDMA_CxDAR, is incremented or decremented (depending on GPDMA_CxBR1.DDEC) by this offset DAO[12:0] for each programmed destination burst. This offset is not including and is added to the programmed burst size when the completed burst is addressed in incremented mode (GPDMA_CxTR1.DINC = 1). Note: A destination address offset must be aligned with the programmed data width of a destination burst (DAO[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xfff

C7BR2

GPDMA channel 7 block register 2

Offset: 0x428, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BRDAO
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BRSAO
rw
Toggle fields

BRSAO

Bits 0-15: Block repeated source address offset For a channel with 2D addressing capability, this field is used to update (by addition or subtraction depending on GPDMA_CxBR1.BRSDEC) the current source address (GPDMA_CxSAR) at the end of a block transfer. A block repeated source address offset must be aligned with the programmed data width of a source burst (BRSAO[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: BRSAO[15:0] must be set to 0 in peripheral flow-control mode (if GPDMA_CxTR2.PFREQ = 1)..

Allowed values: 0x0-0xffff

BRDAO

Bits 16-31: Block repeated destination address offset For a channel with 2D addressing capability, this field is used to update (by addition or subtraction depending on GPDMA_CxBR1.BRDDEC) the current destination address (GPDMA_CxDAR) at the end of a block transfer. A block repeated destination address offset must be aligned with the programmed data width of a destination burst (BRDAO[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: BRDAO[15:0] must be set to 0 in peripheral flow-control mode (if GPDMA_CxTR2.PFREQ = 1)..

Allowed values: 0x0-0xffff

C7LLR

GPDMA channel 7 alternate linked-list address register

Offset: 0x44c, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UT1
rw
UT2
rw
UB1
rw
USA
rw
UDA
rw
UT3
rw
UB2
rw
ULL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LA
rw
Toggle fields

LA

Bits 2-15: pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list GPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list GPDMA internal register file (GPDMA_CxCTR1, GPDMA_CxTR2, GPDMA_CxBR1, GPDMA_CxSAR, GPDMA_CxDAR and GPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored..

Allowed values: 0x0-0x3fff

ULL

Bit 16: Update GPDMA_CxLLR register from memory This bit is used to control the update of GPDMA_CxLLR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxLLR update
1: Update: CxLLR updated from memory during link transfer

UB2

Bit 25: Update GPDMA_CxBR2 from memory This bit controls the update of GPDMA_CxBR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxBR2 update
1: Update: CxBR2 updated from memory during link transfer

UT3

Bit 26: Update GPDMA_CxTR3 from memory This bit controls the update of GPDMA_CxTR3 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR3 update
1: Update: CxTR3 updated from memory during link transfer

UDA

Bit 27: Update GPDMA_CxDAR register from memory This bit is used to control the update of GPDMA_CxDAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxDAR update
1: Update: CxDAR updated from memory during link transfer

USA

Bit 28: update GPDMA_CxSAR from memory This bit controls the update of GPDMA_CxSAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxSAR update
1: Update: CxSAR updated from memory during link transfer

UB1

Bit 29: Update GPDMA_CxBR1 from memory This bit controls the update of GPDMA_CxBR1 from the memory during the link transfer. If UB1 = 0 and if GPDMA_CxLLR ≠ 0, the linked-list is not completed. GPDMA_CxBR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer..

Allowed values:
0: NoUpdate: No CxBR1 update
1: Update: CxBR1 updated from memory during link transfer

UT2

Bit 30: Update GPDMA_CxTR2 from memory This bit controls the update of GPDMA_CxTR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR2 update
1: Update: CxTR2 updated from memory during link transfer

UT1

Bit 31: Update GPDMA_CxTR1 from memory This bit controls the update of GPDMA_CxTR1 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR1 update
1: Update: CxTR1 updated from memory during link transfer

GPDMA2

0x40021000: General purpose direct memory access controller

542/542 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x4 PRIVCFGR
0xc MISR
0x50 C0LBAR
0x5c C0FCR
0x60 C0SR
0x64 C0CR
0x90 C0TR1
0x94 C0TR2
0x98 C0BR1
0x9c C0SAR
0xa0 C0DAR
0xcc C0LLR
0xd0 C1LBAR
0xdc C1FCR
0xe0 C1SR
0xe4 C1CR
0x110 C1TR1
0x114 C1TR2
0x118 C1BR1
0x11c C1SAR
0x120 C1DAR
0x14c C1LLR
0x150 C2LBAR
0x15c C2FCR
0x160 C2SR
0x164 C2CR
0x190 C2TR1
0x194 C2TR2
0x198 C2BR1
0x19c C2SAR
0x1a0 C2DAR
0x1cc C2LLR
0x1d0 C3LBAR
0x1dc C3FCR
0x1e0 C3SR
0x1e4 C3CR
0x210 C3TR1
0x214 C3TR2
0x218 C3BR1
0x21c C3SAR
0x220 C3DAR
0x24c C3LLR
0x250 C4LBAR
0x25c C4FCR
0x260 C4SR
0x264 C4CR
0x290 C4TR1
0x294 C4TR2
0x298 C4BR1
0x29c C4SAR
0x2a0 C4DAR
0x2cc C4LLR
0x2d0 C5LBAR
0x2dc C5FCR
0x2e0 C5SR
0x2e4 C5CR
0x310 C5TR1
0x314 C5TR2
0x318 C5BR1
0x31c C5SAR
0x320 C5DAR
0x34c C5LLR
0x350 C6LBAR
0x35c C6FCR
0x360 C6SR
0x364 C6CR
0x390 C6TR1
0x394 C6TR2
0x398 C6BR1
0x39c C6SAR
0x3a0 C6DAR
0x3a4 C6TR3
0x3a8 C6BR2
0x3cc C6LLR
0x3d0 C7LBAR
0x3dc C7FCR
0x3e0 C7SR
0x3e4 C7CR
0x410 C7TR1
0x414 C7TR2
0x418 C7BR1
0x41c C7SAR
0x420 C7DAR
0x424 C7TR3
0x428 C7BR2
0x44c C7LLR
Toggle registers

PRIVCFGR

GPDMA privileged configuration register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRIV7
rw
PRIV6
rw
PRIV5
rw
PRIV4
rw
PRIV3
rw
PRIV2
rw
PRIV1
rw
PRIV0
rw
Toggle fields

PRIV0

Bit 0: privileged state of channel x.

Allowed values:
0: Unprivileged: Channel is unprivileged
1: Privileged: Channel is privileged

PRIV1

Bit 1: privileged state of channel x.

Allowed values:
0: Unprivileged: Channel is unprivileged
1: Privileged: Channel is privileged

PRIV2

Bit 2: privileged state of channel x.

Allowed values:
0: Unprivileged: Channel is unprivileged
1: Privileged: Channel is privileged

PRIV3

Bit 3: privileged state of channel x.

Allowed values:
0: Unprivileged: Channel is unprivileged
1: Privileged: Channel is privileged

PRIV4

Bit 4: privileged state of channel x.

Allowed values:
0: Unprivileged: Channel is unprivileged
1: Privileged: Channel is privileged

PRIV5

Bit 5: privileged state of channel x.

Allowed values:
0: Unprivileged: Channel is unprivileged
1: Privileged: Channel is privileged

PRIV6

Bit 6: privileged state of channel x.

Allowed values:
0: Unprivileged: Channel is unprivileged
1: Privileged: Channel is privileged

PRIV7

Bit 7: privileged state of channel x.

Allowed values:
0: Unprivileged: Channel is unprivileged
1: Privileged: Channel is privileged

MISR

GPDMA masked interrupt status register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MIS7
r
MIS6
r
MIS5
r
MIS4
r
MIS3
r
MIS2
r
MIS1
r
MIS0
r
Toggle fields

MIS0

Bit 0: masked interrupt status of channel x.

Allowed values:
0: NoTrigger: No interrupt has occurred on channel
1: Trigger: An interrupt has occurred on channel

MIS1

Bit 1: masked interrupt status of channel x.

Allowed values:
0: NoTrigger: No interrupt has occurred on channel
1: Trigger: An interrupt has occurred on channel

MIS2

Bit 2: masked interrupt status of channel x.

Allowed values:
0: NoTrigger: No interrupt has occurred on channel
1: Trigger: An interrupt has occurred on channel

MIS3

Bit 3: masked interrupt status of channel x.

Allowed values:
0: NoTrigger: No interrupt has occurred on channel
1: Trigger: An interrupt has occurred on channel

MIS4

Bit 4: masked interrupt status of channel x.

Allowed values:
0: NoTrigger: No interrupt has occurred on channel
1: Trigger: An interrupt has occurred on channel

MIS5

Bit 5: masked interrupt status of channel x.

Allowed values:
0: NoTrigger: No interrupt has occurred on channel
1: Trigger: An interrupt has occurred on channel

MIS6

Bit 6: masked interrupt status of channel x.

Allowed values:
0: NoTrigger: No interrupt has occurred on channel
1: Trigger: An interrupt has occurred on channel

MIS7

Bit 7: masked interrupt status of channel x.

Allowed values:
0: NoTrigger: No interrupt has occurred on channel
1: Trigger: An interrupt has occurred on channel

C0LBAR

GPDMA channel 0 linked-list base address register

Offset: 0x50, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LBA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

LBA

Bits 16-31: linked-list base address of GPDMA channel x.

Allowed values: 0x0-0xffff

C0FCR

GPDMA channel 0 flag clear register

Offset: 0x5c, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
w
SUSPF
w
USEF
w
ULEF
w
DTEF
w
HTF
w
TCF
w
Toggle fields

TCF

Bit 8: transfer complete flag clear.

Allowed values:
1: Clear: Clear flag

HTF

Bit 9: half transfer flag clear.

Allowed values:
1: Clear: Clear flag

DTEF

Bit 10: data transfer error flag clear.

Allowed values:
1: Clear: Clear flag

ULEF

Bit 11: update link transfer error flag clear.

Allowed values:
1: Clear: Clear flag

USEF

Bit 12: user setting error flag clear.

Allowed values:
1: Clear: Clear flag

SUSPF

Bit 13: completed suspension flag clear.

Allowed values:
1: Clear: Clear flag

TOF

Bit 14: trigger overrun flag clear.

Allowed values:
1: Clear: Clear flag

C0SR

GPDMA channel 0 status register

Offset: 0x60, size: 32, reset: 0x00000001, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
r
SUSPF
r
USEF
r
ULEF
r
DTEF
r
HTF
r
TCF
r
IDLEF
r
Toggle fields

IDLEF

Bit 0: idle flag This idle flag is deasserted by hardware when the channel is enabled (GPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state)..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TCF

Bit 8: transfer complete flag A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0])..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

HTF

Bit 9: half transfer flag A half transfer event is either a half block transfer or a half 2D/repeated block transfer, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0]). A half block transfer occurs when half of the bytes of the source block size (rounded up integer of GPDMA_CxBR1.BNDT[15:0]/2) has been transferred to the destination. A half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (GPDMA_CxBR1.BRC[10:0]+1)/2)) has been transferred to the destination..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

DTEF

Bit 10: data transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

ULEF

Bit 11: update link transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

USEF

Bit 12: user setting error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

SUSPF

Bit 13: completed suspension flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TOF

Bit 14: trigger overrun flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

FIFOL

Bits 16-23: monitored FIFO level Number of available write beats in the FIFO, in units of the programmed destination data width (see GPDMA_CxTR1.DDW_LOG2[1:0], in units of bytes, half-words, or words). Note: After having suspended an active transfer, the user may need to read FIFOL[7:0], additionally to GPDMA_CxBR1.BDNT[15:0] and GPDMA_CxBR1.BRC[10:0], to know how many data have been transferred to the destination. Before reading, the user may wait for the transfer to be suspended (GPDMA_CxSR.SUSPF = 1)..

Allowed values: 0x0-0xff

C0CR

GPDMA channel 0 control register

Offset: 0x64, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRIO
rw
LAP
rw
LSM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOIE
rw
SUSPIE
rw
USEIE
rw
ULEIE
rw
DTEIE
rw
HTIE
rw
TCIE
rw
SUSP
rw
RESET
w
EN
rw
Toggle fields

EN

Bit 0: enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is deasserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, for example if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored..

Allowed values:
0: Disabled: Channel disabled
1: Enabled: Channel enabled

RESET

Bit 1: reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (GPDMA_CxSR.SUSPF = 1 and GPDMA_CxSR.IDLEF = GPDMA_CxCR.EN = 1) - channel in disabled state (GPDMA_CxSR.IDLEF = 1 and GPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (GPDMA_CxBR1, GPDMA_CxSAR and GPDMA_CxDAR) before enabling again the channel (see the programming sequence in Figure 44)..

Allowed values:
1: Reset: Reset channel

SUSP

Bit 2: suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel (channel with an ongoing GPDMA transfer over its master ports). The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in Figure 43..

Allowed values:
0: NotSuspended: Channel operation not suspended
1: Suspended: Channel operation suspended

TCIE

Bit 8: transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HTIE

Bit 9: half transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

DTEIE

Bit 10: data transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

ULEIE

Bit 11: update link transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

USEIE

Bit 12: user setting error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

SUSPIE

Bit 13: completed suspension interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

TOIE

Bit 14: trigger overrun interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

LSM

Bit 16: Link step mode First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until GPDMA_CxBR1.BNDT[15:0] = 0 and GPDMA_CxBR1.BRC[10:0] = 0. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by GPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: FullLinkedList: Channel executed for full linked list
1: Once: Channel executed once for current linked list

LAP

Bit 17: linked-list allocated port This bit is used to allocate the master port for the update of the GPDMA linked-list registers from the memory. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

PRIO

Bits 22-23: priority level of the channel x GPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: LowPrioLowWeight: Low priority, low weight
1: LowPrioMidWeight: Low priority, mid weight
2: LowPrioHighWeight: Low priority, high weight
3: HighPrio: High priority

C0TR1

GPDMA channel 0 transfer register 1

Offset: 0x90, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAP
rw
DHX
rw
DBX
rw
DBL_1
rw
DINC
rw
DDW_LOG2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAP
rw
SBX
rw
PAM
rw
SBL_1
rw
SINC
rw
SDW_LOG2
rw
Toggle fields

SDW_LOG2

Bits 0-1: binary logarithm of the source data width of a burst in bytes Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (GPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. Note: A source burst transfer must have an aligned address with its data width (start address GPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

SINC

Bit 3: source incrementing burst The source address, pointed by GPDMA_CxSAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

SBL_1

Bits 4-9: source burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If SBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width SDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

PAM

Bits 11-12: padding/alignment mode If DDW_LOG2[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else, in the following enumerated values, the condition PAM_1 is when destination data width is higher that source data width, and the condition PAM_2 is when destination data width is higher than source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination Note: If the transfer from the source peripheral is configured with peripheral flow-control mode (SWREQ = 0 and PFREQ = 1 and DREQ = 0), and if the destination data width > the source data width, packing is not supported..

Allowed values: 0x0-0x3

PAM_1

Bits 11-12: PAM value when destination data width is higher than source data width.

Allowed values:
0: RightAlignedZeroPadded: Source data is transferred as right aligned, padded with 0s up to the destination data width
1: RightAlignedSignExtended: Source data is transferred as right aligned, sign extended up to the destination data width
2: Fifo: Source data are FIFO queued and packed at the destination data width, in little endian order, before a destination transfer

PAM_2

Bits 11-12: PAM value when source data width is higher than destination data width.

Allowed values:
0: RightAlignedLeftTruncated: Source data is transferred as right aligned, left-truncated down to the destination data width
1: LeftAlignedRightTruncated: Source data is transferred as left-aligned, right-truncated down to the destination data width
2: Fifo: Source data are FIFO queued and unpacked at the destination data width, in little endian order

SBX

Bit 13: source byte exchange within the unaligned half-word of each source word If the source data width is shorter than a word, this bit is ignored. If the source data width is a word:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

SAP

Bit 14: source allocated port This bit is used to allocate the master port for the source transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

DDW_LOG2

Bits 16-17: binary logarithm of the destination data width of a burst, in bytes Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. Note: A destination burst transfer must have an aligned address with its data width (start address GPDMA_CxDAR[2:0] and address offset GPDMA_CxTR3.DAO[2:0], versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and no transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

DINC

Bit 19: destination incrementing burst The destination address, pointed by GPDMA_CxDAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

DBL_1

Bits 20-25: destination burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If DBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width DDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

DBX

Bit 26: destination byte exchange If the destination data size is a byte, this bit is ignored. If the destination data size is not a byte:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

DHX

Bit 27: destination half-word exchange If the destination data size is shorter than a word, this bit is ignored. If the destination data size is a word:.

Allowed values:
0: NotExchanged: No halfword-based exchange within word
1: Exchanged: The two consecutive (post PAM) half-words are exchanged in each destination word

DAP

Bit 30: destination allocated port This bit is used to allocate the master port for the destination transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

C0TR2

GPDMA channel 0 transfer register 2

Offset: 0x94, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCEM
rw
TRIGPOL
rw
TRIGSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIGM
rw
PFREQ
rw
BREQ
rw
DREQ
rw
SWREQ
rw
REQSEL
rw
Toggle fields

REQSEL

Bits 0-7: GPDMA hardware request selection These bits are ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per Section 14.3.4. The user must not assign a same input hardware request (same REQSEL[7:0] value) to different active GPDMA channels (GPDMA_CxCR.EN = 1 and GPDMA_CxTR2.SWREQ = 0 for these channels). GPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting..

Allowed values:
0: ADC1_DMA: adc1_dma selected
2: DAC1_CH1_DMA: dac1_ch1_dma selected
3: DAC1_CH2_DMA: dac1_ch2_dma selected
4: TIM6_UPD_DMA: tim6_upd_dma selected
5: TIM7_UPD_DMA: tim7_upd_dma selected
6: SPI1_RX_DMA: spi1_rx_dma selected
7: SPI1_TX_DMA: spi1_tx_dma selected
8: SPI2_RX_DMA: spi2_rx_dma selected
9: SPI2_TX_DMA: spi2_tx_dma selected
10: SPI3_RX_DMA: spi3_rx_dma selected
11: SPI3_TX_DMA: spi3_tx_dma selected
12: I2C1_RX_DMA: i2c1_rx_dma selected
13: I2C1_TX_DMA: i2c1_tx_dma selected
15: I2C2_RX_DMA: i2c2_rx_dma selected
16: I2C2_TX_DMA: i2c2_tx_dma selected
18: I2C3_RX_DMA: i2c3_rx_dma selected
19: I2C3_TX_DMA: i2c3_tx_dma selected
21: USART1_RX_DMA: usart1_rx_dma selected
22: USART1_TX_DMA: usart1_tx_dma selected
23: USART2_RX_DMA: usart2_rx_dma selected
24: USART2_TX_DMA: usart2_tx_dma selected
25: USART3_RX_DMA: usart3_rx_dma selected
26: USART3_TX_DMA: usart3_tx_dma selected
27: UART4_RX_DMA: uart4_rx_dma selected
28: UART4_TX_DMA: uart4_tx_dma selected
29: UART5_RX_DMA: uart5_rx_dma selected
30: UART5_TX_DMA: uart5_tx_dma selected
31: USART6_RX_DMA: usart6_rx_dma selected
32: USART6_TX_DMA: usart6_tx_dma selected
33: UART7_RX_DMA: uart7_rx_dma selected
34: UART7_TX_DMA: uart7_tx_dma selected
35: UART8_RX_DMA: uart8_rx_dma selected
36: UART8_TX_DMA: uart8_tx_dma selected
37: UART9_RX_DMA: uart9_rx_dma selected
38: UART9_TX_DMA: uart9_tx_dma selected
39: UART10_RX_DMA: uart10_rx_dma selected
40: UART10_TX_DMA: uart10_tx_dma selected
41: UART11_RX_DMA: uart11_rx_dma selected
42: UART11_TX_DMA: uart11_tx_dma selected
43: UART12_RX_DMA: uart12_rx_dma selected
44: UART12_TX_DMA: uart12_tx_dma selected
45: LPUART1_RX_DMA: lpuart1_rx_dma selected
46: LPUART1_TX_DMA: lpuart1_tx_dma selected
47: SPI4_RX_DMA: spi4_rx_dma selected
48: SPI4_TX_DMA: spi4_tx_dma selected
49: SPI5_RX_DMA: spi5_rx_dma selected
50: SPI5_TX_DMA: spi5_tx_dma selected
51: SPI6_RX_DMA: spi6_rx_dma selected
52: SPI6_TX_DMA: spi6_tx_dma selected
53: SAI1_A_DMA: sai1_a_dma selected
54: SAI1_B_DMA: sai1_b_dma selected
55: SAI2_A_DMA: sai2_a_dma selected
56: SAI2_B_DMA: sai2_b_dma selected
57: OSPI1_DMA: ospi1_dma selected
58: TIM1_CC1_DMA: tim1_cc1_dma selected
59: TIM1_CC2_DMA: tim1_cc2_dma selected
60: TIM1_CC3_DMA: tim1_cc3_dma selected
61: TIM1_CC4_DMA: tim1_cc4_dma selected
62: TIM1_UPD_DMA: tim1_upd_dma selected
63: TIM1_TRG_DMA: tim1_trg_dma selected
64: TIM1_COM_DMA: tim1_com_dma selected
65: TIM8_CC1_DMA: tim8_cc1_dma selected
66: TIM8_CC2_DMA: tim8_cc2_dma selected
67: TIM8_CC3_DMA: tim8_cc3_dma selected
68: TIM8_CC4_DMA: tim8_cc4_dma selected
69: TIM8_UPD_DMA: tim8_upd_dma selected
70: TIM8_TIG_DMA: tim8_tig_dma selected
71: TIM8_COM_DMA: tim8_com_dma selected
72: TIM2_CC1_DMA: tim2_cc1_dma selected
73: TIM2_CC2_DMA: tim2_cc2_dma selected
74: TIM2_CC3_DMA: tim2_cc3_dma selected
75: TIM2_CC4_DMA: tim2_cc4_dma selected
76: TIM2_UPD_DMA: tim2_upd_dma selected
77: TIM3_CC1_DMA: tim3_cc1_dma selected
78: TIM3_CC2_DMA: tim3_cc2_dma selected
79: TIM3_CC3_DMA: tim3_cc3_dma selected
80: TIM3_CC4_DMA: tim3_cc4_dma selected
81: TIM3_UPD_DMA: tim3_upd_dma selected
82: TIM3_TRG_DMA: tim3_trg_dma selected
83: TIM4_CC1_DMA: tim4_cc1_dma selected
84: TIM4_CC2_DMA: tim4_cc2_dma selected
85: TIM4_CC3_DMA: tim4_cc3_dma selected
86: TIM4_CC4_DMA: tim4_cc4_dma selected
87: TIM4_UPD_DMA: tim4_upd_dma selected
88: TIM5_CC1_DMA: tim5_cc1_dma selected
89: TIM5_CC2_DMA: tim5_cc2_dma selected
90: TIM5_CC3_DMA: tim5_cc3_dma selected
91: TIM5_CC4_DMA: tim5_cc4_dma selected
92: TIM5_UPD_DMA: tim5_upd_dma selected
93: TIM5_TRG_DMA: tim5_trg_dma selected
94: TIM15_CC1_DMA: tim15_cc1_dma selected
95: TIM15_UPD_DMA: tim15_upd_dma selected
96: TIM15_TRG_DMA: tim15_trg_dma selected
97: TIM15_COM_DMA: tim15_com_dma selected
98: TIM16_CC1_DMA: tim16_cc1_dma selected
99: TIM16_UPD_DMA: tim16_upd_dma selected
100: TIM17_CC1_DMA: tim17_cc1_dma selected
101: TIM17_UPD_DMA: tim17_upd_dma selected
102: LPTIM1_IC1_DMA: lptim1_ic1_dma selected
103: LPTIM1_IC2_DMA: lptim1_ic2_dma selected
104: LPTIM1_UE_DMA: lptim1_ue_dma selected
105: LPTIM2_IC1_DMA: lptim2_ic1_dma selected
106: LPTIM2_IC2_DMA: lptim2_ic2_dma selected
107: LPTIM2_UE_DMA: lptim2_ue_dma selected
108: DCMI_PSSI_DMA: dcmi_dma or pssi_dma(1) selected
109: AES_OUT_DMA: aes_out_dma selected
110: AES_IN_DMA: aes_in_dma selected
111: HASH_IN_DMA: hash_in_dma selected
112: UCPD1_RX_DMA: ucpd1_rx_dma selected
113: UCPD1_TX_DMA: ucpd1_tx_dma selected
114: CORDIC_READ_DMA: cordic_read_dma selected
115: CORDIC_WRITE_DMA: cordic_write_dma selected
116: FMAC_READ_DMA: fmac_read_dma selected
117: FMAC_WRITE_DMA: fmac_write_dma selected
118: SAES_OUT_DMA: saes_out_dma selected
119: SAES_IN_DMA: saes_in_dma selected
120: I3C1_RX_DMA: i3c1_rx_dma selected
121: I3C1_TX_DMA: i3c1_tx_dma selected
122: I3C1_TC_DMA: i3c1_tc_dma selected
123: I3C1_RS_DMA: i3c1_rs_dma selected
124: I2C4_RX_DMA: i2c4_rx_dma selected
125: I2C4_TX_DMA: i2c4_tx_dma selected
127: LPTIM3_IC1_DMA: lptim3_ic1_dma selected
128: LPTIM3_IC2_DMA: lptim3_ic2_dma selected
129: LPTIM3_UE_DMA: lptim3_ue_dma selected
130: LPTIM5_IC1_DMA: lptim5_ic1_dma selected
131: LPTIM5_IC2_DMA: lptim5_ic2_dma selected
132: LPTIM5_UE_DMA: lptim5_ue_dma selected
133: LPTIM6_IC1_DMA: lptim6_ic1_dma selected
134: LPTIM6_IC2_DMA: lptim6_ic2_dma selected
135: LPTIM6_UE_DMA: lptim6_ue_dma selected
136: I3C2_RX: i3c2_rx selected
137: I3C2_TX: i3c2_tx selected
138: I3C2_TC: i3c2_tc selected
139: I3C2_RS: i3c2_rs selected

SWREQ

Bit 9: software request This bit is internally taken into account when GPDMA_CxCR.EN is asserted..

Allowed values:
0: Hardware: No software request. The selected hardware request REQSEL[7:0] is taken into account
1: Software: Software request for memory-to-memory transfer

DREQ

Bit 10: destination hardware request This bit is ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: If the channel x is activated (GPDMA_CxCR.EN is asserted) with SWREQ = 0 and PFREQ = 1 (peripheral hardware request with peripheral flow-control mode), any software assertion to this DREQ bit is ignored: in peripheral flow-control mode, only a peripheral-to-memory transfer is supported..

Allowed values:
0: Source: Selected hardware request driven by a source peripheral
1: Destination: Selected hardware request driven by a destination peripheral

BREQ

Bit 11: Block hardware request If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:.

Allowed values:
0: Burst: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level
1: Block: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level

PFREQ

Bit 12: Hardware request in peripheral flow control mode Important: If a given channel x is not implemented with this feature, this bit is reserved and PFREQ is not present (see Section 14.3.2 for the list of the implemented channels with this feature. If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: Note: In peripheral flow control mode, there are the following restrictions: Note: - no 2D/repeated block support (GPDMA_CxBR1.BRC[10:0] must be set to 0) Note: - the peripheral must be set as the source of the transfer (DREQ = 0). Note: - data packing to a wider destination width is not supported (if destination width > source data width, GPDMA_CxTR1.PAM[1] must be set to 0). Note: - GPDMA_CxBR1.BNDT[15:0] must be programmed as a multiple of the source (peripheral) burst size..

Allowed values:
0: GpdmaControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in GPDMA control mode
1: PeripheralControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in peripheral control mode.

TRIGM

Bits 14-15: trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (GPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a GPDMA transfer is conditioned by at least one trigger hit: – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The GPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLI<sub>n+1</sub> that updates the GPDMA_CxTR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLI<sub>n </sub>trigger. After a first new trigger hit<sub>n+1</sub> is memorized, if another second trigger hit<sub>n+2</sub> is detected and if the hit<sub>n</sub> triggered transfer is still not completed, hit<sub>n+2 </sub>is lost and not memorized.memorized. A trigger overrun flag is reported (GPDMA_CxSR.TOF =1 ), and an interrupt is generated if enabled (GPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. Note: When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger..

Allowed values:
0: BlockLevel: At block level: the first burst read of each block transfer is conditioned by one hit trigger
2: LinkLevel: At link level: a LLI link transfer is conditioned by one hit trigger
3: ProgrammedBurstLevel: At programmed burst level: programmed burst read is conditioned by one hit trigger.

TRIGSEL

Bits 16-21: trigger event input selection These bits select the trigger event input of the GPDMA transfer (as per Section 14.3.7), with an active trigger event if TRIGPOL[1:0] ≠ 00..

Allowed values:
0: EXTI0: exti0 is trigger input
1: EXTI1: exti1 is trigger input
2: EXTI2: exti2 is trigger input
3: EXTI3: exti3 is trigger input
4: EXTI4: exti4 is trigger input
5: EXTI5: exti5 is trigger input
6: EXTI6: exti6 is trigger input
7: EXTI7: exti7 is trigger input
8: TAMP_TRG1: tamp_trg1 is trigger input
9: TAMP_TRG2: tamp_trg2 is trigger input
11: LPTIM1_CH1: lptim1_ch1 is trigger input
12: LPTIM1_CH2: lptim1_ch2 is trigger input
13: LPTIM2_CH1: lptim2_ch1 is trigger input
14: LPTIM2_CH2: lptim2_ch2 is trigger input
15: RTC_ALRA_TRG: rtc_alra_trg is trigger input
16: RTC_ALRB_TRG: rtc_alrb_trg is trigger input
17: RTC_WUT_TRG: rtc_wut_trg is trigger input
18: GPDMA1_CH0_TC: gpdma1_ch0_tc is trigger input
19: GPDMA1_CH1_TC: gpdma1_ch1_tc is trigger input
20: GPDMA1_CH2_TC: gpdma1_ch2_tc is trigger input
21: GPDMA1_CH3_TC: gpdma1_ch3_tc is trigger input
22: GPDMA1_CH4_TC: gpdma1_ch4_tc is trigger input
23: GPDMA1_CH5_TC: gpdma1_ch5_tc is trigger input
24: GPDMA1_CH6_TC: gpdma1_ch6_tc is trigger input
25: GPDMA1_CH7_TC: gpdma1_ch7_tc is trigger input
26: GPDMA2_CH0_TC: gpdma2_ch0_tc is trigger input
27: GPDMA2_CH1_TC: gpdma2_ch1_tc is trigger input
28: GPDMA2_CH2_TC: gpdma2_ch2_tc is trigger input
29: GPDMA2_CH3_TC: gpdma2_ch3_tc is trigger input
30: GPDMA2_CH4_TC: gpdma2_ch4_tc is trigger input
31: GPDMA2_CH5_TC: gpdma2_ch5_tc is trigger input
32: GPDMA2_CH6_TC: gpdma2_ch6_tc is trigger input
33: GPDMA2_CH7_TC: gpdma2_ch7_tc is trigger input
34: TIM2_TRG0: tim2_trgo is trigger input
44: COMP1_OUT: comp1_out is trigger input

TRIGPOL

Bits 24-25: trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]..

Allowed values:
0: NoTrigger: No trigger
1: RisingEdge: Trigger on rising edge
2: FallingEdge: Trigger on falling edge

TCEM

Bits 30-31: transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (i.e. directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI<sub>1</sub>..

Allowed values:
0: BlockLevel: At block level: the complete (and the half) transfer event is generated at the (respectively half of the) end of a block
2: LliLevel: At LLI level: the complete transfer event is generated at the end of the LLI transfer. The half transfer event is generated at the half of the LLI data transfer
3: ChannelLevel: At channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI

C0BR1

GPDMA channel 0 block register 1

Offset: 0x98, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BNDT
rw
Toggle fields

BNDT

Bits 0-15: block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if GPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if GPDMA_CxLLR.UB1 = 0 and if there is at least one non null Uxx update bit, this field is internally restored to the programmed value. - if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] = 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: When configured in packing mode (GPDMA_CxTR1.PAM[1] = 1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffff

C0SAR

GPDMA channel 0 source address register

Offset: 0x9c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SA
rw
Toggle fields

SA

Bits 0-31: source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (GPDMA_CxTR1.SINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.SDW_LOG2[1:0]) after each burst source data, reflecting the next address from which data is read. During the channel activity, this address is updated after each completed source burst, consequently to: the programmed source burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.SINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.SBL_1[5:0] and GPDMA_CxTR1.SDW_LOG2[21:0] the additional source incremented/decremented offset value as programmed by GPDMA_CxBR1.SDEC and GPDMA_CxTR3.SAO[12:0]. once/if completed source block transfer, for a channel x with 2D addressing capability (x = 12 to 15). additional block repeat source incremented/decremented offset value as programmed by GPDMA_CxBR1.BRSDEC and GPDMA_CxBR2.BRSAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source burst (SA[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xffffffff

C0DAR

GPDMA channel 0 destination address register

Offset: 0xa0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 0-31: destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (GPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.DDW_LOG2[21:0]) after each burst destination data, reflecting the next address from which data is written. During the channel activity, this address is updated after each completed destination burst, consequently to: the programmed destination burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.DINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.DBL_1[5:0] and GPDMA_CxTR1.DDW_LOG2[1:0] the additional destination incremented/decremented offset value as programmed by GPDMA_CxBR1.DDEC and GPDMA_CxTR3.DAO[12:0]. once/if completed destination block transfer, for a channel x with 2D addressing capability (x = 12 to 15), the additional block repeat destination incremented/decremented offset value as programmed by GPDMA_CxBR1.BRDDEC and GPDMA_CxBR2.BRDAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by the GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination burst (DA[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffffffff

C0LLR

GPDMA channel 0 linked-list address register

Offset: 0xcc, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UT1
rw
UT2
rw
UB1
rw
USA
rw
UDA
rw
ULL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LA
rw
Toggle fields

LA

Bits 2-15: pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list GPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list GPDMA internal register file (GPDMA_CxCTR1, GPDMA_CxTR2, GPDMA_CxBR1, GPDMA_CxSAR, GPDMA_CxDAR and GPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored..

Allowed values: 0x0-0x3fff

ULL

Bit 16: Update GPDMA_CxLLR register from memory This bit is used to control the update of GPDMA_CxLLR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxLLR update
1: Update: CxLLR updated from memory during link transfer

UDA

Bit 27: Update GPDMA_CxDAR register from memory This bit is used to control the update of GPDMA_CxDAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxDAR update
1: Update: CxDAR updated from memory during link transfer

USA

Bit 28: update GPDMA_CxSAR from memory This bit controls the update of GPDMA_CxSAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxSAR update
1: Update: CxSAR updated from memory during link transfer

UB1

Bit 29: Update GPDMA_CxBR1 from memory This bit controls the update of GPDMA_CxBR1 from the memory during the link transfer. If UB1 = 0 and if GPDMA_CxLLR ≠ 0, the linked-list is not completed. GPDMA_CxBR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer..

Allowed values:
0: NoUpdate: No CxBR1 update
1: Update: CxBR1 updated from memory during link transfer

UT2

Bit 30: Update GPDMA_CxTR2 from memory This bit controls the update of GPDMA_CxTR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR2 update
1: Update: CxTR2 updated from memory during link transfer

UT1

Bit 31: Update GPDMA_CxTR1 from memory This bit controls the update of GPDMA_CxTR1 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR1 update
1: Update: CxTR1 updated from memory during link transfer

C1LBAR

GPDMA channel 1 linked-list base address register

Offset: 0xd0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LBA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

LBA

Bits 16-31: linked-list base address of GPDMA channel x.

Allowed values: 0x0-0xffff

C1FCR

GPDMA channel 1 flag clear register

Offset: 0xdc, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
w
SUSPF
w
USEF
w
ULEF
w
DTEF
w
HTF
w
TCF
w
Toggle fields

TCF

Bit 8: transfer complete flag clear.

Allowed values:
1: Clear: Clear flag

HTF

Bit 9: half transfer flag clear.

Allowed values:
1: Clear: Clear flag

DTEF

Bit 10: data transfer error flag clear.

Allowed values:
1: Clear: Clear flag

ULEF

Bit 11: update link transfer error flag clear.

Allowed values:
1: Clear: Clear flag

USEF

Bit 12: user setting error flag clear.

Allowed values:
1: Clear: Clear flag

SUSPF

Bit 13: completed suspension flag clear.

Allowed values:
1: Clear: Clear flag

TOF

Bit 14: trigger overrun flag clear.

Allowed values:
1: Clear: Clear flag

C1SR

GPDMA channel 1 status register

Offset: 0xe0, size: 32, reset: 0x00000001, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
r
SUSPF
r
USEF
r
ULEF
r
DTEF
r
HTF
r
TCF
r
IDLEF
r
Toggle fields

IDLEF

Bit 0: idle flag This idle flag is deasserted by hardware when the channel is enabled (GPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state)..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TCF

Bit 8: transfer complete flag A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0])..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

HTF

Bit 9: half transfer flag A half transfer event is either a half block transfer or a half 2D/repeated block transfer, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0]). A half block transfer occurs when half of the bytes of the source block size (rounded up integer of GPDMA_CxBR1.BNDT[15:0]/2) has been transferred to the destination. A half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (GPDMA_CxBR1.BRC[10:0]+1)/2)) has been transferred to the destination..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

DTEF

Bit 10: data transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

ULEF

Bit 11: update link transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

USEF

Bit 12: user setting error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

SUSPF

Bit 13: completed suspension flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TOF

Bit 14: trigger overrun flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

FIFOL

Bits 16-23: monitored FIFO level Number of available write beats in the FIFO, in units of the programmed destination data width (see GPDMA_CxTR1.DDW_LOG2[1:0], in units of bytes, half-words, or words). Note: After having suspended an active transfer, the user may need to read FIFOL[7:0], additionally to GPDMA_CxBR1.BDNT[15:0] and GPDMA_CxBR1.BRC[10:0], to know how many data have been transferred to the destination. Before reading, the user may wait for the transfer to be suspended (GPDMA_CxSR.SUSPF = 1)..

Allowed values: 0x0-0xff

C1CR

GPDMA channel 1 control register

Offset: 0xe4, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRIO
rw
LAP
rw
LSM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOIE
rw
SUSPIE
rw
USEIE
rw
ULEIE
rw
DTEIE
rw
HTIE
rw
TCIE
rw
SUSP
rw
RESET
w
EN
rw
Toggle fields

EN

Bit 0: enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is deasserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, for example if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored..

Allowed values:
0: Disabled: Channel disabled
1: Enabled: Channel enabled

RESET

Bit 1: reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (GPDMA_CxSR.SUSPF = 1 and GPDMA_CxSR.IDLEF = GPDMA_CxCR.EN = 1) - channel in disabled state (GPDMA_CxSR.IDLEF = 1 and GPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (GPDMA_CxBR1, GPDMA_CxSAR and GPDMA_CxDAR) before enabling again the channel (see the programming sequence in Figure 44)..

Allowed values:
1: Reset: Reset channel

SUSP

Bit 2: suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel (channel with an ongoing GPDMA transfer over its master ports). The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in Figure 43..

Allowed values:
0: NotSuspended: Channel operation not suspended
1: Suspended: Channel operation suspended

TCIE

Bit 8: transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HTIE

Bit 9: half transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

DTEIE

Bit 10: data transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

ULEIE

Bit 11: update link transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

USEIE

Bit 12: user setting error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

SUSPIE

Bit 13: completed suspension interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

TOIE

Bit 14: trigger overrun interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

LSM

Bit 16: Link step mode First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until GPDMA_CxBR1.BNDT[15:0] = 0 and GPDMA_CxBR1.BRC[10:0] = 0. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by GPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: FullLinkedList: Channel executed for full linked list
1: Once: Channel executed once for current linked list

LAP

Bit 17: linked-list allocated port This bit is used to allocate the master port for the update of the GPDMA linked-list registers from the memory. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

PRIO

Bits 22-23: priority level of the channel x GPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: LowPrioLowWeight: Low priority, low weight
1: LowPrioMidWeight: Low priority, mid weight
2: LowPrioHighWeight: Low priority, high weight
3: HighPrio: High priority

C1TR1

GPDMA channel 1 transfer register 1

Offset: 0x110, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAP
rw
DHX
rw
DBX
rw
DBL_1
rw
DINC
rw
DDW_LOG2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAP
rw
SBX
rw
PAM
rw
SBL_1
rw
SINC
rw
SDW_LOG2
rw
Toggle fields

SDW_LOG2

Bits 0-1: binary logarithm of the source data width of a burst in bytes Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (GPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. Note: A source burst transfer must have an aligned address with its data width (start address GPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

SINC

Bit 3: source incrementing burst The source address, pointed by GPDMA_CxSAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

SBL_1

Bits 4-9: source burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If SBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width SDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

PAM

Bits 11-12: padding/alignment mode If DDW_LOG2[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else, in the following enumerated values, the condition PAM_1 is when destination data width is higher that source data width, and the condition PAM_2 is when destination data width is higher than source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination Note: If the transfer from the source peripheral is configured with peripheral flow-control mode (SWREQ = 0 and PFREQ = 1 and DREQ = 0), and if the destination data width > the source data width, packing is not supported..

Allowed values: 0x0-0x3

PAM_1

Bits 11-12: PAM value when destination data width is higher than source data width.

Allowed values:
0: RightAlignedZeroPadded: Source data is transferred as right aligned, padded with 0s up to the destination data width
1: RightAlignedSignExtended: Source data is transferred as right aligned, sign extended up to the destination data width
2: Fifo: Source data are FIFO queued and packed at the destination data width, in little endian order, before a destination transfer

PAM_2

Bits 11-12: PAM value when source data width is higher than destination data width.

Allowed values:
0: RightAlignedLeftTruncated: Source data is transferred as right aligned, left-truncated down to the destination data width
1: LeftAlignedRightTruncated: Source data is transferred as left-aligned, right-truncated down to the destination data width
2: Fifo: Source data are FIFO queued and unpacked at the destination data width, in little endian order

SBX

Bit 13: source byte exchange within the unaligned half-word of each source word If the source data width is shorter than a word, this bit is ignored. If the source data width is a word:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

SAP

Bit 14: source allocated port This bit is used to allocate the master port for the source transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

DDW_LOG2

Bits 16-17: binary logarithm of the destination data width of a burst, in bytes Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. Note: A destination burst transfer must have an aligned address with its data width (start address GPDMA_CxDAR[2:0] and address offset GPDMA_CxTR3.DAO[2:0], versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and no transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

DINC

Bit 19: destination incrementing burst The destination address, pointed by GPDMA_CxDAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

DBL_1

Bits 20-25: destination burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If DBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width DDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

DBX

Bit 26: destination byte exchange If the destination data size is a byte, this bit is ignored. If the destination data size is not a byte:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

DHX

Bit 27: destination half-word exchange If the destination data size is shorter than a word, this bit is ignored. If the destination data size is a word:.

Allowed values:
0: NotExchanged: No halfword-based exchange within word
1: Exchanged: The two consecutive (post PAM) half-words are exchanged in each destination word

DAP

Bit 30: destination allocated port This bit is used to allocate the master port for the destination transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

C1TR2

GPDMA channel 1 transfer register 2

Offset: 0x114, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCEM
rw
TRIGPOL
rw
TRIGSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIGM
rw
PFREQ
rw
BREQ
rw
DREQ
rw
SWREQ
rw
REQSEL
rw
Toggle fields

REQSEL

Bits 0-7: GPDMA hardware request selection These bits are ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per Section 14.3.4. The user must not assign a same input hardware request (same REQSEL[7:0] value) to different active GPDMA channels (GPDMA_CxCR.EN = 1 and GPDMA_CxTR2.SWREQ = 0 for these channels). GPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting..

Allowed values:
0: ADC1_DMA: adc1_dma selected
2: DAC1_CH1_DMA: dac1_ch1_dma selected
3: DAC1_CH2_DMA: dac1_ch2_dma selected
4: TIM6_UPD_DMA: tim6_upd_dma selected
5: TIM7_UPD_DMA: tim7_upd_dma selected
6: SPI1_RX_DMA: spi1_rx_dma selected
7: SPI1_TX_DMA: spi1_tx_dma selected
8: SPI2_RX_DMA: spi2_rx_dma selected
9: SPI2_TX_DMA: spi2_tx_dma selected
10: SPI3_RX_DMA: spi3_rx_dma selected
11: SPI3_TX_DMA: spi3_tx_dma selected
12: I2C1_RX_DMA: i2c1_rx_dma selected
13: I2C1_TX_DMA: i2c1_tx_dma selected
15: I2C2_RX_DMA: i2c2_rx_dma selected
16: I2C2_TX_DMA: i2c2_tx_dma selected
18: I2C3_RX_DMA: i2c3_rx_dma selected
19: I2C3_TX_DMA: i2c3_tx_dma selected
21: USART1_RX_DMA: usart1_rx_dma selected
22: USART1_TX_DMA: usart1_tx_dma selected
23: USART2_RX_DMA: usart2_rx_dma selected
24: USART2_TX_DMA: usart2_tx_dma selected
25: USART3_RX_DMA: usart3_rx_dma selected
26: USART3_TX_DMA: usart3_tx_dma selected
27: UART4_RX_DMA: uart4_rx_dma selected
28: UART4_TX_DMA: uart4_tx_dma selected
29: UART5_RX_DMA: uart5_rx_dma selected
30: UART5_TX_DMA: uart5_tx_dma selected
31: USART6_RX_DMA: usart6_rx_dma selected
32: USART6_TX_DMA: usart6_tx_dma selected
33: UART7_RX_DMA: uart7_rx_dma selected
34: UART7_TX_DMA: uart7_tx_dma selected
35: UART8_RX_DMA: uart8_rx_dma selected
36: UART8_TX_DMA: uart8_tx_dma selected
37: UART9_RX_DMA: uart9_rx_dma selected
38: UART9_TX_DMA: uart9_tx_dma selected
39: UART10_RX_DMA: uart10_rx_dma selected
40: UART10_TX_DMA: uart10_tx_dma selected
41: UART11_RX_DMA: uart11_rx_dma selected
42: UART11_TX_DMA: uart11_tx_dma selected
43: UART12_RX_DMA: uart12_rx_dma selected
44: UART12_TX_DMA: uart12_tx_dma selected
45: LPUART1_RX_DMA: lpuart1_rx_dma selected
46: LPUART1_TX_DMA: lpuart1_tx_dma selected
47: SPI4_RX_DMA: spi4_rx_dma selected
48: SPI4_TX_DMA: spi4_tx_dma selected
49: SPI5_RX_DMA: spi5_rx_dma selected
50: SPI5_TX_DMA: spi5_tx_dma selected
51: SPI6_RX_DMA: spi6_rx_dma selected
52: SPI6_TX_DMA: spi6_tx_dma selected
53: SAI1_A_DMA: sai1_a_dma selected
54: SAI1_B_DMA: sai1_b_dma selected
55: SAI2_A_DMA: sai2_a_dma selected
56: SAI2_B_DMA: sai2_b_dma selected
57: OSPI1_DMA: ospi1_dma selected
58: TIM1_CC1_DMA: tim1_cc1_dma selected
59: TIM1_CC2_DMA: tim1_cc2_dma selected
60: TIM1_CC3_DMA: tim1_cc3_dma selected
61: TIM1_CC4_DMA: tim1_cc4_dma selected
62: TIM1_UPD_DMA: tim1_upd_dma selected
63: TIM1_TRG_DMA: tim1_trg_dma selected
64: TIM1_COM_DMA: tim1_com_dma selected
65: TIM8_CC1_DMA: tim8_cc1_dma selected
66: TIM8_CC2_DMA: tim8_cc2_dma selected
67: TIM8_CC3_DMA: tim8_cc3_dma selected
68: TIM8_CC4_DMA: tim8_cc4_dma selected
69: TIM8_UPD_DMA: tim8_upd_dma selected
70: TIM8_TIG_DMA: tim8_tig_dma selected
71: TIM8_COM_DMA: tim8_com_dma selected
72: TIM2_CC1_DMA: tim2_cc1_dma selected
73: TIM2_CC2_DMA: tim2_cc2_dma selected
74: TIM2_CC3_DMA: tim2_cc3_dma selected
75: TIM2_CC4_DMA: tim2_cc4_dma selected
76: TIM2_UPD_DMA: tim2_upd_dma selected
77: TIM3_CC1_DMA: tim3_cc1_dma selected
78: TIM3_CC2_DMA: tim3_cc2_dma selected
79: TIM3_CC3_DMA: tim3_cc3_dma selected
80: TIM3_CC4_DMA: tim3_cc4_dma selected
81: TIM3_UPD_DMA: tim3_upd_dma selected
82: TIM3_TRG_DMA: tim3_trg_dma selected
83: TIM4_CC1_DMA: tim4_cc1_dma selected
84: TIM4_CC2_DMA: tim4_cc2_dma selected
85: TIM4_CC3_DMA: tim4_cc3_dma selected
86: TIM4_CC4_DMA: tim4_cc4_dma selected
87: TIM4_UPD_DMA: tim4_upd_dma selected
88: TIM5_CC1_DMA: tim5_cc1_dma selected
89: TIM5_CC2_DMA: tim5_cc2_dma selected
90: TIM5_CC3_DMA: tim5_cc3_dma selected
91: TIM5_CC4_DMA: tim5_cc4_dma selected
92: TIM5_UPD_DMA: tim5_upd_dma selected
93: TIM5_TRG_DMA: tim5_trg_dma selected
94: TIM15_CC1_DMA: tim15_cc1_dma selected
95: TIM15_UPD_DMA: tim15_upd_dma selected
96: TIM15_TRG_DMA: tim15_trg_dma selected
97: TIM15_COM_DMA: tim15_com_dma selected
98: TIM16_CC1_DMA: tim16_cc1_dma selected
99: TIM16_UPD_DMA: tim16_upd_dma selected
100: TIM17_CC1_DMA: tim17_cc1_dma selected
101: TIM17_UPD_DMA: tim17_upd_dma selected
102: LPTIM1_IC1_DMA: lptim1_ic1_dma selected
103: LPTIM1_IC2_DMA: lptim1_ic2_dma selected
104: LPTIM1_UE_DMA: lptim1_ue_dma selected
105: LPTIM2_IC1_DMA: lptim2_ic1_dma selected
106: LPTIM2_IC2_DMA: lptim2_ic2_dma selected
107: LPTIM2_UE_DMA: lptim2_ue_dma selected
108: DCMI_PSSI_DMA: dcmi_dma or pssi_dma(1) selected
109: AES_OUT_DMA: aes_out_dma selected
110: AES_IN_DMA: aes_in_dma selected
111: HASH_IN_DMA: hash_in_dma selected
112: UCPD1_RX_DMA: ucpd1_rx_dma selected
113: UCPD1_TX_DMA: ucpd1_tx_dma selected
114: CORDIC_READ_DMA: cordic_read_dma selected
115: CORDIC_WRITE_DMA: cordic_write_dma selected
116: FMAC_READ_DMA: fmac_read_dma selected
117: FMAC_WRITE_DMA: fmac_write_dma selected
118: SAES_OUT_DMA: saes_out_dma selected
119: SAES_IN_DMA: saes_in_dma selected
120: I3C1_RX_DMA: i3c1_rx_dma selected
121: I3C1_TX_DMA: i3c1_tx_dma selected
122: I3C1_TC_DMA: i3c1_tc_dma selected
123: I3C1_RS_DMA: i3c1_rs_dma selected
124: I2C4_RX_DMA: i2c4_rx_dma selected
125: I2C4_TX_DMA: i2c4_tx_dma selected
127: LPTIM3_IC1_DMA: lptim3_ic1_dma selected
128: LPTIM3_IC2_DMA: lptim3_ic2_dma selected
129: LPTIM3_UE_DMA: lptim3_ue_dma selected
130: LPTIM5_IC1_DMA: lptim5_ic1_dma selected
131: LPTIM5_IC2_DMA: lptim5_ic2_dma selected
132: LPTIM5_UE_DMA: lptim5_ue_dma selected
133: LPTIM6_IC1_DMA: lptim6_ic1_dma selected
134: LPTIM6_IC2_DMA: lptim6_ic2_dma selected
135: LPTIM6_UE_DMA: lptim6_ue_dma selected
136: I3C2_RX: i3c2_rx selected
137: I3C2_TX: i3c2_tx selected
138: I3C2_TC: i3c2_tc selected
139: I3C2_RS: i3c2_rs selected

SWREQ

Bit 9: software request This bit is internally taken into account when GPDMA_CxCR.EN is asserted..

Allowed values:
0: Hardware: No software request. The selected hardware request REQSEL[7:0] is taken into account
1: Software: Software request for memory-to-memory transfer

DREQ

Bit 10: destination hardware request This bit is ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: If the channel x is activated (GPDMA_CxCR.EN is asserted) with SWREQ = 0 and PFREQ = 1 (peripheral hardware request with peripheral flow-control mode), any software assertion to this DREQ bit is ignored: in peripheral flow-control mode, only a peripheral-to-memory transfer is supported..

Allowed values:
0: Source: Selected hardware request driven by a source peripheral
1: Destination: Selected hardware request driven by a destination peripheral

BREQ

Bit 11: Block hardware request If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:.

Allowed values:
0: Burst: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level
1: Block: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level

PFREQ

Bit 12: Hardware request in peripheral flow control mode Important: If a given channel x is not implemented with this feature, this bit is reserved and PFREQ is not present (see Section 14.3.2 for the list of the implemented channels with this feature. If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: Note: In peripheral flow control mode, there are the following restrictions: Note: - no 2D/repeated block support (GPDMA_CxBR1.BRC[10:0] must be set to 0) Note: - the peripheral must be set as the source of the transfer (DREQ = 0). Note: - data packing to a wider destination width is not supported (if destination width > source data width, GPDMA_CxTR1.PAM[1] must be set to 0). Note: - GPDMA_CxBR1.BNDT[15:0] must be programmed as a multiple of the source (peripheral) burst size..

Allowed values:
0: GpdmaControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in GPDMA control mode
1: PeripheralControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in peripheral control mode.

TRIGM

Bits 14-15: trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (GPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a GPDMA transfer is conditioned by at least one trigger hit: – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The GPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLI<sub>n+1</sub> that updates the GPDMA_CxTR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLI<sub>n </sub>trigger. After a first new trigger hit<sub>n+1</sub> is memorized, if another second trigger hit<sub>n+2</sub> is detected and if the hit<sub>n</sub> triggered transfer is still not completed, hit<sub>n+2 </sub>is lost and not memorized.memorized. A trigger overrun flag is reported (GPDMA_CxSR.TOF =1 ), and an interrupt is generated if enabled (GPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. Note: When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger..

Allowed values:
0: BlockLevel: At block level: the first burst read of each block transfer is conditioned by one hit trigger
2: LinkLevel: At link level: a LLI link transfer is conditioned by one hit trigger
3: ProgrammedBurstLevel: At programmed burst level: programmed burst read is conditioned by one hit trigger.

TRIGSEL

Bits 16-21: trigger event input selection These bits select the trigger event input of the GPDMA transfer (as per Section 14.3.7), with an active trigger event if TRIGPOL[1:0] ≠ 00..

Allowed values:
0: EXTI0: exti0 is trigger input
1: EXTI1: exti1 is trigger input
2: EXTI2: exti2 is trigger input
3: EXTI3: exti3 is trigger input
4: EXTI4: exti4 is trigger input
5: EXTI5: exti5 is trigger input
6: EXTI6: exti6 is trigger input
7: EXTI7: exti7 is trigger input
8: TAMP_TRG1: tamp_trg1 is trigger input
9: TAMP_TRG2: tamp_trg2 is trigger input
11: LPTIM1_CH1: lptim1_ch1 is trigger input
12: LPTIM1_CH2: lptim1_ch2 is trigger input
13: LPTIM2_CH1: lptim2_ch1 is trigger input
14: LPTIM2_CH2: lptim2_ch2 is trigger input
15: RTC_ALRA_TRG: rtc_alra_trg is trigger input
16: RTC_ALRB_TRG: rtc_alrb_trg is trigger input
17: RTC_WUT_TRG: rtc_wut_trg is trigger input
18: GPDMA1_CH0_TC: gpdma1_ch0_tc is trigger input
19: GPDMA1_CH1_TC: gpdma1_ch1_tc is trigger input
20: GPDMA1_CH2_TC: gpdma1_ch2_tc is trigger input
21: GPDMA1_CH3_TC: gpdma1_ch3_tc is trigger input
22: GPDMA1_CH4_TC: gpdma1_ch4_tc is trigger input
23: GPDMA1_CH5_TC: gpdma1_ch5_tc is trigger input
24: GPDMA1_CH6_TC: gpdma1_ch6_tc is trigger input
25: GPDMA1_CH7_TC: gpdma1_ch7_tc is trigger input
26: GPDMA2_CH0_TC: gpdma2_ch0_tc is trigger input
27: GPDMA2_CH1_TC: gpdma2_ch1_tc is trigger input
28: GPDMA2_CH2_TC: gpdma2_ch2_tc is trigger input
29: GPDMA2_CH3_TC: gpdma2_ch3_tc is trigger input
30: GPDMA2_CH4_TC: gpdma2_ch4_tc is trigger input
31: GPDMA2_CH5_TC: gpdma2_ch5_tc is trigger input
32: GPDMA2_CH6_TC: gpdma2_ch6_tc is trigger input
33: GPDMA2_CH7_TC: gpdma2_ch7_tc is trigger input
34: TIM2_TRG0: tim2_trgo is trigger input
44: COMP1_OUT: comp1_out is trigger input

TRIGPOL

Bits 24-25: trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]..

Allowed values:
0: NoTrigger: No trigger
1: RisingEdge: Trigger on rising edge
2: FallingEdge: Trigger on falling edge

TCEM

Bits 30-31: transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (i.e. directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI<sub>1</sub>..

Allowed values:
0: BlockLevel: At block level: the complete (and the half) transfer event is generated at the (respectively half of the) end of a block
2: LliLevel: At LLI level: the complete transfer event is generated at the end of the LLI transfer. The half transfer event is generated at the half of the LLI data transfer
3: ChannelLevel: At channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI

C1BR1

GPDMA channel 1 block register 1

Offset: 0x118, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BNDT
rw
Toggle fields

BNDT

Bits 0-15: block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if GPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if GPDMA_CxLLR.UB1 = 0 and if there is at least one non null Uxx update bit, this field is internally restored to the programmed value. - if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] = 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: When configured in packing mode (GPDMA_CxTR1.PAM[1] = 1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffff

C1SAR

GPDMA channel 1 source address register

Offset: 0x11c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SA
rw
Toggle fields

SA

Bits 0-31: source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (GPDMA_CxTR1.SINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.SDW_LOG2[1:0]) after each burst source data, reflecting the next address from which data is read. During the channel activity, this address is updated after each completed source burst, consequently to: the programmed source burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.SINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.SBL_1[5:0] and GPDMA_CxTR1.SDW_LOG2[21:0] the additional source incremented/decremented offset value as programmed by GPDMA_CxBR1.SDEC and GPDMA_CxTR3.SAO[12:0]. once/if completed source block transfer, for a channel x with 2D addressing capability (x = 12 to 15). additional block repeat source incremented/decremented offset value as programmed by GPDMA_CxBR1.BRSDEC and GPDMA_CxBR2.BRSAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source burst (SA[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xffffffff

C1DAR

GPDMA channel 1 destination address register

Offset: 0x120, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 0-31: destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (GPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.DDW_LOG2[21:0]) after each burst destination data, reflecting the next address from which data is written. During the channel activity, this address is updated after each completed destination burst, consequently to: the programmed destination burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.DINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.DBL_1[5:0] and GPDMA_CxTR1.DDW_LOG2[1:0] the additional destination incremented/decremented offset value as programmed by GPDMA_CxBR1.DDEC and GPDMA_CxTR3.DAO[12:0]. once/if completed destination block transfer, for a channel x with 2D addressing capability (x = 12 to 15), the additional block repeat destination incremented/decremented offset value as programmed by GPDMA_CxBR1.BRDDEC and GPDMA_CxBR2.BRDAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by the GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination burst (DA[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffffffff

C1LLR

GPDMA channel 1 linked-list address register

Offset: 0x14c, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UT1
rw
UT2
rw
UB1
rw
USA
rw
UDA
rw
ULL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LA
rw
Toggle fields

LA

Bits 2-15: pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list GPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list GPDMA internal register file (GPDMA_CxCTR1, GPDMA_CxTR2, GPDMA_CxBR1, GPDMA_CxSAR, GPDMA_CxDAR and GPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored..

Allowed values: 0x0-0x3fff

ULL

Bit 16: Update GPDMA_CxLLR register from memory This bit is used to control the update of GPDMA_CxLLR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxLLR update
1: Update: CxLLR updated from memory during link transfer

UDA

Bit 27: Update GPDMA_CxDAR register from memory This bit is used to control the update of GPDMA_CxDAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxDAR update
1: Update: CxDAR updated from memory during link transfer

USA

Bit 28: update GPDMA_CxSAR from memory This bit controls the update of GPDMA_CxSAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxSAR update
1: Update: CxSAR updated from memory during link transfer

UB1

Bit 29: Update GPDMA_CxBR1 from memory This bit controls the update of GPDMA_CxBR1 from the memory during the link transfer. If UB1 = 0 and if GPDMA_CxLLR ≠ 0, the linked-list is not completed. GPDMA_CxBR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer..

Allowed values:
0: NoUpdate: No CxBR1 update
1: Update: CxBR1 updated from memory during link transfer

UT2

Bit 30: Update GPDMA_CxTR2 from memory This bit controls the update of GPDMA_CxTR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR2 update
1: Update: CxTR2 updated from memory during link transfer

UT1

Bit 31: Update GPDMA_CxTR1 from memory This bit controls the update of GPDMA_CxTR1 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR1 update
1: Update: CxTR1 updated from memory during link transfer

C2LBAR

GPDMA channel 2 linked-list base address register

Offset: 0x150, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LBA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

LBA

Bits 16-31: linked-list base address of GPDMA channel x.

Allowed values: 0x0-0xffff

C2FCR

GPDMA channel 2 flag clear register

Offset: 0x15c, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
w
SUSPF
w
USEF
w
ULEF
w
DTEF
w
HTF
w
TCF
w
Toggle fields

TCF

Bit 8: transfer complete flag clear.

Allowed values:
1: Clear: Clear flag

HTF

Bit 9: half transfer flag clear.

Allowed values:
1: Clear: Clear flag

DTEF

Bit 10: data transfer error flag clear.

Allowed values:
1: Clear: Clear flag

ULEF

Bit 11: update link transfer error flag clear.

Allowed values:
1: Clear: Clear flag

USEF

Bit 12: user setting error flag clear.

Allowed values:
1: Clear: Clear flag

SUSPF

Bit 13: completed suspension flag clear.

Allowed values:
1: Clear: Clear flag

TOF

Bit 14: trigger overrun flag clear.

Allowed values:
1: Clear: Clear flag

C2SR

GPDMA channel 2 status register

Offset: 0x160, size: 32, reset: 0x00000001, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
r
SUSPF
r
USEF
r
ULEF
r
DTEF
r
HTF
r
TCF
r
IDLEF
r
Toggle fields

IDLEF

Bit 0: idle flag This idle flag is deasserted by hardware when the channel is enabled (GPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state)..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TCF

Bit 8: transfer complete flag A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0])..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

HTF

Bit 9: half transfer flag A half transfer event is either a half block transfer or a half 2D/repeated block transfer, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0]). A half block transfer occurs when half of the bytes of the source block size (rounded up integer of GPDMA_CxBR1.BNDT[15:0]/2) has been transferred to the destination. A half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (GPDMA_CxBR1.BRC[10:0]+1)/2)) has been transferred to the destination..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

DTEF

Bit 10: data transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

ULEF

Bit 11: update link transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

USEF

Bit 12: user setting error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

SUSPF

Bit 13: completed suspension flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TOF

Bit 14: trigger overrun flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

FIFOL

Bits 16-23: monitored FIFO level Number of available write beats in the FIFO, in units of the programmed destination data width (see GPDMA_CxTR1.DDW_LOG2[1:0], in units of bytes, half-words, or words). Note: After having suspended an active transfer, the user may need to read FIFOL[7:0], additionally to GPDMA_CxBR1.BDNT[15:0] and GPDMA_CxBR1.BRC[10:0], to know how many data have been transferred to the destination. Before reading, the user may wait for the transfer to be suspended (GPDMA_CxSR.SUSPF = 1)..

Allowed values: 0x0-0xff

C2CR

GPDMA channel 2 control register

Offset: 0x164, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRIO
rw
LAP
rw
LSM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOIE
rw
SUSPIE
rw
USEIE
rw
ULEIE
rw
DTEIE
rw
HTIE
rw
TCIE
rw
SUSP
rw
RESET
w
EN
rw
Toggle fields

EN

Bit 0: enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is deasserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, for example if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored..

Allowed values:
0: Disabled: Channel disabled
1: Enabled: Channel enabled

RESET

Bit 1: reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (GPDMA_CxSR.SUSPF = 1 and GPDMA_CxSR.IDLEF = GPDMA_CxCR.EN = 1) - channel in disabled state (GPDMA_CxSR.IDLEF = 1 and GPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (GPDMA_CxBR1, GPDMA_CxSAR and GPDMA_CxDAR) before enabling again the channel (see the programming sequence in Figure 44)..

Allowed values:
1: Reset: Reset channel

SUSP

Bit 2: suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel (channel with an ongoing GPDMA transfer over its master ports). The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in Figure 43..

Allowed values:
0: NotSuspended: Channel operation not suspended
1: Suspended: Channel operation suspended

TCIE

Bit 8: transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HTIE

Bit 9: half transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

DTEIE

Bit 10: data transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

ULEIE

Bit 11: update link transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

USEIE

Bit 12: user setting error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

SUSPIE

Bit 13: completed suspension interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

TOIE

Bit 14: trigger overrun interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

LSM

Bit 16: Link step mode First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until GPDMA_CxBR1.BNDT[15:0] = 0 and GPDMA_CxBR1.BRC[10:0] = 0. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by GPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: FullLinkedList: Channel executed for full linked list
1: Once: Channel executed once for current linked list

LAP

Bit 17: linked-list allocated port This bit is used to allocate the master port for the update of the GPDMA linked-list registers from the memory. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

PRIO

Bits 22-23: priority level of the channel x GPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: LowPrioLowWeight: Low priority, low weight
1: LowPrioMidWeight: Low priority, mid weight
2: LowPrioHighWeight: Low priority, high weight
3: HighPrio: High priority

C2TR1

GPDMA channel 2 transfer register 1

Offset: 0x190, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAP
rw
DHX
rw
DBX
rw
DBL_1
rw
DINC
rw
DDW_LOG2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAP
rw
SBX
rw
PAM
rw
SBL_1
rw
SINC
rw
SDW_LOG2
rw
Toggle fields

SDW_LOG2

Bits 0-1: binary logarithm of the source data width of a burst in bytes Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (GPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. Note: A source burst transfer must have an aligned address with its data width (start address GPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

SINC

Bit 3: source incrementing burst The source address, pointed by GPDMA_CxSAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

SBL_1

Bits 4-9: source burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If SBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width SDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

PAM

Bits 11-12: padding/alignment mode If DDW_LOG2[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else, in the following enumerated values, the condition PAM_1 is when destination data width is higher that source data width, and the condition PAM_2 is when destination data width is higher than source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination Note: If the transfer from the source peripheral is configured with peripheral flow-control mode (SWREQ = 0 and PFREQ = 1 and DREQ = 0), and if the destination data width > the source data width, packing is not supported..

Allowed values: 0x0-0x3

PAM_1

Bits 11-12: PAM value when destination data width is higher than source data width.

Allowed values:
0: RightAlignedZeroPadded: Source data is transferred as right aligned, padded with 0s up to the destination data width
1: RightAlignedSignExtended: Source data is transferred as right aligned, sign extended up to the destination data width
2: Fifo: Source data are FIFO queued and packed at the destination data width, in little endian order, before a destination transfer

PAM_2

Bits 11-12: PAM value when source data width is higher than destination data width.

Allowed values:
0: RightAlignedLeftTruncated: Source data is transferred as right aligned, left-truncated down to the destination data width
1: LeftAlignedRightTruncated: Source data is transferred as left-aligned, right-truncated down to the destination data width
2: Fifo: Source data are FIFO queued and unpacked at the destination data width, in little endian order

SBX

Bit 13: source byte exchange within the unaligned half-word of each source word If the source data width is shorter than a word, this bit is ignored. If the source data width is a word:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

SAP

Bit 14: source allocated port This bit is used to allocate the master port for the source transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

DDW_LOG2

Bits 16-17: binary logarithm of the destination data width of a burst, in bytes Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. Note: A destination burst transfer must have an aligned address with its data width (start address GPDMA_CxDAR[2:0] and address offset GPDMA_CxTR3.DAO[2:0], versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and no transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

DINC

Bit 19: destination incrementing burst The destination address, pointed by GPDMA_CxDAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

DBL_1

Bits 20-25: destination burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If DBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width DDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

DBX

Bit 26: destination byte exchange If the destination data size is a byte, this bit is ignored. If the destination data size is not a byte:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

DHX

Bit 27: destination half-word exchange If the destination data size is shorter than a word, this bit is ignored. If the destination data size is a word:.

Allowed values:
0: NotExchanged: No halfword-based exchange within word
1: Exchanged: The two consecutive (post PAM) half-words are exchanged in each destination word

DAP

Bit 30: destination allocated port This bit is used to allocate the master port for the destination transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

C2TR2

GPDMA channel 2 transfer register 2

Offset: 0x194, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCEM
rw
TRIGPOL
rw
TRIGSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIGM
rw
PFREQ
rw
BREQ
rw
DREQ
rw
SWREQ
rw
REQSEL
rw
Toggle fields

REQSEL

Bits 0-7: GPDMA hardware request selection These bits are ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per Section 14.3.4. The user must not assign a same input hardware request (same REQSEL[7:0] value) to different active GPDMA channels (GPDMA_CxCR.EN = 1 and GPDMA_CxTR2.SWREQ = 0 for these channels). GPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting..

Allowed values:
0: ADC1_DMA: adc1_dma selected
2: DAC1_CH1_DMA: dac1_ch1_dma selected
3: DAC1_CH2_DMA: dac1_ch2_dma selected
4: TIM6_UPD_DMA: tim6_upd_dma selected
5: TIM7_UPD_DMA: tim7_upd_dma selected
6: SPI1_RX_DMA: spi1_rx_dma selected
7: SPI1_TX_DMA: spi1_tx_dma selected
8: SPI2_RX_DMA: spi2_rx_dma selected
9: SPI2_TX_DMA: spi2_tx_dma selected
10: SPI3_RX_DMA: spi3_rx_dma selected
11: SPI3_TX_DMA: spi3_tx_dma selected
12: I2C1_RX_DMA: i2c1_rx_dma selected
13: I2C1_TX_DMA: i2c1_tx_dma selected
15: I2C2_RX_DMA: i2c2_rx_dma selected
16: I2C2_TX_DMA: i2c2_tx_dma selected
18: I2C3_RX_DMA: i2c3_rx_dma selected
19: I2C3_TX_DMA: i2c3_tx_dma selected
21: USART1_RX_DMA: usart1_rx_dma selected
22: USART1_TX_DMA: usart1_tx_dma selected
23: USART2_RX_DMA: usart2_rx_dma selected
24: USART2_TX_DMA: usart2_tx_dma selected
25: USART3_RX_DMA: usart3_rx_dma selected
26: USART3_TX_DMA: usart3_tx_dma selected
27: UART4_RX_DMA: uart4_rx_dma selected
28: UART4_TX_DMA: uart4_tx_dma selected
29: UART5_RX_DMA: uart5_rx_dma selected
30: UART5_TX_DMA: uart5_tx_dma selected
31: USART6_RX_DMA: usart6_rx_dma selected
32: USART6_TX_DMA: usart6_tx_dma selected
33: UART7_RX_DMA: uart7_rx_dma selected
34: UART7_TX_DMA: uart7_tx_dma selected
35: UART8_RX_DMA: uart8_rx_dma selected
36: UART8_TX_DMA: uart8_tx_dma selected
37: UART9_RX_DMA: uart9_rx_dma selected
38: UART9_TX_DMA: uart9_tx_dma selected
39: UART10_RX_DMA: uart10_rx_dma selected
40: UART10_TX_DMA: uart10_tx_dma selected
41: UART11_RX_DMA: uart11_rx_dma selected
42: UART11_TX_DMA: uart11_tx_dma selected
43: UART12_RX_DMA: uart12_rx_dma selected
44: UART12_TX_DMA: uart12_tx_dma selected
45: LPUART1_RX_DMA: lpuart1_rx_dma selected
46: LPUART1_TX_DMA: lpuart1_tx_dma selected
47: SPI4_RX_DMA: spi4_rx_dma selected
48: SPI4_TX_DMA: spi4_tx_dma selected
49: SPI5_RX_DMA: spi5_rx_dma selected
50: SPI5_TX_DMA: spi5_tx_dma selected
51: SPI6_RX_DMA: spi6_rx_dma selected
52: SPI6_TX_DMA: spi6_tx_dma selected
53: SAI1_A_DMA: sai1_a_dma selected
54: SAI1_B_DMA: sai1_b_dma selected
55: SAI2_A_DMA: sai2_a_dma selected
56: SAI2_B_DMA: sai2_b_dma selected
57: OSPI1_DMA: ospi1_dma selected
58: TIM1_CC1_DMA: tim1_cc1_dma selected
59: TIM1_CC2_DMA: tim1_cc2_dma selected
60: TIM1_CC3_DMA: tim1_cc3_dma selected
61: TIM1_CC4_DMA: tim1_cc4_dma selected
62: TIM1_UPD_DMA: tim1_upd_dma selected
63: TIM1_TRG_DMA: tim1_trg_dma selected
64: TIM1_COM_DMA: tim1_com_dma selected
65: TIM8_CC1_DMA: tim8_cc1_dma selected
66: TIM8_CC2_DMA: tim8_cc2_dma selected
67: TIM8_CC3_DMA: tim8_cc3_dma selected
68: TIM8_CC4_DMA: tim8_cc4_dma selected
69: TIM8_UPD_DMA: tim8_upd_dma selected
70: TIM8_TIG_DMA: tim8_tig_dma selected
71: TIM8_COM_DMA: tim8_com_dma selected
72: TIM2_CC1_DMA: tim2_cc1_dma selected
73: TIM2_CC2_DMA: tim2_cc2_dma selected
74: TIM2_CC3_DMA: tim2_cc3_dma selected
75: TIM2_CC4_DMA: tim2_cc4_dma selected
76: TIM2_UPD_DMA: tim2_upd_dma selected
77: TIM3_CC1_DMA: tim3_cc1_dma selected
78: TIM3_CC2_DMA: tim3_cc2_dma selected
79: TIM3_CC3_DMA: tim3_cc3_dma selected
80: TIM3_CC4_DMA: tim3_cc4_dma selected
81: TIM3_UPD_DMA: tim3_upd_dma selected
82: TIM3_TRG_DMA: tim3_trg_dma selected
83: TIM4_CC1_DMA: tim4_cc1_dma selected
84: TIM4_CC2_DMA: tim4_cc2_dma selected
85: TIM4_CC3_DMA: tim4_cc3_dma selected
86: TIM4_CC4_DMA: tim4_cc4_dma selected
87: TIM4_UPD_DMA: tim4_upd_dma selected
88: TIM5_CC1_DMA: tim5_cc1_dma selected
89: TIM5_CC2_DMA: tim5_cc2_dma selected
90: TIM5_CC3_DMA: tim5_cc3_dma selected
91: TIM5_CC4_DMA: tim5_cc4_dma selected
92: TIM5_UPD_DMA: tim5_upd_dma selected
93: TIM5_TRG_DMA: tim5_trg_dma selected
94: TIM15_CC1_DMA: tim15_cc1_dma selected
95: TIM15_UPD_DMA: tim15_upd_dma selected
96: TIM15_TRG_DMA: tim15_trg_dma selected
97: TIM15_COM_DMA: tim15_com_dma selected
98: TIM16_CC1_DMA: tim16_cc1_dma selected
99: TIM16_UPD_DMA: tim16_upd_dma selected
100: TIM17_CC1_DMA: tim17_cc1_dma selected
101: TIM17_UPD_DMA: tim17_upd_dma selected
102: LPTIM1_IC1_DMA: lptim1_ic1_dma selected
103: LPTIM1_IC2_DMA: lptim1_ic2_dma selected
104: LPTIM1_UE_DMA: lptim1_ue_dma selected
105: LPTIM2_IC1_DMA: lptim2_ic1_dma selected
106: LPTIM2_IC2_DMA: lptim2_ic2_dma selected
107: LPTIM2_UE_DMA: lptim2_ue_dma selected
108: DCMI_PSSI_DMA: dcmi_dma or pssi_dma(1) selected
109: AES_OUT_DMA: aes_out_dma selected
110: AES_IN_DMA: aes_in_dma selected
111: HASH_IN_DMA: hash_in_dma selected
112: UCPD1_RX_DMA: ucpd1_rx_dma selected
113: UCPD1_TX_DMA: ucpd1_tx_dma selected
114: CORDIC_READ_DMA: cordic_read_dma selected
115: CORDIC_WRITE_DMA: cordic_write_dma selected
116: FMAC_READ_DMA: fmac_read_dma selected
117: FMAC_WRITE_DMA: fmac_write_dma selected
118: SAES_OUT_DMA: saes_out_dma selected
119: SAES_IN_DMA: saes_in_dma selected
120: I3C1_RX_DMA: i3c1_rx_dma selected
121: I3C1_TX_DMA: i3c1_tx_dma selected
122: I3C1_TC_DMA: i3c1_tc_dma selected
123: I3C1_RS_DMA: i3c1_rs_dma selected
124: I2C4_RX_DMA: i2c4_rx_dma selected
125: I2C4_TX_DMA: i2c4_tx_dma selected
127: LPTIM3_IC1_DMA: lptim3_ic1_dma selected
128: LPTIM3_IC2_DMA: lptim3_ic2_dma selected
129: LPTIM3_UE_DMA: lptim3_ue_dma selected
130: LPTIM5_IC1_DMA: lptim5_ic1_dma selected
131: LPTIM5_IC2_DMA: lptim5_ic2_dma selected
132: LPTIM5_UE_DMA: lptim5_ue_dma selected
133: LPTIM6_IC1_DMA: lptim6_ic1_dma selected
134: LPTIM6_IC2_DMA: lptim6_ic2_dma selected
135: LPTIM6_UE_DMA: lptim6_ue_dma selected
136: I3C2_RX: i3c2_rx selected
137: I3C2_TX: i3c2_tx selected
138: I3C2_TC: i3c2_tc selected
139: I3C2_RS: i3c2_rs selected

SWREQ

Bit 9: software request This bit is internally taken into account when GPDMA_CxCR.EN is asserted..

Allowed values:
0: Hardware: No software request. The selected hardware request REQSEL[7:0] is taken into account
1: Software: Software request for memory-to-memory transfer

DREQ

Bit 10: destination hardware request This bit is ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: If the channel x is activated (GPDMA_CxCR.EN is asserted) with SWREQ = 0 and PFREQ = 1 (peripheral hardware request with peripheral flow-control mode), any software assertion to this DREQ bit is ignored: in peripheral flow-control mode, only a peripheral-to-memory transfer is supported..

Allowed values:
0: Source: Selected hardware request driven by a source peripheral
1: Destination: Selected hardware request driven by a destination peripheral

BREQ

Bit 11: Block hardware request If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:.

Allowed values:
0: Burst: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level
1: Block: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level

PFREQ

Bit 12: Hardware request in peripheral flow control mode Important: If a given channel x is not implemented with this feature, this bit is reserved and PFREQ is not present (see Section 14.3.2 for the list of the implemented channels with this feature. If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: Note: In peripheral flow control mode, there are the following restrictions: Note: - no 2D/repeated block support (GPDMA_CxBR1.BRC[10:0] must be set to 0) Note: - the peripheral must be set as the source of the transfer (DREQ = 0). Note: - data packing to a wider destination width is not supported (if destination width > source data width, GPDMA_CxTR1.PAM[1] must be set to 0). Note: - GPDMA_CxBR1.BNDT[15:0] must be programmed as a multiple of the source (peripheral) burst size..

Allowed values:
0: GpdmaControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in GPDMA control mode
1: PeripheralControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in peripheral control mode.

TRIGM

Bits 14-15: trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (GPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a GPDMA transfer is conditioned by at least one trigger hit: – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The GPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLI<sub>n+1</sub> that updates the GPDMA_CxTR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLI<sub>n </sub>trigger. After a first new trigger hit<sub>n+1</sub> is memorized, if another second trigger hit<sub>n+2</sub> is detected and if the hit<sub>n</sub> triggered transfer is still not completed, hit<sub>n+2 </sub>is lost and not memorized.memorized. A trigger overrun flag is reported (GPDMA_CxSR.TOF =1 ), and an interrupt is generated if enabled (GPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. Note: When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger..

Allowed values:
0: BlockLevel: At block level: the first burst read of each block transfer is conditioned by one hit trigger
2: LinkLevel: At link level: a LLI link transfer is conditioned by one hit trigger
3: ProgrammedBurstLevel: At programmed burst level: programmed burst read is conditioned by one hit trigger.

TRIGSEL

Bits 16-21: trigger event input selection These bits select the trigger event input of the GPDMA transfer (as per Section 14.3.7), with an active trigger event if TRIGPOL[1:0] ≠ 00..

Allowed values:
0: EXTI0: exti0 is trigger input
1: EXTI1: exti1 is trigger input
2: EXTI2: exti2 is trigger input
3: EXTI3: exti3 is trigger input
4: EXTI4: exti4 is trigger input
5: EXTI5: exti5 is trigger input
6: EXTI6: exti6 is trigger input
7: EXTI7: exti7 is trigger input
8: TAMP_TRG1: tamp_trg1 is trigger input
9: TAMP_TRG2: tamp_trg2 is trigger input
11: LPTIM1_CH1: lptim1_ch1 is trigger input
12: LPTIM1_CH2: lptim1_ch2 is trigger input
13: LPTIM2_CH1: lptim2_ch1 is trigger input
14: LPTIM2_CH2: lptim2_ch2 is trigger input
15: RTC_ALRA_TRG: rtc_alra_trg is trigger input
16: RTC_ALRB_TRG: rtc_alrb_trg is trigger input
17: RTC_WUT_TRG: rtc_wut_trg is trigger input
18: GPDMA1_CH0_TC: gpdma1_ch0_tc is trigger input
19: GPDMA1_CH1_TC: gpdma1_ch1_tc is trigger input
20: GPDMA1_CH2_TC: gpdma1_ch2_tc is trigger input
21: GPDMA1_CH3_TC: gpdma1_ch3_tc is trigger input
22: GPDMA1_CH4_TC: gpdma1_ch4_tc is trigger input
23: GPDMA1_CH5_TC: gpdma1_ch5_tc is trigger input
24: GPDMA1_CH6_TC: gpdma1_ch6_tc is trigger input
25: GPDMA1_CH7_TC: gpdma1_ch7_tc is trigger input
26: GPDMA2_CH0_TC: gpdma2_ch0_tc is trigger input
27: GPDMA2_CH1_TC: gpdma2_ch1_tc is trigger input
28: GPDMA2_CH2_TC: gpdma2_ch2_tc is trigger input
29: GPDMA2_CH3_TC: gpdma2_ch3_tc is trigger input
30: GPDMA2_CH4_TC: gpdma2_ch4_tc is trigger input
31: GPDMA2_CH5_TC: gpdma2_ch5_tc is trigger input
32: GPDMA2_CH6_TC: gpdma2_ch6_tc is trigger input
33: GPDMA2_CH7_TC: gpdma2_ch7_tc is trigger input
34: TIM2_TRG0: tim2_trgo is trigger input
44: COMP1_OUT: comp1_out is trigger input

TRIGPOL

Bits 24-25: trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]..

Allowed values:
0: NoTrigger: No trigger
1: RisingEdge: Trigger on rising edge
2: FallingEdge: Trigger on falling edge

TCEM

Bits 30-31: transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (i.e. directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI<sub>1</sub>..

Allowed values:
0: BlockLevel: At block level: the complete (and the half) transfer event is generated at the (respectively half of the) end of a block
2: LliLevel: At LLI level: the complete transfer event is generated at the end of the LLI transfer. The half transfer event is generated at the half of the LLI data transfer
3: ChannelLevel: At channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI

C2BR1

GPDMA channel 2 block register 1

Offset: 0x198, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BNDT
rw
Toggle fields

BNDT

Bits 0-15: block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if GPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if GPDMA_CxLLR.UB1 = 0 and if there is at least one non null Uxx update bit, this field is internally restored to the programmed value. - if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] = 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: When configured in packing mode (GPDMA_CxTR1.PAM[1] = 1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffff

C2SAR

GPDMA channel 2 source address register

Offset: 0x19c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SA
rw
Toggle fields

SA

Bits 0-31: source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (GPDMA_CxTR1.SINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.SDW_LOG2[1:0]) after each burst source data, reflecting the next address from which data is read. During the channel activity, this address is updated after each completed source burst, consequently to: the programmed source burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.SINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.SBL_1[5:0] and GPDMA_CxTR1.SDW_LOG2[21:0] the additional source incremented/decremented offset value as programmed by GPDMA_CxBR1.SDEC and GPDMA_CxTR3.SAO[12:0]. once/if completed source block transfer, for a channel x with 2D addressing capability (x = 12 to 15). additional block repeat source incremented/decremented offset value as programmed by GPDMA_CxBR1.BRSDEC and GPDMA_CxBR2.BRSAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source burst (SA[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xffffffff

C2DAR

GPDMA channel 2 destination address register

Offset: 0x1a0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 0-31: destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (GPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.DDW_LOG2[21:0]) after each burst destination data, reflecting the next address from which data is written. During the channel activity, this address is updated after each completed destination burst, consequently to: the programmed destination burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.DINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.DBL_1[5:0] and GPDMA_CxTR1.DDW_LOG2[1:0] the additional destination incremented/decremented offset value as programmed by GPDMA_CxBR1.DDEC and GPDMA_CxTR3.DAO[12:0]. once/if completed destination block transfer, for a channel x with 2D addressing capability (x = 12 to 15), the additional block repeat destination incremented/decremented offset value as programmed by GPDMA_CxBR1.BRDDEC and GPDMA_CxBR2.BRDAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by the GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination burst (DA[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffffffff

C2LLR

GPDMA channel 2 linked-list address register

Offset: 0x1cc, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UT1
rw
UT2
rw
UB1
rw
USA
rw
UDA
rw
ULL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LA
rw
Toggle fields

LA

Bits 2-15: pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list GPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list GPDMA internal register file (GPDMA_CxCTR1, GPDMA_CxTR2, GPDMA_CxBR1, GPDMA_CxSAR, GPDMA_CxDAR and GPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored..

Allowed values: 0x0-0x3fff

ULL

Bit 16: Update GPDMA_CxLLR register from memory This bit is used to control the update of GPDMA_CxLLR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxLLR update
1: Update: CxLLR updated from memory during link transfer

UDA

Bit 27: Update GPDMA_CxDAR register from memory This bit is used to control the update of GPDMA_CxDAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxDAR update
1: Update: CxDAR updated from memory during link transfer

USA

Bit 28: update GPDMA_CxSAR from memory This bit controls the update of GPDMA_CxSAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxSAR update
1: Update: CxSAR updated from memory during link transfer

UB1

Bit 29: Update GPDMA_CxBR1 from memory This bit controls the update of GPDMA_CxBR1 from the memory during the link transfer. If UB1 = 0 and if GPDMA_CxLLR ≠ 0, the linked-list is not completed. GPDMA_CxBR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer..

Allowed values:
0: NoUpdate: No CxBR1 update
1: Update: CxBR1 updated from memory during link transfer

UT2

Bit 30: Update GPDMA_CxTR2 from memory This bit controls the update of GPDMA_CxTR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR2 update
1: Update: CxTR2 updated from memory during link transfer

UT1

Bit 31: Update GPDMA_CxTR1 from memory This bit controls the update of GPDMA_CxTR1 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR1 update
1: Update: CxTR1 updated from memory during link transfer

C3LBAR

GPDMA channel 3 linked-list base address register

Offset: 0x1d0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LBA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

LBA

Bits 16-31: linked-list base address of GPDMA channel x.

Allowed values: 0x0-0xffff

C3FCR

GPDMA channel 3 flag clear register

Offset: 0x1dc, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
w
SUSPF
w
USEF
w
ULEF
w
DTEF
w
HTF
w
TCF
w
Toggle fields

TCF

Bit 8: transfer complete flag clear.

Allowed values:
1: Clear: Clear flag

HTF

Bit 9: half transfer flag clear.

Allowed values:
1: Clear: Clear flag

DTEF

Bit 10: data transfer error flag clear.

Allowed values:
1: Clear: Clear flag

ULEF

Bit 11: update link transfer error flag clear.

Allowed values:
1: Clear: Clear flag

USEF

Bit 12: user setting error flag clear.

Allowed values:
1: Clear: Clear flag

SUSPF

Bit 13: completed suspension flag clear.

Allowed values:
1: Clear: Clear flag

TOF

Bit 14: trigger overrun flag clear.

Allowed values:
1: Clear: Clear flag

C3SR

GPDMA channel 3 status register

Offset: 0x1e0, size: 32, reset: 0x00000001, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
r
SUSPF
r
USEF
r
ULEF
r
DTEF
r
HTF
r
TCF
r
IDLEF
r
Toggle fields

IDLEF

Bit 0: idle flag This idle flag is deasserted by hardware when the channel is enabled (GPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state)..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TCF

Bit 8: transfer complete flag A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0])..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

HTF

Bit 9: half transfer flag A half transfer event is either a half block transfer or a half 2D/repeated block transfer, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0]). A half block transfer occurs when half of the bytes of the source block size (rounded up integer of GPDMA_CxBR1.BNDT[15:0]/2) has been transferred to the destination. A half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (GPDMA_CxBR1.BRC[10:0]+1)/2)) has been transferred to the destination..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

DTEF

Bit 10: data transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

ULEF

Bit 11: update link transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

USEF

Bit 12: user setting error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

SUSPF

Bit 13: completed suspension flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TOF

Bit 14: trigger overrun flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

FIFOL

Bits 16-23: monitored FIFO level Number of available write beats in the FIFO, in units of the programmed destination data width (see GPDMA_CxTR1.DDW_LOG2[1:0], in units of bytes, half-words, or words). Note: After having suspended an active transfer, the user may need to read FIFOL[7:0], additionally to GPDMA_CxBR1.BDNT[15:0] and GPDMA_CxBR1.BRC[10:0], to know how many data have been transferred to the destination. Before reading, the user may wait for the transfer to be suspended (GPDMA_CxSR.SUSPF = 1)..

Allowed values: 0x0-0xff

C3CR

GPDMA channel 3 control register

Offset: 0x1e4, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRIO
rw
LAP
rw
LSM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOIE
rw
SUSPIE
rw
USEIE
rw
ULEIE
rw
DTEIE
rw
HTIE
rw
TCIE
rw
SUSP
rw
RESET
w
EN
rw
Toggle fields

EN

Bit 0: enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is deasserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, for example if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored..

Allowed values:
0: Disabled: Channel disabled
1: Enabled: Channel enabled

RESET

Bit 1: reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (GPDMA_CxSR.SUSPF = 1 and GPDMA_CxSR.IDLEF = GPDMA_CxCR.EN = 1) - channel in disabled state (GPDMA_CxSR.IDLEF = 1 and GPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (GPDMA_CxBR1, GPDMA_CxSAR and GPDMA_CxDAR) before enabling again the channel (see the programming sequence in Figure 44)..

Allowed values:
1: Reset: Reset channel

SUSP

Bit 2: suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel (channel with an ongoing GPDMA transfer over its master ports). The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in Figure 43..

Allowed values:
0: NotSuspended: Channel operation not suspended
1: Suspended: Channel operation suspended

TCIE

Bit 8: transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HTIE

Bit 9: half transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

DTEIE

Bit 10: data transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

ULEIE

Bit 11: update link transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

USEIE

Bit 12: user setting error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

SUSPIE

Bit 13: completed suspension interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

TOIE

Bit 14: trigger overrun interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

LSM

Bit 16: Link step mode First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until GPDMA_CxBR1.BNDT[15:0] = 0 and GPDMA_CxBR1.BRC[10:0] = 0. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by GPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: FullLinkedList: Channel executed for full linked list
1: Once: Channel executed once for current linked list

LAP

Bit 17: linked-list allocated port This bit is used to allocate the master port for the update of the GPDMA linked-list registers from the memory. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

PRIO

Bits 22-23: priority level of the channel x GPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: LowPrioLowWeight: Low priority, low weight
1: LowPrioMidWeight: Low priority, mid weight
2: LowPrioHighWeight: Low priority, high weight
3: HighPrio: High priority

C3TR1

GPDMA channel 3 transfer register 1

Offset: 0x210, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAP
rw
DHX
rw
DBX
rw
DBL_1
rw
DINC
rw
DDW_LOG2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAP
rw
SBX
rw
PAM
rw
SBL_1
rw
SINC
rw
SDW_LOG2
rw
Toggle fields

SDW_LOG2

Bits 0-1: binary logarithm of the source data width of a burst in bytes Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (GPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. Note: A source burst transfer must have an aligned address with its data width (start address GPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

SINC

Bit 3: source incrementing burst The source address, pointed by GPDMA_CxSAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

SBL_1

Bits 4-9: source burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If SBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width SDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

PAM

Bits 11-12: padding/alignment mode If DDW_LOG2[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else, in the following enumerated values, the condition PAM_1 is when destination data width is higher that source data width, and the condition PAM_2 is when destination data width is higher than source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination Note: If the transfer from the source peripheral is configured with peripheral flow-control mode (SWREQ = 0 and PFREQ = 1 and DREQ = 0), and if the destination data width > the source data width, packing is not supported..

Allowed values: 0x0-0x3

PAM_1

Bits 11-12: PAM value when destination data width is higher than source data width.

Allowed values:
0: RightAlignedZeroPadded: Source data is transferred as right aligned, padded with 0s up to the destination data width
1: RightAlignedSignExtended: Source data is transferred as right aligned, sign extended up to the destination data width
2: Fifo: Source data are FIFO queued and packed at the destination data width, in little endian order, before a destination transfer

PAM_2

Bits 11-12: PAM value when source data width is higher than destination data width.

Allowed values:
0: RightAlignedLeftTruncated: Source data is transferred as right aligned, left-truncated down to the destination data width
1: LeftAlignedRightTruncated: Source data is transferred as left-aligned, right-truncated down to the destination data width
2: Fifo: Source data are FIFO queued and unpacked at the destination data width, in little endian order

SBX

Bit 13: source byte exchange within the unaligned half-word of each source word If the source data width is shorter than a word, this bit is ignored. If the source data width is a word:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

SAP

Bit 14: source allocated port This bit is used to allocate the master port for the source transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

DDW_LOG2

Bits 16-17: binary logarithm of the destination data width of a burst, in bytes Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. Note: A destination burst transfer must have an aligned address with its data width (start address GPDMA_CxDAR[2:0] and address offset GPDMA_CxTR3.DAO[2:0], versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and no transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

DINC

Bit 19: destination incrementing burst The destination address, pointed by GPDMA_CxDAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

DBL_1

Bits 20-25: destination burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If DBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width DDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

DBX

Bit 26: destination byte exchange If the destination data size is a byte, this bit is ignored. If the destination data size is not a byte:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

DHX

Bit 27: destination half-word exchange If the destination data size is shorter than a word, this bit is ignored. If the destination data size is a word:.

Allowed values:
0: NotExchanged: No halfword-based exchange within word
1: Exchanged: The two consecutive (post PAM) half-words are exchanged in each destination word

DAP

Bit 30: destination allocated port This bit is used to allocate the master port for the destination transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

C3TR2

GPDMA channel 3 transfer register 2

Offset: 0x214, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCEM
rw
TRIGPOL
rw
TRIGSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIGM
rw
PFREQ
rw
BREQ
rw
DREQ
rw
SWREQ
rw
REQSEL
rw
Toggle fields

REQSEL

Bits 0-7: GPDMA hardware request selection These bits are ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per Section 14.3.4. The user must not assign a same input hardware request (same REQSEL[7:0] value) to different active GPDMA channels (GPDMA_CxCR.EN = 1 and GPDMA_CxTR2.SWREQ = 0 for these channels). GPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting..

Allowed values:
0: ADC1_DMA: adc1_dma selected
2: DAC1_CH1_DMA: dac1_ch1_dma selected
3: DAC1_CH2_DMA: dac1_ch2_dma selected
4: TIM6_UPD_DMA: tim6_upd_dma selected
5: TIM7_UPD_DMA: tim7_upd_dma selected
6: SPI1_RX_DMA: spi1_rx_dma selected
7: SPI1_TX_DMA: spi1_tx_dma selected
8: SPI2_RX_DMA: spi2_rx_dma selected
9: SPI2_TX_DMA: spi2_tx_dma selected
10: SPI3_RX_DMA: spi3_rx_dma selected
11: SPI3_TX_DMA: spi3_tx_dma selected
12: I2C1_RX_DMA: i2c1_rx_dma selected
13: I2C1_TX_DMA: i2c1_tx_dma selected
15: I2C2_RX_DMA: i2c2_rx_dma selected
16: I2C2_TX_DMA: i2c2_tx_dma selected
18: I2C3_RX_DMA: i2c3_rx_dma selected
19: I2C3_TX_DMA: i2c3_tx_dma selected
21: USART1_RX_DMA: usart1_rx_dma selected
22: USART1_TX_DMA: usart1_tx_dma selected
23: USART2_RX_DMA: usart2_rx_dma selected
24: USART2_TX_DMA: usart2_tx_dma selected
25: USART3_RX_DMA: usart3_rx_dma selected
26: USART3_TX_DMA: usart3_tx_dma selected
27: UART4_RX_DMA: uart4_rx_dma selected
28: UART4_TX_DMA: uart4_tx_dma selected
29: UART5_RX_DMA: uart5_rx_dma selected
30: UART5_TX_DMA: uart5_tx_dma selected
31: USART6_RX_DMA: usart6_rx_dma selected
32: USART6_TX_DMA: usart6_tx_dma selected
33: UART7_RX_DMA: uart7_rx_dma selected
34: UART7_TX_DMA: uart7_tx_dma selected
35: UART8_RX_DMA: uart8_rx_dma selected
36: UART8_TX_DMA: uart8_tx_dma selected
37: UART9_RX_DMA: uart9_rx_dma selected
38: UART9_TX_DMA: uart9_tx_dma selected
39: UART10_RX_DMA: uart10_rx_dma selected
40: UART10_TX_DMA: uart10_tx_dma selected
41: UART11_RX_DMA: uart11_rx_dma selected
42: UART11_TX_DMA: uart11_tx_dma selected
43: UART12_RX_DMA: uart12_rx_dma selected
44: UART12_TX_DMA: uart12_tx_dma selected
45: LPUART1_RX_DMA: lpuart1_rx_dma selected
46: LPUART1_TX_DMA: lpuart1_tx_dma selected
47: SPI4_RX_DMA: spi4_rx_dma selected
48: SPI4_TX_DMA: spi4_tx_dma selected
49: SPI5_RX_DMA: spi5_rx_dma selected
50: SPI5_TX_DMA: spi5_tx_dma selected
51: SPI6_RX_DMA: spi6_rx_dma selected
52: SPI6_TX_DMA: spi6_tx_dma selected
53: SAI1_A_DMA: sai1_a_dma selected
54: SAI1_B_DMA: sai1_b_dma selected
55: SAI2_A_DMA: sai2_a_dma selected
56: SAI2_B_DMA: sai2_b_dma selected
57: OSPI1_DMA: ospi1_dma selected
58: TIM1_CC1_DMA: tim1_cc1_dma selected
59: TIM1_CC2_DMA: tim1_cc2_dma selected
60: TIM1_CC3_DMA: tim1_cc3_dma selected
61: TIM1_CC4_DMA: tim1_cc4_dma selected
62: TIM1_UPD_DMA: tim1_upd_dma selected
63: TIM1_TRG_DMA: tim1_trg_dma selected
64: TIM1_COM_DMA: tim1_com_dma selected
65: TIM8_CC1_DMA: tim8_cc1_dma selected
66: TIM8_CC2_DMA: tim8_cc2_dma selected
67: TIM8_CC3_DMA: tim8_cc3_dma selected
68: TIM8_CC4_DMA: tim8_cc4_dma selected
69: TIM8_UPD_DMA: tim8_upd_dma selected
70: TIM8_TIG_DMA: tim8_tig_dma selected
71: TIM8_COM_DMA: tim8_com_dma selected
72: TIM2_CC1_DMA: tim2_cc1_dma selected
73: TIM2_CC2_DMA: tim2_cc2_dma selected
74: TIM2_CC3_DMA: tim2_cc3_dma selected
75: TIM2_CC4_DMA: tim2_cc4_dma selected
76: TIM2_UPD_DMA: tim2_upd_dma selected
77: TIM3_CC1_DMA: tim3_cc1_dma selected
78: TIM3_CC2_DMA: tim3_cc2_dma selected
79: TIM3_CC3_DMA: tim3_cc3_dma selected
80: TIM3_CC4_DMA: tim3_cc4_dma selected
81: TIM3_UPD_DMA: tim3_upd_dma selected
82: TIM3_TRG_DMA: tim3_trg_dma selected
83: TIM4_CC1_DMA: tim4_cc1_dma selected
84: TIM4_CC2_DMA: tim4_cc2_dma selected
85: TIM4_CC3_DMA: tim4_cc3_dma selected
86: TIM4_CC4_DMA: tim4_cc4_dma selected
87: TIM4_UPD_DMA: tim4_upd_dma selected
88: TIM5_CC1_DMA: tim5_cc1_dma selected
89: TIM5_CC2_DMA: tim5_cc2_dma selected
90: TIM5_CC3_DMA: tim5_cc3_dma selected
91: TIM5_CC4_DMA: tim5_cc4_dma selected
92: TIM5_UPD_DMA: tim5_upd_dma selected
93: TIM5_TRG_DMA: tim5_trg_dma selected
94: TIM15_CC1_DMA: tim15_cc1_dma selected
95: TIM15_UPD_DMA: tim15_upd_dma selected
96: TIM15_TRG_DMA: tim15_trg_dma selected
97: TIM15_COM_DMA: tim15_com_dma selected
98: TIM16_CC1_DMA: tim16_cc1_dma selected
99: TIM16_UPD_DMA: tim16_upd_dma selected
100: TIM17_CC1_DMA: tim17_cc1_dma selected
101: TIM17_UPD_DMA: tim17_upd_dma selected
102: LPTIM1_IC1_DMA: lptim1_ic1_dma selected
103: LPTIM1_IC2_DMA: lptim1_ic2_dma selected
104: LPTIM1_UE_DMA: lptim1_ue_dma selected
105: LPTIM2_IC1_DMA: lptim2_ic1_dma selected
106: LPTIM2_IC2_DMA: lptim2_ic2_dma selected
107: LPTIM2_UE_DMA: lptim2_ue_dma selected
108: DCMI_PSSI_DMA: dcmi_dma or pssi_dma(1) selected
109: AES_OUT_DMA: aes_out_dma selected
110: AES_IN_DMA: aes_in_dma selected
111: HASH_IN_DMA: hash_in_dma selected
112: UCPD1_RX_DMA: ucpd1_rx_dma selected
113: UCPD1_TX_DMA: ucpd1_tx_dma selected
114: CORDIC_READ_DMA: cordic_read_dma selected
115: CORDIC_WRITE_DMA: cordic_write_dma selected
116: FMAC_READ_DMA: fmac_read_dma selected
117: FMAC_WRITE_DMA: fmac_write_dma selected
118: SAES_OUT_DMA: saes_out_dma selected
119: SAES_IN_DMA: saes_in_dma selected
120: I3C1_RX_DMA: i3c1_rx_dma selected
121: I3C1_TX_DMA: i3c1_tx_dma selected
122: I3C1_TC_DMA: i3c1_tc_dma selected
123: I3C1_RS_DMA: i3c1_rs_dma selected
124: I2C4_RX_DMA: i2c4_rx_dma selected
125: I2C4_TX_DMA: i2c4_tx_dma selected
127: LPTIM3_IC1_DMA: lptim3_ic1_dma selected
128: LPTIM3_IC2_DMA: lptim3_ic2_dma selected
129: LPTIM3_UE_DMA: lptim3_ue_dma selected
130: LPTIM5_IC1_DMA: lptim5_ic1_dma selected
131: LPTIM5_IC2_DMA: lptim5_ic2_dma selected
132: LPTIM5_UE_DMA: lptim5_ue_dma selected
133: LPTIM6_IC1_DMA: lptim6_ic1_dma selected
134: LPTIM6_IC2_DMA: lptim6_ic2_dma selected
135: LPTIM6_UE_DMA: lptim6_ue_dma selected
136: I3C2_RX: i3c2_rx selected
137: I3C2_TX: i3c2_tx selected
138: I3C2_TC: i3c2_tc selected
139: I3C2_RS: i3c2_rs selected

SWREQ

Bit 9: software request This bit is internally taken into account when GPDMA_CxCR.EN is asserted..

Allowed values:
0: Hardware: No software request. The selected hardware request REQSEL[7:0] is taken into account
1: Software: Software request for memory-to-memory transfer

DREQ

Bit 10: destination hardware request This bit is ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: If the channel x is activated (GPDMA_CxCR.EN is asserted) with SWREQ = 0 and PFREQ = 1 (peripheral hardware request with peripheral flow-control mode), any software assertion to this DREQ bit is ignored: in peripheral flow-control mode, only a peripheral-to-memory transfer is supported..

Allowed values:
0: Source: Selected hardware request driven by a source peripheral
1: Destination: Selected hardware request driven by a destination peripheral

BREQ

Bit 11: Block hardware request If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:.

Allowed values:
0: Burst: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level
1: Block: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level

PFREQ

Bit 12: Hardware request in peripheral flow control mode Important: If a given channel x is not implemented with this feature, this bit is reserved and PFREQ is not present (see Section 14.3.2 for the list of the implemented channels with this feature. If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: Note: In peripheral flow control mode, there are the following restrictions: Note: - no 2D/repeated block support (GPDMA_CxBR1.BRC[10:0] must be set to 0) Note: - the peripheral must be set as the source of the transfer (DREQ = 0). Note: - data packing to a wider destination width is not supported (if destination width > source data width, GPDMA_CxTR1.PAM[1] must be set to 0). Note: - GPDMA_CxBR1.BNDT[15:0] must be programmed as a multiple of the source (peripheral) burst size..

Allowed values:
0: GpdmaControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in GPDMA control mode
1: PeripheralControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in peripheral control mode.

TRIGM

Bits 14-15: trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (GPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a GPDMA transfer is conditioned by at least one trigger hit: – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The GPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLI<sub>n+1</sub> that updates the GPDMA_CxTR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLI<sub>n </sub>trigger. After a first new trigger hit<sub>n+1</sub> is memorized, if another second trigger hit<sub>n+2</sub> is detected and if the hit<sub>n</sub> triggered transfer is still not completed, hit<sub>n+2 </sub>is lost and not memorized.memorized. A trigger overrun flag is reported (GPDMA_CxSR.TOF =1 ), and an interrupt is generated if enabled (GPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. Note: When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger..

Allowed values:
0: BlockLevel: At block level: the first burst read of each block transfer is conditioned by one hit trigger
2: LinkLevel: At link level: a LLI link transfer is conditioned by one hit trigger
3: ProgrammedBurstLevel: At programmed burst level: programmed burst read is conditioned by one hit trigger.

TRIGSEL

Bits 16-21: trigger event input selection These bits select the trigger event input of the GPDMA transfer (as per Section 14.3.7), with an active trigger event if TRIGPOL[1:0] ≠ 00..

Allowed values:
0: EXTI0: exti0 is trigger input
1: EXTI1: exti1 is trigger input
2: EXTI2: exti2 is trigger input
3: EXTI3: exti3 is trigger input
4: EXTI4: exti4 is trigger input
5: EXTI5: exti5 is trigger input
6: EXTI6: exti6 is trigger input
7: EXTI7: exti7 is trigger input
8: TAMP_TRG1: tamp_trg1 is trigger input
9: TAMP_TRG2: tamp_trg2 is trigger input
11: LPTIM1_CH1: lptim1_ch1 is trigger input
12: LPTIM1_CH2: lptim1_ch2 is trigger input
13: LPTIM2_CH1: lptim2_ch1 is trigger input
14: LPTIM2_CH2: lptim2_ch2 is trigger input
15: RTC_ALRA_TRG: rtc_alra_trg is trigger input
16: RTC_ALRB_TRG: rtc_alrb_trg is trigger input
17: RTC_WUT_TRG: rtc_wut_trg is trigger input
18: GPDMA1_CH0_TC: gpdma1_ch0_tc is trigger input
19: GPDMA1_CH1_TC: gpdma1_ch1_tc is trigger input
20: GPDMA1_CH2_TC: gpdma1_ch2_tc is trigger input
21: GPDMA1_CH3_TC: gpdma1_ch3_tc is trigger input
22: GPDMA1_CH4_TC: gpdma1_ch4_tc is trigger input
23: GPDMA1_CH5_TC: gpdma1_ch5_tc is trigger input
24: GPDMA1_CH6_TC: gpdma1_ch6_tc is trigger input
25: GPDMA1_CH7_TC: gpdma1_ch7_tc is trigger input
26: GPDMA2_CH0_TC: gpdma2_ch0_tc is trigger input
27: GPDMA2_CH1_TC: gpdma2_ch1_tc is trigger input
28: GPDMA2_CH2_TC: gpdma2_ch2_tc is trigger input
29: GPDMA2_CH3_TC: gpdma2_ch3_tc is trigger input
30: GPDMA2_CH4_TC: gpdma2_ch4_tc is trigger input
31: GPDMA2_CH5_TC: gpdma2_ch5_tc is trigger input
32: GPDMA2_CH6_TC: gpdma2_ch6_tc is trigger input
33: GPDMA2_CH7_TC: gpdma2_ch7_tc is trigger input
34: TIM2_TRG0: tim2_trgo is trigger input
44: COMP1_OUT: comp1_out is trigger input

TRIGPOL

Bits 24-25: trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]..

Allowed values:
0: NoTrigger: No trigger
1: RisingEdge: Trigger on rising edge
2: FallingEdge: Trigger on falling edge

TCEM

Bits 30-31: transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (i.e. directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI<sub>1</sub>..

Allowed values:
0: BlockLevel: At block level: the complete (and the half) transfer event is generated at the (respectively half of the) end of a block
2: LliLevel: At LLI level: the complete transfer event is generated at the end of the LLI transfer. The half transfer event is generated at the half of the LLI data transfer
3: ChannelLevel: At channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI

C3BR1

GPDMA channel 3 block register 1

Offset: 0x218, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BNDT
rw
Toggle fields

BNDT

Bits 0-15: block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if GPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if GPDMA_CxLLR.UB1 = 0 and if there is at least one non null Uxx update bit, this field is internally restored to the programmed value. - if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] = 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: When configured in packing mode (GPDMA_CxTR1.PAM[1] = 1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffff

C3SAR

GPDMA channel 3 source address register

Offset: 0x21c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SA
rw
Toggle fields

SA

Bits 0-31: source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (GPDMA_CxTR1.SINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.SDW_LOG2[1:0]) after each burst source data, reflecting the next address from which data is read. During the channel activity, this address is updated after each completed source burst, consequently to: the programmed source burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.SINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.SBL_1[5:0] and GPDMA_CxTR1.SDW_LOG2[21:0] the additional source incremented/decremented offset value as programmed by GPDMA_CxBR1.SDEC and GPDMA_CxTR3.SAO[12:0]. once/if completed source block transfer, for a channel x with 2D addressing capability (x = 12 to 15). additional block repeat source incremented/decremented offset value as programmed by GPDMA_CxBR1.BRSDEC and GPDMA_CxBR2.BRSAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source burst (SA[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xffffffff

C3DAR

GPDMA channel 3 destination address register

Offset: 0x220, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 0-31: destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (GPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.DDW_LOG2[21:0]) after each burst destination data, reflecting the next address from which data is written. During the channel activity, this address is updated after each completed destination burst, consequently to: the programmed destination burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.DINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.DBL_1[5:0] and GPDMA_CxTR1.DDW_LOG2[1:0] the additional destination incremented/decremented offset value as programmed by GPDMA_CxBR1.DDEC and GPDMA_CxTR3.DAO[12:0]. once/if completed destination block transfer, for a channel x with 2D addressing capability (x = 12 to 15), the additional block repeat destination incremented/decremented offset value as programmed by GPDMA_CxBR1.BRDDEC and GPDMA_CxBR2.BRDAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by the GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination burst (DA[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffffffff

C3LLR

GPDMA channel 3 linked-list address register

Offset: 0x24c, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UT1
rw
UT2
rw
UB1
rw
USA
rw
UDA
rw
ULL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LA
rw
Toggle fields

LA

Bits 2-15: pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list GPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list GPDMA internal register file (GPDMA_CxCTR1, GPDMA_CxTR2, GPDMA_CxBR1, GPDMA_CxSAR, GPDMA_CxDAR and GPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored..

Allowed values: 0x0-0x3fff

ULL

Bit 16: Update GPDMA_CxLLR register from memory This bit is used to control the update of GPDMA_CxLLR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxLLR update
1: Update: CxLLR updated from memory during link transfer

UDA

Bit 27: Update GPDMA_CxDAR register from memory This bit is used to control the update of GPDMA_CxDAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxDAR update
1: Update: CxDAR updated from memory during link transfer

USA

Bit 28: update GPDMA_CxSAR from memory This bit controls the update of GPDMA_CxSAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxSAR update
1: Update: CxSAR updated from memory during link transfer

UB1

Bit 29: Update GPDMA_CxBR1 from memory This bit controls the update of GPDMA_CxBR1 from the memory during the link transfer. If UB1 = 0 and if GPDMA_CxLLR ≠ 0, the linked-list is not completed. GPDMA_CxBR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer..

Allowed values:
0: NoUpdate: No CxBR1 update
1: Update: CxBR1 updated from memory during link transfer

UT2

Bit 30: Update GPDMA_CxTR2 from memory This bit controls the update of GPDMA_CxTR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR2 update
1: Update: CxTR2 updated from memory during link transfer

UT1

Bit 31: Update GPDMA_CxTR1 from memory This bit controls the update of GPDMA_CxTR1 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR1 update
1: Update: CxTR1 updated from memory during link transfer

C4LBAR

GPDMA channel 4 linked-list base address register

Offset: 0x250, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LBA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

LBA

Bits 16-31: linked-list base address of GPDMA channel x.

Allowed values: 0x0-0xffff

C4FCR

GPDMA channel 4 flag clear register

Offset: 0x25c, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
w
SUSPF
w
USEF
w
ULEF
w
DTEF
w
HTF
w
TCF
w
Toggle fields

TCF

Bit 8: transfer complete flag clear.

Allowed values:
1: Clear: Clear flag

HTF

Bit 9: half transfer flag clear.

Allowed values:
1: Clear: Clear flag

DTEF

Bit 10: data transfer error flag clear.

Allowed values:
1: Clear: Clear flag

ULEF

Bit 11: update link transfer error flag clear.

Allowed values:
1: Clear: Clear flag

USEF

Bit 12: user setting error flag clear.

Allowed values:
1: Clear: Clear flag

SUSPF

Bit 13: completed suspension flag clear.

Allowed values:
1: Clear: Clear flag

TOF

Bit 14: trigger overrun flag clear.

Allowed values:
1: Clear: Clear flag

C4SR

GPDMA channel 4 status register

Offset: 0x260, size: 32, reset: 0x00000001, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
r
SUSPF
r
USEF
r
ULEF
r
DTEF
r
HTF
r
TCF
r
IDLEF
r
Toggle fields

IDLEF

Bit 0: idle flag This idle flag is deasserted by hardware when the channel is enabled (GPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state)..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TCF

Bit 8: transfer complete flag A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0])..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

HTF

Bit 9: half transfer flag A half transfer event is either a half block transfer or a half 2D/repeated block transfer, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0]). A half block transfer occurs when half of the bytes of the source block size (rounded up integer of GPDMA_CxBR1.BNDT[15:0]/2) has been transferred to the destination. A half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (GPDMA_CxBR1.BRC[10:0]+1)/2)) has been transferred to the destination..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

DTEF

Bit 10: data transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

ULEF

Bit 11: update link transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

USEF

Bit 12: user setting error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

SUSPF

Bit 13: completed suspension flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TOF

Bit 14: trigger overrun flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

FIFOL

Bits 16-23: monitored FIFO level Number of available write beats in the FIFO, in units of the programmed destination data width (see GPDMA_CxTR1.DDW_LOG2[1:0], in units of bytes, half-words, or words). Note: After having suspended an active transfer, the user may need to read FIFOL[7:0], additionally to GPDMA_CxBR1.BDNT[15:0] and GPDMA_CxBR1.BRC[10:0], to know how many data have been transferred to the destination. Before reading, the user may wait for the transfer to be suspended (GPDMA_CxSR.SUSPF = 1)..

Allowed values: 0x0-0xff

C4CR

GPDMA channel 4 control register

Offset: 0x264, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRIO
rw
LAP
rw
LSM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOIE
rw
SUSPIE
rw
USEIE
rw
ULEIE
rw
DTEIE
rw
HTIE
rw
TCIE
rw
SUSP
rw
RESET
w
EN
rw
Toggle fields

EN

Bit 0: enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is deasserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, for example if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored..

Allowed values:
0: Disabled: Channel disabled
1: Enabled: Channel enabled

RESET

Bit 1: reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (GPDMA_CxSR.SUSPF = 1 and GPDMA_CxSR.IDLEF = GPDMA_CxCR.EN = 1) - channel in disabled state (GPDMA_CxSR.IDLEF = 1 and GPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (GPDMA_CxBR1, GPDMA_CxSAR and GPDMA_CxDAR) before enabling again the channel (see the programming sequence in Figure 44)..

Allowed values:
1: Reset: Reset channel

SUSP

Bit 2: suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel (channel with an ongoing GPDMA transfer over its master ports). The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in Figure 43..

Allowed values:
0: NotSuspended: Channel operation not suspended
1: Suspended: Channel operation suspended

TCIE

Bit 8: transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HTIE

Bit 9: half transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

DTEIE

Bit 10: data transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

ULEIE

Bit 11: update link transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

USEIE

Bit 12: user setting error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

SUSPIE

Bit 13: completed suspension interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

TOIE

Bit 14: trigger overrun interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

LSM

Bit 16: Link step mode First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until GPDMA_CxBR1.BNDT[15:0] = 0 and GPDMA_CxBR1.BRC[10:0] = 0. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by GPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: FullLinkedList: Channel executed for full linked list
1: Once: Channel executed once for current linked list

LAP

Bit 17: linked-list allocated port This bit is used to allocate the master port for the update of the GPDMA linked-list registers from the memory. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

PRIO

Bits 22-23: priority level of the channel x GPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: LowPrioLowWeight: Low priority, low weight
1: LowPrioMidWeight: Low priority, mid weight
2: LowPrioHighWeight: Low priority, high weight
3: HighPrio: High priority

C4TR1

GPDMA channel 4 transfer register 1

Offset: 0x290, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAP
rw
DHX
rw
DBX
rw
DBL_1
rw
DINC
rw
DDW_LOG2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAP
rw
SBX
rw
PAM
rw
SBL_1
rw
SINC
rw
SDW_LOG2
rw
Toggle fields

SDW_LOG2

Bits 0-1: binary logarithm of the source data width of a burst in bytes Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (GPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. Note: A source burst transfer must have an aligned address with its data width (start address GPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

SINC

Bit 3: source incrementing burst The source address, pointed by GPDMA_CxSAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

SBL_1

Bits 4-9: source burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If SBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width SDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

PAM

Bits 11-12: padding/alignment mode If DDW_LOG2[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else, in the following enumerated values, the condition PAM_1 is when destination data width is higher that source data width, and the condition PAM_2 is when destination data width is higher than source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination Note: If the transfer from the source peripheral is configured with peripheral flow-control mode (SWREQ = 0 and PFREQ = 1 and DREQ = 0), and if the destination data width > the source data width, packing is not supported..

Allowed values: 0x0-0x3

PAM_1

Bits 11-12: PAM value when destination data width is higher than source data width.

Allowed values:
0: RightAlignedZeroPadded: Source data is transferred as right aligned, padded with 0s up to the destination data width
1: RightAlignedSignExtended: Source data is transferred as right aligned, sign extended up to the destination data width
2: Fifo: Source data are FIFO queued and packed at the destination data width, in little endian order, before a destination transfer

PAM_2

Bits 11-12: PAM value when source data width is higher than destination data width.

Allowed values:
0: RightAlignedLeftTruncated: Source data is transferred as right aligned, left-truncated down to the destination data width
1: LeftAlignedRightTruncated: Source data is transferred as left-aligned, right-truncated down to the destination data width
2: Fifo: Source data are FIFO queued and unpacked at the destination data width, in little endian order

SBX

Bit 13: source byte exchange within the unaligned half-word of each source word If the source data width is shorter than a word, this bit is ignored. If the source data width is a word:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

SAP

Bit 14: source allocated port This bit is used to allocate the master port for the source transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

DDW_LOG2

Bits 16-17: binary logarithm of the destination data width of a burst, in bytes Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. Note: A destination burst transfer must have an aligned address with its data width (start address GPDMA_CxDAR[2:0] and address offset GPDMA_CxTR3.DAO[2:0], versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and no transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

DINC

Bit 19: destination incrementing burst The destination address, pointed by GPDMA_CxDAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

DBL_1

Bits 20-25: destination burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If DBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width DDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

DBX

Bit 26: destination byte exchange If the destination data size is a byte, this bit is ignored. If the destination data size is not a byte:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

DHX

Bit 27: destination half-word exchange If the destination data size is shorter than a word, this bit is ignored. If the destination data size is a word:.

Allowed values:
0: NotExchanged: No halfword-based exchange within word
1: Exchanged: The two consecutive (post PAM) half-words are exchanged in each destination word

DAP

Bit 30: destination allocated port This bit is used to allocate the master port for the destination transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

C4TR2

GPDMA channel 4 transfer register 2

Offset: 0x294, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCEM
rw
TRIGPOL
rw
TRIGSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIGM
rw
PFREQ
rw
BREQ
rw
DREQ
rw
SWREQ
rw
REQSEL
rw
Toggle fields

REQSEL

Bits 0-7: GPDMA hardware request selection These bits are ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per Section 14.3.4. The user must not assign a same input hardware request (same REQSEL[7:0] value) to different active GPDMA channels (GPDMA_CxCR.EN = 1 and GPDMA_CxTR2.SWREQ = 0 for these channels). GPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting..

Allowed values:
0: ADC1_DMA: adc1_dma selected
2: DAC1_CH1_DMA: dac1_ch1_dma selected
3: DAC1_CH2_DMA: dac1_ch2_dma selected
4: TIM6_UPD_DMA: tim6_upd_dma selected
5: TIM7_UPD_DMA: tim7_upd_dma selected
6: SPI1_RX_DMA: spi1_rx_dma selected
7: SPI1_TX_DMA: spi1_tx_dma selected
8: SPI2_RX_DMA: spi2_rx_dma selected
9: SPI2_TX_DMA: spi2_tx_dma selected
10: SPI3_RX_DMA: spi3_rx_dma selected
11: SPI3_TX_DMA: spi3_tx_dma selected
12: I2C1_RX_DMA: i2c1_rx_dma selected
13: I2C1_TX_DMA: i2c1_tx_dma selected
15: I2C2_RX_DMA: i2c2_rx_dma selected
16: I2C2_TX_DMA: i2c2_tx_dma selected
18: I2C3_RX_DMA: i2c3_rx_dma selected
19: I2C3_TX_DMA: i2c3_tx_dma selected
21: USART1_RX_DMA: usart1_rx_dma selected
22: USART1_TX_DMA: usart1_tx_dma selected
23: USART2_RX_DMA: usart2_rx_dma selected
24: USART2_TX_DMA: usart2_tx_dma selected
25: USART3_RX_DMA: usart3_rx_dma selected
26: USART3_TX_DMA: usart3_tx_dma selected
27: UART4_RX_DMA: uart4_rx_dma selected
28: UART4_TX_DMA: uart4_tx_dma selected
29: UART5_RX_DMA: uart5_rx_dma selected
30: UART5_TX_DMA: uart5_tx_dma selected
31: USART6_RX_DMA: usart6_rx_dma selected
32: USART6_TX_DMA: usart6_tx_dma selected
33: UART7_RX_DMA: uart7_rx_dma selected
34: UART7_TX_DMA: uart7_tx_dma selected
35: UART8_RX_DMA: uart8_rx_dma selected
36: UART8_TX_DMA: uart8_tx_dma selected
37: UART9_RX_DMA: uart9_rx_dma selected
38: UART9_TX_DMA: uart9_tx_dma selected
39: UART10_RX_DMA: uart10_rx_dma selected
40: UART10_TX_DMA: uart10_tx_dma selected
41: UART11_RX_DMA: uart11_rx_dma selected
42: UART11_TX_DMA: uart11_tx_dma selected
43: UART12_RX_DMA: uart12_rx_dma selected
44: UART12_TX_DMA: uart12_tx_dma selected
45: LPUART1_RX_DMA: lpuart1_rx_dma selected
46: LPUART1_TX_DMA: lpuart1_tx_dma selected
47: SPI4_RX_DMA: spi4_rx_dma selected
48: SPI4_TX_DMA: spi4_tx_dma selected
49: SPI5_RX_DMA: spi5_rx_dma selected
50: SPI5_TX_DMA: spi5_tx_dma selected
51: SPI6_RX_DMA: spi6_rx_dma selected
52: SPI6_TX_DMA: spi6_tx_dma selected
53: SAI1_A_DMA: sai1_a_dma selected
54: SAI1_B_DMA: sai1_b_dma selected
55: SAI2_A_DMA: sai2_a_dma selected
56: SAI2_B_DMA: sai2_b_dma selected
57: OSPI1_DMA: ospi1_dma selected
58: TIM1_CC1_DMA: tim1_cc1_dma selected
59: TIM1_CC2_DMA: tim1_cc2_dma selected
60: TIM1_CC3_DMA: tim1_cc3_dma selected
61: TIM1_CC4_DMA: tim1_cc4_dma selected
62: TIM1_UPD_DMA: tim1_upd_dma selected
63: TIM1_TRG_DMA: tim1_trg_dma selected
64: TIM1_COM_DMA: tim1_com_dma selected
65: TIM8_CC1_DMA: tim8_cc1_dma selected
66: TIM8_CC2_DMA: tim8_cc2_dma selected
67: TIM8_CC3_DMA: tim8_cc3_dma selected
68: TIM8_CC4_DMA: tim8_cc4_dma selected
69: TIM8_UPD_DMA: tim8_upd_dma selected
70: TIM8_TIG_DMA: tim8_tig_dma selected
71: TIM8_COM_DMA: tim8_com_dma selected
72: TIM2_CC1_DMA: tim2_cc1_dma selected
73: TIM2_CC2_DMA: tim2_cc2_dma selected
74: TIM2_CC3_DMA: tim2_cc3_dma selected
75: TIM2_CC4_DMA: tim2_cc4_dma selected
76: TIM2_UPD_DMA: tim2_upd_dma selected
77: TIM3_CC1_DMA: tim3_cc1_dma selected
78: TIM3_CC2_DMA: tim3_cc2_dma selected
79: TIM3_CC3_DMA: tim3_cc3_dma selected
80: TIM3_CC4_DMA: tim3_cc4_dma selected
81: TIM3_UPD_DMA: tim3_upd_dma selected
82: TIM3_TRG_DMA: tim3_trg_dma selected
83: TIM4_CC1_DMA: tim4_cc1_dma selected
84: TIM4_CC2_DMA: tim4_cc2_dma selected
85: TIM4_CC3_DMA: tim4_cc3_dma selected
86: TIM4_CC4_DMA: tim4_cc4_dma selected
87: TIM4_UPD_DMA: tim4_upd_dma selected
88: TIM5_CC1_DMA: tim5_cc1_dma selected
89: TIM5_CC2_DMA: tim5_cc2_dma selected
90: TIM5_CC3_DMA: tim5_cc3_dma selected
91: TIM5_CC4_DMA: tim5_cc4_dma selected
92: TIM5_UPD_DMA: tim5_upd_dma selected
93: TIM5_TRG_DMA: tim5_trg_dma selected
94: TIM15_CC1_DMA: tim15_cc1_dma selected
95: TIM15_UPD_DMA: tim15_upd_dma selected
96: TIM15_TRG_DMA: tim15_trg_dma selected
97: TIM15_COM_DMA: tim15_com_dma selected
98: TIM16_CC1_DMA: tim16_cc1_dma selected
99: TIM16_UPD_DMA: tim16_upd_dma selected
100: TIM17_CC1_DMA: tim17_cc1_dma selected
101: TIM17_UPD_DMA: tim17_upd_dma selected
102: LPTIM1_IC1_DMA: lptim1_ic1_dma selected
103: LPTIM1_IC2_DMA: lptim1_ic2_dma selected
104: LPTIM1_UE_DMA: lptim1_ue_dma selected
105: LPTIM2_IC1_DMA: lptim2_ic1_dma selected
106: LPTIM2_IC2_DMA: lptim2_ic2_dma selected
107: LPTIM2_UE_DMA: lptim2_ue_dma selected
108: DCMI_PSSI_DMA: dcmi_dma or pssi_dma(1) selected
109: AES_OUT_DMA: aes_out_dma selected
110: AES_IN_DMA: aes_in_dma selected
111: HASH_IN_DMA: hash_in_dma selected
112: UCPD1_RX_DMA: ucpd1_rx_dma selected
113: UCPD1_TX_DMA: ucpd1_tx_dma selected
114: CORDIC_READ_DMA: cordic_read_dma selected
115: CORDIC_WRITE_DMA: cordic_write_dma selected
116: FMAC_READ_DMA: fmac_read_dma selected
117: FMAC_WRITE_DMA: fmac_write_dma selected
118: SAES_OUT_DMA: saes_out_dma selected
119: SAES_IN_DMA: saes_in_dma selected
120: I3C1_RX_DMA: i3c1_rx_dma selected
121: I3C1_TX_DMA: i3c1_tx_dma selected
122: I3C1_TC_DMA: i3c1_tc_dma selected
123: I3C1_RS_DMA: i3c1_rs_dma selected
124: I2C4_RX_DMA: i2c4_rx_dma selected
125: I2C4_TX_DMA: i2c4_tx_dma selected
127: LPTIM3_IC1_DMA: lptim3_ic1_dma selected
128: LPTIM3_IC2_DMA: lptim3_ic2_dma selected
129: LPTIM3_UE_DMA: lptim3_ue_dma selected
130: LPTIM5_IC1_DMA: lptim5_ic1_dma selected
131: LPTIM5_IC2_DMA: lptim5_ic2_dma selected
132: LPTIM5_UE_DMA: lptim5_ue_dma selected
133: LPTIM6_IC1_DMA: lptim6_ic1_dma selected
134: LPTIM6_IC2_DMA: lptim6_ic2_dma selected
135: LPTIM6_UE_DMA: lptim6_ue_dma selected
136: I3C2_RX: i3c2_rx selected
137: I3C2_TX: i3c2_tx selected
138: I3C2_TC: i3c2_tc selected
139: I3C2_RS: i3c2_rs selected

SWREQ

Bit 9: software request This bit is internally taken into account when GPDMA_CxCR.EN is asserted..

Allowed values:
0: Hardware: No software request. The selected hardware request REQSEL[7:0] is taken into account
1: Software: Software request for memory-to-memory transfer

DREQ

Bit 10: destination hardware request This bit is ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: If the channel x is activated (GPDMA_CxCR.EN is asserted) with SWREQ = 0 and PFREQ = 1 (peripheral hardware request with peripheral flow-control mode), any software assertion to this DREQ bit is ignored: in peripheral flow-control mode, only a peripheral-to-memory transfer is supported..

Allowed values:
0: Source: Selected hardware request driven by a source peripheral
1: Destination: Selected hardware request driven by a destination peripheral

BREQ

Bit 11: Block hardware request If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:.

Allowed values:
0: Burst: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level
1: Block: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level

PFREQ

Bit 12: Hardware request in peripheral flow control mode Important: If a given channel x is not implemented with this feature, this bit is reserved and PFREQ is not present (see Section 14.3.2 for the list of the implemented channels with this feature. If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: Note: In peripheral flow control mode, there are the following restrictions: Note: - no 2D/repeated block support (GPDMA_CxBR1.BRC[10:0] must be set to 0) Note: - the peripheral must be set as the source of the transfer (DREQ = 0). Note: - data packing to a wider destination width is not supported (if destination width > source data width, GPDMA_CxTR1.PAM[1] must be set to 0). Note: - GPDMA_CxBR1.BNDT[15:0] must be programmed as a multiple of the source (peripheral) burst size..

Allowed values:
0: GpdmaControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in GPDMA control mode
1: PeripheralControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in peripheral control mode.

TRIGM

Bits 14-15: trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (GPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a GPDMA transfer is conditioned by at least one trigger hit: – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The GPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLI<sub>n+1</sub> that updates the GPDMA_CxTR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLI<sub>n </sub>trigger. After a first new trigger hit<sub>n+1</sub> is memorized, if another second trigger hit<sub>n+2</sub> is detected and if the hit<sub>n</sub> triggered transfer is still not completed, hit<sub>n+2 </sub>is lost and not memorized.memorized. A trigger overrun flag is reported (GPDMA_CxSR.TOF =1 ), and an interrupt is generated if enabled (GPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. Note: When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger..

Allowed values:
0: BlockLevel: At block level: the first burst read of each block transfer is conditioned by one hit trigger
2: LinkLevel: At link level: a LLI link transfer is conditioned by one hit trigger
3: ProgrammedBurstLevel: At programmed burst level: programmed burst read is conditioned by one hit trigger.

TRIGSEL

Bits 16-21: trigger event input selection These bits select the trigger event input of the GPDMA transfer (as per Section 14.3.7), with an active trigger event if TRIGPOL[1:0] ≠ 00..

Allowed values:
0: EXTI0: exti0 is trigger input
1: EXTI1: exti1 is trigger input
2: EXTI2: exti2 is trigger input
3: EXTI3: exti3 is trigger input
4: EXTI4: exti4 is trigger input
5: EXTI5: exti5 is trigger input
6: EXTI6: exti6 is trigger input
7: EXTI7: exti7 is trigger input
8: TAMP_TRG1: tamp_trg1 is trigger input
9: TAMP_TRG2: tamp_trg2 is trigger input
11: LPTIM1_CH1: lptim1_ch1 is trigger input
12: LPTIM1_CH2: lptim1_ch2 is trigger input
13: LPTIM2_CH1: lptim2_ch1 is trigger input
14: LPTIM2_CH2: lptim2_ch2 is trigger input
15: RTC_ALRA_TRG: rtc_alra_trg is trigger input
16: RTC_ALRB_TRG: rtc_alrb_trg is trigger input
17: RTC_WUT_TRG: rtc_wut_trg is trigger input
18: GPDMA1_CH0_TC: gpdma1_ch0_tc is trigger input
19: GPDMA1_CH1_TC: gpdma1_ch1_tc is trigger input
20: GPDMA1_CH2_TC: gpdma1_ch2_tc is trigger input
21: GPDMA1_CH3_TC: gpdma1_ch3_tc is trigger input
22: GPDMA1_CH4_TC: gpdma1_ch4_tc is trigger input
23: GPDMA1_CH5_TC: gpdma1_ch5_tc is trigger input
24: GPDMA1_CH6_TC: gpdma1_ch6_tc is trigger input
25: GPDMA1_CH7_TC: gpdma1_ch7_tc is trigger input
26: GPDMA2_CH0_TC: gpdma2_ch0_tc is trigger input
27: GPDMA2_CH1_TC: gpdma2_ch1_tc is trigger input
28: GPDMA2_CH2_TC: gpdma2_ch2_tc is trigger input
29: GPDMA2_CH3_TC: gpdma2_ch3_tc is trigger input
30: GPDMA2_CH4_TC: gpdma2_ch4_tc is trigger input
31: GPDMA2_CH5_TC: gpdma2_ch5_tc is trigger input
32: GPDMA2_CH6_TC: gpdma2_ch6_tc is trigger input
33: GPDMA2_CH7_TC: gpdma2_ch7_tc is trigger input
34: TIM2_TRG0: tim2_trgo is trigger input
44: COMP1_OUT: comp1_out is trigger input

TRIGPOL

Bits 24-25: trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]..

Allowed values:
0: NoTrigger: No trigger
1: RisingEdge: Trigger on rising edge
2: FallingEdge: Trigger on falling edge

TCEM

Bits 30-31: transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (i.e. directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI<sub>1</sub>..

Allowed values:
0: BlockLevel: At block level: the complete (and the half) transfer event is generated at the (respectively half of the) end of a block
2: LliLevel: At LLI level: the complete transfer event is generated at the end of the LLI transfer. The half transfer event is generated at the half of the LLI data transfer
3: ChannelLevel: At channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI

C4BR1

GPDMA channel 4 block register 1

Offset: 0x298, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BNDT
rw
Toggle fields

BNDT

Bits 0-15: block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if GPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if GPDMA_CxLLR.UB1 = 0 and if there is at least one non null Uxx update bit, this field is internally restored to the programmed value. - if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] = 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: When configured in packing mode (GPDMA_CxTR1.PAM[1] = 1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffff

C4SAR

GPDMA channel 4 source address register

Offset: 0x29c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SA
rw
Toggle fields

SA

Bits 0-31: source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (GPDMA_CxTR1.SINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.SDW_LOG2[1:0]) after each burst source data, reflecting the next address from which data is read. During the channel activity, this address is updated after each completed source burst, consequently to: the programmed source burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.SINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.SBL_1[5:0] and GPDMA_CxTR1.SDW_LOG2[21:0] the additional source incremented/decremented offset value as programmed by GPDMA_CxBR1.SDEC and GPDMA_CxTR3.SAO[12:0]. once/if completed source block transfer, for a channel x with 2D addressing capability (x = 12 to 15). additional block repeat source incremented/decremented offset value as programmed by GPDMA_CxBR1.BRSDEC and GPDMA_CxBR2.BRSAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source burst (SA[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xffffffff

C4DAR

GPDMA channel 4 destination address register

Offset: 0x2a0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 0-31: destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (GPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.DDW_LOG2[21:0]) after each burst destination data, reflecting the next address from which data is written. During the channel activity, this address is updated after each completed destination burst, consequently to: the programmed destination burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.DINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.DBL_1[5:0] and GPDMA_CxTR1.DDW_LOG2[1:0] the additional destination incremented/decremented offset value as programmed by GPDMA_CxBR1.DDEC and GPDMA_CxTR3.DAO[12:0]. once/if completed destination block transfer, for a channel x with 2D addressing capability (x = 12 to 15), the additional block repeat destination incremented/decremented offset value as programmed by GPDMA_CxBR1.BRDDEC and GPDMA_CxBR2.BRDAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by the GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination burst (DA[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffffffff

C4LLR

GPDMA channel 4 linked-list address register

Offset: 0x2cc, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UT1
rw
UT2
rw
UB1
rw
USA
rw
UDA
rw
ULL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LA
rw
Toggle fields

LA

Bits 2-15: pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list GPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list GPDMA internal register file (GPDMA_CxCTR1, GPDMA_CxTR2, GPDMA_CxBR1, GPDMA_CxSAR, GPDMA_CxDAR and GPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored..

Allowed values: 0x0-0x3fff

ULL

Bit 16: Update GPDMA_CxLLR register from memory This bit is used to control the update of GPDMA_CxLLR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxLLR update
1: Update: CxLLR updated from memory during link transfer

UDA

Bit 27: Update GPDMA_CxDAR register from memory This bit is used to control the update of GPDMA_CxDAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxDAR update
1: Update: CxDAR updated from memory during link transfer

USA

Bit 28: update GPDMA_CxSAR from memory This bit controls the update of GPDMA_CxSAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxSAR update
1: Update: CxSAR updated from memory during link transfer

UB1

Bit 29: Update GPDMA_CxBR1 from memory This bit controls the update of GPDMA_CxBR1 from the memory during the link transfer. If UB1 = 0 and if GPDMA_CxLLR ≠ 0, the linked-list is not completed. GPDMA_CxBR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer..

Allowed values:
0: NoUpdate: No CxBR1 update
1: Update: CxBR1 updated from memory during link transfer

UT2

Bit 30: Update GPDMA_CxTR2 from memory This bit controls the update of GPDMA_CxTR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR2 update
1: Update: CxTR2 updated from memory during link transfer

UT1

Bit 31: Update GPDMA_CxTR1 from memory This bit controls the update of GPDMA_CxTR1 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR1 update
1: Update: CxTR1 updated from memory during link transfer

C5LBAR

GPDMA channel 5 linked-list base address register

Offset: 0x2d0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LBA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

LBA

Bits 16-31: linked-list base address of GPDMA channel x.

Allowed values: 0x0-0xffff

C5FCR

GPDMA channel 5 flag clear register

Offset: 0x2dc, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
w
SUSPF
w
USEF
w
ULEF
w
DTEF
w
HTF
w
TCF
w
Toggle fields

TCF

Bit 8: transfer complete flag clear.

Allowed values:
1: Clear: Clear flag

HTF

Bit 9: half transfer flag clear.

Allowed values:
1: Clear: Clear flag

DTEF

Bit 10: data transfer error flag clear.

Allowed values:
1: Clear: Clear flag

ULEF

Bit 11: update link transfer error flag clear.

Allowed values:
1: Clear: Clear flag

USEF

Bit 12: user setting error flag clear.

Allowed values:
1: Clear: Clear flag

SUSPF

Bit 13: completed suspension flag clear.

Allowed values:
1: Clear: Clear flag

TOF

Bit 14: trigger overrun flag clear.

Allowed values:
1: Clear: Clear flag

C5SR

GPDMA channel 5 status register

Offset: 0x2e0, size: 32, reset: 0x00000001, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
r
SUSPF
r
USEF
r
ULEF
r
DTEF
r
HTF
r
TCF
r
IDLEF
r
Toggle fields

IDLEF

Bit 0: idle flag This idle flag is deasserted by hardware when the channel is enabled (GPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state)..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TCF

Bit 8: transfer complete flag A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0])..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

HTF

Bit 9: half transfer flag A half transfer event is either a half block transfer or a half 2D/repeated block transfer, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0]). A half block transfer occurs when half of the bytes of the source block size (rounded up integer of GPDMA_CxBR1.BNDT[15:0]/2) has been transferred to the destination. A half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (GPDMA_CxBR1.BRC[10:0]+1)/2)) has been transferred to the destination..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

DTEF

Bit 10: data transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

ULEF

Bit 11: update link transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

USEF

Bit 12: user setting error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

SUSPF

Bit 13: completed suspension flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TOF

Bit 14: trigger overrun flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

FIFOL

Bits 16-23: monitored FIFO level Number of available write beats in the FIFO, in units of the programmed destination data width (see GPDMA_CxTR1.DDW_LOG2[1:0], in units of bytes, half-words, or words). Note: After having suspended an active transfer, the user may need to read FIFOL[7:0], additionally to GPDMA_CxBR1.BDNT[15:0] and GPDMA_CxBR1.BRC[10:0], to know how many data have been transferred to the destination. Before reading, the user may wait for the transfer to be suspended (GPDMA_CxSR.SUSPF = 1)..

Allowed values: 0x0-0xff

C5CR

GPDMA channel 5 control register

Offset: 0x2e4, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRIO
rw
LAP
rw
LSM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOIE
rw
SUSPIE
rw
USEIE
rw
ULEIE
rw
DTEIE
rw
HTIE
rw
TCIE
rw
SUSP
rw
RESET
w
EN
rw
Toggle fields

EN

Bit 0: enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is deasserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, for example if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored..

Allowed values:
0: Disabled: Channel disabled
1: Enabled: Channel enabled

RESET

Bit 1: reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (GPDMA_CxSR.SUSPF = 1 and GPDMA_CxSR.IDLEF = GPDMA_CxCR.EN = 1) - channel in disabled state (GPDMA_CxSR.IDLEF = 1 and GPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (GPDMA_CxBR1, GPDMA_CxSAR and GPDMA_CxDAR) before enabling again the channel (see the programming sequence in Figure 44)..

Allowed values:
1: Reset: Reset channel

SUSP

Bit 2: suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel (channel with an ongoing GPDMA transfer over its master ports). The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in Figure 43..

Allowed values:
0: NotSuspended: Channel operation not suspended
1: Suspended: Channel operation suspended

TCIE

Bit 8: transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HTIE

Bit 9: half transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

DTEIE

Bit 10: data transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

ULEIE

Bit 11: update link transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

USEIE

Bit 12: user setting error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

SUSPIE

Bit 13: completed suspension interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

TOIE

Bit 14: trigger overrun interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

LSM

Bit 16: Link step mode First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until GPDMA_CxBR1.BNDT[15:0] = 0 and GPDMA_CxBR1.BRC[10:0] = 0. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by GPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: FullLinkedList: Channel executed for full linked list
1: Once: Channel executed once for current linked list

LAP

Bit 17: linked-list allocated port This bit is used to allocate the master port for the update of the GPDMA linked-list registers from the memory. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

PRIO

Bits 22-23: priority level of the channel x GPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: LowPrioLowWeight: Low priority, low weight
1: LowPrioMidWeight: Low priority, mid weight
2: LowPrioHighWeight: Low priority, high weight
3: HighPrio: High priority

C5TR1

GPDMA channel 5 transfer register 1

Offset: 0x310, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAP
rw
DHX
rw
DBX
rw
DBL_1
rw
DINC
rw
DDW_LOG2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAP
rw
SBX
rw
PAM
rw
SBL_1
rw
SINC
rw
SDW_LOG2
rw
Toggle fields

SDW_LOG2

Bits 0-1: binary logarithm of the source data width of a burst in bytes Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (GPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. Note: A source burst transfer must have an aligned address with its data width (start address GPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

SINC

Bit 3: source incrementing burst The source address, pointed by GPDMA_CxSAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

SBL_1

Bits 4-9: source burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If SBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width SDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

PAM

Bits 11-12: padding/alignment mode If DDW_LOG2[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else, in the following enumerated values, the condition PAM_1 is when destination data width is higher that source data width, and the condition PAM_2 is when destination data width is higher than source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination Note: If the transfer from the source peripheral is configured with peripheral flow-control mode (SWREQ = 0 and PFREQ = 1 and DREQ = 0), and if the destination data width > the source data width, packing is not supported..

Allowed values: 0x0-0x3

PAM_1

Bits 11-12: PAM value when destination data width is higher than source data width.

Allowed values:
0: RightAlignedZeroPadded: Source data is transferred as right aligned, padded with 0s up to the destination data width
1: RightAlignedSignExtended: Source data is transferred as right aligned, sign extended up to the destination data width
2: Fifo: Source data are FIFO queued and packed at the destination data width, in little endian order, before a destination transfer

PAM_2

Bits 11-12: PAM value when source data width is higher than destination data width.

Allowed values:
0: RightAlignedLeftTruncated: Source data is transferred as right aligned, left-truncated down to the destination data width
1: LeftAlignedRightTruncated: Source data is transferred as left-aligned, right-truncated down to the destination data width
2: Fifo: Source data are FIFO queued and unpacked at the destination data width, in little endian order

SBX

Bit 13: source byte exchange within the unaligned half-word of each source word If the source data width is shorter than a word, this bit is ignored. If the source data width is a word:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

SAP

Bit 14: source allocated port This bit is used to allocate the master port for the source transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

DDW_LOG2

Bits 16-17: binary logarithm of the destination data width of a burst, in bytes Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. Note: A destination burst transfer must have an aligned address with its data width (start address GPDMA_CxDAR[2:0] and address offset GPDMA_CxTR3.DAO[2:0], versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and no transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

DINC

Bit 19: destination incrementing burst The destination address, pointed by GPDMA_CxDAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

DBL_1

Bits 20-25: destination burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If DBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width DDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

DBX

Bit 26: destination byte exchange If the destination data size is a byte, this bit is ignored. If the destination data size is not a byte:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

DHX

Bit 27: destination half-word exchange If the destination data size is shorter than a word, this bit is ignored. If the destination data size is a word:.

Allowed values:
0: NotExchanged: No halfword-based exchange within word
1: Exchanged: The two consecutive (post PAM) half-words are exchanged in each destination word

DAP

Bit 30: destination allocated port This bit is used to allocate the master port for the destination transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

C5TR2

GPDMA channel 5 transfer register 2

Offset: 0x314, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCEM
rw
TRIGPOL
rw
TRIGSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIGM
rw
PFREQ
rw
BREQ
rw
DREQ
rw
SWREQ
rw
REQSEL
rw
Toggle fields

REQSEL

Bits 0-7: GPDMA hardware request selection These bits are ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per Section 14.3.4. The user must not assign a same input hardware request (same REQSEL[7:0] value) to different active GPDMA channels (GPDMA_CxCR.EN = 1 and GPDMA_CxTR2.SWREQ = 0 for these channels). GPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting..

Allowed values:
0: ADC1_DMA: adc1_dma selected
2: DAC1_CH1_DMA: dac1_ch1_dma selected
3: DAC1_CH2_DMA: dac1_ch2_dma selected
4: TIM6_UPD_DMA: tim6_upd_dma selected
5: TIM7_UPD_DMA: tim7_upd_dma selected
6: SPI1_RX_DMA: spi1_rx_dma selected
7: SPI1_TX_DMA: spi1_tx_dma selected
8: SPI2_RX_DMA: spi2_rx_dma selected
9: SPI2_TX_DMA: spi2_tx_dma selected
10: SPI3_RX_DMA: spi3_rx_dma selected
11: SPI3_TX_DMA: spi3_tx_dma selected
12: I2C1_RX_DMA: i2c1_rx_dma selected
13: I2C1_TX_DMA: i2c1_tx_dma selected
15: I2C2_RX_DMA: i2c2_rx_dma selected
16: I2C2_TX_DMA: i2c2_tx_dma selected
18: I2C3_RX_DMA: i2c3_rx_dma selected
19: I2C3_TX_DMA: i2c3_tx_dma selected
21: USART1_RX_DMA: usart1_rx_dma selected
22: USART1_TX_DMA: usart1_tx_dma selected
23: USART2_RX_DMA: usart2_rx_dma selected
24: USART2_TX_DMA: usart2_tx_dma selected
25: USART3_RX_DMA: usart3_rx_dma selected
26: USART3_TX_DMA: usart3_tx_dma selected
27: UART4_RX_DMA: uart4_rx_dma selected
28: UART4_TX_DMA: uart4_tx_dma selected
29: UART5_RX_DMA: uart5_rx_dma selected
30: UART5_TX_DMA: uart5_tx_dma selected
31: USART6_RX_DMA: usart6_rx_dma selected
32: USART6_TX_DMA: usart6_tx_dma selected
33: UART7_RX_DMA: uart7_rx_dma selected
34: UART7_TX_DMA: uart7_tx_dma selected
35: UART8_RX_DMA: uart8_rx_dma selected
36: UART8_TX_DMA: uart8_tx_dma selected
37: UART9_RX_DMA: uart9_rx_dma selected
38: UART9_TX_DMA: uart9_tx_dma selected
39: UART10_RX_DMA: uart10_rx_dma selected
40: UART10_TX_DMA: uart10_tx_dma selected
41: UART11_RX_DMA: uart11_rx_dma selected
42: UART11_TX_DMA: uart11_tx_dma selected
43: UART12_RX_DMA: uart12_rx_dma selected
44: UART12_TX_DMA: uart12_tx_dma selected
45: LPUART1_RX_DMA: lpuart1_rx_dma selected
46: LPUART1_TX_DMA: lpuart1_tx_dma selected
47: SPI4_RX_DMA: spi4_rx_dma selected
48: SPI4_TX_DMA: spi4_tx_dma selected
49: SPI5_RX_DMA: spi5_rx_dma selected
50: SPI5_TX_DMA: spi5_tx_dma selected
51: SPI6_RX_DMA: spi6_rx_dma selected
52: SPI6_TX_DMA: spi6_tx_dma selected
53: SAI1_A_DMA: sai1_a_dma selected
54: SAI1_B_DMA: sai1_b_dma selected
55: SAI2_A_DMA: sai2_a_dma selected
56: SAI2_B_DMA: sai2_b_dma selected
57: OSPI1_DMA: ospi1_dma selected
58: TIM1_CC1_DMA: tim1_cc1_dma selected
59: TIM1_CC2_DMA: tim1_cc2_dma selected
60: TIM1_CC3_DMA: tim1_cc3_dma selected
61: TIM1_CC4_DMA: tim1_cc4_dma selected
62: TIM1_UPD_DMA: tim1_upd_dma selected
63: TIM1_TRG_DMA: tim1_trg_dma selected
64: TIM1_COM_DMA: tim1_com_dma selected
65: TIM8_CC1_DMA: tim8_cc1_dma selected
66: TIM8_CC2_DMA: tim8_cc2_dma selected
67: TIM8_CC3_DMA: tim8_cc3_dma selected
68: TIM8_CC4_DMA: tim8_cc4_dma selected
69: TIM8_UPD_DMA: tim8_upd_dma selected
70: TIM8_TIG_DMA: tim8_tig_dma selected
71: TIM8_COM_DMA: tim8_com_dma selected
72: TIM2_CC1_DMA: tim2_cc1_dma selected
73: TIM2_CC2_DMA: tim2_cc2_dma selected
74: TIM2_CC3_DMA: tim2_cc3_dma selected
75: TIM2_CC4_DMA: tim2_cc4_dma selected
76: TIM2_UPD_DMA: tim2_upd_dma selected
77: TIM3_CC1_DMA: tim3_cc1_dma selected
78: TIM3_CC2_DMA: tim3_cc2_dma selected
79: TIM3_CC3_DMA: tim3_cc3_dma selected
80: TIM3_CC4_DMA: tim3_cc4_dma selected
81: TIM3_UPD_DMA: tim3_upd_dma selected
82: TIM3_TRG_DMA: tim3_trg_dma selected
83: TIM4_CC1_DMA: tim4_cc1_dma selected
84: TIM4_CC2_DMA: tim4_cc2_dma selected
85: TIM4_CC3_DMA: tim4_cc3_dma selected
86: TIM4_CC4_DMA: tim4_cc4_dma selected
87: TIM4_UPD_DMA: tim4_upd_dma selected
88: TIM5_CC1_DMA: tim5_cc1_dma selected
89: TIM5_CC2_DMA: tim5_cc2_dma selected
90: TIM5_CC3_DMA: tim5_cc3_dma selected
91: TIM5_CC4_DMA: tim5_cc4_dma selected
92: TIM5_UPD_DMA: tim5_upd_dma selected
93: TIM5_TRG_DMA: tim5_trg_dma selected
94: TIM15_CC1_DMA: tim15_cc1_dma selected
95: TIM15_UPD_DMA: tim15_upd_dma selected
96: TIM15_TRG_DMA: tim15_trg_dma selected
97: TIM15_COM_DMA: tim15_com_dma selected
98: TIM16_CC1_DMA: tim16_cc1_dma selected
99: TIM16_UPD_DMA: tim16_upd_dma selected
100: TIM17_CC1_DMA: tim17_cc1_dma selected
101: TIM17_UPD_DMA: tim17_upd_dma selected
102: LPTIM1_IC1_DMA: lptim1_ic1_dma selected
103: LPTIM1_IC2_DMA: lptim1_ic2_dma selected
104: LPTIM1_UE_DMA: lptim1_ue_dma selected
105: LPTIM2_IC1_DMA: lptim2_ic1_dma selected
106: LPTIM2_IC2_DMA: lptim2_ic2_dma selected
107: LPTIM2_UE_DMA: lptim2_ue_dma selected
108: DCMI_PSSI_DMA: dcmi_dma or pssi_dma(1) selected
109: AES_OUT_DMA: aes_out_dma selected
110: AES_IN_DMA: aes_in_dma selected
111: HASH_IN_DMA: hash_in_dma selected
112: UCPD1_RX_DMA: ucpd1_rx_dma selected
113: UCPD1_TX_DMA: ucpd1_tx_dma selected
114: CORDIC_READ_DMA: cordic_read_dma selected
115: CORDIC_WRITE_DMA: cordic_write_dma selected
116: FMAC_READ_DMA: fmac_read_dma selected
117: FMAC_WRITE_DMA: fmac_write_dma selected
118: SAES_OUT_DMA: saes_out_dma selected
119: SAES_IN_DMA: saes_in_dma selected
120: I3C1_RX_DMA: i3c1_rx_dma selected
121: I3C1_TX_DMA: i3c1_tx_dma selected
122: I3C1_TC_DMA: i3c1_tc_dma selected
123: I3C1_RS_DMA: i3c1_rs_dma selected
124: I2C4_RX_DMA: i2c4_rx_dma selected
125: I2C4_TX_DMA: i2c4_tx_dma selected
127: LPTIM3_IC1_DMA: lptim3_ic1_dma selected
128: LPTIM3_IC2_DMA: lptim3_ic2_dma selected
129: LPTIM3_UE_DMA: lptim3_ue_dma selected
130: LPTIM5_IC1_DMA: lptim5_ic1_dma selected
131: LPTIM5_IC2_DMA: lptim5_ic2_dma selected
132: LPTIM5_UE_DMA: lptim5_ue_dma selected
133: LPTIM6_IC1_DMA: lptim6_ic1_dma selected
134: LPTIM6_IC2_DMA: lptim6_ic2_dma selected
135: LPTIM6_UE_DMA: lptim6_ue_dma selected
136: I3C2_RX: i3c2_rx selected
137: I3C2_TX: i3c2_tx selected
138: I3C2_TC: i3c2_tc selected
139: I3C2_RS: i3c2_rs selected

SWREQ

Bit 9: software request This bit is internally taken into account when GPDMA_CxCR.EN is asserted..

Allowed values:
0: Hardware: No software request. The selected hardware request REQSEL[7:0] is taken into account
1: Software: Software request for memory-to-memory transfer

DREQ

Bit 10: destination hardware request This bit is ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: If the channel x is activated (GPDMA_CxCR.EN is asserted) with SWREQ = 0 and PFREQ = 1 (peripheral hardware request with peripheral flow-control mode), any software assertion to this DREQ bit is ignored: in peripheral flow-control mode, only a peripheral-to-memory transfer is supported..

Allowed values:
0: Source: Selected hardware request driven by a source peripheral
1: Destination: Selected hardware request driven by a destination peripheral

BREQ

Bit 11: Block hardware request If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:.

Allowed values:
0: Burst: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level
1: Block: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level

PFREQ

Bit 12: Hardware request in peripheral flow control mode Important: If a given channel x is not implemented with this feature, this bit is reserved and PFREQ is not present (see Section 14.3.2 for the list of the implemented channels with this feature. If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: Note: In peripheral flow control mode, there are the following restrictions: Note: - no 2D/repeated block support (GPDMA_CxBR1.BRC[10:0] must be set to 0) Note: - the peripheral must be set as the source of the transfer (DREQ = 0). Note: - data packing to a wider destination width is not supported (if destination width > source data width, GPDMA_CxTR1.PAM[1] must be set to 0). Note: - GPDMA_CxBR1.BNDT[15:0] must be programmed as a multiple of the source (peripheral) burst size..

Allowed values:
0: GpdmaControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in GPDMA control mode
1: PeripheralControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in peripheral control mode.

TRIGM

Bits 14-15: trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (GPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a GPDMA transfer is conditioned by at least one trigger hit: – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The GPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLI<sub>n+1</sub> that updates the GPDMA_CxTR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLI<sub>n </sub>trigger. After a first new trigger hit<sub>n+1</sub> is memorized, if another second trigger hit<sub>n+2</sub> is detected and if the hit<sub>n</sub> triggered transfer is still not completed, hit<sub>n+2 </sub>is lost and not memorized.memorized. A trigger overrun flag is reported (GPDMA_CxSR.TOF =1 ), and an interrupt is generated if enabled (GPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. Note: When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger..

Allowed values:
0: BlockLevel: At block level: the first burst read of each block transfer is conditioned by one hit trigger
2: LinkLevel: At link level: a LLI link transfer is conditioned by one hit trigger
3: ProgrammedBurstLevel: At programmed burst level: programmed burst read is conditioned by one hit trigger.

TRIGSEL

Bits 16-21: trigger event input selection These bits select the trigger event input of the GPDMA transfer (as per Section 14.3.7), with an active trigger event if TRIGPOL[1:0] ≠ 00..

Allowed values:
0: EXTI0: exti0 is trigger input
1: EXTI1: exti1 is trigger input
2: EXTI2: exti2 is trigger input
3: EXTI3: exti3 is trigger input
4: EXTI4: exti4 is trigger input
5: EXTI5: exti5 is trigger input
6: EXTI6: exti6 is trigger input
7: EXTI7: exti7 is trigger input
8: TAMP_TRG1: tamp_trg1 is trigger input
9: TAMP_TRG2: tamp_trg2 is trigger input
11: LPTIM1_CH1: lptim1_ch1 is trigger input
12: LPTIM1_CH2: lptim1_ch2 is trigger input
13: LPTIM2_CH1: lptim2_ch1 is trigger input
14: LPTIM2_CH2: lptim2_ch2 is trigger input
15: RTC_ALRA_TRG: rtc_alra_trg is trigger input
16: RTC_ALRB_TRG: rtc_alrb_trg is trigger input
17: RTC_WUT_TRG: rtc_wut_trg is trigger input
18: GPDMA1_CH0_TC: gpdma1_ch0_tc is trigger input
19: GPDMA1_CH1_TC: gpdma1_ch1_tc is trigger input
20: GPDMA1_CH2_TC: gpdma1_ch2_tc is trigger input
21: GPDMA1_CH3_TC: gpdma1_ch3_tc is trigger input
22: GPDMA1_CH4_TC: gpdma1_ch4_tc is trigger input
23: GPDMA1_CH5_TC: gpdma1_ch5_tc is trigger input
24: GPDMA1_CH6_TC: gpdma1_ch6_tc is trigger input
25: GPDMA1_CH7_TC: gpdma1_ch7_tc is trigger input
26: GPDMA2_CH0_TC: gpdma2_ch0_tc is trigger input
27: GPDMA2_CH1_TC: gpdma2_ch1_tc is trigger input
28: GPDMA2_CH2_TC: gpdma2_ch2_tc is trigger input
29: GPDMA2_CH3_TC: gpdma2_ch3_tc is trigger input
30: GPDMA2_CH4_TC: gpdma2_ch4_tc is trigger input
31: GPDMA2_CH5_TC: gpdma2_ch5_tc is trigger input
32: GPDMA2_CH6_TC: gpdma2_ch6_tc is trigger input
33: GPDMA2_CH7_TC: gpdma2_ch7_tc is trigger input
34: TIM2_TRG0: tim2_trgo is trigger input
44: COMP1_OUT: comp1_out is trigger input

TRIGPOL

Bits 24-25: trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]..

Allowed values:
0: NoTrigger: No trigger
1: RisingEdge: Trigger on rising edge
2: FallingEdge: Trigger on falling edge

TCEM

Bits 30-31: transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (i.e. directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI<sub>1</sub>..

Allowed values:
0: BlockLevel: At block level: the complete (and the half) transfer event is generated at the (respectively half of the) end of a block
2: LliLevel: At LLI level: the complete transfer event is generated at the end of the LLI transfer. The half transfer event is generated at the half of the LLI data transfer
3: ChannelLevel: At channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI

C5BR1

GPDMA channel 5 block register 1

Offset: 0x318, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BNDT
rw
Toggle fields

BNDT

Bits 0-15: block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if GPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if GPDMA_CxLLR.UB1 = 0 and if there is at least one non null Uxx update bit, this field is internally restored to the programmed value. - if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] = 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: When configured in packing mode (GPDMA_CxTR1.PAM[1] = 1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffff

C5SAR

GPDMA channel 5 source address register

Offset: 0x31c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SA
rw
Toggle fields

SA

Bits 0-31: source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (GPDMA_CxTR1.SINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.SDW_LOG2[1:0]) after each burst source data, reflecting the next address from which data is read. During the channel activity, this address is updated after each completed source burst, consequently to: the programmed source burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.SINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.SBL_1[5:0] and GPDMA_CxTR1.SDW_LOG2[21:0] the additional source incremented/decremented offset value as programmed by GPDMA_CxBR1.SDEC and GPDMA_CxTR3.SAO[12:0]. once/if completed source block transfer, for a channel x with 2D addressing capability (x = 12 to 15). additional block repeat source incremented/decremented offset value as programmed by GPDMA_CxBR1.BRSDEC and GPDMA_CxBR2.BRSAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source burst (SA[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xffffffff

C5DAR

GPDMA channel 5 destination address register

Offset: 0x320, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 0-31: destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (GPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.DDW_LOG2[21:0]) after each burst destination data, reflecting the next address from which data is written. During the channel activity, this address is updated after each completed destination burst, consequently to: the programmed destination burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.DINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.DBL_1[5:0] and GPDMA_CxTR1.DDW_LOG2[1:0] the additional destination incremented/decremented offset value as programmed by GPDMA_CxBR1.DDEC and GPDMA_CxTR3.DAO[12:0]. once/if completed destination block transfer, for a channel x with 2D addressing capability (x = 12 to 15), the additional block repeat destination incremented/decremented offset value as programmed by GPDMA_CxBR1.BRDDEC and GPDMA_CxBR2.BRDAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by the GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination burst (DA[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffffffff

C5LLR

GPDMA channel 5 linked-list address register

Offset: 0x34c, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UT1
rw
UT2
rw
UB1
rw
USA
rw
UDA
rw
ULL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LA
rw
Toggle fields

LA

Bits 2-15: pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list GPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list GPDMA internal register file (GPDMA_CxCTR1, GPDMA_CxTR2, GPDMA_CxBR1, GPDMA_CxSAR, GPDMA_CxDAR and GPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored..

Allowed values: 0x0-0x3fff

ULL

Bit 16: Update GPDMA_CxLLR register from memory This bit is used to control the update of GPDMA_CxLLR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxLLR update
1: Update: CxLLR updated from memory during link transfer

UDA

Bit 27: Update GPDMA_CxDAR register from memory This bit is used to control the update of GPDMA_CxDAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxDAR update
1: Update: CxDAR updated from memory during link transfer

USA

Bit 28: update GPDMA_CxSAR from memory This bit controls the update of GPDMA_CxSAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxSAR update
1: Update: CxSAR updated from memory during link transfer

UB1

Bit 29: Update GPDMA_CxBR1 from memory This bit controls the update of GPDMA_CxBR1 from the memory during the link transfer. If UB1 = 0 and if GPDMA_CxLLR ≠ 0, the linked-list is not completed. GPDMA_CxBR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer..

Allowed values:
0: NoUpdate: No CxBR1 update
1: Update: CxBR1 updated from memory during link transfer

UT2

Bit 30: Update GPDMA_CxTR2 from memory This bit controls the update of GPDMA_CxTR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR2 update
1: Update: CxTR2 updated from memory during link transfer

UT1

Bit 31: Update GPDMA_CxTR1 from memory This bit controls the update of GPDMA_CxTR1 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR1 update
1: Update: CxTR1 updated from memory during link transfer

C6LBAR

GPDMA channel 6 linked-list base address register

Offset: 0x350, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LBA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

LBA

Bits 16-31: linked-list base address of GPDMA channel x.

Allowed values: 0x0-0xffff

C6FCR

GPDMA channel 6 flag clear register

Offset: 0x35c, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
w
SUSPF
w
USEF
w
ULEF
w
DTEF
w
HTF
w
TCF
w
Toggle fields

TCF

Bit 8: transfer complete flag clear.

Allowed values:
1: Clear: Clear flag

HTF

Bit 9: half transfer flag clear.

Allowed values:
1: Clear: Clear flag

DTEF

Bit 10: data transfer error flag clear.

Allowed values:
1: Clear: Clear flag

ULEF

Bit 11: update link transfer error flag clear.

Allowed values:
1: Clear: Clear flag

USEF

Bit 12: user setting error flag clear.

Allowed values:
1: Clear: Clear flag

SUSPF

Bit 13: completed suspension flag clear.

Allowed values:
1: Clear: Clear flag

TOF

Bit 14: trigger overrun flag clear.

Allowed values:
1: Clear: Clear flag

C6SR

GPDMA channel 6 status register

Offset: 0x360, size: 32, reset: 0x00000001, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
r
SUSPF
r
USEF
r
ULEF
r
DTEF
r
HTF
r
TCF
r
IDLEF
r
Toggle fields

IDLEF

Bit 0: idle flag This idle flag is deasserted by hardware when the channel is enabled (GPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state)..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TCF

Bit 8: transfer complete flag A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0])..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

HTF

Bit 9: half transfer flag A half transfer event is either a half block transfer or a half 2D/repeated block transfer, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0]). A half block transfer occurs when half of the bytes of the source block size (rounded up integer of GPDMA_CxBR1.BNDT[15:0]/2) has been transferred to the destination. A half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (GPDMA_CxBR1.BRC[10:0]+1)/2)) has been transferred to the destination..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

DTEF

Bit 10: data transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

ULEF

Bit 11: update link transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

USEF

Bit 12: user setting error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

SUSPF

Bit 13: completed suspension flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TOF

Bit 14: trigger overrun flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

FIFOL

Bits 16-23: monitored FIFO level Number of available write beats in the FIFO, in units of the programmed destination data width (see GPDMA_CxTR1.DDW_LOG2[1:0], in units of bytes, half-words, or words). Note: After having suspended an active transfer, the user may need to read FIFOL[7:0], additionally to GPDMA_CxBR1.BDNT[15:0] and GPDMA_CxBR1.BRC[10:0], to know how many data have been transferred to the destination. Before reading, the user may wait for the transfer to be suspended (GPDMA_CxSR.SUSPF = 1)..

Allowed values: 0x0-0xff

C6CR

GPDMA channel 6 control register

Offset: 0x364, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRIO
rw
LAP
rw
LSM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOIE
rw
SUSPIE
rw
USEIE
rw
ULEIE
rw
DTEIE
rw
HTIE
rw
TCIE
rw
SUSP
rw
RESET
w
EN
rw
Toggle fields

EN

Bit 0: enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is deasserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, for example if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored..

Allowed values:
0: Disabled: Channel disabled
1: Enabled: Channel enabled

RESET

Bit 1: reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (GPDMA_CxSR.SUSPF = 1 and GPDMA_CxSR.IDLEF = GPDMA_CxCR.EN = 1) - channel in disabled state (GPDMA_CxSR.IDLEF = 1 and GPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (GPDMA_CxBR1, GPDMA_CxSAR and GPDMA_CxDAR) before enabling again the channel (see the programming sequence in Figure 44)..

Allowed values:
1: Reset: Reset channel

SUSP

Bit 2: suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel (channel with an ongoing GPDMA transfer over its master ports). The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in Figure 43..

Allowed values:
0: NotSuspended: Channel operation not suspended
1: Suspended: Channel operation suspended

TCIE

Bit 8: transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HTIE

Bit 9: half transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

DTEIE

Bit 10: data transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

ULEIE

Bit 11: update link transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

USEIE

Bit 12: user setting error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

SUSPIE

Bit 13: completed suspension interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

TOIE

Bit 14: trigger overrun interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

LSM

Bit 16: Link step mode First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until GPDMA_CxBR1.BNDT[15:0] = 0 and GPDMA_CxBR1.BRC[10:0] = 0. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by GPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: FullLinkedList: Channel executed for full linked list
1: Once: Channel executed once for current linked list

LAP

Bit 17: linked-list allocated port This bit is used to allocate the master port for the update of the GPDMA linked-list registers from the memory. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

PRIO

Bits 22-23: priority level of the channel x GPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: LowPrioLowWeight: Low priority, low weight
1: LowPrioMidWeight: Low priority, mid weight
2: LowPrioHighWeight: Low priority, high weight
3: HighPrio: High priority

C6TR1

GPDMA channel 6 transfer register 1

Offset: 0x390, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAP
rw
DHX
rw
DBX
rw
DBL_1
rw
DINC
rw
DDW_LOG2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAP
rw
SBX
rw
PAM
rw
SBL_1
rw
SINC
rw
SDW_LOG2
rw
Toggle fields

SDW_LOG2

Bits 0-1: binary logarithm of the source data width of a burst in bytes Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (GPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. Note: A source burst transfer must have an aligned address with its data width (start address GPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

SINC

Bit 3: source incrementing burst The source address, pointed by GPDMA_CxSAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

SBL_1

Bits 4-9: source burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If SBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width SDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

PAM

Bits 11-12: padding/alignment mode If DDW_LOG2[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else, in the following enumerated values, the condition PAM_1 is when destination data width is higher that source data width, and the condition PAM_2 is when destination data width is higher than source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination Note: If the transfer from the source peripheral is configured with peripheral flow-control mode (SWREQ = 0 and PFREQ = 1 and DREQ = 0), and if the destination data width > the source data width, packing is not supported..

Allowed values: 0x0-0x3

PAM_1

Bits 11-12: PAM value when destination data width is higher than source data width.

Allowed values:
0: RightAlignedZeroPadded: Source data is transferred as right aligned, padded with 0s up to the destination data width
1: RightAlignedSignExtended: Source data is transferred as right aligned, sign extended up to the destination data width
2: Fifo: Source data are FIFO queued and packed at the destination data width, in little endian order, before a destination transfer

PAM_2

Bits 11-12: PAM value when source data width is higher than destination data width.

Allowed values:
0: RightAlignedLeftTruncated: Source data is transferred as right aligned, left-truncated down to the destination data width
1: LeftAlignedRightTruncated: Source data is transferred as left-aligned, right-truncated down to the destination data width
2: Fifo: Source data are FIFO queued and unpacked at the destination data width, in little endian order

SBX

Bit 13: source byte exchange within the unaligned half-word of each source word If the source data width is shorter than a word, this bit is ignored. If the source data width is a word:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

SAP

Bit 14: source allocated port This bit is used to allocate the master port for the source transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

DDW_LOG2

Bits 16-17: binary logarithm of the destination data width of a burst, in bytes Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. Note: A destination burst transfer must have an aligned address with its data width (start address GPDMA_CxDAR[2:0] and address offset GPDMA_CxTR3.DAO[2:0], versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and no transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

DINC

Bit 19: destination incrementing burst The destination address, pointed by GPDMA_CxDAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

DBL_1

Bits 20-25: destination burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If DBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width DDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

DBX

Bit 26: destination byte exchange If the destination data size is a byte, this bit is ignored. If the destination data size is not a byte:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

DHX

Bit 27: destination half-word exchange If the destination data size is shorter than a word, this bit is ignored. If the destination data size is a word:.

Allowed values:
0: NotExchanged: No halfword-based exchange within word
1: Exchanged: The two consecutive (post PAM) half-words are exchanged in each destination word

DAP

Bit 30: destination allocated port This bit is used to allocate the master port for the destination transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

C6TR2

GPDMA channel 6 transfer register 2

Offset: 0x394, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCEM
rw
TRIGPOL
rw
TRIGSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIGM
rw
PFREQ
rw
BREQ
rw
DREQ
rw
SWREQ
rw
REQSEL
rw
Toggle fields

REQSEL

Bits 0-7: GPDMA hardware request selection These bits are ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per Section 14.3.4. The user must not assign a same input hardware request (same REQSEL[7:0] value) to different active GPDMA channels (GPDMA_CxCR.EN = 1 and GPDMA_CxTR2.SWREQ = 0 for these channels). GPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting..

Allowed values:
0: ADC1_DMA: adc1_dma selected
2: DAC1_CH1_DMA: dac1_ch1_dma selected
3: DAC1_CH2_DMA: dac1_ch2_dma selected
4: TIM6_UPD_DMA: tim6_upd_dma selected
5: TIM7_UPD_DMA: tim7_upd_dma selected
6: SPI1_RX_DMA: spi1_rx_dma selected
7: SPI1_TX_DMA: spi1_tx_dma selected
8: SPI2_RX_DMA: spi2_rx_dma selected
9: SPI2_TX_DMA: spi2_tx_dma selected
10: SPI3_RX_DMA: spi3_rx_dma selected
11: SPI3_TX_DMA: spi3_tx_dma selected
12: I2C1_RX_DMA: i2c1_rx_dma selected
13: I2C1_TX_DMA: i2c1_tx_dma selected
15: I2C2_RX_DMA: i2c2_rx_dma selected
16: I2C2_TX_DMA: i2c2_tx_dma selected
18: I2C3_RX_DMA: i2c3_rx_dma selected
19: I2C3_TX_DMA: i2c3_tx_dma selected
21: USART1_RX_DMA: usart1_rx_dma selected
22: USART1_TX_DMA: usart1_tx_dma selected
23: USART2_RX_DMA: usart2_rx_dma selected
24: USART2_TX_DMA: usart2_tx_dma selected
25: USART3_RX_DMA: usart3_rx_dma selected
26: USART3_TX_DMA: usart3_tx_dma selected
27: UART4_RX_DMA: uart4_rx_dma selected
28: UART4_TX_DMA: uart4_tx_dma selected
29: UART5_RX_DMA: uart5_rx_dma selected
30: UART5_TX_DMA: uart5_tx_dma selected
31: USART6_RX_DMA: usart6_rx_dma selected
32: USART6_TX_DMA: usart6_tx_dma selected
33: UART7_RX_DMA: uart7_rx_dma selected
34: UART7_TX_DMA: uart7_tx_dma selected
35: UART8_RX_DMA: uart8_rx_dma selected
36: UART8_TX_DMA: uart8_tx_dma selected
37: UART9_RX_DMA: uart9_rx_dma selected
38: UART9_TX_DMA: uart9_tx_dma selected
39: UART10_RX_DMA: uart10_rx_dma selected
40: UART10_TX_DMA: uart10_tx_dma selected
41: UART11_RX_DMA: uart11_rx_dma selected
42: UART11_TX_DMA: uart11_tx_dma selected
43: UART12_RX_DMA: uart12_rx_dma selected
44: UART12_TX_DMA: uart12_tx_dma selected
45: LPUART1_RX_DMA: lpuart1_rx_dma selected
46: LPUART1_TX_DMA: lpuart1_tx_dma selected
47: SPI4_RX_DMA: spi4_rx_dma selected
48: SPI4_TX_DMA: spi4_tx_dma selected
49: SPI5_RX_DMA: spi5_rx_dma selected
50: SPI5_TX_DMA: spi5_tx_dma selected
51: SPI6_RX_DMA: spi6_rx_dma selected
52: SPI6_TX_DMA: spi6_tx_dma selected
53: SAI1_A_DMA: sai1_a_dma selected
54: SAI1_B_DMA: sai1_b_dma selected
55: SAI2_A_DMA: sai2_a_dma selected
56: SAI2_B_DMA: sai2_b_dma selected
57: OSPI1_DMA: ospi1_dma selected
58: TIM1_CC1_DMA: tim1_cc1_dma selected
59: TIM1_CC2_DMA: tim1_cc2_dma selected
60: TIM1_CC3_DMA: tim1_cc3_dma selected
61: TIM1_CC4_DMA: tim1_cc4_dma selected
62: TIM1_UPD_DMA: tim1_upd_dma selected
63: TIM1_TRG_DMA: tim1_trg_dma selected
64: TIM1_COM_DMA: tim1_com_dma selected
65: TIM8_CC1_DMA: tim8_cc1_dma selected
66: TIM8_CC2_DMA: tim8_cc2_dma selected
67: TIM8_CC3_DMA: tim8_cc3_dma selected
68: TIM8_CC4_DMA: tim8_cc4_dma selected
69: TIM8_UPD_DMA: tim8_upd_dma selected
70: TIM8_TIG_DMA: tim8_tig_dma selected
71: TIM8_COM_DMA: tim8_com_dma selected
72: TIM2_CC1_DMA: tim2_cc1_dma selected
73: TIM2_CC2_DMA: tim2_cc2_dma selected
74: TIM2_CC3_DMA: tim2_cc3_dma selected
75: TIM2_CC4_DMA: tim2_cc4_dma selected
76: TIM2_UPD_DMA: tim2_upd_dma selected
77: TIM3_CC1_DMA: tim3_cc1_dma selected
78: TIM3_CC2_DMA: tim3_cc2_dma selected
79: TIM3_CC3_DMA: tim3_cc3_dma selected
80: TIM3_CC4_DMA: tim3_cc4_dma selected
81: TIM3_UPD_DMA: tim3_upd_dma selected
82: TIM3_TRG_DMA: tim3_trg_dma selected
83: TIM4_CC1_DMA: tim4_cc1_dma selected
84: TIM4_CC2_DMA: tim4_cc2_dma selected
85: TIM4_CC3_DMA: tim4_cc3_dma selected
86: TIM4_CC4_DMA: tim4_cc4_dma selected
87: TIM4_UPD_DMA: tim4_upd_dma selected
88: TIM5_CC1_DMA: tim5_cc1_dma selected
89: TIM5_CC2_DMA: tim5_cc2_dma selected
90: TIM5_CC3_DMA: tim5_cc3_dma selected
91: TIM5_CC4_DMA: tim5_cc4_dma selected
92: TIM5_UPD_DMA: tim5_upd_dma selected
93: TIM5_TRG_DMA: tim5_trg_dma selected
94: TIM15_CC1_DMA: tim15_cc1_dma selected
95: TIM15_UPD_DMA: tim15_upd_dma selected
96: TIM15_TRG_DMA: tim15_trg_dma selected
97: TIM15_COM_DMA: tim15_com_dma selected
98: TIM16_CC1_DMA: tim16_cc1_dma selected
99: TIM16_UPD_DMA: tim16_upd_dma selected
100: TIM17_CC1_DMA: tim17_cc1_dma selected
101: TIM17_UPD_DMA: tim17_upd_dma selected
102: LPTIM1_IC1_DMA: lptim1_ic1_dma selected
103: LPTIM1_IC2_DMA: lptim1_ic2_dma selected
104: LPTIM1_UE_DMA: lptim1_ue_dma selected
105: LPTIM2_IC1_DMA: lptim2_ic1_dma selected
106: LPTIM2_IC2_DMA: lptim2_ic2_dma selected
107: LPTIM2_UE_DMA: lptim2_ue_dma selected
108: DCMI_PSSI_DMA: dcmi_dma or pssi_dma(1) selected
109: AES_OUT_DMA: aes_out_dma selected
110: AES_IN_DMA: aes_in_dma selected
111: HASH_IN_DMA: hash_in_dma selected
112: UCPD1_RX_DMA: ucpd1_rx_dma selected
113: UCPD1_TX_DMA: ucpd1_tx_dma selected
114: CORDIC_READ_DMA: cordic_read_dma selected
115: CORDIC_WRITE_DMA: cordic_write_dma selected
116: FMAC_READ_DMA: fmac_read_dma selected
117: FMAC_WRITE_DMA: fmac_write_dma selected
118: SAES_OUT_DMA: saes_out_dma selected
119: SAES_IN_DMA: saes_in_dma selected
120: I3C1_RX_DMA: i3c1_rx_dma selected
121: I3C1_TX_DMA: i3c1_tx_dma selected
122: I3C1_TC_DMA: i3c1_tc_dma selected
123: I3C1_RS_DMA: i3c1_rs_dma selected
124: I2C4_RX_DMA: i2c4_rx_dma selected
125: I2C4_TX_DMA: i2c4_tx_dma selected
127: LPTIM3_IC1_DMA: lptim3_ic1_dma selected
128: LPTIM3_IC2_DMA: lptim3_ic2_dma selected
129: LPTIM3_UE_DMA: lptim3_ue_dma selected
130: LPTIM5_IC1_DMA: lptim5_ic1_dma selected
131: LPTIM5_IC2_DMA: lptim5_ic2_dma selected
132: LPTIM5_UE_DMA: lptim5_ue_dma selected
133: LPTIM6_IC1_DMA: lptim6_ic1_dma selected
134: LPTIM6_IC2_DMA: lptim6_ic2_dma selected
135: LPTIM6_UE_DMA: lptim6_ue_dma selected
136: I3C2_RX: i3c2_rx selected
137: I3C2_TX: i3c2_tx selected
138: I3C2_TC: i3c2_tc selected
139: I3C2_RS: i3c2_rs selected

SWREQ

Bit 9: software request This bit is internally taken into account when GPDMA_CxCR.EN is asserted..

Allowed values:
0: Hardware: No software request. The selected hardware request REQSEL[7:0] is taken into account
1: Software: Software request for memory-to-memory transfer

DREQ

Bit 10: destination hardware request This bit is ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: If the channel x is activated (GPDMA_CxCR.EN is asserted) with SWREQ = 0 and PFREQ = 1 (peripheral hardware request with peripheral flow-control mode), any software assertion to this DREQ bit is ignored: in peripheral flow-control mode, only a peripheral-to-memory transfer is supported..

Allowed values:
0: Source: Selected hardware request driven by a source peripheral
1: Destination: Selected hardware request driven by a destination peripheral

BREQ

Bit 11: Block hardware request If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:.

Allowed values:
0: Burst: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level
1: Block: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level

PFREQ

Bit 12: Hardware request in peripheral flow control mode Important: If a given channel x is not implemented with this feature, this bit is reserved and PFREQ is not present (see Section 14.3.2 for the list of the implemented channels with this feature. If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: Note: In peripheral flow control mode, there are the following restrictions: Note: - no 2D/repeated block support (GPDMA_CxBR1.BRC[10:0] must be set to 0) Note: - the peripheral must be set as the source of the transfer (DREQ = 0). Note: - data packing to a wider destination width is not supported (if destination width > source data width, GPDMA_CxTR1.PAM[1] must be set to 0). Note: - GPDMA_CxBR1.BNDT[15:0] must be programmed as a multiple of the source (peripheral) burst size..

Allowed values:
0: GpdmaControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in GPDMA control mode
1: PeripheralControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in peripheral control mode.

TRIGM

Bits 14-15: trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (GPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a GPDMA transfer is conditioned by at least one trigger hit: – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The GPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLI<sub>n+1</sub> that updates the GPDMA_CxTR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLI<sub>n </sub>trigger. After a first new trigger hit<sub>n+1</sub> is memorized, if another second trigger hit<sub>n+2</sub> is detected and if the hit<sub>n</sub> triggered transfer is still not completed, hit<sub>n+2 </sub>is lost and not memorized.memorized. A trigger overrun flag is reported (GPDMA_CxSR.TOF =1 ), and an interrupt is generated if enabled (GPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. Note: When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger..

Allowed values:
0: BlockLevel: At block level: the first burst read of each block transfer is conditioned by one hit trigger
1: RepeatedBlockLevel: At repeated block level: the first burst read of a 2D/repeated block transfer is conditioned by one hit trigger
2: LinkLevel: At link level: a LLI link transfer is conditioned by one hit trigger
3: ProgrammedBurstLevel: At programmed burst level: programmed burst read is conditioned by one hit trigger.

TRIGSEL

Bits 16-21: trigger event input selection These bits select the trigger event input of the GPDMA transfer (as per Section 14.3.7), with an active trigger event if TRIGPOL[1:0] ≠ 00..

Allowed values:
0: EXTI0: exti0 is trigger input
1: EXTI1: exti1 is trigger input
2: EXTI2: exti2 is trigger input
3: EXTI3: exti3 is trigger input
4: EXTI4: exti4 is trigger input
5: EXTI5: exti5 is trigger input
6: EXTI6: exti6 is trigger input
7: EXTI7: exti7 is trigger input
8: TAMP_TRG1: tamp_trg1 is trigger input
9: TAMP_TRG2: tamp_trg2 is trigger input
11: LPTIM1_CH1: lptim1_ch1 is trigger input
12: LPTIM1_CH2: lptim1_ch2 is trigger input
13: LPTIM2_CH1: lptim2_ch1 is trigger input
14: LPTIM2_CH2: lptim2_ch2 is trigger input
15: RTC_ALRA_TRG: rtc_alra_trg is trigger input
16: RTC_ALRB_TRG: rtc_alrb_trg is trigger input
17: RTC_WUT_TRG: rtc_wut_trg is trigger input
18: GPDMA1_CH0_TC: gpdma1_ch0_tc is trigger input
19: GPDMA1_CH1_TC: gpdma1_ch1_tc is trigger input
20: GPDMA1_CH2_TC: gpdma1_ch2_tc is trigger input
21: GPDMA1_CH3_TC: gpdma1_ch3_tc is trigger input
22: GPDMA1_CH4_TC: gpdma1_ch4_tc is trigger input
23: GPDMA1_CH5_TC: gpdma1_ch5_tc is trigger input
24: GPDMA1_CH6_TC: gpdma1_ch6_tc is trigger input
25: GPDMA1_CH7_TC: gpdma1_ch7_tc is trigger input
26: GPDMA2_CH0_TC: gpdma2_ch0_tc is trigger input
27: GPDMA2_CH1_TC: gpdma2_ch1_tc is trigger input
28: GPDMA2_CH2_TC: gpdma2_ch2_tc is trigger input
29: GPDMA2_CH3_TC: gpdma2_ch3_tc is trigger input
30: GPDMA2_CH4_TC: gpdma2_ch4_tc is trigger input
31: GPDMA2_CH5_TC: gpdma2_ch5_tc is trigger input
32: GPDMA2_CH6_TC: gpdma2_ch6_tc is trigger input
33: GPDMA2_CH7_TC: gpdma2_ch7_tc is trigger input
34: TIM2_TRG0: tim2_trgo is trigger input
44: COMP1_OUT: comp1_out is trigger input

TRIGPOL

Bits 24-25: trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]..

Allowed values:
0: NoTrigger: No trigger
1: RisingEdge: Trigger on rising edge
2: FallingEdge: Trigger on falling edge

TCEM

Bits 30-31: transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (i.e. directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI<sub>1</sub>..

Allowed values:
0: BlockLevel: At block level: the complete (and the half) transfer event is generated at the (respectively half of the) end of a block
1: RepeatedBlockLevel: At repeated block level: the complete (and the half) transfer event is generated at the end (respectively half of the end) of the 2D/repeated block.
2: LliLevel: At LLI level: the complete transfer event is generated at the end of the LLI transfer. The half transfer event is generated at the half of the LLI data transfer
3: ChannelLevel: At channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI

C6BR1

GPDMA channel 6 alternate block register 1

Offset: 0x398, size: 32, reset: 0x00000000, access: Unspecified

6/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BRDDEC
rw
BRSDEC
rw
DDEC
rw
SDEC
rw
BRC
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BNDT
rw
Toggle fields

BNDT

Bits 0-15: block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if GPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if GPDMA_CxLLR.UB1 = 0 and if there is at least one not null Uxx update bit, this field is internally restored to the programmed value. - if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] ≠ 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: When configured in packing mode (GPDMA_CxTR1.PAM[1]=1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffff

BRC

Bits 16-26: Block repeat counter This field contains the number of repetitions of the current block (0 to 2047). When the channel is enabled, this field becomes read-only. After decrements, this field indicates the remaining number of blocks, excluding the current one. This counter is hardware decremented for each completed block transfer. Once the last block transfer is completed (BRC[10:0] = BNDT[15:0] = 0): If GPDMA_CxLLR.UB1 = 1, all GPDMA_CxBR1 fields are updated by the next LLI in the memory. If GPDMA_CxLLR.UB1 = 0 and if there is at least one not null Uxx update bit, this field is internally restored to the programmed value. if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] ≠ 0, this field is internally restored to the programmed value (infinite/continuous last LLI). if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI and data transfer..

Allowed values: 0x0-0x7ff

SDEC

Bit 28: source address decrement.

Allowed values:
0: Increment: Source address incremented
1: Decrement: Source address decremented

DDEC

Bit 29: destination address decrement.

Allowed values:
0: Increment: Destination address incremented
1: Decrement: Destination address decremented

BRSDEC

Bit 30: Block repeat source address decrement Note: On top of this increment/decrement (depending on BRSDEC), GPDMA_CxSAR is in the same time also updated by the increment/decrement (depending on SDEC) of the GPDMA_CxTR3.SAO value, as it is done after any programmed burst transfer..

Allowed values:
0: Increment: Block repeat source address incremented
1: Decrement: Block repeat source address decremented

BRDDEC

Bit 31: Block repeat destination address decrement Note: On top of this increment/decrement (depending on BRDDEC), GPDMA_CxDAR is in the same time also updated by the increment/decrement (depending on DDEC) of the GPDMA_CxTR3.DAO value, as it is usually done at the end of each programmed burst transfer..

Allowed values:
0: Increment: Block repeat destination address incremented
1: Decrement: Block repeat destination address decremented

C6SAR

GPDMA channel 6 source address register

Offset: 0x39c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SA
rw
Toggle fields

SA

Bits 0-31: source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (GPDMA_CxTR1.SINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.SDW_LOG2[1:0]) after each burst source data, reflecting the next address from which data is read. During the channel activity, this address is updated after each completed source burst, consequently to: the programmed source burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.SINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.SBL_1[5:0] and GPDMA_CxTR1.SDW_LOG2[21:0] the additional source incremented/decremented offset value as programmed by GPDMA_CxBR1.SDEC and GPDMA_CxTR3.SAO[12:0]. once/if completed source block transfer, for a channel x with 2D addressing capability (x = 12 to 15). additional block repeat source incremented/decremented offset value as programmed by GPDMA_CxBR1.BRSDEC and GPDMA_CxBR2.BRSAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source burst (SA[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xffffffff

C6DAR

GPDMA channel 6 destination address register

Offset: 0x3a0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 0-31: destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (GPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.DDW_LOG2[21:0]) after each burst destination data, reflecting the next address from which data is written. During the channel activity, this address is updated after each completed destination burst, consequently to: the programmed destination burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.DINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.DBL_1[5:0] and GPDMA_CxTR1.DDW_LOG2[1:0] the additional destination incremented/decremented offset value as programmed by GPDMA_CxBR1.DDEC and GPDMA_CxTR3.DAO[12:0]. once/if completed destination block transfer, for a channel x with 2D addressing capability (x = 12 to 15), the additional block repeat destination incremented/decremented offset value as programmed by GPDMA_CxBR1.BRDDEC and GPDMA_CxBR2.BRDAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by the GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination burst (DA[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffffffff

C6TR3

GPDMA channel 6 transfer register 3

Offset: 0x3a4, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAO
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAO
rw
Toggle fields

SAO

Bits 0-12: source address offset increment The source address, pointed by GPDMA_CxSAR, is incremented or decremented (depending on GPDMA_CxBR1.SDEC) by this offset SAO[12:0] for each programmed source burst. This offset is not including and is added to the programmed burst size when the completed burst is addressed in incremented mode (GPDMA_CxTR1.SINC = 1). Note: A source address offset must be aligned with the programmed data width of a source burst (SAO[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and none transfer is issued. Note: When the source block size is not a multiple of the destination burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xfff

DAO

Bits 16-28: destination address offset increment The destination address, pointed by GPDMA_CxDAR, is incremented or decremented (depending on GPDMA_CxBR1.DDEC) by this offset DAO[12:0] for each programmed destination burst. This offset is not including and is added to the programmed burst size when the completed burst is addressed in incremented mode (GPDMA_CxTR1.DINC = 1). Note: A destination address offset must be aligned with the programmed data width of a destination burst (DAO[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xfff

C6BR2

GPDMA channel 6 block register 2

Offset: 0x3a8, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BRDAO
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BRSAO
rw
Toggle fields

BRSAO

Bits 0-15: Block repeated source address offset For a channel with 2D addressing capability, this field is used to update (by addition or subtraction depending on GPDMA_CxBR1.BRSDEC) the current source address (GPDMA_CxSAR) at the end of a block transfer. A block repeated source address offset must be aligned with the programmed data width of a source burst (BRSAO[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: BRSAO[15:0] must be set to 0 in peripheral flow-control mode (if GPDMA_CxTR2.PFREQ = 1)..

Allowed values: 0x0-0xffff

BRDAO

Bits 16-31: Block repeated destination address offset For a channel with 2D addressing capability, this field is used to update (by addition or subtraction depending on GPDMA_CxBR1.BRDDEC) the current destination address (GPDMA_CxDAR) at the end of a block transfer. A block repeated destination address offset must be aligned with the programmed data width of a destination burst (BRDAO[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: BRDAO[15:0] must be set to 0 in peripheral flow-control mode (if GPDMA_CxTR2.PFREQ = 1)..

Allowed values: 0x0-0xffff

C6LLR

GPDMA channel 6 alternate linked-list address register

Offset: 0x3cc, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UT1
rw
UT2
rw
UB1
rw
USA
rw
UDA
rw
UT3
rw
UB2
rw
ULL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LA
rw
Toggle fields

LA

Bits 2-15: pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list GPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list GPDMA internal register file (GPDMA_CxCTR1, GPDMA_CxTR2, GPDMA_CxBR1, GPDMA_CxSAR, GPDMA_CxDAR and GPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored..

Allowed values: 0x0-0x3fff

ULL

Bit 16: Update GPDMA_CxLLR register from memory This bit is used to control the update of GPDMA_CxLLR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxLLR update
1: Update: CxLLR updated from memory during link transfer

UB2

Bit 25: Update GPDMA_CxBR2 from memory This bit controls the update of GPDMA_CxBR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxBR2 update
1: Update: CxBR2 updated from memory during link transfer

UT3

Bit 26: Update GPDMA_CxTR3 from memory This bit controls the update of GPDMA_CxTR3 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR3 update
1: Update: CxTR3 updated from memory during link transfer

UDA

Bit 27: Update GPDMA_CxDAR register from memory This bit is used to control the update of GPDMA_CxDAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxDAR update
1: Update: CxDAR updated from memory during link transfer

USA

Bit 28: update GPDMA_CxSAR from memory This bit controls the update of GPDMA_CxSAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxSAR update
1: Update: CxSAR updated from memory during link transfer

UB1

Bit 29: Update GPDMA_CxBR1 from memory This bit controls the update of GPDMA_CxBR1 from the memory during the link transfer. If UB1 = 0 and if GPDMA_CxLLR ≠ 0, the linked-list is not completed. GPDMA_CxBR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer..

Allowed values:
0: NoUpdate: No CxBR1 update
1: Update: CxBR1 updated from memory during link transfer

UT2

Bit 30: Update GPDMA_CxTR2 from memory This bit controls the update of GPDMA_CxTR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR2 update
1: Update: CxTR2 updated from memory during link transfer

UT1

Bit 31: Update GPDMA_CxTR1 from memory This bit controls the update of GPDMA_CxTR1 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR1 update
1: Update: CxTR1 updated from memory during link transfer

C7LBAR

GPDMA channel 7 linked-list base address register

Offset: 0x3d0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LBA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

LBA

Bits 16-31: linked-list base address of GPDMA channel x.

Allowed values: 0x0-0xffff

C7FCR

GPDMA channel 7 flag clear register

Offset: 0x3dc, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
w
SUSPF
w
USEF
w
ULEF
w
DTEF
w
HTF
w
TCF
w
Toggle fields

TCF

Bit 8: transfer complete flag clear.

Allowed values:
1: Clear: Clear flag

HTF

Bit 9: half transfer flag clear.

Allowed values:
1: Clear: Clear flag

DTEF

Bit 10: data transfer error flag clear.

Allowed values:
1: Clear: Clear flag

ULEF

Bit 11: update link transfer error flag clear.

Allowed values:
1: Clear: Clear flag

USEF

Bit 12: user setting error flag clear.

Allowed values:
1: Clear: Clear flag

SUSPF

Bit 13: completed suspension flag clear.

Allowed values:
1: Clear: Clear flag

TOF

Bit 14: trigger overrun flag clear.

Allowed values:
1: Clear: Clear flag

C7SR

GPDMA channel 7 status register

Offset: 0x3e0, size: 32, reset: 0x00000001, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOF
r
SUSPF
r
USEF
r
ULEF
r
DTEF
r
HTF
r
TCF
r
IDLEF
r
Toggle fields

IDLEF

Bit 0: idle flag This idle flag is deasserted by hardware when the channel is enabled (GPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state)..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TCF

Bit 8: transfer complete flag A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0])..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

HTF

Bit 9: half transfer flag A half transfer event is either a half block transfer or a half 2D/repeated block transfer, depending on the transfer complete event mode (GPDMA_CxTR2.TCEM[1:0]). A half block transfer occurs when half of the bytes of the source block size (rounded up integer of GPDMA_CxBR1.BNDT[15:0]/2) has been transferred to the destination. A half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (GPDMA_CxBR1.BRC[10:0]+1)/2)) has been transferred to the destination..

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

DTEF

Bit 10: data transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

ULEF

Bit 11: update link transfer error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

USEF

Bit 12: user setting error flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

SUSPF

Bit 13: completed suspension flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

TOF

Bit 14: trigger overrun flag.

Allowed values:
0: NoTrigger: Event not triggered
1: Trigger: Event triggered

FIFOL

Bits 16-23: monitored FIFO level Number of available write beats in the FIFO, in units of the programmed destination data width (see GPDMA_CxTR1.DDW_LOG2[1:0], in units of bytes, half-words, or words). Note: After having suspended an active transfer, the user may need to read FIFOL[7:0], additionally to GPDMA_CxBR1.BDNT[15:0] and GPDMA_CxBR1.BRC[10:0], to know how many data have been transferred to the destination. Before reading, the user may wait for the transfer to be suspended (GPDMA_CxSR.SUSPF = 1)..

Allowed values: 0x0-0xff

C7CR

GPDMA channel 7 control register

Offset: 0x3e4, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRIO
rw
LAP
rw
LSM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TOIE
rw
SUSPIE
rw
USEIE
rw
ULEIE
rw
DTEIE
rw
HTIE
rw
TCIE
rw
SUSP
rw
RESET
w
EN
rw
Toggle fields

EN

Bit 0: enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is deasserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, for example if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored..

Allowed values:
0: Disabled: Channel disabled
1: Enabled: Channel enabled

RESET

Bit 1: reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (GPDMA_CxSR.SUSPF = 1 and GPDMA_CxSR.IDLEF = GPDMA_CxCR.EN = 1) - channel in disabled state (GPDMA_CxSR.IDLEF = 1 and GPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (GPDMA_CxBR1, GPDMA_CxSAR and GPDMA_CxDAR) before enabling again the channel (see the programming sequence in Figure 44)..

Allowed values:
1: Reset: Reset channel

SUSP

Bit 2: suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel (channel with an ongoing GPDMA transfer over its master ports). The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in Figure 43..

Allowed values:
0: NotSuspended: Channel operation not suspended
1: Suspended: Channel operation suspended

TCIE

Bit 8: transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HTIE

Bit 9: half transfer complete interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

DTEIE

Bit 10: data transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

ULEIE

Bit 11: update link transfer error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

USEIE

Bit 12: user setting error interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

SUSPIE

Bit 13: completed suspension interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

TOIE

Bit 14: trigger overrun interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

LSM

Bit 16: Link step mode First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until GPDMA_CxBR1.BNDT[15:0] = 0 and GPDMA_CxBR1.BRC[10:0] = 0. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by GPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: FullLinkedList: Channel executed for full linked list
1: Once: Channel executed once for current linked list

LAP

Bit 17: linked-list allocated port This bit is used to allocate the master port for the update of the GPDMA linked-list registers from the memory. Note: This bit must be written when EN=0. This bit is read-only when EN=1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

PRIO

Bits 22-23: priority level of the channel x GPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: LowPrioLowWeight: Low priority, low weight
1: LowPrioMidWeight: Low priority, mid weight
2: LowPrioHighWeight: Low priority, high weight
3: HighPrio: High priority

C7TR1

GPDMA channel 7 transfer register 1

Offset: 0x410, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAP
rw
DHX
rw
DBX
rw
DBL_1
rw
DINC
rw
DDW_LOG2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAP
rw
SBX
rw
PAM
rw
SBL_1
rw
SINC
rw
SDW_LOG2
rw
Toggle fields

SDW_LOG2

Bits 0-1: binary logarithm of the source data width of a burst in bytes Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (GPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. Note: A source burst transfer must have an aligned address with its data width (start address GPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

SINC

Bit 3: source incrementing burst The source address, pointed by GPDMA_CxSAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

SBL_1

Bits 4-9: source burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If SBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width SDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

PAM

Bits 11-12: padding/alignment mode If DDW_LOG2[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else, in the following enumerated values, the condition PAM_1 is when destination data width is higher that source data width, and the condition PAM_2 is when destination data width is higher than source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination Note: If the transfer from the source peripheral is configured with peripheral flow-control mode (SWREQ = 0 and PFREQ = 1 and DREQ = 0), and if the destination data width > the source data width, packing is not supported..

Allowed values: 0x0-0x3

PAM_1

Bits 11-12: PAM value when destination data width is higher than source data width.

Allowed values:
0: RightAlignedZeroPadded: Source data is transferred as right aligned, padded with 0s up to the destination data width
1: RightAlignedSignExtended: Source data is transferred as right aligned, sign extended up to the destination data width
2: Fifo: Source data are FIFO queued and packed at the destination data width, in little endian order, before a destination transfer

PAM_2

Bits 11-12: PAM value when source data width is higher than destination data width.

Allowed values:
0: RightAlignedLeftTruncated: Source data is transferred as right aligned, left-truncated down to the destination data width
1: LeftAlignedRightTruncated: Source data is transferred as left-aligned, right-truncated down to the destination data width
2: Fifo: Source data are FIFO queued and unpacked at the destination data width, in little endian order

SBX

Bit 13: source byte exchange within the unaligned half-word of each source word If the source data width is shorter than a word, this bit is ignored. If the source data width is a word:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

SAP

Bit 14: source allocated port This bit is used to allocate the master port for the source transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

DDW_LOG2

Bits 16-17: binary logarithm of the destination data width of a burst, in bytes Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. Note: A destination burst transfer must have an aligned address with its data width (start address GPDMA_CxDAR[2:0] and address offset GPDMA_CxTR3.DAO[2:0], versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and no transfer is issued..

Allowed values:
0: Byte: Byte
1: HalfWord: Half-word (2 bytes)
2: Word: Word (4 bytes)
3: Error: User setting error

DINC

Bit 19: destination incrementing burst The destination address, pointed by GPDMA_CxDAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer..

Allowed values:
0: FixedBurst: Fixed burst
1: Contiguous: Contiguously incremented burst

DBL_1

Bits 20-25: destination burst length minus 1, between 0 and 63 The burst length unit is one data named beat within a burst. If DBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width DDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. Note: If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower singles/bursts, but the data integrity is guaranteed..

Allowed values: 0x0-0x3f

DBX

Bit 26: destination byte exchange If the destination data size is a byte, this bit is ignored. If the destination data size is not a byte:.

Allowed values:
0: NotExchanged: No byte-based exchanged within word
1: Exchanged: The two consecutive (post PAM) bytes are exchanged in each destination half-word

DHX

Bit 27: destination half-word exchange If the destination data size is shorter than a word, this bit is ignored. If the destination data size is a word:.

Allowed values:
0: NotExchanged: No halfword-based exchange within word
1: Exchanged: The two consecutive (post PAM) half-words are exchanged in each destination word

DAP

Bit 30: destination allocated port This bit is used to allocate the master port for the destination transfer Note: This bit must be written when EN = 0. This bit is read-only when EN = 1..

Allowed values:
0: Port0: Port 0 (AHB) allocated
1: Port1: Port 1 (AHB) allocated

C7TR2

GPDMA channel 7 transfer register 2

Offset: 0x414, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TCEM
rw
TRIGPOL
rw
TRIGSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIGM
rw
PFREQ
rw
BREQ
rw
DREQ
rw
SWREQ
rw
REQSEL
rw
Toggle fields

REQSEL

Bits 0-7: GPDMA hardware request selection These bits are ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per Section 14.3.4. The user must not assign a same input hardware request (same REQSEL[7:0] value) to different active GPDMA channels (GPDMA_CxCR.EN = 1 and GPDMA_CxTR2.SWREQ = 0 for these channels). GPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting..

Allowed values:
0: ADC1_DMA: adc1_dma selected
2: DAC1_CH1_DMA: dac1_ch1_dma selected
3: DAC1_CH2_DMA: dac1_ch2_dma selected
4: TIM6_UPD_DMA: tim6_upd_dma selected
5: TIM7_UPD_DMA: tim7_upd_dma selected
6: SPI1_RX_DMA: spi1_rx_dma selected
7: SPI1_TX_DMA: spi1_tx_dma selected
8: SPI2_RX_DMA: spi2_rx_dma selected
9: SPI2_TX_DMA: spi2_tx_dma selected
10: SPI3_RX_DMA: spi3_rx_dma selected
11: SPI3_TX_DMA: spi3_tx_dma selected
12: I2C1_RX_DMA: i2c1_rx_dma selected
13: I2C1_TX_DMA: i2c1_tx_dma selected
15: I2C2_RX_DMA: i2c2_rx_dma selected
16: I2C2_TX_DMA: i2c2_tx_dma selected
18: I2C3_RX_DMA: i2c3_rx_dma selected
19: I2C3_TX_DMA: i2c3_tx_dma selected
21: USART1_RX_DMA: usart1_rx_dma selected
22: USART1_TX_DMA: usart1_tx_dma selected
23: USART2_RX_DMA: usart2_rx_dma selected
24: USART2_TX_DMA: usart2_tx_dma selected
25: USART3_RX_DMA: usart3_rx_dma selected
26: USART3_TX_DMA: usart3_tx_dma selected
27: UART4_RX_DMA: uart4_rx_dma selected
28: UART4_TX_DMA: uart4_tx_dma selected
29: UART5_RX_DMA: uart5_rx_dma selected
30: UART5_TX_DMA: uart5_tx_dma selected
31: USART6_RX_DMA: usart6_rx_dma selected
32: USART6_TX_DMA: usart6_tx_dma selected
33: UART7_RX_DMA: uart7_rx_dma selected
34: UART7_TX_DMA: uart7_tx_dma selected
35: UART8_RX_DMA: uart8_rx_dma selected
36: UART8_TX_DMA: uart8_tx_dma selected
37: UART9_RX_DMA: uart9_rx_dma selected
38: UART9_TX_DMA: uart9_tx_dma selected
39: UART10_RX_DMA: uart10_rx_dma selected
40: UART10_TX_DMA: uart10_tx_dma selected
41: UART11_RX_DMA: uart11_rx_dma selected
42: UART11_TX_DMA: uart11_tx_dma selected
43: UART12_RX_DMA: uart12_rx_dma selected
44: UART12_TX_DMA: uart12_tx_dma selected
45: LPUART1_RX_DMA: lpuart1_rx_dma selected
46: LPUART1_TX_DMA: lpuart1_tx_dma selected
47: SPI4_RX_DMA: spi4_rx_dma selected
48: SPI4_TX_DMA: spi4_tx_dma selected
49: SPI5_RX_DMA: spi5_rx_dma selected
50: SPI5_TX_DMA: spi5_tx_dma selected
51: SPI6_RX_DMA: spi6_rx_dma selected
52: SPI6_TX_DMA: spi6_tx_dma selected
53: SAI1_A_DMA: sai1_a_dma selected
54: SAI1_B_DMA: sai1_b_dma selected
55: SAI2_A_DMA: sai2_a_dma selected
56: SAI2_B_DMA: sai2_b_dma selected
57: OSPI1_DMA: ospi1_dma selected
58: TIM1_CC1_DMA: tim1_cc1_dma selected
59: TIM1_CC2_DMA: tim1_cc2_dma selected
60: TIM1_CC3_DMA: tim1_cc3_dma selected
61: TIM1_CC4_DMA: tim1_cc4_dma selected
62: TIM1_UPD_DMA: tim1_upd_dma selected
63: TIM1_TRG_DMA: tim1_trg_dma selected
64: TIM1_COM_DMA: tim1_com_dma selected
65: TIM8_CC1_DMA: tim8_cc1_dma selected
66: TIM8_CC2_DMA: tim8_cc2_dma selected
67: TIM8_CC3_DMA: tim8_cc3_dma selected
68: TIM8_CC4_DMA: tim8_cc4_dma selected
69: TIM8_UPD_DMA: tim8_upd_dma selected
70: TIM8_TIG_DMA: tim8_tig_dma selected
71: TIM8_COM_DMA: tim8_com_dma selected
72: TIM2_CC1_DMA: tim2_cc1_dma selected
73: TIM2_CC2_DMA: tim2_cc2_dma selected
74: TIM2_CC3_DMA: tim2_cc3_dma selected
75: TIM2_CC4_DMA: tim2_cc4_dma selected
76: TIM2_UPD_DMA: tim2_upd_dma selected
77: TIM3_CC1_DMA: tim3_cc1_dma selected
78: TIM3_CC2_DMA: tim3_cc2_dma selected
79: TIM3_CC3_DMA: tim3_cc3_dma selected
80: TIM3_CC4_DMA: tim3_cc4_dma selected
81: TIM3_UPD_DMA: tim3_upd_dma selected
82: TIM3_TRG_DMA: tim3_trg_dma selected
83: TIM4_CC1_DMA: tim4_cc1_dma selected
84: TIM4_CC2_DMA: tim4_cc2_dma selected
85: TIM4_CC3_DMA: tim4_cc3_dma selected
86: TIM4_CC4_DMA: tim4_cc4_dma selected
87: TIM4_UPD_DMA: tim4_upd_dma selected
88: TIM5_CC1_DMA: tim5_cc1_dma selected
89: TIM5_CC2_DMA: tim5_cc2_dma selected
90: TIM5_CC3_DMA: tim5_cc3_dma selected
91: TIM5_CC4_DMA: tim5_cc4_dma selected
92: TIM5_UPD_DMA: tim5_upd_dma selected
93: TIM5_TRG_DMA: tim5_trg_dma selected
94: TIM15_CC1_DMA: tim15_cc1_dma selected
95: TIM15_UPD_DMA: tim15_upd_dma selected
96: TIM15_TRG_DMA: tim15_trg_dma selected
97: TIM15_COM_DMA: tim15_com_dma selected
98: TIM16_CC1_DMA: tim16_cc1_dma selected
99: TIM16_UPD_DMA: tim16_upd_dma selected
100: TIM17_CC1_DMA: tim17_cc1_dma selected
101: TIM17_UPD_DMA: tim17_upd_dma selected
102: LPTIM1_IC1_DMA: lptim1_ic1_dma selected
103: LPTIM1_IC2_DMA: lptim1_ic2_dma selected
104: LPTIM1_UE_DMA: lptim1_ue_dma selected
105: LPTIM2_IC1_DMA: lptim2_ic1_dma selected
106: LPTIM2_IC2_DMA: lptim2_ic2_dma selected
107: LPTIM2_UE_DMA: lptim2_ue_dma selected
108: DCMI_PSSI_DMA: dcmi_dma or pssi_dma(1) selected
109: AES_OUT_DMA: aes_out_dma selected
110: AES_IN_DMA: aes_in_dma selected
111: HASH_IN_DMA: hash_in_dma selected
112: UCPD1_RX_DMA: ucpd1_rx_dma selected
113: UCPD1_TX_DMA: ucpd1_tx_dma selected
114: CORDIC_READ_DMA: cordic_read_dma selected
115: CORDIC_WRITE_DMA: cordic_write_dma selected
116: FMAC_READ_DMA: fmac_read_dma selected
117: FMAC_WRITE_DMA: fmac_write_dma selected
118: SAES_OUT_DMA: saes_out_dma selected
119: SAES_IN_DMA: saes_in_dma selected
120: I3C1_RX_DMA: i3c1_rx_dma selected
121: I3C1_TX_DMA: i3c1_tx_dma selected
122: I3C1_TC_DMA: i3c1_tc_dma selected
123: I3C1_RS_DMA: i3c1_rs_dma selected
124: I2C4_RX_DMA: i2c4_rx_dma selected
125: I2C4_TX_DMA: i2c4_tx_dma selected
127: LPTIM3_IC1_DMA: lptim3_ic1_dma selected
128: LPTIM3_IC2_DMA: lptim3_ic2_dma selected
129: LPTIM3_UE_DMA: lptim3_ue_dma selected
130: LPTIM5_IC1_DMA: lptim5_ic1_dma selected
131: LPTIM5_IC2_DMA: lptim5_ic2_dma selected
132: LPTIM5_UE_DMA: lptim5_ue_dma selected
133: LPTIM6_IC1_DMA: lptim6_ic1_dma selected
134: LPTIM6_IC2_DMA: lptim6_ic2_dma selected
135: LPTIM6_UE_DMA: lptim6_ue_dma selected
136: I3C2_RX: i3c2_rx selected
137: I3C2_TX: i3c2_tx selected
138: I3C2_TC: i3c2_tc selected
139: I3C2_RS: i3c2_rs selected

SWREQ

Bit 9: software request This bit is internally taken into account when GPDMA_CxCR.EN is asserted..

Allowed values:
0: Hardware: No software request. The selected hardware request REQSEL[7:0] is taken into account
1: Software: Software request for memory-to-memory transfer

DREQ

Bit 10: destination hardware request This bit is ignored if channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: If the channel x is activated (GPDMA_CxCR.EN is asserted) with SWREQ = 0 and PFREQ = 1 (peripheral hardware request with peripheral flow-control mode), any software assertion to this DREQ bit is ignored: in peripheral flow-control mode, only a peripheral-to-memory transfer is supported..

Allowed values:
0: Source: Selected hardware request driven by a source peripheral
1: Destination: Selected hardware request driven by a destination peripheral

BREQ

Bit 11: Block hardware request If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:.

Allowed values:
0: Burst: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level
1: Block: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level

PFREQ

Bit 12: Hardware request in peripheral flow control mode Important: If a given channel x is not implemented with this feature, this bit is reserved and PFREQ is not present (see Section 14.3.2 for the list of the implemented channels with this feature. If the channel x is activated (GPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: Note: In peripheral flow control mode, there are the following restrictions: Note: - no 2D/repeated block support (GPDMA_CxBR1.BRC[10:0] must be set to 0) Note: - the peripheral must be set as the source of the transfer (DREQ = 0). Note: - data packing to a wider destination width is not supported (if destination width > source data width, GPDMA_CxTR1.PAM[1] must be set to 0). Note: - GPDMA_CxBR1.BNDT[15:0] must be programmed as a multiple of the source (peripheral) burst size..

Allowed values:
0: GpdmaControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in GPDMA control mode
1: PeripheralControlMode: The selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol in peripheral control mode.

TRIGM

Bits 14-15: trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (GPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a GPDMA transfer is conditioned by at least one trigger hit: – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The GPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLI<sub>n+1</sub> that updates the GPDMA_CxTR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLI<sub>n </sub>trigger. After a first new trigger hit<sub>n+1</sub> is memorized, if another second trigger hit<sub>n+2</sub> is detected and if the hit<sub>n</sub> triggered transfer is still not completed, hit<sub>n+2 </sub>is lost and not memorized.memorized. A trigger overrun flag is reported (GPDMA_CxSR.TOF =1 ), and an interrupt is generated if enabled (GPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. Note: When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger..

Allowed values:
0: BlockLevel: At block level: the first burst read of each block transfer is conditioned by one hit trigger
1: RepeatedBlockLevel: At repeated block level: the first burst read of a 2D/repeated block transfer is conditioned by one hit trigger
2: LinkLevel: At link level: a LLI link transfer is conditioned by one hit trigger
3: ProgrammedBurstLevel: At programmed burst level: programmed burst read is conditioned by one hit trigger.

TRIGSEL

Bits 16-21: trigger event input selection These bits select the trigger event input of the GPDMA transfer (as per Section 14.3.7), with an active trigger event if TRIGPOL[1:0] ≠ 00..

Allowed values:
0: EXTI0: exti0 is trigger input
1: EXTI1: exti1 is trigger input
2: EXTI2: exti2 is trigger input
3: EXTI3: exti3 is trigger input
4: EXTI4: exti4 is trigger input
5: EXTI5: exti5 is trigger input
6: EXTI6: exti6 is trigger input
7: EXTI7: exti7 is trigger input
8: TAMP_TRG1: tamp_trg1 is trigger input
9: TAMP_TRG2: tamp_trg2 is trigger input
11: LPTIM1_CH1: lptim1_ch1 is trigger input
12: LPTIM1_CH2: lptim1_ch2 is trigger input
13: LPTIM2_CH1: lptim2_ch1 is trigger input
14: LPTIM2_CH2: lptim2_ch2 is trigger input
15: RTC_ALRA_TRG: rtc_alra_trg is trigger input
16: RTC_ALRB_TRG: rtc_alrb_trg is trigger input
17: RTC_WUT_TRG: rtc_wut_trg is trigger input
18: GPDMA1_CH0_TC: gpdma1_ch0_tc is trigger input
19: GPDMA1_CH1_TC: gpdma1_ch1_tc is trigger input
20: GPDMA1_CH2_TC: gpdma1_ch2_tc is trigger input
21: GPDMA1_CH3_TC: gpdma1_ch3_tc is trigger input
22: GPDMA1_CH4_TC: gpdma1_ch4_tc is trigger input
23: GPDMA1_CH5_TC: gpdma1_ch5_tc is trigger input
24: GPDMA1_CH6_TC: gpdma1_ch6_tc is trigger input
25: GPDMA1_CH7_TC: gpdma1_ch7_tc is trigger input
26: GPDMA2_CH0_TC: gpdma2_ch0_tc is trigger input
27: GPDMA2_CH1_TC: gpdma2_ch1_tc is trigger input
28: GPDMA2_CH2_TC: gpdma2_ch2_tc is trigger input
29: GPDMA2_CH3_TC: gpdma2_ch3_tc is trigger input
30: GPDMA2_CH4_TC: gpdma2_ch4_tc is trigger input
31: GPDMA2_CH5_TC: gpdma2_ch5_tc is trigger input
32: GPDMA2_CH6_TC: gpdma2_ch6_tc is trigger input
33: GPDMA2_CH7_TC: gpdma2_ch7_tc is trigger input
34: TIM2_TRG0: tim2_trgo is trigger input
44: COMP1_OUT: comp1_out is trigger input

TRIGPOL

Bits 24-25: trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]..

Allowed values:
0: NoTrigger: No trigger
1: RisingEdge: Trigger on rising edge
2: FallingEdge: Trigger on falling edge

TCEM

Bits 30-31: transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI<sub>0 </sub>data transfer is null/void (i.e. directly programmed by the internal register file with GPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI<sub>1</sub>..

Allowed values:
0: BlockLevel: At block level: the complete (and the half) transfer event is generated at the (respectively half of the) end of a block
1: RepeatedBlockLevel: At repeated block level: the complete (and the half) transfer event is generated at the end (respectively half of the end) of the 2D/repeated block.
2: LliLevel: At LLI level: the complete transfer event is generated at the end of the LLI transfer. The half transfer event is generated at the half of the LLI data transfer
3: ChannelLevel: At channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI

C7BR1

GPDMA channel 7 alternate block register 1

Offset: 0x418, size: 32, reset: 0x00000000, access: Unspecified

6/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BRDDEC
rw
BRSDEC
rw
DDEC
rw
SDEC
rw
BRC
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BNDT
rw
Toggle fields

BNDT

Bits 0-15: block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if GPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if GPDMA_CxLLR.UB1 = 0 and if there is at least one not null Uxx update bit, this field is internally restored to the programmed value. - if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] ≠ 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: When configured in packing mode (GPDMA_CxTR1.PAM[1]=1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffff

BRC

Bits 16-26: Block repeat counter This field contains the number of repetitions of the current block (0 to 2047). When the channel is enabled, this field becomes read-only. After decrements, this field indicates the remaining number of blocks, excluding the current one. This counter is hardware decremented for each completed block transfer. Once the last block transfer is completed (BRC[10:0] = BNDT[15:0] = 0): If GPDMA_CxLLR.UB1 = 1, all GPDMA_CxBR1 fields are updated by the next LLI in the memory. If GPDMA_CxLLR.UB1 = 0 and if there is at least one not null Uxx update bit, this field is internally restored to the programmed value. if all GPDMA_CxLLR.Uxx = 0 and if GPDMA_CxLLR.LA[15:0] ≠ 0, this field is internally restored to the programmed value (infinite/continuous last LLI). if GPDMA_CxLLR = 0, this field is kept as zero following the last LLI and data transfer..

Allowed values: 0x0-0x7ff

SDEC

Bit 28: source address decrement.

Allowed values:
0: Increment: Source address incremented
1: Decrement: Source address decremented

DDEC

Bit 29: destination address decrement.

Allowed values:
0: Increment: Destination address incremented
1: Decrement: Destination address decremented

BRSDEC

Bit 30: Block repeat source address decrement Note: On top of this increment/decrement (depending on BRSDEC), GPDMA_CxSAR is in the same time also updated by the increment/decrement (depending on SDEC) of the GPDMA_CxTR3.SAO value, as it is done after any programmed burst transfer..

Allowed values:
0: Increment: Block repeat source address incremented
1: Decrement: Block repeat source address decremented

BRDDEC

Bit 31: Block repeat destination address decrement Note: On top of this increment/decrement (depending on BRDDEC), GPDMA_CxDAR is in the same time also updated by the increment/decrement (depending on DDEC) of the GPDMA_CxTR3.DAO value, as it is usually done at the end of each programmed burst transfer..

Allowed values:
0: Increment: Block repeat destination address incremented
1: Decrement: Block repeat destination address decremented

C7SAR

GPDMA channel 7 source address register

Offset: 0x41c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SA
rw
Toggle fields

SA

Bits 0-31: source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (GPDMA_CxTR1.SINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.SDW_LOG2[1:0]) after each burst source data, reflecting the next address from which data is read. During the channel activity, this address is updated after each completed source burst, consequently to: the programmed source burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.SINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.SBL_1[5:0] and GPDMA_CxTR1.SDW_LOG2[21:0] the additional source incremented/decremented offset value as programmed by GPDMA_CxBR1.SDEC and GPDMA_CxTR3.SAO[12:0]. once/if completed source block transfer, for a channel x with 2D addressing capability (x = 12 to 15). additional block repeat source incremented/decremented offset value as programmed by GPDMA_CxBR1.BRSDEC and GPDMA_CxBR2.BRSAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source burst (SA[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xffffffff

C7DAR

GPDMA channel 7 destination address register

Offset: 0x420, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DA
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 0-31: destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (GPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (GPDMA_CxTR1.DDW_LOG2[21:0]) after each burst destination data, reflecting the next address from which data is written. During the channel activity, this address is updated after each completed destination burst, consequently to: the programmed destination burst; either in fixed addressing mode or in contiguous-data incremented mode. If contiguously incremented (GPDMA_CxTR1.DINC = 1), then the additional address offset value is the programmed burst size, as defined by GPDMA_CxTR1.DBL_1[5:0] and GPDMA_CxTR1.DDW_LOG2[1:0] the additional destination incremented/decremented offset value as programmed by GPDMA_CxBR1.DDEC and GPDMA_CxTR3.DAO[12:0]. once/if completed destination block transfer, for a channel x with 2D addressing capability (x = 12 to 15), the additional block repeat destination incremented/decremented offset value as programmed by GPDMA_CxBR1.BRDDEC and GPDMA_CxBR2.BRDAO[15:0] In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by the GPDMA from the memory, provided the LLI is set with GPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination burst (DA[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xffffffff

C7TR3

GPDMA channel 7 transfer register 3

Offset: 0x424, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DAO
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAO
rw
Toggle fields

SAO

Bits 0-12: source address offset increment The source address, pointed by GPDMA_CxSAR, is incremented or decremented (depending on GPDMA_CxBR1.SDEC) by this offset SAO[12:0] for each programmed source burst. This offset is not including and is added to the programmed burst size when the completed burst is addressed in incremented mode (GPDMA_CxTR1.SINC = 1). Note: A source address offset must be aligned with the programmed data width of a source burst (SAO[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and none transfer is issued. Note: When the source block size is not a multiple of the destination burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional GPDMA_CxTR3.SAO[12:0] is not applied..

Allowed values: 0x0-0xfff

DAO

Bits 16-28: destination address offset increment The destination address, pointed by GPDMA_CxDAR, is incremented or decremented (depending on GPDMA_CxBR1.DDEC) by this offset DAO[12:0] for each programmed destination burst. This offset is not including and is added to the programmed burst size when the completed burst is addressed in incremented mode (GPDMA_CxTR1.DINC = 1). Note: A destination address offset must be aligned with the programmed data width of a destination burst (DAO[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued..

Allowed values: 0x0-0xfff

C7BR2

GPDMA channel 7 block register 2

Offset: 0x428, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BRDAO
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BRSAO
rw
Toggle fields

BRSAO

Bits 0-15: Block repeated source address offset For a channel with 2D addressing capability, this field is used to update (by addition or subtraction depending on GPDMA_CxBR1.BRSDEC) the current source address (GPDMA_CxSAR) at the end of a block transfer. A block repeated source address offset must be aligned with the programmed data width of a source burst (BRSAO[2:0] versus GPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: BRSAO[15:0] must be set to 0 in peripheral flow-control mode (if GPDMA_CxTR2.PFREQ = 1)..

Allowed values: 0x0-0xffff

BRDAO

Bits 16-31: Block repeated destination address offset For a channel with 2D addressing capability, this field is used to update (by addition or subtraction depending on GPDMA_CxBR1.BRDDEC) the current destination address (GPDMA_CxDAR) at the end of a block transfer. A block repeated destination address offset must be aligned with the programmed data width of a destination burst (BRDAO[2:0] versus GPDMA_CxTR1.DDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. Note: BRDAO[15:0] must be set to 0 in peripheral flow-control mode (if GPDMA_CxTR2.PFREQ = 1)..

Allowed values: 0x0-0xffff

C7LLR

GPDMA channel 7 alternate linked-list address register

Offset: 0x44c, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UT1
rw
UT2
rw
UB1
rw
USA
rw
UDA
rw
UT3
rw
UB2
rw
ULL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LA
rw
Toggle fields

LA

Bits 2-15: pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list GPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list GPDMA internal register file (GPDMA_CxCTR1, GPDMA_CxTR2, GPDMA_CxBR1, GPDMA_CxSAR, GPDMA_CxDAR and GPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored..

Allowed values: 0x0-0x3fff

ULL

Bit 16: Update GPDMA_CxLLR register from memory This bit is used to control the update of GPDMA_CxLLR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxLLR update
1: Update: CxLLR updated from memory during link transfer

UB2

Bit 25: Update GPDMA_CxBR2 from memory This bit controls the update of GPDMA_CxBR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxBR2 update
1: Update: CxBR2 updated from memory during link transfer

UT3

Bit 26: Update GPDMA_CxTR3 from memory This bit controls the update of GPDMA_CxTR3 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR3 update
1: Update: CxTR3 updated from memory during link transfer

UDA

Bit 27: Update GPDMA_CxDAR register from memory This bit is used to control the update of GPDMA_CxDAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxDAR update
1: Update: CxDAR updated from memory during link transfer

USA

Bit 28: update GPDMA_CxSAR from memory This bit controls the update of GPDMA_CxSAR from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxSAR update
1: Update: CxSAR updated from memory during link transfer

UB1

Bit 29: Update GPDMA_CxBR1 from memory This bit controls the update of GPDMA_CxBR1 from the memory during the link transfer. If UB1 = 0 and if GPDMA_CxLLR ≠ 0, the linked-list is not completed. GPDMA_CxBR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer..

Allowed values:
0: NoUpdate: No CxBR1 update
1: Update: CxBR1 updated from memory during link transfer

UT2

Bit 30: Update GPDMA_CxTR2 from memory This bit controls the update of GPDMA_CxTR2 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR2 update
1: Update: CxTR2 updated from memory during link transfer

UT1

Bit 31: Update GPDMA_CxTR1 from memory This bit controls the update of GPDMA_CxTR1 from the memory during the link transfer..

Allowed values:
0: NoUpdate: No CxTR1 update
1: Update: CxTR1 updated from memory during link transfer

GPIOA

0x42020000: General-purpose I/Os

193/193 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 MODER
0x4 OTYPER
0x8 OSPEEDR
0xc PUPDR
0x10 IDR
0x14 ODR
0x18 BSRR
0x1c LCKR
0x20 AFRL
0x24 AFRH
0x28 BRR
0x2c HSLVR
Toggle registers

MODER

GPIO port mode register

Offset: 0x0, size: 32, reset: 0xABFFFFFF, access: Unspecified

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MODE15
rw
MODE14
rw
MODE13
rw
MODE12
rw
MODE11
rw
MODE10
rw
MODE9
rw
MODE8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MODE7
rw
MODE6
rw
MODE5
rw
MODE4
rw
MODE3
rw
MODE2
rw
MODE1
rw
MODE0
rw
Toggle fields

MODE0

Bits 0-1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE1

Bits 2-3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE2

Bits 4-5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE3

Bits 6-7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE4

Bits 8-9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE5

Bits 10-11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE6

Bits 12-13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE7

Bits 14-15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE8

Bits 16-17: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE9

Bits 18-19: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE10

Bits 20-21: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE11

Bits 22-23: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE12

Bits 24-25: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE13

Bits 26-27: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE14

Bits 28-29: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE15

Bits 30-31: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

OTYPER

GPIO port output type register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OT15
rw
OT14
rw
OT13
rw
OT12
rw
OT11
rw
OT10
rw
OT9
rw
OT8
rw
OT7
rw
OT6
rw
OT5
rw
OT4
rw
OT3
rw
OT2
rw
OT1
rw
OT0
rw
Toggle fields

OT0

Bit 0: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT1

Bit 1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT2

Bit 2: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT3

Bit 3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT4

Bit 4: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT5

Bit 5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT6

Bit 6: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT7

Bit 7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT8

Bit 8: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT9

Bit 9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT10

Bit 10: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT11

Bit 11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT12

Bit 12: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT13

Bit 13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT14

Bit 14: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT15

Bit 15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OSPEEDR

GPIO port output speed register

Offset: 0x8, size: 32, reset: 0x0C000000, access: Unspecified

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OSPEED15
rw
OSPEED14
rw
OSPEED13
rw
OSPEED12
rw
OSPEED11
rw
OSPEED10
rw
OSPEED9
rw
OSPEED8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OSPEED7
rw
OSPEED6
rw
OSPEED5
rw
OSPEED4
rw
OSPEED3
rw
OSPEED2
rw
OSPEED1
rw
OSPEED0
rw
Toggle fields

OSPEED0

Bits 0-1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED1

Bits 2-3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED2

Bits 4-5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED3

Bits 6-7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED4

Bits 8-9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED5

Bits 10-11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED6

Bits 12-13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED7

Bits 14-15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED8

Bits 16-17: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED9

Bits 18-19: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED10

Bits 20-21: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED11

Bits 22-23: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED12

Bits 24-25: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED13

Bits 26-27: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED14

Bits 28-29: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED15

Bits 30-31: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

PUPDR

GPIO port pull-up/pull-down register

Offset: 0xc, size: 32, reset: 0x64000000, access: Unspecified

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PUPD15
rw
PUPD14
rw
PUPD13
rw
PUPD12
rw
PUPD11
rw
PUPD10
rw
PUPD9
rw
PUPD8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PUPD7
rw
PUPD6
rw
PUPD5
rw
PUPD4
rw
PUPD3
rw
PUPD2
rw
PUPD1
rw
PUPD0
rw
Toggle fields

PUPD0

Bits 0-1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD1

Bits 2-3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD2

Bits 4-5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD3

Bits 6-7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD4

Bits 8-9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD5

Bits 10-11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD6

Bits 12-13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD7

Bits 14-15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD8

Bits 16-17: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD9

Bits 18-19: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD10

Bits 20-21: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD11

Bits 22-23: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD12

Bits 24-25: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD13

Bits 26-27: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD14

Bits 28-29: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD15

Bits 30-31: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

IDR

GPIO port input data register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

Toggle fields

ID0

Bit 0: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID1

Bit 1: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID2

Bit 2: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID3

Bit 3: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID4

Bit 4: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID5

Bit 5: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID6

Bit 6: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID7

Bit 7: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID8

Bit 8: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID9

Bit 9: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID10

Bit 10: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID11

Bit 11: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID12

Bit 12: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID13

Bit 13: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID14

Bit 14: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID15

Bit 15: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ODR

GPIO port output data register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OD15
rw
OD14
rw
OD13
rw
OD12
rw
OD11
rw
OD10
rw
OD9
rw
OD8
rw
OD7
rw
OD6
rw
OD5
rw
OD4
rw
OD3
rw
OD2
rw
OD1
rw
OD0
rw
Toggle fields

OD0

Bit 0: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD1

Bit 1: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD2

Bit 2: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD3

Bit 3: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD4

Bit 4: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD5

Bit 5: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD6

Bit 6: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD7

Bit 7: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD8

Bit 8: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD9

Bit 9: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD10

Bit 10: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD11

Bit 11: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD12

Bit 12: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD13

Bit 13: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD14

Bit 14: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD15

Bit 15: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

BSRR

GPIO port bit set/reset register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

32/32 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BR15
w
BR14
w
BR13
w
BR12
w
BR11
w
BR10
w
BR9
w
BR8
w
BR7
w
BR6
w
BR5
w
BR4
w
BR3
w
BR2
w
BR1
w
BR0
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BS15
w
BS14
w
BS13
w
BS12
w
BS11
w
BS10
w
BS9
w
BS8
w
BS7
w
BS6
w
BS5
w
BS4
w
BS3
w
BS2
w
BS1
w
BS0
w
Toggle fields

BS0

Bit 0: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS1

Bit 1: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS2

Bit 2: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS3

Bit 3: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS4

Bit 4: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS5

Bit 5: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS6

Bit 6: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS7

Bit 7: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS8

Bit 8: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS9

Bit 9: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS10

Bit 10: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS11

Bit 11: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS12

Bit 12: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS13

Bit 13: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS14

Bit 14: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS15

Bit 15: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BR0

Bit 16: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR1

Bit 17: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR2

Bit 18: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR3

Bit 19: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR4

Bit 20: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR5

Bit 21: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR6

Bit 22: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR7

Bit 23: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR8

Bit 24: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR9

Bit 25: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR10

Bit 26: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR11

Bit 27: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR12

Bit 28: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR13

Bit 29: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR14

Bit 30: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR15

Bit 31: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

LCKR

GPIO port configuration lock register

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

17/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LCKK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LCK15
rw
LCK14
rw
LCK13
rw
LCK12
rw
LCK11
rw
LCK10
rw
LCK9
rw
LCK8
rw
LCK7
rw
LCK6
rw
LCK5
rw
LCK4
rw
LCK3
rw
LCK2
rw
LCK1
rw
LCK0
rw
Toggle fields

LCK0

Bit 0: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK1

Bit 1: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK2

Bit 2: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK3

Bit 3: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK4

Bit 4: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK5

Bit 5: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK6

Bit 6: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK7

Bit 7: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK8

Bit 8: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK9

Bit 9: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK10

Bit 10: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK11

Bit 11: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK12

Bit 12: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK13

Bit 13: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK14

Bit 14: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK15

Bit 15: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCKK

Bit 16: Lock key This bit can be read any time. It can only be modified using the lock key write sequence. - LOCK key write sequence: WR LCKR[16] = 1 + LCKR[15:0] WR LCKR[16] = 0 + LCKR[15:0] WR LCKR[16] = 1 + LCKR[15:0] - LOCK key read RD LCKR[16] = 1 (this read operation is optional but it confirms that the lock is active) Note: During the LOCK key write sequence, the value of LCK[15:0] must not change. Any error in the lock sequence aborts the LOCK. After the first LOCK sequence on any bit of the port, any read access on the LCKK bit returns 1 until the next MCU reset or peripheral reset..

Allowed values:
0: NotActive: Port configuration lock key not active
1: Active: Port configuration lock key active

AFRL

GPIO alternate function low register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL7
rw
AFSEL6
rw
AFSEL5
rw
AFSEL4
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL3
rw
AFSEL2
rw
AFSEL1
rw
AFSEL0
rw
Toggle fields

AFSEL0

Bits 0-3: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL1

Bits 4-7: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL2

Bits 8-11: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL3

Bits 12-15: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL4

Bits 16-19: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL5

Bits 20-23: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL6

Bits 24-27: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL7

Bits 28-31: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFRH

GPIO alternate function high register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL15
rw
AFSEL14
rw
AFSEL13
rw
AFSEL12
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL11
rw
AFSEL10
rw
AFSEL9
rw
AFSEL8
rw
Toggle fields

AFSEL8

Bits 0-3: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL9

Bits 4-7: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL10

Bits 8-11: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL11

Bits 12-15: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL12

Bits 16-19: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL13

Bits 20-23: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL14

Bits 24-27: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL15

Bits 28-31: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

BRR

GPIO port bit reset register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

Toggle fields

BR0

Bit 0: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR1

Bit 1: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR2

Bit 2: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR3

Bit 3: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR4

Bit 4: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR5

Bit 5: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR6

Bit 6: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR7

Bit 7: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR8

Bit 8: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR9

Bit 9: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR10

Bit 10: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR11

Bit 11: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR12

Bit 12: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR13

Bit 13: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR14

Bit 14: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR15

Bit 15: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

HSLVR

GPIO high-speed low-voltage register

Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

Toggle fields

HSLV0

Bit 0: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV1

Bit 1: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV2

Bit 2: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV3

Bit 3: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV4

Bit 4: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV5

Bit 5: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV6

Bit 6: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV7

Bit 7: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV8

Bit 8: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV9

Bit 9: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV10

Bit 10: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV11

Bit 11: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV12

Bit 12: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV13

Bit 13: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV14

Bit 14: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV15

Bit 15: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

GPIOB

0x42020400: General-purpose I/Os

193/193 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 MODER
0x4 OTYPER
0x8 OSPEEDR
0xc PUPDR
0x10 IDR
0x14 ODR
0x18 BSRR
0x1c LCKR
0x20 AFRL
0x24 AFRH
0x28 BRR
0x2c HSLVR
Toggle registers

MODER

GPIO port mode register

Offset: 0x0, size: 32, reset: 0xABFFFFFF, access: Unspecified

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MODE15
rw
MODE14
rw
MODE13
rw
MODE12
rw
MODE11
rw
MODE10
rw
MODE9
rw
MODE8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MODE7
rw
MODE6
rw
MODE5
rw
MODE4
rw
MODE3
rw
MODE2
rw
MODE1
rw
MODE0
rw
Toggle fields

MODE0

Bits 0-1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE1

Bits 2-3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE2

Bits 4-5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE3

Bits 6-7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE4

Bits 8-9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE5

Bits 10-11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE6

Bits 12-13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE7

Bits 14-15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE8

Bits 16-17: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE9

Bits 18-19: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE10

Bits 20-21: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE11

Bits 22-23: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE12

Bits 24-25: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE13

Bits 26-27: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE14

Bits 28-29: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE15

Bits 30-31: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

OTYPER

GPIO port output type register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OT15
rw
OT14
rw
OT13
rw
OT12
rw
OT11
rw
OT10
rw
OT9
rw
OT8
rw
OT7
rw
OT6
rw
OT5
rw
OT4
rw
OT3
rw
OT2
rw
OT1
rw
OT0
rw
Toggle fields

OT0

Bit 0: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT1

Bit 1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT2

Bit 2: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT3

Bit 3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT4

Bit 4: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT5

Bit 5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT6

Bit 6: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT7

Bit 7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT8

Bit 8: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT9

Bit 9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT10

Bit 10: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT11

Bit 11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT12

Bit 12: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT13

Bit 13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT14

Bit 14: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT15

Bit 15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OSPEEDR

GPIO port output speed register

Offset: 0x8, size: 32, reset: 0x0C000000, access: Unspecified

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OSPEED15
rw
OSPEED14
rw
OSPEED13
rw
OSPEED12
rw
OSPEED11
rw
OSPEED10
rw
OSPEED9
rw
OSPEED8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OSPEED7
rw
OSPEED6
rw
OSPEED5
rw
OSPEED4
rw
OSPEED3
rw
OSPEED2
rw
OSPEED1
rw
OSPEED0
rw
Toggle fields

OSPEED0

Bits 0-1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED1

Bits 2-3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED2

Bits 4-5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED3

Bits 6-7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED4

Bits 8-9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED5

Bits 10-11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED6

Bits 12-13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED7

Bits 14-15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED8

Bits 16-17: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED9

Bits 18-19: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED10

Bits 20-21: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED11

Bits 22-23: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED12

Bits 24-25: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED13

Bits 26-27: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED14

Bits 28-29: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED15

Bits 30-31: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

PUPDR

GPIO port pull-up/pull-down register

Offset: 0xc, size: 32, reset: 0x64000000, access: Unspecified

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PUPD15
rw
PUPD14
rw
PUPD13
rw
PUPD12
rw
PUPD11
rw
PUPD10
rw
PUPD9
rw
PUPD8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PUPD7
rw
PUPD6
rw
PUPD5
rw
PUPD4
rw
PUPD3
rw
PUPD2
rw
PUPD1
rw
PUPD0
rw
Toggle fields

PUPD0

Bits 0-1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD1

Bits 2-3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD2

Bits 4-5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD3

Bits 6-7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD4

Bits 8-9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD5

Bits 10-11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD6

Bits 12-13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD7

Bits 14-15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD8

Bits 16-17: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD9

Bits 18-19: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD10

Bits 20-21: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD11

Bits 22-23: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD12

Bits 24-25: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD13

Bits 26-27: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD14

Bits 28-29: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD15

Bits 30-31: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

IDR

GPIO port input data register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

Toggle fields

ID0

Bit 0: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID1

Bit 1: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID2

Bit 2: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID3

Bit 3: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID4

Bit 4: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID5

Bit 5: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID6

Bit 6: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID7

Bit 7: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID8

Bit 8: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID9

Bit 9: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID10

Bit 10: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID11

Bit 11: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID12

Bit 12: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID13

Bit 13: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID14

Bit 14: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID15

Bit 15: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ODR

GPIO port output data register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OD15
rw
OD14
rw
OD13
rw
OD12
rw
OD11
rw
OD10
rw
OD9
rw
OD8
rw
OD7
rw
OD6
rw
OD5
rw
OD4
rw
OD3
rw
OD2
rw
OD1
rw
OD0
rw
Toggle fields

OD0

Bit 0: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD1

Bit 1: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD2

Bit 2: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD3

Bit 3: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD4

Bit 4: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD5

Bit 5: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD6

Bit 6: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD7

Bit 7: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD8

Bit 8: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD9

Bit 9: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD10

Bit 10: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD11

Bit 11: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD12

Bit 12: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD13

Bit 13: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD14

Bit 14: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD15

Bit 15: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

BSRR

GPIO port bit set/reset register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

32/32 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BR15
w
BR14
w
BR13
w
BR12
w
BR11
w
BR10
w
BR9
w
BR8
w
BR7
w
BR6
w
BR5
w
BR4
w
BR3
w
BR2
w
BR1
w
BR0
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BS15
w
BS14
w
BS13
w
BS12
w
BS11
w
BS10
w
BS9
w
BS8
w
BS7
w
BS6
w
BS5
w
BS4
w
BS3
w
BS2
w
BS1
w
BS0
w
Toggle fields

BS0

Bit 0: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS1

Bit 1: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS2

Bit 2: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS3

Bit 3: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS4

Bit 4: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS5

Bit 5: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS6

Bit 6: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS7

Bit 7: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS8

Bit 8: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS9

Bit 9: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS10

Bit 10: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS11

Bit 11: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS12

Bit 12: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS13

Bit 13: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS14

Bit 14: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS15

Bit 15: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BR0

Bit 16: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR1

Bit 17: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR2

Bit 18: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR3

Bit 19: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR4

Bit 20: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR5

Bit 21: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR6

Bit 22: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR7

Bit 23: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR8

Bit 24: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR9

Bit 25: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR10

Bit 26: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR11

Bit 27: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR12

Bit 28: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR13

Bit 29: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR14

Bit 30: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR15

Bit 31: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

LCKR

GPIO port configuration lock register

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

17/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LCKK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LCK15
rw
LCK14
rw
LCK13
rw
LCK12
rw
LCK11
rw
LCK10
rw
LCK9
rw
LCK8
rw
LCK7
rw
LCK6
rw
LCK5
rw
LCK4
rw
LCK3
rw
LCK2
rw
LCK1
rw
LCK0
rw
Toggle fields

LCK0

Bit 0: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK1

Bit 1: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK2

Bit 2: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK3

Bit 3: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK4

Bit 4: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK5

Bit 5: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK6

Bit 6: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK7

Bit 7: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK8

Bit 8: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK9

Bit 9: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK10

Bit 10: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK11

Bit 11: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK12

Bit 12: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK13

Bit 13: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK14

Bit 14: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK15

Bit 15: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCKK

Bit 16: Lock key This bit can be read any time. It can only be modified using the lock key write sequence. - LOCK key write sequence: WR LCKR[16] = 1 + LCKR[15:0] WR LCKR[16] = 0 + LCKR[15:0] WR LCKR[16] = 1 + LCKR[15:0] - LOCK key read RD LCKR[16] = 1 (this read operation is optional but it confirms that the lock is active) Note: During the LOCK key write sequence, the value of LCK[15:0] must not change. Any error in the lock sequence aborts the LOCK. After the first LOCK sequence on any bit of the port, any read access on the LCKK bit returns 1 until the next MCU reset or peripheral reset..

Allowed values:
0: NotActive: Port configuration lock key not active
1: Active: Port configuration lock key active

AFRL

GPIO alternate function low register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL7
rw
AFSEL6
rw
AFSEL5
rw
AFSEL4
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL3
rw
AFSEL2
rw
AFSEL1
rw
AFSEL0
rw
Toggle fields

AFSEL0

Bits 0-3: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL1

Bits 4-7: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL2

Bits 8-11: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL3

Bits 12-15: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL4

Bits 16-19: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL5

Bits 20-23: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL6

Bits 24-27: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL7

Bits 28-31: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFRH

GPIO alternate function high register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL15
rw
AFSEL14
rw
AFSEL13
rw
AFSEL12
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL11
rw
AFSEL10
rw
AFSEL9
rw
AFSEL8
rw
Toggle fields

AFSEL8

Bits 0-3: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL9

Bits 4-7: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL10

Bits 8-11: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL11

Bits 12-15: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL12

Bits 16-19: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL13

Bits 20-23: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL14

Bits 24-27: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL15

Bits 28-31: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

BRR

GPIO port bit reset register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

Toggle fields

BR0

Bit 0: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR1

Bit 1: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR2

Bit 2: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR3

Bit 3: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR4

Bit 4: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR5

Bit 5: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR6

Bit 6: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR7

Bit 7: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR8

Bit 8: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR9

Bit 9: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR10

Bit 10: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR11

Bit 11: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR12

Bit 12: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR13

Bit 13: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR14

Bit 14: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR15

Bit 15: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

HSLVR

GPIO high-speed low-voltage register

Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

Toggle fields

HSLV0

Bit 0: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV1

Bit 1: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV2

Bit 2: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV3

Bit 3: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV4

Bit 4: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV5

Bit 5: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV6

Bit 6: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV7

Bit 7: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV8

Bit 8: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV9

Bit 9: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV10

Bit 10: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV11

Bit 11: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV12

Bit 12: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV13

Bit 13: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV14

Bit 14: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV15

Bit 15: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

GPIOC

0x42020800: General-purpose I/Os

193/193 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 MODER
0x4 OTYPER
0x8 OSPEEDR
0xc PUPDR
0x10 IDR
0x14 ODR
0x18 BSRR
0x1c LCKR
0x20 AFRL
0x24 AFRH
0x28 BRR
0x2c HSLVR
Toggle registers

MODER

GPIO port mode register

Offset: 0x0, size: 32, reset: 0xABFFFFFF, access: Unspecified

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MODE15
rw
MODE14
rw
MODE13
rw
MODE12
rw
MODE11
rw
MODE10
rw
MODE9
rw
MODE8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MODE7
rw
MODE6
rw
MODE5
rw
MODE4
rw
MODE3
rw
MODE2
rw
MODE1
rw
MODE0
rw
Toggle fields

MODE0

Bits 0-1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE1

Bits 2-3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE2

Bits 4-5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE3

Bits 6-7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE4

Bits 8-9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE5

Bits 10-11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE6

Bits 12-13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE7

Bits 14-15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE8

Bits 16-17: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE9

Bits 18-19: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE10

Bits 20-21: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE11

Bits 22-23: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE12

Bits 24-25: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE13

Bits 26-27: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE14

Bits 28-29: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE15

Bits 30-31: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

OTYPER

GPIO port output type register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OT15
rw
OT14
rw
OT13
rw
OT12
rw
OT11
rw
OT10
rw
OT9
rw
OT8
rw
OT7
rw
OT6
rw
OT5
rw
OT4
rw
OT3
rw
OT2
rw
OT1
rw
OT0
rw
Toggle fields

OT0

Bit 0: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT1

Bit 1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT2

Bit 2: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT3

Bit 3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT4

Bit 4: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT5

Bit 5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT6

Bit 6: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT7

Bit 7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT8

Bit 8: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT9

Bit 9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT10

Bit 10: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT11

Bit 11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT12

Bit 12: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT13

Bit 13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT14

Bit 14: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT15

Bit 15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OSPEEDR

GPIO port output speed register

Offset: 0x8, size: 32, reset: 0x0C000000, access: Unspecified

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OSPEED15
rw
OSPEED14
rw
OSPEED13
rw
OSPEED12
rw
OSPEED11
rw
OSPEED10
rw
OSPEED9
rw
OSPEED8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OSPEED7
rw
OSPEED6
rw
OSPEED5
rw
OSPEED4
rw
OSPEED3
rw
OSPEED2
rw
OSPEED1
rw
OSPEED0
rw
Toggle fields

OSPEED0

Bits 0-1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED1

Bits 2-3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED2

Bits 4-5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED3

Bits 6-7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED4

Bits 8-9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED5

Bits 10-11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED6

Bits 12-13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED7

Bits 14-15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED8

Bits 16-17: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED9

Bits 18-19: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED10

Bits 20-21: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED11

Bits 22-23: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED12

Bits 24-25: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED13

Bits 26-27: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED14

Bits 28-29: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED15

Bits 30-31: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

PUPDR

GPIO port pull-up/pull-down register

Offset: 0xc, size: 32, reset: 0x64000000, access: Unspecified

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PUPD15
rw
PUPD14
rw
PUPD13
rw
PUPD12
rw
PUPD11
rw
PUPD10
rw
PUPD9
rw
PUPD8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PUPD7
rw
PUPD6
rw
PUPD5
rw
PUPD4
rw
PUPD3
rw
PUPD2
rw
PUPD1
rw
PUPD0
rw
Toggle fields

PUPD0

Bits 0-1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD1

Bits 2-3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD2

Bits 4-5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD3

Bits 6-7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD4

Bits 8-9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD5

Bits 10-11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD6

Bits 12-13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD7

Bits 14-15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD8

Bits 16-17: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD9

Bits 18-19: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD10

Bits 20-21: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD11

Bits 22-23: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD12

Bits 24-25: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD13

Bits 26-27: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD14

Bits 28-29: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD15

Bits 30-31: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

IDR

GPIO port input data register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

Toggle fields

ID0

Bit 0: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID1

Bit 1: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID2

Bit 2: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID3

Bit 3: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID4

Bit 4: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID5

Bit 5: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID6

Bit 6: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID7

Bit 7: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID8

Bit 8: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID9

Bit 9: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID10

Bit 10: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID11

Bit 11: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID12

Bit 12: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID13

Bit 13: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID14

Bit 14: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID15

Bit 15: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ODR

GPIO port output data register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OD15
rw
OD14
rw
OD13
rw
OD12
rw
OD11
rw
OD10
rw
OD9
rw
OD8
rw
OD7
rw
OD6
rw
OD5
rw
OD4
rw
OD3
rw
OD2
rw
OD1
rw
OD0
rw
Toggle fields

OD0

Bit 0: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD1

Bit 1: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD2

Bit 2: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD3

Bit 3: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD4

Bit 4: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD5

Bit 5: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD6

Bit 6: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD7

Bit 7: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD8

Bit 8: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD9

Bit 9: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD10

Bit 10: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD11

Bit 11: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD12

Bit 12: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD13

Bit 13: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD14

Bit 14: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD15

Bit 15: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

BSRR

GPIO port bit set/reset register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

32/32 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BR15
w
BR14
w
BR13
w
BR12
w
BR11
w
BR10
w
BR9
w
BR8
w
BR7
w
BR6
w
BR5
w
BR4
w
BR3
w
BR2
w
BR1
w
BR0
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BS15
w
BS14
w
BS13
w
BS12
w
BS11
w
BS10
w
BS9
w
BS8
w
BS7
w
BS6
w
BS5
w
BS4
w
BS3
w
BS2
w
BS1
w
BS0
w
Toggle fields

BS0

Bit 0: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS1

Bit 1: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS2

Bit 2: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS3

Bit 3: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS4

Bit 4: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS5

Bit 5: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS6

Bit 6: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS7

Bit 7: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS8

Bit 8: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS9

Bit 9: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS10

Bit 10: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS11

Bit 11: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS12

Bit 12: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS13

Bit 13: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS14

Bit 14: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS15

Bit 15: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BR0

Bit 16: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR1

Bit 17: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR2

Bit 18: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR3

Bit 19: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR4

Bit 20: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR5

Bit 21: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR6

Bit 22: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR7

Bit 23: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR8

Bit 24: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR9

Bit 25: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR10

Bit 26: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR11

Bit 27: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR12

Bit 28: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR13

Bit 29: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR14

Bit 30: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR15

Bit 31: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

LCKR

GPIO port configuration lock register

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

17/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LCKK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LCK15
rw
LCK14
rw
LCK13
rw
LCK12
rw
LCK11
rw
LCK10
rw
LCK9
rw
LCK8
rw
LCK7
rw
LCK6
rw
LCK5
rw
LCK4
rw
LCK3
rw
LCK2
rw
LCK1
rw
LCK0
rw
Toggle fields

LCK0

Bit 0: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK1

Bit 1: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK2

Bit 2: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK3

Bit 3: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK4

Bit 4: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK5

Bit 5: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK6

Bit 6: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK7

Bit 7: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK8

Bit 8: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK9

Bit 9: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK10

Bit 10: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK11

Bit 11: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK12

Bit 12: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK13

Bit 13: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK14

Bit 14: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK15

Bit 15: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCKK

Bit 16: Lock key This bit can be read any time. It can only be modified using the lock key write sequence. - LOCK key write sequence: WR LCKR[16] = 1 + LCKR[15:0] WR LCKR[16] = 0 + LCKR[15:0] WR LCKR[16] = 1 + LCKR[15:0] - LOCK key read RD LCKR[16] = 1 (this read operation is optional but it confirms that the lock is active) Note: During the LOCK key write sequence, the value of LCK[15:0] must not change. Any error in the lock sequence aborts the LOCK. After the first LOCK sequence on any bit of the port, any read access on the LCKK bit returns 1 until the next MCU reset or peripheral reset..

Allowed values:
0: NotActive: Port configuration lock key not active
1: Active: Port configuration lock key active

AFRL

GPIO alternate function low register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL7
rw
AFSEL6
rw
AFSEL5
rw
AFSEL4
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL3
rw
AFSEL2
rw
AFSEL1
rw
AFSEL0
rw
Toggle fields

AFSEL0

Bits 0-3: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL1

Bits 4-7: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL2

Bits 8-11: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL3

Bits 12-15: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL4

Bits 16-19: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL5

Bits 20-23: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL6

Bits 24-27: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL7

Bits 28-31: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFRH

GPIO alternate function high register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL15
rw
AFSEL14
rw
AFSEL13
rw
AFSEL12
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL11
rw
AFSEL10
rw
AFSEL9
rw
AFSEL8
rw
Toggle fields

AFSEL8

Bits 0-3: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL9

Bits 4-7: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL10

Bits 8-11: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL11

Bits 12-15: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL12

Bits 16-19: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL13

Bits 20-23: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL14

Bits 24-27: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL15

Bits 28-31: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

BRR

GPIO port bit reset register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

Toggle fields

BR0

Bit 0: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR1

Bit 1: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR2

Bit 2: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR3

Bit 3: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR4

Bit 4: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR5

Bit 5: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR6

Bit 6: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR7

Bit 7: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR8

Bit 8: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR9

Bit 9: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR10

Bit 10: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR11

Bit 11: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR12

Bit 12: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR13

Bit 13: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR14

Bit 14: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR15

Bit 15: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

HSLVR

GPIO high-speed low-voltage register

Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

Toggle fields

HSLV0

Bit 0: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV1

Bit 1: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV2

Bit 2: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV3

Bit 3: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV4

Bit 4: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV5

Bit 5: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV6

Bit 6: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV7

Bit 7: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV8

Bit 8: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV9

Bit 9: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV10

Bit 10: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV11

Bit 11: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV12

Bit 12: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV13

Bit 13: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV14

Bit 14: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV15

Bit 15: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

GPIOD

0x42020c00: General-purpose I/Os

193/193 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 MODER
0x4 OTYPER
0x8 OSPEEDR
0xc PUPDR
0x10 IDR
0x14 ODR
0x18 BSRR
0x1c LCKR
0x20 AFRL
0x24 AFRH
0x28 BRR
0x2c HSLVR
Toggle registers

MODER

GPIO port mode register

Offset: 0x0, size: 32, reset: 0xABFFFFFF, access: Unspecified

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MODE15
rw
MODE14
rw
MODE13
rw
MODE12
rw
MODE11
rw
MODE10
rw
MODE9
rw
MODE8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MODE7
rw
MODE6
rw
MODE5
rw
MODE4
rw
MODE3
rw
MODE2
rw
MODE1
rw
MODE0
rw
Toggle fields

MODE0

Bits 0-1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE1

Bits 2-3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE2

Bits 4-5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE3

Bits 6-7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE4

Bits 8-9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE5

Bits 10-11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE6

Bits 12-13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE7

Bits 14-15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE8

Bits 16-17: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE9

Bits 18-19: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE10

Bits 20-21: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE11

Bits 22-23: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE12

Bits 24-25: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE13

Bits 26-27: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE14

Bits 28-29: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE15

Bits 30-31: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

OTYPER

GPIO port output type register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OT15
rw
OT14
rw
OT13
rw
OT12
rw
OT11
rw
OT10
rw
OT9
rw
OT8
rw
OT7
rw
OT6
rw
OT5
rw
OT4
rw
OT3
rw
OT2
rw
OT1
rw
OT0
rw
Toggle fields

OT0

Bit 0: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT1

Bit 1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT2

Bit 2: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT3

Bit 3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT4

Bit 4: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT5

Bit 5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT6

Bit 6: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT7

Bit 7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT8

Bit 8: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT9

Bit 9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT10

Bit 10: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT11

Bit 11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT12

Bit 12: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT13

Bit 13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT14

Bit 14: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT15

Bit 15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OSPEEDR

GPIO port output speed register

Offset: 0x8, size: 32, reset: 0x0C000000, access: Unspecified

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OSPEED15
rw
OSPEED14
rw
OSPEED13
rw
OSPEED12
rw
OSPEED11
rw
OSPEED10
rw
OSPEED9
rw
OSPEED8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OSPEED7
rw
OSPEED6
rw
OSPEED5
rw
OSPEED4
rw
OSPEED3
rw
OSPEED2
rw
OSPEED1
rw
OSPEED0
rw
Toggle fields

OSPEED0

Bits 0-1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED1

Bits 2-3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED2

Bits 4-5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED3

Bits 6-7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED4

Bits 8-9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED5

Bits 10-11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED6

Bits 12-13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED7

Bits 14-15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED8

Bits 16-17: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED9

Bits 18-19: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED10

Bits 20-21: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED11

Bits 22-23: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED12

Bits 24-25: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED13

Bits 26-27: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED14

Bits 28-29: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED15

Bits 30-31: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

PUPDR

GPIO port pull-up/pull-down register

Offset: 0xc, size: 32, reset: 0x64000000, access: Unspecified

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PUPD15
rw
PUPD14
rw
PUPD13
rw
PUPD12
rw
PUPD11
rw
PUPD10
rw
PUPD9
rw
PUPD8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PUPD7
rw
PUPD6
rw
PUPD5
rw
PUPD4
rw
PUPD3
rw
PUPD2
rw
PUPD1
rw
PUPD0
rw
Toggle fields

PUPD0

Bits 0-1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD1

Bits 2-3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD2

Bits 4-5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD3

Bits 6-7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD4

Bits 8-9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD5

Bits 10-11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD6

Bits 12-13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD7

Bits 14-15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD8

Bits 16-17: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD9

Bits 18-19: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD10

Bits 20-21: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD11

Bits 22-23: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD12

Bits 24-25: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD13

Bits 26-27: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD14

Bits 28-29: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD15

Bits 30-31: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

IDR

GPIO port input data register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

Toggle fields

ID0

Bit 0: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID1

Bit 1: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID2

Bit 2: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID3

Bit 3: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID4

Bit 4: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID5

Bit 5: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID6

Bit 6: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID7

Bit 7: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID8

Bit 8: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID9

Bit 9: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID10

Bit 10: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID11

Bit 11: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID12

Bit 12: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID13

Bit 13: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID14

Bit 14: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID15

Bit 15: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ODR

GPIO port output data register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OD15
rw
OD14
rw
OD13
rw
OD12
rw
OD11
rw
OD10
rw
OD9
rw
OD8
rw
OD7
rw
OD6
rw
OD5
rw
OD4
rw
OD3
rw
OD2
rw
OD1
rw
OD0
rw
Toggle fields

OD0

Bit 0: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD1

Bit 1: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD2

Bit 2: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD3

Bit 3: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD4

Bit 4: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD5

Bit 5: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD6

Bit 6: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD7

Bit 7: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD8

Bit 8: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD9

Bit 9: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD10

Bit 10: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD11

Bit 11: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD12

Bit 12: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD13

Bit 13: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD14

Bit 14: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD15

Bit 15: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

BSRR

GPIO port bit set/reset register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

32/32 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BR15
w
BR14
w
BR13
w
BR12
w
BR11
w
BR10
w
BR9
w
BR8
w
BR7
w
BR6
w
BR5
w
BR4
w
BR3
w
BR2
w
BR1
w
BR0
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BS15
w
BS14
w
BS13
w
BS12
w
BS11
w
BS10
w
BS9
w
BS8
w
BS7
w
BS6
w
BS5
w
BS4
w
BS3
w
BS2
w
BS1
w
BS0
w
Toggle fields

BS0

Bit 0: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS1

Bit 1: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS2

Bit 2: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS3

Bit 3: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS4

Bit 4: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS5

Bit 5: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS6

Bit 6: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS7

Bit 7: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS8

Bit 8: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS9

Bit 9: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS10

Bit 10: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS11

Bit 11: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS12

Bit 12: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS13

Bit 13: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS14

Bit 14: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS15

Bit 15: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BR0

Bit 16: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR1

Bit 17: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR2

Bit 18: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR3

Bit 19: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR4

Bit 20: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR5

Bit 21: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR6

Bit 22: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR7

Bit 23: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR8

Bit 24: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR9

Bit 25: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR10

Bit 26: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR11

Bit 27: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR12

Bit 28: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR13

Bit 29: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR14

Bit 30: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR15

Bit 31: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

LCKR

GPIO port configuration lock register

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

17/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LCKK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LCK15
rw
LCK14
rw
LCK13
rw
LCK12
rw
LCK11
rw
LCK10
rw
LCK9
rw
LCK8
rw
LCK7
rw
LCK6
rw
LCK5
rw
LCK4
rw
LCK3
rw
LCK2
rw
LCK1
rw
LCK0
rw
Toggle fields

LCK0

Bit 0: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK1

Bit 1: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK2

Bit 2: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK3

Bit 3: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK4

Bit 4: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK5

Bit 5: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK6

Bit 6: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK7

Bit 7: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK8

Bit 8: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK9

Bit 9: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK10

Bit 10: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK11

Bit 11: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK12

Bit 12: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK13

Bit 13: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK14

Bit 14: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK15

Bit 15: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCKK

Bit 16: Lock key This bit can be read any time. It can only be modified using the lock key write sequence. - LOCK key write sequence: WR LCKR[16] = 1 + LCKR[15:0] WR LCKR[16] = 0 + LCKR[15:0] WR LCKR[16] = 1 + LCKR[15:0] - LOCK key read RD LCKR[16] = 1 (this read operation is optional but it confirms that the lock is active) Note: During the LOCK key write sequence, the value of LCK[15:0] must not change. Any error in the lock sequence aborts the LOCK. After the first LOCK sequence on any bit of the port, any read access on the LCKK bit returns 1 until the next MCU reset or peripheral reset..

Allowed values:
0: NotActive: Port configuration lock key not active
1: Active: Port configuration lock key active

AFRL

GPIO alternate function low register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL7
rw
AFSEL6
rw
AFSEL5
rw
AFSEL4
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL3
rw
AFSEL2
rw
AFSEL1
rw
AFSEL0
rw
Toggle fields

AFSEL0

Bits 0-3: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL1

Bits 4-7: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL2

Bits 8-11: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL3

Bits 12-15: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL4

Bits 16-19: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL5

Bits 20-23: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL6

Bits 24-27: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL7

Bits 28-31: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFRH

GPIO alternate function high register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL15
rw
AFSEL14
rw
AFSEL13
rw
AFSEL12
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL11
rw
AFSEL10
rw
AFSEL9
rw
AFSEL8
rw
Toggle fields

AFSEL8

Bits 0-3: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL9

Bits 4-7: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL10

Bits 8-11: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL11

Bits 12-15: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL12

Bits 16-19: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL13

Bits 20-23: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL14

Bits 24-27: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL15

Bits 28-31: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

BRR

GPIO port bit reset register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

Toggle fields

BR0

Bit 0: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR1

Bit 1: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR2

Bit 2: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR3

Bit 3: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR4

Bit 4: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR5

Bit 5: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR6

Bit 6: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR7

Bit 7: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR8

Bit 8: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR9

Bit 9: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR10

Bit 10: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR11

Bit 11: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR12

Bit 12: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR13

Bit 13: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR14

Bit 14: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR15

Bit 15: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

HSLVR

GPIO high-speed low-voltage register

Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

Toggle fields

HSLV0

Bit 0: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV1

Bit 1: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV2

Bit 2: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV3

Bit 3: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV4

Bit 4: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV5

Bit 5: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV6

Bit 6: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV7

Bit 7: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV8

Bit 8: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV9

Bit 9: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV10

Bit 10: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV11

Bit 11: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV12

Bit 12: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV13

Bit 13: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV14

Bit 14: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV15

Bit 15: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

GPIOH

0x42021c00: General-purpose I/Os

193/193 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 MODER
0x4 OTYPER
0x8 OSPEEDR
0xc PUPDR
0x10 IDR
0x14 ODR
0x18 BSRR
0x1c LCKR
0x20 AFRL
0x24 AFRH
0x28 BRR
0x2c HSLVR
Toggle registers

MODER

GPIO port mode register

Offset: 0x0, size: 32, reset: 0xABFFFFFF, access: Unspecified

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MODE15
rw
MODE14
rw
MODE13
rw
MODE12
rw
MODE11
rw
MODE10
rw
MODE9
rw
MODE8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MODE7
rw
MODE6
rw
MODE5
rw
MODE4
rw
MODE3
rw
MODE2
rw
MODE1
rw
MODE0
rw
Toggle fields

MODE0

Bits 0-1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE1

Bits 2-3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE2

Bits 4-5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE3

Bits 6-7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE4

Bits 8-9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE5

Bits 10-11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE6

Bits 12-13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE7

Bits 14-15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE8

Bits 16-17: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE9

Bits 18-19: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE10

Bits 20-21: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE11

Bits 22-23: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE12

Bits 24-25: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE13

Bits 26-27: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE14

Bits 28-29: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

MODE15

Bits 30-31: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O mode. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Input: Input mode
1: Output: General purpose output mode
2: Alternate: Alternate function mode
3: Analog: Analog mode

OTYPER

GPIO port output type register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OT15
rw
OT14
rw
OT13
rw
OT12
rw
OT11
rw
OT10
rw
OT9
rw
OT8
rw
OT7
rw
OT6
rw
OT5
rw
OT4
rw
OT3
rw
OT2
rw
OT1
rw
OT0
rw
Toggle fields

OT0

Bit 0: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT1

Bit 1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT2

Bit 2: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT3

Bit 3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT4

Bit 4: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT5

Bit 5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT6

Bit 6: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT7

Bit 7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT8

Bit 8: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT9

Bit 9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT10

Bit 10: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT11

Bit 11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT12

Bit 12: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT13

Bit 13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT14

Bit 14: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OT15

Bit 15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output type. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: PushPull: Output push-pull (reset state)
1: OpenDrain: Output open-drain

OSPEEDR

GPIO port output speed register

Offset: 0x8, size: 32, reset: 0x0C000000, access: Unspecified

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OSPEED15
rw
OSPEED14
rw
OSPEED13
rw
OSPEED12
rw
OSPEED11
rw
OSPEED10
rw
OSPEED9
rw
OSPEED8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OSPEED7
rw
OSPEED6
rw
OSPEED5
rw
OSPEED4
rw
OSPEED3
rw
OSPEED2
rw
OSPEED1
rw
OSPEED0
rw
Toggle fields

OSPEED0

Bits 0-1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED1

Bits 2-3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED2

Bits 4-5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED3

Bits 6-7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED4

Bits 8-9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED5

Bits 10-11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED6

Bits 12-13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED7

Bits 14-15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED8

Bits 16-17: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED9

Bits 18-19: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED10

Bits 20-21: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED11

Bits 22-23: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED12

Bits 24-25: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED13

Bits 26-27: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED14

Bits 28-29: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

OSPEED15

Bits 30-31: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O output speed. Note: Refer to the device datasheet for the frequency specifications and the power supply and load conditions for each speed. The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: LowSpeed: Low speed
1: MediumSpeed: Medium speed
2: HighSpeed: High speed
3: VeryHighSpeed: Very high speed

PUPDR

GPIO port pull-up/pull-down register

Offset: 0xc, size: 32, reset: 0x64000000, access: Unspecified

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PUPD15
rw
PUPD14
rw
PUPD13
rw
PUPD12
rw
PUPD11
rw
PUPD10
rw
PUPD9
rw
PUPD8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PUPD7
rw
PUPD6
rw
PUPD5
rw
PUPD4
rw
PUPD3
rw
PUPD2
rw
PUPD1
rw
PUPD0
rw
Toggle fields

PUPD0

Bits 0-1: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD1

Bits 2-3: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD2

Bits 4-5: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD3

Bits 6-7: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD4

Bits 8-9: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD5

Bits 10-11: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD6

Bits 12-13: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD7

Bits 14-15: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD8

Bits 16-17: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD9

Bits 18-19: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD10

Bits 20-21: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD11

Bits 22-23: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD12

Bits 24-25: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD13

Bits 26-27: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD14

Bits 28-29: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

PUPD15

Bits 30-31: Port x configuration I/O pin y (y = 15 to 0) These bits are written by software to configure the I/O pull-up or pull-down Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Floating: No pull-up, pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

IDR

GPIO port input data register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

Toggle fields

ID0

Bit 0: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID1

Bit 1: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID2

Bit 2: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID3

Bit 3: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID4

Bit 4: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID5

Bit 5: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID6

Bit 6: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID7

Bit 7: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID8

Bit 8: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID9

Bit 9: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID10

Bit 10: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID11

Bit 11: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID12

Bit 12: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID13

Bit 13: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID14

Bit 14: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ID15

Bit 15: Port x input data I/O pin y (y = 15 to 0) These bits are read-only. They contain the input value of the corresponding I/O port. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Input is logic low
1: High: Input is logic high

ODR

GPIO port output data register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OD15
rw
OD14
rw
OD13
rw
OD12
rw
OD11
rw
OD10
rw
OD9
rw
OD8
rw
OD7
rw
OD6
rw
OD5
rw
OD4
rw
OD3
rw
OD2
rw
OD1
rw
OD0
rw
Toggle fields

OD0

Bit 0: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD1

Bit 1: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD2

Bit 2: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD3

Bit 3: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD4

Bit 4: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD5

Bit 5: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD6

Bit 6: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD7

Bit 7: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD8

Bit 8: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD9

Bit 9: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD10

Bit 10: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD11

Bit 11: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD12

Bit 12: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD13

Bit 13: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD14

Bit 14: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

OD15

Bit 15: Port output data I/O pin y (y = 15 to 0) These bits can be read and written by software. Note: For atomic bit set/reset, the OD bits can be individually set and/or reset by writing to the GPIOx_BSRR or GPIOx_BRR registers (x = A to D and H). The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Low: Set output to logic low
1: High: Set output to logic high

BSRR

GPIO port bit set/reset register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

32/32 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BR15
w
BR14
w
BR13
w
BR12
w
BR11
w
BR10
w
BR9
w
BR8
w
BR7
w
BR6
w
BR5
w
BR4
w
BR3
w
BR2
w
BR1
w
BR0
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BS15
w
BS14
w
BS13
w
BS12
w
BS11
w
BS10
w
BS9
w
BS8
w
BS7
w
BS6
w
BS5
w
BS4
w
BS3
w
BS2
w
BS1
w
BS0
w
Toggle fields

BS0

Bit 0: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS1

Bit 1: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS2

Bit 2: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS3

Bit 3: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS4

Bit 4: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS5

Bit 5: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS6

Bit 6: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS7

Bit 7: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS8

Bit 8: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS9

Bit 9: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS10

Bit 10: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS11

Bit 11: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS12

Bit 12: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS13

Bit 13: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS14

Bit 14: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BS15

Bit 15: Port x set I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Set: Sets the corresponding ODx bit

BR0

Bit 16: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR1

Bit 17: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR2

Bit 18: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR3

Bit 19: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR4

Bit 20: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR5

Bit 21: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR6

Bit 22: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR7

Bit 23: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR8

Bit 24: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR9

Bit 25: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR10

Bit 26: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR11

Bit 27: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR12

Bit 28: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR13

Bit 29: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR14

Bit 30: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

BR15

Bit 31: Port x reset I/O pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: If both BSy and BRy are set, BSy has priority. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
1: Reset: Resets the corresponding ODx bit

LCKR

GPIO port configuration lock register

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

17/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LCKK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LCK15
rw
LCK14
rw
LCK13
rw
LCK12
rw
LCK11
rw
LCK10
rw
LCK9
rw
LCK8
rw
LCK7
rw
LCK6
rw
LCK5
rw
LCK4
rw
LCK3
rw
LCK2
rw
LCK1
rw
LCK0
rw
Toggle fields

LCK0

Bit 0: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK1

Bit 1: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK2

Bit 2: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK3

Bit 3: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK4

Bit 4: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK5

Bit 5: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK6

Bit 6: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK7

Bit 7: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK8

Bit 8: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK9

Bit 9: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK10

Bit 10: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK11

Bit 11: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK12

Bit 12: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK13

Bit 13: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK14

Bit 14: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCK15

Bit 15: Port x lock I/O pin y (y = 15 to 0) These bits are read/write but can only be written when the LCKK bit is 0 Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Unlocked: Port configuration not locked
1: Locked: Port configuration locked

LCKK

Bit 16: Lock key This bit can be read any time. It can only be modified using the lock key write sequence. - LOCK key write sequence: WR LCKR[16] = 1 + LCKR[15:0] WR LCKR[16] = 0 + LCKR[15:0] WR LCKR[16] = 1 + LCKR[15:0] - LOCK key read RD LCKR[16] = 1 (this read operation is optional but it confirms that the lock is active) Note: During the LOCK key write sequence, the value of LCK[15:0] must not change. Any error in the lock sequence aborts the LOCK. After the first LOCK sequence on any bit of the port, any read access on the LCKK bit returns 1 until the next MCU reset or peripheral reset..

Allowed values:
0: NotActive: Port configuration lock key not active
1: Active: Port configuration lock key active

AFRL

GPIO alternate function low register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL7
rw
AFSEL6
rw
AFSEL5
rw
AFSEL4
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL3
rw
AFSEL2
rw
AFSEL1
rw
AFSEL0
rw
Toggle fields

AFSEL0

Bits 0-3: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL1

Bits 4-7: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL2

Bits 8-11: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL3

Bits 12-15: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL4

Bits 16-19: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL5

Bits 20-23: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL6

Bits 24-27: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL7

Bits 28-31: Alternate function selection for port x I/O pin y (y = 7 to 0) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFRH

GPIO alternate function high register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFSEL15
rw
AFSEL14
rw
AFSEL13
rw
AFSEL12
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AFSEL11
rw
AFSEL10
rw
AFSEL9
rw
AFSEL8
rw
Toggle fields

AFSEL8

Bits 0-3: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL9

Bits 4-7: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL10

Bits 8-11: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL11

Bits 12-15: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL12

Bits 16-19: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL13

Bits 20-23: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL14

Bits 24-27: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

AFSEL15

Bits 28-31: Alternate function selection for port x I/O pin y (y = 15 to 8) These bits are written by software to configure alternate function I/Os. Note: The bitfield is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: AF0: AF0
1: AF1: AF1
2: AF2: AF2
3: AF3: AF3
4: AF4: AF4
5: AF5: AF5
6: AF6: AF6
7: AF7: AF7
8: AF8: AF8
9: AF9: AF9
10: AF10: AF10
11: AF11: AF11
12: AF12: AF12
13: AF13: AF13
14: AF14: AF14
15: AF15: AF15

BRR

GPIO port bit reset register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

Toggle fields

BR0

Bit 0: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR1

Bit 1: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR2

Bit 2: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR3

Bit 3: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR4

Bit 4: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR5

Bit 5: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR6

Bit 6: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR7

Bit 7: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR8

Bit 8: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR9

Bit 9: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR10

Bit 10: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR11

Bit 11: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR12

Bit 12: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR13

Bit 13: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR14

Bit 14: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

BR15

Bit 15: Port x reset IO pin y (y = 15 to 0) These bits are write-only. A read to these bits returns the value 0x0000. Note: The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: NoAction: No action on the corresponding ODx bit
1: Reset: Reset the ODx bit

HSLVR

GPIO high-speed low-voltage register

Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

Toggle fields

HSLV0

Bit 0: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV1

Bit 1: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV2

Bit 2: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV3

Bit 3: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV4

Bit 4: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV5

Bit 5: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV6

Bit 6: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV7

Bit 7: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV8

Bit 8: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV9

Bit 9: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV10

Bit 10: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV11

Bit 11: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV12

Bit 12: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV13

Bit 13: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV14

Bit 14: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

HSLV15

Bit 15: Port x high-speed low-voltage configuration (y = 15 to 0) These bits are written by software to optimize the I/O speed when the I/O supply is low. Each bit is active only if the corresponding IO_VDD_HSLV/IO_VDDIO2_HSLV user option bit is set. It must be used only if the I/O supply voltage is below 2.7 V. Setting these bits when the I/O supply (VDD or VDDIO2) is higher than 2.7 V may be destructive. Note: Not all I/Os support the HSLV mode. Refer to the I/O structure in the corresponding datasheet for the list of I/Os supporting this feature. Other I/Os HSLV configuration must be kept at reset value. The bit is reserved and must be kept to reset value when the corresponding I/O is not available on the selected package..

Allowed values:
0: Disabled: I/O speed optimization disabled
1: Enabled: I/O speed optimization enabled

GTZC1

0x40032400: Global privilege controller

0/2091 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x20 GTZC1_TZSC_PRIVCFGR1
0x24 GTZC1_TZSC_PRIVCFGR2
0x28 GTZC1_TZSC_PRIVCFGR3
0x70 GTZC1_TZSC_MPCWM4ACFGR
0x74 GTZC1_TZSC_MPCWM4AR
0x78 GTZC1_TZSC_MPCWM4BCFGR
0x7c GTZC1_TZSC_MPCWM4BR
0x200 GTZC1_MPCBB1_PRIVCFGR0
0x204 GTZC1_MPCBB1_PRIVCFGR1
0x208 GTZC1_MPCBB1_PRIVCFGR2
0x20c GTZC1_MPCBB1_PRIVCFGR3
0x210 GTZC1_MPCBB1_PRIVCFGR4
0x214 GTZC1_MPCBB1_PRIVCFGR5
0x218 GTZC1_MPCBB1_PRIVCFGR6
0x21c GTZC1_MPCBB1_PRIVCFGR7
0x220 GTZC1_MPCBB1_PRIVCFGR8
0x224 GTZC1_MPCBB1_PRIVCFGR9
0x228 GTZC1_MPCBB1_PRIVCFGR10
0x22c GTZC1_MPCBB1_PRIVCFGR11
0x230 GTZC1_MPCBB1_PRIVCFGR12
0x234 GTZC1_MPCBB1_PRIVCFGR13
0x238 GTZC1_MPCBB1_PRIVCFGR14
0x23c GTZC1_MPCBB1_PRIVCFGR15
0x240 GTZC1_MPCBB1_PRIVCFGR16
0x244 GTZC1_MPCBB1_PRIVCFGR17
0x248 GTZC1_MPCBB1_PRIVCFGR18
0x24c GTZC1_MPCBB1_PRIVCFGR19
0x250 GTZC1_MPCBB1_PRIVCFGR20
0x254 GTZC1_MPCBB1_PRIVCFGR21
0x258 GTZC1_MPCBB1_PRIVCFGR22
0x25c GTZC1_MPCBB1_PRIVCFGR23
0x260 GTZC1_MPCBB1_PRIVCFGR24
0x264 GTZC1_MPCBB1_PRIVCFGR25
0x268 GTZC1_MPCBB1_PRIVCFGR26
0x26c GTZC1_MPCBB1_PRIVCFGR27
0x270 GTZC1_MPCBB1_PRIVCFGR28
0x274 GTZC1_MPCBB1_PRIVCFGR29
0x278 GTZC1_MPCBB1_PRIVCFGR30
0x27c GTZC1_MPCBB1_PRIVCFGR31
0x600 GTZC1_MPCBB2_PRIVCFGR0
0x604 GTZC1_MPCBB2_PRIVCFGR1
0x608 GTZC1_MPCBB2_PRIVCFGR2
0x60c GTZC1_MPCBB2_PRIVCFGR3
0x610 GTZC1_MPCBB2_PRIVCFGR4
0x614 GTZC1_MPCBB2_PRIVCFGR5
0x618 GTZC1_MPCBB2_PRIVCFGR6
0x61c GTZC1_MPCBB2_PRIVCFGR7
0x620 GTZC1_MPCBB2_PRIVCFGR8
0x624 GTZC1_MPCBB2_PRIVCFGR9
0x628 GTZC1_MPCBB2_PRIVCFGR10
0x62c GTZC1_MPCBB2_PRIVCFGR11
0x630 GTZC1_MPCBB2_PRIVCFGR12
0x634 GTZC1_MPCBB2_PRIVCFGR13
0x638 GTZC1_MPCBB2_PRIVCFGR14
0x63c GTZC1_MPCBB2_PRIVCFGR15
0x640 GTZC1_MPCBB2_PRIVCFGR16
0x644 GTZC1_MPCBB2_PRIVCFGR17
0x648 GTZC1_MPCBB2_PRIVCFGR18
0x64c GTZC1_MPCBB2_PRIVCFGR19
0x650 GTZC1_MPCBB2_PRIVCFGR20
0x654 GTZC1_MPCBB2_PRIVCFGR21
0x658 GTZC1_MPCBB2_PRIVCFGR22
0x65c GTZC1_MPCBB2_PRIVCFGR23
0x660 GTZC1_MPCBB2_PRIVCFGR24
0x664 GTZC1_MPCBB2_PRIVCFGR25
0x668 GTZC1_MPCBB2_PRIVCFGR26
0x66c GTZC1_MPCBB2_PRIVCFGR27
0x670 GTZC1_MPCBB2_PRIVCFGR28
0x674 GTZC1_MPCBB2_PRIVCFGR29
0x678 GTZC1_MPCBB2_PRIVCFGR30
0x67c GTZC1_MPCBB2_PRIVCFGR31
Toggle registers

GTZC1_TZSC_PRIVCFGR1

GTZC1 TZSC privilege configuration register 1

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

0/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LPTIM2PRIV
rw
DTSPRIV
rw
DAC1PRIV
rw
CRSPRIV
rw
I3C1PRIV
rw
I2C2PRIV
rw
I2C1PRIV
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
USART3PRIV
rw
USART2PRIV
rw
SPI3PRIV
rw
SPI2PRIV
rw
IWDGPRIV
rw
WWDGPRIV
rw
TIM7PRIV
rw
TIM6PRIV
rw
TIM3PRIV
rw
TIM2PRIV
rw
Toggle fields

TIM2PRIV

Bit 0: privileged access mode for TIM2.

TIM3PRIV

Bit 1: privileged access mode for TIM3.

TIM6PRIV

Bit 4: privileged access mode for TIM6.

TIM7PRIV

Bit 5: privileged access mode for TIM7.

WWDGPRIV

Bit 9: privileged access mode for WWDG.

IWDGPRIV

Bit 10: privileged access mode for IWDG.

SPI2PRIV

Bit 11: privileged access mode for SPI2.

SPI3PRIV

Bit 12: privileged access mode for SPI3.

USART2PRIV

Bit 13: privileged access mode for USART2.

USART3PRIV

Bit 14: privileged access mode for USART3.

I2C1PRIV

Bit 17: privileged access mode for I2C1.

I2C2PRIV

Bit 18: privileged access mode for I2C2.

I3C1PRIV

Bit 19: privileged access mode for I3C1.

CRSPRIV

Bit 20: privileged access mode for CRS.

DAC1PRIV

Bit 25: privileged access mode for DAC1.

DTSPRIV

Bit 30: privileged access mode for DTS.

LPTIM2PRIV

Bit 31: privileged access mode for LPTIM2.

GTZC1_TZSC_PRIVCFGR2

GTZC1 TZSC privilege configuration register 2

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

0/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LPTIM1PRIV
rw
LPUART1PRIV
rw
USBFSPRIV
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
USART1PRIV
rw
SPI1PRIV
rw
TIM1PRIV
rw
COMPPRIV
rw
OPAMPPRIV
rw
FDCAN1PRIV
rw
Toggle fields

FDCAN1PRIV

Bit 0: privileged access mode for FDCAN1.

OPAMPPRIV

Bit 3: privileged access mode for OPAMP.

COMPPRIV

Bit 4: privileged access mode for COMP.

TIM1PRIV

Bit 8: privileged access mode for TIM1.

SPI1PRIV

Bit 9: privileged access mode for SPI1.

USART1PRIV

Bit 11: privileged access mode for USART1.

USBFSPRIV

Bit 19: privileged access mode for USBSF.

LPUART1PRIV

Bit 25: privileged access mode for LPUART.

LPTIM1PRIV

Bit 28: privileged access mode for LPTIM1.

GTZC1_TZSC_PRIVCFGR3

GTZC1 TZSC privilege configuration register 3

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

0/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RAMCFGPRIV
rw
RNGPRIV
rw
HASHPRIV
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ADC1PRIV
rw
ICACHEPRIV
rw
CRCPRIV
rw
I3C2PRIV
rw
Toggle fields

I3C2PRIV

Bit 2: privileged access mode for I3C2.

CRCPRIV

Bit 8: privileged access mode for CRC.

ICACHEPRIV

Bit 12: privileged access mode for ICACHE.

ADC1PRIV

Bit 14: privileged access mode for ADC1.

HASHPRIV

Bit 17: privileged access mode for HASH.

RNGPRIV

Bit 18: privileged access mode for RNG.

RAMCFGPRIV

Bit 26: privileged access mode for RAMSCFG.

GTZC1_TZSC_MPCWM4ACFGR

GTZC1 TZSC BKPSRAM sub-region A watermark configuration register

Offset: 0x70, size: 32, reset: 0x00000000, access: Unspecified

0/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRIV
rw
SRLOCK
rw
SREN
rw
Toggle fields

SREN

Bit 0: Sub-region z enable.

SRLOCK

Bit 1: Sub-region z lock This bit, once set, can be cleared only by a system reset..

PRIV

Bit 9: Privileged sub-region z This bit is taken into account only if SREN is set..

GTZC1_TZSC_MPCWM4AR

GTZC1 TZSC BKPSRAM sub-region A watermark register

Offset: 0x74, size: 32, reset: 0x08000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SUBA_LENGTH
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SUBA_START
rw
Toggle fields

SUBA_START

Bits 0-10: Start of sub-region A This field defines the address offset of the sub-region A, to be multiplied by the granularity defined in Table 16..

SUBA_LENGTH

Bits 16-27: Length of sub-region A This field defines the length of the sub-region A, to be multiplied by the granularity defined in Table 16. When SUBA_START + SUBA_LENGTH is higher than the maximum size allowed for the memory, a saturation of SUBA_LENGTH is applied automatically. If SUBA_LENGTH = 0, the sub-region A is disabled (SREN bit in GTZC1_TZSC_MPCMWACFGR is cleared)..

GTZC1_TZSC_MPCWM4BCFGR

GTZC1 TZSC BKPSRAM sub-region B watermark configuration register

Offset: 0x78, size: 32, reset: 0x00000000, access: Unspecified

0/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRIV
rw
SRLOCK
rw
SREN
rw
Toggle fields

SREN

Bit 0: Sub-region z enable.

SRLOCK

Bit 1: Sub-region z lock This bit, once set, can be cleared only by a system reset..

PRIV

Bit 9: Privileged sub-region z This bit is taken into account only if SREN is set..

GTZC1_TZSC_MPCWM4BR

GTZC1 TZSC BKPSRAM sub-region B watermark register

Offset: 0x7c, size: 32, reset: 0x08000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SUBB_LENGTH
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SUBB_START
rw
Toggle fields

SUBB_START

Bits 0-10: Start of sub-region B This field defines the address offset of the sub-region B, to be multiplied by the granularity defined in Table 16..

SUBB_LENGTH

Bits 16-27: Length of sub-region B This field defines the length of the sub-region B, to be multiplied by the granularity defined in Table 16. When SUBB_START + SUBB_LENGTH is higher than the maximum size allowed for the memory, a saturation of SUBB_LENGTH is applied automatically. If SUBB_LENGTH = 0, the sub-region B is disabled (SREN bit in GTZC1_TZSC_MPCMWBCFGR is cleared)..

GTZC1_MPCBB1_PRIVCFGR0

GTZC1 SRAM1 MPCBB privileged configuration for super-block 0 register

Offset: 0x200, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR1

GTZC1 SRAM1 MPCBB privileged configuration for super-block 1 register

Offset: 0x204, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR2

GTZC1 SRAM1 MPCBB privileged configuration for super-block 2 register

Offset: 0x208, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR3

GTZC1 SRAM1 MPCBB privileged configuration for super-block 3 register

Offset: 0x20c, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR4

GTZC1 SRAM1 MPCBB privileged configuration for super-block 4 register

Offset: 0x210, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR5

GTZC1 SRAM1 MPCBB privileged configuration for super-block 5 register

Offset: 0x214, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR6

GTZC1 SRAM1 MPCBB privileged configuration for super-block 6 register

Offset: 0x218, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR7

GTZC1 SRAM1 MPCBB privileged configuration for super-block 7 register

Offset: 0x21c, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR8

GTZC1 SRAM1 MPCBB privileged configuration for super-block 8 register

Offset: 0x220, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR9

GTZC1 SRAM1 MPCBB privileged configuration for super-block 9 register

Offset: 0x224, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR10

GTZC1 SRAM1 MPCBB privileged configuration for super-block 10 register

Offset: 0x228, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR11

GTZC1 SRAM1 MPCBB privileged configuration for super-block 11 register

Offset: 0x22c, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR12

GTZC1 SRAM1 MPCBB privileged configuration for super-block 12 register

Offset: 0x230, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR13

GTZC1 SRAM1 MPCBB privileged configuration for super-block 13 register

Offset: 0x234, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR14

GTZC1 SRAM1 MPCBB privileged configuration for super-block 14 register

Offset: 0x238, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR15

GTZC1 SRAM1 MPCBB privileged configuration for super-block 15 register

Offset: 0x23c, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR16

GTZC1 SRAM1 MPCBB privileged configuration for super-block 16 register

Offset: 0x240, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR17

GTZC1 SRAM1 MPCBB privileged configuration for super-block 17 register

Offset: 0x244, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR18

GTZC1 SRAM1 MPCBB privileged configuration for super-block 18 register

Offset: 0x248, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR19

GTZC1 SRAM1 MPCBB privileged configuration for super-block 19 register

Offset: 0x24c, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR20

GTZC1 SRAM1 MPCBB privileged configuration for super-block 20 register

Offset: 0x250, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR21

GTZC1 SRAM1 MPCBB privileged configuration for super-block 21 register

Offset: 0x254, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR22

GTZC1 SRAM1 MPCBB privileged configuration for super-block 22 register

Offset: 0x258, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR23

GTZC1 SRAM1 MPCBB privileged configuration for super-block 23 register

Offset: 0x25c, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR24

GTZC1 SRAM1 MPCBB privileged configuration for super-block 24 register

Offset: 0x260, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR25

GTZC1 SRAM1 MPCBB privileged configuration for super-block 25 register

Offset: 0x264, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR26

GTZC1 SRAM1 MPCBB privileged configuration for super-block 26 register

Offset: 0x268, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR27

GTZC1 SRAM1 MPCBB privileged configuration for super-block 27 register

Offset: 0x26c, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR28

GTZC1 SRAM1 MPCBB privileged configuration for super-block 28 register

Offset: 0x270, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR29

GTZC1 SRAM1 MPCBB privileged configuration for super-block 29 register

Offset: 0x274, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR30

GTZC1 SRAM1 MPCBB privileged configuration for super-block 30 register

Offset: 0x278, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB1_PRIVCFGR31

GTZC1 SRAM1 MPCBB privileged configuration for super-block 31 register

Offset: 0x27c, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR0

GTZC1 SRAM2 MPCBB privileged configuration for super-block 0 register

Offset: 0x600, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR1

GTZC1 SRAM2 MPCBB privileged configuration for super-block 1 register

Offset: 0x604, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR2

GTZC1 SRAM2 MPCBB privileged configuration for super-block 2 register

Offset: 0x608, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR3

GTZC1 SRAM2 MPCBB privileged configuration for super-block 3 register

Offset: 0x60c, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR4

GTZC1 SRAM2 MPCBB privileged configuration for super-block 4 register

Offset: 0x610, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR5

GTZC1 SRAM2 MPCBB privileged configuration for super-block 5 register

Offset: 0x614, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR6

GTZC1 SRAM2 MPCBB privileged configuration for super-block 6 register

Offset: 0x618, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR7

GTZC1 SRAM2 MPCBB privileged configuration for super-block 7 register

Offset: 0x61c, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR8

GTZC1 SRAM2 MPCBB privileged configuration for super-block 8 register

Offset: 0x620, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR9

GTZC1 SRAM2 MPCBB privileged configuration for super-block 9 register

Offset: 0x624, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR10

GTZC1 SRAM2 MPCBB privileged configuration for super-block 10 register

Offset: 0x628, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR11

GTZC1 SRAM2 MPCBB privileged configuration for super-block 11 register

Offset: 0x62c, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR12

GTZC1 SRAM2 MPCBB privileged configuration for super-block 12 register

Offset: 0x630, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR13

GTZC1 SRAM2 MPCBB privileged configuration for super-block 13 register

Offset: 0x634, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR14

GTZC1 SRAM2 MPCBB privileged configuration for super-block 14 register

Offset: 0x638, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR15

GTZC1 SRAM2 MPCBB privileged configuration for super-block 15 register

Offset: 0x63c, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR16

GTZC1 SRAM2 MPCBB privileged configuration for super-block 16 register

Offset: 0x640, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR17

GTZC1 SRAM2 MPCBB privileged configuration for super-block 17 register

Offset: 0x644, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR18

GTZC1 SRAM2 MPCBB privileged configuration for super-block 18 register

Offset: 0x648, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR19

GTZC1 SRAM2 MPCBB privileged configuration for super-block 19 register

Offset: 0x64c, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR20

GTZC1 SRAM2 MPCBB privileged configuration for super-block 20 register

Offset: 0x650, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR21

GTZC1 SRAM2 MPCBB privileged configuration for super-block 21 register

Offset: 0x654, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR22

GTZC1 SRAM2 MPCBB privileged configuration for super-block 22 register

Offset: 0x658, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR23

GTZC1 SRAM2 MPCBB privileged configuration for super-block 23 register

Offset: 0x65c, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR24

GTZC1 SRAM2 MPCBB privileged configuration for super-block 24 register

Offset: 0x660, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR25

GTZC1 SRAM2 MPCBB privileged configuration for super-block 25 register

Offset: 0x664, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR26

GTZC1 SRAM2 MPCBB privileged configuration for super-block 26 register

Offset: 0x668, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR27

GTZC1 SRAM2 MPCBB privileged configuration for super-block 27 register

Offset: 0x66c, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR28

GTZC1 SRAM2 MPCBB privileged configuration for super-block 28 register

Offset: 0x670, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR29

GTZC1 SRAM2 MPCBB privileged configuration for super-block 29 register

Offset: 0x674, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR30

GTZC1 SRAM2 MPCBB privileged configuration for super-block 30 register

Offset: 0x678, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

GTZC1_MPCBB2_PRIVCFGR31

GTZC1 SRAM2 MPCBB privileged configuration for super-block 31 register

Offset: 0x67c, size: 32, reset: 0x00000000, access: Unspecified

0/32 fields covered.

Toggle fields

PRIV0

Bit 0: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV1

Bit 1: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV2

Bit 2: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV3

Bit 3: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV4

Bit 4: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV5

Bit 5: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV6

Bit 6: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV7

Bit 7: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV8

Bit 8: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV9

Bit 9: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV10

Bit 10: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV11

Bit 11: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV12

Bit 12: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV13

Bit 13: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV14

Bit 14: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV15

Bit 15: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV16

Bit 16: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV17

Bit 17: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV18

Bit 18: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV19

Bit 19: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV20

Bit 20: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV21

Bit 21: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV22

Bit 22: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV23

Bit 23: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV24

Bit 24: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV25

Bit 25: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV26

Bit 26: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV27

Bit 27: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV28

Bit 28: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV29

Bit 29: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV30

Bit 30: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

PRIV31

Bit 31: Privileged configuration for block y, belonging to super-block x (y = 31 to 0)..

HASH

0x420c0400: Hash processor

20/88 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CR
0x4 DIN
0x8 STR
0xc HRA0
0x10 HRA1
0x14 HRA2
0x18 HRA3
0x1c HRA4
0x20 IMR
0x24 SR
0xf8 CSR0
0xfc CSR1
0x100 CSR2
0x104 CSR3
0x108 CSR4
0x10c CSR5
0x110 CSR6
0x114 CSR7
0x118 CSR8
0x11c CSR9
0x120 CSR10
0x124 CSR11
0x128 CSR12
0x12c CSR13
0x130 CSR14
0x134 CSR15
0x138 CSR16
0x13c CSR17
0x140 CSR18
0x144 CSR19
0x148 CSR20
0x14c CSR21
0x150 CSR22
0x154 CSR23
0x158 CSR24
0x15c CSR25
0x160 CSR26
0x164 CSR27
0x168 CSR28
0x16c CSR29
0x170 CSR30
0x174 CSR31
0x178 CSR32
0x17c CSR33
0x180 CSR34
0x184 CSR35
0x188 CSR36
0x18c CSR37
0x190 CSR38
0x194 CSR39
0x198 CSR40
0x19c CSR41
0x1a0 CSR42
0x1a4 CSR43
0x1a8 CSR44
0x1ac CSR45
0x1b0 CSR46
0x1b4 CSR47
0x1b8 CSR48
0x1bc CSR49
0x1c0 CSR50
0x1c4 CSR51
0x1c8 CSR52
0x1cc CSR53
0x310 HR0
0x314 HR1
0x318 HR2
0x31c HR3
0x320 HR4
0x324 HR5
0x328 HR6
0x32c HR7
Toggle registers

CR

HASH control register

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

2/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ALGO
rw
LKEY
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MDMAT
rw
DINNE
r
NBW
r
MODE
rw
DATATYPE
rw
DMAE
rw
INIT
rw
Toggle fields

INIT

Bit 2: Initialize message digest calculation Writing this bit to 1 resets the hash processor core, so that the HASH is ready to compute the message digest of a new message. Writing this bit to 0 has no effect. Reading this bit always returns 0..

DMAE

Bit 3: DMA enable After this bit is set, it is cleared by hardware while the last data of the message is written into the hash processor. Setting this bit to 0 while a DMA transfer is ongoing does not abort the current transfer. Instead, the DMA interface of the HASH remains internally enabled until the transfer is completed or INIT is written to 1. Setting INIT bit to 1 does not clear DMAE bit..

DATATYPE

Bits 4-5: Data type selection This bitfield defines the format of the data entered into the HASH_DIN register:.

MODE

Bit 6: Mode selection This bit selects the normal or the keyed HMAC mode for the selected algorithm: This selection is only taken into account when the INIT bit is set. Changing this bit during a computation has no effect..

NBW

Bits 8-11: Number of words already pushed Refer to NBWP[3:0] bitfield of HASH_SR for a description of NBW[3:0] bitfield. This bit is read-only..

DINNE

Bit 12: DIN not empty Refer to DINNE bit of HASH_SR for a description of DINNE bit. This bit is read-only..

MDMAT

Bit 13: Multiple DMA transfers This bit is set when hashing large files when multiple DMA transfers are needed..

LKEY

Bit 16: Long key selection The application must set this bit if the HMAC key is greater than the block size (64 bytes) This selection is only taken into account when the INIT and MODE bits are set (HMAC mode selected). Changing this bit during a computation has no effect..

ALGO

Bits 17-18: Algorithm selection These bits select the hash algorithm: This selection is only taken into account when the INIT bit is set. Changing this bitfield during a computation has no effect. When the ALGO bitfield is updated and INIT bit is set, NBWE in HASH_SR is automatically updated to 0x11..

DIN

HASH data input register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DATAIN
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DATAIN
w
Toggle fields

DATAIN

Bits 0-31: Data input Writing this register pushes the current register content into the FIFO, and the register takes the new value presented on the AHB bus. Reading this register returns zeros..

STR

HASH start register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DCAL
rw
NBLW
rw
Toggle fields

NBLW

Bits 0-4: Number of valid bits in the last word When the last word of the message bit string is written to HASH_DIN register, the hash processor takes only the valid bits, specified as below, after internal data swapping: ... The above mechanism is valid only if DCAL = 0. If NBLW bits are written while DCAL is set to 1, the NBLW bitfield remains unchanged. In other words it is not possible to configure NBLW and set DCAL at the same time. Reading NBLW bits returns the last value written to NBLW..

DCAL

Bit 8: Digest calculation Writing this bit to 1 starts the message padding using the previously written value of NBLW, and starts the calculation of the final message digest with all the data words written to the input FIFO since the INIT bit was last written to 1. Reading this bit returns 0..

HRA0

HASH aliased digest register 0

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
H0
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
H0
r
Toggle fields

H0

Bits 0-31: Hash data x Refer to Section 24.7.4: HASH digest registers introduction..

HRA1

HASH aliased digest register 1

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
H1
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
H1
r
Toggle fields

H1

Bits 0-31: Hash data x Refer to Section 24.7.4: HASH digest registers introduction..

HRA2

HASH aliased digest register 2

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
H2
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
H2
r
Toggle fields

H2

Bits 0-31: Hash data x Refer to Section 24.7.4: HASH digest registers introduction..

HRA3

HASH aliased digest register 3

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
H3
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
H3
r
Toggle fields

H3

Bits 0-31: Hash data x Refer to Section 24.7.4: HASH digest registers introduction..

HRA4

HASH aliased digest register 4

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
H4
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
H4
r
Toggle fields

H4

Bits 0-31: Hash data x Refer to Section 24.7.4: HASH digest registers introduction..

IMR

HASH interrupt enable register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DCIE
rw
DINIE
rw
Toggle fields

DINIE

Bit 0: Data input interrupt enable.

DCIE

Bit 1: Digest calculation completion interrupt enable.

SR

HASH status register

Offset: 0x24, size: 32, reset: 0x00110001, access: Unspecified

5/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
NBWE
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DINNE
r
NBWP
r
BUSY
r
DMAS
r
DCIS
rw
DINIS
rw
Toggle fields

DINIS

Bit 0: Data input interrupt status This bit is set by hardware when the FIFO is ready to get a new block (16 locations are free). It is cleared by writing it to 0 or by writing the HASH_DIN register. When DINIS = 0, HASH_CSRx registers reads as zero..

DCIS

Bit 1: Digest calculation completion interrupt status This bit is set by hardware when a digest becomes ready (the whole message has been processed). It is cleared by writing it to 0 or by writing the INIT bit to 1 in the HASH_CR register..

DMAS

Bit 2: DMA Status This bit provides information on the DMA interface activity. It is set with DMAE and cleared when DMAE = 0 and no DMA transfer is ongoing. No interrupt is associated with this bit..

BUSY

Bit 3: Busy bit.

NBWP

Bits 9-13: Number of words already pushed This bitfield is the exact number of words in the message that have already been pushed into the FIFO. NBWP is incremented by 1 when a write access is performed to the HASH_DIN register. When a digest calculation starts, NBWP is updated to NBWP- block size (in words), and NBWP goes to zero when the INIT bit is written to 1..

DINNE

Bit 15: DIN not empty This bit is set when the HASH_DIN register holds valid data (that is after being written at least once). It is cleared when either the INIT bit (initialization) or the DCAL bit (completion of the previous message processing) is written to 1..

NBWE

Bits 16-20: Number of words expected This bitfield reflects the number of words in the message that must be pushed into the FIFO to trigger a partial computation. NBWE is decremented by 1 when a write access is performed to the HASH_DIN register. NBWE is set to the expected block size +1 in words (0x11) when INIT bit is set in HASH_CR. It is set to the expected block size (0x10) when the partial digest calculation ends..

CSR0

HASH context swap register 0

Offset: 0xf8, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS0
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS0
rw
Toggle fields

CS0

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR1

HASH context swap register 1

Offset: 0xfc, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS1
rw
Toggle fields

CS1

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR2

HASH context swap register 2

Offset: 0x100, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS2
rw
Toggle fields

CS2

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR3

HASH context swap register 3

Offset: 0x104, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS3
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS3
rw
Toggle fields

CS3

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR4

HASH context swap register 4

Offset: 0x108, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS4
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS4
rw
Toggle fields

CS4

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR5

HASH context swap register 5

Offset: 0x10c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS5
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS5
rw
Toggle fields

CS5

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR6

HASH context swap register 6

Offset: 0x110, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS6
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS6
rw
Toggle fields

CS6

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR7

HASH context swap register 7

Offset: 0x114, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS7
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS7
rw
Toggle fields

CS7

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR8

HASH context swap register 8

Offset: 0x118, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS8
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS8
rw
Toggle fields

CS8

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR9

HASH context swap register 9

Offset: 0x11c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS9
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS9
rw
Toggle fields

CS9

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR10

HASH context swap register 10

Offset: 0x120, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS10
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS10
rw
Toggle fields

CS10

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR11

HASH context swap register 11

Offset: 0x124, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS11
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS11
rw
Toggle fields

CS11

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR12

HASH context swap register 12

Offset: 0x128, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS12
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS12
rw
Toggle fields

CS12

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR13

HASH context swap register 13

Offset: 0x12c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS13
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS13
rw
Toggle fields

CS13

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR14

HASH context swap register 14

Offset: 0x130, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS14
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS14
rw
Toggle fields

CS14

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR15

HASH context swap register 15

Offset: 0x134, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS15
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS15
rw
Toggle fields

CS15

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR16

HASH context swap register 16

Offset: 0x138, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS16
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS16
rw
Toggle fields

CS16

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR17

HASH context swap register 17

Offset: 0x13c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS17
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS17
rw
Toggle fields

CS17

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR18

HASH context swap register 18

Offset: 0x140, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS18
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS18
rw
Toggle fields

CS18

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR19

HASH context swap register 19

Offset: 0x144, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS19
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS19
rw
Toggle fields

CS19

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR20

HASH context swap register 20

Offset: 0x148, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS20
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS20
rw
Toggle fields

CS20

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR21

HASH context swap register 21

Offset: 0x14c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS21
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS21
rw
Toggle fields

CS21

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR22

HASH context swap register 22

Offset: 0x150, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS22
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS22
rw
Toggle fields

CS22

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR23

HASH context swap register 23

Offset: 0x154, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS23
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS23
rw
Toggle fields

CS23

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR24

HASH context swap register 24

Offset: 0x158, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS24
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS24
rw
Toggle fields

CS24

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR25

HASH context swap register 25

Offset: 0x15c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS25
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS25
rw
Toggle fields

CS25

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR26

HASH context swap register 26

Offset: 0x160, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS26
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS26
rw
Toggle fields

CS26

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR27

HASH context swap register 27

Offset: 0x164, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS27
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS27
rw
Toggle fields

CS27

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR28

HASH context swap register 28

Offset: 0x168, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS28
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS28
rw
Toggle fields

CS28

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR29

HASH context swap register 29

Offset: 0x16c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS29
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS29
rw
Toggle fields

CS29

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR30

HASH context swap register 30

Offset: 0x170, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS30
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS30
rw
Toggle fields

CS30

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR31

HASH context swap register 31

Offset: 0x174, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS31
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS31
rw
Toggle fields

CS31

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR32

HASH context swap register 32

Offset: 0x178, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS32
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS32
rw
Toggle fields

CS32

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR33

HASH context swap register 33

Offset: 0x17c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS33
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS33
rw
Toggle fields

CS33

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR34

HASH context swap register 34

Offset: 0x180, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS34
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS34
rw
Toggle fields

CS34

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR35

HASH context swap register 35

Offset: 0x184, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS35
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS35
rw
Toggle fields

CS35

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR36

HASH context swap register 36

Offset: 0x188, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS36
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS36
rw
Toggle fields

CS36

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR37

HASH context swap register 37

Offset: 0x18c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS37
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS37
rw
Toggle fields

CS37

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR38

HASH context swap register 38

Offset: 0x190, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS38
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS38
rw
Toggle fields

CS38

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR39

HASH context swap register 39

Offset: 0x194, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS39
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS39
rw
Toggle fields

CS39

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR40

HASH context swap register 40

Offset: 0x198, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS40
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS40
rw
Toggle fields

CS40

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR41

HASH context swap register 41

Offset: 0x19c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS41
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS41
rw
Toggle fields

CS41

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR42

HASH context swap register 42

Offset: 0x1a0, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS42
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS42
rw
Toggle fields

CS42

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR43

HASH context swap register 43

Offset: 0x1a4, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS43
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS43
rw
Toggle fields

CS43

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR44

HASH context swap register 44

Offset: 0x1a8, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS44
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS44
rw
Toggle fields

CS44

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR45

HASH context swap register 45

Offset: 0x1ac, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS45
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS45
rw
Toggle fields

CS45

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR46

HASH context swap register 46

Offset: 0x1b0, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS46
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS46
rw
Toggle fields

CS46

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR47

HASH context swap register 47

Offset: 0x1b4, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS47
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS47
rw
Toggle fields

CS47

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR48

HASH context swap register 48

Offset: 0x1b8, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS48
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS48
rw
Toggle fields

CS48

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR49

HASH context swap register 49

Offset: 0x1bc, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS49
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS49
rw
Toggle fields

CS49

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR50

HASH context swap register 50

Offset: 0x1c0, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS50
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS50
rw
Toggle fields

CS50

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR51

HASH context swap register 51

Offset: 0x1c4, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS51
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS51
rw
Toggle fields

CS51

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR52

HASH context swap register 52

Offset: 0x1c8, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS52
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS52
rw
Toggle fields

CS52

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

CSR53

HASH context swap register 53

Offset: 0x1cc, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CS53
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CS53
rw
Toggle fields

CS53

Bits 0-31: Context swap x Refer to Section 24.7.7: HASH context swap registers introduction..

HR0

HASH digest register 0

Offset: 0x310, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
H0
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
H0
r
Toggle fields

H0

Bits 0-31: Hash data x Refer to Section 24.7.4: HASH digest registers introduction..

HR1

HASH digest register 1

Offset: 0x314, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
H1
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
H1
r
Toggle fields

H1

Bits 0-31: Hash data x Refer to Section 24.7.4: HASH digest registers introduction..

HR2

HASH digest register 2

Offset: 0x318, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
H2
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
H2
r
Toggle fields

H2

Bits 0-31: Hash data x Refer to Section 24.7.4: HASH digest registers introduction..

HR3

HASH digest register 3

Offset: 0x31c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
H3
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
H3
r
Toggle fields

H3

Bits 0-31: Hash data x Refer to Section 24.7.4: HASH digest registers introduction..

HR4

HASH digest register 4

Offset: 0x320, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
H4
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
H4
r
Toggle fields

H4

Bits 0-31: Hash data x Refer to Section 24.7.4: HASH digest registers introduction..

HR5

HASH supplementary digest register 5

Offset: 0x324, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
H5
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
H5
r
Toggle fields

H5

Bits 0-31: Hash data x Refer to Section 24.7.4: HASH digest registers introduction..

HR6

HASH supplementary digest register 6

Offset: 0x328, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
H6
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
H6
r
Toggle fields

H6

Bits 0-31: Hash data x Refer to Section 24.7.4: HASH digest registers introduction..

HR7

HASH supplementary digest register 7

Offset: 0x32c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
H7
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
H7
r
Toggle fields

H7

Bits 0-31: Hash data x Refer to Section 24.7.4: HASH digest registers introduction..

I2C1

0x40005400: Inter-integrated circuit

79/79 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CR1
0x4 CR2
0x8 OAR1
0xc OAR2
0x10 TIMINGR
0x14 TIMEOUTR
0x18 ISR
0x1c ICR
0x20 PECR
0x24 RXDR
0x28 TXDR
Toggle registers

CR1

I2C control register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

23/23 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
STOPFACLR
rw
ADDRACLR
rw
FMP
rw
PECEN
rw
ALERTEN
rw
SMBDEN
rw
SMBHEN
rw
GCEN
rw
WUPEN
rw
NOSTRETCH
rw
SBC
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXDMAEN
rw
TXDMAEN
rw
ANFOFF
rw
DNF
rw
ERRIE
rw
TCIE
rw
STOPIE
rw
NACKIE
rw
ADDRIE
rw
RXIE
rw
TXIE
rw
PE
rw
Toggle fields

PE

Bit 0: Peripheral enable Note: When PE=0, the I2C SCL and SDA lines are released. Internal state machines and status bits are put back to their reset value. When cleared, PE must be kept low for at least 3 APB clock cycles..

Allowed values:
0: Disabled: Peripheral disabled
1: Enabled: Peripheral enabled

TXIE

Bit 1: TX Interrupt enable.

Allowed values:
0: Disabled: Transmit (TXIS) interrupt disabled
1: Enabled: Transmit (TXIS) interrupt enabled

RXIE

Bit 2: RX Interrupt enable.

Allowed values:
0: Disabled: Receive (RXNE) interrupt disabled
1: Enabled: Receive (RXNE) interrupt enabled

ADDRIE

Bit 3: Address match Interrupt enable (slave only).

Allowed values:
0: Disabled: Address match (ADDR) interrupts disabled
1: Enabled: Address match (ADDR) interrupts enabled

NACKIE

Bit 4: Not acknowledge received Interrupt enable.

Allowed values:
0: Disabled: Not acknowledge (NACKF) received interrupts disabled
1: Enabled: Not acknowledge (NACKF) received interrupts enabled

STOPIE

Bit 5: Stop detection Interrupt enable.

Allowed values:
0: Disabled: Stop detection (STOPF) interrupt disabled
1: Enabled: Stop detection (STOPF) interrupt enabled

TCIE

Bit 6: Transfer Complete interrupt enable Note: Any of these events generate an interrupt: Transfer Complete (TC) Transfer Complete Reload (TCR).

Allowed values:
0: Disabled: Transfer Complete interrupt disabled
1: Enabled: Transfer Complete interrupt enabled

ERRIE

Bit 7: Error interrupts enable Note: Any of these errors generate an interrupt: Arbitration Loss (ARLO) Bus Error detection (BERR) Overrun/Underrun (OVR) Timeout detection (TIMEOUT) PEC error detection (PECERR) Alert pin event detection (ALERT).

Allowed values:
0: Disabled: Error detection interrupts disabled
1: Enabled: Error detection interrupts enabled

DNF

Bits 8-11: Digital noise filter These bits are used to configure the digital noise filter on SDA and SCL input. The digital filter, filters spikes with a length of up to DNF[3:0] * tI2CCLK ... Note: If the analog filter is also enabled, the digital filter is added to the analog filter. This filter can only be programmed when the I2C is disabled (PE = 0)..

Allowed values:
0: NoFilter: Digital filter disabled
1: Filter1: Digital filter enabled and filtering capability up to 1 tI2CCLK
2: Filter2: Digital filter enabled and filtering capability up to 2 tI2CCLK
3: Filter3: Digital filter enabled and filtering capability up to 3 tI2CCLK
4: Filter4: Digital filter enabled and filtering capability up to 4 tI2CCLK
5: Filter5: Digital filter enabled and filtering capability up to 5 tI2CCLK
6: Filter6: Digital filter enabled and filtering capability up to 6 tI2CCLK
7: Filter7: Digital filter enabled and filtering capability up to 7 tI2CCLK
8: Filter8: Digital filter enabled and filtering capability up to 8 tI2CCLK
9: Filter9: Digital filter enabled and filtering capability up to 9 tI2CCLK
10: Filter10: Digital filter enabled and filtering capability up to 10 tI2CCLK
11: Filter11: Digital filter enabled and filtering capability up to 11 tI2CCLK
12: Filter12: Digital filter enabled and filtering capability up to 12 tI2CCLK
13: Filter13: Digital filter enabled and filtering capability up to 13 tI2CCLK
14: Filter14: Digital filter enabled and filtering capability up to 14 tI2CCLK
15: Filter15: Digital filter enabled and filtering capability up to 15 tI2CCLK

ANFOFF

Bit 12: Analog noise filter OFF Note: This bit can only be programmed when the I2C is disabled (PE = 0)..

Allowed values:
0: Enabled: Analog noise filter enabled
1: Disabled: Analog noise filter disabled

TXDMAEN

Bit 14: DMA transmission requests enable.

Allowed values:
0: Disabled: DMA mode disabled for transmission
1: Enabled: DMA mode enabled for transmission

RXDMAEN

Bit 15: DMA reception requests enable.

Allowed values:
0: Disabled: DMA mode disabled for reception
1: Enabled: DMA mode enabled for reception

SBC

Bit 16: Slave byte control This bit is used to enable hardware byte control in slave mode..

Allowed values:
0: Disabled: Slave byte control disabled
1: Enabled: Slave byte control enabled

NOSTRETCH

Bit 17: Clock stretching disable This bit is used to disable clock stretching in slave mode. It must be kept cleared in master mode. Note: This bit can only be programmed when the I2C is disabled (PE = 0)..

Allowed values:
0: Enabled: Clock stretching enabled
1: Disabled: Clock stretching disabled

WUPEN

Bit 18: Wakeup from Stop mode enable Note: If the Wakeup from Stop mode feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to . Note: WUPEN can be set only when DNF = ‘0000’.

Allowed values:
0: Disabled: Wakeup from Stop mode disabled
1: Enabled: Wakeup from Stop mode enabled

GCEN

Bit 19: General call enable.

Allowed values:
0: Disabled: General call disabled. Address 0b00000000 is NACKed
1: Enabled: General call enabled. Address 0b00000000 is ACKed

SMBHEN

Bit 20: SMBus host address enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
0: Disabled: Host address disabled. Address 0b0001000x is NACKed
1: Enabled: Host address enabled. Address 0b0001000x is ACKed

SMBDEN

Bit 21: SMBus device default address enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
0: Disabled: Device default address disabled. Address 0b1100001x is NACKed
1: Enabled: Device default address enabled. Address 0b1100001x is ACKed

ALERTEN

Bit 22: SMBus alert enable Note: When ALERTEN=0, the SMBA pin can be used as a standard GPIO. If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
0: Disabled: In device mode (SMBHEN=Disabled) Releases SMBA pin high and Alert Response Address Header disabled (0001100x) followed by NACK. In host mode (SMBHEN=Enabled) SMBus Alert pin (SMBA) not supported
1: Enabled: In device mode (SMBHEN=Disabled) Drives SMBA pin low and Alert Response Address Header enabled (0001100x) followed by ACK.In host mode (SMBHEN=Enabled) SMBus Alert pin (SMBA) supported

PECEN

Bit 23: PEC enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
0: Disabled: PEC calculation disabled
1: Enabled: PEC calculation enabled

FMP

Bit 24: Fast-mode Plus 20 mA drive enable.

Allowed values:
0: Disabled: 20 mA I/O drive disabled
1: Enabled: 20 mA I/O drive enabled

ADDRACLR

Bit 30: Address match flag (ADDR) automatic clear.

Allowed values:
0: Disabled: ADDR flag is set by hardware, cleared by software
1: Enabled: ADDR flag remains cleared by hardware

STOPFACLR

Bit 31: STOP detection flag (STOPF) automatic clear.

Allowed values:
0: Disabled: STOPF flag is set by hardware, cleared by software
1: Enabled: STOPF flag remains cleared by hardware

CR2

I2C control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

11/11 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PECBYTE
rw
AUTOEND
rw
RELOAD
rw
NBYTES
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NACK
rw
STOP
rw
START
rw
HEAD10R
rw
ADD10
rw
RD_WRN
rw
SADD
rw
Toggle fields

SADD

Bits 0-9: Slave address (master mode) In 7-bit addressing mode (ADD10 = 0): SADD[7:1] should be written with the 7-bit slave address to be sent. The bits SADD[9], SADD[8] and SADD[0] are don't care. In 10-bit addressing mode (ADD10 = 1): SADD[9:0] should be written with the 10-bit slave address to be sent. Note: Changing these bits when the START bit is set is not allowed..

Allowed values: 0x0-0x3ff

RD_WRN

Bit 10: Transfer direction (master mode) Note: Changing this bit when the START bit is set is not allowed..

Allowed values:
0: Write: Master requests a write transfer
1: Read: Master requests a read transfer

ADD10

Bit 11: 10-bit addressing mode (master mode) Note: Changing this bit when the START bit is set is not allowed..

Allowed values:
0: Bit7: The master operates in 7-bit addressing mode
1: Bit10: The master operates in 10-bit addressing mode

HEAD10R

Bit 12: 10-bit address header only read direction (master receiver mode) Note: Changing this bit when the START bit is set is not allowed..

Allowed values:
0: Complete: The master sends the complete 10 bit slave address read sequence
1: Partial: The master only sends the 1st 7 bits of the 10 bit address, followed by Read direction

START

Bit 13: Start generation This bit is set by software, and cleared by hardware after the Start followed by the address sequence is sent, by an arbitration loss, by an address matched in slave mode, by a timeout error detection, or when PE = 0. If the I2C is already in master mode with AUTOEND = 0, setting this bit generates a Repeated Start condition when RELOAD=0, after the end of the NBYTES transfer. Otherwise setting this bit generates a START condition once the bus is free. Note: Writing ‘0’ to this bit has no effect. The START bit can be set even if the bus is BUSY or I2C is in slave mode. This bit has no effect when RELOAD is set..

Allowed values:
0: NoStart: No Start generation
1: Start: Restart/Start generation

STOP

Bit 14: Stop generation (master mode) The bit is set by software, cleared by hardware when a STOP condition is detected, or when PE = 0. In Master Mode: Note: Writing ‘0’ to this bit has no effect..

Allowed values:
0: NoStop: No Stop generation
1: Stop: Stop generation after current byte transfer

NACK

Bit 15: NACK generation (slave mode) The bit is set by software, cleared by hardware when the NACK is sent, or when a STOP condition or an Address matched is received, or when PE=0. Note: Writing ‘0’ to this bit has no effect. This bit is used in slave mode only: in master receiver mode, NACK is automatically generated after last byte preceding STOP or RESTART condition, whatever the NACK bit value. When an overrun occurs in slave receiver NOSTRETCH mode, a NACK is automatically generated whatever the NACK bit value. When hardware PEC checking is enabled (PECBYTE=1), the PEC acknowledge value does not depend on the NACK value..

Allowed values:
0: Ack: an ACK is sent after current received byte
1: Nack: a NACK is sent after current received byte

NBYTES

Bits 16-23: Number of bytes The number of bytes to be transmitted/received is programmed there. This field is don’t care in slave mode with SBC=0. Note: Changing these bits when the START bit is set is not allowed..

Allowed values: 0x0-0xff

RELOAD

Bit 24: NBYTES reload mode This bit is set and cleared by software..

Allowed values:
0: Completed: The transfer is completed after the NBYTES data transfer (STOP or RESTART will follow)
1: NotCompleted: The transfer is not completed after the NBYTES data transfer (NBYTES will be reloaded)

AUTOEND

Bit 25: Automatic end mode (master mode) This bit is set and cleared by software. Note: This bit has no effect in slave mode or when the RELOAD bit is set..

Allowed values:
0: Software: Software end mode: TC flag is set when NBYTES data are transferred, stretching SCL low
1: Automatic: Automatic end mode: a STOP condition is automatically sent when NBYTES data are transferred

PECBYTE

Bit 26: Packet error checking byte This bit is set by software, and cleared by hardware when the PEC is transferred, or when a STOP condition or an Address matched is received, also when PE=0. Note: Writing ‘0’ to this bit has no effect. This bit has no effect when RELOAD is set. This bit has no effect is slave mode when SBC=0. If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
0: NoPec: No PEC transfer
1: Pec: PEC transmission/reception is requested

OAR1

I2C own address 1 register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OA1EN
rw
OA1MODE
rw
OA1
rw
Toggle fields

OA1

Bits 0-9: Interface own slave address 7-bit addressing mode: OA1[7:1] contains the 7-bit own slave address. The bits OA1[9], OA1[8] and OA1[0] are don't care. 10-bit addressing mode: OA1[9:0] contains the 10-bit own slave address. Note: These bits can be written only when OA1EN=0..

Allowed values: 0x0-0x3ff

OA1MODE

Bit 10: Own Address 1 10-bit mode Note: This bit can be written only when OA1EN=0..

Allowed values:
0: Bit7: Own address 1 is a 7-bit address
1: Bit10: Own address 1 is a 10-bit address

OA1EN

Bit 15: Own Address 1 enable.

Allowed values:
0: Disabled: Own address 1 disabled. The received slave address OA1 is NACKed
1: Enabled: Own address 1 enabled. The received slave address OA1 is ACKed

OAR2

I2C own address 2 register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OA2EN
rw
OA2MSK
rw
OA2
rw
Toggle fields

OA2

Bits 1-7: Interface address 7-bit addressing mode: 7-bit address Note: These bits can be written only when OA2EN=0..

Allowed values: 0x0-0x7f

OA2MSK

Bits 8-10: Own Address 2 masks Note: These bits can be written only when OA2EN=0. As soon as OA2MSK is not equal to 0, the reserved I2C addresses (0b0000xxx and 0b1111xxx) are not acknowledged even if the comparison matches..

Allowed values:
0: NoMask: No mask
1: Mask1: OA2[1] is masked and don’t care. Only OA2[7:2] are compared
2: Mask2: OA2[2:1] are masked and don’t care. Only OA2[7:3] are compared
3: Mask3: OA2[3:1] are masked and don’t care. Only OA2[7:4] are compared
4: Mask4: OA2[4:1] are masked and don’t care. Only OA2[7:5] are compared
5: Mask5: OA2[5:1] are masked and don’t care. Only OA2[7:6] are compared
6: Mask6: OA2[6:1] are masked and don’t care. Only OA2[7] is compared.
7: Mask7: OA2[7:1] are masked and don’t care. No comparison is done, and all (except reserved) 7-bit received addresses are acknowledged

OA2EN

Bit 15: Own Address 2 enable.

Allowed values:
0: Disabled: Own address 2 disabled. The received slave address OA2 is NACKed
1: Enabled: Own address 2 enabled. The received slave address OA2 is ACKed

TIMINGR

I2C timing register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRESC
rw
SCLDEL
rw
SDADEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SCLH
rw
SCLL
rw
Toggle fields

SCLL

Bits 0-7: SCL low period (master mode) This field is used to generate the SCL low period in master mode. tSCLL = (SCLL+1) x tPRESC Note: SCLL is also used to generate tBUF and tSU:STA timings..

Allowed values: 0x0-0xff

SCLH

Bits 8-15: SCL high period (master mode) This field is used to generate the SCL high period in master mode. tSCLH = (SCLH+1) x tPRESC Note: SCLH is also used to generate tSU:STO and tHD:STA timing..

Allowed values: 0x0-0xff

SDADEL

Bits 16-19: Data hold time This field is used to generate the delay tSDADEL between SCL falling edge and SDA edge. In master mode and in slave mode with NOSTRETCH = 0, the SCL line is stretched low during tSDADEL. tSDADEL= SDADEL x tPRESC Note: SDADEL is used to generate tHD:DAT timing..

Allowed values: 0x0-0xf

SCLDEL

Bits 20-23: Data setup time This field is used to generate a delay tSCLDEL between SDA edge and SCL rising edge. In master mode and in slave mode with NOSTRETCH = 0, the SCL line is stretched low during tSCLDEL. tSCLDEL = (SCLDEL+1) x tPRESC Note: tSCLDEL is used to generate tSU:DAT timing..

Allowed values: 0x0-0xf

PRESC

Bits 28-31: Timing prescaler This field is used to prescale i2c_ker_ck in order to generate the clock period tPRESC used for data setup and hold counters (refer to ) and for SCL high and low level counters (refer to ). tPRESC = (PRESC+1) x tI2CCLK.

Allowed values: 0x0-0xf

TIMEOUTR

I2C timeout register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TEXTEN
rw
TIMEOUTB
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TIMOUTEN
rw
TIDLE
rw
TIMEOUTA
rw
Toggle fields

TIMEOUTA

Bits 0-11: Bus Timeout A This field is used to configure: The SCL low timeout condition tTIMEOUT when TIDLE=0 tTIMEOUT= (TIMEOUTA+1) x 2048 x tI2CCLK The bus idle condition (both SCL and SDA high) when TIDLE=1 tIDLE= (TIMEOUTA+1) x 4 x tI2CCLK Note: These bits can be written only when TIMOUTEN=0..

Allowed values: 0x0-0xfff

TIDLE

Bit 12: Idle clock timeout detection Note: This bit can be written only when TIMOUTEN=0..

Allowed values:
0: Disabled: TIMEOUTA is used to detect SCL low timeout
1: Enabled: TIMEOUTA is used to detect both SCL and SDA high timeout (bus idle condition)

TIMOUTEN

Bit 15: Clock timeout enable.

Allowed values:
0: Disabled: SCL timeout detection is disabled
1: Enabled: SCL timeout detection is enabled

TIMEOUTB

Bits 16-27: Bus timeout B This field is used to configure the cumulative clock extension timeout: In master mode, the master cumulative clock low extend time (tLOW:MEXT) is detected In slave mode, the slave cumulative clock low extend time (tLOW:SEXT) is detected tLOW:EXT= (TIMEOUTB+1) x 2048 x tI2CCLK Note: These bits can be written only when TEXTEN=0..

Allowed values: 0x0-0xfff

TEXTEN

Bit 31: Extended clock timeout enable.

Allowed values:
0: Disabled: Extended clock timeout detection is disabled
1: Enabled: Extended clock timeout detection is enabled

ISR

I2C interrupt and status register

Offset: 0x18, size: 32, reset: 0x00000001, access: Unspecified

17/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADDCODE
r
DIR
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BUSY
r
ALERT
r
TIMEOUT
r
PECERR
r
OVR
r
ARLO
r
BERR
r
TCR
r
TC
r
STOPF
r
NACKF
r
ADDR
r
RXNE
r
TXIS
rw
TXE
rw
Toggle fields

TXE

Bit 0: Transmit data register empty (transmitters) This bit is set by hardware when the I2C_TXDR register is empty. It is cleared when the next data to be sent is written in the I2C_TXDR register. This bit can be written to ‘1’ by software in order to flush the transmit data register I2C_TXDR. Note: This bit is set by hardware when PE=0..

Allowed values:
0: NotEmpty: TXDR register not empty
1: Empty: TXDR register empty

TXIS

Bit 1: Transmit interrupt status (transmitters) This bit is set by hardware when the I2C_TXDR register is empty and the data to be transmitted must be written in the I2C_TXDR register. It is cleared when the next data to be sent is written in the I2C_TXDR register. This bit can be written to ‘1’ by software when NOSTRETCH=1 only, in order to generate a TXIS event (interrupt if TXIE=1 or DMA request if TXDMAEN=1). Note: This bit is cleared by hardware when PE=0..

Allowed values:
0: NotEmpty: The TXDR register is not empty
1: Empty: The TXDR register is empty and the data to be transmitted must be written in the TXDR register

RXNE

Bit 2: Receive data register not empty (receivers) This bit is set by hardware when the received data is copied into the I2C_RXDR register, and is ready to be read. It is cleared when I2C_RXDR is read. Note: This bit is cleared by hardware when PE=0..

Allowed values:
0: Empty: The RXDR register is empty
1: NotEmpty: Received data is copied into the RXDR register, and is ready to be read

ADDR

Bit 3: Address matched (slave mode) This bit is set by hardware as soon as the received slave address matched with one of the enabled slave addresses. It is cleared by software by setting ADDRCF bit. Note: This bit is cleared by hardware when PE=0..

Allowed values:
0: NotMatch: Adress mismatched or not received
1: Match: Received slave address matched with one of the enabled slave addresses

NACKF

Bit 4: Not Acknowledge received flag This flag is set by hardware when a NACK is received after a byte transmission. It is cleared by software by setting the NACKCF bit. Note: This bit is cleared by hardware when PE=0..

Allowed values:
0: NoNack: No NACK has been received
1: Nack: NACK has been received

STOPF

Bit 5: Stop detection flag This flag is set by hardware when a STOP condition is detected on the bus and the peripheral is involved in this transfer: either as a master, provided that the STOP condition is generated by the peripheral. or as a slave, provided that the peripheral has been addressed previously during this transfer. It is cleared by software by setting the STOPCF bit. Note: This bit is cleared by hardware when PE=0..

Allowed values:
0: NoStop: No Stop condition detected
1: Stop: Stop condition detected

TC

Bit 6: Transfer Complete (master mode) This flag is set by hardware when RELOAD=0, AUTOEND=0 and NBYTES data have been transferred. It is cleared by software when START bit or STOP bit is set. Note: This bit is cleared by hardware when PE=0..

Allowed values:
0: NotComplete: Transfer is not complete
1: Complete: NBYTES has been transfered

TCR

Bit 7: Transfer Complete Reload This flag is set by hardware when RELOAD=1 and NBYTES data have been transferred. It is cleared by software when NBYTES is written to a non-zero value. Note: This bit is cleared by hardware when PE=0. This flag is only for master mode, or for slave mode when the SBC bit is set..

Allowed values:
0: NotComplete: Transfer is not complete
1: Complete: NBYTES has been transfered

BERR

Bit 8: Bus error This flag is set by hardware when a misplaced Start or STOP condition is detected whereas the peripheral is involved in the transfer. The flag is not set during the address phase in slave mode. It is cleared by software by setting BERRCF bit. Note: This bit is cleared by hardware when PE=0..

Allowed values:
0: NoError: No bus error
1: Error: Misplaced Start and Stop condition is detected

ARLO

Bit 9: Arbitration lost This flag is set by hardware in case of arbitration loss. It is cleared by software by setting the ARLOCF bit. Note: This bit is cleared by hardware when PE=0..

Allowed values:
0: NotLost: No arbitration lost
1: Lost: Arbitration lost

OVR

Bit 10: Overrun/Underrun (slave mode) This flag is set by hardware in slave mode with NOSTRETCH=1, when an overrun/underrun error occurs. It is cleared by software by setting the OVRCF bit. Note: This bit is cleared by hardware when PE=0..

Allowed values:
0: NoOverrun: No overrun/underrun error occurs
1: Overrun: slave mode with NOSTRETCH=1, when an overrun/underrun error occurs

PECERR

Bit 11: PEC Error in reception This flag is set by hardware when the received PEC does not match with the PEC register content. A NACK is automatically sent after the wrong PEC reception. It is cleared by software by setting the PECCF bit. Note: This bit is cleared by hardware when PE=0. If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
0: Match: Received PEC does match with PEC register
1: NoMatch: Received PEC does not match with PEC register

TIMEOUT

Bit 12: Timeout or tLOW detection flag This flag is set by hardware when a timeout or extended clock timeout occurred. It is cleared by software by setting the TIMEOUTCF bit. Note: This bit is cleared by hardware when PE=0. If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
0: NoTimeout: No timeout occured
1: Timeout: Timeout occured

ALERT

Bit 13: SMBus alert This flag is set by hardware when SMBHEN=1 (SMBus host configuration), ALERTEN=1 and a SMBALERT event (falling edge) is detected on SMBA pin. It is cleared by software by setting the ALERTCF bit. Note: This bit is cleared by hardware when PE=0. If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
0: NoAlert: SMBA alert is not detected
1: Alert: SMBA alert event is detected on SMBA pin

BUSY

Bit 15: Bus busy This flag indicates that a communication is in progress on the bus. It is set by hardware when a START condition is detected. It is cleared by hardware when a STOP condition is detected, or when PE=0..

Allowed values:
0: NotBusy: No communication is in progress on the bus
1: Busy: A communication is in progress on the bus

DIR

Bit 16: Transfer direction (Slave mode) This flag is updated when an address match event occurs (ADDR=1)..

Allowed values:
0: Write: Write transfer, slave enters receiver mode
1: Read: Read transfer, slave enters transmitter mode

ADDCODE

Bits 17-23: Address match code (Slave mode) These bits are updated with the received address when an address match event occurs (ADDR = 1). In the case of a 10-bit address, ADDCODE provides the 10-bit header followed by the 2 MSBs of the address..

Allowed values: 0x0-0x7f

ICR

I2C interrupt clear register

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

Toggle fields

ADDRCF

Bit 3: Address matched flag clear Writing 1 to this bit clears the ADDR flag in the I2C_ISR register. Writing 1 to this bit also clears the START bit in the I2C_CR2 register..

Allowed values:
1: Clear: Clears the ADDR flag in ISR register

NACKCF

Bit 4: Not Acknowledge flag clear Writing 1 to this bit clears the NACKF flag in I2C_ISR register..

Allowed values:
1: Clear: Clears the NACK flag in ISR register

STOPCF

Bit 5: STOP detection flag clear Writing 1 to this bit clears the STOPF flag in the I2C_ISR register..

Allowed values:
1: Clear: Clears the STOP flag in ISR register

BERRCF

Bit 8: Bus error flag clear Writing 1 to this bit clears the BERRF flag in the I2C_ISR register..

Allowed values:
1: Clear: Clears the BERR flag in ISR register

ARLOCF

Bit 9: Arbitration lost flag clear Writing 1 to this bit clears the ARLO flag in the I2C_ISR register..

Allowed values:
1: Clear: Clears the ARLO flag in ISR register

OVRCF

Bit 10: Overrun/Underrun flag clear Writing 1 to this bit clears the OVR flag in the I2C_ISR register..

Allowed values:
1: Clear: Clears the OVR flag in ISR register

PECCF

Bit 11: PEC Error flag clear Writing 1 to this bit clears the PECERR flag in the I2C_ISR register. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
1: Clear: Clears the PEC flag in ISR register

TIMOUTCF

Bit 12: Timeout detection flag clear Writing 1 to this bit clears the TIMEOUT flag in the I2C_ISR register. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
1: Clear: Clears the TIMOUT flag in ISR register

ALERTCF

Bit 13: Alert flag clear Writing 1 to this bit clears the ALERT flag in the I2C_ISR register. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
1: Clear: Clears the ALERT flag in ISR register

PECR

I2C PEC register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PEC
r
Toggle fields

PEC

Bits 0-7: Packet error checking register This field contains the internal PEC when PECEN=1. The PEC is cleared by hardware when PE=0..

Allowed values: 0x0-0xff

RXDR

I2C receive data register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXDATA
r
Toggle fields

RXDATA

Bits 0-7: 8-bit receive data Data byte received from the I2C bus.

Allowed values: 0x0-0xff

TXDR

I2C transmit data register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXDATA
rw
Toggle fields

TXDATA

Bits 0-7: 8-bit transmit data Data byte to be transmitted to the I2C bus Note: These bits can be written only when TXE=1..

Allowed values: 0x0-0xff

I2C2

0x40005800: Inter-integrated circuit

79/79 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CR1
0x4 CR2
0x8 OAR1
0xc OAR2
0x10 TIMINGR
0x14 TIMEOUTR
0x18 ISR
0x1c ICR
0x20 PECR
0x24 RXDR
0x28 TXDR
Toggle registers

CR1

I2C control register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

23/23 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
STOPFACLR
rw
ADDRACLR
rw
FMP
rw
PECEN
rw
ALERTEN
rw
SMBDEN
rw
SMBHEN
rw
GCEN
rw
WUPEN
rw
NOSTRETCH
rw
SBC
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXDMAEN
rw
TXDMAEN
rw
ANFOFF
rw
DNF
rw
ERRIE
rw
TCIE
rw
STOPIE
rw
NACKIE
rw
ADDRIE
rw
RXIE
rw
TXIE
rw
PE
rw
Toggle fields

PE

Bit 0: Peripheral enable Note: When PE=0, the I2C SCL and SDA lines are released. Internal state machines and status bits are put back to their reset value. When cleared, PE must be kept low for at least 3 APB clock cycles..

Allowed values:
0: Disabled: Peripheral disabled
1: Enabled: Peripheral enabled

TXIE

Bit 1: TX Interrupt enable.

Allowed values:
0: Disabled: Transmit (TXIS) interrupt disabled
1: Enabled: Transmit (TXIS) interrupt enabled

RXIE

Bit 2: RX Interrupt enable.

Allowed values:
0: Disabled: Receive (RXNE) interrupt disabled
1: Enabled: Receive (RXNE) interrupt enabled

ADDRIE

Bit 3: Address match Interrupt enable (slave only).

Allowed values:
0: Disabled: Address match (ADDR) interrupts disabled
1: Enabled: Address match (ADDR) interrupts enabled

NACKIE

Bit 4: Not acknowledge received Interrupt enable.

Allowed values:
0: Disabled: Not acknowledge (NACKF) received interrupts disabled
1: Enabled: Not acknowledge (NACKF) received interrupts enabled

STOPIE

Bit 5: Stop detection Interrupt enable.

Allowed values:
0: Disabled: Stop detection (STOPF) interrupt disabled
1: Enabled: Stop detection (STOPF) interrupt enabled

TCIE

Bit 6: Transfer Complete interrupt enable Note: Any of these events generate an interrupt: Transfer Complete (TC) Transfer Complete Reload (TCR).

Allowed values:
0: Disabled: Transfer Complete interrupt disabled
1: Enabled: Transfer Complete interrupt enabled

ERRIE

Bit 7: Error interrupts enable Note: Any of these errors generate an interrupt: Arbitration Loss (ARLO) Bus Error detection (BERR) Overrun/Underrun (OVR) Timeout detection (TIMEOUT) PEC error detection (PECERR) Alert pin event detection (ALERT).

Allowed values:
0: Disabled: Error detection interrupts disabled
1: Enabled: Error detection interrupts enabled

DNF

Bits 8-11: Digital noise filter These bits are used to configure the digital noise filter on SDA and SCL input. The digital filter, filters spikes with a length of up to DNF[3:0] * tI2CCLK ... Note: If the analog filter is also enabled, the digital filter is added to the analog filter. This filter can only be programmed when the I2C is disabled (PE = 0)..

Allowed values:
0: NoFilter: Digital filter disabled
1: Filter1: Digital filter enabled and filtering capability up to 1 tI2CCLK
2: Filter2: Digital filter enabled and filtering capability up to 2 tI2CCLK
3: Filter3: Digital filter enabled and filtering capability up to 3 tI2CCLK
4: Filter4: Digital filter enabled and filtering capability up to 4 tI2CCLK
5: Filter5: Digital filter enabled and filtering capability up to 5 tI2CCLK
6: Filter6: Digital filter enabled and filtering capability up to 6 tI2CCLK
7: Filter7: Digital filter enabled and filtering capability up to 7 tI2CCLK
8: Filter8: Digital filter enabled and filtering capability up to 8 tI2CCLK
9: Filter9: Digital filter enabled and filtering capability up to 9 tI2CCLK
10: Filter10: Digital filter enabled and filtering capability up to 10 tI2CCLK
11: Filter11: Digital filter enabled and filtering capability up to 11 tI2CCLK
12: Filter12: Digital filter enabled and filtering capability up to 12 tI2CCLK
13: Filter13: Digital filter enabled and filtering capability up to 13 tI2CCLK
14: Filter14: Digital filter enabled and filtering capability up to 14 tI2CCLK
15: Filter15: Digital filter enabled and filtering capability up to 15 tI2CCLK

ANFOFF

Bit 12: Analog noise filter OFF Note: This bit can only be programmed when the I2C is disabled (PE = 0)..

Allowed values:
0: Enabled: Analog noise filter enabled
1: Disabled: Analog noise filter disabled

TXDMAEN

Bit 14: DMA transmission requests enable.

Allowed values:
0: Disabled: DMA mode disabled for transmission
1: Enabled: DMA mode enabled for transmission

RXDMAEN

Bit 15: DMA reception requests enable.

Allowed values:
0: Disabled: DMA mode disabled for reception
1: Enabled: DMA mode enabled for reception

SBC

Bit 16: Slave byte control This bit is used to enable hardware byte control in slave mode..

Allowed values:
0: Disabled: Slave byte control disabled
1: Enabled: Slave byte control enabled

NOSTRETCH

Bit 17: Clock stretching disable This bit is used to disable clock stretching in slave mode. It must be kept cleared in master mode. Note: This bit can only be programmed when the I2C is disabled (PE = 0)..

Allowed values:
0: Enabled: Clock stretching enabled
1: Disabled: Clock stretching disabled

WUPEN

Bit 18: Wakeup from Stop mode enable Note: If the Wakeup from Stop mode feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to . Note: WUPEN can be set only when DNF = ‘0000’.

Allowed values:
0: Disabled: Wakeup from Stop mode disabled
1: Enabled: Wakeup from Stop mode enabled

GCEN

Bit 19: General call enable.

Allowed values:
0: Disabled: General call disabled. Address 0b00000000 is NACKed
1: Enabled: General call enabled. Address 0b00000000 is ACKed

SMBHEN

Bit 20: SMBus host address enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
0: Disabled: Host address disabled. Address 0b0001000x is NACKed
1: Enabled: Host address enabled. Address 0b0001000x is ACKed

SMBDEN

Bit 21: SMBus device default address enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
0: Disabled: Device default address disabled. Address 0b1100001x is NACKed
1: Enabled: Device default address enabled. Address 0b1100001x is ACKed

ALERTEN

Bit 22: SMBus alert enable Note: When ALERTEN=0, the SMBA pin can be used as a standard GPIO. If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
0: Disabled: In device mode (SMBHEN=Disabled) Releases SMBA pin high and Alert Response Address Header disabled (0001100x) followed by NACK. In host mode (SMBHEN=Enabled) SMBus Alert pin (SMBA) not supported
1: Enabled: In device mode (SMBHEN=Disabled) Drives SMBA pin low and Alert Response Address Header enabled (0001100x) followed by ACK.In host mode (SMBHEN=Enabled) SMBus Alert pin (SMBA) supported

PECEN

Bit 23: PEC enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
0: Disabled: PEC calculation disabled
1: Enabled: PEC calculation enabled

FMP

Bit 24: Fast-mode Plus 20 mA drive enable.

Allowed values:
0: Disabled: 20 mA I/O drive disabled
1: Enabled: 20 mA I/O drive enabled

ADDRACLR

Bit 30: Address match flag (ADDR) automatic clear.

Allowed values:
0: Disabled: ADDR flag is set by hardware, cleared by software
1: Enabled: ADDR flag remains cleared by hardware

STOPFACLR

Bit 31: STOP detection flag (STOPF) automatic clear.

Allowed values:
0: Disabled: STOPF flag is set by hardware, cleared by software
1: Enabled: STOPF flag remains cleared by hardware

CR2

I2C control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

11/11 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PECBYTE
rw
AUTOEND
rw
RELOAD
rw
NBYTES
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NACK
rw
STOP
rw
START
rw
HEAD10R
rw
ADD10
rw
RD_WRN
rw
SADD
rw
Toggle fields

SADD

Bits 0-9: Slave address (master mode) In 7-bit addressing mode (ADD10 = 0): SADD[7:1] should be written with the 7-bit slave address to be sent. The bits SADD[9], SADD[8] and SADD[0] are don't care. In 10-bit addressing mode (ADD10 = 1): SADD[9:0] should be written with the 10-bit slave address to be sent. Note: Changing these bits when the START bit is set is not allowed..

Allowed values: 0x0-0x3ff

RD_WRN

Bit 10: Transfer direction (master mode) Note: Changing this bit when the START bit is set is not allowed..

Allowed values:
0: Write: Master requests a write transfer
1: Read: Master requests a read transfer

ADD10

Bit 11: 10-bit addressing mode (master mode) Note: Changing this bit when the START bit is set is not allowed..

Allowed values:
0: Bit7: The master operates in 7-bit addressing mode
1: Bit10: The master operates in 10-bit addressing mode

HEAD10R

Bit 12: 10-bit address header only read direction (master receiver mode) Note: Changing this bit when the START bit is set is not allowed..

Allowed values:
0: Complete: The master sends the complete 10 bit slave address read sequence
1: Partial: The master only sends the 1st 7 bits of the 10 bit address, followed by Read direction

START

Bit 13: Start generation This bit is set by software, and cleared by hardware after the Start followed by the address sequence is sent, by an arbitration loss, by an address matched in slave mode, by a timeout error detection, or when PE = 0. If the I2C is already in master mode with AUTOEND = 0, setting this bit generates a Repeated Start condition when RELOAD=0, after the end of the NBYTES transfer. Otherwise setting this bit generates a START condition once the bus is free. Note: Writing ‘0’ to this bit has no effect. The START bit can be set even if the bus is BUSY or I2C is in slave mode. This bit has no effect when RELOAD is set..

Allowed values:
0: NoStart: No Start generation
1: Start: Restart/Start generation

STOP

Bit 14: Stop generation (master mode) The bit is set by software, cleared by hardware when a STOP condition is detected, or when PE = 0. In Master Mode: Note: Writing ‘0’ to this bit has no effect..

Allowed values:
0: NoStop: No Stop generation
1: Stop: Stop generation after current byte transfer

NACK

Bit 15: NACK generation (slave mode) The bit is set by software, cleared by hardware when the NACK is sent, or when a STOP condition or an Address matched is received, or when PE=0. Note: Writing ‘0’ to this bit has no effect. This bit is used in slave mode only: in master receiver mode, NACK is automatically generated after last byte preceding STOP or RESTART condition, whatever the NACK bit value. When an overrun occurs in slave receiver NOSTRETCH mode, a NACK is automatically generated whatever the NACK bit value. When hardware PEC checking is enabled (PECBYTE=1), the PEC acknowledge value does not depend on the NACK value..

Allowed values:
0: Ack: an ACK is sent after current received byte
1: Nack: a NACK is sent after current received byte

NBYTES

Bits 16-23: Number of bytes The number of bytes to be transmitted/received is programmed there. This field is don’t care in slave mode with SBC=0. Note: Changing these bits when the START bit is set is not allowed..

Allowed values: 0x0-0xff

RELOAD

Bit 24: NBYTES reload mode This bit is set and cleared by software..

Allowed values:
0: Completed: The transfer is completed after the NBYTES data transfer (STOP or RESTART will follow)
1: NotCompleted: The transfer is not completed after the NBYTES data transfer (NBYTES will be reloaded)

AUTOEND

Bit 25: Automatic end mode (master mode) This bit is set and cleared by software. Note: This bit has no effect in slave mode or when the RELOAD bit is set..

Allowed values:
0: Software: Software end mode: TC flag is set when NBYTES data are transferred, stretching SCL low
1: Automatic: Automatic end mode: a STOP condition is automatically sent when NBYTES data are transferred

PECBYTE

Bit 26: Packet error checking byte This bit is set by software, and cleared by hardware when the PEC is transferred, or when a STOP condition or an Address matched is received, also when PE=0. Note: Writing ‘0’ to this bit has no effect. This bit has no effect when RELOAD is set. This bit has no effect is slave mode when SBC=0. If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
0: NoPec: No PEC transfer
1: Pec: PEC transmission/reception is requested

OAR1

I2C own address 1 register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OA1EN
rw
OA1MODE
rw
OA1
rw
Toggle fields

OA1

Bits 0-9: Interface own slave address 7-bit addressing mode: OA1[7:1] contains the 7-bit own slave address. The bits OA1[9], OA1[8] and OA1[0] are don't care. 10-bit addressing mode: OA1[9:0] contains the 10-bit own slave address. Note: These bits can be written only when OA1EN=0..

Allowed values: 0x0-0x3ff

OA1MODE

Bit 10: Own Address 1 10-bit mode Note: This bit can be written only when OA1EN=0..

Allowed values:
0: Bit7: Own address 1 is a 7-bit address
1: Bit10: Own address 1 is a 10-bit address

OA1EN

Bit 15: Own Address 1 enable.

Allowed values:
0: Disabled: Own address 1 disabled. The received slave address OA1 is NACKed
1: Enabled: Own address 1 enabled. The received slave address OA1 is ACKed

OAR2

I2C own address 2 register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OA2EN
rw
OA2MSK
rw
OA2
rw
Toggle fields

OA2

Bits 1-7: Interface address 7-bit addressing mode: 7-bit address Note: These bits can be written only when OA2EN=0..

Allowed values: 0x0-0x7f

OA2MSK

Bits 8-10: Own Address 2 masks Note: These bits can be written only when OA2EN=0. As soon as OA2MSK is not equal to 0, the reserved I2C addresses (0b0000xxx and 0b1111xxx) are not acknowledged even if the comparison matches..

Allowed values:
0: NoMask: No mask
1: Mask1: OA2[1] is masked and don’t care. Only OA2[7:2] are compared
2: Mask2: OA2[2:1] are masked and don’t care. Only OA2[7:3] are compared
3: Mask3: OA2[3:1] are masked and don’t care. Only OA2[7:4] are compared
4: Mask4: OA2[4:1] are masked and don’t care. Only OA2[7:5] are compared
5: Mask5: OA2[5:1] are masked and don’t care. Only OA2[7:6] are compared
6: Mask6: OA2[6:1] are masked and don’t care. Only OA2[7] is compared.
7: Mask7: OA2[7:1] are masked and don’t care. No comparison is done, and all (except reserved) 7-bit received addresses are acknowledged

OA2EN

Bit 15: Own Address 2 enable.

Allowed values:
0: Disabled: Own address 2 disabled. The received slave address OA2 is NACKed
1: Enabled: Own address 2 enabled. The received slave address OA2 is ACKed

TIMINGR

I2C timing register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRESC
rw
SCLDEL
rw
SDADEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SCLH
rw
SCLL
rw
Toggle fields

SCLL

Bits 0-7: SCL low period (master mode) This field is used to generate the SCL low period in master mode. tSCLL = (SCLL+1) x tPRESC Note: SCLL is also used to generate tBUF and tSU:STA timings..

Allowed values: 0x0-0xff

SCLH

Bits 8-15: SCL high period (master mode) This field is used to generate the SCL high period in master mode. tSCLH = (SCLH+1) x tPRESC Note: SCLH is also used to generate tSU:STO and tHD:STA timing..

Allowed values: 0x0-0xff

SDADEL

Bits 16-19: Data hold time This field is used to generate the delay tSDADEL between SCL falling edge and SDA edge. In master mode and in slave mode with NOSTRETCH = 0, the SCL line is stretched low during tSDADEL. tSDADEL= SDADEL x tPRESC Note: SDADEL is used to generate tHD:DAT timing..

Allowed values: 0x0-0xf

SCLDEL

Bits 20-23: Data setup time This field is used to generate a delay tSCLDEL between SDA edge and SCL rising edge. In master mode and in slave mode with NOSTRETCH = 0, the SCL line is stretched low during tSCLDEL. tSCLDEL = (SCLDEL+1) x tPRESC Note: tSCLDEL is used to generate tSU:DAT timing..

Allowed values: 0x0-0xf

PRESC

Bits 28-31: Timing prescaler This field is used to prescale i2c_ker_ck in order to generate the clock period tPRESC used for data setup and hold counters (refer to ) and for SCL high and low level counters (refer to ). tPRESC = (PRESC+1) x tI2CCLK.

Allowed values: 0x0-0xf

TIMEOUTR

I2C timeout register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TEXTEN
rw
TIMEOUTB
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TIMOUTEN
rw
TIDLE
rw
TIMEOUTA
rw
Toggle fields

TIMEOUTA

Bits 0-11: Bus Timeout A This field is used to configure: The SCL low timeout condition tTIMEOUT when TIDLE=0 tTIMEOUT= (TIMEOUTA+1) x 2048 x tI2CCLK The bus idle condition (both SCL and SDA high) when TIDLE=1 tIDLE= (TIMEOUTA+1) x 4 x tI2CCLK Note: These bits can be written only when TIMOUTEN=0..

Allowed values: 0x0-0xfff

TIDLE

Bit 12: Idle clock timeout detection Note: This bit can be written only when TIMOUTEN=0..

Allowed values:
0: Disabled: TIMEOUTA is used to detect SCL low timeout
1: Enabled: TIMEOUTA is used to detect both SCL and SDA high timeout (bus idle condition)

TIMOUTEN

Bit 15: Clock timeout enable.

Allowed values:
0: Disabled: SCL timeout detection is disabled
1: Enabled: SCL timeout detection is enabled

TIMEOUTB

Bits 16-27: Bus timeout B This field is used to configure the cumulative clock extension timeout: In master mode, the master cumulative clock low extend time (tLOW:MEXT) is detected In slave mode, the slave cumulative clock low extend time (tLOW:SEXT) is detected tLOW:EXT= (TIMEOUTB+1) x 2048 x tI2CCLK Note: These bits can be written only when TEXTEN=0..

Allowed values: 0x0-0xfff

TEXTEN

Bit 31: Extended clock timeout enable.

Allowed values:
0: Disabled: Extended clock timeout detection is disabled
1: Enabled: Extended clock timeout detection is enabled

ISR

I2C interrupt and status register

Offset: 0x18, size: 32, reset: 0x00000001, access: Unspecified

17/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADDCODE
r
DIR
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BUSY
r
ALERT
r
TIMEOUT
r
PECERR
r
OVR
r
ARLO
r
BERR
r
TCR
r
TC
r
STOPF
r
NACKF
r
ADDR
r
RXNE
r
TXIS
rw
TXE
rw
Toggle fields

TXE

Bit 0: Transmit data register empty (transmitters) This bit is set by hardware when the I2C_TXDR register is empty. It is cleared when the next data to be sent is written in the I2C_TXDR register. This bit can be written to ‘1’ by software in order to flush the transmit data register I2C_TXDR. Note: This bit is set by hardware when PE=0..

Allowed values:
0: NotEmpty: TXDR register not empty
1: Empty: TXDR register empty

TXIS

Bit 1: Transmit interrupt status (transmitters) This bit is set by hardware when the I2C_TXDR register is empty and the data to be transmitted must be written in the I2C_TXDR register. It is cleared when the next data to be sent is written in the I2C_TXDR register. This bit can be written to ‘1’ by software when NOSTRETCH=1 only, in order to generate a TXIS event (interrupt if TXIE=1 or DMA request if TXDMAEN=1). Note: This bit is cleared by hardware when PE=0..

Allowed values:
0: NotEmpty: The TXDR register is not empty
1: Empty: The TXDR register is empty and the data to be transmitted must be written in the TXDR register

RXNE

Bit 2: Receive data register not empty (receivers) This bit is set by hardware when the received data is copied into the I2C_RXDR register, and is ready to be read. It is cleared when I2C_RXDR is read. Note: This bit is cleared by hardware when PE=0..

Allowed values:
0: Empty: The RXDR register is empty
1: NotEmpty: Received data is copied into the RXDR register, and is ready to be read

ADDR

Bit 3: Address matched (slave mode) This bit is set by hardware as soon as the received slave address matched with one of the enabled slave addresses. It is cleared by software by setting ADDRCF bit. Note: This bit is cleared by hardware when PE=0..

Allowed values:
0: NotMatch: Adress mismatched or not received
1: Match: Received slave address matched with one of the enabled slave addresses

NACKF

Bit 4: Not Acknowledge received flag This flag is set by hardware when a NACK is received after a byte transmission. It is cleared by software by setting the NACKCF bit. Note: This bit is cleared by hardware when PE=0..

Allowed values:
0: NoNack: No NACK has been received
1: Nack: NACK has been received

STOPF

Bit 5: Stop detection flag This flag is set by hardware when a STOP condition is detected on the bus and the peripheral is involved in this transfer: either as a master, provided that the STOP condition is generated by the peripheral. or as a slave, provided that the peripheral has been addressed previously during this transfer. It is cleared by software by setting the STOPCF bit. Note: This bit is cleared by hardware when PE=0..

Allowed values:
0: NoStop: No Stop condition detected
1: Stop: Stop condition detected

TC

Bit 6: Transfer Complete (master mode) This flag is set by hardware when RELOAD=0, AUTOEND=0 and NBYTES data have been transferred. It is cleared by software when START bit or STOP bit is set. Note: This bit is cleared by hardware when PE=0..

Allowed values:
0: NotComplete: Transfer is not complete
1: Complete: NBYTES has been transfered

TCR

Bit 7: Transfer Complete Reload This flag is set by hardware when RELOAD=1 and NBYTES data have been transferred. It is cleared by software when NBYTES is written to a non-zero value. Note: This bit is cleared by hardware when PE=0. This flag is only for master mode, or for slave mode when the SBC bit is set..

Allowed values:
0: NotComplete: Transfer is not complete
1: Complete: NBYTES has been transfered

BERR

Bit 8: Bus error This flag is set by hardware when a misplaced Start or STOP condition is detected whereas the peripheral is involved in the transfer. The flag is not set during the address phase in slave mode. It is cleared by software by setting BERRCF bit. Note: This bit is cleared by hardware when PE=0..

Allowed values:
0: NoError: No bus error
1: Error: Misplaced Start and Stop condition is detected

ARLO

Bit 9: Arbitration lost This flag is set by hardware in case of arbitration loss. It is cleared by software by setting the ARLOCF bit. Note: This bit is cleared by hardware when PE=0..

Allowed values:
0: NotLost: No arbitration lost
1: Lost: Arbitration lost

OVR

Bit 10: Overrun/Underrun (slave mode) This flag is set by hardware in slave mode with NOSTRETCH=1, when an overrun/underrun error occurs. It is cleared by software by setting the OVRCF bit. Note: This bit is cleared by hardware when PE=0..

Allowed values:
0: NoOverrun: No overrun/underrun error occurs
1: Overrun: slave mode with NOSTRETCH=1, when an overrun/underrun error occurs

PECERR

Bit 11: PEC Error in reception This flag is set by hardware when the received PEC does not match with the PEC register content. A NACK is automatically sent after the wrong PEC reception. It is cleared by software by setting the PECCF bit. Note: This bit is cleared by hardware when PE=0. If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
0: Match: Received PEC does match with PEC register
1: NoMatch: Received PEC does not match with PEC register

TIMEOUT

Bit 12: Timeout or tLOW detection flag This flag is set by hardware when a timeout or extended clock timeout occurred. It is cleared by software by setting the TIMEOUTCF bit. Note: This bit is cleared by hardware when PE=0. If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
0: NoTimeout: No timeout occured
1: Timeout: Timeout occured

ALERT

Bit 13: SMBus alert This flag is set by hardware when SMBHEN=1 (SMBus host configuration), ALERTEN=1 and a SMBALERT event (falling edge) is detected on SMBA pin. It is cleared by software by setting the ALERTCF bit. Note: This bit is cleared by hardware when PE=0. If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
0: NoAlert: SMBA alert is not detected
1: Alert: SMBA alert event is detected on SMBA pin

BUSY

Bit 15: Bus busy This flag indicates that a communication is in progress on the bus. It is set by hardware when a START condition is detected. It is cleared by hardware when a STOP condition is detected, or when PE=0..

Allowed values:
0: NotBusy: No communication is in progress on the bus
1: Busy: A communication is in progress on the bus

DIR

Bit 16: Transfer direction (Slave mode) This flag is updated when an address match event occurs (ADDR=1)..

Allowed values:
0: Write: Write transfer, slave enters receiver mode
1: Read: Read transfer, slave enters transmitter mode

ADDCODE

Bits 17-23: Address match code (Slave mode) These bits are updated with the received address when an address match event occurs (ADDR = 1). In the case of a 10-bit address, ADDCODE provides the 10-bit header followed by the 2 MSBs of the address..

Allowed values: 0x0-0x7f

ICR

I2C interrupt clear register

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

Toggle fields

ADDRCF

Bit 3: Address matched flag clear Writing 1 to this bit clears the ADDR flag in the I2C_ISR register. Writing 1 to this bit also clears the START bit in the I2C_CR2 register..

Allowed values:
1: Clear: Clears the ADDR flag in ISR register

NACKCF

Bit 4: Not Acknowledge flag clear Writing 1 to this bit clears the NACKF flag in I2C_ISR register..

Allowed values:
1: Clear: Clears the NACK flag in ISR register

STOPCF

Bit 5: STOP detection flag clear Writing 1 to this bit clears the STOPF flag in the I2C_ISR register..

Allowed values:
1: Clear: Clears the STOP flag in ISR register

BERRCF

Bit 8: Bus error flag clear Writing 1 to this bit clears the BERRF flag in the I2C_ISR register..

Allowed values:
1: Clear: Clears the BERR flag in ISR register

ARLOCF

Bit 9: Arbitration lost flag clear Writing 1 to this bit clears the ARLO flag in the I2C_ISR register..

Allowed values:
1: Clear: Clears the ARLO flag in ISR register

OVRCF

Bit 10: Overrun/Underrun flag clear Writing 1 to this bit clears the OVR flag in the I2C_ISR register..

Allowed values:
1: Clear: Clears the OVR flag in ISR register

PECCF

Bit 11: PEC Error flag clear Writing 1 to this bit clears the PECERR flag in the I2C_ISR register. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
1: Clear: Clears the PEC flag in ISR register

TIMOUTCF

Bit 12: Timeout detection flag clear Writing 1 to this bit clears the TIMEOUT flag in the I2C_ISR register. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
1: Clear: Clears the TIMOUT flag in ISR register

ALERTCF

Bit 13: Alert flag clear Writing 1 to this bit clears the ALERT flag in the I2C_ISR register. Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to ‘0’. Refer to ..

Allowed values:
1: Clear: Clears the ALERT flag in ISR register

PECR

I2C PEC register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PEC
r
Toggle fields

PEC

Bits 0-7: Packet error checking register This field contains the internal PEC when PECEN=1. The PEC is cleared by hardware when PE=0..

Allowed values: 0x0-0xff

RXDR

I2C receive data register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXDATA
r
Toggle fields

RXDATA

Bits 0-7: 8-bit receive data Data byte received from the I2C bus.

Allowed values: 0x0-0xff

TXDR

I2C transmit data register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXDATA
rw
Toggle fields

TXDATA

Bits 0-7: 8-bit transmit data Data byte to be transmitted to the I2C bus Note: These bits can be written only when TXE=1..

Allowed values: 0x0-0xff

I3C1

0x40005c00: Improved inter-integrated circuit

79/191 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 I3C_CR
0x0 I3C_CR_ALTERNATE
0x4 I3C_CFGR
0x10 I3C_RDR
0x14 I3C_RDWR
0x18 I3C_TDR
0x1c I3C_TDWR
0x20 I3C_IBIDR
0x24 I3C_TGTTDR
0x30 I3C_SR
0x34 I3C_SER
0x40 I3C_RMR
0x50 I3C_EVR
0x54 I3C_IER
0x58 I3C_CEVR
0x60 I3C_DEVR0
0x64 I3C_DEVR1
0x68 I3C_DEVR2
0x6c I3C_DEVR3
0x70 I3C_DEVR4
0x90 I3C_MAXRLR
0x94 I3C_MAXWLR
0xa0 I3C_TIMINGR0
0xa4 I3C_TIMINGR1
0xa8 I3C_TIMINGR2
0xc0 I3C_BCR
0xc4 I3C_DCR
0xc8 I3C_GETCAPR
0xcc I3C_CRCAPR
0xd0 I3C_GETMXDSR
0xd4 I3C_EPIDR
Toggle registers

I3C_CR

I3C message control register

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

0/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MEND
w
MTYPE
w
ADD
w
RNW
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DCNT
w
Toggle fields

DCNT

Bits 0-15: count of data to transfer during a read or write message, in bytes (whatever I3C is acting as controller/target) Linear encoding up to 64 Kbytes -1 ....

RNW

Bit 16: read / non-write message (when I3C is acting as controller) When I3C is acting as controller, this field is used if MTYPE[3:0]=0010 (private message) or MTYPE[3:0]=0011 (direct message) or MTYPE[3:0]=0100 (legacy I2C message), in order to emit the RnW bit on the I3C bus..

ADD

Bits 17-23: 7-bit I3C dynamic / I2C static target address (when I3C is acting as controller) When I3C is acting as controller, this field is used if MTYPE[3:0]=0010 (private message) or MTYPE[3:0]=0011 (direct message) or MTYPE[3:0]=0100 (legacy I2C message).

MTYPE

Bits 27-30: message type (whatever I3C is acting as controller/target) Bits[26:0] are ignored. After M2 error detection on an I3C SDR message, this is needed for SCL “stuck at” recovery. Bits[26:0] are ignored. If I3C_CFGR.EXITPTRN=1, an HDR exit pattern is emitted on the bus to generate an escalation fault. Bits[23:17] (ADD[6:0]) is the emitted 7-bit dynamic address. Bit[16] (RNW) is the emitted RnW bit. The transferred private message is: {S / S+7’h7E+RnW=0+Sr / Sr+*} + 7-bit DynAddr + RnW + (8-bit Data + T)* + Sr/P. After a S (START), depending on I3C_CFGR.NOARBH, the arbitrable header (7’h7E+RnW=0) is inserted or not. Sr+*: after a Sr (Repeated Start), the hardware automatically inserts (7’h7E+RnW=0) if needed, i.e. if it follows an I3C direct message without ending by a P (Stop). Bits[23:17] (ADD[6:0]) is the emitted 7-bit dynamic address. Bit[16] (RNW) is the emitted RnW bit. The transferred direct message is: Sr + 7-bit DynAddr + RnW + (8-bit Data + T)* + Sr/P Bits[23:17] (ADD[6:0]) is the emitted 7-bit static address. Bit[16] (RNW) is the emitted RnW bit. The transferred legacy I2C message is: {S / S+ 7’h7E+RnW=0 + Sr / Sr+*} + 7-bit StaAddr + RnW + (8-bit Data + T)* + Sr/P. After a S (START), depending on I3C_CFGR.NOARBH, the arbitrable header (7’h7E+RnW=0) is inserted or not. Sr+*: after a Sr (Repeated Start), the hardware automatically inserts (7’h7E+RnW=0) if needed, i.e. if it follows an I3C direct message without ending by a P (Stop). 1xxx: reserved (when I3C is acting as I3C controller, used when target) 0xxx: reserved {S +} 7’h02 addr + RnW=0 {S +} 7-bit I3C_DEVR0.DA[6:0] + RnW=0 after a bus available condition (the target first emits a START request), or once the controller drives a START. {S +} 7-bit I3C_DEVR0.DA[6:0] + RnW=1 (+Ack/Nack from controller) When acknowledged from controller, the next (optional, depending on I3C_BCR.BCR2) transmitted IBI payload data is defined by I3C_CR.DCNT[15:0] and must be consistently programmed vs the maximum IBI payload data size which is defined by I3C_IBIDR.IBIP[2:0]. Others: reserved.

MEND

Bit 31: message end type (when the I3C is acting as controller).

I3C_CR_ALTERNATE

I3C message control register alternate

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MEND
w
MTYPE
w
CCC
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DCNT
w
Toggle fields

DCNT

Bits 0-15: count of data to transfer during a read or write message, in bytes (when I3C is acting as controller) Linear encoding up to 64 Kbytes -1. ....

CCC

Bits 16-23: 8-bit CCC code (when I3C is acting as controller) If Bit[23]=CCC[7]=1, this is the 1st part of an I3C SDR direct CCC command. If Bit[23]=CCC[7]=0, this is an I3C SDR broadcast CCC command (including ENTDAA and ENTHDR0)..

MTYPE

Bits 27-30: message type (when I3C is acting as controller) Bits[23:16] (CCC[7:0]) is the emitted 8-bit CCC code If Bit[23]=CCC[7]=1: this is the 1st part of an I3C SDR direct CCC command The transferred direct CCC command message is: {S / S+7’h7E +RnW=0 / Sr+*} + (direct CCC + T) + (8-bit Data + T)* + Sr After a S (START), depending on I3C_CFGR.NOARBH, the arbitrable header (7’h7E+RnW=0) is inserted or not. Sr+*: after a Sr (Repeated Start), the hardware automatically inserts (7’h7E+R/W). If Bit[23]=CCC[7]=0: this is an I3C SDR broadcast CCC command (including ENTDAA and ENTHDR0) The transferred broadcast CCC command message is: {S / S+7’h7E +RnW=0 / Sr+*} + (broadcast CCC + T) + (8-bit Data + T)* + Sr/P After a S (START), depending on I3C_CFGR.NOARBH, the arbitrable header (7’h7E+RnW=0) is inserted or not. Sr+*: after a Sr (Repeated Start), the hardware automatically inserts (7’h7E+R/W). others: reserved.

MEND

Bit 31: message end type (when I3C is acting as controller).

I3C_CFGR

I3C configuration register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

0/20 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TSFSET
w
CFLUSH
w
CDMAEN
rw
TMODE
rw
RMODE
rw
SFLUSH
w
SDMAEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXTHRES
rw
TXFLUSH
w
TXDMAEN
rw
RXTHRES
rw
RXFLUSH
w
RXDMAEN
rw
HJACK
rw
HKSDAEN
rw
EXITPTRN
rw
RSTPTRN
rw
NOARBH
rw
CRINIT
rw
EN
rw
Toggle fields

EN

Bit 0: I3C enable (whatever I3C is acting as controller/target) - Except registers, the peripheral is under reset (a.k.a. partial reset). - Before clearing EN, when I3C is acting as a controller, all the possible target requests must be disabled using DISEC CCC. - When I3C is acting as a target, software should not disable the I3C, unless a partial reset is needed. In this state, some register fields can not be modified (like CRINIT, HKSDAEN for the I3C_CFGR).

CRINIT

Bit 1: initial controller/target role This bit can be modified only when I3C_CFGR.EN = 0. Once enabled by setting I3C_CFGR.EN = 1, I3C peripheral initially acts as an I3C target. I3C does not drive SCL line and does not enable SDA pull-up, until it eventually acquires the controller role. Once enabled by setting I3C_CFGR.EN = 1, I3C peripheral initially acts as a controller. It has the I3C controller role, so drives SCL line and enables SDA pull-up, until it eventually offers the controller role to an I3C secondary controller..

NOARBH

Bit 2: no arbitrable header after a START (when I3C is acting as a controller) This bit can be modified only when there is no on-going frame. - The target address is emitted directly after a START in case of a legacy I2C message or an I3C SDR private read/write message. - This is a more performing option (when is useless the emission of the 0x7E arbitrable header), but this is to be used only when the controller is sure that the addressed target device can not emit concurrently an IBI or a controller-role request (to insure no misinterpretation and no potential conflict between the address emitted by the controller in open-drain mode and the same address a target device can emit after a START, for IBI or MR)..

RSTPTRN

Bit 3: HDR reset pattern enable (when I3C is acting as a controller) This bit can be modified only when there is no on-going frame..

EXITPTRN

Bit 4: HDR Exit Pattern enable (when I3C is acting as a controller) This bit can be modified only when there is no on-going frame. This is used to send only the header to test ownership of the bus when there is a suspicion of problem after controller-role hand-off (new controller didn’t assert its controller-role by accessing the previous one in less than Activity State time). The HDR Exit Pattern is sent even if the message header {S/Sr + 0x7E addr + W } is ACKed..

HKSDAEN

Bit 5: High-keeper enable on SDA line (when I3C is acting as a controller) This bit can be modified only when I3C_CFGR.EN=0..

HJACK

Bit 7: Hot Join request acknowledge (when I3C is acting as a controller) After the NACK, the message continues as initially programmed (the hot-joining target is aware of the NACK and surely emits another hot-join request later on). After the ACK, the message continues as initially programmed. The software is aware by the HJ interrupt (flag I3C_EVR.HJF is set) and initiates the ENTDAA sequence later on, potentially preventing others Hot Join requests with a Disable target events command (DISEC, with DISHJ=1). Independently of the HJACK configuration, further Hot Join request(s) are NACKed until the Hot Join flag, HJF, is cleared. However, a NACKed target can be assigned a dynamic address by the ENTDAA sequence initiated later on by the first HJ request, preventing this target to emit an HJ request again..

RXDMAEN

Bit 8: RX-FIFO DMA request enable (whatever I3C is acting as controller/target) - Software reads and pops a data byte/word from RX-FIFO i.e. reads I3C_RDR or I3C_RDWR register. - A next data byte/word is to be read by the software either via polling on the flag I3C_EVR.RXFNEF=1 or via interrupt notification (enabled by I3C_IER.RXFNEIE=1). - DMA reads and pops data byte(s)/word(s) from RX-FIFO i.e. reads I3C_RDR or I3C_RDWR register. - A next data byte/word is automatically read by the programmed hardware (i.e. via the asserted RX-FIFO DMA request from the I3C and the programmed DMA channel)..

RXFLUSH

Bit 9: RX-FIFO flush (whatever I3C is acting as controller/target) This bit can only be written..

RXTHRES

Bit 10: RX-FIFO threshold (whatever I3C is acting as controller/target) This threshold defines, compared to the RX-FIFO level, when the I3C_EVR.RXFNEF flag is set (and consequently if RXDMAEN=1 when is asserted a DMA RX request). RXFNEF is set when 1 byte is to be read in RX-FIFO (i.e. in I3C_RDR). RXFNEF is set when 4 bytes are to be read in RX-FIFO (i.e. in I3C_RDWR)..

TXDMAEN

Bit 12: TX-FIFO DMA request enable (whatever I3C is acting as controller/target) - Software writes and pushes a data byte/word into TX-FIFO i.e. writes I3C_TDR or I3C_TDWR register, to be transmitted over the I3C bus. - A next data byte/word is to be written by the software either via polling on the flag I3C_EVR.TXFNFF=1 or via interrupt notification (enabled by I3C_IER.TXFNFIE=1). - DMA writes and pushes data byte(s)/word(s) into TX-FIFO i.e. writes I3C_TDR or I3C_TDWR register. - A next data byte/word transfer is automatically pushed by the programmed hardware (i.e. via the asserted TX-FIFO DMA request from the I3C and the programmed DMA channel)..

TXFLUSH

Bit 13: TX-FIFO flush (whatever I3C is acting as controller/target) This bit can only be written. When the I3C is acting as target, this bit can be used to flush the TX-FIFO on a private read if the controller has early ended the read data (i.e. driven low the T bit) and there is/are remaining data in the TX-FIFO (i.e. I3C_SR.ABT=1 and I3C_SR.XDCNT[15:0] < I3C_TGTTDR.TGTTDCNT[15:0])..

TXTHRES

Bit 14: TX-FIFO threshold (whatever I3C is acting as controller/target) This threshold defines, compared to the TX-FIFO level, when the I3C_EVR.TXFNFF flag is set (and consequently if TXDMAEN=1 when is asserted a DMA TX request). TXFNFF is set when 1 byte is to be written in TX-FIFO (i.e. in I3C_TDR). TXFNFF is set when 4 bytes are to be written in TX-FIFO (i.e. in I3C_TDWR)..

SDMAEN

Bit 16: S-FIFO DMA request enable (when I3C is acting as controller) Condition: When RMODE=1 (FIFO is enabled for the status): - Software reads and pops a status word from S-FIFO i.e. reads I3C_SR register after a completed frame (I3C_EVR.FCF=1) or an error (I3C_EVR.ERRF=1). - A status word can be read by the software either via polling on these register flags or via interrupt notification (enabled by I3C_IER.FCIE=1 and I3C_IER.ERRIE=1). - DMA reads and pops status word(s) from S-FIFO i.e. reads I3C_SR register. - Status word(s) are automatically read by the programmed hardware (i.e. via the asserted S-FIFO DMA request from the I3C and the programmed DMA channel)..

SFLUSH

Bit 17: S-FIFO flush (when I3C is acting as controller) When I3C is acting as I3C controller, this bit can only be written (and is only used when I3C is acting as controller)..

RMODE

Bit 18: S-FIFO enable / status receive mode (when I3C is acting as controller) When I3C is acting as I3C controller, this bit is used for the enabling the FIFO for the status (S-FIFO) vs the received status from the target on the I3C bus. When I3C is acting as target, this bit must be cleared. - Status register (i.e. I3C_SR) is used without FIFO mechanism. - There is no SCL stretch if a new status register content is not read. - Status register must be read before being lost/overwritten. All message status must be read. There is SCL stretch when there is no more space in the S-FIFO..

TMODE

Bit 19: transmit mode (when I3C is acting as controller) When I3C is acting as I3C controller, this bit is used for the C-FIFO and TX-FIFO management vs the emitted frame on the I3C bus. A frame transfer starts as soon as first control word is present in C-FIFO..

CDMAEN

Bit 20: C-FIFO DMA request enable (when I3C is acting as controller) When I3C is acting as controller: - Software writes and pushes control word(s) into C-FIFO i.e. writes I3C_CR register, as needed for a given frame. - A next control word transfer can be written by software either via polling on the flag I3C_EVR.CFNFF=1 or via interrupt notification (enabled by I3C_IER.CFNFIE=1). - DMA writes and pushes control word(s) into C-FIFO i.e. writes I3C_CR register, as needed for a given frame. - A next control word transfer is automatically written by the programmed hardware (i.e. via the asserted C-FIFO DMA request from the I3C and the programmed DMA channel)..

CFLUSH

Bit 21: C-FIFO flush (when I3C is acting as controller) This bit can only be written..

TSFSET

Bit 30: frame transfer set (a.k.a. software trigger) (when I3C is acting as controller) This bit can only be written. When I3C is acting as I3C controller: Note: If this bit is not set, the other alternative for the software to initiate a frame transfer is to directly write the first control word register (i.e. I3C_CR) while C-FIFO is empty (i.e. I3C_EVR.CFEF=1). Then, if the first written control word is not tagged as a message end (i.e I3C_CR.MEND=0), it causes the hardware to assert the flag I3C_EVR.CFNFF (C-FIFO not full and a next control word is needed)..

I3C_RDR

I3C receive data byte register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RDB0
r
Toggle fields

RDB0

Bits 0-7: 8-bit received data on I3C bus..

I3C_RDWR

I3C receive data word register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RDB3
r
RDB2
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RDB1
r
RDB0
r
Toggle fields

RDB0

Bits 0-7: 8-bit received data (earliest byte on I3C bus)..

RDB1

Bits 8-15: 8-bit received data (next byte after RDB0 on I3C bus)..

RDB2

Bits 16-23: 8-bit received data (next byte after RDB1 on I3C bus)..

RDB3

Bits 24-31: 8-bit received data (latest byte on I3C bus)..

I3C_TDR

I3C transmit data byte register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDB0
w
Toggle fields

TDB0

Bits 0-7: 8-bit data to transmit on I3C bus..

I3C_TDWR

I3C transmit data word register

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TDB3
w
TDB2
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDB1
w
TDB0
w
Toggle fields

TDB0

Bits 0-7: 8-bit transmit data (earliest byte on I3C bus).

TDB1

Bits 8-15: 8-bit transmit data (next byte after TDB0[7:0] on I3C bus)..

TDB2

Bits 16-23: 8-bit transmit data (next byte after TDB1[7:0] on I3C bus)..

TDB3

Bits 24-31: 8-bit transmit data (latest byte on I3C bus)..

I3C_IBIDR

I3C IBI payload data register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
IBIDB3
rw
IBIDB2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IBIDB1
rw
IBIDB0
rw
Toggle fields

IBIDB0

Bits 0-7: 8-bit IBI payload data (earliest byte on I3C bus, i.e. MDB[7:0] mandatory data byte)..

IBIDB1

Bits 8-15: 8-bit IBI payload data (next byte on I3C bus after IBIDB0[7:0])..

IBIDB2

Bits 16-23: 8-bit IBI payload data (next byte on I3C bus after IBIDB1[7:0])..

IBIDB3

Bits 24-31: 8-bit IBI payload data (latest byte on I3C bus)..

I3C_TGTTDR

I3C target transmit configuration register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRELOAD
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TGTTDCNT
rw
Toggle fields

TGTTDCNT

Bits 0-15: transmit data counter, in bytes (when I3C is configured as target) This field must be written by software in the same access when is asserted PRELOAD, in order to define the number of bytes to preload and to transmit. This field is updated by hardware and reports, when read, the remaining number of bytes to be loaded into the TX-FIFO..

PRELOAD

Bit 16: preload of the TX-FIFO (when I3C is configured as target) This bit must be written and asserted by software in the same access when is written and defined the number of bytes to preload into the TX-FIFO and to transmit. This bit is cleared by hardware when all the data bytes to transmit are loaded into the TX-FIFO..

I3C_SR

I3C status register

Offset: 0x30, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MID
r
DIR
r
ABT
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XDCNT
r
Toggle fields

XDCNT

Bits 0-15: data counter - When the I3C is acting as controller: number of targets detected on the bus - When the I3C is acting as target: number of transmitted bytes - Whatever the I3C is acting as controller or target: number of data bytes read from or transmitted on the I3C bus during the MID[7:0] message.

ABT

Bit 17: a private read message is completed/aborted prematurely by the target (when the I3C is acting as controller) When the I3C is acting as controller, this bit indicates if the private read data which is transmitted by the target early terminates (i.e. the target drives T bit low earlier vs what does expect the controller in terms of programmed number of read data bytes i.e. I3C_CR.DCNT[15:0])..

DIR

Bit 18: message direction Whatever the I3C is acting as controller or target, this bit indicates the direction of the related message on the I3C bus Note: ENTDAA CCC is considered as a write command..

MID

Bits 24-31: message identifier/counter of a given frame (when the I3C is acting as controller) When the I3C is acting as controller, this field identifies the control word message (i.e. I3C_CR) to which the I3C_SR status register refers. First message of a frame is identified with MID[7:0]=0. This field is incremented (by hardware) on the completion of a new message control word (i.e. I3C_CR) over I3C bus. This field is reset for every new frame start..

I3C_SER

I3C status error register

Offset: 0x34, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DERR
r
DNACK
r
ANACK
r
COVR
r
DOVR
r
STALL
r
PERR
r
CODERR
r
Toggle fields

CODERR

Bits 0-3: protocol error code/type controller detected an illegally formatted CCC controller detected that transmitted data on the bus is different from expected controller detected a not acknowledged broadcast address (7’hE) controller detected the new controller did not drive bus after controller-role hand-off target detected an invalid broadcast address 7’hE+W target detected a parity error on a CCC code via a parity check (vs T bit) target detected a parity error on a write data via a parity check (vs T bit) target detected a parity error on the assigned address during dynamic address arbitration via a parity check (vs PAR bit) target detected a 7’hE+R missing after Sr during dynamic address arbitration target detected an illegally formatted CCC target detected that transmitted data on the bus is different from expected others: reserved.

PERR

Bit 4: protocol error.

STALL

Bit 5: SCL stall error (when the I3C is acting as target).

DOVR

Bit 6: RX-FIFO overrun or TX-FIFO underrun i) a TX-FIFO underrun: TX-FIFO is empty and a write data byte has to be transmitted ii) a RX-FIFO overrun: RX-FIFO is full and a new data byte is received.

COVR

Bit 7: C-FIFO underrun or S-FIFO overrun (when the I3C is acting as controller) i) a C-FIFO underrun: control FIFO is empty and a restart has to be emitted ii) a S-FIFO overrun: S-FIFO is full and a new message ends.

ANACK

Bit 8: address not acknowledged (when the I3C is configured as controller) i) a legacy I2C read/write transfer ii) a direct CCC write transfer iii) the second trial of a direct CCC read transfer iv) a private read/write transfer.

DNACK

Bit 9: data not acknowledged (when the I3C is acting as controller) i) a legacy I2C write transfer ii) the second trial when sending dynamic address during ENTDAA procedure.

DERR

Bit 10: data error (when the I3C is acting as controller).

I3C_RMR

I3C received message register

Offset: 0x40, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RADD
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RCODE
r
IBIRDCNT
r
Toggle fields

IBIRDCNT

Bits 0-2: IBI received payload data count (when the I3C is configured as controller) When the I3C is configured as controller, this field logs the number of data bytes effectively received in the I3C_IBIDR register..

RCODE

Bits 8-15: received CCC code (when the I3C is configured as target) When the I3C is configured as target, this field logs the received CCC code..

RADD

Bits 17-23: received target address (when the I3C is configured as controller) When the I3C is configured as controller, this field logs the received dynamic address from the target during acknowledged IBI or controller-role request..

I3C_EVR

I3C event register

Offset: 0x50, size: 32, reset: 0x00000003, access: Unspecified

27/27 fields covered.

Toggle fields

CFEF

Bit 0: C-FIFO empty flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that the C-FIFO is empty when controller, and that the I3C_CR register contains no control word (i.e. none IBI/CR/HJ request) when target. This flag is de-asserted by hardware to indicate that the C-FIFO is not empty when controller, and that the I3C_CR register contains one control word (i.e. a pending IBI/CR/HJ request) when target. Note: When the I3C is acting as controller, if the C-FIFO and TX-FIFO preload is configured (i.e. I3C_CFGR.TMODE=1), the software must wait for TXFEF=1 and CFEF=1 before starting a new frame transfer..

TXFEF

Bit 1: TX-FIFO empty flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that the TX-FIFO is empty. This flag is de-asserted by hardware to indicate that the TX-FIFO is not empty. Note: When the I3C is acting as controller, if the C-FIFO and TX-FIFO preload is configured (i.e. I3C_CFGR.TMODE=1), the software must wait for TXFEF=1 and CFEF=1 before starting a new frame transfer..

CFNFF

Bit 2: C-FIFO not full flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that a control word is to be written to the C-FIFO. This flag is de-asserted by hardware to indicate that a control word is not to be written to the C-FIFO. Note: The software must wait for CFNFF=1 (by polling or via the enabled interrupt) before writing to C-FIFO (i.e. writing to I3C_CR)..

SFNEF

Bit 3: S-FIFO not empty flag (when the I3C is acting as controller) When the I3C is acting as controller, if the S-FIFO is enabled (i.e. I3C_CFGR.RMODE=1), this flag is asserted by hardware to indicate that a status word is to be read from the S-FIFO. This flag is de-asserted by hardware to indicate that a status word is not to be read from the S-FIFO..

TXFNFF

Bit 4: TX-FIFO not full flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that a data byte/word is to be written to the TX-FIFO. This flag is de-asserted by hardware to indicate that a data byte/word is not to be written to the TX-FIFO. Note: The software must wait for TXFNFF=1 (by polling or via the enabled interrupt) before writing to TX-FIFO (i.e. writing to I3C_TDR or I3C_TDWR depending on I3C_CFGR.TXTHRES). Note: When the I3C is acting as target, if the software intends to use the TXFNFF flag for writing into I3C_TDR/I3C_TDWR, it must have configured and set the TX-FIFO preload (i.e. write I3C_TGTTDR.PRELOAD)..

RXFNEF

Bit 5: RX-FIFO not empty flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that a data byte is to be read from the RX-FIFO. This flag is de-asserted by hardware to indicate that a data byte is not to be read from the RX-FIFO. Note: The software must wait for RXFNEF=1 (by polling or via the enabled interrupt) before reading from RX-FIFO (i.e. writing to I3C_RDR or I3C_RDWR depending on I3C_CFGR.RXTHRES)..

TXLASTF

Bit 6: last written data byte/word flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that the last data byte/word (depending on I3C_CFGR.TXTHRES) of a message is to be written to the TX-FIFO. This flag is de-asserted by hardware when the last data byte/word of a message is written..

RXLASTF

Bit 7: last read data byte/word flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that the last data byte/word (depending on I3C_CFGR.RXTHRES) of a message is to be read from the RX-FIFO. This flag is de-asserted by hardware when the last data byte/word of a message is read..

FCF

Bit 9: frame complete flag (whatever the I3C is acting as controller/target) When the I3C is acting as controller, this flag is asserted by hardware to indicate that a frame has been (normally) completed on the I3C bus, i.e when a stop is issued. When the I3C is acting as target, this flag is asserted by hardware to indicate that a message addressed to/by this target has been (normally) completed on the I3C bus, i.e when a next stop or repeated start is then issued by the controller. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CFCF bit..

RXTGTENDF

Bit 10: target-initiated read end flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that the target has prematurely ended a read transfer. Then, software should read I3C_SR to get more information on the prematurely read transfer. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CRXTGTENDF bit..

ERRF

Bit 11: flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that an error occurred.Then, software should read I3C_SER to get the error type. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CERRF bit..

IBIF

Bit 15: IBI flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that an IBI request has been received. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CIBIF bit..

IBIENDF

Bit 16: IBI end flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a IBI transfer has been received and completed (IBI acknowledged and IBI data bytes read by controller if any). This flag is cleared when software writes 1 into corresponding I3C_CEVR.CIBIENDF bit..

CRF

Bit 17: controller-role request flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that a controller-role request has been acknowledged and completed (by hardware). The software should then issue a GETACCCR CCC (get accept controller role) for the controller-role hand-off procedure. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CCRF bit..

CRUPDF

Bit 18: controller-role update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that it has now gained the controller role after the completed controller-role hand-off procedure. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CCRUPDF bit..

HJF

Bit 19: hot-join flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that an hot join request has been received. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CHJF bit..

WKPF

Bit 21: wakeup/missed start flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a start has been detected (i.e. a SDA falling edge followed by a SCL falling edge) but on the next SCL falling edge, the I3C kernel clock is (still) gated. Thus an I3C bus transaction may have been lost by the target. The corresponding interrupt may be used to wakeup the device from a low power mode (Sleep or Stop mode). This flag is cleared when software writes 1 into corresponding I3C_CEVR.CWKPF bit..

GETF

Bit 22: get flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that any direct CCC of get type (GET*** CCC) has been received. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CGETF bit..

STAF

Bit 23: get status flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a direct GETSTATUS CCC (get status) has been received. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CSTAF bit..

DAUPDF

Bit 24: dynamic address update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a dynamic address update has been received via any of the broadcast ENTDAA, RSTDAA and direct SETNEWDA CCC. Then, software should read I3C_DEVR0.DA[6:0] to get the maximum write length value. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CDAUPDF bit..

MWLUPDF

Bit 25: maximum write length update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a direct SETMWL CCC (set max write length) has been received. Then, software should read I3C_MAXWLR.MWL[15:0] to get the maximum write length value. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CMWLUPDF bit..

MRLUPDF

Bit 26: maximum read length update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a direct SETMRL CCC (set max read length) has been received. Then, software should read I3C_MAXRLR.MRL[15:0] to get the maximum read length value. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CMRLUPDF bit..

RSTF

Bit 27: reset pattern flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a reset pattern has been detected (i.e. 14 SDA transitions while SCL is low, followed by repeated start, then stop). Then, software should read I3C_DEVR0.RSTACT[1:0] and I3C_DEVR0.RSTVAL, to know what reset level is required. If RSTVAL=1: when the RSTF is asserted (and/or the corresponding interrupt if enabled), I3C_DEVR0.RSTACT[1:0] dictates the reset action to be performed by the software if any. If RSTVAL=0: when the RSTF is asserted (and/or the corresponding interrupt if enabled), the software should issue an I3C reset after a first detected reset pattern, and a system reset on the second one. The corresponding interrupt may be used to wakeup the device from a low power mode (Sleep or Stop mode). This flag is cleared when software writes 1 into corresponding I3C_CEVR.CRSTF bit..

ASUPDF

Bit 28: activity state update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that the direct or broadcast ENTASx CCC (with x=0...3) has been received. Then, software should read I3C_DEVR0.AS[1:0]. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CASUPDF bit..

INTUPDF

Bit 29: interrupt/controller-role/hot-join update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that the direct or broadcast ENEC/DISEC CCC (enable/disable target events) has been received, where a target event is either an interrupt/IBI request, a controller-role request, or an hot-join request. Then, software should read respectively I3C_DEVR0.IBIEN, I3C_DEVR0.CREN or I3C_DEVR0.HJEN. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CINTUPDF bit..

DEFF

Bit 30: DEFTGTS flag (when the I3C is acting as target) When the I3C is acting as target (and is typically controller capable), this flag is asserted by hardware to indicate that the broadcast DEFTGTS CCC (define list of targets) has been received. Then, software may store the received data for when getting the controller role. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CDEFF bit..

GRPF

Bit 31: group addressing flag (when the I3C is acting as target) When the I3C is acting as target (and is typically controller capable), this flag is asserted by hardware to indicate that the broadcast DEFGRPA CCC (define list of group addresses) has been received. Then, software may store the received data for when getting the controller role. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CGRPF bit..

I3C_IER

I3C interrupt enable register

Offset: 0x54, size: 32, reset: 0x00000000, access: Unspecified

23/23 fields covered.

Toggle fields

CFNFIE

Bit 2: C-FIFO not full interrupt enable (whatever the I3C is acting as controller/target).

SFNEIE

Bit 3: S-FIFO not empty interrupt enable (whatever the I3C is acting as controller/target).

TXFNFIE

Bit 4: TX-FIFO not full interrupt enable (whatever the I3C is acting as controller/target).

RXFNEIE

Bit 5: RX-FIFO not empty interrupt enable (whatever the I3C is acting as controller/target).

FCIE

Bit 9: frame complete interrupt enable (whatever the I3C is acting as controller/target).

RXTGTENDIE

Bit 10: target-initiated read end interrupt enable (when the I3C is acting as controller).

ERRIE

Bit 11: error interrupt enable (whatever the I3C is acting as controller/target).

IBIIE

Bit 15: IBI request interrupt enable (when the I3C is acting as controller).

IBIENDIE

Bit 16: IBI end interrupt enable (when the I3C is acting as target).

CRIE

Bit 17: controller-role request interrupt enable (when the I3C is acting as controller).

CRUPDIE

Bit 18: controller-role update interrupt enable (when the I3C is acting as target).

HJIE

Bit 19: hot-join interrupt enable (when the I3C is acting as controller).

WKPIE

Bit 21: wakeup interrupt enable (when the I3C is acting as target).

GETIE

Bit 22: GETxxx CCC interrupt enable (when the I3C is acting as target).

STAIE

Bit 23: GETSTATUS CCC interrupt enable (when the I3C is acting as target).

DAUPDIE

Bit 24: ENTDAA/RSTDAA/SETNEWDA CCC interrupt enable (when the I3C is acting as target).

MWLUPDIE

Bit 25: SETMWL CCC interrupt enable (when the I3C is acting as target).

MRLUPDIE

Bit 26: SETMRL CCC interrupt enable (when the I3C is acting as target).

RSTIE

Bit 27: reset pattern interrupt enable (when the I3C is acting as target).

ASUPDIE

Bit 28: ENTASx CCC interrupt enable (when the I3C is acting as target).

INTUPDIE

Bit 29: ENEC/DISEC CCC interrupt enable (when the I3C is acting as target).

DEFIE

Bit 30: DEFTGTS CCC interrupt enable (when the I3C is acting as target).

GRPIE

Bit 31: DEFGRPA CCC interrupt enable (when the I3C is acting as target).

I3C_CEVR

I3C clear event register

Offset: 0x58, size: 32, reset: 0x00000000, access: Unspecified

0/19 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CGRPF
w
CDEFF
w
CINTUPDF
w
CASUPDF
w
CRSTF
w
CMRLUPDF
w
CMWLUPDF
w
CDAUPDF
w
CSTAF
w
CGETF
w
CWKPF
w
CHJF
w
CCRUPDF
w
CCRF
w
CIBIENDF
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CIBIF
w
CERRF
w
CRXTGTENDF
w
CFCF
w
Toggle fields

CFCF

Bit 9: clear frame complete flag (whatever the I3C is acting as controller/target).

CRXTGTENDF

Bit 10: clear target-initiated read end flag (when the I3C is acting as controller).

CERRF

Bit 11: clear error flag (whatever the I3C is acting as controller/target).

CIBIF

Bit 15: clear IBI request flag (when the I3C is acting as controller).

CIBIENDF

Bit 16: clear IBI end flag (when the I3C is acting as target).

CCRF

Bit 17: clear controller-role request flag (when the I3C is acting as controller).

CCRUPDF

Bit 18: clear controller-role update flag (when the I3C is acting as target).

CHJF

Bit 19: clear hot-join flag (when the I3C is acting as controller).

CWKPF

Bit 21: clear wakeup flag (when the I3C is acting as target).

CGETF

Bit 22: clear GETxxx CCC flag (when the I3C is acting as target).

CSTAF

Bit 23: clear GETSTATUS CCC flag (when the I3C is acting as target).

CDAUPDF

Bit 24: clear ENTDAA/RSTDAA/SETNEWDA CCC flag (when the I3C is acting as target).

CMWLUPDF

Bit 25: clear SETMWL CCC flag (when the I3C is acting as target).

CMRLUPDF

Bit 26: clear SETMRL CCC flag (when the I3C is acting as target).

CRSTF

Bit 27: clear reset pattern flag (when the I3C is acting as target).

CASUPDF

Bit 28: clear ENTASx CCC flag (when the I3C is acting as target).

CINTUPDF

Bit 29: clear ENEC/DISEC CCC flag (when the I3C is acting as target).

CDEFF

Bit 30: clear DEFTGTS CCC flag (when the I3C is acting as target).

CGRPF

Bit 31: clear DEFGRPA CCC flag (when the I3C is acting as target).

I3C_DEVR0

I3C own device characteristics register

Offset: 0x60, size: 32, reset: 0x00000000, access: Unspecified

3/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RSTVAL
r
RSTACT
r
AS
r
HJEN
rw
CREN
rw
IBIEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
DAVAL
rw
Toggle fields

DAVAL

Bit 0: dynamic address is valid (when the I3C is acting as target) When the I3C is acting as controller, this field can be written by software, for validating its own dynamic address, for example before a controller-role hand-off. When the I3C is acting as target, this field is asserted by hardware on the acknowledge of the broadcast ENTDAA CCC or the direct SETNEWDA CCC, and this field is cleared by hardware on the acknowledge of the broadcast RSTDAA CCC..

DA

Bits 1-7: 7-bit dynamic address When the I3C is acting as controller, this field can be written by software, for defining its own dynamic address. When the I3C is acting as target, this field is updated by hardware on the reception of either the broadcast ENTDAA CCC or the direct SETNEWDA CCC..

IBIEN

Bit 16: IBI request enable (when the I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0, and is updated by hardware on the reception of DISEC CCC with DISINT=1 (i.e. cleared) and the reception of ENEC CCC with ENINT=1 (i.e. set)..

CREN

Bit 17: controller-role request enable (when the I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0, and is updated by hardware on the reception of DISEC CCC with DISCR=1 (i.e. cleared) and the reception of ENEC CCC with ENCR=1 (i.e. set)..

HJEN

Bit 19: hot-join request enable (when the I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0, and is updated by hardware on the reception of DISEC CCC with DISHJ=1 (i.e. cleared) and the reception of ENEC CCC with ENHJ=1 (i.e. set)..

AS

Bits 20-21: activity state (when the I3C is acting as target) This read field is updated by hardware on the reception of a ENTASx CCC (enter activity state, with x=0-3):.

RSTACT

Bits 22-23: reset action/level on received reset pattern (when the I3C is acting as target) This read field is used by hardware on the reception of a direct read RSTACT CCC in order to return the corresponding data byte on the I3C bus. This read field is updated by hardware on the reception of a broadcast or direct write RSTACT CCC (target reset action). Only the defining bytes 0x00, 0x01 and 0x02 are mapped, and RSTACT[1:0] = Defining Byte[1:0]. a) partially reset the I3C peripheral, by a write and clear of the enable bit of the i3C configuration register (i.e. write I3C_CFGR.EN=0). This reset the I3C bus interface and the I3C kernel sub-parts, without modifying the content of the I3C APB registers (excepted the I3C_CFGR.EN bit). b) reset fully the I3C peripheral including all its registers via a write and set to the I3C reset control bit of the RCC (Reset and Clock Controller) register. a system reset. This has the same impact as a pin reset (i.e. NRST=0) (refer to RCC functional description - Reset part): – the software writes and set the AICR.SYSRESETREQ register control bit, when the device is controlled by a CortexTM-M. – the software writes and set the RCC_GRSTCSETR.SYSRST=1, when the device is controlled by a CortexTM-A..

RSTVAL

Bit 24: reset action is valid (when the I3C is acting as target) This read bit is asserted by hardware to indicate that the RTSACT[1:0] field has been updated on the reception of a broadcast or direct write RSTACT CCC (target reset action) and is valid. This field is cleared by hardware when the target receives a frame start. If RSTVAL=1: when the RSTF is asserted (and/or the corresponding interrupt if enabled), I3C_DEVR0.RSTACT[1:0] dictates the reset action to be performed by the software if any. If RSTVAL=0: when the RSTF is asserted (and/or the corresponding interrupt if enabled), the software should issue an I3C reset after a first detected reset pattern, and a system reset on the second one..

I3C_DEVR1

I3C device 1 characteristics register

Offset: 0x64, size: 32, reset: 0x00000000, access: Unspecified

1/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DIS
r
SUSP
rw
IBIDEN
rw
CRACK
rw
IBIACK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 1-7: assigned I3C dynamic address to target x (when the I3C is acting as controller) When the I3C is acting as controller, this field should be written by software to store the 7-bit dynamic address that the controller sends via a broadcast ENTDAA or a direct SETNEWDA CCC which has been acknowledged by the target x. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1..

IBIACK

Bit 16: IBI request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a IBI request from target x: - After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another IBI request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the controller logs the IBI payload data, if any, depending on I3C_DEVRx.IBIDEN. - The software is notified by the IBI flag (i.e. I3C_EVR.IBIF=1) and/or the corresponding interrupt if enabled; - Independently from IBIACK configuration for this or other devices, further IBI request(s) are NACKed until IBI request flag (i.e. I3C_EVR.IBIF) and controller-role request flag (i.e. I3C_EVR.CRF) are both cleared..

CRACK

Bit 17: controller-role request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a controller-role request from target x: After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another controller-role request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the message continues as initially programmed. The software is notified by the controller-role request flag (i.e. I3C_EVR.CRF=1) and/or the corresponding interrupt if enabled; For effectively granting the controller-role to the requesting secondary controller, software should issue a GETACCCR (formerly known as GETACCMST), followed by a STOP. - Independently of CRACK configuration for this or other devices, further controller-role request(s) are NACKed until controller-role request flag (i.e. I3C_EVR.CRF) and IBI flag (i.e. I3C_EVR.IBIF) are both cleared..

IBIDEN

Bit 18: IBI data enable (when the I3C is acting as controller) When the I3C is acting as controller, this bit should be written by software to store the BCR[2] bit as received from the target x during broadcast ENTDAA or direct GETBCR CCC via the received I3C_RDR. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1..

SUSP

Bit 19: suspend/stop I3C transfer on received IBI (when the I3C is acting as controller) When the I3C is acting as controller, this bit is used to receive an IBI from target x with pending read notification feature (i.e. with received MDB[7:5]=3’b101). If this bit is set, when an IBI is received (i.e. I3C_EVR.IBIF=1), a Stop is emitted on the I3C bus and the C-FIFO is automatically flushed by hardware; to avoid a next private read communication issue if a previous private read message to the target x was stored in the C-FIFO..

DIS

Bit 31: DA[6:0] write disabled (when the I3C is acting as controller) When the I3C is acting as controller, once that software set IBIACK=1 or CRACK=1, this read bit is set by hardware (i.e. DIS=1) to lock the configured DA[6:0] and IBIDEN values. Then, to be able to next modify DA[6:0] or IBIDEN, the software must wait for this field DIS to be de-asserted by hardware (i.e. polling on DIS=0) before modifying these two assigned values to the target x. Indeed, the target may be requesting an IBI or a controller-role meanwhile the controller intends to modify DA[6:0] or IBIDEN..

I3C_DEVR2

I3C device 2 characteristics register

Offset: 0x68, size: 32, reset: 0x00000000, access: Unspecified

1/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DIS
r
SUSP
rw
IBIDEN
rw
CRACK
rw
IBIACK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 1-7: assigned I3C dynamic address to target x (when the I3C is acting as controller) When the I3C is acting as controller, this field should be written by software to store the 7-bit dynamic address that the controller sends via a broadcast ENTDAA or a direct SETNEWDA CCC which has been acknowledged by the target x. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1..

IBIACK

Bit 16: IBI request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a IBI request from target x: - After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another IBI request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the controller logs the IBI payload data, if any, depending on I3C_DEVRx.IBIDEN. - The software is notified by the IBI flag (i.e. I3C_EVR.IBIF=1) and/or the corresponding interrupt if enabled; - Independently from IBIACK configuration for this or other devices, further IBI request(s) are NACKed until IBI request flag (i.e. I3C_EVR.IBIF) and controller-role request flag (i.e. I3C_EVR.CRF) are both cleared..

CRACK

Bit 17: controller-role request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a controller-role request from target x: After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another controller-role request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the message continues as initially programmed. The software is notified by the controller-role request flag (i.e. I3C_EVR.CRF=1) and/or the corresponding interrupt if enabled; For effectively granting the controller-role to the requesting secondary controller, software should issue a GETACCCR (formerly known as GETACCMST), followed by a STOP. - Independently of CRACK configuration for this or other devices, further controller-role request(s) are NACKed until controller-role request flag (i.e. I3C_EVR.CRF) and IBI flag (i.e. I3C_EVR.IBIF) are both cleared..

IBIDEN

Bit 18: IBI data enable (when the I3C is acting as controller) When the I3C is acting as controller, this bit should be written by software to store the BCR[2] bit as received from the target x during broadcast ENTDAA or direct GETBCR CCC via the received I3C_RDR. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1..

SUSP

Bit 19: suspend/stop I3C transfer on received IBI (when the I3C is acting as controller) When the I3C is acting as controller, this bit is used to receive an IBI from target x with pending read notification feature (i.e. with received MDB[7:5]=3’b101). If this bit is set, when an IBI is received (i.e. I3C_EVR.IBIF=1), a Stop is emitted on the I3C bus and the C-FIFO is automatically flushed by hardware; to avoid a next private read communication issue if a previous private read message to the target x was stored in the C-FIFO..

DIS

Bit 31: DA[6:0] write disabled (when the I3C is acting as controller) When the I3C is acting as controller, once that software set IBIACK=1 or CRACK=1, this read bit is set by hardware (i.e. DIS=1) to lock the configured DA[6:0] and IBIDEN values. Then, to be able to next modify DA[6:0] or IBIDEN, the software must wait for this field DIS to be de-asserted by hardware (i.e. polling on DIS=0) before modifying these two assigned values to the target x. Indeed, the target may be requesting an IBI or a controller-role meanwhile the controller intends to modify DA[6:0] or IBIDEN..

I3C_DEVR3

I3C device 3 characteristics register

Offset: 0x6c, size: 32, reset: 0x00000000, access: Unspecified

1/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DIS
r
SUSP
rw
IBIDEN
rw
CRACK
rw
IBIACK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 1-7: assigned I3C dynamic address to target x (when the I3C is acting as controller) When the I3C is acting as controller, this field should be written by software to store the 7-bit dynamic address that the controller sends via a broadcast ENTDAA or a direct SETNEWDA CCC which has been acknowledged by the target x. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1..

IBIACK

Bit 16: IBI request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a IBI request from target x: - After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another IBI request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the controller logs the IBI payload data, if any, depending on I3C_DEVRx.IBIDEN. - The software is notified by the IBI flag (i.e. I3C_EVR.IBIF=1) and/or the corresponding interrupt if enabled; - Independently from IBIACK configuration for this or other devices, further IBI request(s) are NACKed until IBI request flag (i.e. I3C_EVR.IBIF) and controller-role request flag (i.e. I3C_EVR.CRF) are both cleared..

CRACK

Bit 17: controller-role request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a controller-role request from target x: After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another controller-role request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the message continues as initially programmed. The software is notified by the controller-role request flag (i.e. I3C_EVR.CRF=1) and/or the corresponding interrupt if enabled; For effectively granting the controller-role to the requesting secondary controller, software should issue a GETACCCR (formerly known as GETACCMST), followed by a STOP. - Independently of CRACK configuration for this or other devices, further controller-role request(s) are NACKed until controller-role request flag (i.e. I3C_EVR.CRF) and IBI flag (i.e. I3C_EVR.IBIF) are both cleared..

IBIDEN

Bit 18: IBI data enable (when the I3C is acting as controller) When the I3C is acting as controller, this bit should be written by software to store the BCR[2] bit as received from the target x during broadcast ENTDAA or direct GETBCR CCC via the received I3C_RDR. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1..

SUSP

Bit 19: suspend/stop I3C transfer on received IBI (when the I3C is acting as controller) When the I3C is acting as controller, this bit is used to receive an IBI from target x with pending read notification feature (i.e. with received MDB[7:5]=3’b101). If this bit is set, when an IBI is received (i.e. I3C_EVR.IBIF=1), a Stop is emitted on the I3C bus and the C-FIFO is automatically flushed by hardware; to avoid a next private read communication issue if a previous private read message to the target x was stored in the C-FIFO..

DIS

Bit 31: DA[6:0] write disabled (when the I3C is acting as controller) When the I3C is acting as controller, once that software set IBIACK=1 or CRACK=1, this read bit is set by hardware (i.e. DIS=1) to lock the configured DA[6:0] and IBIDEN values. Then, to be able to next modify DA[6:0] or IBIDEN, the software must wait for this field DIS to be de-asserted by hardware (i.e. polling on DIS=0) before modifying these two assigned values to the target x. Indeed, the target may be requesting an IBI or a controller-role meanwhile the controller intends to modify DA[6:0] or IBIDEN..

I3C_DEVR4

I3C device 4 characteristics register

Offset: 0x70, size: 32, reset: 0x00000000, access: Unspecified

1/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DIS
r
SUSP
rw
IBIDEN
rw
CRACK
rw
IBIACK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 1-7: assigned I3C dynamic address to target x (when the I3C is acting as controller) When the I3C is acting as controller, this field should be written by software to store the 7-bit dynamic address that the controller sends via a broadcast ENTDAA or a direct SETNEWDA CCC which has been acknowledged by the target x. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1..

IBIACK

Bit 16: IBI request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a IBI request from target x: - After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another IBI request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the controller logs the IBI payload data, if any, depending on I3C_DEVRx.IBIDEN. - The software is notified by the IBI flag (i.e. I3C_EVR.IBIF=1) and/or the corresponding interrupt if enabled; - Independently from IBIACK configuration for this or other devices, further IBI request(s) are NACKed until IBI request flag (i.e. I3C_EVR.IBIF) and controller-role request flag (i.e. I3C_EVR.CRF) are both cleared..

CRACK

Bit 17: controller-role request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a controller-role request from target x: After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another controller-role request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the message continues as initially programmed. The software is notified by the controller-role request flag (i.e. I3C_EVR.CRF=1) and/or the corresponding interrupt if enabled; For effectively granting the controller-role to the requesting secondary controller, software should issue a GETACCCR (formerly known as GETACCMST), followed by a STOP. - Independently of CRACK configuration for this or other devices, further controller-role request(s) are NACKed until controller-role request flag (i.e. I3C_EVR.CRF) and IBI flag (i.e. I3C_EVR.IBIF) are both cleared..

IBIDEN

Bit 18: IBI data enable (when the I3C is acting as controller) When the I3C is acting as controller, this bit should be written by software to store the BCR[2] bit as received from the target x during broadcast ENTDAA or direct GETBCR CCC via the received I3C_RDR. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1..

SUSP

Bit 19: suspend/stop I3C transfer on received IBI (when the I3C is acting as controller) When the I3C is acting as controller, this bit is used to receive an IBI from target x with pending read notification feature (i.e. with received MDB[7:5]=3’b101). If this bit is set, when an IBI is received (i.e. I3C_EVR.IBIF=1), a Stop is emitted on the I3C bus and the C-FIFO is automatically flushed by hardware; to avoid a next private read communication issue if a previous private read message to the target x was stored in the C-FIFO..

DIS

Bit 31: DA[6:0] write disabled (when the I3C is acting as controller) When the I3C is acting as controller, once that software set IBIACK=1 or CRACK=1, this read bit is set by hardware (i.e. DIS=1) to lock the configured DA[6:0] and IBIDEN values. Then, to be able to next modify DA[6:0] or IBIDEN, the software must wait for this field DIS to be de-asserted by hardware (i.e. polling on DIS=0) before modifying these two assigned values to the target x. Indeed, the target may be requesting an IBI or a controller-role meanwhile the controller intends to modify DA[6:0] or IBIDEN..

I3C_MAXRLR

I3C maximum read length register

Offset: 0x90, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
IBIP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MRL
rw
Toggle fields

MRL

Bits 0-15: maximum data read length (when I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0 and updated by hardware on the reception of SETMRL command (with potentially also updated IBIP[2:0]). Software is notified of a MRL update by the I3C_EVR.MRLUPF and the corresponding interrupt if enabled. This field is used by hardware to return the value on the I3C bus when the target receives a GETMRL CCC..

IBIP

Bits 16-18: IBI payload data size, in bytes (when I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0 to set the number of data bytes to be sent to the controller after an IBI request has been acknowledged.This field may be updated by hardware on the reception of SETMRL command (which potentially also updated IBIP[2:0]). Software is notified of a MRL update by the I3C_EVR.MRLUPF and the corresponding interrupt if enabled. others: same as 100.

I3C_MAXWLR

I3C maximum write length register

Offset: 0x94, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MWL
rw
Toggle fields

MWL

Bits 0-15: maximum data write length (when I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0 and updated by hardware on the reception of SETMWL command. Software is notified of a MWL update by the I3C_EVR.MWLUPF and the corresponding interrupt if enabled. This field is used by hardware to return the value on the I3C bus when the target receives a GETMWL CCC..

I3C_TIMINGR0

I3C timing register 0

Offset: 0xa0, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SCLH_I2C
rw
SCLL_OD
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SCLH_I3C
rw
SCLL_PP
rw
Toggle fields

SCLL_PP

Bits 0-7: SCL low duration in I3C push-pull phases, in number of kernel clocks cycles: tSCLL_PP = (SCLL_PP + 1) x tI3CCLK SCLL_PP is used to generate tLOW (I3C) timing..

SCLH_I3C

Bits 8-15: SCL high duration, used for I3C messages (both in push-pull and open-drain phases), in number of kernel clocks cycles: tSCLH_I3C = (SCLH_I3C + 1) x tI3CCLK SCLH_I3C is used to generate both tHIGH (I3C) and tHIGH_MIXED timings..

SCLL_OD

Bits 16-23: SCL low duration in open-drain phases, used for legacy I2C commands and for I3C open-drain phases (address header phase following a START, not a Repeated START), in number of kernel clocks cycles: tSCLL_OD = (SCLL_OD + 1) x tI3CCLK SCLL_OD is used to generate both tLOW (I2C) and tLOW_OD timings (max. of the two)..

SCLH_I2C

Bits 24-31: SCL high duration, used for legacy I2C commands, in number of kernel clocks cycles: tSCLH_I2C = (SCLH_I2C + 1) x tI3CCLK SCLH_I2C is used to generate tHIGH (I2C) timing..

I3C_TIMINGR1

I3C timing register 1

Offset: 0xa4, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SDA_HD
rw
FREE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ASNCR
rw
AVAL
rw
Toggle fields

AVAL

Bits 0-7: number of kernel clock cycles, that is used whatever I3C is acting as controller or target, to set the following MIPI I3C timings, like bus available condition time: When the I3C is acting as target: for bus available condition time: it must wait for (bus available condition) time to be elapsed after a stop and before issuing a start request for an IBI or a controller-role request (i.e. bus free condition is sustained for at least tAVAL). refer to MIPI timing tAVAL = 1 �s. This timing is defined by: tAVAL = (AVAL[7:0] + 2) x tI3CCLK for bus idle condition time: it must wait for (bus idle condition) time to be elapsed after that both SDA and SCL are continuously high and stable before issuing a hot-join event. Refer to MIPI v1.1 timing tIDLE = 200 �s . This timing is defined by: tIDLE = (AVAL[7:0] + 2) x 200 x tI3CCLK When the I3C is acting as controller, it can not stall the clock beyond a maximum stall time (i.e. stall the SCL clock low), as follows: on first bit of assigned address during dynamic address assignment: it can not stall the clock beyond the MIPI timing tSTALLDAA = 15 ms. This timing is defined by: tSTALLDAA = (AVAL[7:0] + 1) x 15000 x tI3CCLK on ACK/NACK phase of I3C/I2C transfer, on parity bit of write data transfer, on transition bit of I3C read transfer: it can not stall the clock beyond the MIPI timing tSTALL = 100 �s. This timing is defined by: tSTALL = (AVAL[7:0] + 1) x 100 x tI3CCLK Whatever the I3C is acting as controller or as (controller-capable) target, during a controller-role hand-off procedure: The new controller must wait for a time (refer to MIPI timing tNEWCRLock) before pulling SDA low (i.e. issuing a start). And the active controller must wait for the same time while monitoring new controller and before testing the new controller by pulling SDA low. This time to wait is dependent on the defined I3C_TIMINGR1.ANSCR[1:0], as follows: If ASNCR[1:0]=00: tNEWCRLock = (AVAL[7:0] + 1) x tI3CCLK If ASNCR[1:0]=01: tNEWCRLock = (AVAL[7:0] + 1) x 100 x tI3CCLK If ASNCR[1:0]=10: tNEWCRLock = (AVAL[7:0] + 1) x 2000 x tI3CCLK If ASNCR[1:0]=11: tNEWCRLock = (AVAL[7:0] + 1) x 50000 x tI3CCLK.

ASNCR

Bits 8-9: activity state of the new controller (when I3C is acting as - active- controller) This field indicates the time to wait before being accessed as new target, refer to the other field AVAL[7:0]. This field can be modified only when the I3C is acting as controller..

FREE

Bits 16-22: number of kernel clocks cycles that is used to set some MIPI timings like bus free condition time (when the I3C is acting as controller) When the I3C is acting as controller: for I3C start timing: it must wait for (bus free condition) time to be elapsed after a stop and before a start, refer to MIPI timings (I3C) tCAS and (I2C) tBUF. These timings are defined by: tBUF= tCAS = [ (FREE[6:0] + 1) x 2 - (0,5 + SDA_HD)] x tI3CCLK Note: for pure I3C bus: tCASmin= 38,4 ns. Note: for pure I3C bus: tCASmax=1�s, 100�s, 2ms, 50ms for respectively ENTAS0,1,2, and 3. Note: for mixed bus with I2C fm+ device: tBUFmin = 0,5 �s. Note: for mixed bus with I2C fm device: tBUFmin = 1,3 �s. for I3C repeated start timing: it must wait for time to be elapsed after a repeated start (i.e. SDA is de-asserted) and before driving SCL low, refer to. MIPI timing tCASr. This timing is defined by: tCASr = [ (FREE[6:0] + 1) x 2 - (0,5 + SDA_HD)] x tI3CCLK for I3C stop timing: it must wait for time to be elapsed after that the SCL clock is driven high and before the stop condition (i.e. SDA is asserted). This timing is defined by: tCBP = (FREE[6:0] + 1) x tI3CCLK for I3C repeated start timing (T-bit when controller ends read with repeated start followed by stop): it must wait for time to be elapsed after that the SCL clock is driven high and before the repeated start condition (i.e. SDA is de-asserted). This timing is defined by: tCBSr = (FREE[6:0] + 1) x tI3CCLK.

SDA_HD

Bit 28: SDA hold time (when the I3C is acting as controller), in number of kernel clocks cycles (refer to MIPI timing SDA hold time in push-pull tHD_PP):.

I3C_TIMINGR2

I3C timing register 2

Offset: 0xa8, size: 32, reset: 0x00000000, access: Unspecified

0/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
STALL
rw
STALLA
rw
STALLC
rw
STALLD
rw
STALLT
rw
Toggle fields

STALLT

Bit 0: Controller clock stall on T-bit phase of Data enable The SCL is stalled during STALL x tSCLL_PP in the T-bit phase (before 9th bit). This allows the target to prepare data to be sent..

STALLD

Bit 1: controller clock stall on PAR phase of Data enable The SCL is stalled during STALL x tSCLL_PP in the T-bit phase (before 9th bit). This allows the target to read received data..

STALLC

Bit 2: controller clock stall on PAR phase of CCC enable The SCL is stalled during STALL x tSCLL_PP in the T-bit phase of common command code (before 9th bit). This allows the target to decode the command..

STALLA

Bit 3: controller clock stall enable on ACK phase The SCL is stalled (during tSCLL_STALLas defined by STALL) in the address ACK/NACK phase (before 9th bit). This allows the target to prepare data or the controller to respond to target interrupt..

STALL

Bits 8-15: controller clock stall time, in number of kernel clock cycles tSCLL_STALL = STALL x tI3CCLK.

I3C_BCR

I3C bus characteristics register

Offset: 0xc0, size: 32, reset: 0x00000000, access: Unspecified

0/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BCR6
rw
BCR2
rw
BCR0
rw
Toggle fields

BCR0

Bit 0: max data speed limitation.

BCR2

Bit 2: in-band interrupt (IBI) payload.

BCR6

Bit 6: controller capable.

I3C_DCR

I3C device characteristics register

Offset: 0xc4, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DCR
rw
Toggle fields

DCR

Bits 0-7: device characteristics ID others: ID to describe the type of the I3C sensor/device Note: The latest MIPI DCR ID assignments are available at: https://www.mipi.org/MIPI_I3C_device_characteristics_register.

I3C_GETCAPR

I3C get capability register

Offset: 0xc8, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CAPPEND
rw
Toggle fields

CAPPEND

Bit 14: IBI MDB support for pending read notification This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and indicates the support (or not) of the pending read notification via the IBI MDB[7:0] value. This bit is used to return the GETCAP3 byte in response to the GETCAPS CCC format 1..

I3C_CRCAPR

I3C controller-role capability register

Offset: 0xcc, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CAPGRP
rw
CAPDHOFF
rw
Toggle fields

CAPDHOFF

Bit 3: delayed controller-role hand-off This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and indicates if this target I3C may need additional time to process a controller-role hand-off requested by the current controller. This bit is used to return the CRCAP2 byte in response to the GETCAPS CCC format 2..

CAPGRP

Bit 9: group management support (when acting as controller) This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and indicates if the I3C is able to support group management when it acts as a controller (after controller-role hand-off) via emitted DEFGRPA, RSTGRPA, and SETGRPA CCC. This bit is used to return the CRCAP1 byte in response to the GETCAPS CCC format 2..

I3C_GETMXDSR

I3C get capability register

Offset: 0xd0, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TSCO
rw
RDTURN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FMT
rw
HOFFAS
rw
Toggle fields

HOFFAS

Bits 0-1: controller hand-off activity state This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and indicates in which initial activity state the (other) current controller should expect the I3C bus after a controller-role hand-off to this controller-capable I3C, when returning the defining byte CRHDLY (0x91) to a GETMXDS CCC. This 2-bit field is used to return the CRHDLY1 byte in response to the GETCAPS CCC format 3, in order to state which is the activity state of this I3C when becoming controller after a controller-role hand-off, and consequently the time the former controller should wait before testing this I3C to be confirmed its ownership..

FMT

Bits 8-9: GETMXDS CCC format This field is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and indicates how is returned the GETMXDS format 1 (without MaxRdTurn) and format 2 (with MaxRdTurn). This bit is used to return the 2-byte format 1 (MaxWr, MaxRd) or 5-byte format 2 (MaxWr, MaxRd, 3-byte MaxRdTurn) byte in response to the GETCAPS CCC. - 3-byte MaxRdTurn is returned with MSB=0, middle byte=0 and LSB=RDTURN[7:0]. - Max read turnaround time is less than 256 �s. - 3-byte MaxRdTurn is returned with MSB=0, middle byte=RDTURN[7:0] and LSB=0. - Max read turnaround time is between 256 �s and 65535 �s - 3-byte MaxRdTurn is returned with MSB=RDTURN[7:0], middle byte=0 and LSB=0. - Max read turnaround time is between 65535 �s and 16 s..

RDTURN

Bits 16-23: programmed byte of the 3-byte MaxRdTurn (maximum read turnaround byte) This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and writes the value of the selected byte (via the FMT[1:0] field) of the 3-byte MaxRdTurn which is returned in response to the GETMXDS CCC format 2 to encode the maximum read turnaround time..

TSCO

Bit 24: clock-to-data turnaround time (tSCO) This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and is used to specify the clock-to-data turnaround time tSCO (vs the value of 12 ns). This bit is used by the hardware in response to the GETMXDS CCC to return the encoded clock-to-data turnaround time via the returned MaxRd[5:3] bits..

I3C_EPIDR

I3C extended provisioned ID register

Offset: 0xd4, size: 32, reset: 0x02080000, access: Unspecified

2/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MIPIMID
r
IDTSEL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MIPIID
rw
Toggle fields

MIPIID

Bits 12-15: 4-bit MIPI Instance ID This field is written by software to set and identify individually each instance of this I3C IP with a specific number on a single I3C bus. This field represents the bits[15:12] of the 48-bit provisioned ID. Note: The bits[11:0] of the provisioned ID may be 0..

IDTSEL

Bit 16: provisioned ID type selector This field is set as 0 i.e. vendor fixed value. This field represents the bit[32] of the 48-bit provisioned ID. Note: The bits[31:16] of the provisioned ID may be 0..

MIPIMID

Bits 17-31: 15-bit MIPI manufacturer ID This read field is the 15-bit STMicroelectronics MIPI ID i.e. 0x0104. This field represents the bits[47:33] of the 48-bit provisioned ID..

I3C2

0x44003000: Improved inter-integrated circuit

79/191 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 I3C_CR
0x0 I3C_CR_ALTERNATE
0x4 I3C_CFGR
0x10 I3C_RDR
0x14 I3C_RDWR
0x18 I3C_TDR
0x1c I3C_TDWR
0x20 I3C_IBIDR
0x24 I3C_TGTTDR
0x30 I3C_SR
0x34 I3C_SER
0x40 I3C_RMR
0x50 I3C_EVR
0x54 I3C_IER
0x58 I3C_CEVR
0x60 I3C_DEVR0
0x64 I3C_DEVR1
0x68 I3C_DEVR2
0x6c I3C_DEVR3
0x70 I3C_DEVR4
0x90 I3C_MAXRLR
0x94 I3C_MAXWLR
0xa0 I3C_TIMINGR0
0xa4 I3C_TIMINGR1
0xa8 I3C_TIMINGR2
0xc0 I3C_BCR
0xc4 I3C_DCR
0xc8 I3C_GETCAPR
0xcc I3C_CRCAPR
0xd0 I3C_GETMXDSR
0xd4 I3C_EPIDR
Toggle registers

I3C_CR

I3C message control register

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

0/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MEND
w
MTYPE
w
ADD
w
RNW
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DCNT
w
Toggle fields

DCNT

Bits 0-15: count of data to transfer during a read or write message, in bytes (whatever I3C is acting as controller/target) Linear encoding up to 64 Kbytes -1 ....

RNW

Bit 16: read / non-write message (when I3C is acting as controller) When I3C is acting as controller, this field is used if MTYPE[3:0]=0010 (private message) or MTYPE[3:0]=0011 (direct message) or MTYPE[3:0]=0100 (legacy I2C message), in order to emit the RnW bit on the I3C bus..

ADD

Bits 17-23: 7-bit I3C dynamic / I2C static target address (when I3C is acting as controller) When I3C is acting as controller, this field is used if MTYPE[3:0]=0010 (private message) or MTYPE[3:0]=0011 (direct message) or MTYPE[3:0]=0100 (legacy I2C message).

MTYPE

Bits 27-30: message type (whatever I3C is acting as controller/target) Bits[26:0] are ignored. After M2 error detection on an I3C SDR message, this is needed for SCL “stuck at” recovery. Bits[26:0] are ignored. If I3C_CFGR.EXITPTRN=1, an HDR exit pattern is emitted on the bus to generate an escalation fault. Bits[23:17] (ADD[6:0]) is the emitted 7-bit dynamic address. Bit[16] (RNW) is the emitted RnW bit. The transferred private message is: {S / S+7’h7E+RnW=0+Sr / Sr+*} + 7-bit DynAddr + RnW + (8-bit Data + T)* + Sr/P. After a S (START), depending on I3C_CFGR.NOARBH, the arbitrable header (7’h7E+RnW=0) is inserted or not. Sr+*: after a Sr (Repeated Start), the hardware automatically inserts (7’h7E+RnW=0) if needed, i.e. if it follows an I3C direct message without ending by a P (Stop). Bits[23:17] (ADD[6:0]) is the emitted 7-bit dynamic address. Bit[16] (RNW) is the emitted RnW bit. The transferred direct message is: Sr + 7-bit DynAddr + RnW + (8-bit Data + T)* + Sr/P Bits[23:17] (ADD[6:0]) is the emitted 7-bit static address. Bit[16] (RNW) is the emitted RnW bit. The transferred legacy I2C message is: {S / S+ 7’h7E+RnW=0 + Sr / Sr+*} + 7-bit StaAddr + RnW + (8-bit Data + T)* + Sr/P. After a S (START), depending on I3C_CFGR.NOARBH, the arbitrable header (7’h7E+RnW=0) is inserted or not. Sr+*: after a Sr (Repeated Start), the hardware automatically inserts (7’h7E+RnW=0) if needed, i.e. if it follows an I3C direct message without ending by a P (Stop). 1xxx: reserved (when I3C is acting as I3C controller, used when target) 0xxx: reserved {S +} 7’h02 addr + RnW=0 {S +} 7-bit I3C_DEVR0.DA[6:0] + RnW=0 after a bus available condition (the target first emits a START request), or once the controller drives a START. {S +} 7-bit I3C_DEVR0.DA[6:0] + RnW=1 (+Ack/Nack from controller) When acknowledged from controller, the next (optional, depending on I3C_BCR.BCR2) transmitted IBI payload data is defined by I3C_CR.DCNT[15:0] and must be consistently programmed vs the maximum IBI payload data size which is defined by I3C_IBIDR.IBIP[2:0]. Others: reserved.

MEND

Bit 31: message end type (when the I3C is acting as controller).

I3C_CR_ALTERNATE

I3C message control register alternate

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MEND
w
MTYPE
w
CCC
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DCNT
w
Toggle fields

DCNT

Bits 0-15: count of data to transfer during a read or write message, in bytes (when I3C is acting as controller) Linear encoding up to 64 Kbytes -1. ....

CCC

Bits 16-23: 8-bit CCC code (when I3C is acting as controller) If Bit[23]=CCC[7]=1, this is the 1st part of an I3C SDR direct CCC command. If Bit[23]=CCC[7]=0, this is an I3C SDR broadcast CCC command (including ENTDAA and ENTHDR0)..

MTYPE

Bits 27-30: message type (when I3C is acting as controller) Bits[23:16] (CCC[7:0]) is the emitted 8-bit CCC code If Bit[23]=CCC[7]=1: this is the 1st part of an I3C SDR direct CCC command The transferred direct CCC command message is: {S / S+7’h7E +RnW=0 / Sr+*} + (direct CCC + T) + (8-bit Data + T)* + Sr After a S (START), depending on I3C_CFGR.NOARBH, the arbitrable header (7’h7E+RnW=0) is inserted or not. Sr+*: after a Sr (Repeated Start), the hardware automatically inserts (7’h7E+R/W). If Bit[23]=CCC[7]=0: this is an I3C SDR broadcast CCC command (including ENTDAA and ENTHDR0) The transferred broadcast CCC command message is: {S / S+7’h7E +RnW=0 / Sr+*} + (broadcast CCC + T) + (8-bit Data + T)* + Sr/P After a S (START), depending on I3C_CFGR.NOARBH, the arbitrable header (7’h7E+RnW=0) is inserted or not. Sr+*: after a Sr (Repeated Start), the hardware automatically inserts (7’h7E+R/W). others: reserved.

MEND

Bit 31: message end type (when I3C is acting as controller).

I3C_CFGR

I3C configuration register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

0/20 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TSFSET
w
CFLUSH
w
CDMAEN
rw
TMODE
rw
RMODE
rw
SFLUSH
w
SDMAEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXTHRES
rw
TXFLUSH
w
TXDMAEN
rw
RXTHRES
rw
RXFLUSH
w
RXDMAEN
rw
HJACK
rw
HKSDAEN
rw
EXITPTRN
rw
RSTPTRN
rw
NOARBH
rw
CRINIT
rw
EN
rw
Toggle fields

EN

Bit 0: I3C enable (whatever I3C is acting as controller/target) - Except registers, the peripheral is under reset (a.k.a. partial reset). - Before clearing EN, when I3C is acting as a controller, all the possible target requests must be disabled using DISEC CCC. - When I3C is acting as a target, software should not disable the I3C, unless a partial reset is needed. In this state, some register fields can not be modified (like CRINIT, HKSDAEN for the I3C_CFGR).

CRINIT

Bit 1: initial controller/target role This bit can be modified only when I3C_CFGR.EN = 0. Once enabled by setting I3C_CFGR.EN = 1, I3C peripheral initially acts as an I3C target. I3C does not drive SCL line and does not enable SDA pull-up, until it eventually acquires the controller role. Once enabled by setting I3C_CFGR.EN = 1, I3C peripheral initially acts as a controller. It has the I3C controller role, so drives SCL line and enables SDA pull-up, until it eventually offers the controller role to an I3C secondary controller..

NOARBH

Bit 2: no arbitrable header after a START (when I3C is acting as a controller) This bit can be modified only when there is no on-going frame. - The target address is emitted directly after a START in case of a legacy I2C message or an I3C SDR private read/write message. - This is a more performing option (when is useless the emission of the 0x7E arbitrable header), but this is to be used only when the controller is sure that the addressed target device can not emit concurrently an IBI or a controller-role request (to insure no misinterpretation and no potential conflict between the address emitted by the controller in open-drain mode and the same address a target device can emit after a START, for IBI or MR)..

RSTPTRN

Bit 3: HDR reset pattern enable (when I3C is acting as a controller) This bit can be modified only when there is no on-going frame..

EXITPTRN

Bit 4: HDR Exit Pattern enable (when I3C is acting as a controller) This bit can be modified only when there is no on-going frame. This is used to send only the header to test ownership of the bus when there is a suspicion of problem after controller-role hand-off (new controller didn’t assert its controller-role by accessing the previous one in less than Activity State time). The HDR Exit Pattern is sent even if the message header {S/Sr + 0x7E addr + W } is ACKed..

HKSDAEN

Bit 5: High-keeper enable on SDA line (when I3C is acting as a controller) This bit can be modified only when I3C_CFGR.EN=0..

HJACK

Bit 7: Hot Join request acknowledge (when I3C is acting as a controller) After the NACK, the message continues as initially programmed (the hot-joining target is aware of the NACK and surely emits another hot-join request later on). After the ACK, the message continues as initially programmed. The software is aware by the HJ interrupt (flag I3C_EVR.HJF is set) and initiates the ENTDAA sequence later on, potentially preventing others Hot Join requests with a Disable target events command (DISEC, with DISHJ=1). Independently of the HJACK configuration, further Hot Join request(s) are NACKed until the Hot Join flag, HJF, is cleared. However, a NACKed target can be assigned a dynamic address by the ENTDAA sequence initiated later on by the first HJ request, preventing this target to emit an HJ request again..

RXDMAEN

Bit 8: RX-FIFO DMA request enable (whatever I3C is acting as controller/target) - Software reads and pops a data byte/word from RX-FIFO i.e. reads I3C_RDR or I3C_RDWR register. - A next data byte/word is to be read by the software either via polling on the flag I3C_EVR.RXFNEF=1 or via interrupt notification (enabled by I3C_IER.RXFNEIE=1). - DMA reads and pops data byte(s)/word(s) from RX-FIFO i.e. reads I3C_RDR or I3C_RDWR register. - A next data byte/word is automatically read by the programmed hardware (i.e. via the asserted RX-FIFO DMA request from the I3C and the programmed DMA channel)..

RXFLUSH

Bit 9: RX-FIFO flush (whatever I3C is acting as controller/target) This bit can only be written..

RXTHRES

Bit 10: RX-FIFO threshold (whatever I3C is acting as controller/target) This threshold defines, compared to the RX-FIFO level, when the I3C_EVR.RXFNEF flag is set (and consequently if RXDMAEN=1 when is asserted a DMA RX request). RXFNEF is set when 1 byte is to be read in RX-FIFO (i.e. in I3C_RDR). RXFNEF is set when 4 bytes are to be read in RX-FIFO (i.e. in I3C_RDWR)..

TXDMAEN

Bit 12: TX-FIFO DMA request enable (whatever I3C is acting as controller/target) - Software writes and pushes a data byte/word into TX-FIFO i.e. writes I3C_TDR or I3C_TDWR register, to be transmitted over the I3C bus. - A next data byte/word is to be written by the software either via polling on the flag I3C_EVR.TXFNFF=1 or via interrupt notification (enabled by I3C_IER.TXFNFIE=1). - DMA writes and pushes data byte(s)/word(s) into TX-FIFO i.e. writes I3C_TDR or I3C_TDWR register. - A next data byte/word transfer is automatically pushed by the programmed hardware (i.e. via the asserted TX-FIFO DMA request from the I3C and the programmed DMA channel)..

TXFLUSH

Bit 13: TX-FIFO flush (whatever I3C is acting as controller/target) This bit can only be written. When the I3C is acting as target, this bit can be used to flush the TX-FIFO on a private read if the controller has early ended the read data (i.e. driven low the T bit) and there is/are remaining data in the TX-FIFO (i.e. I3C_SR.ABT=1 and I3C_SR.XDCNT[15:0] < I3C_TGTTDR.TGTTDCNT[15:0])..

TXTHRES

Bit 14: TX-FIFO threshold (whatever I3C is acting as controller/target) This threshold defines, compared to the TX-FIFO level, when the I3C_EVR.TXFNFF flag is set (and consequently if TXDMAEN=1 when is asserted a DMA TX request). TXFNFF is set when 1 byte is to be written in TX-FIFO (i.e. in I3C_TDR). TXFNFF is set when 4 bytes are to be written in TX-FIFO (i.e. in I3C_TDWR)..

SDMAEN

Bit 16: S-FIFO DMA request enable (when I3C is acting as controller) Condition: When RMODE=1 (FIFO is enabled for the status): - Software reads and pops a status word from S-FIFO i.e. reads I3C_SR register after a completed frame (I3C_EVR.FCF=1) or an error (I3C_EVR.ERRF=1). - A status word can be read by the software either via polling on these register flags or via interrupt notification (enabled by I3C_IER.FCIE=1 and I3C_IER.ERRIE=1). - DMA reads and pops status word(s) from S-FIFO i.e. reads I3C_SR register. - Status word(s) are automatically read by the programmed hardware (i.e. via the asserted S-FIFO DMA request from the I3C and the programmed DMA channel)..

SFLUSH

Bit 17: S-FIFO flush (when I3C is acting as controller) When I3C is acting as I3C controller, this bit can only be written (and is only used when I3C is acting as controller)..

RMODE

Bit 18: S-FIFO enable / status receive mode (when I3C is acting as controller) When I3C is acting as I3C controller, this bit is used for the enabling the FIFO for the status (S-FIFO) vs the received status from the target on the I3C bus. When I3C is acting as target, this bit must be cleared. - Status register (i.e. I3C_SR) is used without FIFO mechanism. - There is no SCL stretch if a new status register content is not read. - Status register must be read before being lost/overwritten. All message status must be read. There is SCL stretch when there is no more space in the S-FIFO..

TMODE

Bit 19: transmit mode (when I3C is acting as controller) When I3C is acting as I3C controller, this bit is used for the C-FIFO and TX-FIFO management vs the emitted frame on the I3C bus. A frame transfer starts as soon as first control word is present in C-FIFO..

CDMAEN

Bit 20: C-FIFO DMA request enable (when I3C is acting as controller) When I3C is acting as controller: - Software writes and pushes control word(s) into C-FIFO i.e. writes I3C_CR register, as needed for a given frame. - A next control word transfer can be written by software either via polling on the flag I3C_EVR.CFNFF=1 or via interrupt notification (enabled by I3C_IER.CFNFIE=1). - DMA writes and pushes control word(s) into C-FIFO i.e. writes I3C_CR register, as needed for a given frame. - A next control word transfer is automatically written by the programmed hardware (i.e. via the asserted C-FIFO DMA request from the I3C and the programmed DMA channel)..

CFLUSH

Bit 21: C-FIFO flush (when I3C is acting as controller) This bit can only be written..

TSFSET

Bit 30: frame transfer set (a.k.a. software trigger) (when I3C is acting as controller) This bit can only be written. When I3C is acting as I3C controller: Note: If this bit is not set, the other alternative for the software to initiate a frame transfer is to directly write the first control word register (i.e. I3C_CR) while C-FIFO is empty (i.e. I3C_EVR.CFEF=1). Then, if the first written control word is not tagged as a message end (i.e I3C_CR.MEND=0), it causes the hardware to assert the flag I3C_EVR.CFNFF (C-FIFO not full and a next control word is needed)..

I3C_RDR

I3C receive data byte register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RDB0
r
Toggle fields

RDB0

Bits 0-7: 8-bit received data on I3C bus..

I3C_RDWR

I3C receive data word register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RDB3
r
RDB2
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RDB1
r
RDB0
r
Toggle fields

RDB0

Bits 0-7: 8-bit received data (earliest byte on I3C bus)..

RDB1

Bits 8-15: 8-bit received data (next byte after RDB0 on I3C bus)..

RDB2

Bits 16-23: 8-bit received data (next byte after RDB1 on I3C bus)..

RDB3

Bits 24-31: 8-bit received data (latest byte on I3C bus)..

I3C_TDR

I3C transmit data byte register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDB0
w
Toggle fields

TDB0

Bits 0-7: 8-bit data to transmit on I3C bus..

I3C_TDWR

I3C transmit data word register

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TDB3
w
TDB2
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDB1
w
TDB0
w
Toggle fields

TDB0

Bits 0-7: 8-bit transmit data (earliest byte on I3C bus).

TDB1

Bits 8-15: 8-bit transmit data (next byte after TDB0[7:0] on I3C bus)..

TDB2

Bits 16-23: 8-bit transmit data (next byte after TDB1[7:0] on I3C bus)..

TDB3

Bits 24-31: 8-bit transmit data (latest byte on I3C bus)..

I3C_IBIDR

I3C IBI payload data register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
IBIDB3
rw
IBIDB2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IBIDB1
rw
IBIDB0
rw
Toggle fields

IBIDB0

Bits 0-7: 8-bit IBI payload data (earliest byte on I3C bus, i.e. MDB[7:0] mandatory data byte)..

IBIDB1

Bits 8-15: 8-bit IBI payload data (next byte on I3C bus after IBIDB0[7:0])..

IBIDB2

Bits 16-23: 8-bit IBI payload data (next byte on I3C bus after IBIDB1[7:0])..

IBIDB3

Bits 24-31: 8-bit IBI payload data (latest byte on I3C bus)..

I3C_TGTTDR

I3C target transmit configuration register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PRELOAD
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TGTTDCNT
rw
Toggle fields

TGTTDCNT

Bits 0-15: transmit data counter, in bytes (when I3C is configured as target) This field must be written by software in the same access when is asserted PRELOAD, in order to define the number of bytes to preload and to transmit. This field is updated by hardware and reports, when read, the remaining number of bytes to be loaded into the TX-FIFO..

PRELOAD

Bit 16: preload of the TX-FIFO (when I3C is configured as target) This bit must be written and asserted by software in the same access when is written and defined the number of bytes to preload into the TX-FIFO and to transmit. This bit is cleared by hardware when all the data bytes to transmit are loaded into the TX-FIFO..

I3C_SR

I3C status register

Offset: 0x30, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MID
r
DIR
r
ABT
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XDCNT
r
Toggle fields

XDCNT

Bits 0-15: data counter - When the I3C is acting as controller: number of targets detected on the bus - When the I3C is acting as target: number of transmitted bytes - Whatever the I3C is acting as controller or target: number of data bytes read from or transmitted on the I3C bus during the MID[7:0] message.

ABT

Bit 17: a private read message is completed/aborted prematurely by the target (when the I3C is acting as controller) When the I3C is acting as controller, this bit indicates if the private read data which is transmitted by the target early terminates (i.e. the target drives T bit low earlier vs what does expect the controller in terms of programmed number of read data bytes i.e. I3C_CR.DCNT[15:0])..

DIR

Bit 18: message direction Whatever the I3C is acting as controller or target, this bit indicates the direction of the related message on the I3C bus Note: ENTDAA CCC is considered as a write command..

MID

Bits 24-31: message identifier/counter of a given frame (when the I3C is acting as controller) When the I3C is acting as controller, this field identifies the control word message (i.e. I3C_CR) to which the I3C_SR status register refers. First message of a frame is identified with MID[7:0]=0. This field is incremented (by hardware) on the completion of a new message control word (i.e. I3C_CR) over I3C bus. This field is reset for every new frame start..

I3C_SER

I3C status error register

Offset: 0x34, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DERR
r
DNACK
r
ANACK
r
COVR
r
DOVR
r
STALL
r
PERR
r
CODERR
r
Toggle fields

CODERR

Bits 0-3: protocol error code/type controller detected an illegally formatted CCC controller detected that transmitted data on the bus is different from expected controller detected a not acknowledged broadcast address (7’hE) controller detected the new controller did not drive bus after controller-role hand-off target detected an invalid broadcast address 7’hE+W target detected a parity error on a CCC code via a parity check (vs T bit) target detected a parity error on a write data via a parity check (vs T bit) target detected a parity error on the assigned address during dynamic address arbitration via a parity check (vs PAR bit) target detected a 7’hE+R missing after Sr during dynamic address arbitration target detected an illegally formatted CCC target detected that transmitted data on the bus is different from expected others: reserved.

PERR

Bit 4: protocol error.

STALL

Bit 5: SCL stall error (when the I3C is acting as target).

DOVR

Bit 6: RX-FIFO overrun or TX-FIFO underrun i) a TX-FIFO underrun: TX-FIFO is empty and a write data byte has to be transmitted ii) a RX-FIFO overrun: RX-FIFO is full and a new data byte is received.

COVR

Bit 7: C-FIFO underrun or S-FIFO overrun (when the I3C is acting as controller) i) a C-FIFO underrun: control FIFO is empty and a restart has to be emitted ii) a S-FIFO overrun: S-FIFO is full and a new message ends.

ANACK

Bit 8: address not acknowledged (when the I3C is configured as controller) i) a legacy I2C read/write transfer ii) a direct CCC write transfer iii) the second trial of a direct CCC read transfer iv) a private read/write transfer.

DNACK

Bit 9: data not acknowledged (when the I3C is acting as controller) i) a legacy I2C write transfer ii) the second trial when sending dynamic address during ENTDAA procedure.

DERR

Bit 10: data error (when the I3C is acting as controller).

I3C_RMR

I3C received message register

Offset: 0x40, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RADD
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RCODE
r
IBIRDCNT
r
Toggle fields

IBIRDCNT

Bits 0-2: IBI received payload data count (when the I3C is configured as controller) When the I3C is configured as controller, this field logs the number of data bytes effectively received in the I3C_IBIDR register..

RCODE

Bits 8-15: received CCC code (when the I3C is configured as target) When the I3C is configured as target, this field logs the received CCC code..

RADD

Bits 17-23: received target address (when the I3C is configured as controller) When the I3C is configured as controller, this field logs the received dynamic address from the target during acknowledged IBI or controller-role request..

I3C_EVR

I3C event register

Offset: 0x50, size: 32, reset: 0x00000003, access: Unspecified

27/27 fields covered.

Toggle fields

CFEF

Bit 0: C-FIFO empty flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that the C-FIFO is empty when controller, and that the I3C_CR register contains no control word (i.e. none IBI/CR/HJ request) when target. This flag is de-asserted by hardware to indicate that the C-FIFO is not empty when controller, and that the I3C_CR register contains one control word (i.e. a pending IBI/CR/HJ request) when target. Note: When the I3C is acting as controller, if the C-FIFO and TX-FIFO preload is configured (i.e. I3C_CFGR.TMODE=1), the software must wait for TXFEF=1 and CFEF=1 before starting a new frame transfer..

TXFEF

Bit 1: TX-FIFO empty flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that the TX-FIFO is empty. This flag is de-asserted by hardware to indicate that the TX-FIFO is not empty. Note: When the I3C is acting as controller, if the C-FIFO and TX-FIFO preload is configured (i.e. I3C_CFGR.TMODE=1), the software must wait for TXFEF=1 and CFEF=1 before starting a new frame transfer..

CFNFF

Bit 2: C-FIFO not full flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that a control word is to be written to the C-FIFO. This flag is de-asserted by hardware to indicate that a control word is not to be written to the C-FIFO. Note: The software must wait for CFNFF=1 (by polling or via the enabled interrupt) before writing to C-FIFO (i.e. writing to I3C_CR)..

SFNEF

Bit 3: S-FIFO not empty flag (when the I3C is acting as controller) When the I3C is acting as controller, if the S-FIFO is enabled (i.e. I3C_CFGR.RMODE=1), this flag is asserted by hardware to indicate that a status word is to be read from the S-FIFO. This flag is de-asserted by hardware to indicate that a status word is not to be read from the S-FIFO..

TXFNFF

Bit 4: TX-FIFO not full flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that a data byte/word is to be written to the TX-FIFO. This flag is de-asserted by hardware to indicate that a data byte/word is not to be written to the TX-FIFO. Note: The software must wait for TXFNFF=1 (by polling or via the enabled interrupt) before writing to TX-FIFO (i.e. writing to I3C_TDR or I3C_TDWR depending on I3C_CFGR.TXTHRES). Note: When the I3C is acting as target, if the software intends to use the TXFNFF flag for writing into I3C_TDR/I3C_TDWR, it must have configured and set the TX-FIFO preload (i.e. write I3C_TGTTDR.PRELOAD)..

RXFNEF

Bit 5: RX-FIFO not empty flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that a data byte is to be read from the RX-FIFO. This flag is de-asserted by hardware to indicate that a data byte is not to be read from the RX-FIFO. Note: The software must wait for RXFNEF=1 (by polling or via the enabled interrupt) before reading from RX-FIFO (i.e. writing to I3C_RDR or I3C_RDWR depending on I3C_CFGR.RXTHRES)..

TXLASTF

Bit 6: last written data byte/word flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that the last data byte/word (depending on I3C_CFGR.TXTHRES) of a message is to be written to the TX-FIFO. This flag is de-asserted by hardware when the last data byte/word of a message is written..

RXLASTF

Bit 7: last read data byte/word flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that the last data byte/word (depending on I3C_CFGR.RXTHRES) of a message is to be read from the RX-FIFO. This flag is de-asserted by hardware when the last data byte/word of a message is read..

FCF

Bit 9: frame complete flag (whatever the I3C is acting as controller/target) When the I3C is acting as controller, this flag is asserted by hardware to indicate that a frame has been (normally) completed on the I3C bus, i.e when a stop is issued. When the I3C is acting as target, this flag is asserted by hardware to indicate that a message addressed to/by this target has been (normally) completed on the I3C bus, i.e when a next stop or repeated start is then issued by the controller. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CFCF bit..

RXTGTENDF

Bit 10: target-initiated read end flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that the target has prematurely ended a read transfer. Then, software should read I3C_SR to get more information on the prematurely read transfer. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CRXTGTENDF bit..

ERRF

Bit 11: flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that an error occurred.Then, software should read I3C_SER to get the error type. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CERRF bit..

IBIF

Bit 15: IBI flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that an IBI request has been received. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CIBIF bit..

IBIENDF

Bit 16: IBI end flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a IBI transfer has been received and completed (IBI acknowledged and IBI data bytes read by controller if any). This flag is cleared when software writes 1 into corresponding I3C_CEVR.CIBIENDF bit..

CRF

Bit 17: controller-role request flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that a controller-role request has been acknowledged and completed (by hardware). The software should then issue a GETACCCR CCC (get accept controller role) for the controller-role hand-off procedure. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CCRF bit..

CRUPDF

Bit 18: controller-role update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that it has now gained the controller role after the completed controller-role hand-off procedure. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CCRUPDF bit..

HJF

Bit 19: hot-join flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that an hot join request has been received. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CHJF bit..

WKPF

Bit 21: wakeup/missed start flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a start has been detected (i.e. a SDA falling edge followed by a SCL falling edge) but on the next SCL falling edge, the I3C kernel clock is (still) gated. Thus an I3C bus transaction may have been lost by the target. The corresponding interrupt may be used to wakeup the device from a low power mode (Sleep or Stop mode). This flag is cleared when software writes 1 into corresponding I3C_CEVR.CWKPF bit..

GETF

Bit 22: get flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that any direct CCC of get type (GET*** CCC) has been received. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CGETF bit..

STAF

Bit 23: get status flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a direct GETSTATUS CCC (get status) has been received. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CSTAF bit..

DAUPDF

Bit 24: dynamic address update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a dynamic address update has been received via any of the broadcast ENTDAA, RSTDAA and direct SETNEWDA CCC. Then, software should read I3C_DEVR0.DA[6:0] to get the maximum write length value. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CDAUPDF bit..

MWLUPDF

Bit 25: maximum write length update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a direct SETMWL CCC (set max write length) has been received. Then, software should read I3C_MAXWLR.MWL[15:0] to get the maximum write length value. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CMWLUPDF bit..

MRLUPDF

Bit 26: maximum read length update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a direct SETMRL CCC (set max read length) has been received. Then, software should read I3C_MAXRLR.MRL[15:0] to get the maximum read length value. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CMRLUPDF bit..

RSTF

Bit 27: reset pattern flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a reset pattern has been detected (i.e. 14 SDA transitions while SCL is low, followed by repeated start, then stop). Then, software should read I3C_DEVR0.RSTACT[1:0] and I3C_DEVR0.RSTVAL, to know what reset level is required. If RSTVAL=1: when the RSTF is asserted (and/or the corresponding interrupt if enabled), I3C_DEVR0.RSTACT[1:0] dictates the reset action to be performed by the software if any. If RSTVAL=0: when the RSTF is asserted (and/or the corresponding interrupt if enabled), the software should issue an I3C reset after a first detected reset pattern, and a system reset on the second one. The corresponding interrupt may be used to wakeup the device from a low power mode (Sleep or Stop mode). This flag is cleared when software writes 1 into corresponding I3C_CEVR.CRSTF bit..

ASUPDF

Bit 28: activity state update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that the direct or broadcast ENTASx CCC (with x=0...3) has been received. Then, software should read I3C_DEVR0.AS[1:0]. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CASUPDF bit..

INTUPDF

Bit 29: interrupt/controller-role/hot-join update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that the direct or broadcast ENEC/DISEC CCC (enable/disable target events) has been received, where a target event is either an interrupt/IBI request, a controller-role request, or an hot-join request. Then, software should read respectively I3C_DEVR0.IBIEN, I3C_DEVR0.CREN or I3C_DEVR0.HJEN. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CINTUPDF bit..

DEFF

Bit 30: DEFTGTS flag (when the I3C is acting as target) When the I3C is acting as target (and is typically controller capable), this flag is asserted by hardware to indicate that the broadcast DEFTGTS CCC (define list of targets) has been received. Then, software may store the received data for when getting the controller role. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CDEFF bit..

GRPF

Bit 31: group addressing flag (when the I3C is acting as target) When the I3C is acting as target (and is typically controller capable), this flag is asserted by hardware to indicate that the broadcast DEFGRPA CCC (define list of group addresses) has been received. Then, software may store the received data for when getting the controller role. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CGRPF bit..

I3C_IER

I3C interrupt enable register

Offset: 0x54, size: 32, reset: 0x00000000, access: Unspecified

23/23 fields covered.

Toggle fields

CFNFIE

Bit 2: C-FIFO not full interrupt enable (whatever the I3C is acting as controller/target).

SFNEIE

Bit 3: S-FIFO not empty interrupt enable (whatever the I3C is acting as controller/target).

TXFNFIE

Bit 4: TX-FIFO not full interrupt enable (whatever the I3C is acting as controller/target).

RXFNEIE

Bit 5: RX-FIFO not empty interrupt enable (whatever the I3C is acting as controller/target).

FCIE

Bit 9: frame complete interrupt enable (whatever the I3C is acting as controller/target).

RXTGTENDIE

Bit 10: target-initiated read end interrupt enable (when the I3C is acting as controller).

ERRIE

Bit 11: error interrupt enable (whatever the I3C is acting as controller/target).

IBIIE

Bit 15: IBI request interrupt enable (when the I3C is acting as controller).

IBIENDIE

Bit 16: IBI end interrupt enable (when the I3C is acting as target).

CRIE

Bit 17: controller-role request interrupt enable (when the I3C is acting as controller).

CRUPDIE

Bit 18: controller-role update interrupt enable (when the I3C is acting as target).

HJIE

Bit 19: hot-join interrupt enable (when the I3C is acting as controller).

WKPIE

Bit 21: wakeup interrupt enable (when the I3C is acting as target).

GETIE

Bit 22: GETxxx CCC interrupt enable (when the I3C is acting as target).

STAIE

Bit 23: GETSTATUS CCC interrupt enable (when the I3C is acting as target).

DAUPDIE

Bit 24: ENTDAA/RSTDAA/SETNEWDA CCC interrupt enable (when the I3C is acting as target).

MWLUPDIE

Bit 25: SETMWL CCC interrupt enable (when the I3C is acting as target).

MRLUPDIE

Bit 26: SETMRL CCC interrupt enable (when the I3C is acting as target).

RSTIE

Bit 27: reset pattern interrupt enable (when the I3C is acting as target).

ASUPDIE

Bit 28: ENTASx CCC interrupt enable (when the I3C is acting as target).

INTUPDIE

Bit 29: ENEC/DISEC CCC interrupt enable (when the I3C is acting as target).

DEFIE

Bit 30: DEFTGTS CCC interrupt enable (when the I3C is acting as target).

GRPIE

Bit 31: DEFGRPA CCC interrupt enable (when the I3C is acting as target).

I3C_CEVR

I3C clear event register

Offset: 0x58, size: 32, reset: 0x00000000, access: Unspecified

0/19 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CGRPF
w
CDEFF
w
CINTUPDF
w
CASUPDF
w
CRSTF
w
CMRLUPDF
w
CMWLUPDF
w
CDAUPDF
w
CSTAF
w
CGETF
w
CWKPF
w
CHJF
w
CCRUPDF
w
CCRF
w
CIBIENDF
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CIBIF
w
CERRF
w
CRXTGTENDF
w
CFCF
w
Toggle fields

CFCF

Bit 9: clear frame complete flag (whatever the I3C is acting as controller/target).

CRXTGTENDF

Bit 10: clear target-initiated read end flag (when the I3C is acting as controller).

CERRF

Bit 11: clear error flag (whatever the I3C is acting as controller/target).

CIBIF

Bit 15: clear IBI request flag (when the I3C is acting as controller).

CIBIENDF

Bit 16: clear IBI end flag (when the I3C is acting as target).

CCRF

Bit 17: clear controller-role request flag (when the I3C is acting as controller).

CCRUPDF

Bit 18: clear controller-role update flag (when the I3C is acting as target).

CHJF

Bit 19: clear hot-join flag (when the I3C is acting as controller).

CWKPF

Bit 21: clear wakeup flag (when the I3C is acting as target).

CGETF

Bit 22: clear GETxxx CCC flag (when the I3C is acting as target).

CSTAF

Bit 23: clear GETSTATUS CCC flag (when the I3C is acting as target).

CDAUPDF

Bit 24: clear ENTDAA/RSTDAA/SETNEWDA CCC flag (when the I3C is acting as target).

CMWLUPDF

Bit 25: clear SETMWL CCC flag (when the I3C is acting as target).

CMRLUPDF

Bit 26: clear SETMRL CCC flag (when the I3C is acting as target).

CRSTF

Bit 27: clear reset pattern flag (when the I3C is acting as target).

CASUPDF

Bit 28: clear ENTASx CCC flag (when the I3C is acting as target).

CINTUPDF

Bit 29: clear ENEC/DISEC CCC flag (when the I3C is acting as target).

CDEFF

Bit 30: clear DEFTGTS CCC flag (when the I3C is acting as target).

CGRPF

Bit 31: clear DEFGRPA CCC flag (when the I3C is acting as target).

I3C_DEVR0

I3C own device characteristics register

Offset: 0x60, size: 32, reset: 0x00000000, access: Unspecified

3/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RSTVAL
r
RSTACT
r
AS
r
HJEN
rw
CREN
rw
IBIEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
DAVAL
rw
Toggle fields

DAVAL

Bit 0: dynamic address is valid (when the I3C is acting as target) When the I3C is acting as controller, this field can be written by software, for validating its own dynamic address, for example before a controller-role hand-off. When the I3C is acting as target, this field is asserted by hardware on the acknowledge of the broadcast ENTDAA CCC or the direct SETNEWDA CCC, and this field is cleared by hardware on the acknowledge of the broadcast RSTDAA CCC..

DA

Bits 1-7: 7-bit dynamic address When the I3C is acting as controller, this field can be written by software, for defining its own dynamic address. When the I3C is acting as target, this field is updated by hardware on the reception of either the broadcast ENTDAA CCC or the direct SETNEWDA CCC..

IBIEN

Bit 16: IBI request enable (when the I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0, and is updated by hardware on the reception of DISEC CCC with DISINT=1 (i.e. cleared) and the reception of ENEC CCC with ENINT=1 (i.e. set)..

CREN

Bit 17: controller-role request enable (when the I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0, and is updated by hardware on the reception of DISEC CCC with DISCR=1 (i.e. cleared) and the reception of ENEC CCC with ENCR=1 (i.e. set)..

HJEN

Bit 19: hot-join request enable (when the I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0, and is updated by hardware on the reception of DISEC CCC with DISHJ=1 (i.e. cleared) and the reception of ENEC CCC with ENHJ=1 (i.e. set)..

AS

Bits 20-21: activity state (when the I3C is acting as target) This read field is updated by hardware on the reception of a ENTASx CCC (enter activity state, with x=0-3):.

RSTACT

Bits 22-23: reset action/level on received reset pattern (when the I3C is acting as target) This read field is used by hardware on the reception of a direct read RSTACT CCC in order to return the corresponding data byte on the I3C bus. This read field is updated by hardware on the reception of a broadcast or direct write RSTACT CCC (target reset action). Only the defining bytes 0x00, 0x01 and 0x02 are mapped, and RSTACT[1:0] = Defining Byte[1:0]. a) partially reset the I3C peripheral, by a write and clear of the enable bit of the i3C configuration register (i.e. write I3C_CFGR.EN=0). This reset the I3C bus interface and the I3C kernel sub-parts, without modifying the content of the I3C APB registers (excepted the I3C_CFGR.EN bit). b) reset fully the I3C peripheral including all its registers via a write and set to the I3C reset control bit of the RCC (Reset and Clock Controller) register. a system reset. This has the same impact as a pin reset (i.e. NRST=0) (refer to RCC functional description - Reset part): – the software writes and set the AICR.SYSRESETREQ register control bit, when the device is controlled by a CortexTM-M. – the software writes and set the RCC_GRSTCSETR.SYSRST=1, when the device is controlled by a CortexTM-A..

RSTVAL

Bit 24: reset action is valid (when the I3C is acting as target) This read bit is asserted by hardware to indicate that the RTSACT[1:0] field has been updated on the reception of a broadcast or direct write RSTACT CCC (target reset action) and is valid. This field is cleared by hardware when the target receives a frame start. If RSTVAL=1: when the RSTF is asserted (and/or the corresponding interrupt if enabled), I3C_DEVR0.RSTACT[1:0] dictates the reset action to be performed by the software if any. If RSTVAL=0: when the RSTF is asserted (and/or the corresponding interrupt if enabled), the software should issue an I3C reset after a first detected reset pattern, and a system reset on the second one..

I3C_DEVR1

I3C device 1 characteristics register

Offset: 0x64, size: 32, reset: 0x00000000, access: Unspecified

1/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DIS
r
SUSP
rw
IBIDEN
rw
CRACK
rw
IBIACK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 1-7: assigned I3C dynamic address to target x (when the I3C is acting as controller) When the I3C is acting as controller, this field should be written by software to store the 7-bit dynamic address that the controller sends via a broadcast ENTDAA or a direct SETNEWDA CCC which has been acknowledged by the target x. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1..

IBIACK

Bit 16: IBI request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a IBI request from target x: - After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another IBI request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the controller logs the IBI payload data, if any, depending on I3C_DEVRx.IBIDEN. - The software is notified by the IBI flag (i.e. I3C_EVR.IBIF=1) and/or the corresponding interrupt if enabled; - Independently from IBIACK configuration for this or other devices, further IBI request(s) are NACKed until IBI request flag (i.e. I3C_EVR.IBIF) and controller-role request flag (i.e. I3C_EVR.CRF) are both cleared..

CRACK

Bit 17: controller-role request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a controller-role request from target x: After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another controller-role request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the message continues as initially programmed. The software is notified by the controller-role request flag (i.e. I3C_EVR.CRF=1) and/or the corresponding interrupt if enabled; For effectively granting the controller-role to the requesting secondary controller, software should issue a GETACCCR (formerly known as GETACCMST), followed by a STOP. - Independently of CRACK configuration for this or other devices, further controller-role request(s) are NACKed until controller-role request flag (i.e. I3C_EVR.CRF) and IBI flag (i.e. I3C_EVR.IBIF) are both cleared..

IBIDEN

Bit 18: IBI data enable (when the I3C is acting as controller) When the I3C is acting as controller, this bit should be written by software to store the BCR[2] bit as received from the target x during broadcast ENTDAA or direct GETBCR CCC via the received I3C_RDR. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1..

SUSP

Bit 19: suspend/stop I3C transfer on received IBI (when the I3C is acting as controller) When the I3C is acting as controller, this bit is used to receive an IBI from target x with pending read notification feature (i.e. with received MDB[7:5]=3’b101). If this bit is set, when an IBI is received (i.e. I3C_EVR.IBIF=1), a Stop is emitted on the I3C bus and the C-FIFO is automatically flushed by hardware; to avoid a next private read communication issue if a previous private read message to the target x was stored in the C-FIFO..

DIS

Bit 31: DA[6:0] write disabled (when the I3C is acting as controller) When the I3C is acting as controller, once that software set IBIACK=1 or CRACK=1, this read bit is set by hardware (i.e. DIS=1) to lock the configured DA[6:0] and IBIDEN values. Then, to be able to next modify DA[6:0] or IBIDEN, the software must wait for this field DIS to be de-asserted by hardware (i.e. polling on DIS=0) before modifying these two assigned values to the target x. Indeed, the target may be requesting an IBI or a controller-role meanwhile the controller intends to modify DA[6:0] or IBIDEN..

I3C_DEVR2

I3C device 2 characteristics register

Offset: 0x68, size: 32, reset: 0x00000000, access: Unspecified

1/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DIS
r
SUSP
rw
IBIDEN
rw
CRACK
rw
IBIACK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 1-7: assigned I3C dynamic address to target x (when the I3C is acting as controller) When the I3C is acting as controller, this field should be written by software to store the 7-bit dynamic address that the controller sends via a broadcast ENTDAA or a direct SETNEWDA CCC which has been acknowledged by the target x. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1..

IBIACK

Bit 16: IBI request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a IBI request from target x: - After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another IBI request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the controller logs the IBI payload data, if any, depending on I3C_DEVRx.IBIDEN. - The software is notified by the IBI flag (i.e. I3C_EVR.IBIF=1) and/or the corresponding interrupt if enabled; - Independently from IBIACK configuration for this or other devices, further IBI request(s) are NACKed until IBI request flag (i.e. I3C_EVR.IBIF) and controller-role request flag (i.e. I3C_EVR.CRF) are both cleared..

CRACK

Bit 17: controller-role request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a controller-role request from target x: After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another controller-role request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the message continues as initially programmed. The software is notified by the controller-role request flag (i.e. I3C_EVR.CRF=1) and/or the corresponding interrupt if enabled; For effectively granting the controller-role to the requesting secondary controller, software should issue a GETACCCR (formerly known as GETACCMST), followed by a STOP. - Independently of CRACK configuration for this or other devices, further controller-role request(s) are NACKed until controller-role request flag (i.e. I3C_EVR.CRF) and IBI flag (i.e. I3C_EVR.IBIF) are both cleared..

IBIDEN

Bit 18: IBI data enable (when the I3C is acting as controller) When the I3C is acting as controller, this bit should be written by software to store the BCR[2] bit as received from the target x during broadcast ENTDAA or direct GETBCR CCC via the received I3C_RDR. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1..

SUSP

Bit 19: suspend/stop I3C transfer on received IBI (when the I3C is acting as controller) When the I3C is acting as controller, this bit is used to receive an IBI from target x with pending read notification feature (i.e. with received MDB[7:5]=3’b101). If this bit is set, when an IBI is received (i.e. I3C_EVR.IBIF=1), a Stop is emitted on the I3C bus and the C-FIFO is automatically flushed by hardware; to avoid a next private read communication issue if a previous private read message to the target x was stored in the C-FIFO..

DIS

Bit 31: DA[6:0] write disabled (when the I3C is acting as controller) When the I3C is acting as controller, once that software set IBIACK=1 or CRACK=1, this read bit is set by hardware (i.e. DIS=1) to lock the configured DA[6:0] and IBIDEN values. Then, to be able to next modify DA[6:0] or IBIDEN, the software must wait for this field DIS to be de-asserted by hardware (i.e. polling on DIS=0) before modifying these two assigned values to the target x. Indeed, the target may be requesting an IBI or a controller-role meanwhile the controller intends to modify DA[6:0] or IBIDEN..

I3C_DEVR3

I3C device 3 characteristics register

Offset: 0x6c, size: 32, reset: 0x00000000, access: Unspecified

1/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DIS
r
SUSP
rw
IBIDEN
rw
CRACK
rw
IBIACK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 1-7: assigned I3C dynamic address to target x (when the I3C is acting as controller) When the I3C is acting as controller, this field should be written by software to store the 7-bit dynamic address that the controller sends via a broadcast ENTDAA or a direct SETNEWDA CCC which has been acknowledged by the target x. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1..

IBIACK

Bit 16: IBI request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a IBI request from target x: - After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another IBI request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the controller logs the IBI payload data, if any, depending on I3C_DEVRx.IBIDEN. - The software is notified by the IBI flag (i.e. I3C_EVR.IBIF=1) and/or the corresponding interrupt if enabled; - Independently from IBIACK configuration for this or other devices, further IBI request(s) are NACKed until IBI request flag (i.e. I3C_EVR.IBIF) and controller-role request flag (i.e. I3C_EVR.CRF) are both cleared..

CRACK

Bit 17: controller-role request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a controller-role request from target x: After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another controller-role request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the message continues as initially programmed. The software is notified by the controller-role request flag (i.e. I3C_EVR.CRF=1) and/or the corresponding interrupt if enabled; For effectively granting the controller-role to the requesting secondary controller, software should issue a GETACCCR (formerly known as GETACCMST), followed by a STOP. - Independently of CRACK configuration for this or other devices, further controller-role request(s) are NACKed until controller-role request flag (i.e. I3C_EVR.CRF) and IBI flag (i.e. I3C_EVR.IBIF) are both cleared..

IBIDEN

Bit 18: IBI data enable (when the I3C is acting as controller) When the I3C is acting as controller, this bit should be written by software to store the BCR[2] bit as received from the target x during broadcast ENTDAA or direct GETBCR CCC via the received I3C_RDR. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1..

SUSP

Bit 19: suspend/stop I3C transfer on received IBI (when the I3C is acting as controller) When the I3C is acting as controller, this bit is used to receive an IBI from target x with pending read notification feature (i.e. with received MDB[7:5]=3’b101). If this bit is set, when an IBI is received (i.e. I3C_EVR.IBIF=1), a Stop is emitted on the I3C bus and the C-FIFO is automatically flushed by hardware; to avoid a next private read communication issue if a previous private read message to the target x was stored in the C-FIFO..

DIS

Bit 31: DA[6:0] write disabled (when the I3C is acting as controller) When the I3C is acting as controller, once that software set IBIACK=1 or CRACK=1, this read bit is set by hardware (i.e. DIS=1) to lock the configured DA[6:0] and IBIDEN values. Then, to be able to next modify DA[6:0] or IBIDEN, the software must wait for this field DIS to be de-asserted by hardware (i.e. polling on DIS=0) before modifying these two assigned values to the target x. Indeed, the target may be requesting an IBI or a controller-role meanwhile the controller intends to modify DA[6:0] or IBIDEN..

I3C_DEVR4

I3C device 4 characteristics register

Offset: 0x70, size: 32, reset: 0x00000000, access: Unspecified

1/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DIS
r
SUSP
rw
IBIDEN
rw
CRACK
rw
IBIACK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA
rw
Toggle fields

DA

Bits 1-7: assigned I3C dynamic address to target x (when the I3C is acting as controller) When the I3C is acting as controller, this field should be written by software to store the 7-bit dynamic address that the controller sends via a broadcast ENTDAA or a direct SETNEWDA CCC which has been acknowledged by the target x. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1..

IBIACK

Bit 16: IBI request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a IBI request from target x: - After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another IBI request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the controller logs the IBI payload data, if any, depending on I3C_DEVRx.IBIDEN. - The software is notified by the IBI flag (i.e. I3C_EVR.IBIF=1) and/or the corresponding interrupt if enabled; - Independently from IBIACK configuration for this or other devices, further IBI request(s) are NACKed until IBI request flag (i.e. I3C_EVR.IBIF) and controller-role request flag (i.e. I3C_EVR.CRF) are both cleared..

CRACK

Bit 17: controller-role request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a controller-role request from target x: After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another controller-role request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the message continues as initially programmed. The software is notified by the controller-role request flag (i.e. I3C_EVR.CRF=1) and/or the corresponding interrupt if enabled; For effectively granting the controller-role to the requesting secondary controller, software should issue a GETACCCR (formerly known as GETACCMST), followed by a STOP. - Independently of CRACK configuration for this or other devices, further controller-role request(s) are NACKed until controller-role request flag (i.e. I3C_EVR.CRF) and IBI flag (i.e. I3C_EVR.IBIF) are both cleared..

IBIDEN

Bit 18: IBI data enable (when the I3C is acting as controller) When the I3C is acting as controller, this bit should be written by software to store the BCR[2] bit as received from the target x during broadcast ENTDAA or direct GETBCR CCC via the received I3C_RDR. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1..

SUSP

Bit 19: suspend/stop I3C transfer on received IBI (when the I3C is acting as controller) When the I3C is acting as controller, this bit is used to receive an IBI from target x with pending read notification feature (i.e. with received MDB[7:5]=3’b101). If this bit is set, when an IBI is received (i.e. I3C_EVR.IBIF=1), a Stop is emitted on the I3C bus and the C-FIFO is automatically flushed by hardware; to avoid a next private read communication issue if a previous private read message to the target x was stored in the C-FIFO..

DIS

Bit 31: DA[6:0] write disabled (when the I3C is acting as controller) When the I3C is acting as controller, once that software set IBIACK=1 or CRACK=1, this read bit is set by hardware (i.e. DIS=1) to lock the configured DA[6:0] and IBIDEN values. Then, to be able to next modify DA[6:0] or IBIDEN, the software must wait for this field DIS to be de-asserted by hardware (i.e. polling on DIS=0) before modifying these two assigned values to the target x. Indeed, the target may be requesting an IBI or a controller-role meanwhile the controller intends to modify DA[6:0] or IBIDEN..

I3C_MAXRLR

I3C maximum read length register

Offset: 0x90, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
IBIP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MRL
rw
Toggle fields

MRL

Bits 0-15: maximum data read length (when I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0 and updated by hardware on the reception of SETMRL command (with potentially also updated IBIP[2:0]). Software is notified of a MRL update by the I3C_EVR.MRLUPF and the corresponding interrupt if enabled. This field is used by hardware to return the value on the I3C bus when the target receives a GETMRL CCC..

IBIP

Bits 16-18: IBI payload data size, in bytes (when I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0 to set the number of data bytes to be sent to the controller after an IBI request has been acknowledged.This field may be updated by hardware on the reception of SETMRL command (which potentially also updated IBIP[2:0]). Software is notified of a MRL update by the I3C_EVR.MRLUPF and the corresponding interrupt if enabled. others: same as 100.

I3C_MAXWLR

I3C maximum write length register

Offset: 0x94, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MWL
rw
Toggle fields

MWL

Bits 0-15: maximum data write length (when I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0 and updated by hardware on the reception of SETMWL command. Software is notified of a MWL update by the I3C_EVR.MWLUPF and the corresponding interrupt if enabled. This field is used by hardware to return the value on the I3C bus when the target receives a GETMWL CCC..

I3C_TIMINGR0

I3C timing register 0

Offset: 0xa0, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SCLH_I2C
rw
SCLL_OD
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SCLH_I3C
rw
SCLL_PP
rw
Toggle fields

SCLL_PP

Bits 0-7: SCL low duration in I3C push-pull phases, in number of kernel clocks cycles: tSCLL_PP = (SCLL_PP + 1) x tI3CCLK SCLL_PP is used to generate tLOW (I3C) timing..

SCLH_I3C

Bits 8-15: SCL high duration, used for I3C messages (both in push-pull and open-drain phases), in number of kernel clocks cycles: tSCLH_I3C = (SCLH_I3C + 1) x tI3CCLK SCLH_I3C is used to generate both tHIGH (I3C) and tHIGH_MIXED timings..

SCLL_OD

Bits 16-23: SCL low duration in open-drain phases, used for legacy I2C commands and for I3C open-drain phases (address header phase following a START, not a Repeated START), in number of kernel clocks cycles: tSCLL_OD = (SCLL_OD + 1) x tI3CCLK SCLL_OD is used to generate both tLOW (I2C) and tLOW_OD timings (max. of the two)..

SCLH_I2C

Bits 24-31: SCL high duration, used for legacy I2C commands, in number of kernel clocks cycles: tSCLH_I2C = (SCLH_I2C + 1) x tI3CCLK SCLH_I2C is used to generate tHIGH (I2C) timing..

I3C_TIMINGR1

I3C timing register 1

Offset: 0xa4, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SDA_HD
rw
FREE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ASNCR
rw
AVAL
rw
Toggle fields

AVAL

Bits 0-7: number of kernel clock cycles, that is used whatever I3C is acting as controller or target, to set the following MIPI I3C timings, like bus available condition time: When the I3C is acting as target: for bus available condition time: it must wait for (bus available condition) time to be elapsed after a stop and before issuing a start request for an IBI or a controller-role request (i.e. bus free condition is sustained for at least tAVAL). refer to MIPI timing tAVAL = 1 �s. This timing is defined by: tAVAL = (AVAL[7:0] + 2) x tI3CCLK for bus idle condition time: it must wait for (bus idle condition) time to be elapsed after that both SDA and SCL are continuously high and stable before issuing a hot-join event. Refer to MIPI v1.1 timing tIDLE = 200 �s . This timing is defined by: tIDLE = (AVAL[7:0] + 2) x 200 x tI3CCLK When the I3C is acting as controller, it can not stall the clock beyond a maximum stall time (i.e. stall the SCL clock low), as follows: on first bit of assigned address during dynamic address assignment: it can not stall the clock beyond the MIPI timing tSTALLDAA = 15 ms. This timing is defined by: tSTALLDAA = (AVAL[7:0] + 1) x 15000 x tI3CCLK on ACK/NACK phase of I3C/I2C transfer, on parity bit of write data transfer, on transition bit of I3C read transfer: it can not stall the clock beyond the MIPI timing tSTALL = 100 �s. This timing is defined by: tSTALL = (AVAL[7:0] + 1) x 100 x tI3CCLK Whatever the I3C is acting as controller or as (controller-capable) target, during a controller-role hand-off procedure: The new controller must wait for a time (refer to MIPI timing tNEWCRLock) before pulling SDA low (i.e. issuing a start). And the active controller must wait for the same time while monitoring new controller and before testing the new controller by pulling SDA low. This time to wait is dependent on the defined I3C_TIMINGR1.ANSCR[1:0], as follows: If ASNCR[1:0]=00: tNEWCRLock = (AVAL[7:0] + 1) x tI3CCLK If ASNCR[1:0]=01: tNEWCRLock = (AVAL[7:0] + 1) x 100 x tI3CCLK If ASNCR[1:0]=10: tNEWCRLock = (AVAL[7:0] + 1) x 2000 x tI3CCLK If ASNCR[1:0]=11: tNEWCRLock = (AVAL[7:0] + 1) x 50000 x tI3CCLK.

ASNCR

Bits 8-9: activity state of the new controller (when I3C is acting as - active- controller) This field indicates the time to wait before being accessed as new target, refer to the other field AVAL[7:0]. This field can be modified only when the I3C is acting as controller..

FREE

Bits 16-22: number of kernel clocks cycles that is used to set some MIPI timings like bus free condition time (when the I3C is acting as controller) When the I3C is acting as controller: for I3C start timing: it must wait for (bus free condition) time to be elapsed after a stop and before a start, refer to MIPI timings (I3C) tCAS and (I2C) tBUF. These timings are defined by: tBUF= tCAS = [ (FREE[6:0] + 1) x 2 - (0,5 + SDA_HD)] x tI3CCLK Note: for pure I3C bus: tCASmin= 38,4 ns. Note: for pure I3C bus: tCASmax=1�s, 100�s, 2ms, 50ms for respectively ENTAS0,1,2, and 3. Note: for mixed bus with I2C fm+ device: tBUFmin = 0,5 �s. Note: for mixed bus with I2C fm device: tBUFmin = 1,3 �s. for I3C repeated start timing: it must wait for time to be elapsed after a repeated start (i.e. SDA is de-asserted) and before driving SCL low, refer to. MIPI timing tCASr. This timing is defined by: tCASr = [ (FREE[6:0] + 1) x 2 - (0,5 + SDA_HD)] x tI3CCLK for I3C stop timing: it must wait for time to be elapsed after that the SCL clock is driven high and before the stop condition (i.e. SDA is asserted). This timing is defined by: tCBP = (FREE[6:0] + 1) x tI3CCLK for I3C repeated start timing (T-bit when controller ends read with repeated start followed by stop): it must wait for time to be elapsed after that the SCL clock is driven high and before the repeated start condition (i.e. SDA is de-asserted). This timing is defined by: tCBSr = (FREE[6:0] + 1) x tI3CCLK.

SDA_HD

Bit 28: SDA hold time (when the I3C is acting as controller), in number of kernel clocks cycles (refer to MIPI timing SDA hold time in push-pull tHD_PP):.

I3C_TIMINGR2

I3C timing register 2

Offset: 0xa8, size: 32, reset: 0x00000000, access: Unspecified

0/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
STALL
rw
STALLA
rw
STALLC
rw
STALLD
rw
STALLT
rw
Toggle fields

STALLT

Bit 0: Controller clock stall on T-bit phase of Data enable The SCL is stalled during STALL x tSCLL_PP in the T-bit phase (before 9th bit). This allows the target to prepare data to be sent..

STALLD

Bit 1: controller clock stall on PAR phase of Data enable The SCL is stalled during STALL x tSCLL_PP in the T-bit phase (before 9th bit). This allows the target to read received data..

STALLC

Bit 2: controller clock stall on PAR phase of CCC enable The SCL is stalled during STALL x tSCLL_PP in the T-bit phase of common command code (before 9th bit). This allows the target to decode the command..

STALLA

Bit 3: controller clock stall enable on ACK phase The SCL is stalled (during tSCLL_STALLas defined by STALL) in the address ACK/NACK phase (before 9th bit). This allows the target to prepare data or the controller to respond to target interrupt..

STALL

Bits 8-15: controller clock stall time, in number of kernel clock cycles tSCLL_STALL = STALL x tI3CCLK.

I3C_BCR

I3C bus characteristics register

Offset: 0xc0, size: 32, reset: 0x00000000, access: Unspecified

0/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BCR6
rw
BCR2
rw
BCR0
rw
Toggle fields

BCR0

Bit 0: max data speed limitation.

BCR2

Bit 2: in-band interrupt (IBI) payload.

BCR6

Bit 6: controller capable.

I3C_DCR

I3C device characteristics register

Offset: 0xc4, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DCR
rw
Toggle fields

DCR

Bits 0-7: device characteristics ID others: ID to describe the type of the I3C sensor/device Note: The latest MIPI DCR ID assignments are available at: https://www.mipi.org/MIPI_I3C_device_characteristics_register.

I3C_GETCAPR

I3C get capability register

Offset: 0xc8, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CAPPEND
rw
Toggle fields

CAPPEND

Bit 14: IBI MDB support for pending read notification This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and indicates the support (or not) of the pending read notification via the IBI MDB[7:0] value. This bit is used to return the GETCAP3 byte in response to the GETCAPS CCC format 1..

I3C_CRCAPR

I3C controller-role capability register

Offset: 0xcc, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CAPGRP
rw
CAPDHOFF
rw
Toggle fields

CAPDHOFF

Bit 3: delayed controller-role hand-off This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and indicates if this target I3C may need additional time to process a controller-role hand-off requested by the current controller. This bit is used to return the CRCAP2 byte in response to the GETCAPS CCC format 2..

CAPGRP

Bit 9: group management support (when acting as controller) This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and indicates if the I3C is able to support group management when it acts as a controller (after controller-role hand-off) via emitted DEFGRPA, RSTGRPA, and SETGRPA CCC. This bit is used to return the CRCAP1 byte in response to the GETCAPS CCC format 2..

I3C_GETMXDSR

I3C get capability register

Offset: 0xd0, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TSCO
rw
RDTURN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FMT
rw
HOFFAS
rw
Toggle fields

HOFFAS

Bits 0-1: controller hand-off activity state This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and indicates in which initial activity state the (other) current controller should expect the I3C bus after a controller-role hand-off to this controller-capable I3C, when returning the defining byte CRHDLY (0x91) to a GETMXDS CCC. This 2-bit field is used to return the CRHDLY1 byte in response to the GETCAPS CCC format 3, in order to state which is the activity state of this I3C when becoming controller after a controller-role hand-off, and consequently the time the former controller should wait before testing this I3C to be confirmed its ownership..

FMT

Bits 8-9: GETMXDS CCC format This field is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and indicates how is returned the GETMXDS format 1 (without MaxRdTurn) and format 2 (with MaxRdTurn). This bit is used to return the 2-byte format 1 (MaxWr, MaxRd) or 5-byte format 2 (MaxWr, MaxRd, 3-byte MaxRdTurn) byte in response to the GETCAPS CCC. - 3-byte MaxRdTurn is returned with MSB=0, middle byte=0 and LSB=RDTURN[7:0]. - Max read turnaround time is less than 256 �s. - 3-byte MaxRdTurn is returned with MSB=0, middle byte=RDTURN[7:0] and LSB=0. - Max read turnaround time is between 256 �s and 65535 �s - 3-byte MaxRdTurn is returned with MSB=RDTURN[7:0], middle byte=0 and LSB=0. - Max read turnaround time is between 65535 �s and 16 s..

RDTURN

Bits 16-23: programmed byte of the 3-byte MaxRdTurn (maximum read turnaround byte) This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and writes the value of the selected byte (via the FMT[1:0] field) of the 3-byte MaxRdTurn which is returned in response to the GETMXDS CCC format 2 to encode the maximum read turnaround time..

TSCO

Bit 24: clock-to-data turnaround time (tSCO) This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and is used to specify the clock-to-data turnaround time tSCO (vs the value of 12 ns). This bit is used by the hardware in response to the GETMXDS CCC to return the encoded clock-to-data turnaround time via the returned MaxRd[5:3] bits..

I3C_EPIDR

I3C extended provisioned ID register

Offset: 0xd4, size: 32, reset: 0x02080000, access: Unspecified

2/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MIPIMID
r
IDTSEL
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MIPIID
rw
Toggle fields

MIPIID

Bits 12-15: 4-bit MIPI Instance ID This field is written by software to set and identify individually each instance of this I3C IP with a specific number on a single I3C bus. This field represents the bits[15:12] of the 48-bit provisioned ID. Note: The bits[11:0] of the provisioned ID may be 0..

IDTSEL

Bit 16: provisioned ID type selector This field is set as 0 i.e. vendor fixed value. This field represents the bit[32] of the 48-bit provisioned ID. Note: The bits[31:16] of the provisioned ID may be 0..

MIPIMID

Bits 17-31: 15-bit MIPI manufacturer ID This read field is the 15-bit STMicroelectronics MIPI ID i.e. 0x0104. This field represents the bits[47:33] of the 48-bit provisioned ID..

ICACHE

0x40030400: Instruction cache

5/16 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CR
0x4 SR
0x8 IER
0xc FCR
0x10 HMONR
0x14 MMONR
Toggle registers

CR

ICACHE control register

Offset: 0x0, size: 32, reset: 0x00000004, access: Unspecified

0/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MISSMRST
rw
HITMRST
rw
MISSMEN
rw
HITMEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WAYSEL
rw
CACHEINV
w
EN
rw
Toggle fields

EN

Bit 0: enable.

CACHEINV

Bit 1: cache invalidation Set by software and cleared by hardware when the BUSYF flag is set (during cache maintenance operation). Writing 0 has no effect..

WAYSEL

Bit 2: cache associativity mode selection This bit allows user to choose ICACHE set-associativity. It can be written by software only when cache is disabled (EN = 0)..

HITMEN

Bit 16: hit monitor enable.

MISSMEN

Bit 17: miss monitor enable.

HITMRST

Bit 18: hit monitor reset.

MISSMRST

Bit 19: miss monitor reset.

SR

ICACHE status register

Offset: 0x4, size: 32, reset: 0x00000001, access: Unspecified

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ERRF
r
BSYENDF
r
BUSYF
r
Toggle fields

BUSYF

Bit 0: busy flag.

BSYENDF

Bit 1: busy end flag.

ERRF

Bit 2: cache error flag.

IER

ICACHE interrupt enable register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ERRIE
rw
BSYENDIE
rw
Toggle fields

BSYENDIE

Bit 1: interrupt enable on busy end Set by software to enable an interrupt generation at the end of a cache invalidate operation..

ERRIE

Bit 2: interrupt enable on cache error Set by software to enable an interrupt generation in case of cache functional error (cacheable write access).

FCR

ICACHE flag clear register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CERRF
w
CBSYENDF
w
Toggle fields

CBSYENDF

Bit 1: clear busy end flag Set by software..

CERRF

Bit 2: clear cache error flag Set by software..

HMONR

ICACHE hit monitor register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
HITMON
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HITMON
r
Toggle fields

HITMON

Bits 0-31: cache hit monitor counter.

MMONR

ICACHE miss monitor register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MISSMON
r
Toggle fields

MISSMON

Bits 0-15: cache miss monitor counter.

IWDG

0x40003000: Independent watchdog

13/13 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 KR
0x4 PR
0x8 RLR
0xc SR
0x10 WINR
0x14 EWCR
Toggle registers

KR

IWDG key register

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
KEY
w
Toggle fields

KEY

Bits 0-15: Key value (write only, read 0x0000) These bits must be written by software at regular intervals with the key value 0xAAAA, otherwise the watchdog generates a reset when the counter reaches 0. Writing the key value 0x5555 to enable access to the IWDG_PR, IWDG_RLR and IWDG_WINR registers (see ) Writing the key value 0xCCCC starts the watchdog (except if the hardware watchdog option is selected).

Allowed values:
21845: Enable: Enable access to PR, RLR and WINR registers (0x5555)
43690: Reset: Reset the watchdog value (0xAAAA)
52428: Start: Start the watchdog (0xCCCC)

PR

IWDG prescaler register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PR
rw
Toggle fields

PR

Bits 0-3: Prescaler divider These bits are write access protected see . They are written by software to select the prescaler divider feeding the counter clock. PVU bit of the must be reset in order to be able to change the prescaler divider. Others: divider / 1024 Note: Reading this register returns the prescaler value from the VDD voltage domain. This value may not be up to date/valid if a write operation to this register is ongoing. For this reason the value read from this register is valid only when the PVU bit in the status register (IWDG_SR) is reset..

Allowed values:
0: DivideBy4: Divider /4
1: DivideBy8: Divider /8
2: DivideBy16: Divider /16
3: DivideBy32: Divider /32
4: DivideBy64: Divider /64
5: DivideBy128: Divider /128
6: DivideBy256: Divider /256
7: DivideBy512: Divider /512
8: DivideBy1024: Divider /1024

RLR

IWDG reload register

Offset: 0x8, size: 32, reset: 0x00000FFF, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RL
rw
Toggle fields

RL

Bits 0-11: Watchdog counter reload value These bits are write access protected see . They are written by software to define the value to be loaded in the watchdog counter each time the value 0xAAAA is written in the . The watchdog counter counts down from this value. The timeout period is a function of this value and the prescaler.clock. It is not recommended to set RL[11:0] to a value lower than 2. The RVU bit in the must be reset to be able to change the reload value. Note: Reading this register returns the reload value from the VDD voltage domain. This value may not be up to date/valid if a write operation to this register is ongoing on it. For this reason the value read from this register is valid only when the RVU bit in the status register (IWDG_SR) is reset..

Allowed values: 0x0-0xfff

SR

IWDG status register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

6/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EWIF
r
ONF
r
EWU
r
WVU
r
RVU
r
PVU
r
Toggle fields

PVU

Bit 0: Watchdog prescaler value update This bit is set by hardware to indicate that an update of the prescaler value is ongoing. It is reset by hardware when the prescaler update operation is completed in the VDD voltage domain (takes up to three periods of the IWDG kernel clock iwdg_ker_ck). The prescaler value can be updated only when PVU bit is reset..

Allowed values:
0: Idle: No update on-going
1: Busy: Update on-going

RVU

Bit 1: Watchdog counter reload value update This bit is set by hardware to indicate that an update of the reload value is ongoing. It is reset by hardware when the reload value update operation is completed in the VDD voltage domain (takes up to three periods of the IWDG kernel clock iwdg_ker_ck). The reload value can be updated only when RVU bit is reset..

Allowed values:
0: Idle: No update on-going
1: Busy: Update on-going

WVU

Bit 2: Watchdog counter window value update This bit is set by hardware to indicate that an update of the window value is ongoing. It is reset by hardware when the reload value update operation is completed in the VDD voltage domain (takes up to three periods of the IWDG kernel clock iwdg_ker_ck). The window value can be updated only when WVU bit is reset. This bit is generated only if generic “window” = 1.

Allowed values:
0: Idle: No update on-going
1: Busy: Update on-going

EWU

Bit 3: Watchdog interrupt comparator value update This bit is set by hardware to indicate that an update of the interrupt comparator value (EWIT[11:0]) or an update of the EWIE is ongoing. It is reset by hardware when the update operation is completed in the VDD voltage domain (takes up to three periods of the IWDG kernel clock iwdg_ker_ck). The EWIT[11:0] and EWIE fields can be updated only when EWU bit is reset..

Allowed values:
0: Idle: No update on-going
1: Busy: Update on-going

ONF

Bit 8: Watchdog enable status bit. Set to ‘1’ by hardware as soon as the IWDG is started. In software mode, it remains to '1' until the IWDG is reset. In hardware mode, this bit is always set to '1'..

Allowed values:
0: NotActivated: IWDG is not activated
1: Activated: IWDG is activated

EWIF

Bit 14: Watchdog early interrupt flag This bit is set to ‘1’ by hardware in order to indicate that an early interrupt is pending. This bit must be cleared by the software by writing the bit EWIC of IWDG_EWCR register to ‘1’..

Allowed values:
0: NotPending: No pending interrupt
1: Pending: Interrupt pending

WINR

IWDG window register

Offset: 0x10, size: 32, reset: 0x00000FFF, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WIN
rw
Toggle fields

WIN

Bits 0-11: Watchdog counter window value These bits are write access protected, see , they contain the high limit of the window value to be compared with the downcounter. To prevent a reset, the IWDCNT downcounter must be reloaded when its value is lower than WIN[11:0]+1 and greater than 1. The WVU bit in the must be reset to be able to change the reload value. Note: Reading this register returns the reload value from the VDD voltage domain. This value may not be valid if a write operation to this register is ongoing. For this reason the value read from this register is valid only when the WVU bit in the (IWDG_SR) is reset..

Allowed values: 0x0-0xfff

EWCR

IWDG early wakeup interrupt register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EWIE
rw
EWIC
w
EWIT
rw
Toggle fields

EWIT

Bits 0-11: Watchdog counter window value These bits are write access protected (see ). They are written by software to define at which position of the IWDCNT down-counter the early wakeup interrupt must be generated. The early interrupt is generated when the IWDCNT is lower or equal to EWIT[11:0] - 1. EWIT[11:0] must be bigger than 1. An interrupt is generated only if EWIE = 1. The EWU bit in the must be reset to be able to change the reload value. Note: Reading this register returns the Early wakeup comparator value and the Interrupt enable bit from the VDD voltage domain. This value may not be up to date/valid if a write operation to this register is ongoing, hence the value read from this register is valid only when the EWU bit in the is reset..

Allowed values: 0x1-0xfff

EWIC

Bit 14: Watchdog early interrupt acknowledge The software must write a 1 into this bit in order to acknowledge the early wakeup interrupt and to clear the EWIF flag. Writing 0 has not effect, reading this flag returns a 0..

Allowed values:
1: Acknowledge: Acknowledge early wake-up interrupt

EWIE

Bit 15: Watchdog early interrupt enable Set and reset by software. The EWU bit in the must be reset to be able to change the value of this bit..

Allowed values:
0: Disabled: Early interrupt is disabled
1: Enabled: Early interrupt is enabled

LPTIM1

0x44004400: Low power timer

25/107 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 ISR_intput
0x0 ISR_output
0x4 ICR_intput
0x4 ICR_output
0x8 DIER_intput
0x8 DIER_output
0xc CFGR
0x10 CR
0x14 CCR1
0x18 ARR
0x1c CNT
0x28 RCR
0x2c CCMR1
0x34 CCR2
Toggle registers

ISR_intput

LPTIM1 interrupt and status register [alternate]

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

12/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DIEROK
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC2OF
r
CC1OF
r
CC2IF
r
REPOK
r
UE
r
DOWN
r
UP
r
ARROK
r
EXTTRIG
r
ARRM
r
CC1IF
r
Toggle fields

CC1IF

Bit 0: capture 1 interrupt flag If channel CC1 is configured as input: CC1IF is set by hardware to inform application that the current value of the counter is captured in LPTIM_CCR1 register. The corresponding interrupt or DMA request is generated if enabled. The CC1OF flag is set if the CC1IF flag was already high..

ARRM

Bit 1: Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register..

EXTTRIG

Bit 2: External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register..

ARROK

Bit 4: Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register..

UP

Bit 5: Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

DOWN

Bit 6: Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

UE

Bit 7: LPTIM update event occurred UE is set by hardware to inform application that an update event was generated. UE flag can be cleared by writing 1 to the UECF bit in the LPTIM_ICR register..

REPOK

Bit 8: Repetition register update OK REPOK is set by hardware to inform application that the APB bus write operation to the LPTIM_RCR register has been successfully completed. REPOK flag can be cleared by writing 1 to the REPOKCF bit in the LPTIM_ICR register..

CC2IF

Bit 9: Capture 2 interrupt flag If channel CC2 is configured as input: CC2IF is set by hardware to inform application that the current value of the counter is captured in LPTIM_CCR2 register. The corresponding interrupt or DMA request is generated if enabled. The CC2OF flag is set if the CC2IF flag was already high. Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

CC1OF

Bit 12: Capture 1 over-capture flag This flag is set by hardware only when the corresponding channel is configured in input capture mode. It is cleared by software by writing 1 to the CC1OCF bit in the LPTIM_ICR register. Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to ..

CC2OF

Bit 13: Capture 2 over-capture flag This flag is set by hardware only when the corresponding channel is configured in input capture mode. It is cleared by software by writing 1 to the CC2OCF bit in the LPTIM_ICR register. Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

DIEROK

Bit 24: Interrupt enable register update OK DIEROK is set by hardware to inform application that the APB bus write operation to the LPTIM_DIER register has been successfully completed. DIEROK flag can be cleared by writing 1 to the DIEROKCF bit in the LPTIM_ICR register..

ISR_output

LPTIM1 interrupt and status register [alternate]

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

12/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DIEROK
r
CMP2OK
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC2IF
r
REPOK
r
UE
r
DOWN
r
UP
r
ARROK
r
CMP1OK
r
EXTTRIG
r
ARRM
r
CC1IF
r
Toggle fields

CC1IF

Bit 0: Compare 1 interrupt flag If channel CC1 is configured as output: The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register..

ARRM

Bit 1: Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register..

EXTTRIG

Bit 2: External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register..

CMP1OK

Bit 3: Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register..

ARROK

Bit 4: Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register..

UP

Bit 5: Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

DOWN

Bit 6: Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

UE

Bit 7: LPTIM update event occurred UE is set by hardware to inform application that an update event was generated. The corresponding interrupt or DMA request is generated if enabled. UE flag can be cleared by writing 1 to the UECF bit in the LPTIM_ICR register. The UE flag is automatically cleared by hardware once the LPTIM_ARR register is written by any bus master like CPU or DMA..

REPOK

Bit 8: Repetition register update OK REPOK is set by hardware to inform application that the APB bus write operation to the LPTIM_RCR register has been successfully completed. REPOK flag can be cleared by writing 1 to the REPOKCF bit in the LPTIM_ICR register..

CC2IF

Bit 9: Compare 2 interrupt flag If channel CC2 is configured as output: The CC2IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. CC2IF flag can be cleared by writing 1 to the CC2CF bit in the LPTIM_ICR register. Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

CMP2OK

Bit 19: Compare register 2 update OK CMP2OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR2 register has been successfully completed. CMP2OK flag can be cleared by writing 1 to the CMP2OKCF bit in the LPTIM_ICR register. Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

DIEROK

Bit 24: Interrupt enable register update OK DIEROK is set by hardware to inform application that the APB bus write operation to the LPTIM_DIER register has been successfully completed. DIEROK flag can be cleared by writing 1 to the DIEROKCF bit in the LPTIM_ICR register..

ICR_intput

LPTIM interrupt clear register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

0/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DIEROKCF
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC2OCF
w
CC1OCF
w
CC2CF
w
REPOKCF
w
UECF
w
DOWNCF
w
UPCF
w
ARROKCF
w
EXTTRIGCF
w
ARRMCF
w
CC1CF
w
Toggle fields

CC1CF

Bit 0: Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register..

ARRMCF

Bit 1: Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register.

EXTTRIGCF

Bit 2: External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register.

ARROKCF

Bit 4: Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register.

UPCF

Bit 5: Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

DOWNCF

Bit 6: Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

UECF

Bit 7: Update event clear flag Writing 1 to this bit clear the UE flag in the LPTIM_ISR register..

REPOKCF

Bit 8: Repetition register update OK clear flag Writing 1 to this bit clears the REPOK flag in the LPTIM_ISR register..

CC2CF

Bit 9: Capture/compare 2 clear flag Writing 1 to this bit clears the CC2IF flag in the LPTIM_ISR register. Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

CC1OCF

Bit 12: Capture/compare 1 over-capture clear flag Writing 1 to this bit clears the CC1OF flag in the LPTIM_ISR register. Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to ..

CC2OCF

Bit 13: Capture/compare 2 over-capture clear flag Writing 1 to this bit clears the CC2OF flag in the LPTIM_ISR register. Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

DIEROKCF

Bit 24: Interrupt enable register update OK clear flag Writing 1 to this bit clears the DIEROK flag in the LPTIM_ISR register..

ICR_output

LPTIM1 interrupt clear register [alternate]

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

0/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DIEROKCF
w
CMP2OKCF
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC2CF
w
REPOKCF
w
UECF
w
DOWNCF
w
UPCF
w
ARROKCF
w
CMP1OKCF
w
EXTTRIGCF
w
ARRMCF
w
CC1CF
w
Toggle fields

CC1CF

Bit 0: Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register..

ARRMCF

Bit 1: Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register.

EXTTRIGCF

Bit 2: External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register.

CMP1OKCF

Bit 3: Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register..

ARROKCF

Bit 4: Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register.

UPCF

Bit 5: Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

DOWNCF

Bit 6: Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

UECF

Bit 7: Update event clear flag Writing 1 to this bit clear the UE flag in the LPTIM_ISR register..

REPOKCF

Bit 8: Repetition register update OK clear flag Writing 1 to this bit clears the REPOK flag in the LPTIM_ISR register..

CC2CF

Bit 9: Capture/compare 2 clear flag Writing 1 to this bit clears the CC2IF flag in the LPTIM_ISR register. Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

CMP2OKCF

Bit 19: Compare register 2 update OK clear flag Writing 1 to this bit clears the CMP2OK flag in the LPTIM_ISR register. Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

DIEROKCF

Bit 24: Interrupt enable register update OK clear flag Writing 1 to this bit clears the DIEROK flag in the LPTIM_ISR register..

DIER_intput

LPTIM interrupt enable register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

0/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CC2DE
rw
UEDE
rw
CC1DE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC2OIE
rw
CC1OIE
rw
CC2IE
rw
REPOKIE
rw
UEIE
rw
DOWNIE
rw
UPIE
rw
ARROKIE
rw
EXTTRIGIE
rw
ARRMIE
rw
CC1IE
rw
Toggle fields

CC1IE

Bit 0: Capture/compare 1 interrupt enable.

ARRMIE

Bit 1: Autoreload match Interrupt Enable.

EXTTRIGIE

Bit 2: External trigger valid edge Interrupt Enable.

ARROKIE

Bit 4: Autoreload register update OK Interrupt Enable.

UPIE

Bit 5: Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

DOWNIE

Bit 6: Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

UEIE

Bit 7: Update event interrupt enable.

REPOKIE

Bit 8: Repetition register update OK interrupt Enable.

CC2IE

Bit 9: Capture/compare 2 interrupt enable Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

CC1OIE

Bit 12: Capture/compare 1 over-capture interrupt enable Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to ..

CC2OIE

Bit 13: Capture/compare 2 over-capture interrupt enable Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

CC1DE

Bit 16: Capture/compare 1 DMA request enable Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to ..

UEDE

Bit 23: Update event DMA request enable Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to ..

CC2DE

Bit 25: Capture/compare 2 DMA request enable Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

DIER_output

LPTIM1 interrupt enable register [alternate]

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

0/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UEDE
rw
CMP2OKIE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC2IE
rw
REPOKIE
rw
UEIE
rw
DOWNIE
rw
UPIE
rw
ARROKIE
rw
CMP1OKIE
rw
EXTTRIGIE
rw
ARRMIE
rw
CC1IE
rw
Toggle fields

CC1IE

Bit 0: Capture/compare 1 interrupt enable.

ARRMIE

Bit 1: Autoreload match Interrupt Enable.

EXTTRIGIE

Bit 2: External trigger valid edge Interrupt Enable.

CMP1OKIE

Bit 3: Compare register 1 update OK interrupt enable.

ARROKIE

Bit 4: Autoreload register update OK Interrupt Enable.

UPIE

Bit 5: Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

DOWNIE

Bit 6: Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

UEIE

Bit 7: Update event interrupt enable.

REPOKIE

Bit 8: Repetition register update OK interrupt Enable.

CC2IE

Bit 9: Capture/compare 2 interrupt enable Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

CMP2OKIE

Bit 19: Compare register 2 update OK interrupt enable Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

UEDE

Bit 23: Update event DMA request enable Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to ..

CFGR

LPTIM configuration register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

0/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ENC
rw
COUNTMODE
rw
PRELOAD
rw
WAVPOL
rw
WAVE
rw
TIMOUT
rw
TRIGEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIGSEL
rw
PRESC
rw
TRGFLT
rw
CKFLT
rw
CKPOL
rw
CKSEL
rw
Toggle fields

CKSEL

Bit 0: Clock selector The CKSEL bit selects which clock source the LPTIM uses:.

CKPOL

Bits 1-2: Clock Polarity When the LPTIM is clocked by an external clock source, CKPOL bits is used to configure the active edge or edges used by the counter: If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Refer to for more details about Encoder mode sub-modes..

CKFLT

Bits 3-4: Configurable digital filter for external clock The CKFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an external clock signal before it is considered as a valid level transition. An internal clock source must be present to use this feature.

TRGFLT

Bits 6-7: Configurable digital filter for trigger The TRGFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an internal trigger before it is considered as a valid level transition. An internal clock source must be present to use this feature.

PRESC

Bits 9-11: Clock prescaler The PRESC bits configure the prescaler division factor. It can be one among the following division factors:.

TRIGSEL

Bits 13-15: Trigger selector The TRIGSEL bits select the trigger source that serves as a trigger event for the LPTIM among the below 8 available sources: See for details..

TRIGEN

Bits 17-18: Trigger enable and polarity The TRIGEN bits controls whether the LPTIM counter is started by an external trigger or not. If the external trigger option is selected, three configurations are possible for the trigger active edge:.

TIMOUT

Bit 19: Timeout enable The TIMOUT bit controls the Timeout feature.

WAVE

Bit 20: Waveform shape The WAVE bit controls the output shape.

WAVPOL

Bit 21: Waveform shape polarity The WAVPOL bit controls the output polarity Note: If the LPTIM implements at least one capture/compare channel, this bit is reserved. Please refer to ..

PRELOAD

Bit 22: Registers update mode The PRELOAD bit controls the LPTIM_ARR, LPTIM_RCR and the LPTIM_CCRx registers update modality.

COUNTMODE

Bit 23: counter mode enabled The COUNTMODE bit selects which clock source is used by the LPTIM to clock the counter:.

ENC

Bit 24: Encoder mode enable The ENC bit controls the Encoder mode Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

CR

LPTIM control register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

0/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RSTARE
rw
COUNTRST
rw
CNTSTRT
rw
SNGSTRT
rw
ENABLE
rw
Toggle fields

ENABLE

Bit 0: LPTIM enable The ENABLE bit is set and cleared by software..

SNGSTRT

Bit 1: LPTIM start in Single mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in single pulse mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the LPTIM in single pulse mode as soon as an external trigger is detected. If this bit is set when the LPTIM is in continuous counting mode, then the LPTIM stops at the following match between LPTIM_ARR and LPTIM_CNT registers. This bit can only be set when the LPTIM is enabled. It is automatically reset by hardware..

CNTSTRT

Bit 2: Timer start in Continuous mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in Continuous mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the timer in Continuous mode as soon as an external trigger is detected. If this bit is set when a single pulse mode counting is ongoing, then the timer does not stop at the next match between the LPTIM_ARR and LPTIM_CNT registers and the LPTIM counter keeps counting in Continuous mode. This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware..

COUNTRST

Bit 3: Counter reset This bit is set by software and cleared by hardware. When set to '1' this bit triggers a synchronous reset of the LPTIM_CNT counter register. Due to the synchronous nature of this reset, it only takes place after a synchronization delay of 3 LPTimer core clock cycles (LPTimer core clock may be different from APB clock). This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. COUNTRST must never be set to '1' by software before it is already cleared to '0' by hardware. Software should consequently check that COUNTRST bit is already cleared to '0' before attempting to set it to '1'..

RSTARE

Bit 4: Reset after read enable This bit is set and cleared by software. When RSTARE is set to '1', any read access to LPTIM_CNT register asynchronously resets LPTIM_CNT register content. This bit can be set only when the LPTIM is enabled..

CCR1

LPTIM compare register 1

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR1
rw
Toggle fields

CCR1

Bits 0-15: Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 becomes read-only, it contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed..

ARR

LPTIM autoreload register

Offset: 0x18, size: 32, reset: 0x00000001, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ARR
rw
Toggle fields

ARR

Bits 0-15: Auto reload value ARR is the autoreload value for the LPTIM. This value must be strictly greater than the CCRx[15:0] value..

CNT

LPTIM counter register

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNT
r
Toggle fields

CNT

Bits 0-15: Counter value When the LPTIM is running with an asynchronous clock, reading the LPTIM_CNT register may return unreliable values. So in this case it is necessary to perform two consecutive read accesses and verify that the two returned values are identical..

RCR

LPTIM repetition register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
REP
rw
Toggle fields

REP

Bits 0-7: Repetition register value REP is the repetition value for the LPTIM..

CCMR1

LPTIM capture/compare mode register 1

Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified

0/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
IC2F
rw
IC2PSC
rw
CC2P
rw
CC2E
rw
CC2SEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC1F
rw
IC1PSC
rw
CC1P
rw
CC1E
rw
CC1SEL
rw
Toggle fields

CC1SEL

Bit 0: Capture/compare 1 selection This bitfield defines the direction of the channel input (capture) or output mode..

CC1E

Bit 1: Capture/compare 1 output enable. This bit determines if a capture of the counter value can actually be done into the input capture/compare register 1 (LPTIM_CCR1) or not..

CC1P

Bits 2-3: Capture/compare 1 output polarity. Only bit2 is used to set polarity when output mode is enabled, bit3 is don't care. This field is used to select the IC1 polarity for capture operations..

IC1PSC

Bits 8-9: Input capture 1 prescaler This bitfield defines the ratio of the prescaler acting on the CC1 input (IC1)..

IC1F

Bits 12-13: Input capture 1 filter This bitfield defines the number of consecutive equal samples that should be detected when a level change occurs on an external input capture signal before it is considered as a valid level transition. An internal clock source must be present to use this feature..

CC2SEL

Bit 16: Capture/compare 2 selection This bitfield defines the direction of the channel, input (capture) or output mode..

CC2E

Bit 17: Capture/compare 2 output enable. This bit determines if a capture of the counter value can actually be done into the input capture/compare register 2 (LPTIM_CCR2) or not..

CC2P

Bits 18-19: Capture/compare 2 output polarity. Only bit2 is used to set polarity when output mode is enabled, bit3 is don't care. This field is used to select the IC2 polarity for capture operations..

IC2PSC

Bits 24-25: Input capture 2 prescaler This bitfield defines the ratio of the prescaler acting on the CC2 input (IC2)..

IC2F

Bits 28-29: Input capture 2 filter This bitfield defines the number of consecutive equal samples that should be detected when a level change occurs on an external input capture signal before it is considered as a valid level transition. An internal clock source must be present to use this feature..

CCR2

LPTIM compare register 2

Offset: 0x34, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR2
rw
Toggle fields

CCR2

Bits 0-15: Capture/compare 2 value If channel CC2 is configured as output: CCR2 is the value to be loaded in the capture/compare 2 register. Depending on the PRELOAD option, the CCR2 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 2 contains the value to be compared to the counter LPTIM_CNT and signaled on OC2 output. If channel CC2 is configured as input: CCR2 becomes read-only, it contains the counter value transferred by the last input capture 2 event. The LPTIM_CCR2 register is read-only and cannot be programmed..

LPTIM2

0x40009400: Low power timer

25/107 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 ISR_intput
0x0 ISR_output
0x4 ICR_intput
0x4 ICR_output
0x8 DIER_intput
0x8 DIER_output
0xc CFGR
0x10 CR
0x14 CCR1
0x18 ARR
0x1c CNT
0x28 RCR
0x2c CCMR1
0x34 CCR2
Toggle registers

ISR_intput

LPTIM1 interrupt and status register [alternate]

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

12/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DIEROK
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC2OF
r
CC1OF
r
CC2IF
r
REPOK
r
UE
r
DOWN
r
UP
r
ARROK
r
EXTTRIG
r
ARRM
r
CC1IF
r
Toggle fields

CC1IF

Bit 0: capture 1 interrupt flag If channel CC1 is configured as input: CC1IF is set by hardware to inform application that the current value of the counter is captured in LPTIM_CCR1 register. The corresponding interrupt or DMA request is generated if enabled. The CC1OF flag is set if the CC1IF flag was already high..

ARRM

Bit 1: Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register..

EXTTRIG

Bit 2: External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register..

ARROK

Bit 4: Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register..

UP

Bit 5: Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

DOWN

Bit 6: Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

UE

Bit 7: LPTIM update event occurred UE is set by hardware to inform application that an update event was generated. UE flag can be cleared by writing 1 to the UECF bit in the LPTIM_ICR register..

REPOK

Bit 8: Repetition register update OK REPOK is set by hardware to inform application that the APB bus write operation to the LPTIM_RCR register has been successfully completed. REPOK flag can be cleared by writing 1 to the REPOKCF bit in the LPTIM_ICR register..

CC2IF

Bit 9: Capture 2 interrupt flag If channel CC2 is configured as input: CC2IF is set by hardware to inform application that the current value of the counter is captured in LPTIM_CCR2 register. The corresponding interrupt or DMA request is generated if enabled. The CC2OF flag is set if the CC2IF flag was already high. Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

CC1OF

Bit 12: Capture 1 over-capture flag This flag is set by hardware only when the corresponding channel is configured in input capture mode. It is cleared by software by writing 1 to the CC1OCF bit in the LPTIM_ICR register. Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to ..

CC2OF

Bit 13: Capture 2 over-capture flag This flag is set by hardware only when the corresponding channel is configured in input capture mode. It is cleared by software by writing 1 to the CC2OCF bit in the LPTIM_ICR register. Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

DIEROK

Bit 24: Interrupt enable register update OK DIEROK is set by hardware to inform application that the APB bus write operation to the LPTIM_DIER register has been successfully completed. DIEROK flag can be cleared by writing 1 to the DIEROKCF bit in the LPTIM_ICR register..

ISR_output

LPTIM1 interrupt and status register [alternate]

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

12/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DIEROK
r
CMP2OK
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC2IF
r
REPOK
r
UE
r
DOWN
r
UP
r
ARROK
r
CMP1OK
r
EXTTRIG
r
ARRM
r
CC1IF
r
Toggle fields

CC1IF

Bit 0: Compare 1 interrupt flag If channel CC1 is configured as output: The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register..

ARRM

Bit 1: Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register..

EXTTRIG

Bit 2: External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register..

CMP1OK

Bit 3: Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register..

ARROK

Bit 4: Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register..

UP

Bit 5: Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

DOWN

Bit 6: Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

UE

Bit 7: LPTIM update event occurred UE is set by hardware to inform application that an update event was generated. The corresponding interrupt or DMA request is generated if enabled. UE flag can be cleared by writing 1 to the UECF bit in the LPTIM_ICR register. The UE flag is automatically cleared by hardware once the LPTIM_ARR register is written by any bus master like CPU or DMA..

REPOK

Bit 8: Repetition register update OK REPOK is set by hardware to inform application that the APB bus write operation to the LPTIM_RCR register has been successfully completed. REPOK flag can be cleared by writing 1 to the REPOKCF bit in the LPTIM_ICR register..

CC2IF

Bit 9: Compare 2 interrupt flag If channel CC2 is configured as output: The CC2IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. CC2IF flag can be cleared by writing 1 to the CC2CF bit in the LPTIM_ICR register. Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

CMP2OK

Bit 19: Compare register 2 update OK CMP2OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR2 register has been successfully completed. CMP2OK flag can be cleared by writing 1 to the CMP2OKCF bit in the LPTIM_ICR register. Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

DIEROK

Bit 24: Interrupt enable register update OK DIEROK is set by hardware to inform application that the APB bus write operation to the LPTIM_DIER register has been successfully completed. DIEROK flag can be cleared by writing 1 to the DIEROKCF bit in the LPTIM_ICR register..

ICR_intput

LPTIM interrupt clear register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

0/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DIEROKCF
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC2OCF
w
CC1OCF
w
CC2CF
w
REPOKCF
w
UECF
w
DOWNCF
w
UPCF
w
ARROKCF
w
EXTTRIGCF
w
ARRMCF
w
CC1CF
w
Toggle fields

CC1CF

Bit 0: Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register..

ARRMCF

Bit 1: Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register.

EXTTRIGCF

Bit 2: External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register.

ARROKCF

Bit 4: Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register.

UPCF

Bit 5: Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

DOWNCF

Bit 6: Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

UECF

Bit 7: Update event clear flag Writing 1 to this bit clear the UE flag in the LPTIM_ISR register..

REPOKCF

Bit 8: Repetition register update OK clear flag Writing 1 to this bit clears the REPOK flag in the LPTIM_ISR register..

CC2CF

Bit 9: Capture/compare 2 clear flag Writing 1 to this bit clears the CC2IF flag in the LPTIM_ISR register. Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

CC1OCF

Bit 12: Capture/compare 1 over-capture clear flag Writing 1 to this bit clears the CC1OF flag in the LPTIM_ISR register. Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to ..

CC2OCF

Bit 13: Capture/compare 2 over-capture clear flag Writing 1 to this bit clears the CC2OF flag in the LPTIM_ISR register. Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

DIEROKCF

Bit 24: Interrupt enable register update OK clear flag Writing 1 to this bit clears the DIEROK flag in the LPTIM_ISR register..

ICR_output

LPTIM1 interrupt clear register [alternate]

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

0/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DIEROKCF
w
CMP2OKCF
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC2CF
w
REPOKCF
w
UECF
w
DOWNCF
w
UPCF
w
ARROKCF
w
CMP1OKCF
w
EXTTRIGCF
w
ARRMCF
w
CC1CF
w
Toggle fields

CC1CF

Bit 0: Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register..

ARRMCF

Bit 1: Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register.

EXTTRIGCF

Bit 2: External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register.

CMP1OKCF

Bit 3: Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register..

ARROKCF

Bit 4: Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register.

UPCF

Bit 5: Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

DOWNCF

Bit 6: Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

UECF

Bit 7: Update event clear flag Writing 1 to this bit clear the UE flag in the LPTIM_ISR register..

REPOKCF

Bit 8: Repetition register update OK clear flag Writing 1 to this bit clears the REPOK flag in the LPTIM_ISR register..

CC2CF

Bit 9: Capture/compare 2 clear flag Writing 1 to this bit clears the CC2IF flag in the LPTIM_ISR register. Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

CMP2OKCF

Bit 19: Compare register 2 update OK clear flag Writing 1 to this bit clears the CMP2OK flag in the LPTIM_ISR register. Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

DIEROKCF

Bit 24: Interrupt enable register update OK clear flag Writing 1 to this bit clears the DIEROK flag in the LPTIM_ISR register..

DIER_intput

LPTIM interrupt enable register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

0/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CC2DE
rw
UEDE
rw
CC1DE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC2OIE
rw
CC1OIE
rw
CC2IE
rw
REPOKIE
rw
UEIE
rw
DOWNIE
rw
UPIE
rw
ARROKIE
rw
EXTTRIGIE
rw
ARRMIE
rw
CC1IE
rw
Toggle fields

CC1IE

Bit 0: Capture/compare 1 interrupt enable.

ARRMIE

Bit 1: Autoreload match Interrupt Enable.

EXTTRIGIE

Bit 2: External trigger valid edge Interrupt Enable.

ARROKIE

Bit 4: Autoreload register update OK Interrupt Enable.

UPIE

Bit 5: Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

DOWNIE

Bit 6: Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

UEIE

Bit 7: Update event interrupt enable.

REPOKIE

Bit 8: Repetition register update OK interrupt Enable.

CC2IE

Bit 9: Capture/compare 2 interrupt enable Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

CC1OIE

Bit 12: Capture/compare 1 over-capture interrupt enable Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to ..

CC2OIE

Bit 13: Capture/compare 2 over-capture interrupt enable Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

CC1DE

Bit 16: Capture/compare 1 DMA request enable Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to ..

UEDE

Bit 23: Update event DMA request enable Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to ..

CC2DE

Bit 25: Capture/compare 2 DMA request enable Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

DIER_output

LPTIM1 interrupt enable register [alternate]

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

0/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UEDE
rw
CMP2OKIE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC2IE
rw
REPOKIE
rw
UEIE
rw
DOWNIE
rw
UPIE
rw
ARROKIE
rw
CMP1OKIE
rw
EXTTRIGIE
rw
ARRMIE
rw
CC1IE
rw
Toggle fields

CC1IE

Bit 0: Capture/compare 1 interrupt enable.

ARRMIE

Bit 1: Autoreload match Interrupt Enable.

EXTTRIGIE

Bit 2: External trigger valid edge Interrupt Enable.

CMP1OKIE

Bit 3: Compare register 1 update OK interrupt enable.

ARROKIE

Bit 4: Autoreload register update OK Interrupt Enable.

UPIE

Bit 5: Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

DOWNIE

Bit 6: Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

UEIE

Bit 7: Update event interrupt enable.

REPOKIE

Bit 8: Repetition register update OK interrupt Enable.

CC2IE

Bit 9: Capture/compare 2 interrupt enable Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

CMP2OKIE

Bit 19: Compare register 2 update OK interrupt enable Note: If LPTIM does not implement at least 2 channels this bit is reserved. Please refer to ..

UEDE

Bit 23: Update event DMA request enable Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to ..

CFGR

LPTIM configuration register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

0/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ENC
rw
COUNTMODE
rw
PRELOAD
rw
WAVPOL
rw
WAVE
rw
TIMOUT
rw
TRIGEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIGSEL
rw
PRESC
rw
TRGFLT
rw
CKFLT
rw
CKPOL
rw
CKSEL
rw
Toggle fields

CKSEL

Bit 0: Clock selector The CKSEL bit selects which clock source the LPTIM uses:.

CKPOL

Bits 1-2: Clock Polarity When the LPTIM is clocked by an external clock source, CKPOL bits is used to configure the active edge or edges used by the counter: If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Refer to for more details about Encoder mode sub-modes..

CKFLT

Bits 3-4: Configurable digital filter for external clock The CKFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an external clock signal before it is considered as a valid level transition. An internal clock source must be present to use this feature.

TRGFLT

Bits 6-7: Configurable digital filter for trigger The TRGFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an internal trigger before it is considered as a valid level transition. An internal clock source must be present to use this feature.

PRESC

Bits 9-11: Clock prescaler The PRESC bits configure the prescaler division factor. It can be one among the following division factors:.

TRIGSEL

Bits 13-15: Trigger selector The TRIGSEL bits select the trigger source that serves as a trigger event for the LPTIM among the below 8 available sources: See for details..

TRIGEN

Bits 17-18: Trigger enable and polarity The TRIGEN bits controls whether the LPTIM counter is started by an external trigger or not. If the external trigger option is selected, three configurations are possible for the trigger active edge:.

TIMOUT

Bit 19: Timeout enable The TIMOUT bit controls the Timeout feature.

WAVE

Bit 20: Waveform shape The WAVE bit controls the output shape.

WAVPOL

Bit 21: Waveform shape polarity The WAVPOL bit controls the output polarity Note: If the LPTIM implements at least one capture/compare channel, this bit is reserved. Please refer to ..

PRELOAD

Bit 22: Registers update mode The PRELOAD bit controls the LPTIM_ARR, LPTIM_RCR and the LPTIM_CCRx registers update modality.

COUNTMODE

Bit 23: counter mode enabled The COUNTMODE bit selects which clock source is used by the LPTIM to clock the counter:.

ENC

Bit 24: Encoder mode enable The ENC bit controls the Encoder mode Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to ..

CR

LPTIM control register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

0/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RSTARE
rw
COUNTRST
rw
CNTSTRT
rw
SNGSTRT
rw
ENABLE
rw
Toggle fields

ENABLE

Bit 0: LPTIM enable The ENABLE bit is set and cleared by software..

SNGSTRT

Bit 1: LPTIM start in Single mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in single pulse mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the LPTIM in single pulse mode as soon as an external trigger is detected. If this bit is set when the LPTIM is in continuous counting mode, then the LPTIM stops at the following match between LPTIM_ARR and LPTIM_CNT registers. This bit can only be set when the LPTIM is enabled. It is automatically reset by hardware..

CNTSTRT

Bit 2: Timer start in Continuous mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in Continuous mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the timer in Continuous mode as soon as an external trigger is detected. If this bit is set when a single pulse mode counting is ongoing, then the timer does not stop at the next match between the LPTIM_ARR and LPTIM_CNT registers and the LPTIM counter keeps counting in Continuous mode. This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware..

COUNTRST

Bit 3: Counter reset This bit is set by software and cleared by hardware. When set to '1' this bit triggers a synchronous reset of the LPTIM_CNT counter register. Due to the synchronous nature of this reset, it only takes place after a synchronization delay of 3 LPTimer core clock cycles (LPTimer core clock may be different from APB clock). This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. COUNTRST must never be set to '1' by software before it is already cleared to '0' by hardware. Software should consequently check that COUNTRST bit is already cleared to '0' before attempting to set it to '1'..

RSTARE

Bit 4: Reset after read enable This bit is set and cleared by software. When RSTARE is set to '1', any read access to LPTIM_CNT register asynchronously resets LPTIM_CNT register content. This bit can be set only when the LPTIM is enabled..

CCR1

LPTIM compare register 1

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR1
rw
Toggle fields

CCR1

Bits 0-15: Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 becomes read-only, it contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed..

ARR

LPTIM autoreload register

Offset: 0x18, size: 32, reset: 0x00000001, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ARR
rw
Toggle fields

ARR

Bits 0-15: Auto reload value ARR is the autoreload value for the LPTIM. This value must be strictly greater than the CCRx[15:0] value..

CNT

LPTIM counter register

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNT
r
Toggle fields

CNT

Bits 0-15: Counter value When the LPTIM is running with an asynchronous clock, reading the LPTIM_CNT register may return unreliable values. So in this case it is necessary to perform two consecutive read accesses and verify that the two returned values are identical..

RCR

LPTIM repetition register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
REP
rw
Toggle fields

REP

Bits 0-7: Repetition register value REP is the repetition value for the LPTIM..

CCMR1

LPTIM capture/compare mode register 1

Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified

0/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
IC2F
rw
IC2PSC
rw
CC2P
rw
CC2E
rw
CC2SEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC1F
rw
IC1PSC
rw
CC1P
rw
CC1E
rw
CC1SEL
rw
Toggle fields

CC1SEL

Bit 0: Capture/compare 1 selection This bitfield defines the direction of the channel input (capture) or output mode..

CC1E

Bit 1: Capture/compare 1 output enable. This bit determines if a capture of the counter value can actually be done into the input capture/compare register 1 (LPTIM_CCR1) or not..

CC1P

Bits 2-3: Capture/compare 1 output polarity. Only bit2 is used to set polarity when output mode is enabled, bit3 is don't care. This field is used to select the IC1 polarity for capture operations..

IC1PSC

Bits 8-9: Input capture 1 prescaler This bitfield defines the ratio of the prescaler acting on the CC1 input (IC1)..

IC1F

Bits 12-13: Input capture 1 filter This bitfield defines the number of consecutive equal samples that should be detected when a level change occurs on an external input capture signal before it is considered as a valid level transition. An internal clock source must be present to use this feature..

CC2SEL

Bit 16: Capture/compare 2 selection This bitfield defines the direction of the channel, input (capture) or output mode..

CC2E

Bit 17: Capture/compare 2 output enable. This bit determines if a capture of the counter value can actually be done into the input capture/compare register 2 (LPTIM_CCR2) or not..

CC2P

Bits 18-19: Capture/compare 2 output polarity. Only bit2 is used to set polarity when output mode is enabled, bit3 is don't care. This field is used to select the IC2 polarity for capture operations..

IC2PSC

Bits 24-25: Input capture 2 prescaler This bitfield defines the ratio of the prescaler acting on the CC2 input (IC2)..

IC2F

Bits 28-29: Input capture 2 filter This bitfield defines the number of consecutive equal samples that should be detected when a level change occurs on an external input capture signal before it is considered as a valid level transition. An internal clock source must be present to use this feature..

CCR2

LPTIM compare register 2

Offset: 0x34, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR2
rw
Toggle fields

CCR2

Bits 0-15: Capture/compare 2 value If channel CC2 is configured as output: CCR2 is the value to be loaded in the capture/compare 2 register. Depending on the PRELOAD option, the CCR2 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 2 contains the value to be compared to the counter LPTIM_CNT and signaled on OC2 output. If channel CC2 is configured as input: CCR2 becomes read-only, it contains the counter value transferred by the last input capture 2 event. The LPTIM_CCR2 register is read-only and cannot be programmed..

LPUART

0x44002400: Universal synchronous asynchronous receiver transmitter

39/121 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CR1_disabled
0x0 CR1_enabled
0x4 CR2
0x8 CR3
0xc BRR
0x18 RQR
0x1c ISR_disabled
0x1c ISR_enabled
0x20 ICR
0x24 RDR
0x28 TDR
0x2c PRESC
Toggle registers

CR1_disabled

LPUART control register 1 [alternate]

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

0/19 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FIFOEN
rw
M1
rw
DEAT
rw
DEDT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CMIE
rw
MME
rw
M0
rw
WAKE
rw
PCE
rw
PS
rw
PEIE
rw
TXEIE
rw
TCIE
rw
RXNEIE
rw
IDLEIE
rw
TE
rw
RE
rw
UESM
rw
UE
rw
Toggle fields

UE

Bit 0: LPUART enable When this bit is cleared, the LPUART prescalers and outputs are stopped immediately, and current operations are discarded. The configuration of the LPUART is kept, but all the status flags, in the LPUART_ISR are reset. This bit is set and cleared by software. Note: To enter low-power mode without generating errors on the line, the TE bit must be reset before and the software must wait for the TC bit in the LPUART_ISR to be set before resetting the UE bit. The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit..

UESM

Bit 1: LPUART enable in low-power mode When this bit is cleared, the LPUART cannot wake up the MCU from low-power mode. When this bit is set, the LPUART can wake up the MCU from low-power mode. This bit is set and cleared by software. Note: It is recommended to set the UESM bit just before entering low-power mode, and clear it when exiting low-power mode..

RE

Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..

TE

Bit 3: Transmitter enable This bit enables the transmitter. It is set and cleared by software. Note: During transmission, a low pulse on the TE bit (‘0’ followed by ‘1’) sends a preamble (idle line) after the current word, except in Smartcard mode. In order to generate an idle character, the TE must not be immediately written to ‘1. To ensure the required duration, the software can poll the TEACK bit in the LPUART_ISR register. In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..

IDLEIE

Bit 4: IDLE interrupt enable This bit is set and cleared by software..

RXNEIE

Bit 5: Receive data register not empty This bit is set and cleared by software..

TCIE

Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..

TXEIE

Bit 7: Transmit data register empty This bit is set and cleared by software..

PEIE

Bit 8: PE interrupt enable This bit is set and cleared by software..

PS

Bit 9: Parity selection This bit selects the odd or even parity when the parity generation/detection is enabled (PCE bit set). It is set and cleared by software. The parity is selected after the current byte. This bitfield can only be written when the LPUART is disabled (UE=0)..

PCE

Bit 10: Parity control enable This bit selects the hardware parity control (generation and detection). When the parity control is enabled, the computed parity is inserted at the MSB position (9th bit if M=1; 8th bit if M=0) and parity is checked on the received data. This bit is set and cleared by software. Once it is set, PCE is active after the current byte (in reception and in transmission). This bitfield can only be written when the LPUART is disabled (UE=0)..

WAKE

Bit 11: Receiver wakeup method This bit determines the LPUART wakeup method from Mute mode. It is set or cleared by software. This bitfield can only be written when the LPUART is disabled (UE=0)..

M0

Bit 12: Word length This bit is used in conjunction with bit 28 (M1) to determine the word length. It is set or cleared by software (refer to bit 28 (M1) description). This bit can only be written when the LPUART is disabled (UE=0)..

MME

Bit 13: Mute mode enable This bit activates the Mute mode function of the LPUART. When set, the LPUART can switch between the active and Mute modes, as defined by the WAKE bit. It is set and cleared by software..

CMIE

Bit 14: Character match interrupt enable This bit is set and cleared by software..

DEDT

Bits 16-20: Driver Enable deassertion time This 5-bit value defines the time between the end of the last stop bit, in a transmitted message, and the de-activation of the DE (Driver Enable) signal.It is expressed in lpuart_ker_ck clock cycles. For more details, refer control and RS485 Driver Enable. If the LPUART_TDR register is written during the DEDT time, the new data is transmitted only when the DEDT and DEAT times have both elapsed. This bitfield can only be written when the LPUART is disabled (UE=0)..

DEAT

Bits 21-25: Driver Enable assertion time This 5-bit value defines the time between the activation of the DE (Driver Enable) signal and the beginning of the start bit. It is expressed in lpuart_ker_ck clock cycles. For more details, refer . This bitfield can only be written when the LPUART is disabled (UE=0)..

M1

Bit 28: Word length This bit must be used in conjunction with bit 12 (M0) to determine the word length. It is set or cleared by software. M[1:0] = ‘00’: 1 Start bit, 8 Data bits, n Stop bit M[1:0] = ‘01’: 1 Start bit, 9 Data bits, n Stop bit M[1:0] = ‘10’: 1 Start bit, 7 Data bits, n Stop bit This bit can only be written when the LPUART is disabled (UE=0). Note: In 7-bit data length mode, the Smartcard mode, LIN master mode and auto baud rate (0x7F and 0x55 frames detection) are not supported..

FIFOEN

Bit 29: FIFO mode enable This bit is set and cleared by software..

CR1_enabled

LPUART control register 1 [alternate]

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

0/21 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RXFFIE
rw
TXFEIE
rw
FIFOEN
rw
M1
rw
DEAT
rw
DEDT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CMIE
rw
MME
rw
M0
rw
WAKE
rw
PCE
rw
PS
rw
PEIE
rw
TXFNFIE
rw
TCIE
rw
RXFNEIE
rw
IDLEIE
rw
TE
rw
RE
rw
UESM
rw
UE
rw
Toggle fields

UE

Bit 0: LPUART enable When this bit is cleared, the LPUART prescalers and outputs are stopped immediately, and current operations are discarded. The configuration of the LPUART is kept, but all the status flags, in the LPUART_ISR are reset. This bit is set and cleared by software. Note: To enter low-power mode without generating errors on the line, the TE bit must be reset before and the software must wait for the TC bit in the LPUART_ISR to be set before resetting the UE bit. The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit..

UESM

Bit 1: LPUART enable in low-power mode When this bit is cleared, the LPUART cannot wake up the MCU from low-power mode. When this bit is set, the LPUART can wake up the MCU from low-power mode. This bit is set and cleared by software. Note: It is recommended to set the UESM bit just before entering low-power mode, and clear it when exiting low-power mode..

RE

Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..

TE

Bit 3: Transmitter enable This bit enables the transmitter. It is set and cleared by software. Note: During transmission, a low pulse on the TE bit (‘0’ followed by ‘1’) sends a preamble (idle line) after the current word, except in Smartcard mode. In order to generate an idle character, the TE must not be immediately written to ‘1’. To ensure the required duration, the software can poll the TEACK bit in the LPUART_ISR register. In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..

IDLEIE

Bit 4: IDLE interrupt enable This bit is set and cleared by software..

RXFNEIE

Bit 5: RXFIFO not empty interrupt enable This bit is set and cleared by software..

TCIE

Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..

TXFNFIE

Bit 7: TXFIFO not full interrupt enable This bit is set and cleared by software..

PEIE

Bit 8: PE interrupt enable This bit is set and cleared by software..

PS

Bit 9: Parity selection This bit selects the odd or even parity when the parity generation/detection is enabled (PCE bit set). It is set and cleared by software. The parity is selected after the current byte. This bitfield can only be written when the LPUART is disabled (UE=0)..

PCE

Bit 10: Parity control enable This bit selects the hardware parity control (generation and detection). When the parity control is enabled, the computed parity is inserted at the MSB position (9th bit if M=1; 8th bit if M=0) and parity is checked on the received data. This bit is set and cleared by software. Once it is set, PCE is active after the current byte (in reception and in transmission). This bitfield can only be written when the LPUART is disabled (UE=0)..

WAKE

Bit 11: Receiver wakeup method This bit determines the LPUART wakeup method from Mute mode. It is set or cleared by software. This bitfield can only be written when the LPUART is disabled (UE=0)..

M0

Bit 12: Word length This bit is used in conjunction with bit 28 (M1) to determine the word length. It is set or cleared by software (refer to bit 28 (M1) description). This bit can only be written when the LPUART is disabled (UE=0)..

MME

Bit 13: Mute mode enable This bit activates the Mute mode function of the LPUART. When set, the LPUART can switch between the active and Mute modes, as defined by the WAKE bit. It is set and cleared by software..

CMIE

Bit 14: Character match interrupt enable This bit is set and cleared by software..

DEDT

Bits 16-20: Driver Enable deassertion time This 5-bit value defines the time between the end of the last stop bit, in a transmitted message, and the de-activation of the DE (Driver Enable) signal.It is expressed in lpuart_ker_ck clock cycles. For more details, refer control and RS485 Driver Enable. If the LPUART_TDR register is written during the DEDT time, the new data is transmitted only when the DEDT and DEAT times have both elapsed. This bitfield can only be written when the LPUART is disabled (UE=0)..

DEAT

Bits 21-25: Driver Enable assertion time This 5-bit value defines the time between the activation of the DE (Driver Enable) signal and the beginning of the start bit. It is expressed in lpuart_ker_ck clock cycles. For more details, refer . This bitfield can only be written when the LPUART is disabled (UE=0)..

M1

Bit 28: Word length This bit must be used in conjunction with bit 12 (M0) to determine the word length. It is set or cleared by software. M[1:0] = ‘00’: 1 Start bit, 8 Data bits, n Stop bit M[1:0] = ‘01’: 1 Start bit, 9 Data bits, n Stop bit M[1:0] = ‘10’: 1 Start bit, 7 Data bits, n Stop bit This bit can only be written when the LPUART is disabled (UE=0). Note: In 7-bit data length mode, the Smartcard mode, LIN master mode and auto baud rate (0x7F and 0x55 frames detection) are not supported..

FIFOEN

Bit 29: FIFO mode enable This bit is set and cleared by software..

TXFEIE

Bit 30: TXFIFO empty interrupt enable This bit is set and cleared by software..

RXFFIE

Bit 31: RXFIFO Full interrupt enable This bit is set and cleared by software..

CR2

LPUART control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

0/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADD
rw
MSBFIRST
rw
DATAINV
rw
TXINV
rw
RXINV
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SWAP
rw
STOP
rw
ADDM7
rw
Toggle fields

ADDM7

Bit 4: 7-bit Address Detection/4-bit Address Detection This bit is for selection between 4-bit address detection or 7-bit address detection. This bit can only be written when the LPUART is disabled (UE=0) Note: In 7-bit and 9-bit data modes, the address detection is done on 6-bit and 8-bit address (ADD[5:0] and ADD[7:0]) respectively..

STOP

Bits 12-13: STOP bits These bits are used for programming the stop bits. This bitfield can only be written when the LPUART is disabled (UE=0)..

SWAP

Bit 15: Swap TX/RX pins This bit is set and cleared by software. This bitfield can only be written when the LPUART is disabled (UE=0)..

RXINV

Bit 16: RX pin active level inversion This bit is set and cleared by software. This enables the use of an external inverter on the RX line. This bitfield can only be written when the LPUART is disabled (UE=0)..

TXINV

Bit 17: TX pin active level inversion This bit is set and cleared by software. This enables the use of an external inverter on the TX line. This bitfield can only be written when the LPUART is disabled (UE=0)..

DATAINV

Bit 18: Binary data inversion This bit is set and cleared by software. This bitfield can only be written when the LPUART is disabled (UE=0)..

MSBFIRST

Bit 19: Most significant bit first This bit is set and cleared by software. This bitfield can only be written when the LPUART is disabled (UE=0)..

ADD

Bits 24-31: Address of the LPUART node These bits give the address of the LPUART node in Mute mode or a character code to be recognized in low-power or Run mode: In Mute mode: they are used in multiprocessor communication to wakeup from Mute mode with 4-bit/7-bit address mark detection. The MSB of the character sent by the transmitter should be equal to 1. In 4-bit address mark detection, only ADD[3:0] bits are used. In low-power mode: they are used for wake up from low-power mode on character match. When WUS[1:0] is programmed to 0b00 (WUF active on address match), the wakeup from low-power mode is performed when the received character corresponds to the character programmed through ADD[6:0] or ADD[3:0] bitfield (depending on ADDM7 bit), and WUF interrupt is enabled by setting WUFIE bit. The MSB of the character sent by transmitter should be equal to 1. In Run mode with Mute mode inactive (for example, end-of-block detection in ModBus protocol): the whole received character (8 bits) is compared to ADD[7:0] value and CMF flag is set on match. An interrupt is generated if the CMIE bit is set. These bits can only be written when the reception is disabled (RE = 0) or when the USART is disabled (UE = 0)..

CR3

LPUART control register 3

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

0/18 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXFTCFG
rw
RXFTIE
rw
RXFTCFG
rw
TXFTIE
rw
WUFIE
rw
WUS1
rw
WUS0
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DEP
rw
DEM
rw
DDRE
rw
OVRDIS
rw
CTSIE
rw
CTSE
rw
RTSE
rw
DMAT
rw
DMAR
rw
HDSEL
rw
EIE
rw
Toggle fields

EIE

Bit 0: Error interrupt enable Error Interrupt Enable Bit is required to enable interrupt generation in case of a framing error, overrun error or noise flag (FE=1 or ORE=1 or NE=1 in the LPUART_ISR register)..

HDSEL

Bit 3: Half-duplex selection Selection of Single-wire Half-duplex mode This bit can only be written when the LPUART is disabled (UE=0)..

DMAR

Bit 6: DMA enable receiver This bit is set/reset by software.

DMAT

Bit 7: DMA enable transmitter This bit is set/reset by software.

RTSE

Bit 8: RTS enable This bit can only be written when the LPUART is disabled (UE=0)..

CTSE

Bit 9: CTS enable This bit can only be written when the LPUART is disabled (UE=0).

CTSIE

Bit 10: CTS interrupt enable.

OVRDIS

Bit 12: Overrun Disable This bit is used to disable the receive overrun detection. the ORE flag is not set and the new received data overwrites the previous content of the LPUART_RDR register. This bit can only be written when the LPUART is disabled (UE=0). Note: This control bit enables checking the communication flow w/o reading the data..

DDRE

Bit 13: DMA Disable on Reception Error This bit can only be written when the LPUART is disabled (UE=0). Note: The reception errors are: parity error, framing error or noise error..

DEM

Bit 14: Driver enable mode This bit enables the user to activate the external transceiver control, through the DE signal. This bit can only be written when the LPUART is disabled (UE=0)..

DEP

Bit 15: Driver enable polarity selection This bit can only be written when the LPUART is disabled (UE=0)..

WUS0

Bit 20: Wakeup from low-power mode interrupt flag selection This bitfield specifies the event which activates the WUF (Wakeup from low-power mode flag). This bitfield can only be written when the LPUART is disabled (UE=0). Note: If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page 2386..

WUS1

Bit 21: Wakeup from low-power mode interrupt flag selection This bitfield specifies the event which activates the WUF (Wakeup from low-power mode flag). This bitfield can only be written when the LPUART is disabled (UE=0). Note: If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page 2386..

WUFIE

Bit 22: Wakeup from low-power mode interrupt enable This bit is set and cleared by software. Note: WUFIE must be set before entering in low-power mode. If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page 2386..

TXFTIE

Bit 23: TXFIFO threshold interrupt enable This bit is set and cleared by software..

RXFTCFG

Bits 25-27: Receive FIFO threshold configuration Remaining combinations: Reserved..

RXFTIE

Bit 28: RXFIFO threshold interrupt enable This bit is set and cleared by software..

TXFTCFG

Bits 29-31: TXFIFO threshold configuration Remaining combinations: Reserved..

BRR

LPUART baud rate register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BRR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BRR
rw
Toggle fields

BRR

Bits 0-19: LPUART baud rate division (LPUARTDIV).

RQR

LPUART request register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXFRQ
w
RXFRQ
w
MMRQ
w
SBKRQ
w
Toggle fields

SBKRQ

Bit 1: Send break request Writing 1 to this bit sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available. Note: If the application needs to send the break character following all previously inserted data, including the ones not yet transmitted, the software should wait for the TXE flag assertion before setting the SBKRQ bit..

MMRQ

Bit 2: Mute mode request Writing 1 to this bit puts the LPUART in Mute mode and resets the RWU flag..

RXFRQ

Bit 3: Receive data flush request Writing 1 to this bit clears the RXNE flag. This enables discarding the received data without reading it, and avoid an overrun condition..

TXFRQ

Bit 4: Transmit data flush request This bit is used when FIFO mode is enabled. TXFRQ bit is set to flush the whole FIFO. This sets the flag TXFE (TXFIFO empty, bit 23 in the LPUART_ISR register). Note: In FIFO mode, the TXFNF flag is reset during the flush request until TxFIFO is empty in order to ensure that no data are written in the data register..

ISR_disabled

LPUART interrupt and status register [alternate]

Offset: 0x1c, size: 32, reset: 0x008000C0, access: Unspecified

17/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
REACK
r
TEACK
r
WUF
r
RWU
r
SBKF
r
CMF
r
BUSY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CTS
r
CTSIF
r
TXE
r
TC
r
RXNE
r
IDLE
r
ORE
r
NE
r
FE
r
PE
r
Toggle fields

PE

Bit 0: Parity error This bit is set by hardware when a parity error occurs in Reception mode. It is cleared by software, writing 1 to the PECF in the LPUART_ICR register. An interrupt is generated if PEIE = 1 in the LPUART_CR1 register. Note: In FIFO mode, this error is associated with the character in the LPUART_RDR..

FE

Bit 1: Framing error This bit is set by hardware when a de-synchronization, excessive noise or a break character is detected. It is cleared by software, writing 1 to the FECF bit in the LPUART_ICR register. When transmitting data in Smartcard mode, this bit is set when the maximum number of transmit attempts is reached without success (the card NACKs the data frame). An interrupt is generated if EIE = 1 in the LPUART_CR1 register. Note: In FIFO mode, this error is associated with the character in the LPUART_RDR..

NE

Bit 2: Start bit noise detection flag This bit is set by hardware when noise is detected on the start bit of a received frame. It is cleared by software, writing 1 to the NFCF bit in the LPUART_ICR register. Note: This bit does not generate an interrupt as it appears at the same time as the RXNE/RXFNE bit which itself generates an interrupt. An interrupt is generated when the NE flag is set during multi buffer communication if the EIE bit is set. In FIFO mode, this error is associated with the character in the LPUART_RDR..

ORE

Bit 3: Overrun error This bit is set by hardware when the data currently being received in the shift register is ready to be transferred into the LPUART_RDR register while RXNE=1 (RXFF = 1 in case FIFO mode is enabled). It is cleared by a software, writing 1 to the ORECF, in the LPUART_ICR register. An interrupt is generated if RXNEIE=1 or EIE = 1 in the LPUART_CR1 register. Note: When this bit is set, the LPUART_RDR register content is not lost but the shift register is overwritten. An interrupt is generated if the ORE flag is set during multi buffer communication if the EIE bit is set. This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the LPUART_CR3 register..

IDLE

Bit 4: Idle line detected This bit is set by hardware when an Idle Line is detected. An interrupt is generated if IDLEIE=1 in the LPUART_CR1 register. It is cleared by software, writing 1 to the IDLECF in the LPUART_ICR register. Note: The IDLE bit is not set again until the RXNE bit has been set (i.e. a new idle line occurs). If Mute mode is enabled (MME=1), IDLE is set if the LPUART is not mute (RWU=0), whatever the Mute mode selected by the WAKE bit. If RWU=1, IDLE is not set..

RXNE

Bit 5: Read data register not empty RXNE bit is set by hardware when the content of the LPUART_RDR shift register has been transferred to the LPUART_RDR register. It is cleared by a read to the LPUART_RDR register. The RXNE flag can also be cleared by writing 1 to the RXFRQ in the LPUART_RQR register. The RXFNE flag can also be cleared by writing 1 to the RXFRQ in the LPUART_RQR register. An interrupt is generated if RXNEIE=1 in the LPUART_CR1 register..

TC

Bit 6: Transmission complete This bit indicates that the last data written in the USART_TDR has been transmitted out of the shift register. The TC flag is set when the transmission of a frame containing data is complete and when TXE is set. An interrupt is generated if TCIE=1 in the USART_CR1 register. TC bit is cleared by software by writing 1 to the TCCF in the USART_ICR register or by writing to the USART_TDR register..

TXE

Bit 7: Transmit data register empty TXE is set by hardware when the content of the LPUART_TDR register has been transferred into the shift register. It is cleared by a write to the LPUART_TDR register. An interrupt is generated if the TXEIE bit =1 in the LPUART_CR1 register. Note: This bit is used during single buffer transmission..

CTSIF

Bit 9: CTS interrupt flag This bit is set by hardware when the nCTS input toggles, if the CTSE bit is set. It is cleared by software, by writing 1 to the CTSCF bit in the LPUART_ICR register. An interrupt is generated if CTSIE=1 in the LPUART_CR3 register. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

CTS

Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the nCTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

BUSY

Bit 16: Busy flag This bit is set and reset by hardware. It is active when a communication is ongoing on the RX line (successful start bit detected). It is reset at the end of the reception (successful or not)..

CMF

Bit 17: Character match flag This bit is set by hardware, when a the character defined by ADD[7:0] is received. It is cleared by software, writing 1 to the CMCF in the LPUART_ICR register. An interrupt is generated if CMIE=1in the LPUART_CR1 register..

SBKF

Bit 18: Send break flag This bit indicates that a send break character was requested. It is set by software, by writing 1 to the SBKRQ bit in the LPUART_CR3 register. It is automatically reset by hardware during the stop bit of break transmission..

RWU

Bit 19: Receiver wakeup from Mute mode This bit indicates if the LPUART is in Mute mode. It is cleared/set by hardware when a wakeup/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the LPUART_CR1 register. When wakeup on IDLE mode is selected, this bit can only be set by software, writing 1 to the MMRQ bit in the LPUART_RQR register. Note: If the LPUART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value..

WUF

Bit 20: Wakeup from low-power mode flag This bit is set by hardware, when a wakeup event is detected. The event is defined by the WUS bitfield. It is cleared by software, writing a 1 to the WUCF in the LPUART_ICR register. An interrupt is generated if WUFIE=1 in the LPUART_CR3 register. Note: When UESM is cleared, WUF flag is also cleared. If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..

TEACK

Bit 21: Transmit enable acknowledge flag This bit is set/reset by hardware, when the Transmit Enable value is taken into account by the LPUART. It can be used when an idle frame request is generated by writing TE=0, followed by TE=1 in the LPUART_CR1 register, in order to respect the TE=0 minimum period..

REACK

Bit 22: Receive enable acknowledge flag This bit is set/reset by hardware, when the Receive Enable value is taken into account by the LPUART. It can be used to verify that the LPUART is ready for reception before entering low-power mode. Note: If the LPUART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value..

ISR_enabled

LPUART interrupt and status register [alternate]

Offset: 0x1c, size: 32, reset: 0x008000C0, access: Unspecified

21/21 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXFT
r
RXFT
r
RXFF
r
TXFE
r
REACK
r
TEACK
r
WUF
r
RWU
r
SBKF
r
CMF
r
BUSY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CTS
r
CTSIF
r
TXFNF
r
TC
r
RXFNE
r
IDLE
r
ORE
r
NE
r
FE
r
PE
r
Toggle fields

PE

Bit 0: Parity error This bit is set by hardware when a parity error occurs in Reception mode. It is cleared by software, writing 1 to the PECF in the LPUART_ICR register. An interrupt is generated if PEIE = 1 in the LPUART_CR1 register. Note: This error is associated with the character in the LPUART_RDR..

FE

Bit 1: Framing error This bit is set by hardware when a de-synchronization, excessive noise or a break character is detected. It is cleared by software, writing 1 to the FECF bit in the LPUART_ICR register. When transmitting data in Smartcard mode, this bit is set when the maximum number of transmit attempts is reached without success (the card NACKs the data frame). An interrupt is generated if EIE = 1 in the LPUART_CR1 register. Note: This error is associated with the character in the LPUART_RDR..

NE

Bit 2: Start bit noise detection flag This bit is set by hardware when noise is detected on the start bit of a received frame. It is cleared by software, writing 1 to the NFCF bit in the LPUART_ICR register. Note: This bit does not generate an interrupt as it appears at the same time as the RXFNE bit which itself generates an interrupt. An interrupt is generated when the NE flag is set during multi buffer communication if the EIE bit is set. This error is associated with the character in the LPUART_RDR..

ORE

Bit 3: Overrun error This bit is set by hardware when the data currently being received in the shift register is ready to be transferred into the LPUART_RDR register while RXFF = 1. It is cleared by a software, writing 1 to the ORECF, in the LPUART_ICR register. An interrupt is generated if RXFNEIE=1 or EIE = 1 in the LPUART_CR1 register. Note: When this bit is set, the LPUART_RDR register content is not lost but the shift register is overwritten. An interrupt is generated if the ORE flag is set during multi buffer communication if the EIE bit is set. This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the LPUART_CR3 register..

IDLE

Bit 4: Idle line detected This bit is set by hardware when an Idle line is detected. An interrupt is generated if IDLEIE=1 in the LPUART_CR1 register. It is cleared by software, writing 1 to the IDLECF in the LPUART_ICR register. Note: The IDLE bit is not set again until the RXFNE bit has been set (i.e. a new idle line occurs). If Mute mode is enabled (MME=1), IDLE is set if the LPUART is not mute (RWU=0), whatever the Mute mode selected by the WAKE bit. If RWU=1, IDLE is not set..

RXFNE

Bit 5: RXFIFO not empty RXFNE bit is set by hardware when the RXFIFO is not empty, and so data can be read from the LPUART_RDR register. Every read of the LPUART_RDR frees a location in the RXFIFO. It is cleared when the RXFIFO is empty. The RXFNE flag can also be cleared by writing 1 to the RXFRQ in the LPUART_RQR register. An interrupt is generated if RXFNEIE=1 in the LPUART_CR1 register..

TC

Bit 6: Transmission complete This bit indicates that the last data written in the LPUART_TDR has been transmitted out of the shift register. The TC flag behaves as follows: When TDN = 0, the TC flag is set when the transmission of a frame containing data is complete and when TXFE is set. When TDN is equal to the number of data in the TXFIFO, the TC flag is set when TXFIFO is empty and TDN is reached. When TDN is greater than the number of data in the TXFIFO, TC remains cleared until the TXFIFO is filled again to reach the programmed number of data to be transferred. When TDN is less than the number of data in the TXFIFO, TC is set when TDN is reached even if the TXFIFO is not empty. An interrupt is generated if TCIE=1 in the LPUART_CR1 register. TC bit is cleared by software by writing 1 to the TCCF in the LPUART_ICR register or by writing to the LPUART_TDR register..

TXFNF

Bit 7: TXFIFO not full TXFNF is set by hardware when TXFIFO is not full, and so data can be written in the LPUART_TDR. Every write in the LPUART_TDR places the data in the TXFIFO. This flag remains set until the TXFIFO is full. When the TXFIFO is full, this flag is cleared indicating that data can not be written into the LPUART_TDR. The TXFNF is kept reset during the flush request until TXFIFO is empty. After sending the flush request (by setting TXFRQ bit), the flag TXFNF should be checked prior to writing in TXFIFO (TXFNF and TXFE are set at the same time). An interrupt is generated if the TXFNFIE bit =1 in the LPUART_CR1 register. Note: This bit is used during single buffer transmission..

CTSIF

Bit 9: CTS interrupt flag This bit is set by hardware when the nCTS input toggles, if the CTSE bit is set. It is cleared by software, by writing 1 to the CTSCF bit in the LPUART_ICR register. An interrupt is generated if CTSIE=1 in the LPUART_CR3 register. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

CTS

Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the nCTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

BUSY

Bit 16: Busy flag This bit is set and reset by hardware. It is active when a communication is ongoing on the RX line (successful start bit detected). It is reset at the end of the reception (successful or not)..

CMF

Bit 17: Character match flag This bit is set by hardware, when a the character defined by ADD[7:0] is received. It is cleared by software, writing 1 to the CMCF in the LPUART_ICR register. An interrupt is generated if CMIE=1in the LPUART_CR1 register..

SBKF

Bit 18: Send break flag This bit indicates that a send break character was requested. It is set by software, by writing 1 to the SBKRQ bit in the LPUART_CR3 register. It is automatically reset by hardware during the stop bit of break transmission..

RWU

Bit 19: Receiver wakeup from Mute mode This bit indicates if the LPUART is in Mute mode. It is cleared/set by hardware when a wakeup/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the LPUART_CR1 register. When wakeup on IDLE mode is selected, this bit can only be set by software, writing 1 to the MMRQ bit in the LPUART_RQR register. Note: If the LPUART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value..

WUF

Bit 20: Wakeup from low-power mode flag This bit is set by hardware, when a wakeup event is detected. The event is defined by the WUS bitfield. It is cleared by software, writing a 1 to the WUCF in the LPUART_ICR register. An interrupt is generated if WUFIE=1 in the LPUART_CR3 register. Note: When UESM is cleared, WUF flag is also cleared. If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..

TEACK

Bit 21: Transmit enable acknowledge flag This bit is set/reset by hardware, when the Transmit Enable value is taken into account by the LPUART. It can be used when an idle frame request is generated by writing TE=0, followed by TE=1 in the LPUART_CR1 register, in order to respect the TE=0 minimum period..

REACK

Bit 22: Receive enable acknowledge flag This bit is set/reset by hardware, when the Receive Enable value is taken into account by the LPUART. It can be used to verify that the LPUART is ready for reception before entering low-power mode. Note: If the LPUART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value..

TXFE

Bit 23: TXFIFO Empty This bit is set by hardware when TXFIFO is Empty. When the TXFIFO contains at least one data, this flag is cleared. The TXFE flag can also be set by writing 1 to the bit TXFRQ (bit 4) in the LPUART_RQR register. An interrupt is generated if the TXFEIE bit =1 (bit 30) in the LPUART_CR1 register..

RXFF

Bit 24: RXFIFO Full This bit is set by hardware when the number of received data corresponds to RXFIFO size + 1 (RXFIFO full + 1 data in the LPUART_RDR register. An interrupt is generated if the RXFFIE bit =1 in the LPUART_CR1 register..

RXFT

Bit 26: RXFIFO threshold flag This bit is set by hardware when the RXFIFO reaches the threshold programmed in RXFTCFG in LPUART_CR3 register i.e. the Receive FIFO contains RXFTCFG data. An interrupt is generated if the RXFTIE bit =1 (bit 27) in the LPUART_CR3 register..

TXFT

Bit 27: TXFIFO threshold flag This bit is set by hardware when the TXFIFO reaches the threshold programmed in TXFTCFG in LPUART_CR3 register i.e. the TXFIFO contains TXFTCFG empty locations. An interrupt is generated if the TXFTIE bit =1 (bit 31) in the LPUART_CR3 register..

ICR

LPUART interrupt flag clear register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

0/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
WUCF
w
CMCF
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CTSCF
w
TCCF
w
IDLECF
w
ORECF
w
NECF
w
FECF
w
PECF
w
Toggle fields

PECF

Bit 0: Parity error clear flag Writing 1 to this bit clears the PE flag in the LPUART_ISR register..

FECF

Bit 1: Framing error clear flag Writing 1 to this bit clears the FE flag in the LPUART_ISR register..

NECF

Bit 2: Noise detected clear flag Writing 1 to this bit clears the NE flag in the LPUART_ISR register..

ORECF

Bit 3: Overrun error clear flag Writing 1 to this bit clears the ORE flag in the LPUART_ISR register..

IDLECF

Bit 4: Idle line detected clear flag Writing 1 to this bit clears the IDLE flag in the LPUART_ISR register..

TCCF

Bit 6: Transmission complete clear flag Writing 1 to this bit clears the TC flag in the LPUART_ISR register..

CTSCF

Bit 9: CTS clear flag Writing 1 to this bit clears the CTSIF flag in the LPUART_ISR register..

CMCF

Bit 17: Character match clear flag Writing 1 to this bit clears the CMF flag in the LPUART_ISR register..

WUCF

Bit 20: Wakeup from low-power mode clear flag Writing 1 to this bit clears the WUF flag in the USART_ISR register. Note: If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page 2386..

RDR

LPUART receive data register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RDR
r
Toggle fields

RDR

Bits 0-8: Receive data value Contains the received data character. The RDR register provides the parallel interface between the input shift register and the internal bus (see ). When receiving with the parity enabled, the value read in the MSB bit is the received parity bit..

TDR

LPUART transmit data register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDR
rw
Toggle fields

TDR

Bits 0-8: Transmit data value Contains the data character to be transmitted. The TDR register provides the parallel interface between the internal bus and the output shift register (see ). When transmitting with the parity enabled (PCE bit set to 1 in the LPUART_CR1 register), the value written in the MSB (bit 7 or bit 8 depending on the data length) has no effect because it is replaced by the parity. Note: This register must be written only when TXE/TXFNF=1..

PRESC

LPUART prescaler register

Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRESCALER
rw
Toggle fields

PRESCALER

Bits 0-3: Clock prescaler The LPUART input clock can be divided by a prescaler: Remaining combinations: Reserved. Note: When PRESCALER is programmed with a value different of the allowed ones, programmed prescaler value is equal to 1011 i.e. input clock divided by 256..

OPAMP1

0x40003400: Operational amplifiers

1/15 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 OPAMP1_CSR
0x4 OPAMP1_OTR
0x8 OPAMP1_HSOTR
0xc OPAMP_OR
Toggle registers

OPAMP1_CSR

OPAMP1 control/status register

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

1/11 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CALOUT
r
TSTREF
rw
USERTRIM
rw
PGA_GAIN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PGA_GAIN
rw
CALSEL
rw
CALON
rw
OPAHSM
rw
VM_SEL
rw
VP_SEL
rw
FORCE_VP
rw
OPAEN
rw
Toggle fields

OPAEN

Bit 0: Operational amplifier Enable Note: If OPAMP1 is unconnected in a specific package, it must remain disabled (keep OPAMP1_CSR register default value)..

FORCE_VP

Bit 1: Force internal reference on VP (reserved for test).

VP_SEL

Bits 2-3: Non inverted input selection.

VM_SEL

Bits 5-6: Inverting input selection.

OPAHSM

Bit 8: Operational amplifier high-speed mode The operational amplifier must be disable to change this configuration..

CALON

Bit 11: Calibration mode enabled.

CALSEL

Bits 12-13: Calibration selection It is used to select the offset calibration bus used to generate the internal reference voltage when CALON = 1 or FORCE_VP= 1..

PGA_GAIN

Bits 14-17: Operational amplifier Programmable amplifier gain value.

USERTRIM

Bit 18: User trimming enable This bit allows to switch from ‘factory’ AOP offset trimmed values to ‘user’ AOP offset trimmed values This bit is active for both mode normal and high-power..

TSTREF

Bit 29: OPAMP calibration reference voltage output control (reserved for test).

CALOUT

Bit 30: Operational amplifier calibration output OPAMP output status flag. During the calibration mode, OPAMP is used as comparator..

OPAMP1_OTR

OPAMP1 trimming register in normal mode

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIMOFFSETP
rw
TRIMOFFSETN
rw
Toggle fields

TRIMOFFSETN

Bits 0-4: Trim for NMOS differential pairs.

TRIMOFFSETP

Bits 8-12: Trim for PMOS differential pairs.

OPAMP1_HSOTR

OPAMP1 trimming register in high-speed mode

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TRIMHSOFFSETP
rw
TRIMHSOFFSETN
rw
Toggle fields

TRIMHSOFFSETN

Bits 0-4: High-speed mode trim for NMOS differential pairs.

TRIMHSOFFSETP

Bits 8-12: High-speed mode trim for PMOS differential pairs.

OPAMP_OR

OPAMP option register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

Toggle fields

PWR

0x44020800: Power control

61/61 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 PMCR
0x4 PMSR
0x10 VOSCR
0x14 VOSSR
0x20 BDCR
0x24 DBPCR
0x28 BDSR
0x30 SCCR
0x34 VMCR
0x3c VMSR
0x40 WUSCR
0x44 WUSR
0x48 WUCR
0x50 IORETR
0x104 PRIVCFGR
Toggle registers

PMCR

PWR power mode control register

Offset: 0x0, size: 32, reset: 0x0000000C, access: Unspecified

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SRAM1SO
rw
SRAM2SO
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AVD_READY
rw
BOOSTE
rw
FLPS
rw
CSSF
rw
SVOS
rw
LPMS
rw
Toggle fields

LPMS

Bit 0: low-power mode selection This bit defines the Deepsleep mode..

Allowed values:
0: StopMode: Keeps Stop mode when entering DeepSleep
1: StandbyMode: Allows Standby mode when entering DeepSleep

SVOS

Bits 2-3: system Stop mode voltage scaling selection These bits control the V<sub>CORE</sub> voltage level in system Stop mode, to obtain the best trade-off between power consumption and performance..

Allowed values:
1: Scale5: SVOS5 scale 5
2: Scale4: SVOS4 scale 4
3: Scale3: SVOS3 scale 3

CSSF

Bit 7: clear Standby and Stop flags (always read as 0) This bit is cleared to 0 by hardware..

Allowed values:
1: Clear: STOPF and SBF flags cleared

FLPS

Bit 9: Flash memory low-power mode in Stop mode This bit is used to obtain the best trade-off between low-power consumption and restart time when exiting from Stop mode. When it is set, the Flash memory enters low-power mode when the CPU domain is in Stop mode. Note: When system enters stop mode with SVOS5 enabled, Flash memory is automatically forced in low-power mode..

Allowed values:
0: NormalMode: Flash memory remains in normal mode when the system enters Stop mode
1: LowPowerMode: Flash memory enters low-power mode when the system enters Stop mode

BOOSTE

Bit 12: analog switch V<sub>BOOST</sub> control This bit enables the booster to guarantee the analog switch AC performance when the V<sub>DD</sub> supply voltage is below 2.7 V (reduction of the total harmonic distortion to have the same switch performance over the full supply voltage range) The V<sub>DD</sub> supply voltage can be monitored through the PVD and the PLS bits..

Allowed values:
0: Disabled: Booster disabled
1: Enabled: Booster enabled if analog voltage ready (AVD_READY = 1)

AVD_READY

Bit 13: analog voltage ready This bit is only used when the analog switch boost needs to be enabled (see BOOSTE bit). It must be set by software when the expected V<sub>DDA</sub> analog supply level is available. The correct analog supply level is indicated by the AVDO bit (PWR_VMSR register) after setting the AVDEN bit (PWR_VMCR register) and selecting the supply level to be monitored (ALS bits)..

Allowed values:
0: NotReady: Peripheral analog voltage VDDA not ready (default)
1: Ready: Peripheral analog voltage VDDA ready

SRAM2SO

Bit 25: AHB SRAM2 shut-off in Stop mode..

Allowed values:
0: Kept: AHB RAM2 content is kept in Stop mode
1: Lost: AHB RAM2 content is lost in Stop mode

SRAM1SO

Bit 26: AHB SRAM1 shut-off in Stop mode.

Allowed values:
0: Kept: AHB RAM1 content is kept in Stop mode
1: Lost: AHB RAM1 content is lost in Stop mode

PMSR

PWR status register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SBF
r
STOPF
r
Toggle fields

STOPF

Bit 5: Stop flag This bit is set by hardware and cleared only by any reset or by setting the CSSF bit..

Allowed values:
0: NoStopMode: System has not been in stop mode
1: StopModePreviouslyEntered: System has been in Stop mode

SBF

Bit 6: System standby flag This bit is set by hardware and cleared only by a POR or by setting the CSSF bit..

Allowed values:
0: NoStandbyMode: System has not been in standby mode
1: StandbyModePreviouslyEntered: System has been in Standby mode

VOSCR

PWR voltage scaling control register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
VOS
rw
Toggle fields

VOS

Bits 4-5: voltage scaling selection according to performance These bits control the V<sub>CORE</sub> voltage level and allow to obtain the best trade-off between power consumption and performance: - In bypass mode, these bits must also be set according to the external provided core voltage level and related performance. - When increasing the performance, the voltage scaling must be changed before increasing the system frequency. - When decreasing performance, the system frequency must first be decreased before changing the voltage scaling..

Allowed values:
0: VOS3: Scale 3 (default)
1: VOS1: Scale 1
2: VOS2: Scale 2
3: VOS0: Scale 0

VOSSR

PWR voltage scaling status register

Offset: 0x14, size: 32, reset: 0x00000008, access: Unspecified

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ACTVOS
r
ACTVOSRDY
r
VOSRDY
r
Toggle fields

VOSRDY

Bit 3: Ready bit for V<sub>CORE</sub> voltage scaling output selection..

Allowed values:
0: NotReady: Not ready, voltage level below VOS selected level
1: Ready: Ready, voltage level at or above VOS selected level

ACTVOSRDY

Bit 13: Voltage level ready for currently used VOS.

Allowed values:
0: NotReady: VCORE is above or below the current voltage scaling provided by ACTVOS[1:0]
1: Ready: VCORE is equal to the current voltage scaling provided by ACTVOS[1:0]

ACTVOS

Bits 14-15: voltage output scaling currently applied to V<sub>CORE</sub> This field provides the last VOS value..

Allowed values:
0: VOS3: VOS3 (lowest power)
1: VOS2: VOS2
2: VOS1: VOS1
3: VOS0: VOS0 (highest frequency)

BDCR

PWR Backup domain control register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
VBRS
rw
VBE
rw
MONEN
rw
BREN
rw
Toggle fields

BREN

Bit 0: Backup RAM retention in Standby and V<sub>BAT</sub> modes When this bit set, the backup regulator (used to maintain the backup RAM content in Standby and V<sub>BAT</sub> modes) is enabled. If BREN is cleared, the backup regulator is switched off. The backup RAM can still be used in Run and Stop modes. However its content is lost in Standby and V<sub>BAT</sub> modes. If BREN is set, the application must wait till the backup regulator ready flag (BRRDY) is set to indicate that the data written into the SRAM is maintained in Standby and V<sub>BAT</sub> modes..

Allowed values:
0: Disabled: Backup regulator enabled; backup RAM content lost in Standby and VBAT modes
1: Enabled: Backup regulator disabled; backup RAM content preserved in Standby and VBAT modes

MONEN

Bit 1: Backup domain voltage and temperature monitoring enable.

Allowed values:
0: Disabled: Backup domain voltage and temperature monitoring disabled
1: Enabled: Backup domain voltage and temperature monitoring enabled

VBE

Bit 8: V<sub>BAT</sub> charging enable Note: Reset only by POR,..

Allowed values:
0: Disabled: VBAT battery charging disabled
1: Enabled: VBAT battery charging enabled

VBRS

Bit 9: V<sub>BAT</sub> charging resistor selection.

Allowed values:
0: Charge5k: Charge VBAT through a 5 kΩ resistor
1: Charge1k5: Charge VBAT through a 1.5 kΩ resistor

DBPCR

PWR disable backup protection control register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBP
rw
Toggle fields

DBP

Bit 0: Disable Backup domain write protection In reset state, all registers and SRAM in Backup domain are protected against parasitic write access. This bit must be set to enable write access to these registers..

Allowed values:
0: Disabled: Write access to backup domain disabled
1: Enabled: Write access to backup domain enabled

BDSR

PWR Backup domain status register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TEMPH
r
TEMPL
r
VBATH
r
VBATL
r
BRRDY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

BRRDY

Bit 16: backup regulator ready This bit is set by hardware to indicate that the backup regulator is ready..

Allowed values:
0: NotReady: Backup regulator not ready
1: Ready: Backup regulator ready

VBATL

Bit 20: V<sub>BAT</sub> level monitoring versus low threshold.

Allowed values:
0: AboveThreshold: Above low threshold level
1: BelowThreshold: Equal to or below low threshold level

VBATH

Bit 21: V<sub>BAT</sub> level monitoring versus high threshold.

Allowed values:
0: BelowThreshold: Below high threshold level
1: AboveThreshold: Equal to or Above high threshold level

TEMPL

Bit 22: temperature level monitoring versus low threshold.

Allowed values:
0: AboveThreshold: Above low threshold level
1: BelowThreshold: Equal to or below low threshold level

TEMPH

Bit 23: temperature level monitoring versus high threshold.

Allowed values:
0: BelowThreshold: Below high threshold level
1: AboveThreshold: Equal to or Above high threshold level

SCCR

PWR supply configuration control register

Offset: 0x30, size: 32, reset: 0x00000100, access: Unspecified

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LDOEN
r
BYPASS
N/A
Toggle fields

BYPASS

Bit 0: power management unit bypass.

Allowed values:
0: InternalRegulator: Power management unit normal operation. Use the internal regulator.
1: Bypassed: Power management unit bypassed. Use the external power.

LDOEN

Bit 8: LDO enable The value is set by hardware when the package uses the LDO regulator..

Allowed values:
0: Disabled: Package does not use LDO regulator
1: Enabled: Package uses LDO regulator

VMCR

PWR voltage monitor control register

Offset: 0x34, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ALS
rw
AVDEN
rw
PLS
rw
PVDE
rw
Toggle fields

PVDE

Bit 0: PVD enable.

Allowed values:
0: Disabled: PVD Disabled
1: Enabled: PVD Enabled

PLS

Bits 1-3: programmable voltage detector (PVD) level selection These bits select the voltage threshold detected by the PVD..

Allowed values:
0: PvdLevel0: PVD level0 (VPVD0 around 1.95 V)
1: PvdLevel1: PVD level1 (VPVD1 around 2.1 V)
2: PvdLevel2: PVD level2 (VPVD2 around 2.25 V)
3: PvdLevel3: PVD level3 (VPVD3 around 2.4 V)
4: PvdLevel4: PVD level4 (VPVD4 around 2.55 V)
5: PvdLevel5: PVD level5 (VPVD5 around 2.7 V)
6: PvdLevel6: PVD level6 (VPVD6 around 2.85 V)
7: PvdIn: PVD_IN pin

AVDEN

Bit 8: peripheral voltage monitor on V<sub>DDA</sub> enable.

Allowed values:
0: Disabled: Peripheral voltage monitor on VDDA disabled
1: Enabled: Peripheral voltage monitor on VDDA enabled

ALS

Bits 9-10: analog voltage detector (AVD) level selection These bits select the voltage threshold detected by the AVD..

Allowed values:
0: AvdLevel0: AVD level0 (VAVD0 around 1.7 V)
1: AvdLevel1: AVD level1 (VAVD1 around 2.1 V)
2: AvdLevel2: AVD level2 (VAVD2 around 2.5 V)
3: AvdLevel3: AVD level3 (VAVD3 around 2.8 V)

VMSR

PWR voltage monitor status register

Offset: 0x3c, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PVDO
r
VDDIO2RDY
r
AVDO
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

AVDO

Bit 19: analog voltage detector output on V<sub>DDA</sub> This bit is set and cleared by hardware. It is valid only if AVD on VDDA is enabled by the AVDEN bit. Note: Since the AVD is disabled in Standby mode, this bit is equal to 0 after standby or reset until the AVDEN bit is set..

Allowed values:
0: AboveThreshold: VDDA is equal or higher than the AVD threshold selected with the ALS[2:0] bits
1: BelowThreshold: VDDA is lower than the AVD threshold selected with the ALS[2:0] bits

VDDIO2RDY

Bit 20: voltage detector output on V<sub>DDIO2</sub> This bit is set and cleared by hardware..

Allowed values:
0: BelowThreshold: VDDIO2 is below the threshold of the VDDIO2 voltage monitor
1: AboveThreshold: VDDIO2 is equal or above the threshold of the VDDIO2 voltage monitor

PVDO

Bit 22: programmable voltage detect output This bit is set and cleared by hardware. It is valid only if the PVD has been enabled by the PVDE bit. Note: Since the PVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the PVDE bit is set..

Allowed values:
0: AboveThreshold: VDD is equal or higher than the PVD threshold selected through the PLS[2:0] bits.
1: BelowThreshold: VDD is lower than the PVD threshold selected through the PLS[2:0] bits

WUSCR

PWR wakeup status clear register

Offset: 0x40, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CWUF5
w
CWUF4
w
CWUF3
w
CWUF2
w
CWUF1
w
Toggle fields

CWUF1

Bit 0: clear wakeup pin flag for WUFx These bits are always read as 0..

Allowed values:
1: Clear: Writing 1 clears the WUFx wakeup pin flag (bit is cleared to 0 by hardware)

CWUF2

Bit 1: clear wakeup pin flag for WUFx These bits are always read as 0..

Allowed values:
1: Clear: Writing 1 clears the WUFx wakeup pin flag (bit is cleared to 0 by hardware)

CWUF3

Bit 2: clear wakeup pin flag for WUFx These bits are always read as 0..

Allowed values:
1: Clear: Writing 1 clears the WUFx wakeup pin flag (bit is cleared to 0 by hardware)

CWUF4

Bit 3: clear wakeup pin flag for WUFx These bits are always read as 0..

Allowed values:
1: Clear: Writing 1 clears the WUFx wakeup pin flag (bit is cleared to 0 by hardware)

CWUF5

Bit 4: clear wakeup pin flag for WUFx These bits are always read as 0..

Allowed values:
1: Clear: Writing 1 clears the WUFx wakeup pin flag (bit is cleared to 0 by hardware)

WUSR

PWR wakeup status register

Offset: 0x44, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WUF5
r
WUF4
r
WUF3
r
WUF2
r
WUF1
r
Toggle fields

WUF1

Bit 0: wakeup pin WUFx flag This bit is set by hardware and cleared only by a RESET pin or by setting the CWUFx bit in PWR_WUSCR register..

Allowed values:
0: NoEventOccurred: No wakeup event occurred
1: EventOccurred: A wakeup event received from WUFx pin

WUF2

Bit 1: wakeup pin WUFx flag This bit is set by hardware and cleared only by a RESET pin or by setting the CWUFx bit in PWR_WUSCR register..

Allowed values:
0: NoEventOccurred: No wakeup event occurred
1: EventOccurred: A wakeup event received from WUFx pin

WUF3

Bit 2: wakeup pin WUFx flag This bit is set by hardware and cleared only by a RESET pin or by setting the CWUFx bit in PWR_WUSCR register..

Allowed values:
0: NoEventOccurred: No wakeup event occurred
1: EventOccurred: A wakeup event received from WUFx pin

WUF4

Bit 3: wakeup pin WUFx flag This bit is set by hardware and cleared only by a RESET pin or by setting the CWUFx bit in PWR_WUSCR register..

Allowed values:
0: NoEventOccurred: No wakeup event occurred
1: EventOccurred: A wakeup event received from WUFx pin

WUF5

Bit 4: wakeup pin WUFx flag This bit is set by hardware and cleared only by a RESET pin or by setting the CWUFx bit in PWR_WUSCR register..

Allowed values:
0: NoEventOccurred: No wakeup event occurred
1: EventOccurred: A wakeup event received from WUFx pin

WUCR

PWR wakeup configuration register

Offset: 0x48, size: 32, reset: 0x00000000, access: Unspecified

15/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
WUPPUPD5
rw
WUPPUPD4
rw
WUPPUPD3
rw
WUPPUPD2
rw
WUPPUPD1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WUPP5
rw
WUPP4
rw
WUPP3
rw
WUPP2
rw
WUPP1
rw
WUPEN5
rw
WUPEN4
rw
WUPEN3
rw
WUPEN2
rw
WUPEN1
rw
Toggle fields

WUPEN1

Bit 0: enable wakeup pin WUPx These bits are set and cleared by software. Note: an additional wakeup event is detected if WUPx pin is enabled (by setting the WUPENx bit) when WUPx pin level is already high when WUPPx selects rising edge, or low when WUPPx selects falling edge..

Allowed values:
0: Disabled: An event on WUPx pin does not wakeup the system from Standby mode
1: Enabled: A rising or falling edge on WUPx pin wakes up the system from Standby mode

WUPEN2

Bit 1: enable wakeup pin WUPx These bits are set and cleared by software. Note: an additional wakeup event is detected if WUPx pin is enabled (by setting the WUPENx bit) when WUPx pin level is already high when WUPPx selects rising edge, or low when WUPPx selects falling edge..

Allowed values:
0: Disabled: An event on WUPx pin does not wakeup the system from Standby mode
1: Enabled: A rising or falling edge on WUPx pin wakes up the system from Standby mode

WUPEN3

Bit 2: enable wakeup pin WUPx These bits are set and cleared by software. Note: an additional wakeup event is detected if WUPx pin is enabled (by setting the WUPENx bit) when WUPx pin level is already high when WUPPx selects rising edge, or low when WUPPx selects falling edge..

Allowed values:
0: Disabled: An event on WUPx pin does not wakeup the system from Standby mode
1: Enabled: A rising or falling edge on WUPx pin wakes up the system from Standby mode

WUPEN4

Bit 3: enable wakeup pin WUPx These bits are set and cleared by software. Note: an additional wakeup event is detected if WUPx pin is enabled (by setting the WUPENx bit) when WUPx pin level is already high when WUPPx selects rising edge, or low when WUPPx selects falling edge..

Allowed values:
0: Disabled: An event on WUPx pin does not wakeup the system from Standby mode
1: Enabled: A rising or falling edge on WUPx pin wakes up the system from Standby mode

WUPEN5

Bit 4: enable wakeup pin WUPx These bits are set and cleared by software. Note: an additional wakeup event is detected if WUPx pin is enabled (by setting the WUPENx bit) when WUPx pin level is already high when WUPPx selects rising edge, or low when WUPPx selects falling edge..

Allowed values:
0: Disabled: An event on WUPx pin does not wakeup the system from Standby mode
1: Enabled: A rising or falling edge on WUPx pin wakes up the system from Standby mode

WUPP1

Bit 8: wakeup pin polarity bit for WUPx These bits define the polarity used for event detection on WUPx external wakeup pin..

Allowed values:
0: HighLevel: Detection on high level
1: LowLevel: Detection on low level

WUPP2

Bit 9: wakeup pin polarity bit for WUPx These bits define the polarity used for event detection on WUPx external wakeup pin..

Allowed values:
0: HighLevel: Detection on high level
1: LowLevel: Detection on low level

WUPP3

Bit 10: wakeup pin polarity bit for WUPx These bits define the polarity used for event detection on WUPx external wakeup pin..

Allowed values:
0: HighLevel: Detection on high level
1: LowLevel: Detection on low level

WUPP4

Bit 11: wakeup pin polarity bit for WUPx These bits define the polarity used for event detection on WUPx external wakeup pin..

Allowed values:
0: HighLevel: Detection on high level
1: LowLevel: Detection on low level

WUPP5

Bit 12: wakeup pin polarity bit for WUPx These bits define the polarity used for event detection on WUPx external wakeup pin..

Allowed values:
0: HighLevel: Detection on high level
1: LowLevel: Detection on low level

WUPPUPD1

Bits 16-17: wakeup pin pull configuration for WKUPx These bits define the I/O pad pull configuration used when WUPENx = 1. The associated GPIO port pull configuration must be set to the same value or to 00. The wakeup pin pull configuration is kept in Standby mode..

Allowed values:
0: NoPull: No pull-up or pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

WUPPUPD2

Bits 18-19: wakeup pin pull configuration for WKUPx These bits define the I/O pad pull configuration used when WUPENx = 1. The associated GPIO port pull configuration must be set to the same value or to 00. The wakeup pin pull configuration is kept in Standby mode..

Allowed values:
0: NoPull: No pull-up or pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

WUPPUPD3

Bits 20-21: wakeup pin pull configuration for WKUPx These bits define the I/O pad pull configuration used when WUPENx = 1. The associated GPIO port pull configuration must be set to the same value or to 00. The wakeup pin pull configuration is kept in Standby mode..

Allowed values:
0: NoPull: No pull-up or pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

WUPPUPD4

Bits 22-23: wakeup pin pull configuration for WKUPx These bits define the I/O pad pull configuration used when WUPENx = 1. The associated GPIO port pull configuration must be set to the same value or to 00. The wakeup pin pull configuration is kept in Standby mode..

Allowed values:
0: NoPull: No pull-up or pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

WUPPUPD5

Bits 24-25: wakeup pin pull configuration for WKUPx These bits define the I/O pad pull configuration used when WUPENx = 1. The associated GPIO port pull configuration must be set to the same value or to 00. The wakeup pin pull configuration is kept in Standby mode..

Allowed values:
0: NoPull: No pull-up or pull-down
1: PullUp: Pull-up
2: PullDown: Pull-down

IORETR

PWR I/O retention register

Offset: 0x50, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
JTAGIORETEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IORETEN
rw
Toggle fields

IORETEN

Bit 0: IO retention enable: When entering into standby mode, the output is sampled, and applied to the output IO during the standby power mode. Note: the IO state is not retained if the DBG_STANDBY bit is set in DBGMCU_CR register..

Allowed values:
0: Disabled: IO Retention mode is disabled
1: Enabled: IO Retention mode is enabled

JTAGIORETEN

Bit 16: IO retention enable for JTAG IOs when entering into standby mode, the output is sampled, and applied to the output IO during the standby power mode.

Allowed values:
0: Disabled: IO Retention mode is disabled
1: Enabled: IO Retention mode is enabled

PRIVCFGR

PWR privilege configuration register

Offset: 0x104, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
NSPRIV
rw
Toggle fields

NSPRIV

Bit 1: PWR functions privilege configuration Set and reset by software. This bit can be written only by privileged access..

Allowed values:
0: Unprivileged: Read and write to PWR functions can be done by privileged or unprivileged access
1: Privileged: Read and write to PWR functions can be done by privileged access only

RAMCFG

0x40026000: RAMs configuration controller

18/66 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 M1CR
0x8 M1ISR
0x28 M1ERKEYR
0x40 M2CR
0x44 M2IER
0x48 M2ISR
0x4c M2SEAR
0x50 M2DEAR
0x54 M2ICR
0x58 M2WPR1
0x64 M2ECCKEYR
0x68 M2ERKEYR
0x84 M3IER
0x88 M3ISR
0x8c M3SEAR
0x90 M3DEAR
0x94 M3ICR
0xa4 M3ECCKEYR
0xa8 M3ERKEYR
0xe8 M4ERKEYR
0x100 M5CR
0x104 M5IER
0x108 M5ISR
0x10c M5SEAR
0x110 M5DEAR
0x114 M5ICR
0x124 M5ECCKEYR
0x128 M5ERKEYR
Toggle registers

M1CR

RAMCFG memory 1 control register

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

0/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SRAMER
rw
ALE
rw
ECCE
rw
Toggle fields

ECCE

Bit 0: ECC enable. This bit reset value is defined by the user option bit configuration. When set, it can be cleared by software only after writing the unlock sequence in the RAMCFG_MxECCKEYR register. Note: This bit is reserved and must be kept at reset value in SRAM1 control register..

ALE

Bit 4: Address latch enable Note: This bit is reserved and must be kept at reset value in SRAM1 control register..

SRAMER

Bit 8: SRAM erase This bit can be set by software only after writing the unlock sequence in the ERASEKEY field of the RAMCFG_MxERKEYR register. Setting this bit starts the SRAM erase. This bit is automatically cleared by hardware at the end of the erase operation..

M1ISR

RAMCFG memory interrupt status register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SRAMBUSY
r
DED
r
SEDC
r
Toggle fields

SEDC

Bit 0: ECC single error detected and corrected Note: This bit is reserved and must be kept at reset value in SRAM1 interrupt status register..

DED

Bit 1: ECC double error detected Note: This bit is reserved and must be kept at reset value in SRAM1 interrupt status register..

SRAMBUSY

Bit 8: SRAM busy with erase operation Note: Depending on the SRAM, the erase operation can be performed due to software request, system reset if the option bit is enabled, tamper detection or product state regression. Refer to Table 9: Internal SRAMs features..

M1ERKEYR

RAMCFG memory 1 erase key register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ERASEKEY
w
Toggle fields

ERASEKEY

Bits 0-7: Erase write protection key The following steps are required to unlock the write protection of the SRAMER bit in the RAMCFG_MxCR register. 1) Write 0xCA into ERASEKEY[7:0]. 2) Write 0x53 into ERASEKEY[7:0]. Note: Writing a wrong key reactivates the write protection..

M2CR

RAMCFG memory 2 control register

Offset: 0x40, size: 32, reset: 0x00000000, access: Unspecified

0/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SRAMER
rw
ALE
rw
ECCE
rw
Toggle fields

ECCE

Bit 0: ECC enable. This bit reset value is defined by the user option bit configuration. When set, it can be cleared by software only after writing the unlock sequence in the RAMCFG_MxECCKEYR register. Note: This bit is reserved and must be kept at reset value in SRAM1 control register..

ALE

Bit 4: Address latch enable Note: This bit is reserved and must be kept at reset value in SRAM1 control register..

SRAMER

Bit 8: SRAM erase This bit can be set by software only after writing the unlock sequence in the ERASEKEY field of the RAMCFG_MxERKEYR register. Setting this bit starts the SRAM erase. This bit is automatically cleared by hardware at the end of the erase operation..

M2IER

RAMCFG memory 2 interrupt enable register

Offset: 0x44, size: 32, reset: 0x00000000, access: Unspecified

0/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ECCNMI
rw
DEIE
rw
SEIE
rw
Toggle fields

SEIE

Bit 0: ECC single error interrupt enable.

DEIE

Bit 1: ECC double error interrupt enable.

ECCNMI

Bit 3: Double error NMI This bit is set by software and cleared only by a global RAMCFG reset. Note: if ECCNMI is set, the RAMCFG maskable interrupt is not generated whatever DEIE bit value..

M2ISR

RAMCFG memory interrupt status register

Offset: 0x48, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SRAMBUSY
r
DED
r
SEDC
r
Toggle fields

SEDC

Bit 0: ECC single error detected and corrected Note: This bit is reserved and must be kept at reset value in SRAM1 interrupt status register..

DED

Bit 1: ECC double error detected Note: This bit is reserved and must be kept at reset value in SRAM1 interrupt status register..

SRAMBUSY

Bit 8: SRAM busy with erase operation Note: Depending on the SRAM, the erase operation can be performed due to software request, system reset if the option bit is enabled, tamper detection or product state regression. Refer to Table 9: Internal SRAMs features..

M2SEAR

RAMCFG memory 2 ECC single error address register

Offset: 0x4c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ESEA
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ESEA
r
Toggle fields

ESEA

Bits 0-31: ECC single error address When the ALE bit is set in the RAMCFG_MxCR register, this field is updated with the address corresponding to the ECC single error..

M2DEAR

RAMCFG memory 2 ECC double error address register

Offset: 0x50, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EDEA
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EDEA
r
Toggle fields

EDEA

Bits 0-31: ECC double error address When the ALE bit is set in the RAMCFG_MxCR register, this field is updated with the address corresponding to the ECC double error..

M2ICR

RAMCFG memory 2 interrupt clear register 2

Offset: 0x54, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CDED
rw
CSEDC
rw
Toggle fields

CSEDC

Bit 0: Clear ECC single error detected and corrected Writing 1 to this flag clears the SEDC bit in the RAMCFG_MxISR register. Reading this flag returns the SEDC value..

CDED

Bit 1: Clear ECC double error detected Writing 1 to this flag clears the DED bit in the RAMCFG_MxISR register. Reading this flag returns the DED value..

M2WPR1

RAMCFG memory 2 write protection register 1

Offset: 0x58, size: 32, reset: 0x00000000, access: Unspecified

0/16 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
P15WP
rw
P14WP
rw
P13WP
rw
P12WP
rw
P11WP
rw
P10WP
rw
P9WP
rw
P8WP
rw
P7WP
rw
P6WP
rw
P5WP
rw
P4WP
rw
P3WP
rw
P2WP
rw
P1WP
rw
P0WP
rw
Toggle fields

P0WP

Bit 0: SRAM2 1-Kbyte page y write protection These bits are set by software and cleared only by a global RAMCFG reset..

P1WP

Bit 1: SRAM2 1-Kbyte page y write protection These bits are set by software and cleared only by a global RAMCFG reset..

P2WP

Bit 2: SRAM2 1-Kbyte page y write protection These bits are set by software and cleared only by a global RAMCFG reset..

P3WP

Bit 3: SRAM2 1-Kbyte page y write protection These bits are set by software and cleared only by a global RAMCFG reset..

P4WP

Bit 4: SRAM2 1-Kbyte page y write protection These bits are set by software and cleared only by a global RAMCFG reset..

P5WP

Bit 5: SRAM2 1-Kbyte page y write protection These bits are set by software and cleared only by a global RAMCFG reset..

P6WP

Bit 6: SRAM2 1-Kbyte page y write protection These bits are set by software and cleared only by a global RAMCFG reset..

P7WP

Bit 7: SRAM2 1-Kbyte page y write protection These bits are set by software and cleared only by a global RAMCFG reset..

P8WP

Bit 8: SRAM2 1-Kbyte page y write protection These bits are set by software and cleared only by a global RAMCFG reset..

P9WP

Bit 9: SRAM2 1-Kbyte page y write protection These bits are set by software and cleared only by a global RAMCFG reset..

P10WP

Bit 10: SRAM2 1-Kbyte page y write protection These bits are set by software and cleared only by a global RAMCFG reset..

P11WP

Bit 11: SRAM2 1-Kbyte page y write protection These bits are set by software and cleared only by a global RAMCFG reset..

P12WP

Bit 12: SRAM2 1-Kbyte page y write protection These bits are set by software and cleared only by a global RAMCFG reset..

P13WP

Bit 13: SRAM2 1-Kbyte page y write protection These bits are set by software and cleared only by a global RAMCFG reset..

P14WP

Bit 14: SRAM2 1-Kbyte page y write protection These bits are set by software and cleared only by a global RAMCFG reset..

P15WP

Bit 15: SRAM2 1-Kbyte page y write protection These bits are set by software and cleared only by a global RAMCFG reset..

M2ECCKEYR

RAMCFG memory 2 ECC key register

Offset: 0x64, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ECCKEY
w
Toggle fields

ECCKEY

Bits 0-7: ECC write protection key The following steps are required to unlock the write protection of the ECCE bit in the RAMCFG_MxCR register. 1) Write 0xAE into ECCKEY[7:0]. 2) Write 0x75 into ECCKEY[7:0]. Note: Writing a wrong key reactivates the write protection..

M2ERKEYR

RAMCFG memory 2 erase key register

Offset: 0x68, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ERASEKEY
w
Toggle fields

ERASEKEY

Bits 0-7: Erase write protection key The following steps are required to unlock the write protection of the SRAMER bit in the RAMCFG_MxCR register. 1) Write 0xCA into ERASEKEY[7:0]. 2) Write 0x53 into ERASEKEY[7:0]. Note: Writing a wrong key reactivates the write protection..

M3IER

RAMCFG memory 3 interrupt enable register

Offset: 0x84, size: 32, reset: 0x00000000, access: Unspecified

0/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ECCNMI
rw
DEIE
rw
SEIE
rw
Toggle fields

SEIE

Bit 0: ECC single error interrupt enable.

DEIE

Bit 1: ECC double error interrupt enable.

ECCNMI

Bit 3: Double error NMI This bit is set by software and cleared only by a global RAMCFG reset. Note: if ECCNMI is set, the RAMCFG maskable interrupt is not generated whatever DEIE bit value..

M3ISR

RAMCFG memory interrupt status register

Offset: 0x88, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SRAMBUSY
r
DED
r
SEDC
r
Toggle fields

SEDC

Bit 0: ECC single error detected and corrected Note: This bit is reserved and must be kept at reset value in SRAM1 interrupt status register..

DED

Bit 1: ECC double error detected Note: This bit is reserved and must be kept at reset value in SRAM1 interrupt status register..

SRAMBUSY

Bit 8: SRAM busy with erase operation Note: Depending on the SRAM, the erase operation can be performed due to software request, system reset if the option bit is enabled, tamper detection or product state regression. Refer to Table 9: Internal SRAMs features..

M3SEAR

RAMCFG memory 3 ECC single error address register

Offset: 0x8c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ESEA
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ESEA
r
Toggle fields

ESEA

Bits 0-31: ECC single error address When the ALE bit is set in the RAMCFG_MxCR register, this field is updated with the address corresponding to the ECC single error..

M3DEAR

RAMCFG memory 3 ECC double error address register

Offset: 0x90, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EDEA
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EDEA
r
Toggle fields

EDEA

Bits 0-31: ECC double error address When the ALE bit is set in the RAMCFG_MxCR register, this field is updated with the address corresponding to the ECC double error..

M3ICR

RAMCFG memory 3 interrupt clear register 3

Offset: 0x94, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CDED
rw
CSEDC
rw
Toggle fields

CSEDC

Bit 0: Clear ECC single error detected and corrected Writing 1 to this flag clears the SEDC bit in the RAMCFG_MxISR register. Reading this flag returns the SEDC value..

CDED

Bit 1: Clear ECC double error detected Writing 1 to this flag clears the DED bit in the RAMCFG_MxISR register. Reading this flag returns the DED value..

M3ECCKEYR

RAMCFG memory 3 ECC key register

Offset: 0xa4, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ECCKEY
w
Toggle fields

ECCKEY

Bits 0-7: ECC write protection key The following steps are required to unlock the write protection of the ECCE bit in the RAMCFG_MxCR register. 1) Write 0xAE into ECCKEY[7:0]. 2) Write 0x75 into ECCKEY[7:0]. Note: Writing a wrong key reactivates the write protection..

M3ERKEYR

RAMCFG memory 3 erase key register

Offset: 0xa8, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ERASEKEY
w
Toggle fields

ERASEKEY

Bits 0-7: Erase write protection key The following steps are required to unlock the write protection of the SRAMER bit in the RAMCFG_MxCR register. 1) Write 0xCA into ERASEKEY[7:0]. 2) Write 0x53 into ERASEKEY[7:0]. Note: Writing a wrong key reactivates the write protection..

M4ERKEYR

RAMCFG memory 4 erase key register

Offset: 0xe8, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ERASEKEY
w
Toggle fields

ERASEKEY

Bits 0-7: Erase write protection key The following steps are required to unlock the write protection of the SRAMER bit in the RAMCFG_MxCR register. 1) Write 0xCA into ERASEKEY[7:0]. 2) Write 0x53 into ERASEKEY[7:0]. Note: Writing a wrong key reactivates the write protection..

M5CR

RAMCFG memory 5 control register

Offset: 0x100, size: 32, reset: 0x00000000, access: Unspecified

0/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SRAMER
rw
ALE
rw
ECCE
rw
Toggle fields

ECCE

Bit 0: ECC enable. This bit reset value is defined by the user option bit configuration. When set, it can be cleared by software only after writing the unlock sequence in the RAMCFG_MxECCKEYR register. Note: This bit is reserved and must be kept at reset value in SRAM1 control register..

ALE

Bit 4: Address latch enable Note: This bit is reserved and must be kept at reset value in SRAM1 control register..

SRAMER

Bit 8: SRAM erase This bit can be set by software only after writing the unlock sequence in the ERASEKEY field of the RAMCFG_MxERKEYR register. Setting this bit starts the SRAM erase. This bit is automatically cleared by hardware at the end of the erase operation..

M5IER

RAMCFG memory 5 interrupt enable register

Offset: 0x104, size: 32, reset: 0x00000000, access: Unspecified

0/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ECCNMI
rw
DEIE
rw
SEIE
rw
Toggle fields

SEIE

Bit 0: ECC single error interrupt enable.

DEIE

Bit 1: ECC double error interrupt enable.

ECCNMI

Bit 3: Double error NMI This bit is set by software and cleared only by a global RAMCFG reset. Note: if ECCNMI is set, the RAMCFG maskable interrupt is not generated whatever DEIE bit value..

M5ISR

RAMCFG memory interrupt status register

Offset: 0x108, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SRAMBUSY
r
DED
r
SEDC
r
Toggle fields

SEDC

Bit 0: ECC single error detected and corrected Note: This bit is reserved and must be kept at reset value in SRAM1 interrupt status register..

DED

Bit 1: ECC double error detected Note: This bit is reserved and must be kept at reset value in SRAM1 interrupt status register..

SRAMBUSY

Bit 8: SRAM busy with erase operation Note: Depending on the SRAM, the erase operation can be performed due to software request, system reset if the option bit is enabled, tamper detection or product state regression. Refer to Table 9: Internal SRAMs features..

M5SEAR

RAMCFG memory 5 ECC single error address register

Offset: 0x10c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ESEA
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ESEA
r
Toggle fields

ESEA

Bits 0-31: ECC single error address When the ALE bit is set in the RAMCFG_MxCR register, this field is updated with the address corresponding to the ECC single error..

M5DEAR

RAMCFG memory 5 ECC double error address register

Offset: 0x110, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
EDEA
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EDEA
r
Toggle fields

EDEA

Bits 0-31: ECC double error address When the ALE bit is set in the RAMCFG_MxCR register, this field is updated with the address corresponding to the ECC double error..

M5ICR

RAMCFG memory 5 interrupt clear register 5

Offset: 0x114, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CDED
rw
CSEDC
rw
Toggle fields

CSEDC

Bit 0: Clear ECC single error detected and corrected Writing 1 to this flag clears the SEDC bit in the RAMCFG_MxISR register. Reading this flag returns the SEDC value..

CDED

Bit 1: Clear ECC double error detected Writing 1 to this flag clears the DED bit in the RAMCFG_MxISR register. Reading this flag returns the DED value..

M5ECCKEYR

RAMCFG memory 5 ECC key register

Offset: 0x124, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ECCKEY
w
Toggle fields

ECCKEY

Bits 0-7: ECC write protection key The following steps are required to unlock the write protection of the ECCE bit in the RAMCFG_MxCR register. 1) Write 0xAE into ECCKEY[7:0]. 2) Write 0x75 into ECCKEY[7:0]. Note: Writing a wrong key reactivates the write protection..

M5ERKEYR

RAMCFG memory 5 erase key register

Offset: 0x128, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ERASEKEY
w
Toggle fields

ERASEKEY

Bits 0-7: Erase write protection key The following steps are required to unlock the write protection of the SRAMER bit in the RAMCFG_MxCR register. 1) Write 0xCA into ERASEKEY[7:0]. 2) Write 0x53 into ERASEKEY[7:0]. Note: Writing a wrong key reactivates the write protection..

RCC

0x44020c00: Reset and clock controller

267/271 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CR
0x10 HSICFGR
0x14 CRRCR
0x18 CSICFGR
0x1c CFGR1
0x20 CFGR2
0x28 PLL1CFGR
0x2c PLL2CFGR
0x34 PLL1DIVR
0x38 PLL1FRACR
0x3c PLL2DIVR
0x40 PLL2FRACR
0x50 CIER
0x54 CIFR
0x58 CICR
0x60 AHB1RSTR
0x64 AHB2RSTR
0x74 APB1LRSTR
0x78 APB1HRSTR
0x7c APB2RSTR
0x80 APB3RSTR
0x88 AHB1ENR
0x8c AHB2ENR
0x9c APB1LENR
0xa0 APB1HENR
0xa4 APB2ENR
0xa8 APB3ENR
0xb0 AHB1LPENR
0xb4 AHB2LPENR
0xc4 APB1LLPENR
0xc8 APB1HLPENR
0xcc APB2LPENR
0xd0 APB3LPENR
0xd8 CCIPR1
0xdc CCIPR2
0xe0 CCIPR3
0xe4 CCIPR4
0xe8 CCIPR5
0xf0 BDCR
0xf4 RSR
0x114 PRIVCFGR
Toggle registers

CR

RCC clock control register

Offset: 0x0, size: 32, reset: 0x00000023, access: Unspecified

19/19 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PLL2RDY
r
PLL2ON
rw
PLL1RDY
r
PLL1ON
rw
HSEEXT
rw
HSECSSON
rw
HSEBYP
rw
HSERDY
r
HSEON
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HSI48RDY
r
HSI48ON
rw
CSIKERON
rw
CSIRDY
r
CSION
rw
HSIDIVF
r
HSIDIV
rw
HSIKERON
rw
HSIRDY
r
HSION
rw
Toggle fields

HSION

Bit 0: HSI clock enable Set and cleared by software. Set by hardware to force the HSI to ON when the product leaves Stop mode, if STOPWUCK = 1 or STOPKERWUCK = 1. Set by hardware to force the HSI to ON when the product leaves Standby mode or in case of a failure of the HSE which is used as the system clock source. This bit cannot be cleared if the HSI is used directly (via SW mux) as system clock, or if the HSI is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1)..

Allowed values:
0: Off: Clock Off
1: On: Clock On

HSIRDY

Bit 1: HSI clock ready flag Set by hardware to indicate that the HSI oscillator is stable..

Allowed values:
0: NotReady: Clock not ready
1: Ready: Clock ready

HSIKERON

Bit 2: HSI clock enable in Stop mode Set and reset by software to force the HSI to ON, even in Stop mode, in order to be quickly available as kernel clock for peripherals. This bit has no effect on the value of HSION..

Allowed values:
0: Off: Clock Off
1: On: Clock On

HSIDIV

Bits 3-4: HSI clock divider Set and reset by software. These bits allow selecting a division ratio in order to configure the wanted HSI clock frequency. The HSIDIV cannot be changed if the HSI is selected as reference clock for at least one enabled PLL (PLLxON bit set to 1). In that case, the new HSIDIV value is ignored..

Allowed values:
0: Div1: No division
1: Div2: Division by 2
2: Div4: Division by 4
3: Div8: Division by 8

HSIDIVF

Bit 5: HSI divider flag Set and reset by hardware. As a write operation to HSIDIV has not an immediate effect on the frequency, this flag indicates the current status of the HSI divider. HSIDIVF goes immediately to 0 when HSIDIV value is changed, and is set back to 1 when the output frequency matches the value programmed into HSIDIV..

Allowed values:
0: NotPropagated: New HSIDIV ratio has not yet propagated to hsi_ck
1: Propagated: HSIDIV ratio has propagated to hsi_ck

CSION

Bit 8: CSI clock enable Set and reset by software to enable/disable CSI clock for system and/or peripheral. Set by hardware to force the CSI to ON when the system leaves Stop mode, if STOPWUCK = 1 or STOPKERWUCK = 1. This bit cannot be cleared if the CSI is used directly (via SW mux) as system clock, or if the CSI is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1)..

Allowed values:
0: Off: Clock Off
1: On: Clock On

CSIRDY

Bit 9: CSI clock ready flag Set by hardware to indicate that the CSI oscillator is stable. This bit is activated only if the RC is enabled by CSION (it is not activated if the CSI is enabled by CSIKERON or by a peripheral request)..

Allowed values:
0: NotReady: Clock not ready
1: Ready: Clock ready

CSIKERON

Bit 10: CSI clock enable in Stop mode Set and reset by software to force the CSI to ON, even in Stop mode, in order to be quickly available as kernel clock for some peripherals. This bit has no effect on the value of CSION..

Allowed values:
0: Off: Clock Off
1: On: Clock On

HSI48ON

Bit 12: HSI48 clock enable Set by software and cleared by software or by the hardware when the system enters to Stop or Standby mode..

Allowed values:
0: Off: Clock Off
1: On: Clock On

HSI48RDY

Bit 13: HSI48 clock ready flag Set by hardware to indicate that the HSI48 oscillator is stable..

Allowed values:
0: NotReady: Clock not ready
1: Ready: Clock ready

HSEON

Bit 16: HSE clock enable Set and cleared by software. Cleared by hardware to stop the HSE when entering Stop or Standby mode. This bit cannot be cleared if the HSE is used directly (via SW mux) as system clock, or if the HSE is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1)..

Allowed values:
0: Off: Clock Off
1: On: Clock On

HSERDY

Bit 17: HSE clock ready flag Set by hardware to indicate that the HSE oscillator is stable..

Allowed values:
0: NotReady: Clock not ready
1: Ready: Clock ready

HSEBYP

Bit 18: HSE clock bypass Set and cleared by software to bypass the oscillator with an external clock. The external clock must be enabled with the HSEON bit to be used by the device. The HSEBYP bit can be written only if the HSE oscillator is disabled..

Allowed values:
0: NotBypassed: HSE crystal oscillator not bypassed
1: Bypassed: HSE crystal oscillator bypassed with external clock

HSECSSON

Bit 19: HSE clock security system enable Set by software to enable clock security system on HSE. This bit is “set only” (disabled by a system reset or when the system enters in Standby mode). When HSECSSON is set, the clock detector is enabled by hardware when the HSE is ready and disabled by hardware if an oscillator failure is detected..

Allowed values:
0: Off: Clock Off
1: On: Clock On

HSEEXT

Bit 20: external high speed clock type in Bypass mode Set and reset by software to select the external clock type (analog or digital). The external clock must be enabled with the HSEON bit to be used by the device. The HSEEXT bit can be written only if the HSE oscillator is disabled..

Allowed values:
0: Analog: HSE in analog mode
1: Digital: HSE in digital mode

PLL1ON

Bit 24: PLL1 enable Set and cleared by software to enable PLL1. Cleared by hardware when entering Stop or Standby mode. Note that the hardware prevents writing this bit to 0, if the PLL1 output is used as the system clock..

Allowed values:
0: Off: Clock Off
1: On: Clock On

PLL1RDY

Bit 25: PLL1 clock ready flag Set by hardware to indicate that the PLL1 is locked..

Allowed values:
0: NotReady: Clock not ready
1: Ready: Clock ready

PLL2ON

Bit 26: PLL2 enable Set and cleared by software to enable PLL2. Cleared by hardware when entering Stop or Standby mode..

Allowed values:
0: Off: Clock Off
1: On: Clock On

PLL2RDY

Bit 27: PLL2 clock ready flag Set by hardware to indicate that the PLL is locked..

Allowed values:
0: NotReady: Clock not ready
1: Ready: Clock ready

HSICFGR

RCC HSI calibration register

Offset: 0x10, size: 32, reset: 0x00400000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
HSITRIM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HSICAL
r
Toggle fields

HSICAL

Bits 0-11: HSI clock calibration Set by hardware by option byte loading during system reset nreset. Adjusted by software through trimming bits HSITRIM. This field represents the sum of engineering option byte calibration value and HSITRIM bits value..

HSITRIM

Bits 16-22: HSI clock trimming Set by software to adjust calibration. HSITRIM field is added to the engineering option bytes loaded during reset phase (FLASH_HSI_OPT) in order to form the calibration trimming value. HSICAL = HSITRIM + FLASH_HSI_OPT. After a change of HSITRIM it takes one system clock cycle before the new HSITRIM value is updated Note: The reset value of the field is 0x40..

Allowed values: 0x0-0x7f

CRRCR

RCC clock recovery RC register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HSI48CAL
r
Toggle fields

HSI48CAL

Bits 0-9: Internal RC 48 MHz clock calibration Set by hardware by option-byte loading during system reset NRESET. Read-only..

CSICFGR

RCC CSI calibration register

Offset: 0x18, size: 32, reset: 0x00200000, access: Unspecified

1/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CSITRIM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CSICAL
rw
Toggle fields

CSICAL

Bits 0-7: CSI clock calibration Set by hardware by option byte loading during system reset NRESET. Adjusted by software through trimming bits CSITRIM. This field represents the sum of engineering option byte calibration value and CSITRIM bits value..

CSITRIM

Bits 16-21: CSI clock trimming Set by software to adjust calibration. CSITRIM field is added to the engineering option bytes loaded during reset phase (FLASH_CSI_OPT) in order to form the calibration trimming value. CSICAL = CSITRIM + FLASH_CSI_OPT. Note: The reset value of the field is 0x20..

Allowed values: 0x0-0x3f

CFGR1

RCC clock configuration register

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

10/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MCO2SEL
rw
MCO2PRE
rw
MCO1SEL
rw
MCO1PRE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TIMPRE
rw
RTCPRE
rw
STOPKERWUCK
rw
STOPWUCK
rw
SWS
r
SW
rw
Toggle fields

SW

Bits 0-1: system clock and trace clock switch Set and reset by software to select system clock and trace clock sources (sys_ck). Set by hardware in order to: - force the selection of the HSI or CSI (depending on STOPWUCK selection) when leaving a system Stop mode - force the selection of the HSI in case of failure of the HSE when used directly or indirectly as system clock others: reserved.

Allowed values:
0: HSI: HSI selected as system clock
1: CSI: CSI selected as system clock
2: HSE: HSE selected as system clock
3: PLL1: PLL1 selected as system clock

SWS

Bits 3-4: system clock switch status Set and reset by hardware to indicate which clock source is used as system clock. 000: HSI used as system clock (hsi_ck) (default after reset). others: reserved.

Allowed values:
0: HSI: HSI oscillator used as system clock
1: CSI: CSI oscillator used as system clock
2: HSE: HSE oscillator used as system clock
3: PLL1: PLL1 used as system clock

STOPWUCK

Bit 6: system clock selection after a wakeup from system Stop Set and reset by software to select the system wakeup clock from system Stop. The selected clock is also used as emergency clock for the clock security system (CSS) on HSE. 0: HSI selected as wakeup clock from system Stop (default after reset) STOPWUCK must not be modified when CSS is enabled (by HSECSSON bit) and the system clock is HSE (SWS = 10) or a switch on HSE is requested (SW =10)..

Allowed values:
0: HSI: HSI selected as wake up clock from system Stop
1: CSI: CSI selected as wake up clock from system Stop

STOPKERWUCK

Bit 7: kernel clock selection after a wakeup from system Stop Set and reset by software to select the kernel wakeup clock from system Stop..

Allowed values:
0: HSI: HSI selected as wake up clock from system Stop
1: CSI: CSI selected as wake up clock from system Stop

RTCPRE

Bits 8-13: HSE division factor for RTC clock Set and cleared by software to divide the HSE to generate a clock for RTC. Caution: The software must set these bits correctly to ensure that the clock supplied to the RTC is lower than 1 MHz. These bits must be configured if needed before selecting the RTC clock source. ....

Allowed values: 0x0-0x3f

TIMPRE

Bit 15: timers clocks prescaler selection This bit is set and reset by software to control the clock frequency of all the timers connected to APB1 and APB2 domains..

Allowed values:
0: DefaultX2: Timer kernel clock equal to 2x pclk by default
1: DefaultX4: Timer kernel clock equal to 4x pclk by default

MCO1PRE

Bits 18-21: MCO1 prescaler Set and cleared by software to configure the prescaler of the MCO1. Modification of this prescaler may generate glitches on MCO1. It is highly recommended to change this prescaler only after reset, before enabling the external oscillators and the PLLs. ....

Allowed values: 0x0-0xf

MCO1SEL

Bits 22-24: Microcontroller clock output 1 Set and cleared by software. Clock source selection may generate glitches on MCO1. It is highly recommended to configure these bits only after reset, before enabling the external oscillators and the PLLs. others: reserved.

Allowed values:
0: HSI: HSI clock selected (hsi_ck)
1: LSE: LSE clock selected (lse_ck)
2: HSE: HSE clock selected (hse_ck)
3: PLL1_Q: PLL1 clock selected (pll1_q_ck)
4: HSI48: HSI48 clock selected (hsi48_ck)

MCO2PRE

Bits 25-28: MCO2 prescaler Set and cleared by software to configure the prescaler of the MCO2. Modification of this prescaler may generate glitches on MCO2. It is highly recommended to change this prescaler only after reset, before enabling the external oscillators and the PLLs. ....

Allowed values: 0x0-0xf

MCO2SEL

Bits 29-31: microcontroller clock output 2 Set and cleared by software. Clock source selection may generate glitches on MCO2. It is highly recommended to configure these bits only after reset, before enabling the external oscillators and the PLLs. others: reserved.

Allowed values:
0: SYSCLK: System clock selected (sys_ck)
1: PLL2_P: PLL2 oscillator clock selected (pll2_p_ck)
2: HSE: HSE clock selected (hse_ck)
3: PLL1_P: PLL1 clock selected (pll1_p_ck)
4: CSI: CSI clock selected (csi_ck)
5: LSI: LSI clock selected (lsi_ck)

CFGR2

RCC CPU domain clock configuration register 2

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

10/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
APB3DIS
rw
APB2DIS
rw
APB1DIS
rw
AHB4DIS
rw
AHB2DIS
rw
AHB1DIS
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PPRE3
rw
PPRE2
rw
PPRE1
rw
HPRE
rw
Toggle fields

HPRE

Bits 0-3: AHB prescaler Set and reset by software to control the division factor of rcc_hclk. Changing this division ratio has an impact on the frequency of all bus matrix clocks 0xxx: rcc_hclk = sys_ck (default after reset).

Allowed values:
0: Div1: SYSCLK not divided
8: Div2: SYSCLK divided by 2
9: Div4: SYSCLK divided by 4
10: Div8: SYSCLK divided by 8
11: Div16: SYSCLK divided by 16
12: Div64: SYSCLK divided by 64
13: Div128: SYSCLK divided by 128
14: Div256: SYSCLK divided by 256
15: Div512: SYSCLK divided by 512

PPRE1

Bits 4-6: APB low-speed prescaler (APB1) Set and reset by software to control the division factor of rcc_pclk1. The clock is divided by the new prescaler factor from 1 to 16 cycles of rcc_hclk after PPRE write. 0xx: rcc_pclk1 = rcc_hclk1 (default after reset).

Allowed values:
0: Div1: HCLK not divided
4: Div2: HCLK divided by 2
5: Div4: HCLK divided by 4
6: Div8: HCLK divided by 8
7: Div16: HCLK divided by 16

PPRE2

Bits 8-10: APB high-speed prescaler (APB2) Set and reset by software to control APB high-speed clocks division factor. The clocks are divided with the new prescaler factor from 1 to 16 APB cycles after PPRE2 write. 0xx: rcc_pclk2 = rcc_hclk1.

Allowed values:
0: Div1: HCLK not divided
4: Div2: HCLK divided by 2
5: Div4: HCLK divided by 4
6: Div8: HCLK divided by 8
7: Div16: HCLK divided by 16

PPRE3

Bits 12-14: APB low-speed prescaler (APB3) Set and reset by software to control APB low-speed clocks division factor. The clocks are divided with the new prescaler factor from 1 to 16 APB cycles after PPRE3 write. 0xx: rcc_pclk3 = rcc_hclk1.

Allowed values:
0: Div1: HCLK not divided
4: Div2: HCLK divided by 2
5: Div4: HCLK divided by 4
6: Div8: HCLK divided by 8
7: Div16: HCLK divided by 16

AHB1DIS

Bit 16: AHB1 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB1 peripherals from RCC_AHB1ENR are used and when their clocks are disabled in RCC_AHB1ENR. When this bit is set, all the AHB1 peripherals clocks from RCC_AHB1ENR are off. enable control bits.

Allowed values:
0: Enabled: The selected clock is enabled
1: Disabled: The selected clock is disabled

AHB2DIS

Bit 17: AHB2 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB2 peripherals from RCC_AHB2ENR are used and when their clocks are disabled in RCC_AHB2ENR. When this bit is set, all the AHB2 peripherals clocks from RCC_AHB2ENR are off. enable control bits.

Allowed values:
0: Enabled: The selected clock is enabled
1: Disabled: The selected clock is disabled

AHB4DIS

Bit 19: AHB4 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB4 peripherals from RCC_AHB4ENR are used and when their clocks are disabled in RCC_AHB4ENR. When this bit is set, all the AHB4 peripherals clocks from RCC_AHB4ENR are off. enable control bits.

Allowed values:
0: Enabled: The selected clock is enabled
1: Disabled: The selected clock is disabled

APB1DIS

Bit 20: APB1 clock disable value This bit can be set in order to further reduce power consumption, when none of the APB1 peripherals (except IWDG) are used and when their clocks are disabled in RCC_APB1ENR. When this bit is set, all the APB1 peripherals clocks are off, except for IWDG. control bits.

Allowed values:
0: Enabled: The selected clock is enabled
1: Disabled: The selected clock is disabled

APB2DIS

Bit 21: APB2 clock disable value This bit can be set in order to further reduce power consumption, when none of the APB2 peripherals are used and when their clocks are disabled in RCC_APB2ENR. When this bit is set, all the APB2 peripherals clocks are off. control bits.

Allowed values:
0: Enabled: The selected clock is enabled
1: Disabled: The selected clock is disabled

APB3DIS

Bit 22: APB3 clock disable value.Set and cleared by software This bit can be set in order to further reduce power consumption, when none of the APB3 peripherals are used and when their clocks are disabled in RCC_APB3ENR. When this bit is set, all the APB3 peripherals clocks are off. control bits.

Allowed values:
0: Enabled: The selected clock is enabled
1: Disabled: The selected clock is disabled

PLL1CFGR

RCC PLL clock source selection register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

7/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PLL1REN
rw
PLL1QEN
rw
PLL1PEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PLL1M
rw
PLL1VCOSEL
rw
PLL1FRACEN
rw
PLL1RGE
rw
PLL1SRC
rw
Toggle fields

PLL1SRC

Bits 0-1: DIVMx and PLLs clock source selection Set and reset by software to select the PLL clock source. These bits can be written only when all PLLs are disabled. In order to save power, when no PLL is used, the value of PLL1SRC must be set to '00'. 00: no clock send to DIVMx divider and PLLs (default after reset)..

Allowed values:
0: None: No clock sent to DIVMx dividers and PLLs
1: HSI: HSI selected as PLL clock
2: CSI: CSI selected as PLL clock
3: HSE: HSE selected as PLL clock

PLL1RGE

Bits 2-3: PLL1 input frequency range Set and reset by software to select the proper reference frequency range used for PLL1. This bit must be written before enabling the PLL1..

Allowed values:
0: Range1: Frequency is between 1 and 2 MHz
1: Range2: Frequency is between 2 and 4 MHz
2: Range4: Frequency is between 4 and 8 MHz
3: Range8: Frequency is between 8 and 16 MHz

PLL1FRACEN

Bit 4: PLL1 fractional latch enable Set and reset by software to latch the content of FRACN1 into the sigma-delta modulator. In order to latch the FRACN1 value into the sigma-delta modulator, PLL1FRACEN must be set to 0, then set to 1. The transition 0 to 1 transfers the content of FRACN1 into the modulator..

Allowed values:
0: Reset: Reset latch to transfer FRACN to the Sigma-Delta modulator
1: Set: Set latch to transfer FRACN to the Sigma-Delta modulator

PLL1VCOSEL

Bit 5: PLL1 VCO selection Set and reset by software to select the proper VCO frequency range used for PLL1. This bit must be written before enabling the PLL1..

Allowed values:
0: WideVCO: VCO frequency range 192 to 836 MHz
1: MediumVCO: VCO frequency range 150 to 420 MHz

PLL1M

Bits 8-13: prescaler for PLL1 Set and cleared by software to configure the prescaler of the PLL1. The hardware does not allow any modification of this prescaler when PLL1 is enabled (PLL1ON = 1 or PLL1RDY = 1). In order to save power when PLL1 is not used, the value of DIVM1 must be set to 0. ... ....

PLL1PEN

Bit 16: PLL1 DIVP divider output enable Set and reset by software to enable the pll1_p_ck output of the PLL1. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). In order to save power, when the pll1_p_ck output of the PLL1 is not used, the pll1_p_ck must be disabled..

Allowed values:
0: Disabled: Clock output is disabled
1: Enabled: Clock output is enabled

PLL1QEN

Bit 17: PLL1 DIVQ divider output enable Set and reset by software to enable the pll1_q_ck output of the PLL1. In order to save power, when the pll1_q_ck output of the PLL1 is not used, the pll1_q_ck must be disabled. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0)..

Allowed values:
0: Disabled: Clock output is disabled
1: Enabled: Clock output is enabled

PLL1REN

Bit 18: PLL1 DIVR divider output enable Set and reset by software to enable the pll1_r_ck output of the PLL1. To save power, DIVR1EN and DIVR1 bits must be set to 0 when the pll1_r_ck is not used. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0)..

Allowed values:
0: Disabled: Clock output is disabled
1: Enabled: Clock output is enabled

PLL2CFGR

RCC PLL clock source selection register

Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified

7/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PLL2REN
rw
PLL2QEN
rw
PLL2PEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PLL2M
rw
PLL2VCOSEL
rw
PLL2FRACEN
rw
PLL2RGE
rw
PLL2SRC
rw
Toggle fields

PLL2SRC

Bits 0-1: DIVMx and PLLs clock source selection Set and reset by software to select the PLL clock source. These bits can be written only when all PLLs are disabled. In order to save power, when no PLL is used, the value of PLL2SRC must be set to '00'..

Allowed values:
0: None: No clock sent to DIVMx dividers and PLLs
1: HSI: HSI selected as PLL clock
2: CSI: CSI selected as PLL clock
3: HSE: HSE selected as PLL clock

PLL2RGE

Bits 2-3: PLL2 input frequency range Set and reset by software to select the proper reference frequency range used for PLL2. These bits must be written before enabling the PLL2..

Allowed values:
0: Range1: Frequency is between 1 and 2 MHz
1: Range2: Frequency is between 2 and 4 MHz
2: Range4: Frequency is between 4 and 8 MHz
3: Range8: Frequency is between 8 and 16 MHz

PLL2FRACEN

Bit 4: PLL2 fractional latch enable Set and reset by software to enable the pll2_p_ck output of the PLL2. To save power, when the pll2_p_ck output of the PLL2 is not used, the pll2_p_ck must be disabled..

Allowed values:
0: Reset: Reset latch to transfer FRACN to the Sigma-Delta modulator
1: Set: Set latch to transfer FRACN to the Sigma-Delta modulator

PLL2VCOSEL

Bit 5: PLL2 VCO selection Set and reset by software to select the proper VCO frequency range used for PLL2. This bit must be written before enabling the PLL2..

Allowed values:
0: WideVCO: VCO frequency range 192 to 836 MHz
1: MediumVCO: VCO frequency range 150 to 420 MHz

PLL2M

Bits 8-13: prescaler for PLL2 Set and cleared by software to configure the prescaler of the PLL2. The hardware does not allow any modification of this prescaler when PLL2 is enabled (PLL2ON = 1 or PLL2RDY = 1). In order to save power when PLL2 is not used, the value of DIVM2 must be set to 0. ... ....

PLL2PEN

Bit 16: PLL2 DIVP divider output enable Set and reset by software to enable the pll2_p_ck output of the PLL2. To save power, when the pll2_p_ck output of the PLL2 is not used, the pll2_p_ck must be disabled..

Allowed values:
0: Disabled: Clock output is disabled
1: Enabled: Clock output is enabled

PLL2QEN

Bit 17: PLL2 DIVQ divider output enable Set and reset by software to enable the pll2_q_ck output of the PLL2. To save power, when the pll2_q_ck output of the PLL2 is not used, the pll2_q_ck must be disabled..

Allowed values:
0: Disabled: Clock output is disabled
1: Enabled: Clock output is enabled

PLL2REN

Bit 18: PLL2 DIVR divider output enable Set and reset by software to enable the pll2_r_ck output of the PLL2. To save power, DIVR2EN and DIVR2 bits must be set to 0 when the pll2_r_ck is not used..

Allowed values:
0: Disabled: Clock output is disabled
1: Enabled: Clock output is enabled

PLL1DIVR

RCC PLL1 dividers register

Offset: 0x34, size: 32, reset: 0x01010280, access: Unspecified

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PLL1R
rw
PLL1Q
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PLL1P
rw
PLL1N
rw
Toggle fields

PLL1N

Bits 0-8: Multiplication factor for PLL1VCO Set and reset by software to control the multiplication factor of the VCO. These bits can be written only when the PLL is disabled (PLL1ON = 0 and PLL1RDY = 0). ... ... Others: reserved.

Allowed values: 0x3-0x1ff

PLL1P

Bits 9-15: PLL1 DIVP division factor Set and reset by software to control the frequency of the pll1_p_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). Note that odd division factors are not allowed. ....

Allowed values: 0x0-0x7f

PLL1Q

Bits 16-22: PLL1 DIVQ division factor Set and reset by software to control the frequency of the pll1_q_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ....

Allowed values: 0x0-0x7f

PLL1R

Bits 24-30: PLL1 DIVR division factor Set and reset by software to control the frequency of the pll1_r_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ....

Allowed values: 0x0-0x7f

PLL1FRACR

RCC PLL1 fractional divider register

Offset: 0x38, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PLL1FRACN
rw
Toggle fields

PLL1FRACN

Bits 3-15: fractional part of the multiplication factor for PLL1 VCO Set and reset by software to control the fractional part of the multiplication factor of the VCO. These bits can be written at any time, allowing dynamic fine-tuning of the PLL1 VCO. The software must set correctly these bits to insure that the VCO output frequency is between its valid frequency range, that is: * 128 to 560 MHz if PLL1VCOSEL = 0 * 150 to 420 MHz if PLL1VCOSEL = 1 VCO output frequency = Fref1_ck x (PLL1N + (PLL1FRACN / 213)), with * PLL1N between 8 and 420 * PLL1FRACN can be between 0 and 213- 1 * The input frequency Fref1_ck must be between 1 and 16 MHz. To change the PLL1FRACN value on-the-fly even if the PLL is enabled, the application must proceed as follows: * Set the bit PLL1FRACEN to 0 * Write the new fractional value into PLL1FRACN * Set the bit PLL1FRACEN to 1.

Allowed values: 0x0-0x1fff

PLL2DIVR

RCC PLL1 dividers register

Offset: 0x3c, size: 32, reset: 0x01010280, access: Unspecified

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PLL2R
rw
PLL2Q
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PLL2P
rw
PLL2N
rw
Toggle fields

PLL2N

Bits 0-8: Multiplication factor for PLL2VCO Set and reset by software to control the multiplication factor of the VCO. These bits can be written only when the PLL is disabled (PLL2ON = 0 and PLL2RDY = 0). ... ... Others: reserved.

Allowed values: 0x3-0x1ff

PLL2P

Bits 9-15: PLL2 DIVP division factor Set and reset by software to control the frequency of the pll2_p_ck clock. These bits can be written only when the PLL2 is disabled (PLL2ON = 0 and PLL2RDY = 0). ....

Allowed values: 0x0-0x7f

PLL2Q

Bits 16-22: PLL2 DIVQ division factor Set and reset by software to control the frequency of the pll2_q_ck clock. These bits can be written only when the PLL2 is disabled (PLL2ON = 0 and PLL2RDY = 0). ....

Allowed values: 0x0-0x7f

PLL2R

Bits 24-30: PLL2 DIVR division factor Set and reset by software to control the frequency of the pll2_r_ck clock. These bits can be written only when the PLL1 is disabled (PLL2ON = 0 and PLL2RDY = 0). ....

Allowed values: 0x0-0x7f

PLL2FRACR

RCC PLL2 fractional divider register

Offset: 0x40, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PLL2FRACN
rw
Toggle fields

PLL2FRACN

Bits 3-15: fractional part of the multiplication factor for PLL2 VCO Set and reset by software to control the fractional part of the multiplication factor of the VCO. These bits can be written at any time, allowing dynamic fine-tuning of the PLL2 VCO. The software must set correctly these bits to insure that the VCO output frequency is between its valid frequency range, that is: * 128 to 560 MHz if PLL2VCOSEL = 0 * 150 to 420 MHz if PLL2VCOSEL = 1 VCO output frequency = Fref2_ck x (PLL2N + (PLL2FRACN / 213)), with * PLL2N between 8 and 420 * PLL2FRACN can be between 0 and 213- 1 * The input frequency Fref2_ck must be between 1 and 16 MHz. To change the PLL2FRACN value on-the-fly even if the PLL is enabled, the application must proceed as follows: * Set the bit PLL2FRACEN to 0 * Write the new fractional value into PLL2FRACN * Set the bit PLL2FRACEN to 1.

Allowed values: 0x0-0x1fff

CIER

RCC clock source interrupt enable register

Offset: 0x50, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

Toggle fields

LSIRDYIE

Bit 0: LSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the LSI oscillator stabilization..

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

LSERDYIE

Bit 1: LSE ready interrupt enable Set and reset by software to enable/disable interrupt caused by the LSE oscillator stabilization..

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

CSIRDYIE

Bit 2: CSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the CSI oscillator stabilization..

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HSIRDYIE

Bit 3: HSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSI oscillator stabilization..

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HSERDYIE

Bit 4: HSE ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSE oscillator stabilization..

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

HSI48RDYIE

Bit 5: HSI48 ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSI48 oscillator stabilization..

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

PLL1RDYIE

Bit 6: PLL1 ready interrupt enable Set and reset by software to enable/disable interrupt caused by PLL1 lock..

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

PLL2RDYIE

Bit 7: PLL2 ready interrupt enable Set and reset by software to enable/disable interrupt caused by PLL2 lock..

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

CIFR

RCC clock source interrupt flag register

Offset: 0x54, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

Toggle fields

LSIRDYF

Bit 0: LSI ready interrupt flag Reset by software by writing LSIRDYC bit. Set by hardware when the LSI clock becomes stable and LSIRDYIE is set..

Allowed values:
0: NotInterrupted: No clock ready interrupt
1: Interrupted: Clock ready interrupt

LSERDYF

Bit 1: LSE ready interrupt flag Reset by software by writing LSERDYC bit. Set by hardware when the LSE clock becomes stable and LSERDYIE is set..

Allowed values:
0: NotInterrupted: No clock ready interrupt
1: Interrupted: Clock ready interrupt

CSIRDYF

Bit 2: CSI ready interrupt flag Reset by software by writing CSIRDYC bit. Set by hardware when the CSI clock becomes stable and CSIRDYIE is set..

Allowed values:
0: NotInterrupted: No clock ready interrupt
1: Interrupted: Clock ready interrupt

HSIRDYF

Bit 3: HSI ready interrupt flag Reset by software by writing HSIRDYC bit. Set by hardware when the HSI clock becomes stable and HSIRDYIE is set..

Allowed values:
0: NotInterrupted: No clock ready interrupt
1: Interrupted: Clock ready interrupt

HSERDYF

Bit 4: HSE ready interrupt flag Reset by software by writing HSERDYC bit. Set by hardware when the HSE clock becomes stable and HSERDYIE is set..

Allowed values:
0: NotInterrupted: No clock ready interrupt
1: Interrupted: Clock ready interrupt

HSI48RDYF

Bit 5: HSI48 ready interrupt flag Reset by software by writing HSI48RDYC bit. Set by hardware when the HSI48 clock becomes stable and HSI48RDYIE is set..

Allowed values:
0: NotInterrupted: No clock ready interrupt
1: Interrupted: Clock ready interrupt

PLL1RDYF

Bit 6: PLL1 ready interrupt flag Reset by software by writing PLL1RDYC bit. Set by hardware when the PLL1 locks and PLL1RDYIE is set..

Allowed values:
0: NotInterrupted: No clock ready interrupt
1: Interrupted: Clock ready interrupt

PLL2RDYF

Bit 7: PLL2 ready interrupt flag Reset by software by writing PLL2RDYC bit. Set by hardware when the PLL2 locks and PLL2RDYIE is set..

Allowed values:
0: NotInterrupted: No clock ready interrupt
1: Interrupted: Clock ready interrupt

HSECSSF

Bit 10: HSE clock security system interrupt flag Reset by software by writing HSECSSC bit. Set by hardware in case of HSE clock failure..

Allowed values:
0: NoInterrupt: No clock security interrupt caused by HSE clock failure
1: Interrupt: Clock security interrupt caused by HSE clock failure

CICR

RCC clock source interrupt clear register

Offset: 0x58, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HSECSSC
rw
PLL2RDYC
rw
PLL1RDYC
rw
HSI48RDYC
rw
HSERDYC
rw
HSIRDYC
rw
CSIRDYC
rw
LSERDYC
rw
LSIRDYC
rw
Toggle fields

LSIRDYC

Bit 0: LSI ready interrupt clear Set by software to clear LSIRDYF. Reset by hardware when clear done..

Allowed values:
1: Clear: Clear interrupt flag

LSERDYC

Bit 1: LSE ready interrupt clear Set by software to clear LSERDYF. Reset by hardware when clear done..

Allowed values:
1: Clear: Clear interrupt flag

CSIRDYC

Bit 2: HSI ready interrupt clear Set by software to clear CSIRDYF. Reset by hardware when clear done..

Allowed values:
1: Clear: Clear interrupt flag

HSIRDYC

Bit 3: HSI ready interrupt clear Set by software to clear HSIRDYF. Reset by hardware when clear done..

Allowed values:
1: Clear: Clear interrupt flag

HSERDYC

Bit 4: HSE ready interrupt clear Set by software to clear HSERDYF. Reset by hardware when clear done..

Allowed values:
1: Clear: Clear interrupt flag

HSI48RDYC

Bit 5: HSI48 ready interrupt clear Set by software to clear HSI48RDYF. Reset by hardware when clear done..

Allowed values:
1: Clear: Clear interrupt flag

PLL1RDYC

Bit 6: PLL1 ready interrupt clear Set by software to clear PLL1RDYF. Reset by hardware when clear done..

Allowed values:
1: Clear: Clear interrupt flag

PLL2RDYC

Bit 7: PLL2 ready interrupt clear Set by software to clear PLL2RDYF. Reset by hardware when clear done..

Allowed values:
1: Clear: Clear interrupt flag

HSECSSC

Bit 10: HSE clock security system interrupt clear Set by software to clear HSECSSF. Reset by hardware when clear done..

Allowed values:
1: Clear: Clear interrupt flag

AHB1RSTR

RCC AHB1 reset register

Offset: 0x60, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RAMCFGRST
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CRCRST
rw
GPDMA2RST
rw
GPDMA1RST
rw
Toggle fields

GPDMA1RST

Bit 0: GPDMA1 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

GPDMA2RST

Bit 1: GPDMA2 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

CRCRST

Bit 12: CRC block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

RAMCFGRST

Bit 17: RAMCFG block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

AHB2RSTR

RCC AHB2 peripheral reset register

Offset: 0x64, size: 32, reset: 0x00000000, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RNGRST
rw
HASHRST
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DAC12RST
rw
ADCRST
rw
GPIOHRST
rw
GPIODRST
rw
GPIOCRST
rw
GPIOBRST
rw
GPIOARST
rw
Toggle fields

GPIOARST

Bit 0: GPIOA block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

GPIOBRST

Bit 1: GPIOB block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

GPIOCRST

Bit 2: GPIOC block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

GPIODRST

Bit 3: GPIOD block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

GPIOHRST

Bit 7: GPIOH block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

ADCRST

Bit 10: ADC block reset.

Allowed values:
1: Reset: Reset the selected module

DAC12RST

Bit 11: DAC block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

HASHRST

Bit 17: HASH block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

RNGRST

Bit 18: RNG block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

APB1LRSTR

RCC APB1 peripheral low reset register

Offset: 0x74, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CRSRST
rw
I3C1RST
rw
I2C2RST
rw
I2C1RST
rw
USART3RST
rw
USART2RST
rw
COMPRST
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SPI3RST
rw
SPI2RST
rw
OPAMPRST
rw
TIM7RST
rw
TIM6RST
rw
TIM3RST
rw
TIM2RST
rw
Toggle fields

TIM2RST

Bit 0: TIM2 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

TIM3RST

Bit 1: TIM3 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

TIM6RST

Bit 4: TIM6 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

TIM7RST

Bit 5: TIM7 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

OPAMPRST

Bit 13: OPAMP block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

SPI2RST

Bit 14: SPI2 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

SPI3RST

Bit 15: SPI3 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

COMPRST

Bit 16: COMP block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

USART2RST

Bit 17: USART2 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

USART3RST

Bit 18: USART3 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

I2C1RST

Bit 21: I2C1 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

I2C2RST

Bit 22: I2C2 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

I3C1RST

Bit 23: I3C1 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

CRSRST

Bit 24: CRS block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

APB1HRSTR

RCC APB1 peripheral high reset register

Offset: 0x78, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FDCANRST
rw
LPTIM2RST
rw
DTSRST
rw
Toggle fields

DTSRST

Bit 3: DTS block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

LPTIM2RST

Bit 5: LPTIM2 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

FDCANRST

Bit 9: FDCAN block reset.

Allowed values:
1: Reset: Reset the selected module

APB2RSTR

RCC APB2 peripheral reset register

Offset: 0x7c, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
USBRST
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
USART1RST
rw
SPI1RST
rw
TIM1RST
rw
Toggle fields

TIM1RST

Bit 11: TIM1 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

SPI1RST

Bit 12: SPI1 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

USART1RST

Bit 14: USART1 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

USBRST

Bit 24: USB block reset.

Allowed values:
1: Reset: Reset the selected module

APB3RSTR

RCC APB3 peripheral reset register

Offset: 0x80, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
VREFRST
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LPTIM1RST
rw
I3C2RST
rw
LPUART1RST
rw
SBSRST
rw
Toggle fields

SBSRST

Bit 1: SBS block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

LPUART1RST

Bit 6: LPUART1 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

I3C2RST

Bit 9: I3C2RST block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

LPTIM1RST

Bit 11: LPTIM1 block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

VREFRST

Bit 20: VREF block reset Set and reset by software..

Allowed values:
1: Reset: Reset the selected module

AHB1ENR

RCC AHB1 peripherals clock register

Offset: 0x88, size: 32, reset: 0xD0000100, access: Unspecified

8/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SRAM1EN
rw
BKPRAMEN
rw
GTZC1EN
rw
RAMCFGEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CRCEN
rw
FLITFEN
rw
GPDMA2EN
rw
GPDMA1EN
rw
Toggle fields

GPDMA1EN

Bit 0: GPDMA1 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

GPDMA2EN

Bit 1: GPDMA2 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

FLITFEN

Bit 8: Flash interface clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

CRCEN

Bit 12: CRC clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

RAMCFGEN

Bit 17: RAMCFG clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

GTZC1EN

Bit 24: GTZC1 clock enable.

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

BKPRAMEN

Bit 28: BKPRAM clock enable Set and reset by software.

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

SRAM1EN

Bit 31: SRAM1 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

AHB2ENR

RCC AHB2 peripheral clock register

Offset: 0x8c, size: 32, reset: 0xC0000000, access: Unspecified

10/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SRAM2EN
rw
RNGEN
rw
HASHEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DAC12EN
rw
ADCEN
rw
GPIOHEN
rw
GPIODEN
rw
GPIOCEN
rw
GPIOBEN
rw
GPIOAEN
rw
Toggle fields

GPIOAEN

Bit 0: GPIOA clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

GPIOBEN

Bit 1: GPIOB clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

GPIOCEN

Bit 2: GPIOC clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

GPIODEN

Bit 3: GPIOD clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

GPIOHEN

Bit 7: GPIOH clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

ADCEN

Bit 10: ADC peripherals clock enabled.

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

DAC12EN

Bit 11: DAC clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

HASHEN

Bit 17: HASH clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

RNGEN

Bit 18: RNG clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

SRAM2EN

Bit 30: SRAM2 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

APB1LENR

RCC APB1 peripheral clock register

Offset: 0x9c, size: 32, reset: 0x00000000, access: Unspecified

15/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CRSEN
rw
I3C1EN
rw
I2C2EN
rw
I2C1EN
rw
USART3EN
rw
USART2EN
rw
COMPEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SPI3EN
rw
SPI2EN
rw
OPAMPEN
rw
WWDGEN
rw
TIM7EN
rw
TIM6EN
rw
TIM3EN
rw
TIM2EN
rw
Toggle fields

TIM2EN

Bit 0: TIM2 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

TIM3EN

Bit 1: TIM3 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

TIM6EN

Bit 4: TIM6 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

TIM7EN

Bit 5: TIM7 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

WWDGEN

Bit 11: WWDG clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

OPAMPEN

Bit 13: OPAMP clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

SPI2EN

Bit 14: SPI2 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

SPI3EN

Bit 15: SPI3 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

COMPEN

Bit 16: COMP clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

USART2EN

Bit 17: USART2 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

USART3EN

Bit 18: USART3 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

I2C1EN

Bit 21: I2C1 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

I2C2EN

Bit 22: I2C2 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

I3C1EN

Bit 23: I3C1 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

CRSEN

Bit 24: CRS clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

APB1HENR

RCC APB1 peripheral clock register

Offset: 0xa0, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FDCANEN
rw
LPTIM2EN
rw
DTSEN
rw
Toggle fields

DTSEN

Bit 3: DTS clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

LPTIM2EN

Bit 5: LPTIM2 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

FDCANEN

Bit 9: FDCAN peripheral clock enable.

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

APB2ENR

RCC APB2 peripheral clock register

Offset: 0xa4, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
USBEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
USART1EN
rw
SPI1EN
rw
TIM1EN
rw
Toggle fields

TIM1EN

Bit 11: TIM1 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

SPI1EN

Bit 12: SPI1 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

USART1EN

Bit 14: USART1 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

USBEN

Bit 24: USB clock enable.

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

APB3ENR

RCC APB3 peripheral clock register

Offset: 0xa8, size: 32, reset: 0x00000000, access: Unspecified

6/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RTCAPBEN
rw
VREFEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LPTIM1EN
rw
I3C2EN
rw
LPUART1EN
rw
SBSEN
rw
Toggle fields

SBSEN

Bit 1: SBS clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

LPUART1EN

Bit 6: LPUART1 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

I3C2EN

Bit 9: I3C2EN clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

LPTIM1EN

Bit 11: LPTIM1 clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

VREFEN

Bit 20: VREF clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

RTCAPBEN

Bit 21: RTC APB interface clock enable Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled
1: Enabled: The selected clock is enabled

AHB1LPENR

RCC AHB1 sleep clock register

Offset: 0xb0, size: 32, reset: 0xF13AD103, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SRAM1LPEN
rw
ICACHELPEN
rw
BKPRAMLPEN
rw
GTZC1LPEN
rw
RAMCFGLPEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CRCLPEN
rw
FLITFLPEN
rw
GPDMA2LPEN
rw
GPDMA1LPEN
rw
Toggle fields

GPDMA1LPEN

Bit 0: GPDMA1 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

GPDMA2LPEN

Bit 1: GPDMA2 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

FLITFLPEN

Bit 8: Flash interface (FLITF) clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

CRCLPEN

Bit 12: CRC clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

RAMCFGLPEN

Bit 17: RAMCFG clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

GTZC1LPEN

Bit 24: GTZC1 clock enable during sleep mode.

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

BKPRAMLPEN

Bit 28: BKPRAM clock enable during sleep mode Set and reset by software.

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

ICACHELPEN

Bit 29: ICACHE clock enable during sleep mode Set and reset by software.

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

SRAM1LPEN

Bit 31: SRAM1 clock enable during sleep mode Set and reset by software.

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

AHB2LPENR

RCC AHB2 sleep clock register

Offset: 0xb4, size: 32, reset: 0xC01F1DFF, access: Unspecified

10/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SRAM2LPEN
rw
RNGLPEN
rw
HASHLPEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DAC12LPEN
rw
ADCLPEN
rw
GPIOHLPEN
rw
GPIODLPEN
rw
GPIOCLPEN
rw
GPIOBLPEN
rw
GPIOALPEN
rw
Toggle fields

GPIOALPEN

Bit 0: GPIOA clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

GPIOBLPEN

Bit 1: GPIOB clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

GPIOCLPEN

Bit 2: GPIOC clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

GPIODLPEN

Bit 3: GPIOD clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

GPIOHLPEN

Bit 7: GPIOH clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

ADCLPEN

Bit 10: ADC peripherals clock enable during sleep mode.

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

DAC12LPEN

Bit 11: DAC clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

HASHLPEN

Bit 17: HASH clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

RNGLPEN

Bit 18: RNG clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

SRAM2LPEN

Bit 30: SRAM2 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

APB1LLPENR

RCC APB1 sleep clock register

Offset: 0xc4, size: 32, reset: 0xDFFEC9FF, access: Unspecified

15/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CRSLPEN
rw
I3C1LPEN
rw
I2C2LPEN
rw
I2C1LPEN
rw
USART3LPEN
rw
USART2LPEN
rw
COMPLPEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SPI3LPEN
rw
SPI2LPEN
rw
OPAMPLPEN
rw
WWDGLPEN
rw
TIM7LPEN
rw
TIM6LPEN
rw
TIM3LPEN
rw
TIM2LPEN
rw
Toggle fields

TIM2LPEN

Bit 0: TIM2 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

TIM3LPEN

Bit 1: TIM3 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

TIM6LPEN

Bit 4: TIM6 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

TIM7LPEN

Bit 5: TIM7 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

WWDGLPEN

Bit 11: WWDG clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

OPAMPLPEN

Bit 13: OPAMP clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

SPI2LPEN

Bit 14: SPI2 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

SPI3LPEN

Bit 15: SPI3 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

COMPLPEN

Bit 16: COMP clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

USART2LPEN

Bit 17: USART2 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

USART3LPEN

Bit 18: USART3 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

I2C1LPEN

Bit 21: I2C1 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

I2C2LPEN

Bit 22: I2C2 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

I3C1LPEN

Bit 23: I3C1 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

CRSLPEN

Bit 24: CRS clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

APB1HLPENR

RCC APB1 sleep clock register

Offset: 0xc8, size: 32, reset: 0x4080022B, access: Unspecified

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FDCANLPEN
rw
LPTIM2LPEN
rw
DTSLPEN
rw
Toggle fields

DTSLPEN

Bit 3: DTS clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

LPTIM2LPEN

Bit 5: LPTIM2 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

FDCANLPEN

Bit 9: FDCAN peripheral clock enable during sleep mode.

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

APB2LPENR

RCC APB2 sleep clock register

Offset: 0xcc, size: 32, reset: 0x017F7800, access: Unspecified

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
USBLPEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
USART1LPEN
rw
SPI1LPEN
rw
TIM1LPEN
rw
Toggle fields

TIM1LPEN

Bit 11: TIM1 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

SPI1LPEN

Bit 12: SPI1 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

USART1LPEN

Bit 14: USART1 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

USBLPEN

Bit 24: USB clock enable during sleep mode.

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

APB3LPENR

RCC APB3 sleep clock register

Offset: 0xd0, size: 32, reset: 0x0030FA42, access: Unspecified

6/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RTCAPBLPEN
rw
VREFLPEN
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LPTIM1LPEN
rw
I3C2LPEN
rw
LPUART1LPEN
rw
SBSLPEN
rw
Toggle fields

SBSLPEN

Bit 1: SBS clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

LPUART1LPEN

Bit 6: LPUART1 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

I3C2LPEN

Bit 9: I3C2 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

LPTIM1LPEN

Bit 11: LPTIM1 clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

VREFLPEN

Bit 20: VREF clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

RTCAPBLPEN

Bit 21: RTC APB interface clock enable during sleep mode Set and reset by software..

Allowed values:
0: Disabled: The selected clock is disabled during csleep mode
1: Enabled: The selected clock is enabled during csleep mode

CCIPR1

RCC kernel clock configuration register

Offset: 0xd8, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TIMICSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
USART3SEL
rw
USART2SEL
rw
USART1SEL
rw
Toggle fields

USART1SEL

Bits 0-2: USART1 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled.

Allowed values:
0: RCC_PCLK2: PCLK2 selected as clock source (rcc_pclk2)
1: PLL2_Q: PLL2 Q clock selected as clock source (pll2_q_ck)
3: HSI_KER: HSI kernel clock selected as clock source (hsi_ker_ck)
4: CSI_KER: CSI kernel clock selected as clock source (csi_ker_ck)
5: LSE: LSE clock selected as clock source (lse_ck)

USART2SEL

Bits 3-5: USART2 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled.

Allowed values:
0: RCC_PCLK1: PCLK1 selected as clock source (rcc_pclk1)
1: PLL2_Q: PLL2 Q clock selected as clock source (pll2_q_ck)
3: HSI_KER: HSI kernel clock selected as clock source (hsi_ker_ck)
4: CSI_KER: CSI kernel clock selected as clock source (csi_ker_ck)
5: LSE: LSE clock selected as clock source (lse_ck)

USART3SEL

Bits 6-8: USART3 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled.

Allowed values:
0: RCC_PCLK1: PCLK1 selected as clock source (rcc_pclk1)
1: PLL2_Q: PLL2 Q clock selected as clock source (pll2_q_ck)
3: HSI_KER: HSI kernel clock selected as clock source (hsi_ker_ck)
4: CSI_KER: CSI kernel clock selected as clock source (csi_ker_ck)
5: LSE: LSE clock selected as clock source (lse_ck)

TIMICSEL

Bit 31: TIM2, TIM3 and LPTIM2 input capture source selection Set and reset by software..

Allowed values:
0: Disabled: No internal clock available for timers input capture
1: Enabled: hsi_ker_ck/1024, hsi_ker_ck/8 and csi_ker_ck/128 selected for timers input capture

CCIPR2

RCC kernel clock configuration register

Offset: 0xdc, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LPTIM2SEL
rw
LPTIM1SEL
rw
Toggle fields

LPTIM1SEL

Bits 8-10: LPTIM1 kernel clock source selection others: reserved, the kernel clock is disabled.

Allowed values:
0: RCC_PCLK3: PCLK3 selected as clock source (rcc_pclk3)
1: PLL2_P: PLL2 P clock selected as clock source (pll2_p_ck)
3: LSE_KER: LSE kernel selected as clock source (lse_ck)
4: LSI_KER: LSI kernel selected as clock source (lsi_ker_ck)
5: PER_CK: per_ck clock selected as clock source

LPTIM2SEL

Bits 12-14: LPTIM2 kernel clock source selection others: reserved, the kernel clock is disabled.

Allowed values:
0: RCC_PCLK1: PCLK1 selected as clock source (rcc_pclk1)
1: PLL2_P: PLL2 P clock selected as clock source (pll2_p_ck)
3: LSE_KER: LSE kernel selected as clock source (lse_ck)
4: LSI_KER: LSI kernel selected as clock source (lsi_ker_ck)
5: PER_CK: per_ck clock selected as clock source

CCIPR3

RCC kernel clock configuration register

Offset: 0xe0, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LPUART1SEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SPI3SEL
rw
SPI2SEL
rw
SPI1SEL
rw
Toggle fields

SPI1SEL

Bits 0-2: SPI1 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled.

Allowed values:
0: PLL1_Q: PLL1 Q clock selected as clock source (pll1_q_ck)
1: PLL2_P: PLL2 P clock selected as clock source (pll2_p_ck)
3: AUDIOCLK: AUDIOCLK clock selected as clock source
4: PER_CK: per_ck clock selected as clock source

SPI2SEL

Bits 3-5: SPI2 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled.

Allowed values:
0: PLL1_Q: PLL1 Q clock selected as clock source (pll1_q_ck)
1: PLL2_P: PLL2 QP clock selected as clock source (pll2_p_ck)
3: AUDIOCLK: AUDIOCLK clock selected as clock source
4: PER_CK: per_ck clock selected as clock source

SPI3SEL

Bits 6-8: SPI3 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled.

Allowed values:
0: PLL1_Q: PLL1 Q clock selected as clock source (pll1_q_ck)
1: PLL2_P: PLL2 P clock selected as clock source (pll2_p_ck)
3: AUDIOCLK: AUDIOCLK clock selected as clock source
4: PER_CK: per_ck clock selected as clock source

LPUART1SEL

Bits 24-26: LPUART1 kernel clock source selection others: reserved, the kernel clock is disabled.

Allowed values:
0: RCC_PCLK3: PCLK3 selected as clock source (rcc_pclk3)
1: PLL2_Q: PLL2 Q clock selected as clock source (pll2_q_ck)
3: HSI_KER: HSI kernel clock selected as clock source (hsi_ker_ck)
4: CSI_KER: CSI kernel clock selected as clock source (csi_ker_ck)
5: LSE: LSE selected as clock source (lse_ck)

CCIPR4

RCC kernel clock configuration register

Offset: 0xe4, size: 32, reset: 0x00000000, access: Unspecified

6/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
I3C2SEL
rw
I3C1SEL
rw
I2C2SEL
rw
I2C1SEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
USBSEL
rw
SYSTICKSEL
rw
Toggle fields

SYSTICKSEL

Bits 2-3: SYSTICK clock source selection Note: rcc_hclk frequency must be four times higher than lsi_ker_ck/lse_ck (period (LSI/LSE) ≥ 4 * period (HCLK)..

Allowed values:
0: HCLK_DIV8: RCC HLCK divided by 8 selected as clock source (rcc_hclk / 8)
1: LSI_KER: LSI kernel selected as clock source (lsi_ker_ck)
2: LSE: LSE selected as clock source (lse_ck)

USBSEL

Bits 4-5: USB kernel clock source selection.

Allowed values:
0: DISABLE: Disable the clock
1: PLL1_Q: PLL1 Q clock selected as clock source (pll1_q_ck)
2: PLL2_Q: PLL2 Q clock selected as clock source (pll2_q_ck)
3: HSI48: HSI48 clock selected as clock source (hsi48_ker_ck)

I2C1SEL

Bits 16-17: I2C1 kernel clock source selection.

Allowed values:
0: RCC_PCLK1: PCLK1 selected as clock source (rcc_pclk1)
1: PLL2_R: PLL2 R Clock selected as clock source (pll2_r_ck)
2: HSI_KER: HSI kernel clock selected as clock source (hsi_ker_ck)
3: CSI_KER: CSI kernel clock selected as clock source (csi_ker_ck)

I2C2SEL

Bits 18-19: I2C2 kernel clock source selection.

Allowed values:
0: RCC_PCLK1: PCLK1 selected as clock source (rcc_pclk1)
1: PLL2_R: PLL2 R Clock selected as clock source (pll2_r_ck)
2: HSI_KER: HSI kernel clock selected as clock source (hsi_ker_ck)
3: CSI_KER: CSI kernel clock selected as clock source (csi_ker_ck)

I3C1SEL

Bits 24-25: I3C1 kernel clock source selection.

Allowed values:
0: RCC_PCLK1: PCLK1 selected as clock source (rcc_pclk1)
1: PLL2_R: PLL2 R Clock selected as clock source (pll2_r_ck)
2: HSI_KER: HSI kernel clock selected as clock source (hsi_ker_ck)

I3C2SEL

Bits 26-27: I3C2 kernel clock source selection.

Allowed values:
0: RCC_PCLK3: PCLK3 selected as clock source (rcc_pclk3)
1: PLL2_R: PLL2 R clock selected as clock source (pll2_r_ck)
2: HSI_KER: HSI kernel clock selected as clock source (hsi_ker_ck)

CCIPR5

RCC kernel clock configuration register

Offset: 0xe8, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CKPERSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FDCANSEL
rw
RNGSEL
rw
DAC1SEL
rw
ADCDACSEL
rw
Toggle fields

ADCDACSEL

Bits 0-2: ADC and DAC kernel clock source selection others: reserved, the kernel clock is disabled.

Allowed values:
0: HCLK: HLCK clock selected as clock source (rcc_hclk)
1: SYS: System clock selected as pclock source (sys_ck)
2: PLL2_R: PLL2 R clock selected as clock source (pll2_r_ck)
3: HSE: HSE clock selected as clock source (hse_ck)
4: HSI_KER: HSI kernel clock selected as clock source (hsi_ker_ck)
5: CSI_KER: CSI kernel clock selected as clock source (csi_ker_ck)

DAC1SEL

Bit 3: DAC hold clock.

Allowed values:
0: LSE: LSE selected as clock source (lse_ck)
1: LSI_KER: LSI kernel selected as clock source (lsi_ker_ck)

RNGSEL

Bits 4-5: RNG kernel clock source selection.

Allowed values:
0: HSI48_KER: HSI48 kernel clock selected as clock source (hsi48_ker_ck)
1: PLL1_Q: PLL1 Q clock selected as clock source (pll1_q_ck)
2: LSE: LSE clock selected as clock source (lse_ck)
3: LSI: LSI kernel clock selected as clock source (lsi_ker_ck)

FDCANSEL

Bits 8-9: FDCAN1 kernel clock source selection.

Allowed values:
0: HSE: HSE clock selected as clock source (hse_ck)
1: PLL1_Q: PLL1 Q clock selected as clock source (pll1_q_ck)
2: PLL2_Q: PLL2 Q clock selected as clock source (pll2_q_ck)

CKPERSEL

Bits 30-31: per_ck clock source selection.

Allowed values:
0: HSI_KER: HSI kernel clock selected as clock source (hsi_ker_ck)
1: CSI_KER: CSI kernel clock selected as clock source (csi_ker_ck)
2: HSE: HSE clock selected as clock source (hse_ck)

BDCR

RCC Backup domain control register

Offset: 0xf0, size: 32, reset: 0x00000000, access: Unspecified

13/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LSIRDY
rw
LSION
rw
LSCOSEL
rw
LSCOEN
rw
VSWRST
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RTCEN
rw
RTCSEL
rw
LSEEXT
rw
LSECSSD
rw
LSECSSON
rw
LSEDRV
rw
LSEBYP
rw
LSERDY
rw
LSEON
rw
Toggle fields

LSEON

Bit 0: LSE oscillator enabled Set and reset by software..

Allowed values:
0: Off: LSE oscillator Off
1: On: LSE oscillator On

LSERDY

Bit 1: LSE oscillator ready Set and reset by hardware to indicate when the LSE is stable. This bit needs 6 cycles of lse_ck clock to fall down after LSEON has been set to 0..

Allowed values:
0: NotReady: LSE oscillator not ready
1: Ready: LSE oscillator ready

LSEBYP

Bit 2: LSE oscillator bypass Set and reset by software to bypass oscillator in debug mode. This bit must not be written when the LSE is enabled (by LSEON) or ready (LSERDY = 1).

Allowed values:
0: NotBypassed: LSE crystal oscillator not bypassed
1: Bypassed: LSE crystal oscillator bypassed with external clock

LSEDRV

Bits 3-4: LSE oscillator driving capability Set by software to select the driving capability of the LSE oscillator. These bit can be written only if LSE oscillator is disabled (LSEON = 0 and LSERDY = 0)..

Allowed values:
0: Lowest: Lowest LSE oscillator driving capability
1: MediumLow: Medium low LSE oscillator driving capability
2: MediumHigh: Medium high LSE oscillator driving capability
3: Highest: Highest LSE oscillator driving capability

LSECSSON

Bit 5: LSE clock security system enable Set by software to enable the clock security system on 32 kHz oscillator. LSECSSON must be enabled after LSE is enabled (LSEON enabled) and ready (LSERDY set by hardware) and after RTCSEL is selected. Once enabled, this bit cannot be disabled, except after a LSE failure detection (LSECSSD = 1). In that case the software must disable LSECSSON..

Allowed values:
0: SecurityOff: Clock security system on 32 kHz oscillator off
1: SecurityOn: Clock security system on 32 kHz oscillator on

LSECSSD

Bit 6: LSE clock security system failure detection Set by hardware to indicate when a failure has been detected by the clock security system on the external 32 kHz oscillator..

Allowed values:
0: NoFailure: No failure detected on 32 kHz oscillator
1: Failure: Failure detected on 32 kHz oscillator

LSEEXT

Bit 7: low-speed external clock type in bypass mode Set and reset by software to select the external clock type (analog or digital). The external clock must be enabled with the LSEON bit, to be used by the device. The LSEEXT bit can be written only if the LSE oscillator is disabled..

Allowed values:
0: Analog: HSE in analog mode
1: Digital: HSE in digital mode

RTCSEL

Bits 8-9: RTC clock source selection Set by software to select the clock source for the RTC. These bits can be written only one time (except in case of failure detection on LSE). These bits must be written before LSECSSON is enabled. The VSWRST bit can be used to reset them, then it can be written one time again. If HSE is selected as RTC clock, this clock is lost when the system is in Stop mode or in case of a pin reset (NRST)..

Allowed values:
0: NoClock: No clock
1: LSE: LSE oscillator clock used as RTC clock
2: LSI: LSI oscillator clock used as RTC clock
3: HSE: HSE oscillator clock divided by a prescaler used as RTC clock

RTCEN

Bit 15: RTC clock enable Set and reset by software..

Allowed values:
0: Disabled: RTC clock disabled
1: Enabled: RTC clock enabled

VSWRST

Bit 16: VSwitch domain software reset Set and reset by software..

Allowed values:
0: NotActivated: Reset not activated
1: Reset: Resets the entire VSW domain

LSCOEN

Bit 24: Low-speed clock output (LSCO) enable Set and cleared by software..

LSCOSEL

Bit 25: Low-speed clock output selection Set and cleared by software..

Allowed values:
0: LSI: LSI clock selected
1: LSE: LSE clock selected

LSION

Bit 26: LSI oscillator enable Set and cleared by software..

Allowed values:
0: Disabled: Oscillator disabled
1: Enabled: Oscillator enabled

LSIRDY

Bit 27: LSI oscillator ready Set and cleared by hardware to indicate when the LSI oscillator is stable. After the LSION bit is cleared, LSIRDY goes low after three internal low-speed oscillator clock cycles. This bit is set when the LSI is used by IWDG or RTC, even if LSION = 0..

Allowed values:
0: NotReady: Clock not ready
1: Ready: Clock ready

RSR

RCC reset status register

Offset: 0xf4, size: 32, reset: 0x0C000000, access: Unspecified

7/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LPWRRSTF
rw
WWDGRSTF
rw
IWDGRSTF
rw
SFTRSTF
rw
BORRSTF
rw
PINRSTF
rw
RMVF
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

RMVF

Bit 23: remove reset flag Set and reset by software to reset the value of the reset flags..

Allowed values:
0: NotActivated: Reset not activated
1: Reset: Reset the reset status flags

PINRSTF

Bit 26: pin reset flag (NRST) Reset by software by writing the RMVF bit. Set by hardware when a reset from pin occurs..

Allowed values:
0: NoResetOccurred: No reset occurred for block
1: ResetOccurred: Reset occurred for block

BORRSTF

Bit 27: BOR reset flag Reset by software by writing the RMVF bit. Set by hardware when a BOR reset occurs (pwr_bor_rst)..

Allowed values:
0: NoResetOccurred: No reset occurred for block
1: ResetOccurred: Reset occurred for block

SFTRSTF

Bit 28: system reset from CPU reset flag Reset by software by writing the RMVF bit. Set by hardware when the system reset is due to CPU.The CPU can generate a system reset by writing SYSRESETREQ bit of AIRCR register of the core M33..

Allowed values:
0: NoResetOccurred: No reset occurred for block
1: ResetOccurred: Reset occurred for block

IWDGRSTF

Bit 29: independent watchdog reset flag Reset by software by writing the RMVF bit. Set by hardware when an independent watchdog reset occurs..

Allowed values:
0: NoResetOccurred: No reset occurred for block
1: ResetOccurred: Reset occurred for block

WWDGRSTF

Bit 30: window watchdog reset flag Reset by software by writing the RMVF bit. Set by hardware when a window watchdog reset occurs..

Allowed values:
0: NoResetOccurred: No reset occurred for block
1: ResetOccurred: Reset occurred for block

LPWRRSTF

Bit 31: Low-power reset flag Set by hardware when a reset occurs due to Stop or Standby mode entry, whereas the corresponding nRST_STOP, nRST_STBY option bit is cleared. Cleared by writing to the RMVF bit..

Allowed values:
0: NoResetOccurred: No reset occurred for block
1: ResetOccurred: Reset occurred for block

PRIVCFGR

RCC privilege configuration register

Offset: 0x114, size: 32, reset: 0x00000000, access: read-write

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRIV
rw
Toggle fields

PRIV

Bit 1: RCC functions privilege configuration.

Allowed values:
0: Any: RCC functions can be modified by privileged or unprivileged access
1: PrivilegedOnly: RCC functions can only be modified by privileged access

RNG

0x420c0800: True random number generator

4/18 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CR
0x4 SR
0x8 DR
0x10 HTCR
Toggle registers

CR

RNG control register

Offset: 0x0, size: 32, reset: 0x008000D0, access: Unspecified

0/11 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CONFIGLOCK
rw
CONDRST
rw
RNG_CONFIG1
rw
CLKDIV
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RNG_CONFIG2
rw
NISTC
rw
RNG_CONFIG3
rw
ARDIS
rw
CED
rw
IE
rw
RNGEN
rw
Toggle fields

RNGEN

Bit 2: True random number generator enable.

IE

Bit 3: Interrupt Enable.

CED

Bit 5: Clock error detection The clock error detection cannot be enabled nor disabled on-the-fly when the RNG is enabled, i.e. to enable or disable CED the RNG must be disabled. Writing this bit is taken into account only if CONDRST bit is set to 1 in the same access, while CONFIGLOCK remains at 0. Writing to this bit is ignored if CONFIGLOCK = 1..

ARDIS

Bit 7: Auto reset disable When auto-reset is enabled application still need to clear SEIS bit after a noise source error. Writing this bit is taken into account only if CONDRST bit is set to 1 in the same access, while CONFIGLOCK remains at 0. Writing to this bit is ignored if CONFIGLOCK = 1..

RNG_CONFIG3

Bits 8-11: RNG configuration 3 Reserved to the RNG configuration (bitfield 3). Refer to RNG_CONFIG1 bitfield for details. If NISTC bit is cleared in this register RNG_CONFIG3 bitfield values are ignored by RNG..

NISTC

Bit 12: Non NIST compliant two conditioning loops are performed and 256 bits of noise source are used. Writing this bit is taken into account only if CONDRST bit is set to 1 in the same access, while CONFIGLOCK remains at 0. Writing to this bit is ignored if CONFIGLOCK = 1..

RNG_CONFIG2

Bits 13-15: RNG configuration 2 Reserved to the RNG configuration (bitfield 2). Refer to RNG_CONFIG1 bitfield for details..

CLKDIV

Bits 16-19: Clock divider factor This value used to configure an internal programmable divider (from 1 to 16) acting on the incoming RNG clock. These bits can be written only when the core is disabled (RNGEN = 0). ... Writing these bits is taken into account only if CONDRST bit is set to 1 in the same access, while CONFIGLOCK remains at 0. Writing to this bit is ignored if CONFIGLOCK = 1..

RNG_CONFIG1

Bits 20-25: RNG configuration 1 Reserved to the RNG configuration (bitfield 1). Must be initialized using the recommended value documented in Section 23.6: RNG entropy source validation. Writing any bit of RNG_CONFIG1 is taken into account only if CONDRST bit is set to 1 in the same access, while CONFIGLOCK remains at 0. Writing to this bit is ignored if CONFIGLOCK = 1..

CONDRST

Bit 30: Conditioning soft reset Write 1 and then write 0 to reset the conditioning logic, clear all the FIFOs and start a new RNG initialization process, with RNG_SR cleared. Registers RNG_CR and RNG_NSCR are not changed by CONDRST. This bit must be set to 1 in the same access that set any configuration bits [29:4]. In other words, when CONDRST bit is set to 1 correct configuration in bits [29:4] must also be written. When CONDRST is set to 0 by software its value goes to 0 when the reset process is done. It takes about 2 AHB clock cycles + 2 RNG clock cycles..

CONFIGLOCK

Bit 31: RNG Config lock This bitfield is set once: if this bit is set it can only be reset to 0 if RNG is reset..

SR

RNG status register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

3/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SEIS
rw
CEIS
rw
SECS
r
CECS
r
DRDY
r
Toggle fields

DRDY

Bit 0: Data Ready Once the output buffer becomes empty (after reading the RNG_DR register), this bit returns to 0 until a new random value is generated. Note: The DRDY bit can rise when the peripheral is disabled (RNGEN = 0 in the RNG_CR register). If IE=1 in the RNG_CR register, an interrupt is generated when DRDY = 1..

CECS

Bit 1: Clock error current status Note: CECS bit is valid only if the CED bit in the RNG_CR register is set to 0..

SECS

Bit 2: Seed error current status Run-time repetition count test failed (noise source has provided more than 24 consecutive bits at a constant value 0 or 1, or more than 32 consecutive occurrence of two bits patterns 01 or 10) Start-up or continuous adaptive proportion test on noise source failed. Start-up post-processing/conditioning sanity check failed..

CEIS

Bit 5: Clock error interrupt status This bit is set at the same time as CECS. It is cleared by writing 0. Writing 1 has no effect. An interrupt is pending if IE = 1 in the RNG_CR register..

SEIS

Bit 6: Seed error interrupt status This bit is set at the same time as SECS. It is cleared by writing 0 (unless CONDRST is used). Writing 1 has no effect. An interrupt is pending if IE = 1 in the RNG_CR register..

DR

RNG data register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RNDATA
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RNDATA
r
Toggle fields

RNDATA

Bits 0-31: Random data 32-bit random data which are valid when DRDY = 1. When DRDY = 0 RNDATA value is zero. It is recommended to always verify that RNG_DR is different from zero. Because when it is the case a seed error occurred between RNG_SR polling and RND_DR output reading (rare event)..

HTCR

RNG health test control register

Offset: 0x10, size: 32, reset: 0x000072AC, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
HTCFG
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HTCFG
rw
Toggle fields

HTCFG

Bits 0-31: health test configuration This configuration is used by RNG to configure the health tests. See Section 23.6: RNG entropy source validation for the recommended value. Note: The RNG behavior, including the read to this register, is not guaranteed if a different value from the recommended value is written..

RTC

0x44007800: Real-time clock

33/142 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 TR
0x4 DR
0x8 SSR
0xc ICSR
0x10 PRER
0x14 WUTR
0x18 CR
0x1c PRIVCFGR
0x24 WPR
0x28 CALR
0x2c SHIFTR
0x30 TSTR
0x34 TSDR
0x38 TSSSR
0x40 ALRMAR
0x44 ALRMASSR
0x48 ALRMBR
0x4c ALRMBSSR
0x50 SR
0x54 MISR
0x5c SCR
0x70 ALRABINR
0x74 ALRBBINR
Toggle registers

TR

RTC time register

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

0/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PM
rw
HT
rw
HU
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MNT
rw
MNU
rw
ST
rw
SU
rw
Toggle fields

SU

Bits 0-3: Second units in BCD format.

ST

Bits 4-6: Second tens in BCD format.

MNU

Bits 8-11: Minute units in BCD format.

MNT

Bits 12-14: Minute tens in BCD format.

HU

Bits 16-19: Hour units in BCD format.

HT

Bits 20-21: Hour tens in BCD format.

PM

Bit 22: AM/PM notation.

DR

RTC date register

Offset: 0x4, size: 32, reset: 0x00002101, access: Unspecified

0/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
YT
rw
YU
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WDU
rw
MT
rw
MU
rw
DT
rw
DU
rw
Toggle fields

DU

Bits 0-3: Date units in BCD format.

DT

Bits 4-5: Date tens in BCD format.

MU

Bits 8-11: Month units in BCD format.

MT

Bit 12: Month tens in BCD format.

WDU

Bits 13-15: Week day units ....

YU

Bits 16-19: Year units in BCD format.

YT

Bits 20-23: Year tens in BCD format.

SSR

RTC subsecond register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SS
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SS
r
Toggle fields

SS

Bits 0-31: Synchronous binary counter SS[31:16]: Synchronous binary counter MSB values When Binary or Mixed mode is selected (BIN = 01 or 10 or 11): SS[31:16] are the 16 MSB of the SS[31:0] free-running down-counter. When BCD mode is selected (BIN=00): SS[31:16] are forced by hardware to 0x0000. SS[15:0]: Subsecond value/synchronous binary counter LSB values When Binary mode is selected (BIN = 01 or 10 or 11): SS[15:0] are the 16 LSB of the SS[31:0] free-running down-counter. When BCD mode is selected (BIN=00): SS[15:0] is the value in the synchronous prescaler counter. The fraction of a second is given by the formula below: Second fraction = (PREDIV_S - SS) / (PREDIV_S + 1) SS can be larger than PREDIV_S only after a shift operation. In that case, the correct time/date is one second less than as indicated by RTC_TR/RTC_DR..

ICSR

RTC initialization control and status register

Offset: 0xc, size: 32, reset: 0x00000007, access: Unspecified

5/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RECALPF
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BCDU
rw
BIN
rw
INIT
rw
INITF
r
RSF
rw
INITS
r
SHPF
r
WUTWF
r
Toggle fields

WUTWF

Bit 2: Wakeup timer write flag This bit is set by hardware when WUT value can be changed, after the WUTE bit has been set to 0 in RTC_CR. It is cleared by hardware in initialization mode..

SHPF

Bit 3: Shift operation pending This flag is set by hardware as soon as a shift operation is initiated by a write to the RTC_SHIFTR register. It is cleared by hardware when the corresponding shift operation has been executed. Writing to the SHPF bit has no effect..

INITS

Bit 4: Initialization status flag This bit is set by hardware when the calendar year field is different from 0 (Backup domain reset state)..

RSF

Bit 5: Registers synchronization flag This bit is set by hardware each time the calendar registers are copied into the shadow registers (RTC_SSR, RTC_TR and RTC_DR). This bit is cleared by hardware in initialization mode, while a shift operation is pending (SHPF = 1), or when in bypass shadow register mode (BYPSHAD = 1). This bit can also be cleared by software. It is cleared either by software or by hardware in initialization mode..

INITF

Bit 6: Initialization flag When this bit is set to 1, the RTC is in initialization state, and the time, date and prescaler registers can be updated..

INIT

Bit 7: Initialization mode.

BIN

Bits 8-9: Binary mode.

BCDU

Bits 10-12: BCD update (BIN = 10 or 11) In mixed mode when both BCD calendar and binary extended counter are used (BIN = 10 or 11), the calendar second is incremented using the SSR Least Significant Bits..

RECALPF

Bit 16: Recalibration pending Flag The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0. Refer to Re-calibration on-the-fly..

PRER

RTC prescaler register

Offset: 0x10, size: 32, reset: 0x007F00FF, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PREDIV_A
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PREDIV_S
rw
Toggle fields

PREDIV_S

Bits 0-14: Synchronous prescaler factor This is the synchronous division factor: ck_spre frequency = ck_apre frequency/(PREDIV_S+1).

PREDIV_A

Bits 16-22: Asynchronous prescaler factor This is the asynchronous division factor: ck_apre frequency = RTCCLK frequency/(PREDIV_A+1).

WUTR

RTC wakeup timer register

Offset: 0x14, size: 32, reset: 0x0000FFFF, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
WUTOCLR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WUT
rw
Toggle fields

WUT

Bits 0-15: Wakeup auto-reload value bits When the wakeup timer is enabled (WUTE set to 1), the WUTF flag is set every (WUT[15:0] + 1) ck_wut cycles. The ck_wut period is selected through WUCKSEL[2:0] bits of the RTC_CR register. When WUCKSEL[2] = 1, the wakeup timer becomes 17-bits and WUCKSEL[1] effectively becomes WUT[16] the most-significant bit to be reloaded into the timer. The first assertion of WUTF occurs between WUT and (WUT + 2) ck_wut cycles after WUTE is set. Setting WUT[15:0] to 0x0000 with WUCKSEL[2:0] = 011 (RTCCLK/2) is forbidden..

WUTOCLR

Bits 16-31: Wakeup auto-reload output clear value When WUTOCLR[15:0] is different from 0x0000, WUTF is set by hardware when the auto-reload down-counter reaches 0 and is cleared by hardware when the auto-reload downcounter reaches WUTOCLR[15:0]. When WUTOCLR[15:0] = 0x0000, WUTF is set by hardware when the WUT down-counter reaches 0 and is cleared by software..

CR

RTC control register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

0/29 fields covered.

Toggle fields

WUCKSEL

Bits 0-2: ck_wut wakeup clock selection 10x: ck_spre (usually 1 Hz) clock is selected in BCD mode. In binary or mixed mode, this is the clock selected by BCDU. 11x: ck_spre (usually 1 Hz) clock is selected in BCD mode. In binary or mixed mode, this is the clock selected by BCDU. Furthermore, 2<sup>16</sup> is added to the WUT counter value..

TSEDGE

Bit 3: Timestamp event active edge TSE must be reset when TSEDGE is changed to avoid unwanted TSF setting..

REFCKON

Bit 4: RTC_REFIN reference clock detection enable (50 or 60 Hz) Note: BIN must be 0x00 and PREDIV_S must be 0x00FF..

BYPSHAD

Bit 5: Bypass the shadow registers Note: If the frequency of the APB1 clock is less than seven times the frequency of RTCCLK, BYPSHAD must be set to 1..

FMT

Bit 6: Hour format.

SSRUIE

Bit 7: SSR underflow interrupt enable.

ALRAE

Bit 8: Alarm A enable.

ALRBE

Bit 9: Alarm B enable.

WUTE

Bit 10: Wakeup timer enable Note: When the wakeup timer is disabled, wait for WUTWF = 1 before enabling it again..

TSE

Bit 11: timestamp enable.

ALRAIE

Bit 12: Alarm A interrupt enable.

ALRBIE

Bit 13: Alarm B interrupt enable.

WUTIE

Bit 14: Wakeup timer interrupt enable.

TSIE

Bit 15: Timestamp interrupt enable.

ADD1H

Bit 16: Add 1 hour (summer time change) When this bit is set outside initialization mode, 1 hour is added to the calendar time. This bit is always read as 0..

SUB1H

Bit 17: Subtract 1 hour (winter time change) When this bit is set outside initialization mode, 1 hour is subtracted to the calendar time if the current hour is not 0. This bit is always read as 0. Setting this bit has no effect when current hour is 0..

BKP

Bit 18: Backup This bit can be written by the user to memorize whether the daylight saving time change has been performed or not..

COSEL

Bit 19: Calibration output selection When COE = 1, this bit selects which signal is output on CALIB. These frequencies are valid for RTCCLK at 32.768 kHz and prescalers at their default values (PREDIV_A = 127 and PREDIV_S = 255). Refer to Section 31.3.17: Calibration clock output..

POL

Bit 20: Output polarity This bit is used to configure the polarity of TAMPALRM output..

OSEL

Bits 21-22: Output selection These bits are used to select the flag to be routed to TAMPALRM output..

COE

Bit 23: Calibration output enable This bit enables the CALIB output.

ITSE

Bit 24: timestamp on internal event enable.

TAMPTS

Bit 25: Activate timestamp on tamper detection event TAMPTS is valid even if TSE = 0 in the RTC_CR register. Timestamp flag is set up to 3 ck_apre cycles after the tamper flags..

TAMPOE

Bit 26: Tamper detection output enable on TAMPALRM.

ALRAFCLR

Bit 27: Alarm A flag automatic clear.

ALRBFCLR

Bit 28: Alarm B flag automatic clear.

TAMPALRM_PU

Bit 29: TAMPALRM pull-up enable.

TAMPALRM_TYPE

Bit 30: TAMPALRM output type.

OUT2EN

Bit 31: RTC_OUT2 output enable With this bit set, the RTC outputs can be remapped on RTC_OUT2 as follows: OUT2EN = 0: RTC output 2 disable If OSEL ≠ 00 or TAMPOE = 1: TAMPALRM is output on RTC_OUT1 If OSEL = 00 and TAMPOE = 0 and COE = 1: CALIB is output on RTC_OUT1 OUT2EN = 1: RTC output 2 enable If (OSEL ≠ 00 or TAMPOE = 1) and COE = 0: TAMPALRM is output on RTC_OUT2 If OSEL = 00 and TAMPOE = 0 and COE = 1: CALIB is output on RTC_OUT2 If (OSEL ≠ 00 or TAMPOE = 1) and COE = 1: CALIB is output on RTC_OUT2 and TAMPALRM is output on RTC_OUT1..

PRIVCFGR

RTC privilege mode control register

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

0/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRIV
rw
INITPRIV
rw
CALPRIV
rw
TSPRIV
rw
WUTPRIV
rw
ALRBPRIV
rw
ALRAPRIV
rw
Toggle fields

ALRAPRIV

Bit 0: Alarm A and SSR underflow privilege protection.

ALRBPRIV

Bit 1: Alarm B privilege protection.

WUTPRIV

Bit 2: Wakeup timer privilege protection.

TSPRIV

Bit 3: Timestamp privilege protection.

CALPRIV

Bit 13: Shift register, Delight saving, calibration and reference clock privilege protection.

INITPRIV

Bit 14: Initialization privilege protection.

PRIV

Bit 15: RTC privilege protection.

WPR

RTC write protection register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
KEY
w
Toggle fields

KEY

Bits 0-7: Write protection key This byte is written by software. Reading this byte always returns 0x00. Refer to RTC register write protection for a description of how to unlock RTC register write protection..

CALR

RTC calibration register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

0/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CALP
rw
CALW8
rw
CALW16
rw
LPCAL
rw
CALM
rw
Toggle fields

CALM

Bits 0-8: Calibration minus The frequency of the calendar is reduced by masking CALM out of 2<sup>20</sup> RTCCLK pulses (32 seconds if the input frequency is 32768 Hz). This decreases the frequency of the calendar with a resolution of 0.9537 ppm. To increase the frequency of the calendar, this feature should be used in conjunction with CALP. See Section 31.3.15: RTC smooth digital calibration on page 1092..

LPCAL

Bit 12: RTC low-power mode.

CALW16

Bit 13: Use a 16-second calibration cycle period When CALW16 is set to 1, the 16-second calibration cycle period is selected. This bit must not be set to 1 if CALW8 = 1. Note: CALM[0] is stuck at 0 when CALW16 = 1. Refer to Section 31.3.15: RTC smooth digital calibration..

CALW8

Bit 14: Use an 8-second calibration cycle period When CALW8 is set to 1, the 8-second calibration cycle period is selected. Note: CALM[1:0] are stuck at 00 when CALW8 = 1. Refer to Section 31.3.15: RTC smooth digital calibration..

CALP

Bit 15: Increase frequency of RTC by 488.5 ppm This feature is intended to be used in conjunction with CALM, which lowers the frequency of the calendar with a fine resolution. if the input frequency is 32768 Hz, the number of RTCCLK pulses added during a 32-second window is calculated as follows: (512 × CALP) ‑ CALM. Refer to Section 31.3.15: RTC smooth digital calibration..

SHIFTR

RTC shift control register

Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADD1S
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SUBFS
w
Toggle fields

SUBFS

Bits 0-14: Subtract a fraction of a second These bits are write only and is always read as zero. Writing to this bit has no effect when a shift operation is pending (when SHPF = 1, in RTC_ICSR). The value which is written to SUBFS is added to the synchronous prescaler counter. Since this counter counts down, this operation effectively subtracts from (delays) the clock by: Delay (seconds) = SUBFS / (PREDIV_S + 1) A fraction of a second can effectively be added to the clock (advancing the clock) when the ADD1S function is used in conjunction with SUBFS, effectively advancing the clock by: Advance (seconds) = (1 - (SUBFS / (PREDIV_S + 1))). In mixed BCD-binary mode (BIN=10 or 11), the SUBFS[14:BCDU+8] must be written with 0. Note: Writing to SUBFS causes RSF to be cleared. Software can then wait until RSF = 1 to be sure that the shadow registers have been updated with the shifted time..

ADD1S

Bit 31: Add one second This bit is write only and is always read as zero. Writing to this bit has no effect when a shift operation is pending (when SHPF = 1, in RTC_ICSR). This function is intended to be used with SUBFS (see description below) in order to effectively add a fraction of a second to the clock in an atomic operation..

TSTR

RTC timestamp time register

Offset: 0x30, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PM
r
HT
r
HU
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MNT
r
MNU
r
ST
r
SU
r
Toggle fields

SU

Bits 0-3: Second units in BCD format..

ST

Bits 4-6: Second tens in BCD format..

MNU

Bits 8-11: Minute units in BCD format..

MNT

Bits 12-14: Minute tens in BCD format..

HU

Bits 16-19: Hour units in BCD format..

HT

Bits 20-21: Hour tens in BCD format..

PM

Bit 22: AM/PM notation.

TSDR

RTC timestamp date register

Offset: 0x34, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WDU
r
MT
r
MU
r
DT
r
DU
r
Toggle fields

DU

Bits 0-3: Date units in BCD format.

DT

Bits 4-5: Date tens in BCD format.

MU

Bits 8-11: Month units in BCD format.

MT

Bit 12: Month tens in BCD format.

WDU

Bits 13-15: Week day units.

TSSSR

RTC timestamp subsecond register

Offset: 0x38, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SS
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SS
r
Toggle fields

SS

Bits 0-31: Subsecond value/synchronous binary counter values SS[31:0] is the value of the synchronous prescaler counter when the timestamp event occurred..

ALRMAR

RTC alarm A register

Offset: 0x40, size: 32, reset: 0x00000000, access: Unspecified

0/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MSK4
rw
WDSEL
rw
DT
rw
DU
rw
MSK3
rw
PM
rw
HT
rw
HU
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MSK2
rw
MNT
rw
MNU
rw
MSK1
rw
ST
rw
SU
rw
Toggle fields

SU

Bits 0-3: Second units in BCD format..

ST

Bits 4-6: Second tens in BCD format..

MSK1

Bit 7: Alarm A seconds mask.

MNU

Bits 8-11: Minute units in BCD format.

MNT

Bits 12-14: Minute tens in BCD format.

MSK2

Bit 15: Alarm A minutes mask.

HU

Bits 16-19: Hour units in BCD format.

HT

Bits 20-21: Hour tens in BCD format.

PM

Bit 22: AM/PM notation.

MSK3

Bit 23: Alarm A hours mask.

DU

Bits 24-27: Date units or day in BCD format.

DT

Bits 28-29: Date tens in BCD format.

WDSEL

Bit 30: Week day selection.

MSK4

Bit 31: Alarm A date mask.

ALRMASSR

RTC alarm A subsecond register

Offset: 0x44, size: 32, reset: 0x00000000, access: Unspecified

0/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SSCLR
rw
MASKSS
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SS
rw
Toggle fields

SS

Bits 0-14: Subseconds value This value is compared with the contents of the synchronous prescaler counter to determine if alarm A is to be activated. Only bits 0 up MASKSS-1 are compared. This field is the mirror of SS[14:0] in the RTC_ALRMABINR, and so can also be read or written through RTC_ALRMABINR..

MASKSS

Bits 24-29: Mask the most-significant bits starting at this bit ... From 32 to 63: All 32 SS bits are compared and must match to activate alarm. Note: In BCD mode (BIN=00) the overflow bits of the synchronous counter (bits 31:15) are never compared. These bits can be different from 0 only after a shift operation..

SSCLR

Bit 31: Clear synchronous counter on alarm (Binary mode only) Note: SSCLR must be kept to 0 when BCD or mixed mode is used (BIN = 00, 10 or 11)..

ALRMBR

RTC alarm B register

Offset: 0x48, size: 32, reset: 0x00000000, access: Unspecified

0/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MSK4
rw
WDSEL
rw
DT
rw
DU
rw
MSK3
rw
PM
rw
HT
rw
HU
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MSK2
rw
MNT
rw
MNU
rw
MSK1
rw
ST
rw
SU
rw
Toggle fields

SU

Bits 0-3: Second units in BCD format.

ST

Bits 4-6: Second tens in BCD format.

MSK1

Bit 7: Alarm B seconds mask.

MNU

Bits 8-11: Minute units in BCD format.

MNT

Bits 12-14: Minute tens in BCD format.

MSK2

Bit 15: Alarm B minutes mask.

HU

Bits 16-19: Hour units in BCD format.

HT

Bits 20-21: Hour tens in BCD format.

PM

Bit 22: AM/PM notation.

MSK3

Bit 23: Alarm B hours mask.

DU

Bits 24-27: Date units or day in BCD format.

DT

Bits 28-29: Date tens in BCD format.

WDSEL

Bit 30: Week day selection.

MSK4

Bit 31: Alarm B date mask.

ALRMBSSR

RTC alarm B subsecond register

Offset: 0x4c, size: 32, reset: 0x00000000, access: Unspecified

0/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SSCLR
rw
MASKSS
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SS
rw
Toggle fields

SS

Bits 0-14: Subseconds value This value is compared with the contents of the synchronous prescaler counter to determine if alarm B is to be activated. Only bits 0 up to MASKSS-1 are compared. This field is the mirror of SS[14:0] in the RTC_ALRMBBINR, and so can also be read or written through RTC_ALRMBBINR..

MASKSS

Bits 24-29: Mask the most-significant bits starting at this bit ... From 32 to 63: All 32 SS bits are compared and must match to activate alarm. Note: In BCD mode (BIN=00)The overflow bits of the synchronous counter (bits 15) is never compared. This bit can be different from 0 only after a shift operation..

SSCLR

Bit 31: Clear synchronous counter on alarm (Binary mode only) Note: SSCLR must be kept to 0 when BCD or mixed mode is used (BIN = 00, 10 or 11)..

SR

RTC status register

Offset: 0x50, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SSRUF
r
ITSF
r
TSOVF
r
TSF
r
WUTF
r
ALRBF
r
ALRAF
r
Toggle fields

ALRAF

Bit 0: Alarm A flag This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the alarm A register (RTC_ALRMAR)..

ALRBF

Bit 1: Alarm B flag This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the alarm B register (RTC_ALRMBR)..

WUTF

Bit 2: Wakeup timer flag This flag is set by hardware when the wakeup auto-reload counter reaches 0. If WUTOCLR[15:0] is different from 0x0000, WUTF is cleared by hardware when the wakeup auto-reload counter reaches WUTOCLR value. If WUTOCLR[15:0] is 0x0000, WUTF must be cleared by software. This flag must be cleared by software at least 1.5 RTCCLK periods before WUTF is set to 1 again..

TSF

Bit 3: Timestamp flag This flag is set by hardware when a timestamp event occurs. If ITSF flag is set, TSF must be cleared together with ITSF. Note: TSF is not set if TAMPTS = 1 and the tamper flag is read during the 3 ck_apre cycles following tamper event. Refer to Timestamp on tamper event for more details..

TSOVF

Bit 4: Timestamp overflow flag This flag is set by hardware when a timestamp event occurs while TSF is already set. It is recommended to check and then clear TSOVF only after clearing the TSF bit. Otherwise, an overflow might not be noticed if a timestamp event occurs immediately before the TSF bit is cleared..

ITSF

Bit 5: Internal timestamp flag This flag is set by hardware when a timestamp on the internal event occurs..

SSRUF

Bit 6: SSR underflow flag This flag is set by hardware when the SSR rolls under 0. SSRUF is not set when SSCLR=1..

MISR

RTC masked interrupt status register

Offset: 0x54, size: 32, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SSRUMF
r
ITSMF
r
TSOVMF
r
TSMF
r
WUTMF
r
ALRBMF
r
ALRAMF
r
Toggle fields

ALRAMF

Bit 0: Alarm A masked flag This flag is set by hardware when the alarm A interrupt occurs..

ALRBMF

Bit 1: Alarm B masked flag This flag is set by hardware when the alarm B interrupt occurs..

WUTMF

Bit 2: Wakeup timer masked flag This flag is set by hardware when the wakeup timer interrupt occurs. This flag must be cleared by software at least 1.5 RTCCLK periods before WUTF is set to 1 again..

TSMF

Bit 3: Timestamp masked flag This flag is set by hardware when a timestamp interrupt occurs. If ITSF flag is set, TSF must be cleared together with ITSF..

TSOVMF

Bit 4: Timestamp overflow masked flag This flag is set by hardware when a timestamp interrupt occurs while TSMF is already set. It is recommended to check and then clear TSOVF only after clearing the TSF bit. Otherwise, an overflow might not be noticed if a timestamp event occurs immediately before the TSF bit is cleared..

ITSMF

Bit 5: Internal timestamp masked flag This flag is set by hardware when a timestamp on the internal event occurs and timestampinterrupt is raised..

SSRUMF

Bit 6: SSR underflow masked flag This flag is set by hardware when the SSR underflow interrupt occurs..

SCR

RTC status clear register

Offset: 0x5c, size: 32, reset: 0x00000000, access: Unspecified

0/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CSSRUF
w
CITSF
w
CTSOVF
w
CTSF
w
CWUTF
w
CALRBF
w
CALRAF
w
Toggle fields

CALRAF

Bit 0: Clear alarm A flag Writing 1 in this bit clears the ALRAF bit in the RTC_SR register..

CALRBF

Bit 1: Clear alarm B flag Writing 1 in this bit clears the ALRBF bit in the RTC_SR register..

CWUTF

Bit 2: Clear wakeup timer flag Writing 1 in this bit clears the WUTF bit in the RTC_SR register..

CTSF

Bit 3: Clear timestamp flag Writing 1 in this bit clears the TSOVF bit in the RTC_SR register. If ITSF flag is set, TSF must be cleared together with ITSF by setting CRSF and CITSF..

CTSOVF

Bit 4: Clear timestamp overflow flag Writing 1 in this bit clears the TSOVF bit in the RTC_SR register. It is recommended to check and then clear TSOVF only after clearing the TSF bit. Otherwise, an overflow might not be noticed if a timestamp event occurs immediately before the TSF bit is cleared..

CITSF

Bit 5: Clear internal timestamp flag Writing 1 in this bit clears the ITSF bit in the RTC_SR register..

CSSRUF

Bit 6: Clear SSR underflow flag Writing ‘1’ in this bit clears the SSRUF in the RTC_SR register..

ALRABINR

RTC alarm A binary mode register

Offset: 0x70, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SS
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SS
rw
Toggle fields

SS

Bits 0-31: Synchronous counter alarm value in Binary mode This value is compared with the contents of the synchronous counter to determine if Alarm A is to be activated. Only bits 0 up MASKSS-1 are compared. SS[14:0] is the mirror of SS[14:0] in the RTC_ALRMASSRR, and so can also be read or written through RTC_ALRMASSR..

ALRBBINR

RTC alarm B binary mode register

Offset: 0x74, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SS
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SS
rw
Toggle fields

SS

Bits 0-31: Synchronous counter alarm value in Binary mode This value is compared with the contents of the synchronous counter to determine if Alarm Bis to be activated. Only bits 0 up MASKSS-1 are compared. SS[14:0] is the mirror of SS[14:0] in the RTC_ALRMBSSRR, and so can also be read or written through RTC_ALRMBSSR..

SBS

0x44000400: System configuration, boot and security

38/40 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x10 HDPLCR
0x14 HDPLSR
0x20 DBGCR
0x24 DBGLOCKR
0x100 PMCR
0x104 FPUIMR
0x108 MESR
0x110 CCCSR
0x114 CCVALR
0x118 CCSWCR
0x120 CFGR2
0x144 CNSLCKR
0x14c ECCNMIR
Toggle registers

HDPLCR

SBS temporal isolation control register

Offset: 0x10, size: 32, reset: 0x000000B4, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
INCR_HDPL
rw
Toggle fields

INCR_HDPL

Bits 0-7: increment HDPL value Other: all other values allow a HDPL level increment..

Allowed values:
106: Increment: Increment HDPL value

HDPLSR

SBS temporal isolation status register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HDPL
r
Toggle fields

HDPL

Bits 0-7: temporal isolation level This bitfield returns the current temporal isolation level..

Allowed values:
81: HDPL1: Protection level to be used to execute and protect immutable Root of Trust (IROT) stage
111: HDPL3: Protection level to be used to execute the application
138: HDPL2: Protection level to be used to execute and protect an updatable Root of Trust (UROT) stage
180: HDPL0: Protection level reserved for ST code and data

DBGCR

SBS debug control register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DBG_AUTH_HDPL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBG_UNLOCK
rw
AP_UNLOCK
rw
Toggle fields

AP_UNLOCK

Bits 0-7: access port unlock Write 0xB4 to this bitfield to open the device access port..

Allowed values:
180: Unlocked: Device access port unlocked

DBG_UNLOCK

Bits 8-15: debug unlock when DBG_AUTH_HDPL is reached Write 0xB4 to this bitfield to open the debug when HDPL in SBS_HDPLSR equals to DBG_AUTH_HDPL in this register..

Allowed values:
180: Unlocked: Debug unlocked when HDPLSR:HDPL is equal to DBG_AUTH_HDPL

DBG_AUTH_HDPL

Bits 16-23: authenticated debug temporal isolation level Writing to this bitfield defines at which HDPL the authenticated debug opens. Note: Writing any other values is ignored. Reading any other value means the debug never opens..

Allowed values:
81: HDPL1: Protection level to be used to execute and protect immutable Root of Trust (IROT) stage
111: HDPL3: Protection level to be used to execute the application
138: HDPL2: Protection level to be used to execute and protect an updatable Root of Trust (UROT) stage

DBGLOCKR

SBS debug lock register

Offset: 0x24, size: 32, reset: 0x000000B4, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBGCFG_LOCK
rw
Toggle fields

DBGCFG_LOCK

Bits 0-7: debug configuration lock Reading this bitfield returns 0x6A if the bitfield value is different from 0xB4. 0xC3 is the recommended value to lock the debug configuration using this bitfield. Other: Writes to SBS_DBGCR ignored.

Allowed values:
106: Locked: Debug configuration register (DBGCR) locked
180: Unlocked: Debug configuration register (DBGCR) unlocked

PMCR

SBS product mode and configuration register

Offset: 0x100, size: 32, reset: 0x00000000, access: Unspecified

3/5 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PB8_FMP
rw
PB7_FMP
rw
PB6_FMP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BOOSTVDDSEL
rw
BOOSTEN
rw
Toggle fields

BOOSTEN

Bit 8: booster enable Set this bit to reduce the total harmonic distortion of the analog switch when the processor supply is below 2.7 V. The booster can be activated to guaranty AC performance on analog switch when the supply is below 2.7 V. When the booster is activated, the analog switch performances are the same as with the full voltage range..

BOOSTVDDSEL

Bit 9: booster V<sub>DD</sub> selection Note: Booster must not be used when V<sub>DDA</sub> < 2.7 V, but V<sub>DD</sub> > 2.7 V (add current consumption). Note: When both V<sub>DD</sub> < 2.7 V and V<sub>DDA</sub> < 2.7 V, booster is needed to get full AC performances from I/O analog switches..

PB6_FMP

Bit 16: Fast-mode Plus command on PB(6).

Allowed values:
0: Disabled: Fast-mode Plus mode on PB6 disabled
1: Enabled: Fast-mode Plus mode on PB6 enabled

PB7_FMP

Bit 17: Fast-mode Plus command on PB(7).

Allowed values:
0: Disabled: Fast-mode Plus mode on PB7 disabled
1: Enabled: Fast-mode Plus mode on PB7 enabled

PB8_FMP

Bit 18: Fast-mode Plus command on PB(8).

Allowed values:
0: Disabled: Fast-mode Plus mode on PB8 disabled
1: Enabled: Fast-mode Plus mode on PB8 enabled

FPUIMR

SBS FPU interrupt mask register

Offset: 0x104, size: 32, reset: 0x0000001F, access: Unspecified

6/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FPU_IE5
N/A
FPU_IE4
N/A
FPU_IE3
N/A
FPU_IE2
N/A
FPU_IE1
N/A
FPU_IE0
N/A
Toggle fields

FPU_IE0

Bit 0: FPU interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

FPU_IE1

Bit 1: FPU interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

FPU_IE2

Bit 2: FPU interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

FPU_IE3

Bit 3: FPU interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

FPU_IE4

Bit 4: FPU interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

FPU_IE5

Bit 5: FPU interrupt enable.

Allowed values:
0: Disabled: Interrupt disabled
1: Enabled: Interrupt enabled

MESR

SBS memory erase status register

Offset: 0x108, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
IPMEE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MCLR
rw
Toggle fields

MCLR

Bit 0: erase after reset status This bit shows the status of the protection for SRAM2, BKPRAM, ICACHE, ICACHE. It is set by hardware and reset by software.

Allowed values:
0: EraseInProgress: Memory erase in progress
1: EraseComplete: Memory erase complete

IPMEE

Bit 16: end-of-erase status for ICACHE This bit shows the status of the protection for ICACHE. It is set by hardware and reset by software..

Allowed values:
0: EraseInProgress: ICACHE erase ongoing
1: EraseCompleted: ICACHE erase completed

CCCSR

SBS compensation cell for I/Os control and status register

Offset: 0x110, size: 32, reset: 0x00000000, access: Unspecified

6/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RDY2
r
RDY1
r
CS2
rw
EN2
rw
CS1
rw
EN1
rw
Toggle fields

EN1

Bit 0: enable compensation cell for VDDIO power rail This bit enables the I/O compensation cell..

Allowed values:
0: Disabled: I/O compensation cell disabled
1: Enabled: I/O compensation cell enabled

CS1

Bit 1: code selection for VDDIO power rail (reset value set to 1) This bit selects the code to be applied for the I/O compensation cell..

Allowed values:
0: Cell: Code from cell selected
1: CCSWCR: Code from CCSWCR selected

EN2

Bit 2: enable compensation cell for VDDIO2 power rail This bit enables the I/O compensation cell..

Allowed values:
0: Disabled: I/O compensation cell disabled
1: Enabled: I/O compensation cell enabled

CS2

Bit 3: code selection for VDDIO2 power rail (reset value set to 1) This bit selects the code to be applied for the I/O compensation cell..

Allowed values:
0: Cell: Code from cell selected
1: CCSWCR: Code from CCSWCR selected

RDY1

Bit 8: VDDIO compensation cell ready flag This bit provides the status of the compensation cell..

Allowed values:
0: NotReady: VDDIO compensation cell not ready
1: Ready: VDDIO compensation cell ready

RDY2

Bit 9: VDDIO2 compensation cell ready flag This bit provides the status of the VDDIO2 compensation cell..

Allowed values:
0: NotReady: VDDIO compensation cell not ready
1: Ready: VDDIO compensation cell ready

CCVALR

SBS compensation cell for I/Os value register

Offset: 0x114, size: 32, reset: 0x00000088, access: Unspecified

4/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
APSRC2
r
ANSRC2
r
APSRC1
r
ANSRC1
r
Toggle fields

ANSRC1

Bits 0-3: compensation value for the NMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range..

APSRC1

Bits 4-7: compensation value for the PMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range..

ANSRC2

Bits 8-11: Compensation value for the NMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range..

APSRC2

Bits 12-15: compensation value for the PMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range..

CCSWCR

SBS compensation cell for I/Os software code register

Offset: 0x118, size: 32, reset: 0x00007878, access: Unspecified

4/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SW_APSRC2
rw
SW_ANSRC2
rw
SW_APSRC1
rw
SW_ANSRC1
rw
Toggle fields

SW_ANSRC1

Bits 0-3: NMOS compensation code for VDD power rails This bitfield is written by software to define an I/O compensation cell code for NMOS transistors of the VDD power rail. This code is applied to the I/O when CS1 is set in SBS_CCSR..

Allowed values: 0x0-0xf

SW_APSRC1

Bits 4-7: PMOS compensation code for the VDD power rails This bitfield is written by software to define an I/O compensation cell code for PMOS transistors of the VDDIO power rail. This code is applied to the I/O when CS1 is set in SBS_CCSR..

Allowed values: 0x0-0xf

SW_ANSRC2

Bits 8-11: NMOS compensation code for VDDIO power rails This bitfield is written by software to define an I/O compensation cell code for NMOS transistors of the VDD power rail. This code is applied to the I/O when CS2 is set in SBS_CCSR..

Allowed values: 0x0-0xf

SW_APSRC2

Bits 12-15: PMOS compensation code for the V<sub>DDIO</sub> power rails This bitfield is written by software to define an I/O compensation cell code for PMOS transistors of the VDDIO power rail. This code is applied to the I/O when CS2 is set in SBS_CCSR..

Allowed values: 0x0-0xf

CFGR2

SBS Class B register

Offset: 0x120, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ECCL
rw
PVDL
rw
SEL
rw
CLL
rw
Toggle fields

CLL

Bit 0: core lockup lock This bit is set by software and cleared only by a system reset. It can be used to enable and lock the lockup (HardFault) output of Cortex-M33 with TIM1 break inputs..

Allowed values:
0: Disconnected: Flag/Interrupt disconnected from timer break inputs
1: Connected: Flag/Interrupt connected to timer break inputs

SEL

Bit 1: SRAM ECC error lock This bit is set by software and cleared only by a system reset. It can be used to enable and lock the SRAM double ECC error signal with break input of TIM1..

Allowed values:
0: Disconnected: Flag/Interrupt disconnected from timer break inputs
1: Connected: Flag/Interrupt connected to timer break inputs

PVDL

Bit 2: PVD lock This bit is set by software and cleared only by a system reset. It can be used to enable and lock the PVD connection with TIM1 break inputs..

Allowed values:
0: Disconnected: Flag/Interrupt disconnected from timer break inputs
1: Connected: Flag/Interrupt connected to timer break inputs

ECCL

Bit 3: ECC lock This bit is set and cleared by software. It can be used to enable and lock the Flash memory double ECC error with break input of TIM1..

Allowed values:
0: Disconnected: Flag/Interrupt disconnected from timer break inputs
1: Connected: Flag/Interrupt connected to timer break inputs

CNSLCKR

SBS CPU lock register

Offset: 0x144, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LOCKNSMPU
rw
LOCKNSVTOR
rw
Toggle fields

LOCKNSVTOR

Bit 0: VTOR_NS register lock This bit is set by software and cleared only by a system reset..

Allowed values:
0: Unlocked: VTOR_NS register write enabled
1: Locked: VTOR_NS register write disabled

LOCKNSMPU

Bit 1: MPU register lock This bit is set by software and cleared only by a system reset. When set, this bit disables write access to MPU_CTRL_NS, MPU_RNR_NS and MPU_RBAR_NS registers..

Allowed values:
0: Unlocked: MPU registers write enabled
1: Locked: MPU registers write disabled

ECCNMIR

SBS flift ECC NMI mask register

Offset: 0x14c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ECCNMI_MASK_EN
rw
Toggle fields

ECCNMI_MASK_EN

Bit 0: NMI behavior setup when a double ECC error occurs on flitf data part.

Allowed values:
0: Enabled: NMI enabled
1: Disabled: NMI disabled

SPI1

0x40013000: Serial peripheral interface

86/88 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CR1
0x4 CR2
0x8 CFG1
0xc CFG2
0x10 IER
0x14 SR
0x18 IFCR
0x20 TXDR
0x30 RXDR
0x40 CRCPOLY
0x44 TXCRC
0x48 RXCRC
0x4c UDRDR
0x50 I2SCFGR
Toggle registers

CR1

SPI/I2S control register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

10/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
IOLOCK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TCRCINI
rw
RCRCINI
rw
CRC33_17
rw
SSI
rw
HDDIR
rw
CSUSP
w
CSTART
rw
MASRX
rw
SPE
rw
Toggle fields

SPE

Bit 0: serial peripheral enable This bit is set by and cleared by software. When SPE=1, SPI data transfer is enabled, SPI_CFG1 and SPI_CFG2 configuration registers, CRCPOLY, UDRDR, IOLOCK bit in the SPI_CR1 register are write protected. They can be changed only when SPE=0. When SPE=0 any SPI operation is stopped and disabled, all the pending requests of the events with enabled interrupt are blocked except the MODF interrupt request (but their pending still propagates the request of the spi_plck clock), the SS output is deactivated at master, the RDY signal keeps not ready status at slave, the internal state machine is reseted, all the FIFOs content is flushed, CRC calculation initialized, receive data register is read zero. SPE is cleared and cannot be set when MODF error flag is active..

Allowed values:
0: Disabled: Peripheral disabled
1: Enabled: Peripheral enabled

MASRX

Bit 8: master automatic suspension in Receive mode This bit is set and cleared by software to control continuous SPI transfer in master receiver mode and automatic management in order to avoid overrun condition. When SPI communication is suspended by hardware automatically, it could happen that few bits of next frame are already clocked out due to internal synchronization delay. This is why, the automatic suspension is not quite reliable when size of data drops below 8 bits. In this case, a safe suspension can be achieved by combination with delay inserted between data frames applied when MIDI parameter keeps a non zero value; sum of data size and the interleaved SPI cycles should always produce interval at length of 8 SPI clock periods at minimum. After software clearing of the SUSP bit, the communication resumes and continues by subsequent bits transaction without any next constraint. Prior the SUSP bit is cleared, the user must release the RxFIFO space as much as possible by reading out all the data packets available at RxFIFO based on the RXP flag indication to prevent any subsequent suspension..

Allowed values:
0: Disabled: Automatic suspend in master receive-only mode disabled
1: Enabled: Automatic suspend in master receive-only mode enabled

CSTART

Bit 9: master transfer start This bit can be set by software if SPI is enabled only to start an SPI or I2S/PCM communication. In SPI mode, it is cleared by hardware when end of transfer (EOT) flag is set or when a transaction suspend request is accepted. In I2S/PCM mode, it is also cleared by hardware as described in the . In SPI mode, the bit is taken into account at master mode only. If transmission is enabled, communication starts or continues only if any data is available in the transmission FIFO..

Allowed values:
0: NotStarted: Do not start master transfer
1: Started: Start master transfer

CSUSP

Bit 10: master SUSPend request This bit reads as zero. In Master mode, when this bit is set by software, the CSTART bit is reset at the end of the current frame and communication is suspended. The user has to check SUSP flag to check end of the frame transaction. The Master mode communication must be suspended (using this bit or keeping TXDR empty) before going to Low-power mode. Can be used in SPI or I2S mode. After software suspension, SUSP flag has to be cleared and SPI disabled and re-enabled before the next transaction starts..

Allowed values:
0: NotRequested: Do not request master suspend
1: Requested: Request master suspend

HDDIR

Bit 11: Rx/Tx direction at Half-duplex mode In Half-Duplex configuration the HDDIR bit establishes the Rx/Tx direction of the data transfer. This bit is ignored in Full-Duplex or any Simplex configuration..

Allowed values:
0: Receiver: Receiver in half duplex mode
1: Transmitter: Transmitter in half duplex mode

SSI

Bit 12: internal SS signal input level This bit has an effect only when the SSM bit is set. The value of this bit is forced onto the peripheral SS input internally and the I/O value of the SS pin is ignored..

Allowed values:
0: SlaveSelected: 0 is forced onto the SS signal and the I/O value of the SS pin is ignored
1: SlaveNotSelected: 1 is forced onto the SS signal and the I/O value of the SS pin is ignored

CRC33_17

Bit 13: 32-bit CRC polynomial configuration.

Allowed values:
0: Disabled: Full size (33/17 bit) CRC polynomial is not used
1: Enabled: Full size (33/17 bit) CRC polynomial is used

RCRCINI

Bit 14: CRC calculation initialization pattern control for receiver.

Allowed values:
0: AllZeros: All zeros RX CRC initialization pattern
1: AllOnes: All ones RX CRC initialization pattern

TCRCINI

Bit 15: CRC calculation initialization pattern control for transmitter.

Allowed values:
0: AllZeros: All zeros TX CRC initialization pattern
1: AllOnes: All ones TX CRC initialization pattern

IOLOCK

Bit 16: locking the AF configuration of associated IOs This bit is set by software and cleared by hardware whenever the SPE bit is changed from 1 to 0. When this bit is set, SPI_CFG2 register content cannot be modified. This bit can be set when SPI is disabled only else it is write protected. It is cleared and cannot be set when MODF bit is set..

Allowed values:
0: Unlocked: IO configuration unlocked
1: Locked: IO configuration locked

CR2

SPI/I2S control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TSIZE
rw
Toggle fields

TSIZE

Bits 0-15: number of data at current transfer When these bits are changed by software, the SPI has to be disabled. Endless transaction is initialized when CSTART is set while zero value is stored at TSIZE. TSIZE cannot be set to 0xFFFF respective 0x3FFF value when CRC is enabled. Note: TSIZE[15:10] bits are reserved at limited feature set instances and must be kept at reset value..

Allowed values: 0x0-0xffff

CFG1

SPI/I2S configuration register 1

Offset: 0x8, size: 32, reset: 0x00070007, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BPASS
rw
MBR
rw
CRCEN
rw
CRCSIZE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXDMAEN
rw
RXDMAEN
rw
UDRCFG
rw
FTHLV
rw
DSIZE
rw
Toggle fields

DSIZE

Bits 0-4: number of bits in at single SPI data frame ..... Note: Maximum data size can be limited up to 16-bits at some instances. At instances with limited set of features, DSIZE2:0] bits are reserved and must be kept at reset state. DSIZE[4:3] bits then control next settings of data size: 00xxx: 8-bits 01xxx: 16-bits 10xxx: 24-bits 11xxx: 32-bits..

Allowed values: 0x0-0x1f

FTHLV

Bits 5-8: FIFO threshold level Defines number of data frames at single data packet. Size of the packet should not exceed 1/2 of FIFO space. SPI interface is more efficient if configured packet sizes are aligned with data register access parallelism: If SPI data register is accessed as a 16-bit register and DSIZE ≤ 8 bit, better to select FTHLV = 2, 4, 6. If SPI data register is accessed as a 32-bit register and DSIZE> 8 bit, better to select FTHLV = 2, 4, 6, while if DSIZE ≤ 8bit, better to select FTHLV = 4, 8, 12. Note: FTHLV[3:2] bits are reserved at instances with limited set of features.

Allowed values:
0: OneFrame: 1 frame
1: TwoFrames: 2 frames
2: ThreeFrames: 3 frames
3: FourFrames: 4 frames
4: FiveFrames: 5 frames
5: SixFrames: 6 frames
6: SevenFrames: 7 frames
7: EightFrames: 8 frames
8: NineFrames: 9 frames
9: TenFrames: 10 frames
10: ElevenFrames: 11 frames
11: TwelveFrames: 12 frames
12: ThirteenFrames: 13 frames
13: FourteenFrames: 14 frames
14: FifteenFrames: 15 frames
15: SixteenFrames: 16 frames

UDRCFG

Bit 9: behavior of slave transmitter at underrun condition For more details see underrun condition..

Allowed values:
0: Constant: Slave sends a constant underrun pattern
1: RepeatReceived: Slave repeats last received data frame from master

RXDMAEN

Bit 14: Rx DMA stream enable.

Allowed values:
0: Disabled: Rx buffer DMA disabled
1: Enabled: Rx buffer DMA enabled

TXDMAEN

Bit 15: Tx DMA stream enable.

Allowed values:
0: Disabled: Tx buffer DMA disabled
1: Enabled: Tx buffer DMA enabled

CRCSIZE

Bits 16-20: length of CRC frame to be transacted and compared Most significant bits are taken into account from polynomial calculation when CRC result is transacted or compared. The length of the polynomial is not affected by this setting. ..... The value must be set equal or multiply of data size (DSIZE[4:0]). Its maximum size corresponds to DSIZE maximum at the instance. Note: The most significant bit at CRCSIZE bit field is reserved at the peripheral instances where data size is limited to 16-bit..

Allowed values: 0x0-0x1f

CRCEN

Bit 22: hardware CRC computation enable.

Allowed values:
0: Disabled: CRC calculation disabled
1: Enabled: CRC calculation enabled

MBR

Bits 28-30: master baud rate prescaler setting Note: MBR setting is considered at slave working at TI mode, too (see mode)..

Allowed values:
0: Div2: f_spi_ker_ck / 2
1: Div4: f_spi_ker_ck / 4
2: Div8: f_spi_ker_ck / 8
3: Div16: f_spi_ker_ck / 16
4: Div32: f_spi_ker_ck / 32
5: Div64: f_spi_ker_ck / 64
6: Div128: f_spi_ker_ck / 128
7: Div256: f_spi_ker_ck / 256

BPASS

Bit 31: bypass of the prescaler at master baud rate clock generator.

Allowed values:
0: Disabled: Bypass is disabled
1: Enabled: Bypass is enabled

CFG2

SPI/I2S configuration register 2

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

14/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFCNTR
rw
SSOM
rw
SSOE
rw
SSIOP
rw
SSM
rw
CPOL
rw
CPHA
rw
LSBFRST
rw
MASTER
rw
SP
rw
COMM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IOSWP
rw
RDIOP
rw
RDIOM
rw
MIDI
rw
MSSI
rw
Toggle fields

MSSI

Bits 0-3: Master SS Idleness Specifies an extra delay, expressed in number of SPI clock cycle periods, inserted additionally between active edge of SS opening a session and the beginning of the first data frame of the session in Master mode when SSOE is enabled. ... Note: This feature is not supported in TI mode. To include the delay, the SPI must be disabled and re-enabled between sessions..

Allowed values: 0x0-0xf

MIDI

Bits 4-7: master Inter-Data Idleness Specifies minimum time delay (expressed in SPI clock cycles periods) inserted between two consecutive data frames in Master mode. ... Note: This feature is not supported in TI mode..

Allowed values: 0x0-0xf

RDIOM

Bit 13: RDY signal input/output management Note: When DSIZE at the SPI_CFG1 register is configured shorter than 8-bit, the RDIOM bit has to be kept at zero..

RDIOP

Bit 14: RDY signal input/output polarity.

IOSWP

Bit 15: swap functionality of MISO and MOSI pins When this bit is set, the function of MISO and MOSI pins alternate functions are inverted. Original MISO pin becomes MOSI and original MOSI pin becomes MISO. Note: This bit can be also used in PCM and I2S modes to swap SDO and SDI pins..

Allowed values:
0: Disabled: MISO and MOSI not swapped
1: Enabled: MISO and MOSI swapped

COMM

Bits 17-18: SPI Communication Mode.

Allowed values:
0: FullDuplex: Full duplex
1: Transmitter: Simplex transmitter only
2: Receiver: Simplex receiver only
3: HalfDuplex: Half duplex

SP

Bits 19-21: serial protocol others: reserved, must not be used.

Allowed values:
0: Motorola: Motorola SPI protocol
1: TI: TI SPI protocol

MASTER

Bit 22: SPI Master.

Allowed values:
0: Slave: Slave configuration
1: Master: Master configuration

LSBFRST

Bit 23: data frame format Note: This bit can be also used in PCM and I2S modes..

Allowed values:
0: MSBFirst: Data is transmitted/received with the MSB first
1: LSBFirst: Data is transmitted/received with the LSB first

CPHA

Bit 24: clock phase.

Allowed values:
0: FirstEdge: The first clock transition is the first data capture edge
1: SecondEdge: The second clock transition is the first data capture edge

CPOL

Bit 25: clock polarity.

Allowed values:
0: IdleLow: CK to 0 when idle
1: IdleHigh: CK to 1 when idle

SSM

Bit 26: software management of SS signal input When master uses hardware SS output (SSM=0 and SSOE=1) the SS signal input is forced to not active state internally to prevent master mode fault error..

Allowed values:
0: Disabled: Software slave management disabled
1: Enabled: Software slave management enabled

SSIOP

Bit 28: SS input/output polarity.

Allowed values:
0: ActiveLow: Low level is active for SS signal
1: ActiveHigh: High level is active for SS signal

SSOE

Bit 29: SS output enable This bit is taken into account in Master mode only.

Allowed values:
0: Disabled: SS output is disabled in master mode
1: Enabled: SS output is enabled in master mode

SSOM

Bit 30: SS output management in Master mode This bit is taken into account in Master mode when SSOE is enabled. It allows the SS output to be configured between two consecutive data transfers..

Allowed values:
0: Asserted: SS is asserted until data transfer complete
1: NotAsserted: Data frames interleaved with SS not asserted during MIDI

AFCNTR

Bit 31: alternate function GPIOs control This bit is taken into account when SPE=0 only When SPI has to be disabled temporary for a specific configuration reason (e.g. CRC reset, CPHA or HDDIR change) setting this bit prevents any glitches on the associated outputs configured at alternate function mode by keeping them forced at state corresponding the current SPI configuration. Note: This bit can be also used in PCM and I2S modes. Note: The bit AFCNTR must not be set to 1, when the block is in slave mode..

Allowed values:
0: NotControlled: Peripheral takes no control of GPIOs while disabled
1: Controlled: Peripheral controls GPIOs while disabled

IER

SPI/I2S interrupt enable register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

10/10 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MODFIE
rw
TIFREIE
rw
CRCEIE
rw
OVRIE
rw
UDRIE
rw
TXTFIE
rw
EOTIE
rw
DXPIE
rw
TXPIE
rw
RXPIE
rw
Toggle fields

RXPIE

Bit 0: RXP interrupt enable.

Allowed values:
0: Masked: RX data available interrupt masked
1: NotMasked: RX data available interrupt not masked

TXPIE

Bit 1: TXP interrupt enable TXPIE is set by software and cleared by TXTF flag set event..

Allowed values:
0: Masked: TX space available interrupt masked
1: NotMasked: TX space available interrupt not masked

DXPIE

Bit 2: DXP interrupt enabled DXPIE is set by software and cleared by TXTF flag set event..

Allowed values:
0: Masked: Duplex transfer complete interrupt masked
1: NotMasked: Duplex transfer complete interrupt not masked

EOTIE

Bit 3: EOT, SUSP and TXC interrupt enable.

Allowed values:
0: Masked: End-of-transfer interrupt masked
1: NotMasked: End-of-transfer interrupt not masked

TXTFIE

Bit 4: TXTFIE interrupt enable.

Allowed values:
0: Masked: Transmission transfer filled interrupt masked
1: NotMasked: Transmission transfer filled interrupt not masked

UDRIE

Bit 5: UDR interrupt enable.

Allowed values:
0: Masked: Underrun interrupt masked
1: NotMasked: Underrun interrupt not masked

OVRIE

Bit 6: OVR interrupt enable.

Allowed values:
0: Masked: Overrun interrupt masked
1: NotMasked: Overrun interrupt not masked

CRCEIE

Bit 7: CRC error interrupt enable.

Allowed values:
0: Masked: CRC error interrupt masked
1: NotMasked: CRC error interrupt not masked

TIFREIE

Bit 8: TIFRE interrupt enable.

Allowed values:
0: Masked: TI frame format error interrupt masked
1: NotMasked: TI frame format error interrupt not masked

MODFIE

Bit 9: mode Fault interrupt enable.

Allowed values:
0: Masked: Mode fault interrupt masked
1: NotMasked: Mode fault interrupt not masked

SR

SPI/I2S status register

Offset: 0x14, size: 32, reset: 0x00001002, access: Unspecified

15/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CTSIZE
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXWNE
r
RXPLVL
r
TXC
r
SUSP
r
MODF
r
TIFRE
r
CRCE
r
OVR
r
UDR
r
TXTF
r
EOT
r
DXP
r
TXP
r
RXP
r
Toggle fields

RXP

Bit 0: Rx-Packet available In I2S mode, it must be interpreted as follow: RxFIFO level is lower than FTHLV In I2S mode, it must be interpreted as follow: RxFIFO level is higher or equal to FTHLV RXP flag is changed by hardware. It monitors number of overall data currently available at RxFIFO if SPI is enabled. It has to be checked once a data packet is completely read out from RxFIFO..

Allowed values:
0: Empty: Rx buffer empty
1: NotEmpty: Rx buffer not empty

TXP

Bit 1: Tx-Packet space available In I2S mode, it must be interpreted as follow: there is less than FTHLV free locations in the TxFIFO In I2S mode, it must be interpreted as follow: there is FTHLV or more than FTHLV free locations in the TxFIFO TXP flag is changed by hardware. It monitors overall space currently available at TxFIFO no matter if SPI is enabled or not. It has to be checked once a complete data packet is stored at TxFIFO..

Allowed values:
0: Full: Tx buffer full
1: NotFull: Tx buffer not full

DXP

Bit 2: duplex packet DXP flag is set whenever both TXP and RXP flags are set regardless SPI mode..

Allowed values:
0: Unavailable: Duplex packet unavailable: no space for transmission and/or no data received
1: Available: Duplex packet available: space for transmission and data received

EOT

Bit 3: end of transfer EOT is set by hardware as soon as a full transfer is complete, that is when SPI is re-enabled or when TSIZE number of data have been transmitted and/or received on the SPI. EOT is cleared when SPI is re-enabled or by writing 1 to EOTC bit of SPI_IFCR optionally. EOT flag triggers an interrupt if EOTIE bit is set. If DXP flag is used until TXTF flag is set and DXPIE is cleared, EOT can be used to download the last packets contained into RxFIFO in one-shot. In master, EOT event terminates the data transaction and handles SS output optionally. When CRC is applied, the EOT event is extended over the CRC frame transaction. To restart the internal state machine properly, SPI is strongly suggested to be disabled and re-enabled before next transaction starts despite its setting is not changed..

Allowed values:
0: NotCompleted: Transfer ongoing or not started
1: Completed: Transfer complete

TXTF

Bit 4: transmission transfer filled TXTF is set by hardware as soon as all of the data packets in a transfer have been submitted for transmission by application software or DMA, that is when TSIZE number of data have been pushed into the TxFIFO. This bit is cleared by software write 1 to TXTFC bit of SPI_IFCR exclusively. TXTF flag triggers an interrupt if TXTFIE bit is set. TXTF setting clears the TXPIE and DXPIE masks so to off-load application software from calculating when to disable TXP and DXP interrupts..

Allowed values:
0: NotCompleted: Transmission buffer incomplete
1: Completed: Transmission buffer filled with at least one transfer

UDR

Bit 5: underrun This bit is cleared when SPI is re-enabled or by writing 1 to UDRC bit of SPI_IFCR optionally. Note: In SPI mode, the UDR flag applies to Slave mode only. In I2S/PCM mode, (when available) this flag applies to Master and Slave mode.

Allowed values:
0: NoUnderrun: No underrun occurred
1: Underrun: Underrun occurred

OVR

Bit 6: overrun This bit is cleared when SPI is re-enabled or by writing 1 to OVRC bit of SPI_IFCR optionally..

Allowed values:
0: NoOverrun: No overrun occurred
1: Overrun: Overrun occurred

CRCE

Bit 7: CRC error This bit is cleared when SPI is re-enabled or by writing 1 to CRCEC bit of SPI_IFCR optionally..

Allowed values:
0: NoError: No CRC error detected
1: Error: CRC error detected

TIFRE

Bit 8: TI frame format error This bit is cleared by writing 1 to TIFREC bit of SPI_IFCR exclusively..

Allowed values:
0: NoError: TI frame format error detected
1: Error: TI frame format error detected

MODF

Bit 9: mode fault This bit is cleared by writing 1 to MODFC bit of SPI_IFCR exclusively..

Allowed values:
0: NoFault: No mode fault detected
1: Fault: Mode fault detected

SUSP

Bit 11: suspension status In Master mode, SUSP is set by hardware either as soon as the current frame is completed after CSUSP request is done or at master automatic suspend receive mode (MASRX bit is set at SPI_CR1 register) on RxFIFO full condition. SUSP generates an interrupt when EOTIE is set. This bit has to be cleared prior SPI is disabled and this is done by writing 1 to SUSPC bit of SPI_IFCR exclusively..

Allowed values:
0: NotSuspended: Master not suspended
1: Suspended: Master suspended

TXC

Bit 12: TxFIFO transmission complete The flag behavior depends on TSIZE setting. When TSIZE=0 the TXC is changed by hardware exclusively and it raises each time the TxFIFO becomes empty and there is no activity on the bus. If TSIZE <>0 there is no specific reason to monitor TXC as it just copies the EOT flag value including its software clearing. The TXC generates an interrupt when EOTIE is set..

Allowed values:
0: Ongoing: Transmission ongoing
1: Completed: Transmission completed

RXPLVL

Bits 13-14: RxFIFO packing level When RXWNE=0 and data size is set up to 16-bit, the value gives number of remaining data frames persisting at RxFIFO. Note: (*): Optional value when data size is set up to 8-bit only. When data size is greater than 16-bit, these bits are always read as 00. In that consequence, the single data frame received at the FIFO cannot be detected neither by RWNE nor by RXPLVL bits if data size is set from 17 to 24 bits. The user then must apply other methods like TSIZE>0 or FTHLV=0..

Allowed values:
0: ZeroFrames: Zero frames beyond packing ratio available
1: OneFrame: One frame beyond packing ratio available
2: TwoFrames: Two frame beyond packing ratio available
3: ThreeFrames: Three frame beyond packing ratio available

RXWNE

Bit 15: RxFIFO word not empty Note: This bit value does not depend on DSIZE setting and keeps together with RXPLVL[1:0] information about RxFIFO occupancy by residual data..

Allowed values:
0: LessThan32: Less than 32-bit data frame received
1: AtLeast32: At least 32-bit data frame received

CTSIZE

Bits 16-31: number of data frames remaining in current TSIZE session The value is not quite reliable when traffic is ongoing on bus or during autonomous operation in low-power mode. Note: CTSIZE[15:0] bits are not available in instances with limited set of features..

Allowed values: 0x0-0xffff

IFCR

SPI/I2S interrupt/status flags clear register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SUSPC
w
MODFC
w
TIFREC
w
CRCEC
w
OVRC
w
UDRC
w
TXTFC
w
EOTC
w
Toggle fields

EOTC

Bit 3: end of transfer flag clear Writing a 1 into this bit clears EOT flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

TXTFC

Bit 4: transmission transfer filled flag clear Writing a 1 into this bit clears TXTF flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

UDRC

Bit 5: underrun flag clear Writing a 1 into this bit clears UDR flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

OVRC

Bit 6: overrun flag clear Writing a 1 into this bit clears OVR flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

CRCEC

Bit 7: CRC error flag clear Writing a 1 into this bit clears CRCE flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

TIFREC

Bit 8: TI frame format error flag clear Writing a 1 into this bit clears TIFRE flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

MODFC

Bit 9: mode fault flag clear Writing a 1 into this bit clears MODF flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

SUSPC

Bit 11: SUSPend flag clear Writing a 1 into this bit clears SUSP flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

TXDR

SPI/I2S transmit data register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXDR
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXDR
w
Toggle fields

TXDR

Bits 0-31: transmit data register The register serves as an interface with TxFIFO. A write to it accesses TxFIFO. Note: In SPI mode, data is always right-aligned. Alignment of data at I2S mode depends on DATLEN and DATFMT setting. Unused bits are ignored when writing to the register, and read as zero when the register is read. Note: DR can be accessed byte-wise (8-bit access): in this case only one data-byte is written by single access. halfword-wise (16 bit access) in this case 2 data-bytes or 1 halfword-data can be written by single access. word-wise (32 bit access). In this case 4 data-bytes or 2 halfword-data or word-data can be written by single access. Write access of this register less than the configured data size is forbidden..

Allowed values: 0x0-0xffffffff

RXDR

SPI/I2S receive data register

Offset: 0x30, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RXDR
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXDR
r
Toggle fields

RXDR

Bits 0-31: receive data register The register serves as an interface with RxFIFO. When it is read, RxFIFO is accessed. Note: In SPI mode, data is always right-aligned. Alignment of data at I2S mode depends on DATLEN and DATFMT setting. Unused bits are read as zero when the register is read. Writing to the register is ignored. Note: DR can be accessed byte-wise (8-bit access): in this case only one data-byte is read by single access halfword-wise (16 bit access) in this case 2 data-bytes or 1 halfword-data can be read by single access word-wise (32 bit access). In this case 4 data-bytes or 2 halfword-data or word-data can be read by single access. Read access of this register less than the configured data size is forbidden..

CRCPOLY

SPI/I2S polynomial register

Offset: 0x40, size: 32, reset: 0x00000107, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CRCPOLY
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CRCPOLY
rw
Toggle fields

CRCPOLY

Bits 0-31: CRC polynomial register This register contains the polynomial for the CRC calculation. The default 9-bit polynomial setting 0x107 corresponds to default 8-bit setting of DSIZE. It is compatible with setting 0x07 used at some other ST products with fixed length of the polynomial string where the most significant bit of the string is always kept hidden. Length of the polynomial is given by the most significant bit of the value stored at this register. It has to be set greater than DSIZE. CRC33_17 bit has to be set additionally with CRCPOLY register when DSIZE is configured to maximum 32-bit or 16-bit size and CRC is enabled (to keep polynomial length grater than data size). Note: CRCPOLY[31:16] bits are reserved at instances with data size limited to 16-bit. There is no constrain when 32-bit access is applied at these addresses. Reserved bits 31-16 are always read zero while any write to them is ignored..

Allowed values: 0x0-0xffffffff

TXCRC

SPI/I2S transmitter CRC register

Offset: 0x44, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXCRC
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXCRC
r
Toggle fields

TXCRC

Bits 0-31: CRC register for transmitter When CRC calculation is enabled, the TXCRC[31:0] bits contain the computed CRC value of the subsequently transmitted bytes. CRC calculation is initialized when the CRCEN bit of SPI_CR1 is written to 1 or when a data block is transacted completely. The CRC is calculated serially using the polynomial programmed in the SPI_CRCPOLY register. The number of bits considered at calculation depends on SPI_CRCPOLY register and CRCSIZE bits settings at SPI_CFG1 register. Note: a read to this register when the communication is ongoing could return an incorrect value. Note: not used for the I2S mode. Note: TXCRC[31-16] bits are reserved at instances with data size limited to 16-bit. There is no constrain when 32-bit access is applied at these addresses. Reserved bits 31-16 are always read zero while any write to them is ignored. Note: The configuration of CRCSIZE bit field is not taken into account when the content of this register is read by software. No masking is applied for unused bits at this case..

RXCRC

SPI/I2S receiver CRC register

Offset: 0x48, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RXCRC
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXCRC
r
Toggle fields

RXCRC

Bits 0-31: CRC register for receiver When CRC calculation is enabled, the RXCRC[31:0] bits contain the computed CRC value of the subsequently received bytes. CRC calculation is initialized when the CRCEN bit of SPI_CR1 is written to 1 or when a data block is transacted completely. The CRC is calculated serially using the polynomial programmed in the SPI_CRCPOLY register. The number of bits considered at calculation depends on SPI_CRCPOLY register and CRCSIZE bits settings at SPI_CFG1 register. Note: a read to this register when the communication is ongoing could return an incorrect value. Not used for the I2S mode. RXCRC[31-16] bits are reserved at the peripheral instances with data size limited to 16-bit. There is no constrain when 32-bit access is applied at these addresses. Reserved bits 31-16 are always read zero while any write to them is ignored. Note: The configuration of CRCSIZE bit field is not taken into account when the content of this register is read by software. No masking is applied for unused bits at this case..

UDRDR

SPI/I2S underrun data register

Offset: 0x4c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UDRDR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UDRDR
rw
Toggle fields

UDRDR

Bits 0-31: data at slave underrun condition The register is taken into account in Slave mode and at underrun condition only. The number of bits considered depends on DSIZE bit settings of the SPI_CFG1 register. Underrun condition handling depends on setting UDRCFG bit at SPI_CFG1 register. Note: UDRDR[31-16] bits are reserved at the peripheral instances with data size limited to 16-bit. There is no constraint when 32-bit access is applied at these addresses. Reserved bits 31-16 are always read zero while any write to them is ignored..

Allowed values: 0x0-0xffffffff

I2SCFGR

SPI/I2S configuration register

Offset: 0x50, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MCKOE
rw
ODD
rw
I2SDIV
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DATFMT
rw
WSINV
rw
FIXCH
rw
CKPOL
rw
CHLEN
rw
DATLEN
rw
PCMSYNC
rw
I2SSTD
rw
I2SCFG
rw
I2SMOD
rw
Toggle fields

I2SMOD

Bit 0: I2S mode selection.

Allowed values:
0: SPI: SPI mode selected
1: I2S: I2S/PCM mode selected

I2SCFG

Bits 1-3: I2S configuration mode others, not used.

Allowed values:
0: SlaveTransmit: Slave, transmit
1: SlaveReceive: Slave, recteive
2: MasterTransmit: Master, transmit
3: MasterReceive: Master, receive
4: SlaveFullDuplex: Slave, full duplex
5: MasterFullDuplex: Master, full duplex

I2SSTD

Bits 4-5: I2S standard selection For more details on I2S standards, refer to.

Allowed values:
0: Philips: I2S Philips standard
1: LeftAligned: MSB/left justified standard
2: RightAligned: LSB/right justified standard
3: PCM: PCM standard

PCMSYNC

Bit 7: PCM frame synchronization.

Allowed values:
0: Short: Short PCM frame synchronization
1: Long: Long PCM frame synchronization

DATLEN

Bits 8-9: data length to be transferred.

Allowed values:
0: Bits16: 16 bit data length
1: Bits24: 24 bit data length
2: Bits32: 32 bit data length

CHLEN

Bit 10: channel length (number of bits per audio channel).

Allowed values:
0: Bits16: 16 bit per channel
1: Bits32: 32 bit per channel

CKPOL

Bit 11: serial audio clock polarity.

Allowed values:
0: SampleOnRising: Signals are sampled on rising and changed on falling clock edges
1: SampleOnFalling: Signals are sampled on falling and changed on rising clock edges

FIXCH

Bit 12: fixed channel length in slave.

Allowed values:
0: NotFixed: The channel length in slave mode is different from 16 or 32 bits (CHLEN not taken into account)
1: Fixed: The channel length in slave mode is supposed to be 16 or 32 bits (according to CHLEN)

WSINV

Bit 13: word select inversion This bit is used to invert the default polarity of WS signal. WS is LOW. In PCM mode the start of frame is indicated by a rising edge. WS is HIGH. In PCM mode the start of frame is indicated by a falling edge..

Allowed values:
0: Disabled: Word select inversion disabled
1: Enabled: Word select inversion enabled

DATFMT

Bit 14: data format.

Allowed values:
0: RightAligned: The data inside RXDR and TXDR are right aligned
1: LeftAligned: The data inside RXDR and TXDR are left aligned

I2SDIV

Bits 16-23: I2S linear prescaler I2SDIV can take any values except the value 1, when ODD is also equal to 1. Refer to for details.

Allowed values: 0x0-0xff

ODD

Bit 24: odd factor for the prescaler Refer to for details.

Allowed values:
0: Even: Real divider value is I2SDIV*2
1: Odd: Real divider value is I2SDIV*2 + 1

MCKOE

Bit 25: master clock output enable.

Allowed values:
0: Disabled: Master clock output disabled
1: Enabled: Master clock output enabled

SPI2

0x40003800: Serial peripheral interface

86/88 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CR1
0x4 CR2
0x8 CFG1
0xc CFG2
0x10 IER
0x14 SR
0x18 IFCR
0x20 TXDR
0x30 RXDR
0x40 CRCPOLY
0x44 TXCRC
0x48 RXCRC
0x4c UDRDR
0x50 I2SCFGR
Toggle registers

CR1

SPI/I2S control register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

10/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
IOLOCK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TCRCINI
rw
RCRCINI
rw
CRC33_17
rw
SSI
rw
HDDIR
rw
CSUSP
w
CSTART
rw
MASRX
rw
SPE
rw
Toggle fields

SPE

Bit 0: serial peripheral enable This bit is set by and cleared by software. When SPE=1, SPI data transfer is enabled, SPI_CFG1 and SPI_CFG2 configuration registers, CRCPOLY, UDRDR, IOLOCK bit in the SPI_CR1 register are write protected. They can be changed only when SPE=0. When SPE=0 any SPI operation is stopped and disabled, all the pending requests of the events with enabled interrupt are blocked except the MODF interrupt request (but their pending still propagates the request of the spi_plck clock), the SS output is deactivated at master, the RDY signal keeps not ready status at slave, the internal state machine is reseted, all the FIFOs content is flushed, CRC calculation initialized, receive data register is read zero. SPE is cleared and cannot be set when MODF error flag is active..

Allowed values:
0: Disabled: Peripheral disabled
1: Enabled: Peripheral enabled

MASRX

Bit 8: master automatic suspension in Receive mode This bit is set and cleared by software to control continuous SPI transfer in master receiver mode and automatic management in order to avoid overrun condition. When SPI communication is suspended by hardware automatically, it could happen that few bits of next frame are already clocked out due to internal synchronization delay. This is why, the automatic suspension is not quite reliable when size of data drops below 8 bits. In this case, a safe suspension can be achieved by combination with delay inserted between data frames applied when MIDI parameter keeps a non zero value; sum of data size and the interleaved SPI cycles should always produce interval at length of 8 SPI clock periods at minimum. After software clearing of the SUSP bit, the communication resumes and continues by subsequent bits transaction without any next constraint. Prior the SUSP bit is cleared, the user must release the RxFIFO space as much as possible by reading out all the data packets available at RxFIFO based on the RXP flag indication to prevent any subsequent suspension..

Allowed values:
0: Disabled: Automatic suspend in master receive-only mode disabled
1: Enabled: Automatic suspend in master receive-only mode enabled

CSTART

Bit 9: master transfer start This bit can be set by software if SPI is enabled only to start an SPI or I2S/PCM communication. In SPI mode, it is cleared by hardware when end of transfer (EOT) flag is set or when a transaction suspend request is accepted. In I2S/PCM mode, it is also cleared by hardware as described in the . In SPI mode, the bit is taken into account at master mode only. If transmission is enabled, communication starts or continues only if any data is available in the transmission FIFO..

Allowed values:
0: NotStarted: Do not start master transfer
1: Started: Start master transfer

CSUSP

Bit 10: master SUSPend request This bit reads as zero. In Master mode, when this bit is set by software, the CSTART bit is reset at the end of the current frame and communication is suspended. The user has to check SUSP flag to check end of the frame transaction. The Master mode communication must be suspended (using this bit or keeping TXDR empty) before going to Low-power mode. Can be used in SPI or I2S mode. After software suspension, SUSP flag has to be cleared and SPI disabled and re-enabled before the next transaction starts..

Allowed values:
0: NotRequested: Do not request master suspend
1: Requested: Request master suspend

HDDIR

Bit 11: Rx/Tx direction at Half-duplex mode In Half-Duplex configuration the HDDIR bit establishes the Rx/Tx direction of the data transfer. This bit is ignored in Full-Duplex or any Simplex configuration..

Allowed values:
0: Receiver: Receiver in half duplex mode
1: Transmitter: Transmitter in half duplex mode

SSI

Bit 12: internal SS signal input level This bit has an effect only when the SSM bit is set. The value of this bit is forced onto the peripheral SS input internally and the I/O value of the SS pin is ignored..

Allowed values:
0: SlaveSelected: 0 is forced onto the SS signal and the I/O value of the SS pin is ignored
1: SlaveNotSelected: 1 is forced onto the SS signal and the I/O value of the SS pin is ignored

CRC33_17

Bit 13: 32-bit CRC polynomial configuration.

Allowed values:
0: Disabled: Full size (33/17 bit) CRC polynomial is not used
1: Enabled: Full size (33/17 bit) CRC polynomial is used

RCRCINI

Bit 14: CRC calculation initialization pattern control for receiver.

Allowed values:
0: AllZeros: All zeros RX CRC initialization pattern
1: AllOnes: All ones RX CRC initialization pattern

TCRCINI

Bit 15: CRC calculation initialization pattern control for transmitter.

Allowed values:
0: AllZeros: All zeros TX CRC initialization pattern
1: AllOnes: All ones TX CRC initialization pattern

IOLOCK

Bit 16: locking the AF configuration of associated IOs This bit is set by software and cleared by hardware whenever the SPE bit is changed from 1 to 0. When this bit is set, SPI_CFG2 register content cannot be modified. This bit can be set when SPI is disabled only else it is write protected. It is cleared and cannot be set when MODF bit is set..

Allowed values:
0: Unlocked: IO configuration unlocked
1: Locked: IO configuration locked

CR2

SPI/I2S control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TSIZE
rw
Toggle fields

TSIZE

Bits 0-15: number of data at current transfer When these bits are changed by software, the SPI has to be disabled. Endless transaction is initialized when CSTART is set while zero value is stored at TSIZE. TSIZE cannot be set to 0xFFFF respective 0x3FFF value when CRC is enabled. Note: TSIZE[15:10] bits are reserved at limited feature set instances and must be kept at reset value..

Allowed values: 0x0-0xffff

CFG1

SPI/I2S configuration register 1

Offset: 0x8, size: 32, reset: 0x00070007, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BPASS
rw
MBR
rw
CRCEN
rw
CRCSIZE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXDMAEN
rw
RXDMAEN
rw
UDRCFG
rw
FTHLV
rw
DSIZE
rw
Toggle fields

DSIZE

Bits 0-4: number of bits in at single SPI data frame ..... Note: Maximum data size can be limited up to 16-bits at some instances. At instances with limited set of features, DSIZE2:0] bits are reserved and must be kept at reset state. DSIZE[4:3] bits then control next settings of data size: 00xxx: 8-bits 01xxx: 16-bits 10xxx: 24-bits 11xxx: 32-bits..

Allowed values: 0x0-0x1f

FTHLV

Bits 5-8: FIFO threshold level Defines number of data frames at single data packet. Size of the packet should not exceed 1/2 of FIFO space. SPI interface is more efficient if configured packet sizes are aligned with data register access parallelism: If SPI data register is accessed as a 16-bit register and DSIZE ≤ 8 bit, better to select FTHLV = 2, 4, 6. If SPI data register is accessed as a 32-bit register and DSIZE> 8 bit, better to select FTHLV = 2, 4, 6, while if DSIZE ≤ 8bit, better to select FTHLV = 4, 8, 12. Note: FTHLV[3:2] bits are reserved at instances with limited set of features.

Allowed values:
0: OneFrame: 1 frame
1: TwoFrames: 2 frames
2: ThreeFrames: 3 frames
3: FourFrames: 4 frames
4: FiveFrames: 5 frames
5: SixFrames: 6 frames
6: SevenFrames: 7 frames
7: EightFrames: 8 frames
8: NineFrames: 9 frames
9: TenFrames: 10 frames
10: ElevenFrames: 11 frames
11: TwelveFrames: 12 frames
12: ThirteenFrames: 13 frames
13: FourteenFrames: 14 frames
14: FifteenFrames: 15 frames
15: SixteenFrames: 16 frames

UDRCFG

Bit 9: behavior of slave transmitter at underrun condition For more details see underrun condition..

Allowed values:
0: Constant: Slave sends a constant underrun pattern
1: RepeatReceived: Slave repeats last received data frame from master

RXDMAEN

Bit 14: Rx DMA stream enable.

Allowed values:
0: Disabled: Rx buffer DMA disabled
1: Enabled: Rx buffer DMA enabled

TXDMAEN

Bit 15: Tx DMA stream enable.

Allowed values:
0: Disabled: Tx buffer DMA disabled
1: Enabled: Tx buffer DMA enabled

CRCSIZE

Bits 16-20: length of CRC frame to be transacted and compared Most significant bits are taken into account from polynomial calculation when CRC result is transacted or compared. The length of the polynomial is not affected by this setting. ..... The value must be set equal or multiply of data size (DSIZE[4:0]). Its maximum size corresponds to DSIZE maximum at the instance. Note: The most significant bit at CRCSIZE bit field is reserved at the peripheral instances where data size is limited to 16-bit..

Allowed values: 0x0-0x1f

CRCEN

Bit 22: hardware CRC computation enable.

Allowed values:
0: Disabled: CRC calculation disabled
1: Enabled: CRC calculation enabled

MBR

Bits 28-30: master baud rate prescaler setting Note: MBR setting is considered at slave working at TI mode, too (see mode)..

Allowed values:
0: Div2: f_spi_ker_ck / 2
1: Div4: f_spi_ker_ck / 4
2: Div8: f_spi_ker_ck / 8
3: Div16: f_spi_ker_ck / 16
4: Div32: f_spi_ker_ck / 32
5: Div64: f_spi_ker_ck / 64
6: Div128: f_spi_ker_ck / 128
7: Div256: f_spi_ker_ck / 256

BPASS

Bit 31: bypass of the prescaler at master baud rate clock generator.

Allowed values:
0: Disabled: Bypass is disabled
1: Enabled: Bypass is enabled

CFG2

SPI/I2S configuration register 2

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

14/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFCNTR
rw
SSOM
rw
SSOE
rw
SSIOP
rw
SSM
rw
CPOL
rw
CPHA
rw
LSBFRST
rw
MASTER
rw
SP
rw
COMM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IOSWP
rw
RDIOP
rw
RDIOM
rw
MIDI
rw
MSSI
rw
Toggle fields

MSSI

Bits 0-3: Master SS Idleness Specifies an extra delay, expressed in number of SPI clock cycle periods, inserted additionally between active edge of SS opening a session and the beginning of the first data frame of the session in Master mode when SSOE is enabled. ... Note: This feature is not supported in TI mode. To include the delay, the SPI must be disabled and re-enabled between sessions..

Allowed values: 0x0-0xf

MIDI

Bits 4-7: master Inter-Data Idleness Specifies minimum time delay (expressed in SPI clock cycles periods) inserted between two consecutive data frames in Master mode. ... Note: This feature is not supported in TI mode..

Allowed values: 0x0-0xf

RDIOM

Bit 13: RDY signal input/output management Note: When DSIZE at the SPI_CFG1 register is configured shorter than 8-bit, the RDIOM bit has to be kept at zero..

RDIOP

Bit 14: RDY signal input/output polarity.

IOSWP

Bit 15: swap functionality of MISO and MOSI pins When this bit is set, the function of MISO and MOSI pins alternate functions are inverted. Original MISO pin becomes MOSI and original MOSI pin becomes MISO. Note: This bit can be also used in PCM and I2S modes to swap SDO and SDI pins..

Allowed values:
0: Disabled: MISO and MOSI not swapped
1: Enabled: MISO and MOSI swapped

COMM

Bits 17-18: SPI Communication Mode.

Allowed values:
0: FullDuplex: Full duplex
1: Transmitter: Simplex transmitter only
2: Receiver: Simplex receiver only
3: HalfDuplex: Half duplex

SP

Bits 19-21: serial protocol others: reserved, must not be used.

Allowed values:
0: Motorola: Motorola SPI protocol
1: TI: TI SPI protocol

MASTER

Bit 22: SPI Master.

Allowed values:
0: Slave: Slave configuration
1: Master: Master configuration

LSBFRST

Bit 23: data frame format Note: This bit can be also used in PCM and I2S modes..

Allowed values:
0: MSBFirst: Data is transmitted/received with the MSB first
1: LSBFirst: Data is transmitted/received with the LSB first

CPHA

Bit 24: clock phase.

Allowed values:
0: FirstEdge: The first clock transition is the first data capture edge
1: SecondEdge: The second clock transition is the first data capture edge

CPOL

Bit 25: clock polarity.

Allowed values:
0: IdleLow: CK to 0 when idle
1: IdleHigh: CK to 1 when idle

SSM

Bit 26: software management of SS signal input When master uses hardware SS output (SSM=0 and SSOE=1) the SS signal input is forced to not active state internally to prevent master mode fault error..

Allowed values:
0: Disabled: Software slave management disabled
1: Enabled: Software slave management enabled

SSIOP

Bit 28: SS input/output polarity.

Allowed values:
0: ActiveLow: Low level is active for SS signal
1: ActiveHigh: High level is active for SS signal

SSOE

Bit 29: SS output enable This bit is taken into account in Master mode only.

Allowed values:
0: Disabled: SS output is disabled in master mode
1: Enabled: SS output is enabled in master mode

SSOM

Bit 30: SS output management in Master mode This bit is taken into account in Master mode when SSOE is enabled. It allows the SS output to be configured between two consecutive data transfers..

Allowed values:
0: Asserted: SS is asserted until data transfer complete
1: NotAsserted: Data frames interleaved with SS not asserted during MIDI

AFCNTR

Bit 31: alternate function GPIOs control This bit is taken into account when SPE=0 only When SPI has to be disabled temporary for a specific configuration reason (e.g. CRC reset, CPHA or HDDIR change) setting this bit prevents any glitches on the associated outputs configured at alternate function mode by keeping them forced at state corresponding the current SPI configuration. Note: This bit can be also used in PCM and I2S modes. Note: The bit AFCNTR must not be set to 1, when the block is in slave mode..

Allowed values:
0: NotControlled: Peripheral takes no control of GPIOs while disabled
1: Controlled: Peripheral controls GPIOs while disabled

IER

SPI/I2S interrupt enable register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

10/10 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MODFIE
rw
TIFREIE
rw
CRCEIE
rw
OVRIE
rw
UDRIE
rw
TXTFIE
rw
EOTIE
rw
DXPIE
rw
TXPIE
rw
RXPIE
rw
Toggle fields

RXPIE

Bit 0: RXP interrupt enable.

Allowed values:
0: Masked: RX data available interrupt masked
1: NotMasked: RX data available interrupt not masked

TXPIE

Bit 1: TXP interrupt enable TXPIE is set by software and cleared by TXTF flag set event..

Allowed values:
0: Masked: TX space available interrupt masked
1: NotMasked: TX space available interrupt not masked

DXPIE

Bit 2: DXP interrupt enabled DXPIE is set by software and cleared by TXTF flag set event..

Allowed values:
0: Masked: Duplex transfer complete interrupt masked
1: NotMasked: Duplex transfer complete interrupt not masked

EOTIE

Bit 3: EOT, SUSP and TXC interrupt enable.

Allowed values:
0: Masked: End-of-transfer interrupt masked
1: NotMasked: End-of-transfer interrupt not masked

TXTFIE

Bit 4: TXTFIE interrupt enable.

Allowed values:
0: Masked: Transmission transfer filled interrupt masked
1: NotMasked: Transmission transfer filled interrupt not masked

UDRIE

Bit 5: UDR interrupt enable.

Allowed values:
0: Masked: Underrun interrupt masked
1: NotMasked: Underrun interrupt not masked

OVRIE

Bit 6: OVR interrupt enable.

Allowed values:
0: Masked: Overrun interrupt masked
1: NotMasked: Overrun interrupt not masked

CRCEIE

Bit 7: CRC error interrupt enable.

Allowed values:
0: Masked: CRC error interrupt masked
1: NotMasked: CRC error interrupt not masked

TIFREIE

Bit 8: TIFRE interrupt enable.

Allowed values:
0: Masked: TI frame format error interrupt masked
1: NotMasked: TI frame format error interrupt not masked

MODFIE

Bit 9: mode Fault interrupt enable.

Allowed values:
0: Masked: Mode fault interrupt masked
1: NotMasked: Mode fault interrupt not masked

SR

SPI/I2S status register

Offset: 0x14, size: 32, reset: 0x00001002, access: Unspecified

15/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CTSIZE
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXWNE
r
RXPLVL
r
TXC
r
SUSP
r
MODF
r
TIFRE
r
CRCE
r
OVR
r
UDR
r
TXTF
r
EOT
r
DXP
r
TXP
r
RXP
r
Toggle fields

RXP

Bit 0: Rx-Packet available In I2S mode, it must be interpreted as follow: RxFIFO level is lower than FTHLV In I2S mode, it must be interpreted as follow: RxFIFO level is higher or equal to FTHLV RXP flag is changed by hardware. It monitors number of overall data currently available at RxFIFO if SPI is enabled. It has to be checked once a data packet is completely read out from RxFIFO..

Allowed values:
0: Empty: Rx buffer empty
1: NotEmpty: Rx buffer not empty

TXP

Bit 1: Tx-Packet space available In I2S mode, it must be interpreted as follow: there is less than FTHLV free locations in the TxFIFO In I2S mode, it must be interpreted as follow: there is FTHLV or more than FTHLV free locations in the TxFIFO TXP flag is changed by hardware. It monitors overall space currently available at TxFIFO no matter if SPI is enabled or not. It has to be checked once a complete data packet is stored at TxFIFO..

Allowed values:
0: Full: Tx buffer full
1: NotFull: Tx buffer not full

DXP

Bit 2: duplex packet DXP flag is set whenever both TXP and RXP flags are set regardless SPI mode..

Allowed values:
0: Unavailable: Duplex packet unavailable: no space for transmission and/or no data received
1: Available: Duplex packet available: space for transmission and data received

EOT

Bit 3: end of transfer EOT is set by hardware as soon as a full transfer is complete, that is when SPI is re-enabled or when TSIZE number of data have been transmitted and/or received on the SPI. EOT is cleared when SPI is re-enabled or by writing 1 to EOTC bit of SPI_IFCR optionally. EOT flag triggers an interrupt if EOTIE bit is set. If DXP flag is used until TXTF flag is set and DXPIE is cleared, EOT can be used to download the last packets contained into RxFIFO in one-shot. In master, EOT event terminates the data transaction and handles SS output optionally. When CRC is applied, the EOT event is extended over the CRC frame transaction. To restart the internal state machine properly, SPI is strongly suggested to be disabled and re-enabled before next transaction starts despite its setting is not changed..

Allowed values:
0: NotCompleted: Transfer ongoing or not started
1: Completed: Transfer complete

TXTF

Bit 4: transmission transfer filled TXTF is set by hardware as soon as all of the data packets in a transfer have been submitted for transmission by application software or DMA, that is when TSIZE number of data have been pushed into the TxFIFO. This bit is cleared by software write 1 to TXTFC bit of SPI_IFCR exclusively. TXTF flag triggers an interrupt if TXTFIE bit is set. TXTF setting clears the TXPIE and DXPIE masks so to off-load application software from calculating when to disable TXP and DXP interrupts..

Allowed values:
0: NotCompleted: Transmission buffer incomplete
1: Completed: Transmission buffer filled with at least one transfer

UDR

Bit 5: underrun This bit is cleared when SPI is re-enabled or by writing 1 to UDRC bit of SPI_IFCR optionally. Note: In SPI mode, the UDR flag applies to Slave mode only. In I2S/PCM mode, (when available) this flag applies to Master and Slave mode.

Allowed values:
0: NoUnderrun: No underrun occurred
1: Underrun: Underrun occurred

OVR

Bit 6: overrun This bit is cleared when SPI is re-enabled or by writing 1 to OVRC bit of SPI_IFCR optionally..

Allowed values:
0: NoOverrun: No overrun occurred
1: Overrun: Overrun occurred

CRCE

Bit 7: CRC error This bit is cleared when SPI is re-enabled or by writing 1 to CRCEC bit of SPI_IFCR optionally..

Allowed values:
0: NoError: No CRC error detected
1: Error: CRC error detected

TIFRE

Bit 8: TI frame format error This bit is cleared by writing 1 to TIFREC bit of SPI_IFCR exclusively..

Allowed values:
0: NoError: TI frame format error detected
1: Error: TI frame format error detected

MODF

Bit 9: mode fault This bit is cleared by writing 1 to MODFC bit of SPI_IFCR exclusively..

Allowed values:
0: NoFault: No mode fault detected
1: Fault: Mode fault detected

SUSP

Bit 11: suspension status In Master mode, SUSP is set by hardware either as soon as the current frame is completed after CSUSP request is done or at master automatic suspend receive mode (MASRX bit is set at SPI_CR1 register) on RxFIFO full condition. SUSP generates an interrupt when EOTIE is set. This bit has to be cleared prior SPI is disabled and this is done by writing 1 to SUSPC bit of SPI_IFCR exclusively..

Allowed values:
0: NotSuspended: Master not suspended
1: Suspended: Master suspended

TXC

Bit 12: TxFIFO transmission complete The flag behavior depends on TSIZE setting. When TSIZE=0 the TXC is changed by hardware exclusively and it raises each time the TxFIFO becomes empty and there is no activity on the bus. If TSIZE <>0 there is no specific reason to monitor TXC as it just copies the EOT flag value including its software clearing. The TXC generates an interrupt when EOTIE is set..

Allowed values:
0: Ongoing: Transmission ongoing
1: Completed: Transmission completed

RXPLVL

Bits 13-14: RxFIFO packing level When RXWNE=0 and data size is set up to 16-bit, the value gives number of remaining data frames persisting at RxFIFO. Note: (*): Optional value when data size is set up to 8-bit only. When data size is greater than 16-bit, these bits are always read as 00. In that consequence, the single data frame received at the FIFO cannot be detected neither by RWNE nor by RXPLVL bits if data size is set from 17 to 24 bits. The user then must apply other methods like TSIZE>0 or FTHLV=0..

Allowed values:
0: ZeroFrames: Zero frames beyond packing ratio available
1: OneFrame: One frame beyond packing ratio available
2: TwoFrames: Two frame beyond packing ratio available
3: ThreeFrames: Three frame beyond packing ratio available

RXWNE

Bit 15: RxFIFO word not empty Note: This bit value does not depend on DSIZE setting and keeps together with RXPLVL[1:0] information about RxFIFO occupancy by residual data..

Allowed values:
0: LessThan32: Less than 32-bit data frame received
1: AtLeast32: At least 32-bit data frame received

CTSIZE

Bits 16-31: number of data frames remaining in current TSIZE session The value is not quite reliable when traffic is ongoing on bus or during autonomous operation in low-power mode. Note: CTSIZE[15:0] bits are not available in instances with limited set of features..

Allowed values: 0x0-0xffff

IFCR

SPI/I2S interrupt/status flags clear register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SUSPC
w
MODFC
w
TIFREC
w
CRCEC
w
OVRC
w
UDRC
w
TXTFC
w
EOTC
w
Toggle fields

EOTC

Bit 3: end of transfer flag clear Writing a 1 into this bit clears EOT flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

TXTFC

Bit 4: transmission transfer filled flag clear Writing a 1 into this bit clears TXTF flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

UDRC

Bit 5: underrun flag clear Writing a 1 into this bit clears UDR flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

OVRC

Bit 6: overrun flag clear Writing a 1 into this bit clears OVR flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

CRCEC

Bit 7: CRC error flag clear Writing a 1 into this bit clears CRCE flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

TIFREC

Bit 8: TI frame format error flag clear Writing a 1 into this bit clears TIFRE flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

MODFC

Bit 9: mode fault flag clear Writing a 1 into this bit clears MODF flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

SUSPC

Bit 11: SUSPend flag clear Writing a 1 into this bit clears SUSP flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

TXDR

SPI/I2S transmit data register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXDR
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXDR
w
Toggle fields

TXDR

Bits 0-31: transmit data register The register serves as an interface with TxFIFO. A write to it accesses TxFIFO. Note: In SPI mode, data is always right-aligned. Alignment of data at I2S mode depends on DATLEN and DATFMT setting. Unused bits are ignored when writing to the register, and read as zero when the register is read. Note: DR can be accessed byte-wise (8-bit access): in this case only one data-byte is written by single access. halfword-wise (16 bit access) in this case 2 data-bytes or 1 halfword-data can be written by single access. word-wise (32 bit access). In this case 4 data-bytes or 2 halfword-data or word-data can be written by single access. Write access of this register less than the configured data size is forbidden..

Allowed values: 0x0-0xffffffff

RXDR

SPI/I2S receive data register

Offset: 0x30, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RXDR
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXDR
r
Toggle fields

RXDR

Bits 0-31: receive data register The register serves as an interface with RxFIFO. When it is read, RxFIFO is accessed. Note: In SPI mode, data is always right-aligned. Alignment of data at I2S mode depends on DATLEN and DATFMT setting. Unused bits are read as zero when the register is read. Writing to the register is ignored. Note: DR can be accessed byte-wise (8-bit access): in this case only one data-byte is read by single access halfword-wise (16 bit access) in this case 2 data-bytes or 1 halfword-data can be read by single access word-wise (32 bit access). In this case 4 data-bytes or 2 halfword-data or word-data can be read by single access. Read access of this register less than the configured data size is forbidden..

CRCPOLY

SPI/I2S polynomial register

Offset: 0x40, size: 32, reset: 0x00000107, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CRCPOLY
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CRCPOLY
rw
Toggle fields

CRCPOLY

Bits 0-31: CRC polynomial register This register contains the polynomial for the CRC calculation. The default 9-bit polynomial setting 0x107 corresponds to default 8-bit setting of DSIZE. It is compatible with setting 0x07 used at some other ST products with fixed length of the polynomial string where the most significant bit of the string is always kept hidden. Length of the polynomial is given by the most significant bit of the value stored at this register. It has to be set greater than DSIZE. CRC33_17 bit has to be set additionally with CRCPOLY register when DSIZE is configured to maximum 32-bit or 16-bit size and CRC is enabled (to keep polynomial length grater than data size). Note: CRCPOLY[31:16] bits are reserved at instances with data size limited to 16-bit. There is no constrain when 32-bit access is applied at these addresses. Reserved bits 31-16 are always read zero while any write to them is ignored..

Allowed values: 0x0-0xffffffff

TXCRC

SPI/I2S transmitter CRC register

Offset: 0x44, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXCRC
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXCRC
r
Toggle fields

TXCRC

Bits 0-31: CRC register for transmitter When CRC calculation is enabled, the TXCRC[31:0] bits contain the computed CRC value of the subsequently transmitted bytes. CRC calculation is initialized when the CRCEN bit of SPI_CR1 is written to 1 or when a data block is transacted completely. The CRC is calculated serially using the polynomial programmed in the SPI_CRCPOLY register. The number of bits considered at calculation depends on SPI_CRCPOLY register and CRCSIZE bits settings at SPI_CFG1 register. Note: a read to this register when the communication is ongoing could return an incorrect value. Note: not used for the I2S mode. Note: TXCRC[31-16] bits are reserved at instances with data size limited to 16-bit. There is no constrain when 32-bit access is applied at these addresses. Reserved bits 31-16 are always read zero while any write to them is ignored. Note: The configuration of CRCSIZE bit field is not taken into account when the content of this register is read by software. No masking is applied for unused bits at this case..

RXCRC

SPI/I2S receiver CRC register

Offset: 0x48, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RXCRC
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXCRC
r
Toggle fields

RXCRC

Bits 0-31: CRC register for receiver When CRC calculation is enabled, the RXCRC[31:0] bits contain the computed CRC value of the subsequently received bytes. CRC calculation is initialized when the CRCEN bit of SPI_CR1 is written to 1 or when a data block is transacted completely. The CRC is calculated serially using the polynomial programmed in the SPI_CRCPOLY register. The number of bits considered at calculation depends on SPI_CRCPOLY register and CRCSIZE bits settings at SPI_CFG1 register. Note: a read to this register when the communication is ongoing could return an incorrect value. Not used for the I2S mode. RXCRC[31-16] bits are reserved at the peripheral instances with data size limited to 16-bit. There is no constrain when 32-bit access is applied at these addresses. Reserved bits 31-16 are always read zero while any write to them is ignored. Note: The configuration of CRCSIZE bit field is not taken into account when the content of this register is read by software. No masking is applied for unused bits at this case..

UDRDR

SPI/I2S underrun data register

Offset: 0x4c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UDRDR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UDRDR
rw
Toggle fields

UDRDR

Bits 0-31: data at slave underrun condition The register is taken into account in Slave mode and at underrun condition only. The number of bits considered depends on DSIZE bit settings of the SPI_CFG1 register. Underrun condition handling depends on setting UDRCFG bit at SPI_CFG1 register. Note: UDRDR[31-16] bits are reserved at the peripheral instances with data size limited to 16-bit. There is no constraint when 32-bit access is applied at these addresses. Reserved bits 31-16 are always read zero while any write to them is ignored..

Allowed values: 0x0-0xffffffff

I2SCFGR

SPI/I2S configuration register

Offset: 0x50, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MCKOE
rw
ODD
rw
I2SDIV
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DATFMT
rw
WSINV
rw
FIXCH
rw
CKPOL
rw
CHLEN
rw
DATLEN
rw
PCMSYNC
rw
I2SSTD
rw
I2SCFG
rw
I2SMOD
rw
Toggle fields

I2SMOD

Bit 0: I2S mode selection.

Allowed values:
0: SPI: SPI mode selected
1: I2S: I2S/PCM mode selected

I2SCFG

Bits 1-3: I2S configuration mode others, not used.

Allowed values:
0: SlaveTransmit: Slave, transmit
1: SlaveReceive: Slave, recteive
2: MasterTransmit: Master, transmit
3: MasterReceive: Master, receive
4: SlaveFullDuplex: Slave, full duplex
5: MasterFullDuplex: Master, full duplex

I2SSTD

Bits 4-5: I2S standard selection For more details on I2S standards, refer to.

Allowed values:
0: Philips: I2S Philips standard
1: LeftAligned: MSB/left justified standard
2: RightAligned: LSB/right justified standard
3: PCM: PCM standard

PCMSYNC

Bit 7: PCM frame synchronization.

Allowed values:
0: Short: Short PCM frame synchronization
1: Long: Long PCM frame synchronization

DATLEN

Bits 8-9: data length to be transferred.

Allowed values:
0: Bits16: 16 bit data length
1: Bits24: 24 bit data length
2: Bits32: 32 bit data length

CHLEN

Bit 10: channel length (number of bits per audio channel).

Allowed values:
0: Bits16: 16 bit per channel
1: Bits32: 32 bit per channel

CKPOL

Bit 11: serial audio clock polarity.

Allowed values:
0: SampleOnRising: Signals are sampled on rising and changed on falling clock edges
1: SampleOnFalling: Signals are sampled on falling and changed on rising clock edges

FIXCH

Bit 12: fixed channel length in slave.

Allowed values:
0: NotFixed: The channel length in slave mode is different from 16 or 32 bits (CHLEN not taken into account)
1: Fixed: The channel length in slave mode is supposed to be 16 or 32 bits (according to CHLEN)

WSINV

Bit 13: word select inversion This bit is used to invert the default polarity of WS signal. WS is LOW. In PCM mode the start of frame is indicated by a rising edge. WS is HIGH. In PCM mode the start of frame is indicated by a falling edge..

Allowed values:
0: Disabled: Word select inversion disabled
1: Enabled: Word select inversion enabled

DATFMT

Bit 14: data format.

Allowed values:
0: RightAligned: The data inside RXDR and TXDR are right aligned
1: LeftAligned: The data inside RXDR and TXDR are left aligned

I2SDIV

Bits 16-23: I2S linear prescaler I2SDIV can take any values except the value 1, when ODD is also equal to 1. Refer to for details.

Allowed values: 0x0-0xff

ODD

Bit 24: odd factor for the prescaler Refer to for details.

Allowed values:
0: Even: Real divider value is I2SDIV*2
1: Odd: Real divider value is I2SDIV*2 + 1

MCKOE

Bit 25: master clock output enable.

Allowed values:
0: Disabled: Master clock output disabled
1: Enabled: Master clock output enabled

SPI3

0x40003c00: Serial peripheral interface

86/88 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CR1
0x4 CR2
0x8 CFG1
0xc CFG2
0x10 IER
0x14 SR
0x18 IFCR
0x20 TXDR
0x30 RXDR
0x40 CRCPOLY
0x44 TXCRC
0x48 RXCRC
0x4c UDRDR
0x50 I2SCFGR
Toggle registers

CR1

SPI/I2S control register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

10/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
IOLOCK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TCRCINI
rw
RCRCINI
rw
CRC33_17
rw
SSI
rw
HDDIR
rw
CSUSP
w
CSTART
rw
MASRX
rw
SPE
rw
Toggle fields

SPE

Bit 0: serial peripheral enable This bit is set by and cleared by software. When SPE=1, SPI data transfer is enabled, SPI_CFG1 and SPI_CFG2 configuration registers, CRCPOLY, UDRDR, IOLOCK bit in the SPI_CR1 register are write protected. They can be changed only when SPE=0. When SPE=0 any SPI operation is stopped and disabled, all the pending requests of the events with enabled interrupt are blocked except the MODF interrupt request (but their pending still propagates the request of the spi_plck clock), the SS output is deactivated at master, the RDY signal keeps not ready status at slave, the internal state machine is reseted, all the FIFOs content is flushed, CRC calculation initialized, receive data register is read zero. SPE is cleared and cannot be set when MODF error flag is active..

Allowed values:
0: Disabled: Peripheral disabled
1: Enabled: Peripheral enabled

MASRX

Bit 8: master automatic suspension in Receive mode This bit is set and cleared by software to control continuous SPI transfer in master receiver mode and automatic management in order to avoid overrun condition. When SPI communication is suspended by hardware automatically, it could happen that few bits of next frame are already clocked out due to internal synchronization delay. This is why, the automatic suspension is not quite reliable when size of data drops below 8 bits. In this case, a safe suspension can be achieved by combination with delay inserted between data frames applied when MIDI parameter keeps a non zero value; sum of data size and the interleaved SPI cycles should always produce interval at length of 8 SPI clock periods at minimum. After software clearing of the SUSP bit, the communication resumes and continues by subsequent bits transaction without any next constraint. Prior the SUSP bit is cleared, the user must release the RxFIFO space as much as possible by reading out all the data packets available at RxFIFO based on the RXP flag indication to prevent any subsequent suspension..

Allowed values:
0: Disabled: Automatic suspend in master receive-only mode disabled
1: Enabled: Automatic suspend in master receive-only mode enabled

CSTART

Bit 9: master transfer start This bit can be set by software if SPI is enabled only to start an SPI or I2S/PCM communication. In SPI mode, it is cleared by hardware when end of transfer (EOT) flag is set or when a transaction suspend request is accepted. In I2S/PCM mode, it is also cleared by hardware as described in the . In SPI mode, the bit is taken into account at master mode only. If transmission is enabled, communication starts or continues only if any data is available in the transmission FIFO..

Allowed values:
0: NotStarted: Do not start master transfer
1: Started: Start master transfer

CSUSP

Bit 10: master SUSPend request This bit reads as zero. In Master mode, when this bit is set by software, the CSTART bit is reset at the end of the current frame and communication is suspended. The user has to check SUSP flag to check end of the frame transaction. The Master mode communication must be suspended (using this bit or keeping TXDR empty) before going to Low-power mode. Can be used in SPI or I2S mode. After software suspension, SUSP flag has to be cleared and SPI disabled and re-enabled before the next transaction starts..

Allowed values:
0: NotRequested: Do not request master suspend
1: Requested: Request master suspend

HDDIR

Bit 11: Rx/Tx direction at Half-duplex mode In Half-Duplex configuration the HDDIR bit establishes the Rx/Tx direction of the data transfer. This bit is ignored in Full-Duplex or any Simplex configuration..

Allowed values:
0: Receiver: Receiver in half duplex mode
1: Transmitter: Transmitter in half duplex mode

SSI

Bit 12: internal SS signal input level This bit has an effect only when the SSM bit is set. The value of this bit is forced onto the peripheral SS input internally and the I/O value of the SS pin is ignored..

Allowed values:
0: SlaveSelected: 0 is forced onto the SS signal and the I/O value of the SS pin is ignored
1: SlaveNotSelected: 1 is forced onto the SS signal and the I/O value of the SS pin is ignored

CRC33_17

Bit 13: 32-bit CRC polynomial configuration.

Allowed values:
0: Disabled: Full size (33/17 bit) CRC polynomial is not used
1: Enabled: Full size (33/17 bit) CRC polynomial is used

RCRCINI

Bit 14: CRC calculation initialization pattern control for receiver.

Allowed values:
0: AllZeros: All zeros RX CRC initialization pattern
1: AllOnes: All ones RX CRC initialization pattern

TCRCINI

Bit 15: CRC calculation initialization pattern control for transmitter.

Allowed values:
0: AllZeros: All zeros TX CRC initialization pattern
1: AllOnes: All ones TX CRC initialization pattern

IOLOCK

Bit 16: locking the AF configuration of associated IOs This bit is set by software and cleared by hardware whenever the SPE bit is changed from 1 to 0. When this bit is set, SPI_CFG2 register content cannot be modified. This bit can be set when SPI is disabled only else it is write protected. It is cleared and cannot be set when MODF bit is set..

Allowed values:
0: Unlocked: IO configuration unlocked
1: Locked: IO configuration locked

CR2

SPI/I2S control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TSIZE
rw
Toggle fields

TSIZE

Bits 0-15: number of data at current transfer When these bits are changed by software, the SPI has to be disabled. Endless transaction is initialized when CSTART is set while zero value is stored at TSIZE. TSIZE cannot be set to 0xFFFF respective 0x3FFF value when CRC is enabled. Note: TSIZE[15:10] bits are reserved at limited feature set instances and must be kept at reset value..

Allowed values: 0x0-0xffff

CFG1

SPI/I2S configuration register 1

Offset: 0x8, size: 32, reset: 0x00070007, access: Unspecified

9/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BPASS
rw
MBR
rw
CRCEN
rw
CRCSIZE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXDMAEN
rw
RXDMAEN
rw
UDRCFG
rw
FTHLV
rw
DSIZE
rw
Toggle fields

DSIZE

Bits 0-4: number of bits in at single SPI data frame ..... Note: Maximum data size can be limited up to 16-bits at some instances. At instances with limited set of features, DSIZE2:0] bits are reserved and must be kept at reset state. DSIZE[4:3] bits then control next settings of data size: 00xxx: 8-bits 01xxx: 16-bits 10xxx: 24-bits 11xxx: 32-bits..

Allowed values: 0x0-0x1f

FTHLV

Bits 5-8: FIFO threshold level Defines number of data frames at single data packet. Size of the packet should not exceed 1/2 of FIFO space. SPI interface is more efficient if configured packet sizes are aligned with data register access parallelism: If SPI data register is accessed as a 16-bit register and DSIZE ≤ 8 bit, better to select FTHLV = 2, 4, 6. If SPI data register is accessed as a 32-bit register and DSIZE> 8 bit, better to select FTHLV = 2, 4, 6, while if DSIZE ≤ 8bit, better to select FTHLV = 4, 8, 12. Note: FTHLV[3:2] bits are reserved at instances with limited set of features.

Allowed values:
0: OneFrame: 1 frame
1: TwoFrames: 2 frames
2: ThreeFrames: 3 frames
3: FourFrames: 4 frames
4: FiveFrames: 5 frames
5: SixFrames: 6 frames
6: SevenFrames: 7 frames
7: EightFrames: 8 frames
8: NineFrames: 9 frames
9: TenFrames: 10 frames
10: ElevenFrames: 11 frames
11: TwelveFrames: 12 frames
12: ThirteenFrames: 13 frames
13: FourteenFrames: 14 frames
14: FifteenFrames: 15 frames
15: SixteenFrames: 16 frames

UDRCFG

Bit 9: behavior of slave transmitter at underrun condition For more details see underrun condition..

Allowed values:
0: Constant: Slave sends a constant underrun pattern
1: RepeatReceived: Slave repeats last received data frame from master

RXDMAEN

Bit 14: Rx DMA stream enable.

Allowed values:
0: Disabled: Rx buffer DMA disabled
1: Enabled: Rx buffer DMA enabled

TXDMAEN

Bit 15: Tx DMA stream enable.

Allowed values:
0: Disabled: Tx buffer DMA disabled
1: Enabled: Tx buffer DMA enabled

CRCSIZE

Bits 16-20: length of CRC frame to be transacted and compared Most significant bits are taken into account from polynomial calculation when CRC result is transacted or compared. The length of the polynomial is not affected by this setting. ..... The value must be set equal or multiply of data size (DSIZE[4:0]). Its maximum size corresponds to DSIZE maximum at the instance. Note: The most significant bit at CRCSIZE bit field is reserved at the peripheral instances where data size is limited to 16-bit..

Allowed values: 0x0-0x1f

CRCEN

Bit 22: hardware CRC computation enable.

Allowed values:
0: Disabled: CRC calculation disabled
1: Enabled: CRC calculation enabled

MBR

Bits 28-30: master baud rate prescaler setting Note: MBR setting is considered at slave working at TI mode, too (see mode)..

Allowed values:
0: Div2: f_spi_ker_ck / 2
1: Div4: f_spi_ker_ck / 4
2: Div8: f_spi_ker_ck / 8
3: Div16: f_spi_ker_ck / 16
4: Div32: f_spi_ker_ck / 32
5: Div64: f_spi_ker_ck / 64
6: Div128: f_spi_ker_ck / 128
7: Div256: f_spi_ker_ck / 256

BPASS

Bit 31: bypass of the prescaler at master baud rate clock generator.

Allowed values:
0: Disabled: Bypass is disabled
1: Enabled: Bypass is enabled

CFG2

SPI/I2S configuration register 2

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

14/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
AFCNTR
rw
SSOM
rw
SSOE
rw
SSIOP
rw
SSM
rw
CPOL
rw
CPHA
rw
LSBFRST
rw
MASTER
rw
SP
rw
COMM
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IOSWP
rw
RDIOP
rw
RDIOM
rw
MIDI
rw
MSSI
rw
Toggle fields

MSSI

Bits 0-3: Master SS Idleness Specifies an extra delay, expressed in number of SPI clock cycle periods, inserted additionally between active edge of SS opening a session and the beginning of the first data frame of the session in Master mode when SSOE is enabled. ... Note: This feature is not supported in TI mode. To include the delay, the SPI must be disabled and re-enabled between sessions..

Allowed values: 0x0-0xf

MIDI

Bits 4-7: master Inter-Data Idleness Specifies minimum time delay (expressed in SPI clock cycles periods) inserted between two consecutive data frames in Master mode. ... Note: This feature is not supported in TI mode..

Allowed values: 0x0-0xf

RDIOM

Bit 13: RDY signal input/output management Note: When DSIZE at the SPI_CFG1 register is configured shorter than 8-bit, the RDIOM bit has to be kept at zero..

RDIOP

Bit 14: RDY signal input/output polarity.

IOSWP

Bit 15: swap functionality of MISO and MOSI pins When this bit is set, the function of MISO and MOSI pins alternate functions are inverted. Original MISO pin becomes MOSI and original MOSI pin becomes MISO. Note: This bit can be also used in PCM and I2S modes to swap SDO and SDI pins..

Allowed values:
0: Disabled: MISO and MOSI not swapped
1: Enabled: MISO and MOSI swapped

COMM

Bits 17-18: SPI Communication Mode.

Allowed values:
0: FullDuplex: Full duplex
1: Transmitter: Simplex transmitter only
2: Receiver: Simplex receiver only
3: HalfDuplex: Half duplex

SP

Bits 19-21: serial protocol others: reserved, must not be used.

Allowed values:
0: Motorola: Motorola SPI protocol
1: TI: TI SPI protocol

MASTER

Bit 22: SPI Master.

Allowed values:
0: Slave: Slave configuration
1: Master: Master configuration

LSBFRST

Bit 23: data frame format Note: This bit can be also used in PCM and I2S modes..

Allowed values:
0: MSBFirst: Data is transmitted/received with the MSB first
1: LSBFirst: Data is transmitted/received with the LSB first

CPHA

Bit 24: clock phase.

Allowed values:
0: FirstEdge: The first clock transition is the first data capture edge
1: SecondEdge: The second clock transition is the first data capture edge

CPOL

Bit 25: clock polarity.

Allowed values:
0: IdleLow: CK to 0 when idle
1: IdleHigh: CK to 1 when idle

SSM

Bit 26: software management of SS signal input When master uses hardware SS output (SSM=0 and SSOE=1) the SS signal input is forced to not active state internally to prevent master mode fault error..

Allowed values:
0: Disabled: Software slave management disabled
1: Enabled: Software slave management enabled

SSIOP

Bit 28: SS input/output polarity.

Allowed values:
0: ActiveLow: Low level is active for SS signal
1: ActiveHigh: High level is active for SS signal

SSOE

Bit 29: SS output enable This bit is taken into account in Master mode only.

Allowed values:
0: Disabled: SS output is disabled in master mode
1: Enabled: SS output is enabled in master mode

SSOM

Bit 30: SS output management in Master mode This bit is taken into account in Master mode when SSOE is enabled. It allows the SS output to be configured between two consecutive data transfers..

Allowed values:
0: Asserted: SS is asserted until data transfer complete
1: NotAsserted: Data frames interleaved with SS not asserted during MIDI

AFCNTR

Bit 31: alternate function GPIOs control This bit is taken into account when SPE=0 only When SPI has to be disabled temporary for a specific configuration reason (e.g. CRC reset, CPHA or HDDIR change) setting this bit prevents any glitches on the associated outputs configured at alternate function mode by keeping them forced at state corresponding the current SPI configuration. Note: This bit can be also used in PCM and I2S modes. Note: The bit AFCNTR must not be set to 1, when the block is in slave mode..

Allowed values:
0: NotControlled: Peripheral takes no control of GPIOs while disabled
1: Controlled: Peripheral controls GPIOs while disabled

IER

SPI/I2S interrupt enable register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

10/10 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MODFIE
rw
TIFREIE
rw
CRCEIE
rw
OVRIE
rw
UDRIE
rw
TXTFIE
rw
EOTIE
rw
DXPIE
rw
TXPIE
rw
RXPIE
rw
Toggle fields

RXPIE

Bit 0: RXP interrupt enable.

Allowed values:
0: Masked: RX data available interrupt masked
1: NotMasked: RX data available interrupt not masked

TXPIE

Bit 1: TXP interrupt enable TXPIE is set by software and cleared by TXTF flag set event..

Allowed values:
0: Masked: TX space available interrupt masked
1: NotMasked: TX space available interrupt not masked

DXPIE

Bit 2: DXP interrupt enabled DXPIE is set by software and cleared by TXTF flag set event..

Allowed values:
0: Masked: Duplex transfer complete interrupt masked
1: NotMasked: Duplex transfer complete interrupt not masked

EOTIE

Bit 3: EOT, SUSP and TXC interrupt enable.

Allowed values:
0: Masked: End-of-transfer interrupt masked
1: NotMasked: End-of-transfer interrupt not masked

TXTFIE

Bit 4: TXTFIE interrupt enable.

Allowed values:
0: Masked: Transmission transfer filled interrupt masked
1: NotMasked: Transmission transfer filled interrupt not masked

UDRIE

Bit 5: UDR interrupt enable.

Allowed values:
0: Masked: Underrun interrupt masked
1: NotMasked: Underrun interrupt not masked

OVRIE

Bit 6: OVR interrupt enable.

Allowed values:
0: Masked: Overrun interrupt masked
1: NotMasked: Overrun interrupt not masked

CRCEIE

Bit 7: CRC error interrupt enable.

Allowed values:
0: Masked: CRC error interrupt masked
1: NotMasked: CRC error interrupt not masked

TIFREIE

Bit 8: TIFRE interrupt enable.

Allowed values:
0: Masked: TI frame format error interrupt masked
1: NotMasked: TI frame format error interrupt not masked

MODFIE

Bit 9: mode Fault interrupt enable.

Allowed values:
0: Masked: Mode fault interrupt masked
1: NotMasked: Mode fault interrupt not masked

SR

SPI/I2S status register

Offset: 0x14, size: 32, reset: 0x00001002, access: Unspecified

15/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CTSIZE
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXWNE
r
RXPLVL
r
TXC
r
SUSP
r
MODF
r
TIFRE
r
CRCE
r
OVR
r
UDR
r
TXTF
r
EOT
r
DXP
r
TXP
r
RXP
r
Toggle fields

RXP

Bit 0: Rx-Packet available In I2S mode, it must be interpreted as follow: RxFIFO level is lower than FTHLV In I2S mode, it must be interpreted as follow: RxFIFO level is higher or equal to FTHLV RXP flag is changed by hardware. It monitors number of overall data currently available at RxFIFO if SPI is enabled. It has to be checked once a data packet is completely read out from RxFIFO..

Allowed values:
0: Empty: Rx buffer empty
1: NotEmpty: Rx buffer not empty

TXP

Bit 1: Tx-Packet space available In I2S mode, it must be interpreted as follow: there is less than FTHLV free locations in the TxFIFO In I2S mode, it must be interpreted as follow: there is FTHLV or more than FTHLV free locations in the TxFIFO TXP flag is changed by hardware. It monitors overall space currently available at TxFIFO no matter if SPI is enabled or not. It has to be checked once a complete data packet is stored at TxFIFO..

Allowed values:
0: Full: Tx buffer full
1: NotFull: Tx buffer not full

DXP

Bit 2: duplex packet DXP flag is set whenever both TXP and RXP flags are set regardless SPI mode..

Allowed values:
0: Unavailable: Duplex packet unavailable: no space for transmission and/or no data received
1: Available: Duplex packet available: space for transmission and data received

EOT

Bit 3: end of transfer EOT is set by hardware as soon as a full transfer is complete, that is when SPI is re-enabled or when TSIZE number of data have been transmitted and/or received on the SPI. EOT is cleared when SPI is re-enabled or by writing 1 to EOTC bit of SPI_IFCR optionally. EOT flag triggers an interrupt if EOTIE bit is set. If DXP flag is used until TXTF flag is set and DXPIE is cleared, EOT can be used to download the last packets contained into RxFIFO in one-shot. In master, EOT event terminates the data transaction and handles SS output optionally. When CRC is applied, the EOT event is extended over the CRC frame transaction. To restart the internal state machine properly, SPI is strongly suggested to be disabled and re-enabled before next transaction starts despite its setting is not changed..

Allowed values:
0: NotCompleted: Transfer ongoing or not started
1: Completed: Transfer complete

TXTF

Bit 4: transmission transfer filled TXTF is set by hardware as soon as all of the data packets in a transfer have been submitted for transmission by application software or DMA, that is when TSIZE number of data have been pushed into the TxFIFO. This bit is cleared by software write 1 to TXTFC bit of SPI_IFCR exclusively. TXTF flag triggers an interrupt if TXTFIE bit is set. TXTF setting clears the TXPIE and DXPIE masks so to off-load application software from calculating when to disable TXP and DXP interrupts..

Allowed values:
0: NotCompleted: Transmission buffer incomplete
1: Completed: Transmission buffer filled with at least one transfer

UDR

Bit 5: underrun This bit is cleared when SPI is re-enabled or by writing 1 to UDRC bit of SPI_IFCR optionally. Note: In SPI mode, the UDR flag applies to Slave mode only. In I2S/PCM mode, (when available) this flag applies to Master and Slave mode.

Allowed values:
0: NoUnderrun: No underrun occurred
1: Underrun: Underrun occurred

OVR

Bit 6: overrun This bit is cleared when SPI is re-enabled or by writing 1 to OVRC bit of SPI_IFCR optionally..

Allowed values:
0: NoOverrun: No overrun occurred
1: Overrun: Overrun occurred

CRCE

Bit 7: CRC error This bit is cleared when SPI is re-enabled or by writing 1 to CRCEC bit of SPI_IFCR optionally..

Allowed values:
0: NoError: No CRC error detected
1: Error: CRC error detected

TIFRE

Bit 8: TI frame format error This bit is cleared by writing 1 to TIFREC bit of SPI_IFCR exclusively..

Allowed values:
0: NoError: TI frame format error detected
1: Error: TI frame format error detected

MODF

Bit 9: mode fault This bit is cleared by writing 1 to MODFC bit of SPI_IFCR exclusively..

Allowed values:
0: NoFault: No mode fault detected
1: Fault: Mode fault detected

SUSP

Bit 11: suspension status In Master mode, SUSP is set by hardware either as soon as the current frame is completed after CSUSP request is done or at master automatic suspend receive mode (MASRX bit is set at SPI_CR1 register) on RxFIFO full condition. SUSP generates an interrupt when EOTIE is set. This bit has to be cleared prior SPI is disabled and this is done by writing 1 to SUSPC bit of SPI_IFCR exclusively..

Allowed values:
0: NotSuspended: Master not suspended
1: Suspended: Master suspended

TXC

Bit 12: TxFIFO transmission complete The flag behavior depends on TSIZE setting. When TSIZE=0 the TXC is changed by hardware exclusively and it raises each time the TxFIFO becomes empty and there is no activity on the bus. If TSIZE <>0 there is no specific reason to monitor TXC as it just copies the EOT flag value including its software clearing. The TXC generates an interrupt when EOTIE is set..

Allowed values:
0: Ongoing: Transmission ongoing
1: Completed: Transmission completed

RXPLVL

Bits 13-14: RxFIFO packing level When RXWNE=0 and data size is set up to 16-bit, the value gives number of remaining data frames persisting at RxFIFO. Note: (*): Optional value when data size is set up to 8-bit only. When data size is greater than 16-bit, these bits are always read as 00. In that consequence, the single data frame received at the FIFO cannot be detected neither by RWNE nor by RXPLVL bits if data size is set from 17 to 24 bits. The user then must apply other methods like TSIZE>0 or FTHLV=0..

Allowed values:
0: ZeroFrames: Zero frames beyond packing ratio available
1: OneFrame: One frame beyond packing ratio available
2: TwoFrames: Two frame beyond packing ratio available
3: ThreeFrames: Three frame beyond packing ratio available

RXWNE

Bit 15: RxFIFO word not empty Note: This bit value does not depend on DSIZE setting and keeps together with RXPLVL[1:0] information about RxFIFO occupancy by residual data..

Allowed values:
0: LessThan32: Less than 32-bit data frame received
1: AtLeast32: At least 32-bit data frame received

CTSIZE

Bits 16-31: number of data frames remaining in current TSIZE session The value is not quite reliable when traffic is ongoing on bus or during autonomous operation in low-power mode. Note: CTSIZE[15:0] bits are not available in instances with limited set of features..

Allowed values: 0x0-0xffff

IFCR

SPI/I2S interrupt/status flags clear register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

8/8 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SUSPC
w
MODFC
w
TIFREC
w
CRCEC
w
OVRC
w
UDRC
w
TXTFC
w
EOTC
w
Toggle fields

EOTC

Bit 3: end of transfer flag clear Writing a 1 into this bit clears EOT flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

TXTFC

Bit 4: transmission transfer filled flag clear Writing a 1 into this bit clears TXTF flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

UDRC

Bit 5: underrun flag clear Writing a 1 into this bit clears UDR flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

OVRC

Bit 6: overrun flag clear Writing a 1 into this bit clears OVR flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

CRCEC

Bit 7: CRC error flag clear Writing a 1 into this bit clears CRCE flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

TIFREC

Bit 8: TI frame format error flag clear Writing a 1 into this bit clears TIFRE flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

MODFC

Bit 9: mode fault flag clear Writing a 1 into this bit clears MODF flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

SUSPC

Bit 11: SUSPend flag clear Writing a 1 into this bit clears SUSP flag in the SPI_SR register.

Allowed values:
1: Clear: Clear interrupt flag

TXDR

SPI/I2S transmit data register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXDR
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXDR
w
Toggle fields

TXDR

Bits 0-31: transmit data register The register serves as an interface with TxFIFO. A write to it accesses TxFIFO. Note: In SPI mode, data is always right-aligned. Alignment of data at I2S mode depends on DATLEN and DATFMT setting. Unused bits are ignored when writing to the register, and read as zero when the register is read. Note: DR can be accessed byte-wise (8-bit access): in this case only one data-byte is written by single access. halfword-wise (16 bit access) in this case 2 data-bytes or 1 halfword-data can be written by single access. word-wise (32 bit access). In this case 4 data-bytes or 2 halfword-data or word-data can be written by single access. Write access of this register less than the configured data size is forbidden..

Allowed values: 0x0-0xffffffff

RXDR

SPI/I2S receive data register

Offset: 0x30, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RXDR
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXDR
r
Toggle fields

RXDR

Bits 0-31: receive data register The register serves as an interface with RxFIFO. When it is read, RxFIFO is accessed. Note: In SPI mode, data is always right-aligned. Alignment of data at I2S mode depends on DATLEN and DATFMT setting. Unused bits are read as zero when the register is read. Writing to the register is ignored. Note: DR can be accessed byte-wise (8-bit access): in this case only one data-byte is read by single access halfword-wise (16 bit access) in this case 2 data-bytes or 1 halfword-data can be read by single access word-wise (32 bit access). In this case 4 data-bytes or 2 halfword-data or word-data can be read by single access. Read access of this register less than the configured data size is forbidden..

CRCPOLY

SPI/I2S polynomial register

Offset: 0x40, size: 32, reset: 0x00000107, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CRCPOLY
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CRCPOLY
rw
Toggle fields

CRCPOLY

Bits 0-31: CRC polynomial register This register contains the polynomial for the CRC calculation. The default 9-bit polynomial setting 0x107 corresponds to default 8-bit setting of DSIZE. It is compatible with setting 0x07 used at some other ST products with fixed length of the polynomial string where the most significant bit of the string is always kept hidden. Length of the polynomial is given by the most significant bit of the value stored at this register. It has to be set greater than DSIZE. CRC33_17 bit has to be set additionally with CRCPOLY register when DSIZE is configured to maximum 32-bit or 16-bit size and CRC is enabled (to keep polynomial length grater than data size). Note: CRCPOLY[31:16] bits are reserved at instances with data size limited to 16-bit. There is no constrain when 32-bit access is applied at these addresses. Reserved bits 31-16 are always read zero while any write to them is ignored..

Allowed values: 0x0-0xffffffff

TXCRC

SPI/I2S transmitter CRC register

Offset: 0x44, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXCRC
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXCRC
r
Toggle fields

TXCRC

Bits 0-31: CRC register for transmitter When CRC calculation is enabled, the TXCRC[31:0] bits contain the computed CRC value of the subsequently transmitted bytes. CRC calculation is initialized when the CRCEN bit of SPI_CR1 is written to 1 or when a data block is transacted completely. The CRC is calculated serially using the polynomial programmed in the SPI_CRCPOLY register. The number of bits considered at calculation depends on SPI_CRCPOLY register and CRCSIZE bits settings at SPI_CFG1 register. Note: a read to this register when the communication is ongoing could return an incorrect value. Note: not used for the I2S mode. Note: TXCRC[31-16] bits are reserved at instances with data size limited to 16-bit. There is no constrain when 32-bit access is applied at these addresses. Reserved bits 31-16 are always read zero while any write to them is ignored. Note: The configuration of CRCSIZE bit field is not taken into account when the content of this register is read by software. No masking is applied for unused bits at this case..

RXCRC

SPI/I2S receiver CRC register

Offset: 0x48, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RXCRC
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXCRC
r
Toggle fields

RXCRC

Bits 0-31: CRC register for receiver When CRC calculation is enabled, the RXCRC[31:0] bits contain the computed CRC value of the subsequently received bytes. CRC calculation is initialized when the CRCEN bit of SPI_CR1 is written to 1 or when a data block is transacted completely. The CRC is calculated serially using the polynomial programmed in the SPI_CRCPOLY register. The number of bits considered at calculation depends on SPI_CRCPOLY register and CRCSIZE bits settings at SPI_CFG1 register. Note: a read to this register when the communication is ongoing could return an incorrect value. Not used for the I2S mode. RXCRC[31-16] bits are reserved at the peripheral instances with data size limited to 16-bit. There is no constrain when 32-bit access is applied at these addresses. Reserved bits 31-16 are always read zero while any write to them is ignored. Note: The configuration of CRCSIZE bit field is not taken into account when the content of this register is read by software. No masking is applied for unused bits at this case..

UDRDR

SPI/I2S underrun data register

Offset: 0x4c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UDRDR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UDRDR
rw
Toggle fields

UDRDR

Bits 0-31: data at slave underrun condition The register is taken into account in Slave mode and at underrun condition only. The number of bits considered depends on DSIZE bit settings of the SPI_CFG1 register. Underrun condition handling depends on setting UDRCFG bit at SPI_CFG1 register. Note: UDRDR[31-16] bits are reserved at the peripheral instances with data size limited to 16-bit. There is no constraint when 32-bit access is applied at these addresses. Reserved bits 31-16 are always read zero while any write to them is ignored..

Allowed values: 0x0-0xffffffff

I2SCFGR

SPI/I2S configuration register

Offset: 0x50, size: 32, reset: 0x00000000, access: Unspecified

13/13 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MCKOE
rw
ODD
rw
I2SDIV
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DATFMT
rw
WSINV
rw
FIXCH
rw
CKPOL
rw
CHLEN
rw
DATLEN
rw
PCMSYNC
rw
I2SSTD
rw
I2SCFG
rw
I2SMOD
rw
Toggle fields

I2SMOD

Bit 0: I2S mode selection.

Allowed values:
0: SPI: SPI mode selected
1: I2S: I2S/PCM mode selected

I2SCFG

Bits 1-3: I2S configuration mode others, not used.

Allowed values:
0: SlaveTransmit: Slave, transmit
1: SlaveReceive: Slave, recteive
2: MasterTransmit: Master, transmit
3: MasterReceive: Master, receive
4: SlaveFullDuplex: Slave, full duplex
5: MasterFullDuplex: Master, full duplex

I2SSTD

Bits 4-5: I2S standard selection For more details on I2S standards, refer to.

Allowed values:
0: Philips: I2S Philips standard
1: LeftAligned: MSB/left justified standard
2: RightAligned: LSB/right justified standard
3: PCM: PCM standard

PCMSYNC

Bit 7: PCM frame synchronization.

Allowed values:
0: Short: Short PCM frame synchronization
1: Long: Long PCM frame synchronization

DATLEN

Bits 8-9: data length to be transferred.

Allowed values:
0: Bits16: 16 bit data length
1: Bits24: 24 bit data length
2: Bits32: 32 bit data length

CHLEN

Bit 10: channel length (number of bits per audio channel).

Allowed values:
0: Bits16: 16 bit per channel
1: Bits32: 32 bit per channel

CKPOL

Bit 11: serial audio clock polarity.

Allowed values:
0: SampleOnRising: Signals are sampled on rising and changed on falling clock edges
1: SampleOnFalling: Signals are sampled on falling and changed on rising clock edges

FIXCH

Bit 12: fixed channel length in slave.

Allowed values:
0: NotFixed: The channel length in slave mode is different from 16 or 32 bits (CHLEN not taken into account)
1: Fixed: The channel length in slave mode is supposed to be 16 or 32 bits (according to CHLEN)

WSINV

Bit 13: word select inversion This bit is used to invert the default polarity of WS signal. WS is LOW. In PCM mode the start of frame is indicated by a rising edge. WS is HIGH. In PCM mode the start of frame is indicated by a falling edge..

Allowed values:
0: Disabled: Word select inversion disabled
1: Enabled: Word select inversion enabled

DATFMT

Bit 14: data format.

Allowed values:
0: RightAligned: The data inside RXDR and TXDR are right aligned
1: LeftAligned: The data inside RXDR and TXDR are left aligned

I2SDIV

Bits 16-23: I2S linear prescaler I2SDIV can take any values except the value 1, when ODD is also equal to 1. Refer to for details.

Allowed values: 0x0-0xff

ODD

Bit 24: odd factor for the prescaler Refer to for details.

Allowed values:
0: Even: Real divider value is I2SDIV*2
1: Odd: Real divider value is I2SDIV*2 + 1

MCKOE

Bit 25: master clock output enable.

Allowed values:
0: Disabled: Master clock output disabled
1: Enabled: Master clock output enabled

TAMP

0x44007c00: Tamper and backup registers

33/161 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CR1
0x4 CR2
0x8 CR3
0xc FLTCR
0x10 ATCR1
0x14 ATSEEDR
0x18 ATOR
0x1c ATCR2
0x20 CFGR
0x24 PRIVCFGR
0x2c IER
0x30 SR
0x34 MISR
0x3c SCR
0x40 COUNT1R
0x54 ERCFGR
0x100 BKP0R
0x104 BKP1R
0x108 BKP2R
0x10c BKP3R
0x110 BKP4R
0x114 BKP5R
0x118 BKP6R
0x11c BKP7R
0x120 BKP8R
0x124 BKP9R
0x128 BKP10R
0x12c BKP11R
0x130 BKP12R
0x134 BKP13R
0x138 BKP14R
0x13c BKP15R
0x140 BKP16R
0x144 BKP17R
0x148 BKP18R
0x14c BKP19R
0x150 BKP20R
0x154 BKP21R
0x158 BKP22R
0x15c BKP23R
0x160 BKP24R
0x164 BKP25R
0x168 BKP26R
0x16c BKP27R
0x170 BKP28R
0x174 BKP29R
0x178 BKP30R
0x17c BKP31R
Toggle registers

CR1

TAMP control register 1

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

0/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ITAMP15E
rw
ITAMP13E
rw
ITAMP12E
rw
ITAMP11E
rw
ITAMP9E
rw
ITAMP8E
rw
ITAMP7E
rw
ITAMP6E
rw
ITAMP5E
rw
ITAMP4E
rw
ITAMP3E
rw
ITAMP2E
rw
ITAMP1E
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TAMP2E
rw
TAMP1E
rw
Toggle fields

TAMP1E

Bit 0: Tamper detection on TAMP_IN1 enable.

TAMP2E

Bit 1: Tamper detection on TAMP_IN2 enable.

ITAMP1E

Bit 16: Internal tamper 1 enable.

ITAMP2E

Bit 17: Internal tamper 2 enable.

ITAMP3E

Bit 18: Internal tamper 3 enable.

ITAMP4E

Bit 19: Internal tamper 4 enable.

ITAMP5E

Bit 20: Internal tamper 5 enable.

ITAMP6E

Bit 21: Internal tamper 6 enable.

ITAMP7E

Bit 22: Internal tamper 7 enable.

ITAMP8E

Bit 23: Internal tamper 8 enable.

ITAMP9E

Bit 24: Internal tamper 9 enable.

ITAMP11E

Bit 26: Internal tamper 11 enable.

ITAMP12E

Bit 27: Internal tamper 12 enable.

ITAMP13E

Bit 28: Internal tamper 13 enable.

ITAMP15E

Bit 30: Internal tamper 15 enable.

CR2

TAMP control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

0/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TAMP2TRG
rw
TAMP1TRG
rw
BKERASE
w
BKBLOCK
rw
TAMP2MSK
rw
TAMP1MSK
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TAMP2NOER
rw
TAMP1NOER
rw
Toggle fields

TAMP1NOER

Bit 0: Tamper 1 no erase.

TAMP2NOER

Bit 1: Tamper 2 no erase.

TAMP1MSK

Bit 16: Tamper 1 mask The tamper 1 interrupt must not be enabled when TAMP1MSK is set..

TAMP2MSK

Bit 17: Tamper 2 mask The tamper 2 interrupt must not be enabled when TAMP2MSK is set..

BKBLOCK

Bit 22: Backup registers and device secrets<sup>(1)</sup> access blocked.

BKERASE

Bit 23: Backup registers and device secrets<sup>(1)</sup> erase Writing ‘1’ to this bit reset the backup registers and device secrets<sup>(1)</sup>. Writing 0 has no effect. This bit is always read as 0..

TAMP1TRG

Bit 24: Active level for tamper 1 input If TAMPFLT = 00 Tamper 1 input rising edge triggers a tamper detection event. If TAMPFLT = 00 Tamper 1 input falling edge triggers a tamper detection event..

TAMP2TRG

Bit 25: Active level for tamper 2 input If TAMPFLT = 00 Tamper 2 input rising edge triggers a tamper detection event. If TAMPFLT = 00 Tamper 2 input falling edge triggers a tamper detection event..

CR3

TAMP control register 3

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

0/13 fields covered.

Toggle fields

ITAMP1NOER

Bit 0: Internal Tamper 1 no erase.

ITAMP2NOER

Bit 1: Internal Tamper 2 no erase.

ITAMP3NOER

Bit 2: Internal Tamper 3 no erase.

ITAMP4NOER

Bit 3: Internal Tamper 4 no erase.

ITAMP5NOER

Bit 4: Internal Tamper 5 no erase.

ITAMP6NOER

Bit 5: Internal Tamper 6 no erase.

ITAMP7NOER

Bit 6: Internal Tamper 7 no erase.

ITAMP8NOER

Bit 7: Internal Tamper 8 no erase.

ITAMP9NOER

Bit 8: Internal Tamper 9 no erase.

ITAMP11NOER

Bit 10: Internal Tamper 11 no erase.

ITAMP12NOER

Bit 11: Internal Tamper 12 no erase.

ITAMP13NOER

Bit 12: Internal Tamper 13 no erase.

ITAMP15NOER

Bit 14: Internal Tamper 15 no erase.

FLTCR

TAMP filter control register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TAMPPUDIS
rw
TAMPPRCH
rw
TAMPFLT
rw
TAMPFREQ
rw
Toggle fields

TAMPFREQ

Bits 0-2: Tamper sampling frequency Determines the frequency at which each of the TAMP_INx inputs are sampled..

TAMPFLT

Bits 3-4: TAMP_INx filter count These bits determines the number of consecutive samples at the specified level (TAMP*TRG) needed to activate a tamper event. TAMPFLT is valid for each of the TAMP_INx inputs..

TAMPPRCH

Bits 5-6: TAMP_INx precharge duration These bit determines the duration of time during which the pull-up/is activated before each sample. TAMPPRCH is valid for each of the TAMP_INx inputs..

TAMPPUDIS

Bit 7: TAMP_INx pull-up disable This bit determines if each of the TAMPx pins are precharged before each sample..

ATCR1

TAMP active tamper control register 1

Offset: 0x10, size: 32, reset: 0x00070000, access: Unspecified

0/9 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
FLTEN
rw
ATOSHARE
rw
ATPER
rw
ATCKSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ATOSEL3
rw
ATOSEL2
rw
ATOSEL1
rw
TAMP2AM
rw
TAMP1AM
rw
Toggle fields

TAMP1AM

Bit 0: Tamper 1 active mode.

TAMP2AM

Bit 1: Tamper 2 active mode.

ATOSEL1

Bits 8-9: Active tamper shared output 1 selection The selected output must be available in the package pinout.

ATOSEL2

Bits 10-11: Active tamper shared output 2 selection The selected output must be available in the package pinout.

ATOSEL3

Bits 12-13: Active tamper shared output 3 selection The selected output must be available in the package pinout.

ATCKSEL

Bits 16-18: Active tamper RTC asynchronous prescaler clock selection These bits selects the RTC asynchronous prescaler stage output. The selected clock is CK_ATPRE. f<sub>CK_ATPRE</sub> = f<sub>RTCCLK</sub> / 2<sup>ATCKSEL </sup>when (PREDIV_A+1) = 128. ... Note: These bits can be written only when all active tampers are disabled. The write protection remains for up to 1.5 CK_ATPRE cycles after all the active tampers are disable..

ATPER

Bits 24-26: Active tamper output change period The tamper output is changed every CK_ATPER = (2<sup>ATPER </sup>x CK_ATPRE) cycles. Refer to Table 239: Minimum ATPER value..

ATOSHARE

Bit 30: Active tamper output sharing TAMP_IN1 is compared with TAMPOUTSEL1 TAMP_IN2 is compared with TAMPOUTSEL2 TAMP_IN3 is compared with TAMPOUTSEL3 TAMP_IN4 is compared with TAMPOUTSEL4 TAMP_IN5 is compared with TAMPOUTSEL5 TAMP_IN6 is compared with TAMPOUTSEL6 TAMP_IN7 is compared with TAMPOUTSEL7 TAMP_IN8 is compared with TAMPOUTSEL8.

FLTEN

Bit 31: Active tamper filter enable.

ATSEEDR

TAMP active tamper seed register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SEED
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SEED
w
Toggle fields

SEED

Bits 0-31: Pseudo-random generator seed value This register must be written four times with 32-bit values to provide the 128-bit seed to the PRNG. Writing to this register automatically sends the seed value to the PRNG..

ATOR

TAMP active tamper output register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
INITS
r
SEEDF
r
PRNG
r
Toggle fields

PRNG

Bits 0-7: Pseudo-random generator value This field provides the values of the PRNG output. Because of potential inconsistencies due to synchronization delays, PRNG must be read at least twice. The read value is correct if it is equal to previous read value..

SEEDF

Bit 14: Seed running flag This flag is set by hardware when a new seed is written in the TAMP_ATSEEDR. It is cleared by hardware when the PRNG has absorbed this new seed, and by system reset. The TAMP APB cock must not be switched off as long as SEEDF is set..

INITS

Bit 15: Active tamper initialization status This flag is set by hardware when the PRNG has absorbed the first 128-bit seed, meaning that the enabled active tampers are functional. This flag is cleared when the active tampers are disabled..

ATCR2

TAMP active tamper control register 2

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

0/8 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ATOSEL8
rw
ATOSEL7
rw
ATOSEL6
rw
ATOSEL5
rw
ATOSEL4
rw
ATOSEL3
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ATOSEL3
rw
ATOSEL2
rw
ATOSEL1
rw
Toggle fields

ATOSEL1

Bits 8-10: Active tamper shared output 1 selection The selected output must be available in the package pinout. Bits 9:8 are the mirror of ATOSEL1[1:0] in the TAMP_ATCR1, and so can also be read or written through TAMP_ATCR1..

ATOSEL2

Bits 11-13: Active tamper shared output 2 selection The selected output must be available in the package pinout. Bits 12:11 are the mirror of ATOSEL2[1:0] in the TAMP_ATCR1, and so can also be read or written through TAMP_ATCR1..

ATOSEL3

Bits 14-16: Active tamper shared output 3 selection The selected output must be available in the package pinout. Bits 15:14 are the mirror of ATOSEL3[1:0] in the TAMP_ATCR1, and so can also be read or written through TAMP_ATCR1..

ATOSEL4

Bits 17-19: Active tamper shared output 4 selection The selected output must be available in the package pinout. Bits 18:17 are the mirror of ATOSEL2[1:0] in the TAMP_ATCR1, and so can also be read or written through TAMP_ATCR1..

ATOSEL5

Bits 20-22: Active tamper shared output 5 selection The selected output must be available in the package pinout..

ATOSEL6

Bits 23-25: Active tamper shared output 6 selection The selected output must be available in the package pinout..

ATOSEL7

Bits 26-28: Active tamper shared output 7 selection The selected output must be available in the package pinout..

ATOSEL8

Bits 29-31: Active tamper shared output 8 selection The selected output must be available in the package pinout..

CFGR

TAMP configuration register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKPW
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKPRW
rw
Toggle fields

BKPRW

Bits 0-7: Backup registers read/write protection offset Protection zone 1 is defined for backup registers from TAMP_BKP0R to TAMP_BKPxR (x = BKPRW-1, from 0 to 128). Note: If BKPRW = 0: there is no protection zone 1. Note: If BKPRWPRIV is set, BKPRW[7:0] can be written only in privileged mode..

BKPW

Bits 16-23: Backup registers write protection offset Protection zone 2 is defined for backup registers from TAMP_BKPyR (y = BKPRW, from 0 to 128) to TAMP_BKPzR (z = BKPW-1, from 0 to 128, BKPW ≥ BKPRW): Protection zone 3 defined for backup registers from TAMP_BKPtR (t = BKPW, from 0 to 127). Note: If BKPW = 0 or if BKPW ≤ BKPRW: there is no protection zone 2. Note: If BKPWPRIV is set, BKPRW[7:0] can be written only in privileged mode..

PRIVCFGR

TAMP privilege configuration register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

0/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TAMPPRIV
rw
BKPWPRIV
rw
BKPRWPRIV
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNT1PRIV
rw
Toggle fields

CNT1PRIV

Bit 15: Monotonic counter 1 privilege protection.

BKPRWPRIV

Bit 29: Backup registers zone 1 privilege protection.

BKPWPRIV

Bit 30: Backup registers zone 2 privilege protection.

TAMPPRIV

Bit 31: Tamper privilege protection (excluding backup registers) Note: Refer to Section 32.3.6: TAMP privilege protection modes for details on the read protection..

IER

TAMP interrupt enable register

Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified

0/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ITAMP15IE
rw
ITAMP13IE
rw
ITAMP12IE
rw
ITAMP11IE
rw
ITAMP9IE
rw
ITAMP8IE
rw
ITAMP7IE
rw
ITAMP6IE
rw
ITAMP5IE
rw
ITAMP4IE
rw
ITAMP3IE
rw
ITAMP2IE
rw
ITAMP1IE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TAMP2IE
rw
TAMP1IE
rw
Toggle fields

TAMP1IE

Bit 0: Tamper 1 interrupt enable.

TAMP2IE

Bit 1: Tamper 2 interrupt enable.

ITAMP1IE

Bit 16: Internal tamper 1 interrupt enable.

ITAMP2IE

Bit 17: Internal tamper 2 interrupt enable.

ITAMP3IE

Bit 18: Internal tamper 3 interrupt enable.

ITAMP4IE

Bit 19: Internal tamper 4 interrupt enable.

ITAMP5IE

Bit 20: Internal tamper 5 interrupt enable.

ITAMP6IE

Bit 21: Internal tamper 6 interrupt enable.

ITAMP7IE

Bit 22: Internal tamper 7 interrupt enable.

ITAMP8IE

Bit 23: Internal tamper 8 interrupt enable.

ITAMP9IE

Bit 24: Internal tamper 9 interrupt enable.

ITAMP11IE

Bit 26: Internal tamper 11 interrupt enable.

ITAMP12IE

Bit 27: Internal tamper 12 interrupt enable.

ITAMP13IE

Bit 28: Internal tamper 13 interrupt enable.

ITAMP15IE

Bit 30: Internal tamper 15 interrupt enable.

SR

TAMP status register

Offset: 0x30, size: 32, reset: 0x00000000, access: Unspecified

14/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ITAMP15F
rw
ITAMP13F
r
ITAMP12F
r
ITAMP11F
r
ITAMP9F
r
ITAMP8F
r
ITAMP7F
r
ITAMP6F
r
ITAMP5F
r
ITAMP4F
r
ITAMP3F
r
ITAMP2F
r
ITAMP1F
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TAMP2F
r
TAMP1F
r
Toggle fields

TAMP1F

Bit 0: TAMP1 detection flag This flag is set by hardware when a tamper detection event is detected on the TAMP1 input..

TAMP2F

Bit 1: TAMP2 detection flag This flag is set by hardware when a tamper detection event is detected on the TAMP2 input..

ITAMP1F

Bit 16: Internal tamper 1 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 1..

ITAMP2F

Bit 17: Internal tamper 2 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 2..

ITAMP3F

Bit 18: Internal tamper 3 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 3..

ITAMP4F

Bit 19: Internal tamper 4 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 4..

ITAMP5F

Bit 20: Internal tamper 5 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 5..

ITAMP6F

Bit 21: Internal tamper 6 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 6..

ITAMP7F

Bit 22: Internal tamper 7 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 7..

ITAMP8F

Bit 23: Internal tamper 8 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 8..

ITAMP9F

Bit 24: Internal tamper 9 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 9..

ITAMP11F

Bit 26: Internal tamper 11 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 11..

ITAMP12F

Bit 27: Internal tamper 12 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 12..

ITAMP13F

Bit 28: Internal tamper 13 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 13..

ITAMP15F

Bit 30: Internal tamper 15 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 15..

MISR

TAMP masked interrupt status register

Offset: 0x34, size: 32, reset: 0x00000000, access: Unspecified

15/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ITAMP15MF
r
ITAMP13MF
r
ITAMP12MF
r
ITAMP11MF
r
ITAMP9MF
r
ITAMP8MF
r
ITAMP7MF
r
ITAMP6MF
r
ITAMP5MF
r
ITAMP4MF
r
ITAMP3MF
r
ITAMP2MF
r
ITAMP1MF
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TAMP2MF
r
TAMP1MF
r
Toggle fields

TAMP1MF

Bit 0: TAMP1 interrupt masked flag This flag is set by hardware when the tamper 1 interrupt is raised..

TAMP2MF

Bit 1: TAMP2 interrupt masked flag This flag is set by hardware when the tamper 2 interrupt is raised..

ITAMP1MF

Bit 16: Internal tamper 1 interrupt masked flag This flag is set by hardware when the internal tamper 1 interrupt is raised..

ITAMP2MF

Bit 17: Internal tamper 2 interrupt masked flag This flag is set by hardware when the internal tamper 2 interrupt is raised..

ITAMP3MF

Bit 18: Internal tamper 3 interrupt masked flag This flag is set by hardware when the internal tamper 3 interrupt is raised..

ITAMP4MF

Bit 19: Internal tamper 4 interrupt masked flag This flag is set by hardware when the internal tamper 4 interrupt is raised..

ITAMP5MF

Bit 20: Internal tamper 5 interrupt masked flag This flag is set by hardware when the internal tamper 5 interrupt is raised..

ITAMP6MF

Bit 21: Internal tamper 6 interrupt masked flag This flag is set by hardware when the internal tamper 6 interrupt is raised..

ITAMP7MF

Bit 22: Internal tamper 7 tamper interrupt masked flag This flag is set by hardware when the internal tamper 7 interrupt is raised..

ITAMP8MF

Bit 23: Internal tamper 8 interrupt masked flag This flag is set by hardware when the internal tamper 8 interrupt is raised..

ITAMP9MF

Bit 24: internal tamper 9 interrupt masked flag This flag is set by hardware when the internal tamper 9 interrupt is raised..

ITAMP11MF

Bit 26: internal tamper 11 interrupt masked flag This flag is set by hardware when the internal tamper 11 interrupt is raised..

ITAMP12MF

Bit 27: internal tamper 12 interrupt masked flag This flag is set by hardware when the internal tamper 12 interrupt is raised..

ITAMP13MF

Bit 28: internal tamper 13 interrupt masked flag This flag is set by hardware when the internal tamper 13 interrupt is raised..

ITAMP15MF

Bit 30: internal tamper 15 interrupt masked flag This flag is set by hardware when the internal tamper 15 interrupt is raised..

SCR

TAMP status clear register

Offset: 0x3c, size: 32, reset: 0x00000000, access: Unspecified

0/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CITAMP15F
w
CITAMP13F
w
CITAMP12F
w
CITAMP11F
w
CITAMP9F
w
CITAMP8F
w
CITAMP7F
w
CITAMP6F
w
CITAMP5F
w
CITAMP4F
w
CITAMP3F
w
CITAMP2F
w
CITAMP1F
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CTAMP2F
w
CTAMP1F
w
Toggle fields

CTAMP1F

Bit 0: Clear TAMP1 detection flag Writing 1 in this bit clears the TAMP1F bit in the TAMP_SR register..

CTAMP2F

Bit 1: Clear TAMP2 detection flag Writing 1 in this bit clears the TAMP2F bit in the TAMP_SR register..

CITAMP1F

Bit 16: Clear ITAMP1 detection flag Writing 1 in this bit clears the ITAMP1F bit in the TAMP_SR register..

CITAMP2F

Bit 17: Clear ITAMP2 detection flag Writing 1 in this bit clears the ITAMP2F bit in the TAMP_SR register..

CITAMP3F

Bit 18: Clear ITAMP3 detection flag Writing 1 in this bit clears the ITAMP3F bit in the TAMP_SR register..

CITAMP4F

Bit 19: Clear ITAMP4 detection flag Writing 1 in this bit clears the ITAMP4F bit in the TAMP_SR register..

CITAMP5F

Bit 20: Clear ITAMP5 detection flag Writing 1 in this bit clears the ITAMP5F bit in the TAMP_SR register..

CITAMP6F

Bit 21: Clear ITAMP6 detection flag Writing 1 in this bit clears the ITAMP6F bit in the TAMP_SR register..

CITAMP7F

Bit 22: Clear ITAMP7 detection flag Writing 1 in this bit clears the ITAMP7F bit in the TAMP_SR register..

CITAMP8F

Bit 23: Clear ITAMP8 detection flag Writing 1 in this bit clears the ITAMP8F bit in the TAMP_SR register..

CITAMP9F

Bit 24: Clear ITAMP9 detection flag Writing 1 in this bit clears the ITAMP9F bit in the TAMP_SR register..

CITAMP11F

Bit 26: Clear ITAMP11 detection flag Writing 1 in this bit clears the ITAMP11F bit in the TAMP_SR register..

CITAMP12F

Bit 27: Clear ITAMP12 detection flag Writing 1 in this bit clears the ITAMP12F bit in the TAMP_SR register..

CITAMP13F

Bit 28: Clear ITAMP13 detection flag Writing 1 in this bit clears the ITAMP13F bit in the TAMP_SR register..

CITAMP15F

Bit 30: Clear ITAMP15 detection flag Writing 1 in this bit clears the ITAMP15F bit in the TAMP_SR register..

COUNT1R

TAMP monotonic counter 1 register

Offset: 0x40, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
COUNT
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
COUNT
r
Toggle fields

COUNT

Bits 0-31: This register is read-only only and is incremented by one when a write access is done to this register. This register cannot roll-over and is frozen when reaching the maximum value..

ERCFGR

TAMP erase configuration register

Offset: 0x54, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ERCFG0
rw
Toggle fields

ERCFG0

Bit 0: Configurable device secrets configuration.

BKP0R

TAMP backup 0 register

Offset: 0x100, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP1R

TAMP backup 1 register

Offset: 0x104, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP2R

TAMP backup 2 register

Offset: 0x108, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP3R

TAMP backup 3 register

Offset: 0x10c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP4R

TAMP backup 4 register

Offset: 0x110, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP5R

TAMP backup 5 register

Offset: 0x114, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP6R

TAMP backup 6 register

Offset: 0x118, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP7R

TAMP backup 7 register

Offset: 0x11c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP8R

TAMP backup 8 register

Offset: 0x120, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP9R

TAMP backup 9 register

Offset: 0x124, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP10R

TAMP backup 10 register

Offset: 0x128, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP11R

TAMP backup 11 register

Offset: 0x12c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP12R

TAMP backup 12 register

Offset: 0x130, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP13R

TAMP backup 13 register

Offset: 0x134, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP14R

TAMP backup 14 register

Offset: 0x138, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP15R

TAMP backup 15 register

Offset: 0x13c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP16R

TAMP backup 16 register

Offset: 0x140, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP17R

TAMP backup 17 register

Offset: 0x144, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP18R

TAMP backup 18 register

Offset: 0x148, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP19R

TAMP backup 19 register

Offset: 0x14c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP20R

TAMP backup 20 register

Offset: 0x150, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP21R

TAMP backup 21 register

Offset: 0x154, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP22R

TAMP backup 22 register

Offset: 0x158, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP23R

TAMP backup 23 register

Offset: 0x15c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP24R

TAMP backup 24 register

Offset: 0x160, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP25R

TAMP backup 25 register

Offset: 0x164, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP26R

TAMP backup 26 register

Offset: 0x168, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP27R

TAMP backup 27 register

Offset: 0x16c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP28R

TAMP backup 28 register

Offset: 0x170, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP29R

TAMP backup 29 register

Offset: 0x174, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP30R

TAMP backup 30 register

Offset: 0x178, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

BKP31R

TAMP backup 31 register

Offset: 0x17c, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BKP
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BKP
rw
Toggle fields

BKP

Bits 0-31: The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set..

TIM1

0x40012c00: Advanced-control timers

180/245 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 (16-bit) CR1
0x4 CR2
0x8 SMCR
0xc DIER
0x10 SR
0x14 (16-bit) EGR
0x18 CCMR1_Input
0x18 CCMR1_Output
0x1c CCMR2_Input
0x1c CCMR2_Output
0x20 CCER
0x24 CNT
0x28 (16-bit) PSC
0x2c ARR
0x30 (16-bit) RCR
0x34 CCR1
0x38 CCR2
0x3c CCR3
0x40 CCR4
0x44 BDTR
0x48 CCR5
0x4c CCR6
0x50 CCMR3
0x54 DTR2
0x58 ECR
0x5c TISEL
0x60 AF1
0x64 AF2
0x3dc DCR
0x3e0 DMAR
Toggle registers

CR1

TIM1 control register 1

Offset: 0x0, size: 16, reset: 0x00000000, access: Unspecified

10/10 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DITHEN
rw
UIFREMAP
rw
CKD
rw
ARPE
rw
CMS
rw
DIR
rw
OPM
rw
URS
rw
UDIS
rw
CEN
rw
Toggle fields

CEN

Bit 0: Counter enable Note: External clock, gated mode and encoder mode can work only if the CEN bit has been previously set by software. However trigger mode can set the CEN bit automatically by hardware..

Allowed values:
0: Disabled: Counter disabled
1: Enabled: Counter enabled

UDIS

Bit 1: Update disable This bit is set and cleared by software to enable/disable UEV event generation. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller Buffered registers are then loaded with their preload values..

Allowed values:
0: Enabled: Update event enabled
1: Disabled: Update event disabled

URS

Bit 2: Update request source This bit is set and cleared by software to select the UEV event sources. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller.

Allowed values:
0: AnyEvent: Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request
1: CounterOnly: Only counter overflow/underflow generates an update interrupt or DMA request

OPM

Bit 3: One-pulse mode.

Allowed values:
0: Disabled: Counter is not stopped at update event
1: Enabled: Counter stops counting at the next update event (clearing the CEN bit)

DIR

Bit 4: Direction Note: This bit is read only when the timer is configured in Center-aligned mode or Encoder mode..

Allowed values:
0: Up: Counter used as upcounter
1: Down: Counter used as downcounter

CMS

Bits 5-6: Center-aligned mode selection Note: It is not allowed to switch from edge-aligned mode to center-aligned mode as long as the counter is enabled (CEN=1).

Allowed values:
0: EdgeAligned: The counter counts up or down depending on the direction bit
1: CenterAligned1: The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting down.
2: CenterAligned2: The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting up.
3: CenterAligned3: The counter counts up and down alternatively. Output compare interrupt flags are set both when the counter is counting up or down.

ARPE

Bit 7: Auto-reload preload enable.

Allowed values:
0: Disabled: TIMx_APRR register is not buffered
1: Enabled: TIMx_APRR register is buffered

CKD

Bits 8-9: Clock division This bit-field indicates the division ratio between the timer clock (tim_ker_ck) frequency and the dead-time and sampling clock (t<sub>DTS</sub>)used by the dead-time generators and the digital filters (tim_etr_in, tim_tix),.

Allowed values:
0: Div1: t_DTS = t_CK_INT
1: Div2: t_DTS = 2 × t_CK_INT
2: Div4: t_DTS = 4 × t_CK_INT

UIFREMAP

Bit 11: UIF status bit remapping.

Allowed values:
0: Disabled: No remapping. UIF status bit is not copied to TIMx_CNT register bit 31
1: Enabled: Remapping enabled. UIF status bit is copied to TIMx_CNT register bit 31

DITHEN

Bit 12: Dithering enable Note: The DITHEN bit can only be modified when CEN bit is reset..

Allowed values:
0: Disabled: Dithering disabled
1: Enabled: Dithering enabled

CR2

TIM1 control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

16/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MMS_H
rw
MMS2
rw
OIS6
rw
OIS5
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OIS4N
rw
OIS4
rw
OIS3N
rw
OIS3
rw
OIS2N
rw
OIS2
rw
OIS1N
rw
OIS1
rw
TI1S
rw
MMS_L
rw
CCDS
rw
CCUS
rw
CCPC
rw
Toggle fields

CCPC

Bit 0: Capture/compare preloaded control Note: This bit acts only on channels that have a complementary output..

Allowed values:
0: NotPreloaded: CCxE, CCxNE and OCxM bits are not preloaded
1: Preloaded: CCxE, CCxNE and OCxM bits are preloaded

CCUS

Bit 2: Capture/compare control update selection Note: This bit acts only on channels that have a complementary output..

Allowed values:
0: Bit: When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit only
1: BitOrEdge: When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit or when an rising edge occurs on TRGI

CCDS

Bit 3: Capture/compare DMA selection.

Allowed values:
0: OnCompare: CCx DMA request sent when CCx event occurs
1: OnUpdate: CCx DMA request sent when update event occurs

MMS_L

Bits 4-6: MMS[2:0]: Master mode selection These bits select the information to be sent in master mode to slave timers for synchronization (tim_trgo). The combination is as follows: Other codes reserved Note: The clock of the slave timer or ADC must be enabled prior to receive events from the master timer, and must not be changed on-the-fly while triggers are received from the master timer..

Allowed values: 0x0-0x7

TI1S

Bit 7: tim_ti1 selection.

Allowed values:
0: Normal: The TIMx_CH1 pin is connected to TI1 input
1: XOR: The TIMx_CH1, CH2, CH3 pins are connected to TI1 input

OIS1

Bit 8: Output idle state 1 (tim_oc1 output) Note: This bit can not be modified as long as LOCK level 1, 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Reset: OCx=0 (after a dead-time if OCx(N) is implemented) when MOE=0
1: Set: OCx=1 (after a dead-time if OCx(N) is implemented) when MOE=0

OIS1N

Bit 9: Output idle state 1 (tim_oc1n output) Note: This bit can not be modified as long as LOCK level 1, 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Reset: OCxN=0 after a dead-time when MOE=0
1: Set: OCxN=1 after a dead-time when MOE=0

OIS2

Bit 10: Output idle state 2 (tim_oc2 output) Refer to OIS1 bit.

Allowed values:
0: Reset: OCx=0 (after a dead-time if OCx(N) is implemented) when MOE=0
1: Set: OCx=1 (after a dead-time if OCx(N) is implemented) when MOE=0

OIS2N

Bit 11: Output idle state 2 (tim_oc2n output) Refer to OIS1N bit.

Allowed values:
0: Reset: OCxN=0 after a dead-time when MOE=0
1: Set: OCxN=1 after a dead-time when MOE=0

OIS3

Bit 12: Output idle state 3 (tim_oc3n output) Refer to OIS1 bit.

Allowed values:
0: Reset: OCx=0 (after a dead-time if OCx(N) is implemented) when MOE=0
1: Set: OCx=1 (after a dead-time if OCx(N) is implemented) when MOE=0

OIS3N

Bit 13: Output idle state 3 (tim_oc3n output) Refer to OIS1N bit.

Allowed values:
0: Reset: OCxN=0 after a dead-time when MOE=0
1: Set: OCxN=1 after a dead-time when MOE=0

OIS4

Bit 14: Output idle state 4 (tim_oc4 output) Refer to OIS1 bit.

Allowed values:
0: Reset: OCx=0 (after a dead-time if OCx(N) is implemented) when MOE=0
1: Set: OCx=1 (after a dead-time if OCx(N) is implemented) when MOE=0

OIS4N

Bit 15: Output idle state 4 (tim_oc4n output) Refer to OIS1N bit.

Allowed values:
0: Reset: OCxN=0 after a dead-time when MOE=0
1: Set: OCxN=1 after a dead-time when MOE=0

OIS5

Bit 16: Output idle state 5 (tim_oc5 output) Refer to OIS1 bit.

Allowed values:
0: Reset: OCx=0 (after a dead-time if OCx(N) is implemented) when MOE=0
1: Set: OCx=1 (after a dead-time if OCx(N) is implemented) when MOE=0

OIS6

Bit 18: Output idle state 6 (tim_oc6 output) Refer to OIS1 bit.

Allowed values:
0: Reset: OCx=0 (after a dead-time if OCx(N) is implemented) when MOE=0
1: Set: OCx=1 (after a dead-time if OCx(N) is implemented) when MOE=0

MMS2

Bits 20-23: Master mode selection 2 These bits allow the information to be sent to ADC for synchronization (tim_trgo2) to be selected. The combination is as follows: Note: The clock of the slave timer or ADC must be enabled prior to receive events from the master timer, and must not be changed on-the-fly while triggers are received from the master timer..

MMS_H

Bit 25: MMS[3].

Allowed values: 0x0-0x1

SMCR

TIM1 slave mode control register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

11/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SMSPS
rw
SMSPE
rw
TS_H
rw
SMS_H
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ETP
rw
ECE
rw
ETPS
rw
ETF
rw
MSM
rw
TS_L
rw
OCCS
rw
SMS_L
rw
Toggle fields

SMS_L

Bits 0-2: SMS[2:0]: Slave mode selection When external signals are selected the active edge of the trigger signal (tim_trgi) is linked to the polarity selected on the external input (see Input Control register and Control Register description. Note: The gated mode must not be used if tim_ti1f_ed is selected as the trigger input (TS=00100). Indeed, tim_ti1f_ed outputs 1 pulse for each transition on TI1F, whereas the gated mode checks the level of the trigger signal. Note: The clock of the slave peripherals (timer, ADC, ...) receiving the tim_trgo or the tim_trgo2 signals must be enabled prior to receive events from the master timer, and the clock frequency (prescaler) must not be changed on-the-fly while triggers are received from the master timer..

Allowed values: 0x0-0x7

OCCS

Bit 3: OCREF clear selection This bit is used to select the OCREF clear source..

TS_L

Bits 4-6: TS[2:0]: Trigger selection This bitfield is combined with TS[4:3] bits. This bit-field selects the trigger input to be used to synchronize the counter. Others: Reserved See Table 605: TIMx internal trigger connection for more details on tim_itrx meaning for each Timer. Note: These bits must be changed only when they are not used (e.g. when SMS=000) to avoid wrong edge detections at the transition..

Allowed values: 0x0-0x7

MSM

Bit 7: Master/slave mode.

Allowed values:
0: NoSync: No action
1: Sync: The effect of an event on the trigger input (TRGI) is delayed to allow a perfect synchronization between the current timer and its slaves (through TRGO). It is useful if we want to synchronize several timers on a single external event.

ETF

Bits 8-11: External trigger filter This bit-field then defines the frequency used to sample tim_etrp signal and the length of the digital filter applied to tim_etrp. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output:.

Allowed values:
0: NoFilter: No filter, sampling is done at fDTS
1: FCK_INT_N2: fSAMPLING=fCK_INT, N=2
2: FCK_INT_N4: fSAMPLING=fCK_INT, N=4
3: FCK_INT_N8: fSAMPLING=fCK_INT, N=8
4: FDTS_Div2_N6: fSAMPLING=fDTS/2, N=6
5: FDTS_Div2_N8: fSAMPLING=fDTS/2, N=8
6: FDTS_Div4_N6: fSAMPLING=fDTS/4, N=6
7: FDTS_Div4_N8: fSAMPLING=fDTS/4, N=8
8: FDTS_Div8_N6: fSAMPLING=fDTS/8, N=6
9: FDTS_Div8_N8: fSAMPLING=fDTS/8, N=8
10: FDTS_Div16_N5: fSAMPLING=fDTS/16, N=5
11: FDTS_Div16_N6: fSAMPLING=fDTS/16, N=6
12: FDTS_Div16_N8: fSAMPLING=fDTS/16, N=8
13: FDTS_Div32_N5: fSAMPLING=fDTS/32, N=5
14: FDTS_Div32_N6: fSAMPLING=fDTS/32, N=6
15: FDTS_Div32_N8: fSAMPLING=fDTS/32, N=8

ETPS

Bits 12-13: External trigger prescaler External trigger signal tim_etrp frequency must be at most 1/4 of TIMxCLK frequency. A prescaler can be enabled to reduce tim_etrp frequency. It is useful when inputting fast external clocks on tim_etr_in..

Allowed values:
0: Div1: Prescaler OFF
1: Div2: ETRP frequency divided by 2
2: Div4: ETRP frequency divided by 4
3: Div8: ETRP frequency divided by 8

ECE

Bit 14: External clock enable This bit enables External clock mode 2. Note: Setting the ECE bit has the same effect as selecting external clock mode 1 with tim_trgi connected to tim_etrf (SMS=111 and TS=00111). It is possible to simultaneously use external clock mode 2 with the following slave modes: reset mode, gated mode and trigger mode. Nevertheless, tim_trgi must not be connected to tim_etrf in this case (TS bits must not be 00111). Note: If external clock mode 1 and external clock mode 2 are enabled at the same time, the external clock input is tim_etrf..

Allowed values:
0: Disabled: External clock mode 2 disabled
1: Enabled: External clock mode 2 enabled. The counter is clocked by any active edge on the ETRF signal.

ETP

Bit 15: External trigger polarity This bit selects whether tim_etr_in or tim_etr_in is used for trigger operations.

Allowed values:
0: NotInverted: ETR is noninverted, active at high level or rising edge
1: Inverted: ETR is inverted, active at low level or falling edge

SMS_H

Bit 16: SMS[3].

Allowed values: 0x0-0x1

TS_H

Bits 20-21: TS[4:3].

Allowed values: 0x0-0x3

SMSPE

Bit 24: SMS preload enable This bit selects whether the SMS[3:0] bitfield is preloaded.

Allowed values:
0: NotPreloaded: SMSM[3:0] is not preloaded
1: PreloadEnabled: SMSM[3:0] is preload is enabled

SMSPS

Bit 25: SMS preload source This bit selects whether the events that triggers the SMS[3:0] bitfield transfer from preload to active.

Allowed values:
0: Update: SMSM[3:0] is preloaded from Update event
1: Index: SMSM[3:0] is preloaded from Index event

DIER

TIM1 DMA/interrupt enable register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

19/19 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TERRIE
rw
IERRIE
rw
DIRIE
rw
IDXIE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDE
rw
COMDE
rw
CC4DE
rw
CC3DE
rw
CC2DE
rw
CC1DE
rw
UDE
rw
BIE
rw
TIE
rw
COMIE
rw
CC4IE
rw
CC3IE
rw
CC2IE
rw
CC1IE
rw
UIE
rw
Toggle fields

UIE

Bit 0: Update interrupt enable.

Allowed values:
0: Disabled: Update interrupt disabled
1: Enabled: Update interrupt enabled

CC1IE

Bit 1: Capture/compare 1 interrupt enable.

Allowed values:
0: Disabled: CCx interrupt disabled
1: Enabled: CCx interrupt enabled

CC2IE

Bit 2: Capture/compare 2 interrupt enable.

Allowed values:
0: Disabled: CCx interrupt disabled
1: Enabled: CCx interrupt enabled

CC3IE

Bit 3: Capture/compare 3 interrupt enable.

Allowed values:
0: Disabled: CCx interrupt disabled
1: Enabled: CCx interrupt enabled

CC4IE

Bit 4: Capture/compare 4 interrupt enable.

Allowed values:
0: Disabled: CCx interrupt disabled
1: Enabled: CCx interrupt enabled

COMIE

Bit 5: COM interrupt enable.

Allowed values:
0: Disabled: COM interrupt disabled
1: Enabled: COM interrupt enabled

TIE

Bit 6: Trigger interrupt enable.

Allowed values:
0: Disabled: Trigger interrupt disabled
1: Enabled: Trigger interrupt enabled

BIE

Bit 7: Break interrupt enable.

Allowed values:
0: Disabled: Break interrupt disabled
1: Enabled: Break interrupt enabled

UDE

Bit 8: Update DMA request enable.

Allowed values:
0: Disabled: Update DMA request disabled
1: Enabled: Update DMA request enabled

CC1DE

Bit 9: Capture/compare 1 DMA request enable.

Allowed values:
0: Disabled: CCx DMA request disabled
1: Enabled: CCx DMA request enabled

CC2DE

Bit 10: Capture/compare 2 DMA request enable.

Allowed values:
0: Disabled: CCx DMA request disabled
1: Enabled: CCx DMA request enabled

CC3DE

Bit 11: Capture/compare 3 DMA request enable.

Allowed values:
0: Disabled: CCx DMA request disabled
1: Enabled: CCx DMA request enabled

CC4DE

Bit 12: Capture/compare 4 DMA request enable.

Allowed values:
0: Disabled: CCx DMA request disabled
1: Enabled: CCx DMA request enabled

COMDE

Bit 13: COM DMA request enable.

Allowed values:
0: Disabled: COM DMA request disabled
1: Enabled: COM DMA request enabled

TDE

Bit 14: Trigger DMA request enable.

Allowed values:
0: Disabled: Trigger DMA request disabled
1: Enabled: Trigger DMA request enabled

IDXIE

Bit 20: Index interrupt enable.

Allowed values:
0: Disabled: Index change interrupt disabled
1: Enabled: Index change interrupt enabled

DIRIE

Bit 21: Direction change interrupt enable.

Allowed values:
0: Disabled: Direction change interrupt disabled
1: Enabled: Direction change interrupt enabled

IERRIE

Bit 22: Index error interrupt enable.

Allowed values:
0: Disabled: Index error interrupt disabled
1: Enabled: Index error interrupt enabled

TERRIE

Bit 23: Transition error interrupt enable.

Allowed values:
0: Disabled: Transition error interrupt disabled
1: Enabled: Transition error interrupt enabled

SR

TIM1 status register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

20/20 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TERRF
rw
IERRF
rw
DIRF
rw
IDXF
rw
CC6IF
rw
CC5IF
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SBIF
rw
CC4OF
rw
CC3OF
rw
CC2OF
rw
CC1OF
rw
B2IF
rw
BIF
rw
TIF
rw
COMIF
rw
CC4IF
rw
CC3IF
rw
CC2IF
rw
CC1IF
rw
UIF
rw
Toggle fields

UIF

Bit 0: Update interrupt flag This bit is set by hardware on an update event. It is cleared by software. At overflow or underflow regarding the repetition counter value (update if repetition counter = 0) and if the UDIS=0 in the TIMx_CR1 register. When CNT is reinitialized by software using the UG bit in TIMx_EGR register, if URS=0 and UDIS=0 in the TIMx_CR1 register. When CNT is reinitialized by a trigger event (refer to Section 65.6.3: TIM1 slave mode control register (TIM1_SMCR)), if URS=0 and UDIS=0 in the TIMx_CR1 register..

Allowed values:
0: NoUpdateOccurred: No update occurred
1: UpdatePending: Update interrupt pending

CC1IF

Bit 1: Capture/compare 1 interrupt flag This flag is set by hardware. It is cleared by software (input capture or output compare mode) or by reading the TIMx_CCR1 register (input capture mode only). If channel CC1 is configured as output: this flag is set when the content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. When the content of TIMx_CCR1 is greater than the content of TIMx_ARR, the CC1IF bit goes high on the counter overflow (in up-counting and up/down-counting modes) or underflow (in downcounting mode). There are 3 possible options for flag setting in center-aligned mode, refer to the CMS bits in the TIMx_CR1 register for the full description. If channel CC1 is configured as input: this bit is set when counter value has been captured in TIMx_CCR1 register (an edge has been detected on IC1, as per the edge sensitivity defined with the CC1P and CC1NP bits setting, in TIMx_CCER)..

Allowed values:
1: Match: If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.

CC2IF

Bit 2: Capture/compare 2 interrupt flag Refer to CC1IF description.

Allowed values:
1: Match: If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.

CC3IF

Bit 3: Capture/compare 3 interrupt flag Refer to CC1IF description.

Allowed values:
1: Match: If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.

CC4IF

Bit 4: Capture/compare 4 interrupt flag Refer to CC1IF description.

Allowed values:
1: Match: If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.

COMIF

Bit 5: COM interrupt flag This flag is set by hardware on COM event (when capture/compare Control bits - CCxE, CCxNE, OCxM - have been updated). It is cleared by software..

Allowed values:
0: NoCOM: No COM event occurred
1: COM: COM interrupt pending

TIF

Bit 6: Trigger interrupt flag This flag is set by hardware on the TRG trigger event (active edge detected on tim_trgi input when the slave mode controller is enabled in all modes but gated mode. It is set when the counter starts or stops when gated mode is selected. It is cleared by software..

Allowed values:
0: NoTrigger: No trigger event occurred
1: Trigger: Trigger interrupt pending

BIF

Bit 7: Break interrupt flag This flag is set by hardware as soon as the break input goes active. It can be cleared by software if the break input is not active..

Allowed values:
0: NoTrigger: No break event occurred
1: Trigger: An active level has been detected on the break input. An interrupt is generated if BIE=1 in the TIMx_DIER register

B2IF

Bit 8: Break 2 interrupt flag This flag is set by hardware as soon as the break 2 input goes active. It can be cleared by software if the break 2 input is not active..

Allowed values:
0: NoTrigger: No break event occurred
1: Trigger: An active level has been detected on the break 2 input. An interrupt is generated if BIE=1 in the TIMx_DIER register

CC1OF

Bit 9: Capture/compare 1 overcapture flag This flag is set by hardware only when the corresponding channel is configured in input capture mode. It is cleared by software by writing it to ‘0’..

Allowed values:
1: Overcapture: The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set

CC2OF

Bit 10: Capture/compare 2 overcapture flag Refer to CC1OF description.

Allowed values:
1: Overcapture: The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set

CC3OF

Bit 11: Capture/compare 3 overcapture flag Refer to CC1OF description.

Allowed values:
1: Overcapture: The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set

CC4OF

Bit 12: Capture/compare 4 overcapture flag Refer to CC1OF description.

Allowed values:
1: Overcapture: The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set

SBIF

Bit 13: System break interrupt flag This flag is set by hardware as soon as the system break input goes active. It can be cleared by software if the system break input is not active. This flag must be reset to re-start PWM operation..

Allowed values:
0: NoTrigger: No break event occurred
1: Trigger: An active level has been detected on the system break input. An interrupt is generated if BIE=1 in the TIMx_DIER register

CC5IF

Bit 16: Compare 5 interrupt flag Refer to CC1IF description Note: Channel 5 can only be configured as output..

Allowed values:
1: Match: If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.

CC6IF

Bit 17: Compare 6 interrupt flag Refer to CC1IF description Note: Channel 6 can only be configured as output..

Allowed values:
1: Match: If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.

IDXF

Bit 20: Index interrupt flag This flag is set by hardware when an index event is detected. It is cleared by software by writing it to ‘0’..

Allowed values:
0: NoTrigger: No index event occurred
1: Trigger: An index event has occurred

DIRF

Bit 21: Direction change interrupt flag This flag is set by hardware when the direction changes in encoder mode (DIR bit value in TIMx_CR is changing). It is cleared by software by writing it to ‘0’..

Allowed values:
0: NoTrigger: No direction change has been detected
1: Trigger: A direction change has been detected

IERRF

Bit 22: Index error interrupt flag This flag is set by hardware when an index error is detected. It is cleared by software by writing it to ‘0’..

Allowed values:
0: NoTrigger: No index error has been detected
1: Trigger: An index erorr has been detected

TERRF

Bit 23: Transition error interrupt flag This flag is set by hardware when a transition error is detected in encoder mode. It is cleared by software by writing it to ‘0’..

Allowed values:
0: NoTrigger: No encoder transition error has been detected
1: Trigger: An encoder transition error has been detected

EGR

TIM1 event generation register

Offset: 0x14, size: 16, reset: 0x00000000, access: Unspecified

9/9 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
B2G
w
BG
w
TG
w
COMG
w
CC4G
w
CC3G
w
CC2G
w
CC1G
w
UG
w
Toggle fields

UG

Bit 0: Update generation This bit can be set by software, it is automatically cleared by hardware..

Allowed values:
1: Update: Re-initializes the timer counter and generates an update of the registers.

CC1G

Bit 1: Capture/compare 1 generation This bit is set by software in order to generate an event, it is automatically cleared by hardware. If channel CC1 is configured as output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If channel CC1 is configured as input: The current value of the counter is captured in TIMx_CCR1 register. The CC1IF flag is set, the corresponding interrupt or DMA request is sent if enabled. The CC1OF flag is set if the CC1IF flag was already high..

Allowed values:
1: Trigger: If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.

CC2G

Bit 2: Capture/compare 2 generation Refer to CC1G description.

Allowed values:
1: Trigger: If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.

CC3G

Bit 3: Capture/compare 3 generation Refer to CC1G description.

Allowed values:
1: Trigger: If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.

CC4G

Bit 4: Capture/compare 4 generation Refer to CC1G description.

Allowed values:
1: Trigger: If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.

COMG

Bit 5: Capture/compare control update generation This bit can be set by software, it is automatically cleared by hardware Note: This bit acts only on channels having a complementary output..

Allowed values:
1: Trigger: When CCPC bit is set, it allows CCxE, CCxNE and OCxM bits to be updated

TG

Bit 6: Trigger generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..

Allowed values:
1: Trigger: The TIF flag is set in TIMx_SR register. Related interrupt or DMA transfer can occur if enabled.

BG

Bit 7: Break generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..

Allowed values:
1: Trigger: A break event is generated. MOE bit is cleared and BIF flag is set. Related interrupt or DMA transfer can occur if enabled

B2G

Bit 8: Break 2 generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..

Allowed values:
1: Trigger: A break 2 event is generated. MOE bit is cleared and B2IF flag is set. Related interrupt can occur if enabled

CCMR1_Input

TIM1 capture/compare mode register 1 [alternate]

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

4/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC2F
rw
IC2PSC
rw
CC2S
rw
IC1F
rw
IC1PSC
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/compare 1 Selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC1S bits are writable only when the channel is OFF (CC1E = ‘0’ in TIMx_CCER)..

Allowed values:
1: TI1: CC1 channel is configured as input, IC1 is mapped on TI1
2: TI2: CC1 channel is configured as input, IC1 is mapped on TI2
3: TRC: CC1 channel is configured as input, IC1 is mapped on TRC

IC1PSC

Bits 2-3: Input capture 1 prescaler This bit-field defines the ratio of the prescaler acting on CC1 input (tim_ic1). The prescaler is reset as soon as CC1E=’0’ (TIMx_CCER register)..

IC1F

Bits 4-7: Input capture 1 filter This bit-field defines the frequency used to sample tim_ti1 input and the length of the digital filter applied to tim_ti1. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output:.

Allowed values:
0: NoFilter: No filter, sampling is done at fDTS
1: FCK_INT_N2: fSAMPLING=fCK_INT, N=2
2: FCK_INT_N4: fSAMPLING=fCK_INT, N=4
3: FCK_INT_N8: fSAMPLING=fCK_INT, N=8
4: FDTS_Div2_N6: fSAMPLING=fDTS/2, N=6
5: FDTS_Div2_N8: fSAMPLING=fDTS/2, N=8
6: FDTS_Div4_N6: fSAMPLING=fDTS/4, N=6
7: FDTS_Div4_N8: fSAMPLING=fDTS/4, N=8
8: FDTS_Div8_N6: fSAMPLING=fDTS/8, N=6
9: FDTS_Div8_N8: fSAMPLING=fDTS/8, N=8
10: FDTS_Div16_N5: fSAMPLING=fDTS/16, N=5
11: FDTS_Div16_N6: fSAMPLING=fDTS/16, N=6
12: FDTS_Div16_N8: fSAMPLING=fDTS/16, N=8
13: FDTS_Div32_N5: fSAMPLING=fDTS/32, N=5
14: FDTS_Div32_N6: fSAMPLING=fDTS/32, N=6
15: FDTS_Div32_N8: fSAMPLING=fDTS/32, N=8

CC2S

Bits 8-9: Capture/compare 2 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC2S bits are writable only when the channel is OFF (CC2E = ‘0’ in TIMx_CCER)..

Allowed values:
1: TI2: CC2 channel is configured as input, IC2 is mapped on TI2
2: TI1: CC2 channel is configured as input, IC2 is mapped on TI1
3: TRC: CC2 channel is configured as input, IC2 is mapped on TRC

IC2PSC

Bits 10-11: Input capture 2 prescaler.

IC2F

Bits 12-15: Input capture 2 filter.

Allowed values: 0x0-0xf

CCMR1_Output

TIM1 capture/compare mode register 1 [alternate]

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

8/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OC2M_3
rw
OC1M_3
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC2CE
rw
OC2M
rw
OC2PE
rw
OC2FE
rw
CC2S
rw
OC1CE
rw
OC1M
rw
OC1PE
rw
OC1FE
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/compare 1 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC1S bits are writable only when the channel is OFF (CC1E = ‘0’ in TIMx_CCER)..

Allowed values:
0: Output: CC1 channel is configured as output

OC1FE

Bit 2: Output compare 1 fast enable This bit decreases the latency between a trigger event and a transition on the timer output. It must be used in one-pulse mode (OPM bit set in TIMx_CR1 register), to have the output pulse starting as soon as possible after the starting trigger..

OC1PE

Bit 3: Output compare 1 preload enable Note: These bits can not be modified as long as LOCK level 3 has been programmed (LOCK bits in TIMx_BDTR register) and CC1S=’00’ (the channel is configured in output)..

Allowed values:
0: Disabled: Preload register on CCR1 disabled. New values written to CCR1 are taken into account immediately
1: Enabled: Preload register on CCR1 enabled. Preload value is loaded into active register on each update event

OC1M

Bits 4-6: OC1M[2:0]: Output compare 1 mode These bits define the behavior of the output reference signal tim_oc1ref from which tim_oc1 and tim_oc1n are derived. tim_oc1ref is active high whereas tim_oc1 and tim_oc1n active level depends on CC1P and CC1NP bits. Note: These bits can not be modified as long as LOCK level 3 has been programmed (LOCK bits in TIMx_BDTR register) and CC1S=’00’ (the channel is configured in output). Note: In PWM mode, the OCREF level changes only when the result of the comparison changes or when the output compare mode switches from “frozen” mode to “PWM” mode. Note: On channels having a complementary output, this bit field is preloaded. If the CCPC bit is set in the TIMx_CR2 register then the OC1M active bits take the new value from the preloaded bits only when a COM event is generated..

Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1

OC1CE

Bit 7: Output compare 1 clear enable.

CC2S

Bits 8-9: Capture/compare 2 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC2S bits are writable only when the channel is OFF (CC2E = ‘0’ in TIMx_CCER)..

Allowed values:
0: Output: CC2 channel is configured as output

OC2FE

Bit 10: Output compare 2 fast enable.

OC2PE

Bit 11: Output compare 2 preload enable.

Allowed values:
0: Disabled: Preload register on CCR2 disabled. New values written to CCR2 are taken into account immediately
1: Enabled: Preload register on CCR2 enabled. Preload value is loaded into active register on each update event

OC2M

Bits 12-14: OC2M[2:0]: Output compare 2 mode.

Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1

OC2CE

Bit 15: Output compare 2 clear enable.

OC1M_3

Bit 16: OC1M[3].

Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)

OC2M_3

Bit 24: OC2M[3].

Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)

CCMR2_Input

TIM1 capture/compare mode register 2 [alternate]

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

6/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC4F
rw
IC4PSC
rw
CC4S
rw
IC3F
rw
IC3PSC
rw
CC3S
rw
Toggle fields

CC3S

Bits 0-1: Capture/compare 3 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC3S bits are writable only when the channel is OFF (CC3E = ‘0’ in TIMx_CCER)..

Allowed values:
1: TI3: CC3 channel is configured as input, IC3 is mapped on TI3
2: TI4: CC3 channel is configured as input, IC3 is mapped on TI4
3: TRC: CC3 channel is configured as input, IC3 is mapped on TRC

IC3PSC

Bits 2-3: Input capture 3 prescaler.

Allowed values: 0x0-0x3

IC3F

Bits 4-7: Input capture 3 filter.

Allowed values: 0x0-0xf

CC4S

Bits 8-9: Capture/compare 4 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC4S bits are writable only when the channel is OFF (CC4E = ‘0’ in TIMx_CCER)..

Allowed values:
1: TI4: CC4 channel is configured as input, IC4 is mapped on TI4
2: TI3: CC4 channel is configured as input, IC4 is mapped on TI3
3: TRC: CC4 channel is configured as input, IC4 is mapped on TRC

IC4PSC

Bits 10-11: Input capture 4 prescaler.

Allowed values: 0x0-0x3

IC4F

Bits 12-15: Input capture 4 filter.

Allowed values: 0x0-0xf

CCMR2_Output

TIM1 capture/compare mode register 2 [alternate]

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

8/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OC4M_3
rw
OC3M_3
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC4CE
rw
OC4M
rw
OC4PE
rw
OC4FE
rw
CC4S
rw
OC3CE
rw
OC3M
rw
OC3PE
rw
OC3FE
rw
CC3S
rw
Toggle fields

CC3S

Bits 0-1: Capture/compare 3 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC3S bits are writable only when the channel is OFF (CC3E = ‘0’ in TIMx_CCER)..

Allowed values:
0: Output: CC3 channel is configured as output

OC3FE

Bit 2: Output compare 3 fast enable.

OC3PE

Bit 3: Output compare 3 preload enable.

Allowed values:
0: Disabled: Preload register on CCR3 disabled. New values written to CCR3 are taken into account immediately
1: Enabled: Preload register on CCR3 enabled. Preload value is loaded into active register on each update event

OC3M

Bits 4-6: OC3M[2:0]: Output compare 3 mode These bits define the behavior of the output reference signal tim_oc3ref from which tim_oc3 and tim_oc3n are derived. tim_oc3ref is active high whereas tim_oc3 and tim_oc3n active level depends on CC3P and CC3NP bits. Note: These bits can not be modified as long as LOCK level 3 has been programmed (LOCK bits in TIMx_BDTR register) and CC1S=’00’ (the channel is configured in output). Note: In PWM mode, the OCREF level changes only when the result of the comparison changes or when the output compare mode switches from “frozen” mode to “PWM” mode. On channels having a complementary output, this bit field is preloaded. If the CCPC bit is set in the TIMx_CR2 register then the OC3M active bits take the new value from the preloaded bits only when a COM event is generated..

Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1

OC3CE

Bit 7: Output compare 3 clear enable.

CC4S

Bits 8-9: Capture/compare 4 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC4S bits are writable only when the channel is OFF (CC4E = ‘0’ in TIMx_CCER)..

Allowed values:
0: Output: CC4 channel is configured as output

OC4FE

Bit 10: Output compare 4 fast enable.

OC4PE

Bit 11: Output compare 4 preload enable.

Allowed values:
0: Disabled: Preload register on CCR4 disabled. New values written to CCR4 are taken into account immediately
1: Enabled: Preload register on CCR4 enabled. Preload value is loaded into active register on each update event

OC4M

Bits 12-14: OC4M[2:0]: Output compare 4 mode Refer to OC3M[3:0] bit description.

Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1

OC4CE

Bit 15: Output compare 4 clear enable.

OC3M_3

Bit 16: OC3M[3].

Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)

OC4M_3

Bit 24: OC4M[3].

Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)

CCER

TIM1 capture/compare enable register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

4/20 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CC6P
rw
CC6E
rw
CC5P
rw
CC5E
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC4NP
rw
CC4NE
rw
CC4P
rw
CC4E
rw
CC3NP
rw
CC3NE
rw
CC3P
rw
CC3E
rw
CC2NP
rw
CC2NE
rw
CC2P
rw
CC2E
rw
CC1NP
rw
CC1NE
rw
CC1P
rw
CC1E
rw
Toggle fields

CC1E

Bit 0: Capture/compare 1 output enable When CC1 channel is configured as output, the OC1 level depends on MOE, OSSI, OSSR, OIS1, OIS1N and CC1NE bits, regardless of the CC1E bits state. Refer to Table 619 for details. Note: On channels having a complementary output, this bit is preloaded. If the CCPC bit is set in the TIMx_CR2 register then the CC1E active bit takes the new value from the preloaded bit only when a Commutation event is generated..

CC1P

Bit 1: Capture/compare 1 output polarity When CC1 channel is configured as input, both CC1NP/CC1P bits select the active polarity of TI1FP1 and TI2FP1 for trigger or capture operations. CC1NP=0, CC1P=0: non-inverted/rising edge. The circuit is sensitive to TIxFP1 rising edge (capture or trigger operations in reset, external clock or trigger mode), TIxFP1 is not inverted (trigger operation in gated mode or encoder mode). CC1NP=0, CC1P=1: inverted/falling edge. The circuit is sensitive to TIxFP1 falling edge (capture or trigger operations in reset, external clock or trigger mode), TIxFP1 is inverted (trigger operation in gated mode or encoder mode). CC1NP=1, CC1P=1: non-inverted/both edges/ The circuit is sensitive to both TIxFP1 rising and falling edges (capture or trigger operations in reset, external clock or trigger mode), TIxFP1is not inverted (trigger operation in gated mode). This configuration must not be used in encoder mode. CC1NP=1, CC1P=0: the configuration is reserved, it must not be used. Note: This bit is not writable as soon as LOCK level 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register). Note: On channels having a complementary output, this bit is preloaded. If the CCPC bit is set in the TIMx_CR2 register then the CC1P active bit takes the new value from the preloaded bit only when a Commutation event is generated..

CC1NE

Bit 2: Capture/compare 1 complementary output enable Note: On channels having a complementary output, this bit is preloaded. If the CCPC bit is set in the TIMx_CR2 register then the CC1NE active bit takes the new value from the preloaded bit only when a Commutation event is generated..

Allowed values:
0: Disabled: Complementary output disabled
1: Enabled: Complementary output enabled

CC1NP

Bit 3: Capture/compare 1 complementary output polarity CC1 channel configured as output: CC1 channel configured as input: This bit is used in conjunction with CC1P to define the polarity of tim_ti1fp1 and tim_ti2fp1. Refer to CC1P description. Note: This bit is not writable as soon as LOCK level 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register) and CC1S=”00” (channel configured as output). Note: On channels having a complementary output, this bit is preloaded. If the CCPC bit is set in the TIMx_CR2 register then the CC1NP active bit takes the new value from the preloaded bit only when a Commutation event is generated..

CC2E

Bit 4: Capture/compare 2 output enable Refer to CC1E description.

CC2P

Bit 5: Capture/compare 2 output polarity Refer to CC1P description.

CC2NE

Bit 6: Capture/compare 2 complementary output enable Refer to CC1NE description.

Allowed values:
0: Disabled: Complementary output disabled
1: Enabled: Complementary output enabled

CC2NP

Bit 7: Capture/compare 2 complementary output polarity Refer to CC1NP description.

CC3E

Bit 8: Capture/compare 3 output enable Refer to CC1E description.

CC3P

Bit 9: Capture/compare 3 output polarity Refer to CC1P description.

CC3NE

Bit 10: Capture/compare 3 complementary output enable Refer to CC1NE description.

Allowed values:
0: Disabled: Complementary output disabled
1: Enabled: Complementary output enabled

CC3NP

Bit 11: Capture/compare 3 complementary output polarity Refer to CC1NP description.

CC4E

Bit 12: Capture/compare 4 output enable Refer to CC1E description.

CC4P

Bit 13: Capture/compare 4 output polarity Refer to CC1P description.

CC4NE

Bit 14: Capture/compare 4 complementary output enable Refer to CC1NE description.

Allowed values:
0: Disabled: Complementary output disabled
1: Enabled: Complementary output enabled

CC4NP

Bit 15: Capture/compare 4 complementary output polarity Refer to CC1NP description.

CC5E

Bit 16: Capture/compare 5 output enable Refer to CC1E description.

CC5P

Bit 17: Capture/compare 5 output polarity Refer to CC1P description.

CC6E

Bit 20: Capture/compare 6 output enable Refer to CC1E description.

CC6P

Bit 21: Capture/compare 6 output polarity Refer to CC1P description.

CNT

TIM1 counter

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UIFCPY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNT
rw
Toggle fields

CNT

Bits 0-15: Counter value Non-dithering mode (DITHEN = 0) The register holds the counter value. Dithering mode (DITHEN = 1) The register only holds the non-dithered part in CNT[15:0]. The fractional part is not available..

Allowed values: 0x0-0xffff

UIFCPY

Bit 31: UIF copy This bit is a read-only copy of the UIF bit of the TIMx_ISR register. If the UIFREMAP bit in the TIMxCR1 is reset, bit 31 is reserved and read at 0..

Allowed values:
0: NoUpdateOccurred: No update occurred
1: UpdatePending: Update interrupt pending

PSC

TIM1 prescaler

Offset: 0x28, size: 16, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PSC
rw
Toggle fields

PSC

Bits 0-15: Prescaler value The counter clock frequency (f<sub>tim_cnt_ck</sub>) is equal to f<sub>tim_psc_ck</sub> / (PSC[15:0] + 1). PSC contains the value to be loaded in the active prescaler register at each update event (including when the counter is cleared through UG bit of TIMx_EGR register or through trigger controller when configured in “reset mode”)..

Allowed values: 0x0-0xffff

ARR

TIM1 auto-reload register

Offset: 0x2c, size: 32, reset: 0x0000FFFF, access: Unspecified

1/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ARR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ARR
rw
Toggle fields

ARR

Bits 0-19: Auto-reload value ARR is the value to be loaded in the actual auto-reload register. Refer to the Section 65.3.3: Time-base unit on page 4457 for more details about ARR update and behavior. The counter is blocked while the auto-reload value is null. Non-dithering mode (DITHEN = 0) The register holds the auto-reload value. Dithering mode (DITHEN = 1) The register holds the integer part in ARR[19:4]. The ARR[3:0] bitfield contains the dithered part..

Allowed values: 0x0-0xfffff

DITHER

Bits 0-3: Dithered part in dithering mode.

INTEGER

Bits 4-19: Integer part in dithering mode.

RCR

TIM1 repetition counter register

Offset: 0x30, size: 16, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
REP
rw
Toggle fields

REP

Bits 0-15: Repetition counter reload value This bitfield defines the update rate of the compare registers (i.e. periodic transfers from preload to active registers) when preload registers are enable. It also defines the update interrupt generation rate, if this interrupt is enable. When the repetition down-counter reaches zero, an update event is generated and it restarts counting from REP value. As the repetition counter is reloaded with REP value only at the repetition update event UEV, any write to the TIMx_RCR register is not taken in account until the next repetition update event. It means in PWM mode (REP+1) corresponds to: the number of PWM periods in edge-aligned mode the number of half PWM period in center-aligned mode..

Allowed values: 0x0-0xffff

CCR1

TIM1 capture/compare register 1

Offset: 0x34, size: 32, reset: 0x00000000, access: Unspecified

1/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CCR1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR1
rw
Toggle fields

CCR1

Bits 0-19: Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the actual capture/compare 1 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR1 register (bit OC1PE). Else the preload value is copied in the active capture/compare 1 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on tim_oc1 output. Non-dithering mode (DITHEN = 0) The register holds the compare value in CCR1[15:0]. The CCR1[19:16] bits are reset. Dithering mode (DITHEN = 1) The register holds the integer part in CCR1[19:4]. The CCR1[3:0] bitfield contains the dithered part. If channel CC1 is configured as input: CR1 is the counter value transferred by the last input capture 1 event (tim_ic1). The TIMx_CCR1 register is read-only and cannot be programmed. Non-dithering mode (DITHEN = 0) The register holds the capture value in CCR1[15:0]. The CCR1[19:16] bits are reset. Dithering mode (DITHEN = 1) The register holds the capture in CCR1[19:4]. The CCR1[3:0] bits are reset..

Allowed values: 0x0-0xfffff

DITHER

Bits 0-3: Dithered part in dithering mode.

INTEGER

Bits 4-19: Integer part in dithering mode.

CCR2

TIM1 capture/compare register 2

Offset: 0x38, size: 32, reset: 0x00000000, access: Unspecified

1/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CCR2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR2
rw
Toggle fields

CCR2

Bits 0-19: Capture/compare 2 value If channel CC2 is configured as output: CCR2 is the value to be loaded in the actual capture/compare 2 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR1 register (bit OC2PE). Else the preload value is copied in the active capture/compare 2 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on tim_oc2 output. Non-dithering mode (DITHEN = 0) The register holds the compare value in CCR2[15:0]. The CCR2[19:16] bits are reset. Dithering mode (DITHEN = 1) The register holds the integer part in CCR2[19:4]. The CCR2[3:0] bitfield contains the dithered part. If channel CC2 is configured as input: CCR2 is the counter value transferred by the last input capture 2 event (tim_ic2). The TIMx_CCR2 register is read-only and cannot be programmed. Non-dithering mode (DITHEN = 0) The register holds the capture value in CCR2[15:0]. The CCR2[19:16] bits are reset. Dithering mode (DITHEN = 1) The register holds the capture in CCR2[19:4]. The CCR2[3:0] bits are reset..

Allowed values: 0x0-0xfffff

DITHER

Bits 0-3: Dithered part in dithering mode.

INTEGER

Bits 4-19: Integer part in dithering mode.

CCR3

TIM1 capture/compare register 3

Offset: 0x3c, size: 32, reset: 0x00000000, access: Unspecified

1/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CCR3
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR3
rw
Toggle fields

CCR3

Bits 0-19: Capture/compare value If channel CC3 is configured as output: CCR3 is the value to be loaded in the actual capture/compare 3 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR2 register (bit OC3PE). Else the preload value is copied in the active capture/compare 3 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on tim_oc3 output. Non-dithering mode (DITHEN = 0) The register holds the compare value in CCR3[15:0]. The CCR3[19:16] bits are reset. Dithering mode (DITHEN = 1) The register holds the integer part in CCR3[19:4]. The CCR3[3:0] bitfield contains the dithered part. If channel CC3 is configured as input: CCR3 is the counter value transferred by the last input capture 3 event (tim_ic3). The TIMx_CCR3 register is read-only and cannot be programmed. Non-dithering mode (DITHEN = 0) The register holds the capture value in CCR3[15:0]. The CCR3[19:16] bits are reset. Dithering mode (DITHEN = 1) The register holds the capture in CCR3[19:4]. The CCR3[3:0] bits are reset..

Allowed values: 0x0-0xfffff

DITHER

Bits 0-3: Dithered part in dithering mode.

INTEGER

Bits 4-19: Integer part in dithering mode.

CCR4

TIM1 capture/compare register 4

Offset: 0x40, size: 32, reset: 0x00000000, access: Unspecified

1/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CCR4
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR4
rw
Toggle fields

CCR4

Bits 0-19: Capture/compare value If channel CC4 is configured as output: CCR4 is the value to be loaded in the actual capture/compare 4 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR2 register (bit OC4PE). Else the preload value is copied in the active capture/compare 4 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signalled on tim_oc4 output. Non-dithering mode (DITHEN = 0) The register holds the compare value in CCR4[15:0]. The CCR4[19:16] bits are reset. Dithering mode (DITHEN = 1) The register holds the integer part in CCR4[19:4]. The CCR4[3:0] bitfield contains the dithered part. If channel CC4 is configured as input: CCR4 is the counter value transferred by the last input capture 4 event (tim_ic4). The TIMx_CCR4 register is read-only and cannot be programmed. Non-dithering mode (DITHEN = 0) The register holds the capture value in CCR4[15:0]. The CCR4[19:16] bits are reset. Dithering mode (DITHEN = 1) The register holds the capture in CCR4[19:4]. The CCR4[3:0] bits are reset..

Allowed values: 0x0-0xfffff

DITHER

Bits 0-3: Dithered part in dithering mode.

INTEGER

Bits 4-19: Integer part in dithering mode.

BDTR

TIM1 break and dead-time register

Offset: 0x44, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BK2BID
rw
BKBID
rw
BK2DSRM
rw
BKDSRM
rw
BK2P
rw
BK2E
rw
BK2F
rw
BKF
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MOE
rw
AOE
rw
BKP
rw
BKE
rw
OSSR
rw
OSSI
rw
LOCK
rw
DTG
rw
Toggle fields

DTG

Bits 0-7: Dead-time generator setup This bit-field defines the duration of the dead-time inserted between the complementary outputs. DT correspond to this duration. DTG[7:5]=0xx => DT=DTG[7:0]x t<sub>dtg</sub> with t<sub>dtg</sub>=t<sub>DTS</sub>. DTG[7:5]=10x => DT=(64+DTG[5:0])xt<sub>dtg</sub> with T<sub>dtg</sub>=2xt<sub>DTS</sub>. DTG[7:5]=110 => DT=(32+DTG[4:0])xt<sub>dtg</sub> with T<sub>dtg</sub>=8xt<sub>DTS</sub>. DTG[7:5]=111 => DT=(32+DTG[4:0])xt<sub>dtg</sub> with T<sub>dtg</sub>=16xt<sub>DTS</sub>. Example if T<sub>DTS</sub>=125ns (8MHz), dead-time possible values are: 0 to 15875 ns by 125 ns steps, 16 us to 31750 ns by 250 ns steps, 32 us to 63us by 1 us steps, 64 us to 126 us by 2 us steps Note: This bit-field can not be modified as long as LOCK level 1, 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values: 0x0-0xff

LOCK

Bits 8-9: Lock configuration These bits offer a write protection against software errors. Note: The LOCK bits can be written only once after the reset. Once the TIMx_BDTR register has been written, their content is frozen until the next reset..

Allowed values:
0: Off: No write protection
1: Level1: Level 1 write protection
2: Level2: Level 2 write protection
3: Level3: Level 3 write protection

OSSI

Bit 10: Off-state selection for idle mode This bit is used when MOE=0 due to a break event or by a software write, on channels configured as outputs. See OC/OCN enable description for more details (Section 65.6.11: TIM1 capture/compare enable register (TIM1_CCER)). Note: This bit can not be modified as soon as the LOCK level 2 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: OC/OCN outputs are disabled when inactive
1: Enabled: OC/OCN outputs are first forced with their inactive level then forced to their idle level after the deadtime

OSSR

Bit 11: Off-state selection for Run mode This bit is used when MOE=1 on channels having a complementary output which are configured as outputs. OSSR is not implemented if no complementary output is implemented in the timer. See OC/OCN enable description for more details (Section 65.6.11: TIM1 capture/compare enable register (TIM1_CCER)). Note: This bit can not be modified as soon as the LOCK level 2 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: OC/OCN outputs are disabled when inactive
1: Enabled: OC/OCN outputs are enabled with their inactive level as soon as CCxE=1 or CCxNE=1

BKE

Bit 12: Break enable This bit enables the complete break protection (including all sources connected to bk_acth and BKIN sources, as per Figure 635: Break and Break2 circuitry overview). Note: This bit cannot be modified when LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register). Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: Disabled: Break function disabled
1: Enabled: Break function enabled

BKP

Bit 13: Break polarity Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register). Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: ActiveLow: Break input BRK is active low
1: ActiveHigh: Break input BRK is active high

AOE

Bit 14: Automatic output enable Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: MOE can be set only by software
1: Enabled: MOE can be set by software or automatically at the next update event (if none of the break inputs BRK and BRK2 is active)

MOE

Bit 15: Main output enable This bit is cleared asynchronously by hardware as soon as one of the break inputs is active (tim_brk or tim_brk2). It is set by software or automatically depending on the AOE bit. It is acting only on the channels which are configured in output. In response to a break event or if MOE is written to 0: OC and OCN outputs are disabled or forced to idle state depending on the OSSI bit. See OC/OCN enable description for more details (Section 65.6.11: TIM1 capture/compare enable register (TIM1_CCER))..

Allowed values:
0: Disabled: In response to a break 2 event OC and OCN outputs are disabled - In response to a break event or if MOE is written to 0 OC and OCN outputs are disabled or forced to idle state depending on the OSSI bit
1: Enabled: OC and OCN outputs are enabled if their respective enable bits are set (CCxE, CCxNE in TIMx_CCER register)

BKF

Bits 16-19: Break filter This bit-field defines the frequency used to sample tim_brk input and the length of the digital filter applied to tim_brk. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output: Note: This bit cannot be modified when LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: NoFilter: No filter, sampling is done at fDTS
1: FCK_INT_N2: fSAMPLING=fCK_INT, N=2
2: FCK_INT_N4: fSAMPLING=fCK_INT, N=4
3: FCK_INT_N8: fSAMPLING=fCK_INT, N=8
4: FDTS_Div2_N6: fSAMPLING=fDTS/2, N=6
5: FDTS_Div2_N8: fSAMPLING=fDTS/2, N=8
6: FDTS_Div4_N6: fSAMPLING=fDTS/4, N=6
7: FDTS_Div4_N8: fSAMPLING=fDTS/4, N=8
8: FDTS_Div8_N6: fSAMPLING=fDTS/8, N=6
9: FDTS_Div8_N8: fSAMPLING=fDTS/8, N=8
10: FDTS_Div16_N5: fSAMPLING=fDTS/16, N=5
11: FDTS_Div16_N6: fSAMPLING=fDTS/16, N=6
12: FDTS_Div16_N8: fSAMPLING=fDTS/16, N=8
13: FDTS_Div32_N5: fSAMPLING=fDTS/32, N=5
14: FDTS_Div32_N6: fSAMPLING=fDTS/32, N=6
15: FDTS_Div32_N8: fSAMPLING=fDTS/32, N=8

BK2F

Bits 20-23: Break 2 filter This bit-field defines the frequency used to sample tim_brk2 input and the length of the digital filter applied to tim_brk2. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output: Note: This bit cannot be modified when LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: NoFilter: No filter, sampling is done at fDTS
1: FCK_INT_N2: fSAMPLING=fCK_INT, N=2
2: FCK_INT_N4: fSAMPLING=fCK_INT, N=4
3: FCK_INT_N8: fSAMPLING=fCK_INT, N=8
4: FDTS_Div2_N6: fSAMPLING=fDTS/2, N=6
5: FDTS_Div2_N8: fSAMPLING=fDTS/2, N=8
6: FDTS_Div4_N6: fSAMPLING=fDTS/4, N=6
7: FDTS_Div4_N8: fSAMPLING=fDTS/4, N=8
8: FDTS_Div8_N6: fSAMPLING=fDTS/8, N=6
9: FDTS_Div8_N8: fSAMPLING=fDTS/8, N=8
10: FDTS_Div16_N5: fSAMPLING=fDTS/16, N=5
11: FDTS_Div16_N6: fSAMPLING=fDTS/16, N=6
12: FDTS_Div16_N8: fSAMPLING=fDTS/16, N=8
13: FDTS_Div32_N5: fSAMPLING=fDTS/32, N=5
14: FDTS_Div32_N6: fSAMPLING=fDTS/32, N=6
15: FDTS_Div32_N8: fSAMPLING=fDTS/32, N=8

BK2E

Bit 24: Break 2 enable This bit enables the complete break 2 protection (including all sources connected to bk_acth and BKIN sources, as per Figure 635: Break and Break2 circuitry overview). Note: The BRKIN2 must only be used with OSSR = OSSI = 1. Note: This bit cannot be modified when LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register). Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: Disabled: Break function disabled
1: Enabled: Break function enabled

BK2P

Bit 25: Break 2 polarity Note: This bit cannot be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register). Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: Low: Break input BRK2 is active low
1: High: Break input BRK2 is active high

BKDSRM

Bit 26: Break disarm This bit is cleared by hardware when no break source is active. The BKDSRM bit must be set by software to release the bidirectional output control (open-drain output in Hi-Z state) and then be polled it until it is reset by hardware, indicating that the fault condition has disappeared. Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: Armed: Break input BRK is armed
1: Disarmed: Break input BRK is disarmed

BK2DSRM

Bit 27: Break2 disarm Refer to BKDSRM description.

Allowed values:
0: Armed: Break input BRK2 is armed
1: Disarmed: Break input BRK2 is disarmed

BKBID

Bit 28: Break bidirectional In the bidirectional mode (BKBID bit set to 1), the break input is configured both in input mode and in open drain output mode. Any active break event asserts a low logic level on the Break input to indicate an internal break event to external devices. Note: This bit cannot be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register). Note: Any write operation to this bit takes a delay of 1 APB clock cycle to become effective..

Allowed values:
0: Input: Break input BRK in input mode
1: Bidirectional: Break input BRK in bidirectional mode

BK2BID

Bit 29: Break2 bidirectional Refer to BKBID description.

Allowed values:
0: Input: Break input BRK2 in input mode
1: Bidirectional: Break input BRK2 in bidirectional mode

CCR5

TIM1 capture/compare register 5

Offset: 0x48, size: 32, reset: 0x00000000, access: Unspecified

1/6 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
GC5C3
rw
GC5C2
rw
GC5C1
rw
CCR5
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR5
rw
Toggle fields

CCR5

Bits 0-19: Capture/compare 5 value CCR5 is the value to be loaded in the actual capture/compare 5 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR3 register (bit OC5PE). Else the preload value is copied in the active capture/compare 5 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on tim_oc5 output. Non-dithering mode (DITHEN = 0) The register holds the compare value in CCR5[15:0]. The CCR5[19:16] bits are reset. Dithering mode (DITHEN = 1) The register holds the integer part in CCR5[19:4]. The CCR5[3:0] bitfield contains the dithered part..

Allowed values: 0x0-0xfffff

DITHER

Bits 0-3: Dithered part in dithering mode.

INTEGER

Bits 4-19: Integer part in dithering mode.

GC5C1

Bit 29: Group channel 5 and channel 1 Distortion on channel 1 output: This bit can either have immediate effect or be preloaded and taken into account after an update event (if preload feature is selected in TIMxCCMR1). Note: it is also possible to apply this distortion on combined PWM signals..

GC5C2

Bit 30: Group channel 5 and channel 2 Distortion on channel 2 output: This bit can either have immediate effect or be preloaded and taken into account after an update event (if preload feature is selected in TIMxCCMR1). Note: it is also possible to apply this distortion on combined PWM signals..

GC5C3

Bit 31: Group channel 5 and channel 3 Distortion on channel 3 output: This bit can either have immediate effect or be preloaded and taken into account after an update event (if preload feature is selected in TIMxCCMR2). Note: it is also possible to apply this distortion on combined PWM signals..

CCR6

TIM1 capture/compare register 6

Offset: 0x4c, size: 32, reset: 0x00000000, access: Unspecified

1/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CCR6
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR6
rw
Toggle fields

CCR6

Bits 0-19: Capture/compare 6 value CCR6 is the value to be loaded in the actual capture/compare 6 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR3 register (bit OC6PE). Else the preload value is copied in the active capture/compare 6 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on tim_oc6 output. Non-dithering mode (DITHEN = 0) The register holds the compare value in CCR6[15:0]. The CCR6[19:16] bits are reset. Dithering mode (DITHEN = 1) The register holds the integer part in CCR6[19:4]. The CCR6[3:0] bitfield contains the dithered part..

Allowed values: 0x0-0xfffff

DITHER

Bits 0-3: Dithered part in dithering mode.

INTEGER

Bits 4-19: Integer part in dithering mode.

CCMR3

TIM1 capture/compare mode register 3

Offset: 0x50, size: 32, reset: 0x00000000, access: Unspecified

0/10 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OC6M_1
rw
OC5M_1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC6CE
rw
OC6M
rw
OC6PE
rw
OC6FE
rw
OC5CE
rw
OC5M
rw
OC5PE
rw
OC5FE
rw
Toggle fields

OC5FE

Bit 2: Output compare 5 fast enable.

OC5PE

Bit 3: Output compare 5 preload enable.

OC5M

Bits 4-6: OC5M[2:0]: Output compare 5 mode.

OC5CE

Bit 7: Output compare 5 clear enable.

OC6FE

Bit 10: Output compare 6 fast enable.

OC6PE

Bit 11: Output compare 6 preload enable.

OC6M

Bits 12-14: OC6M[2:0]: Output compare 6 mode.

OC6CE

Bit 15: Output compare 6 clear enable.

OC5M_1

Bit 16: OC5M[3].

OC6M_1

Bit 24: OC6M[3].

DTR2

TIM1 timer deadtime register 2

Offset: 0x54, size: 32, reset: 0x00000000, access: Unspecified

0/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DTPE
rw
DTAE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DTGF
rw
Toggle fields

DTGF

Bits 0-7: Dead-time falling edge generator setup This bit-field defines the duration of the dead-time inserted between the complementary outputs, on the falling edge. DTGF[7:5]=0xx => DTF=DTGF[7:0]x t<sub>dtg</sub> with t<sub>dtg</sub>=t<sub>DTS</sub>. DTGF[7:5]=10x => DTF=(64+DTGF[5:0])xt<sub>dtg</sub> with T<sub>dtg</sub>=2xt<sub>DTS</sub>. DTGF[7:5]=110 => DTF=(32+DTGF[4:0])xt<sub>dtg</sub> with T<sub>dtg</sub>=8xt<sub>DTS</sub>. DTGF[7:5]=111 => DTF=(32+DTGF[4:0])xt<sub>dtg</sub> with T<sub>dtg</sub>=16xt<sub>DTS</sub>. Example if T<sub>DTS</sub>=125ns (8MHz), dead-time possible values are: 0 to 15875 ns by 125 ns steps, 16 us to 31750 ns by 250 ns steps, 32 us to 63us by 1 us steps, 64 us to 126 us by 2 us steps Note: This bit-field can not be modified as long as LOCK level 1, 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register)..

DTAE

Bit 16: Deadtime asymmetric enable Note: This bit can not be modified as long as LOCK level 1, 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register)..

DTPE

Bit 17: Deadtime preload enable Note: This bit can not be modified as long as LOCK level 1, 2 or 3 has been programmed (LOCK bits in TIMx_BDTR register)..

ECR

TIM1 timer encoder control register

Offset: 0x58, size: 32, reset: 0x00000000, access: Unspecified

0/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PWPRSC
rw
PW
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IPOS
rw
FIDX
rw
IBLK
rw
IDIR
rw
IE
rw
Toggle fields

IE

Bit 0: Index enable This bit indicates if the Index event resets the counter..

IDIR

Bits 1-2: Index direction This bit indicates in which direction the Index event resets the counter. Note: The IDR[1:0] bitfield must be written when IE bit is reset (index disabled)..

IBLK

Bits 3-4: Index blanking This bit indicates if the Index event is conditioned by the tim_ti3 input.

FIDX

Bit 5: First index This bit indicates if the first index only is taken into account.

IPOS

Bits 6-7: Index positioning In quadrature encoder mode (SMS[3:0] = 0001, 0010, 0011, 1110, 1111), this bit indicates in which AB input configuration the Index event resets the counter. In directional clock mode or clock plus direction mode (SMS[3:0] = 1010, 1011, 1100, 1101), these bits indicates on which level the Index event resets the counter. In bidirectional clock mode, this applies for both clock inputs. x0: Index resets the counter when clock is 0 x1: Index resets the counter when clock is 1 Note: IPOS[1] bit is not significant.

PW

Bits 16-23: Pulse width This bitfield defines the pulse duration, as following: t<sub>PW</sub> = PW[7:0] x t<sub>PWG</sub>.

PWPRSC

Bits 24-26: Pulse width prescaler This bitfield sets the clock prescaler for the pulse generator, as following: t<sub>PWG</sub> = (2<sup>(PWPRSC[2:0])</sup>) x t<sub>tim_ker_ck</sub>.

TISEL

TIM1 timer input selection register

Offset: 0x5c, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TI4SEL
rw
TI3SEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TI2SEL
rw
TI1SEL
rw
Toggle fields

TI1SEL

Bits 0-3: Selects tim_ti1[0..15] input ... Refer to Section 65.3.2: TIM1 pins and internal signals for interconnects list..

Allowed values:
0: Selected: TIM1_CHx input selected

TI2SEL

Bits 8-11: Selects tim_ti2[0..15] input ... Refer to Section 65.3.2: TIM1 pins and internal signals for interconnects list..

Allowed values:
0: Selected: TIM1_CHx input selected

TI3SEL

Bits 16-19: Selects tim_ti3[0..15] input ... Refer to Section 65.3.2: TIM1 pins and internal signals for interconnects list..

Allowed values:
0: Selected: TIM1_CHx input selected

TI4SEL

Bits 24-27: Selects tim_ti4[0..15] input ... Refer to Section 65.3.2: TIM1 pins and internal signals for interconnects list..

Allowed values:
0: Selected: TIM1_CHx input selected

AF1

TIM1 alternate function option register 1

Offset: 0x60, size: 32, reset: 0x00000001, access: Unspecified

15/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ETRSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ETRSEL
rw
BKCMP4P
rw
BKCMP3P
rw
BKCMP2P
rw
BKCMP1P
rw
BKINP
rw
BKCMP8E
rw
BKCMP7E
rw
BKCMP6E
rw
BKCMP5E
rw
BKCMP4E
rw
BKCMP3E
rw
BKCMP2E
rw
BKCMP1E
rw
BKINE
rw
Toggle fields

BKINE

Bit 0: TIMx_BKIN input enable This bit enables the TIMx_BKIN alternate function input for the timer’s tim_brk input. TIMx_BKIN input is ‘ORed’ with the other tim_brk sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: BKIN input disabled
1: Enabled: BKIN input enabled

BKCMP1E

Bit 1: tim_brk_cmp1 enable This bit enables the tim_brk_cmp1 for the timer’s tim_brk input. tim_brk_cmp1 output is ‘ORed’ with the other tim_brk sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: Input disabled
1: Enabled: Input enabled

BKCMP2E

Bit 2: tim_brk_cmp2 enable This bit enables the tim_brk_cmp2 for the timer’s tim_brk input. tim_brk_cmp2 output is ‘ORed’ with the other tim_brk sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: Input disabled
1: Enabled: Input enabled

BKCMP3E

Bit 3: tim_brk_cmp3 enable This bit enables the tim_brk_cmp3 for the timer’s tim_brk input. tim_brk_cmp3 output is ‘ORed’ with the other tim_brk sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: Input disabled
1: Enabled: Input enabled

BKCMP4E

Bit 4: tim_brk_cmp4 enable This bit enables the tim_brk_cmp4 for the timer’s tim_brk input. tim_brk_cmp4 output is ‘ORed’ with the other tim_brk sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: Input disabled
1: Enabled: Input enabled

BKCMP5E

Bit 5: tim_brk_cmp5 enable This bit enables the tim_brk_cmp5 for the timer’s tim_brk input. tim_brk_cmp5 output is ‘ORed’ with the other tim_brk sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: Input disabled
1: Enabled: Input enabled

BKCMP6E

Bit 6: tim_brk_cmp6 enable This bit enables the tim_brk_cmp6 for the timer’s tim_brk input. tim_brk_cmp6 output is ‘ORed’ with the other tim_brk sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: Input disabled
1: Enabled: Input enabled

BKCMP7E

Bit 7: tim_brk_cmp7 enable This bit enables the tim_brk_cmp7 for the timer’s tim_brk input. tim_brk_cmp7 output is ‘ORed’ with the other tim_brk sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: Input disabled
1: Enabled: Input enabled

BKCMP8E

Bit 8: tim_brk_cmp8 enable This bit enables the tim_brk_cmp8 for the timer’s tim_brk input. tim_brk_cmp8 output is ‘ORed’ with the other tim_brk sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: Input disabled
1: Enabled: Input enabled

BKINP

Bit 9: TIMx_BKIN input polarity This bit selects the TIMx_BKIN alternate function input sensitivity. It must be programmed together with the BKP polarity bit. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: NotInverted: Input polarity not inverted
1: Inverted: Input polarity inverted

BKCMP1P

Bit 10: tim_brk_cmp1 input polarity This bit selects the tim_brk_cmp1 input sensitivity. It must be programmed together with the BKP polarity bit. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: NotInverted: Input polarity not inverted
1: Inverted: Input polarity inverted

BKCMP2P

Bit 11: tim_brk_cmp2 input polarity This bit selects the tim_brk_cmp2 input sensitivity. It must be programmed together with the BKP polarity bit. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: NotInverted: Input polarity not inverted
1: Inverted: Input polarity inverted

BKCMP3P

Bit 12: tim_brk_cmp3 input polarity This bit selects the tim_brk_cmp3 input sensitivity. It must be programmed together with the BKP polarity bit. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: NotInverted: Input polarity not inverted
1: Inverted: Input polarity inverted

BKCMP4P

Bit 13: tim_brk_cmp4 input polarity This bit selects the tim_brk_cmp4 input sensitivity. It must be programmed together with the BKP polarity bit. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: NotInverted: Input polarity not inverted
1: Inverted: Input polarity inverted

ETRSEL

Bits 14-17: etr_in source selection These bits select the etr_in input source. ... Refer to Section 65.3.2: TIM1 pins and internal signals for product specific implementation. Note: These bits can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Legacy: ETR legacy mode
1: COMP1: COMP1 output
2: COMP2: COMP2 output

AF2

TIM1 alternate function register 2

Offset: 0x64, size: 32, reset: 0x00000001, access: Unspecified

15/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OCRSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BK2CMP4P
rw
BK2CMP3P
rw
BK2CMP2P
rw
BK2CMP1P
rw
BK2INP
rw
BK2CMP8E
rw
BK2CMP7E
rw
BK2CMP6E
rw
BK2CMP5E
rw
BK2CMP4E
rw
BK2CMP3E
rw
BK2CMP2E
rw
BK2CMP1E
rw
BK2INE
rw
Toggle fields

BK2INE

Bit 0: TIMx_BKIN2 input enable This bit enables the TIMx_BKIN2 alternate function input for the timer’s tim_brk2 input. TIMx_BKIN2 input is ‘ORed’ with the other tim_brk2 sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: BKIN input disabled
1: Enabled: BKIN input enabled

BK2CMP1E

Bit 1: tim_brk2_cmp1 enable This bit enables the tim_brk2_cmp1 for the timer’s tim_brk2 input. tim_brk2_cmp1 output is ‘ORed’ with the other tim_brk2 sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: Input disabled
1: Enabled: Input enabled

BK2CMP2E

Bit 2: tim_brk2_cmp2 enable This bit enables the tim_brk2_cmp2 for the timer’s tim_brk2 input. tim_brk2_cmp2 output is ‘ORed’ with the other tim_brk2 sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: Input disabled
1: Enabled: Input enabled

BK2CMP3E

Bit 3: tim_brk2_cmp3 enable This bit enables the tim_brk2_cmp3 for the timer’s tim_brk2 input. tim_brk2_cmp3 output is ‘ORed’ with the other tim_brk2 sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: Input disabled
1: Enabled: Input enabled

BK2CMP4E

Bit 4: tim_brk2_cmp4 enable This bit enables the tim_brk2_cmp4 for the timer’s tim_brk2 input. tim_brk2_cmp4 output is ‘ORed’ with the other tim_brk2 sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: Input disabled
1: Enabled: Input enabled

BK2CMP5E

Bit 5: tim_brk2_cmp5 enable This bit enables the tim_brk2_cmp5 for the timer’s tim_brk2 input. tim_brk2_cmp5 output is ‘ORed’ with the other tim_brk2 sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: Input disabled
1: Enabled: Input enabled

BK2CMP6E

Bit 6: tim_brk2_cmp6 enable This bit enables the tim_brk2_cmp6 for the timer’s tim_brk2 input. tim_brk2_cmp6 output is ‘ORed’ with the other tim_brk2 sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: Input disabled
1: Enabled: Input enabled

BK2CMP7E

Bit 7: tim_brk2_cmp7 enable This bit enables the tim_brk2_cmp7 for the timer’s tim_brk2 input. tim_brk2_cmp7 output is ‘ORed’ with the other tim_brk2 sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: Input disabled
1: Enabled: Input enabled

BK2CMP8E

Bit 8: tim_brk2_cmp8 enable This bit enables the tim_brk2_cmp8 for the timer’s tim_brk2 input. tim_brk2_cmp8 output is ‘ORed’ with the other tim_brk2 sources. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: Disabled: Input disabled
1: Enabled: Input enabled

BK2INP

Bit 9: TIMx_BKIN2 input polarity This bit selects the TIMx_BKIN2 alternate function input sensitivity. It must be programmed together with the BK2P polarity bit. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: NotInverted: Input polarity not inverted
1: Inverted: Input polarity inverted

BK2CMP1P

Bit 10: tim_brk2_cmp1 input polarity This bit selects the tim_brk2_cmp1 input sensitivity. It must be programmed together with the BK2P polarity bit. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: NotInverted: Input polarity not inverted
1: Inverted: Input polarity inverted

BK2CMP2P

Bit 11: tim_brk2_cmp2 input polarity This bit selects the tim_brk2_cmp2 input sensitivity. It must be programmed together with the BK2P polarity bit. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: NotInverted: Input polarity not inverted
1: Inverted: Input polarity inverted

BK2CMP3P

Bit 12: tim_brk2_cmp3 input polarity This bit selects the tim_brk2_cmp3 input sensitivity. It must be programmed together with the BK2P polarity bit. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: NotInverted: Input polarity not inverted
1: Inverted: Input polarity inverted

BK2CMP4P

Bit 13: tim_brk2_cmp4 input polarity This bit selects the tim_brk2_cmp4 input sensitivity. It must be programmed together with the BK2P polarity bit. Note: This bit can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values:
0: NotInverted: Input polarity not inverted
1: Inverted: Input polarity inverted

OCRSEL

Bits 16-18: ocref_clr source selection These bits select the ocref_clr input source. ... Refer to Section 65.3.2: TIM1 pins and internal signals for product specific information. Note: These bits can not be modified as long as LOCK level 1 has been programmed (LOCK bits in TIMx_BDTR register)..

Allowed values: 0x0-0x7

DCR

TIM1 DMA control register

Offset: 0x3dc, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DBSS
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBL
rw
DBA
rw
Toggle fields

DBA

Bits 0-4: DMA base address This 5-bits vector defines the base-address for DMA transfers (when read/write access are done through the TIMx_DMAR address). DBA is defined as an offset starting from the address of the TIMx_CR1 register. Example: ....

Allowed values: 0x0-0x1f

DBL

Bits 8-12: DMA burst length This 5-bit vector defines the length of DMA transfers (the timer recognizes a burst transfer when a read or a write access is done to the TIMx_DMAR address), i.e. the number of transfers. Transfers can be in half-words or in bytes (see example below). ... Example: Let us consider the following transfer: DBL = 7 bytes & DBA = TIM2_CR1. If DBL = 7 bytes and DBA = TIM2_CR1 represents the address of the byte to be transferred, the address of the transfer should be given by the following equation: (TIMx_CR1 address) + DBA + (DMA index), where DMA index = DBL In this example, 7 bytes are added to (TIMx_CR1 address) + DBA, which gives us the address from/to which the data are copied. In this case, the transfer is done to 7 registers starting from the following address: (TIMx_CR1 address) + DBA According to the configuration of the DMA Data Size, several cases may occur: If the DMA Data Size is configured in half-words, 16-bit data are transferred to each of the 7 registers. If the DMA Data Size is configured in bytes, the data are also transferred to 7 registers: the first register contains the first MSB byte, the second register, the first LSB byte and so on. So with the transfer Timer, one also has to specify the size of data transferred by DMA..

Allowed values: 0x0-0x12

DBSS

Bits 16-19: DMA burst source selection This bitfield defines the interrupt source that triggers the DMA burst transfers (the timer recognizes a burst transfer when a read or a write access is done to the TIMx_DMAR address). Others: reserved.

Allowed values: 0x0-0x7

DMAR

TIM1 DMA address for full transfer

Offset: 0x3e0, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DMAB
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DMAB
rw
Toggle fields

DMAB

Bits 0-31: DMA register for burst accesses A read or write operation to the DMAR register accesses the register located at the address (TIMx_CR1 address) + (DBA + DMA index) x 4 where TIMx_CR1 address is the address of the control register 1, DBA is the DMA base address configured in TIMx_DCR register, DMA index is automatically controlled by the DMA transfer, and ranges from 0 to DBL (DBL configured in TIMx_DCR)..

Allowed values: 0x0-0xffff

TIM2

0x40000000: General-purpose timers

104/137 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 (16-bit) CR1
0x4 CR2
0x8 SMCR
0xc DIER
0x10 SR
0x14 (16-bit) EGR
0x18 CCMR1_Input
0x18 CCMR1_Output
0x1c CCMR2_Input
0x1c CCMR2_Output
0x20 (16-bit) CCER
0x24 CNT
0x28 (16-bit) PSC
0x2c ARR
0x34 CCR1
0x38 CCR2
0x3c CCR3
0x40 CCR4
0x58 ECR
0x5c TISEL
0x60 AF1
0x64 AF2
0x3dc DCR
0x3e0 DMAR
Toggle registers

CR1

TIM2 control register 1

Offset: 0x0, size: 16, reset: 0x00000000, access: Unspecified

10/10 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DITHEN
rw
UIFREMAP
rw
CKD
rw
ARPE
rw
CMS
rw
DIR
rw
OPM
rw
URS
rw
UDIS
rw
CEN
rw
Toggle fields

CEN

Bit 0: Counter enable Note: External clock, gated mode and encoder mode can work only if the CEN bit has been previously set by software. However trigger mode can set the CEN bit automatically by hardware. CEN is cleared automatically in one-pulse mode, when an update event occurs..

Allowed values:
0: Disabled: Counter disabled
1: Enabled: Counter enabled

UDIS

Bit 1: Update disable This bit is set and cleared by software to enable/disable UEV event generation. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller Buffered registers are then loaded with their preload values..

Allowed values:
0: Enabled: Update event enabled
1: Disabled: Update event disabled

URS

Bit 2: Update request source This bit is set and cleared by software to select the UEV event sources. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller.

Allowed values:
0: AnyEvent: Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request
1: CounterOnly: Only counter overflow/underflow generates an update interrupt or DMA request

OPM

Bit 3: One-pulse mode.

Allowed values:
0: Disabled: Counter is not stopped at update event
1: Enabled: Counter stops counting at the next update event (clearing the CEN bit)

DIR

Bit 4: Direction Note: This bit is read only when the timer is configured in Center-aligned mode or Encoder mode..

Allowed values:
0: Up: Counter used as upcounter
1: Down: Counter used as downcounter

CMS

Bits 5-6: Center-aligned mode selection Note: It is not allowed to switch from edge-aligned mode to center-aligned mode as long as the counter is enabled (CEN=1).

Allowed values:
0: EdgeAligned: The counter counts up or down depending on the direction bit
1: CenterAligned1: The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting down.
2: CenterAligned2: The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting up.
3: CenterAligned3: The counter counts up and down alternatively. Output compare interrupt flags are set both when the counter is counting up or down.

ARPE

Bit 7: Auto-reload preload enable.

Allowed values:
0: Disabled: TIMx_APRR register is not buffered
1: Enabled: TIMx_APRR register is buffered

CKD

Bits 8-9: Clock division This bit-field indicates the division ratio between the timer clock (tim_ker_ck) frequency and sampling clock used by the digital filters (tim_etr_in, tim_tix),.

Allowed values:
0: Div1: t_DTS = t_CK_INT
1: Div2: t_DTS = 2 × t_CK_INT
2: Div4: t_DTS = 4 × t_CK_INT

UIFREMAP

Bit 11: UIF status bit remapping.

Allowed values:
0: Disabled: No remapping. UIF status bit is not copied to TIMx_CNT register bit 31
1: Enabled: Remapping enabled. UIF status bit is copied to TIMx_CNT register bit 31

DITHEN

Bit 12: Dithering Enable Note: The DITHEN bit can only be modified when CEN bit is reset..

Allowed values:
0: Disabled: Dithering disabled
1: Enabled: Dithering enabled

CR2

TIM2 control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MMS_H
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TI1S
rw
MMS_L
rw
CCDS
rw
Toggle fields

CCDS

Bit 3: Capture/compare DMA selection.

Allowed values:
0: OnCompare: CCx DMA request sent when CCx event occurs
1: OnUpdate: CCx DMA request sent when update event occurs

MMS_L

Bits 4-6: Master mode selection These bits allow to select the information to be sent in master mode to slave timers for synchronization (tim_trgo). The combination is as follows: tim_trgo, except if the master/slave mode is selected (see the MSM bit description in TIMx_SMCR register). Others: Reserved Note: The clock of the slave timer or ADC must be enabled prior to receive events from the master timer, and must not be changed on-the-fly while triggers are received from the master timer..

Allowed values: 0x0-0x7

TI1S

Bit 7: tim_ti1 selection.

Allowed values:
0: Normal: The TIMx_CH1 pin is connected to TI1 input
1: XOR: The TIMx_CH1, CH2, CH3 pins are connected to TI1 input

MMS_H

Bit 25: Master mode selection These bits allow to select the information to be sent in master mode to slave timers for synchronization (tim_trgo). The combination is as follows: tim_trgo, except if the master/slave mode is selected (see the MSM bit description in TIMx_SMCR register). Others: Reserved Note: The clock of the slave timer or ADC must be enabled prior to receive events from the master timer, and must not be changed on-the-fly while triggers are received from the master timer..

Allowed values: 0x0-0x1

SMCR

TIM2 slave mode control register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

11/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SMSPS
rw
SMSPE
rw
TS_H
rw
SMS_H
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ETP
rw
ECE
rw
ETPS
rw
ETF
rw
MSM
rw
TS_L
rw
OCCS
rw
SMS_L
rw
Toggle fields

SMS_L

Bits 0-2: Slave mode selection When external signals are selected the active edge of the trigger signal (tim_trgi) is linked to the polarity selected on the external input (see Input Control register and Control Register description. Note: The gated mode must not be used if tim_ti1f_ed is selected as the trigger input (TS=00100). Indeed, tim_ti1f_ed outputs 1 pulse for each transition on tim_ti1f, whereas the gated mode checks the level of the trigger signal. Note: The clock of the slave peripherals (timer, ADC, ...) receiving the tim_trgo signal must be enabled prior to receive events from the master timer, and the clock frequency (prescaler) must not be changed on-the-fly while triggers are received from the master timer..

Allowed values: 0x0-0x7

OCCS

Bit 3: OCREF clear selection This bit is used to select the OCREF clear source Note: If the OCREF clear selection feature is not supported, this bit is reserved and forced by hardware to ‘0’. ..

TS_L

Bits 4-6: Trigger selection This bit-field selects the trigger input to be used to synchronize the counter. Others: Reserved See for product specific implementation details. Note: These bits must be changed only when they are not used (e.g. when SMS=000) to avoid wrong edge detections at the transition..

Allowed values: 0x0-0x7

MSM

Bit 7: Master/Slave mode.

Allowed values:
0: NoSync: No action
1: Sync: The effect of an event on the trigger input (TRGI) is delayed to allow a perfect synchronization between the current timer and its slaves (through TRGO). It is useful if we want to synchronize several timers on a single external event.

ETF

Bits 8-11: External trigger filter This bit-field then defines the frequency used to sample tim_etrp signal and the length of the digital filter applied to tim_etrp. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output:.

Allowed values:
0: NoFilter: No filter, sampling is done at fDTS
1: FCK_INT_N2: fSAMPLING=fCK_INT, N=2
2: FCK_INT_N4: fSAMPLING=fCK_INT, N=4
3: FCK_INT_N8: fSAMPLING=fCK_INT, N=8
4: FDTS_Div2_N6: fSAMPLING=fDTS/2, N=6
5: FDTS_Div2_N8: fSAMPLING=fDTS/2, N=8
6: FDTS_Div4_N6: fSAMPLING=fDTS/4, N=6
7: FDTS_Div4_N8: fSAMPLING=fDTS/4, N=8
8: FDTS_Div8_N6: fSAMPLING=fDTS/8, N=6
9: FDTS_Div8_N8: fSAMPLING=fDTS/8, N=8
10: FDTS_Div16_N5: fSAMPLING=fDTS/16, N=5
11: FDTS_Div16_N6: fSAMPLING=fDTS/16, N=6
12: FDTS_Div16_N8: fSAMPLING=fDTS/16, N=8
13: FDTS_Div32_N5: fSAMPLING=fDTS/32, N=5
14: FDTS_Div32_N6: fSAMPLING=fDTS/32, N=6
15: FDTS_Div32_N8: fSAMPLING=fDTS/32, N=8

ETPS

Bits 12-13: External trigger prescaler External trigger signal tim_etrp frequency must be at most 1/4 of tim_ker_ck frequency. A prescaler can be enabled to reduce tim_etrp frequency. It is useful when inputting fast external clocks on tim_etr_in..

Allowed values:
0: Div1: Prescaler OFF
1: Div2: ETRP frequency divided by 2
2: Div4: ETRP frequency divided by 4
3: Div8: ETRP frequency divided by 8

ECE

Bit 14: External clock enable This bit enables External clock mode 2. Note: Setting the ECE bit has the same effect as selecting external clock mode 1 with tim_trgi connected to tim_etrf (SMS=111 and TS=00111). It is possible to simultaneously use external clock mode 2 with the following slave modes: reset mode, gated mode and trigger mode. Nevertheless, tim_trgi must not be connected to tim_etrf in this case (TS bits must not be 00111). If external clock mode 1 and external clock mode 2 are enabled at the same time, the external clock input is tim_etrf..

Allowed values:
0: Disabled: External clock mode 2 disabled
1: Enabled: External clock mode 2 enabled. The counter is clocked by any active edge on the ETRF signal.

ETP

Bit 15: External trigger polarity This bit selects whether tim_etr_in or tim_etr_in is used for trigger operations.

Allowed values:
0: NotInverted: ETR is noninverted, active at high level or rising edge
1: Inverted: ETR is inverted, active at low level or falling edge

SMS_H

Bit 16: Slave mode selection When external signals are selected the active edge of the trigger signal (tim_trgi) is linked to the polarity selected on the external input (see Input Control register and Control Register description. Note: The gated mode must not be used if tim_ti1f_ed is selected as the trigger input (TS=00100). Indeed, tim_ti1f_ed outputs 1 pulse for each transition on tim_ti1f, whereas the gated mode checks the level of the trigger signal. Note: The clock of the slave peripherals (timer, ADC, ...) receiving the tim_trgo signal must be enabled prior to receive events from the master timer, and the clock frequency (prescaler) must not be changed on-the-fly while triggers are received from the master timer..

Allowed values: 0x0-0x1

TS_H

Bits 20-21: Trigger selection This bit-field selects the trigger input to be used to synchronize the counter. Others: Reserved See for product specific implementation details. Note: These bits must be changed only when they are not used (e.g. when SMS=000) to avoid wrong edge detections at the transition..

Allowed values: 0x0-0x3

SMSPE

Bit 24: SMS preload enable This bit selects whether the SMS[3:0] bitfield is preloaded.

Allowed values:
0: NotPreloaded: SMSM[3:0] is not preloaded
1: PreloadEnabled: SMSM[3:0] is preload is enabled

SMSPS

Bit 25: SMS preload source This bit selects whether the events that triggers the SMS[3:0] bitfield transfer from preload to active.

Allowed values:
0: Update: SMSM[3:0] is preloaded from Update event
1: Index: SMSM[3:0] is preloaded from Index event

DIER

TIM2 DMA/Interrupt enable register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TERRIE
rw
IERRIE
rw
DIRIE
rw
IDXIE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDE
rw
CC4DE
rw
CC3DE
rw
CC2DE
rw
CC1DE
rw
UDE
rw
TIE
rw
CC4IE
rw
CC3IE
rw
CC2IE
rw
CC1IE
rw
UIE
rw
Toggle fields

UIE

Bit 0: Update interrupt enable.

Allowed values:
0: Disabled: Update interrupt disabled
1: Enabled: Update interrupt enabled

CC1IE

Bit 1: Capture/Compare 1 interrupt enable.

Allowed values:
0: Disabled: CCx interrupt disabled
1: Enabled: CCx interrupt enabled

CC2IE

Bit 2: Capture/Compare 2 interrupt enable.

Allowed values:
0: Disabled: CCx interrupt disabled
1: Enabled: CCx interrupt enabled

CC3IE

Bit 3: Capture/Compare 3 interrupt enable.

Allowed values:
0: Disabled: CCx interrupt disabled
1: Enabled: CCx interrupt enabled

CC4IE

Bit 4: Capture/Compare 4 interrupt enable.

Allowed values:
0: Disabled: CCx interrupt disabled
1: Enabled: CCx interrupt enabled

TIE

Bit 6: Trigger interrupt enable.

Allowed values:
0: Disabled: Trigger interrupt disabled
1: Enabled: Trigger interrupt enabled

UDE

Bit 8: Update DMA request enable.

Allowed values:
0: Disabled: Update DMA request disabled
1: Enabled: Update DMA request enabled

CC1DE

Bit 9: Capture/Compare 1 DMA request enable.

Allowed values:
0: Disabled: CCx DMA request disabled
1: Enabled: CCx DMA request enabled

CC2DE

Bit 10: Capture/Compare 2 DMA request enable.

Allowed values:
0: Disabled: CCx DMA request disabled
1: Enabled: CCx DMA request enabled

CC3DE

Bit 11: Capture/Compare 3 DMA request enable.

Allowed values:
0: Disabled: CCx DMA request disabled
1: Enabled: CCx DMA request enabled

CC4DE

Bit 12: Capture/Compare 4 DMA request enable.

Allowed values:
0: Disabled: CCx DMA request disabled
1: Enabled: CCx DMA request enabled

TDE

Bit 14: Trigger DMA request enable.

Allowed values:
0: Disabled: Trigger DMA request disabled
1: Enabled: Trigger DMA request enabled

IDXIE

Bit 20: Index interrupt enable.

Allowed values:
0: Disabled: Index change interrupt disabled
1: Enabled: Index change interrupt enabled

DIRIE

Bit 21: Direction change interrupt enable.

Allowed values:
0: Disabled: Direction change interrupt disabled
1: Enabled: Direction change interrupt enabled

IERRIE

Bit 22: Index error interrupt enable.

Allowed values:
0: Disabled: Index error interrupt disabled
1: Enabled: Index error interrupt enabled

TERRIE

Bit 23: Transition error interrupt enable.

Allowed values:
0: Disabled: Transition error interrupt disabled
1: Enabled: Transition error interrupt enabled

SR

TIM2 status register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TERRF
rw
IERRF
rw
DIRF
rw
IDXF
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC4OF
rw
CC3OF
rw
CC2OF
rw
CC1OF
rw
TIF
rw
CC4IF
rw
CC3IF
rw
CC2IF
rw
CC1IF
rw
UIF
rw
Toggle fields

UIF

Bit 0: Update interrupt flag This bit is set by hardware on an update event. It is cleared by software. At overflow or underflow and if UDIS=0 in the TIMx_CR1 register. When CNT is reinitialized by software using the UG bit in TIMx_EGR register, if URS=0 and UDIS=0 in the TIMx_CR1 register. When CNT is reinitialized by a trigger event (refer to the synchro control register description), if URS=0 and UDIS=0 in the TIMx_CR1 register..

Allowed values:
0: NoUpdateOccurred: No update occurred
1: UpdatePending: Update interrupt pending

CC1IF

Bit 1: Capture/compare 1 interrupt flag This flag is set by hardware. It is cleared by software (input capture or output compare mode) or by reading the TIMx_CCR1 register (input capture mode only). If channel CC1 is configured as output: this flag is set when the content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. When the content of TIMx_CCR1 is greater than the content of TIMx_ARR, the CC1IF bit goes high on the counter overflow (in up-counting and up/down-counting modes) or underflow (in downcounting mode). There are 3 possible options for flag setting in center-aligned mode, refer to the CMS bits in the TIMx_CR1 register for the full description. If channel CC1 is configured as input: this bit is set when counter value has been captured in TIMx_CCR1 register (an edge has been detected on IC1, as per the edge sensitivity defined with the CC1P and CC1NP bits setting, in TIMx_CCER)..

Allowed values:
1: Match: If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.

CC2IF

Bit 2: Capture/Compare 2 interrupt flag Refer to CC1IF description.

Allowed values:
1: Match: If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.

CC3IF

Bit 3: Capture/Compare 3 interrupt flag Refer to CC1IF description.

Allowed values:
1: Match: If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.

CC4IF

Bit 4: Capture/Compare 4 interrupt flag Refer to CC1IF description.

Allowed values:
1: Match: If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.

TIF

Bit 6: Trigger interrupt flag This flag is set by hardware on the TRG trigger event (active edge detected on tim_trgi input when the slave mode controller is enabled in all modes but gated mode. It is set when the counter starts or stops when gated mode is selected. It is cleared by software..

Allowed values:
0: NoTrigger: No trigger event occurred
1: Trigger: Trigger interrupt pending

CC1OF

Bit 9: Capture/Compare 1 overcapture flag This flag is set by hardware only when the corresponding channel is configured in input capture mode. It is cleared by software by writing it to ‘0’..

Allowed values:
1: Overcapture: The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set

CC2OF

Bit 10: Capture/compare 2 overcapture flag refer to CC1OF description.

Allowed values:
1: Overcapture: The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set

CC3OF

Bit 11: Capture/Compare 3 overcapture flag refer to CC1OF description.

Allowed values:
1: Overcapture: The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set

CC4OF

Bit 12: Capture/Compare 4 overcapture flag refer to CC1OF description.

Allowed values:
1: Overcapture: The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set

IDXF

Bit 20: Index interrupt flag This flag is set by hardware when an index event is detected. It is cleared by software by writing it to ‘0’..

Allowed values:
0: NoTrigger: No index event occurred
1: Trigger: An index event has occurred

DIRF

Bit 21: Direction change interrupt flag This flag is set by hardware when the direction changes in encoder mode (DIR bit value in TIMx_CR is changing). It is cleared by software by writing it to ‘0’..

Allowed values:
0: NoTrigger: No direction change has been detected
1: Trigger: A direction change has been detected

IERRF

Bit 22: Index error interrupt flag This flag is set by hardware when an index error is detected. It is cleared by software by writing it to ‘0’..

Allowed values:
0: NoTrigger: No index error has been detected
1: Trigger: An index erorr has been detected

TERRF

Bit 23: Transition error interrupt flag This flag is set by hardware when a transition error is detected in encoder mode. It is cleared by software by writing it to ‘0’..

Allowed values:
0: NoTrigger: No encoder transition error has been detected
1: Trigger: An encoder transition error has been detected

EGR

TIM2 event generation register

Offset: 0x14, size: 16, reset: 0x00000000, access: Unspecified

6/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TG
w
CC4G
w
CC3G
w
CC2G
w
CC1G
w
UG
w
Toggle fields

UG

Bit 0: Update generation This bit can be set by software, it is automatically cleared by hardware..

Allowed values:
1: Update: Re-initializes the timer counter and generates an update of the registers.

CC1G

Bit 1: Capture/compare 1 generation This bit is set by software in order to generate an event, it is automatically cleared by hardware. If channel CC1 is configured as output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If channel CC1 is configured as input: The current value of the counter is captured in TIMx_CCR1 register. The CC1IF flag is set, the corresponding interrupt or DMA request is sent if enabled. The CC1OF flag is set if the CC1IF flag was already high..

Allowed values:
1: Trigger: If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.

CC2G

Bit 2: Capture/compare 2 generation Refer to CC1G description.

Allowed values:
1: Trigger: If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.

CC3G

Bit 3: Capture/compare 3 generation Refer to CC1G description.

Allowed values:
1: Trigger: If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.

CC4G

Bit 4: Capture/compare 4 generation Refer to CC1G description.

Allowed values:
1: Trigger: If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.

TG

Bit 6: Trigger generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..

Allowed values:
1: Trigger: The TIF flag is set in TIMx_SR register. Related interrupt or DMA transfer can occur if enabled.

CCMR1_Input

TIM2 capture/compare mode register 1 [alternate]

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

4/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC2F
rw
IC2PSC
rw
CC2S
rw
IC1F
rw
IC1PSC
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/Compare 1 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC1S bits are writable only when the channel is OFF (CC1E = 0 in TIMx_CCER)..

Allowed values:
1: TI1: CC1 channel is configured as input, IC1 is mapped on TI1
2: TI2: CC1 channel is configured as input, IC1 is mapped on TI2
3: TRC: CC1 channel is configured as input, IC1 is mapped on TRC

IC1PSC

Bits 2-3: Input capture 1 prescaler This bit-field defines the ratio of the prescaler acting on CC1 input (tim_ic1). The prescaler is reset as soon as CC1E=0 (TIMx_CCER register)..

IC1F

Bits 4-7: Input capture 1 filter This bit-field defines the frequency used to sample tim_ti1 input and the length of the digital filter applied to tim_ti1. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output:.

Allowed values:
0: NoFilter: No filter, sampling is done at fDTS
1: FCK_INT_N2: fSAMPLING=fCK_INT, N=2
2: FCK_INT_N4: fSAMPLING=fCK_INT, N=4
3: FCK_INT_N8: fSAMPLING=fCK_INT, N=8
4: FDTS_Div2_N6: fSAMPLING=fDTS/2, N=6
5: FDTS_Div2_N8: fSAMPLING=fDTS/2, N=8
6: FDTS_Div4_N6: fSAMPLING=fDTS/4, N=6
7: FDTS_Div4_N8: fSAMPLING=fDTS/4, N=8
8: FDTS_Div8_N6: fSAMPLING=fDTS/8, N=6
9: FDTS_Div8_N8: fSAMPLING=fDTS/8, N=8
10: FDTS_Div16_N5: fSAMPLING=fDTS/16, N=5
11: FDTS_Div16_N6: fSAMPLING=fDTS/16, N=6
12: FDTS_Div16_N8: fSAMPLING=fDTS/16, N=8
13: FDTS_Div32_N5: fSAMPLING=fDTS/32, N=5
14: FDTS_Div32_N6: fSAMPLING=fDTS/32, N=6
15: FDTS_Div32_N8: fSAMPLING=fDTS/32, N=8

CC2S

Bits 8-9: Capture/compare 2 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC2S bits are writable only when the channel is OFF (CC2E = 0 in TIMx_CCER)..

Allowed values:
1: TI2: CC2 channel is configured as input, IC2 is mapped on TI2
2: TI1: CC2 channel is configured as input, IC2 is mapped on TI1
3: TRC: CC2 channel is configured as input, IC2 is mapped on TRC

IC2PSC

Bits 10-11: Input capture 2 prescaler.

IC2F

Bits 12-15: Input capture 2 filter.

Allowed values: 0x0-0xf

CCMR1_Output

TIM2 capture/compare mode register 1 [alternate]

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

8/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OC2M_3
rw
OC1M_3
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC2CE
rw
OC2M
rw
OC2PE
rw
OC2FE
rw
CC2S
rw
OC1CE
rw
OC1M
rw
OC1PE
rw
OC1FE
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/Compare 1 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC1S bits are writable only when the channel is OFF (CC1E = 0 in TIMx_CCER)..

Allowed values:
0: Output: CC1 channel is configured as output

OC1FE

Bit 2: Output compare 1 fast enable This bit decreases the latency between a trigger event and a transition on the timer output. It must be used in one-pulse mode (OPM bit set in TIMx_CR1 register), to have the output pulse starting as soon as possible after the starting trigger..

OC1PE

Bit 3: Output compare 1 preload enable.

Allowed values:
0: Disabled: Preload register on CCR1 disabled. New values written to CCR1 are taken into account immediately
1: Enabled: Preload register on CCR1 enabled. Preload value is loaded into active register on each update event

OC1M

Bits 4-6: Output compare 1 mode These bits define the behavior of the output reference signal tim_oc1ref from which tim_oc1 is derived. tim_oc1ref is active high whereas tim_oc1 active level depends on CC1P bit. Note: In PWM mode, the tim_ocref_clr level changes only when the result of the comparison changes or when the output compare mode switches from “frozen” mode to “PWM” mode..

Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1

OC1CE

Bit 7: Output compare 1 clear enable.

CC2S

Bits 8-9: Capture/Compare 2 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC2S bits are writable only when the channel is OFF (CC2E = 0 in TIMx_CCER)..

Allowed values:
0: Output: CC2 channel is configured as output

OC2FE

Bit 10: Output compare 2 fast enable.

OC2PE

Bit 11: Output compare 2 preload enable.

Allowed values:
0: Disabled: Preload register on CCR2 disabled. New values written to CCR2 are taken into account immediately
1: Enabled: Preload register on CCR2 enabled. Preload value is loaded into active register on each update event

OC2M

Bits 12-14: Output compare 2 mode refer to OC1M description on bits 6:4.

Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1

OC2CE

Bit 15: Output compare 2 clear enable.

OC1M_3

Bit 16: Output compare 1 mode These bits define the behavior of the output reference signal tim_oc1ref from which tim_oc1 is derived. tim_oc1ref is active high whereas tim_oc1 active level depends on CC1P bit. Note: In PWM mode, the tim_ocref_clr level changes only when the result of the comparison changes or when the output compare mode switches from “frozen” mode to “PWM” mode..

Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)

OC2M_3

Bit 24: Output compare 2 mode refer to OC1M description on bits 6:4.

Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)

CCMR2_Input

TIM2 capture/compare mode register 2 [alternate]

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

6/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC4F
rw
IC4PSC
rw
CC4S
rw
IC3F
rw
IC3PSC
rw
CC3S
rw
Toggle fields

CC3S

Bits 0-1: Capture/Compare 3 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC3S bits are writable only when the channel is OFF (CC3E = 0 in TIMx_CCER)..

Allowed values:
1: TI3: CC3 channel is configured as input, IC3 is mapped on TI3
2: TI4: CC3 channel is configured as input, IC3 is mapped on TI4
3: TRC: CC3 channel is configured as input, IC3 is mapped on TRC

IC3PSC

Bits 2-3: Input capture 3 prescaler.

Allowed values: 0x0-0x3

IC3F

Bits 4-7: Input capture 3 filter.

Allowed values: 0x0-0xf

CC4S

Bits 8-9: Capture/Compare 4 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC4S bits are writable only when the channel is OFF (CC4E = 0 in TIMx_CCER)..

Allowed values:
1: TI4: CC4 channel is configured as input, IC4 is mapped on TI4
2: TI3: CC4 channel is configured as input, IC4 is mapped on TI3
3: TRC: CC4 channel is configured as input, IC4 is mapped on TRC

IC4PSC

Bits 10-11: Input capture 4 prescaler.

Allowed values: 0x0-0x3

IC4F

Bits 12-15: Input capture 4 filter.

Allowed values: 0x0-0xf

CCMR2_Output

TIM2 capture/compare mode register 2 [alternate]

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

8/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OC4M_3
rw
OC3M_3
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC4CE
rw
OC4M
rw
OC4PE
rw
OC4FE
rw
CC4S
rw
OC3CE
rw
OC3M
rw
OC3PE
rw
OC3FE
rw
CC3S
rw
Toggle fields

CC3S

Bits 0-1: Capture/Compare 3 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC3S bits are writable only when the channel is OFF (CC3E = 0 in TIMx_CCER)..

Allowed values:
0: Output: CC3 channel is configured as output

OC3FE

Bit 2: Output compare 3 fast enable.

OC3PE

Bit 3: Output compare 3 preload enable.

Allowed values:
0: Disabled: Preload register on CCR3 disabled. New values written to CCR3 are taken into account immediately
1: Enabled: Preload register on CCR3 enabled. Preload value is loaded into active register on each update event

OC3M

Bits 4-6: Output compare 3 mode Refer to OC1M description (bits 6:4 in TIMx_CCMR1 register).

Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1

OC3CE

Bit 7: Output compare 3 clear enable.

CC4S

Bits 8-9: Capture/Compare 4 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC4S bits are writable only when the channel is OFF (CC4E = 0 in TIMx_CCER)..

Allowed values:
0: Output: CC4 channel is configured as output

OC4FE

Bit 10: Output compare 4 fast enable.

OC4PE

Bit 11: Output compare 4 preload enable.

Allowed values:
0: Disabled: Preload register on CCR4 disabled. New values written to CCR4 are taken into account immediately
1: Enabled: Preload register on CCR4 enabled. Preload value is loaded into active register on each update event

OC4M

Bits 12-14: Output compare 4 mode Refer to OC1M description (bits 6:4 in TIMx_CCMR1 register).

Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1

OC4CE

Bit 15: Output compare 4 clear enable.

OC3M_3

Bit 16: Output compare 3 mode Refer to OC1M description (bits 6:4 in TIMx_CCMR1 register).

Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)

OC4M_3

Bit 24: Output compare 4 mode Refer to OC1M description (bits 6:4 in TIMx_CCMR1 register).

Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)

CCER

TIM2 capture/compare enable register

Offset: 0x20, size: 16, reset: 0x00000000, access: Unspecified

0/12 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC4NP
rw
CC4P
rw
CC4E
rw
CC3NP
rw
CC3P
rw
CC3E
rw
CC2NP
rw
CC2P
rw
CC2E
rw
CC1NP
rw
CC1P
rw
CC1E
rw
Toggle fields

CC1E

Bit 0: Capture/Compare 1 output enable..

CC1P

Bit 1: Capture/Compare 1 output Polarity. When CC1 channel is configured as input, both CC1NP/CC1P bits select the active polarity of TI1FP1 and TI2FP1 for trigger or capture operations. CC1NP=0, CC1P=0: non-inverted/rising edge. The circuit is sensitive to TIxFP1 rising edge (capture or trigger operations in reset, external clock or trigger mode), TIxFP1 is not inverted (trigger operation in gated mode or encoder mode). CC1NP=0, CC1P=1: inverted/falling edge. The circuit is sensitive to TIxFP1 falling edge (capture or trigger operations in reset, external clock or trigger mode), TIxFP1 is inverted (trigger operation in gated mode or encoder mode). CC1NP=1, CC1P=1: non-inverted/both edges. The circuit is sensitive to both TIxFP1 rising and falling edges (capture or trigger operations in reset, external clock or trigger mode), TIxFP1is not inverted (trigger operation in gated mode). This configuration must not be used in encoder mode. CC1NP=1, CC1P=0: this configuration is reserved, it must not be used..

CC1NP

Bit 3: Capture/Compare 1 output Polarity. CC1 channel configured as output: CC1NP must be kept cleared in this case. CC1 channel configured as input: This bit is used in conjunction with CC1P to define tim_ti1fp1/tim_ti2fp1 polarity. refer to CC1P description..

CC2E

Bit 4: Capture/Compare 2 output enable. Refer to CC1E description.

CC2P

Bit 5: Capture/Compare 2 output Polarity. refer to CC1P description.

CC2NP

Bit 7: Capture/Compare 2 output Polarity. Refer to CC1NP description.

CC3E

Bit 8: Capture/Compare 3 output enable. Refer to CC1E description.

CC3P

Bit 9: Capture/Compare 3 output Polarity. Refer to CC1P description.

CC3NP

Bit 11: Capture/Compare 3 output Polarity. Refer to CC1NP description.

CC4E

Bit 12: Capture/Compare 4 output enable. refer to CC1E description.

CC4P

Bit 13: Capture/Compare 4 output Polarity. Refer to CC1P description.

CC4NP

Bit 15: Capture/Compare 4 output Polarity. Refer to CC1NP description.

CNT

TIM2 counter

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CNT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNT
rw
Toggle fields

CNT

Bits 0-31: Non-dithering mode (DITHEN = 0) The register holds the counter value. Dithering mode (DITHEN = 1) The register holds the non-dithered part. The fractional part is not available..

Allowed values: 0x0-0xffffffff

UIFCPY

Bit 31: Read-only copy of the UIF bit of the TIMx_ISR register.

Allowed values:
0: NoUpdateOccurred: No update occurred
1: UpdatePending: Update interrupt pending

PSC

TIM2 prescaler

Offset: 0x28, size: 16, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PSC
rw
Toggle fields

PSC

Bits 0-15: Prescaler value The counter clock frequency tim_cnt_ck is equal to ftim_psc_ck / (PSC[15:0] + 1). PSC contains the value to be loaded in the active prescaler register at each update event (including when the counter is cleared through UG bit of TIMx_EGR register or through trigger controller when configured in “reset mode”)..

Allowed values: 0x0-0xffff

ARR

TIM2 auto-reload register

Offset: 0x2c, size: 32, reset: 0xFFFFFFFF, access: Unspecified

1/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ARR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ARR
rw
Toggle fields

ARR

Bits 0-31: Auto-reload value ARR is the value to be loaded in the actual auto-reload register. Refer to the for more details about ARR update and behavior. The counter is blocked while the auto-reload value is null. Non-dithering mode (DITHEN = 0) The register holds the auto-reload value. Dithering mode (DITHEN = 1) The register holds the integer part in ARR[31:4]. The ARR[3:0] bitfield contains the dithered part..

Allowed values: 0x0-0xfffff

DITHER

Bits 0-3: Dithered part in dithering mode.

INTEGER

Bits 4-31: Integer part in dithering mode.

CCR1

TIM2 capture/compare register 1

Offset: 0x34, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CCR1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR1
rw
Toggle fields

CCR1

Bits 0-31: Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the actual capture/compare 1 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR1 register (bit OC1PE). Else the preload value is copied in the active capture/compare 1 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on tim_oc1 output. Non-dithering mode (DITHEN = 0) The register holds the compare value. Dithering mode (DITHEN = 1) The register holds the integer part in CCR1[31:4]. The CCR1[3:0] bitfield contains the dithered part. If channel CC1 is configured as input: CCR1 is the counter value transferred by the last input capture 1 event (tim_ic1). The TIMx_CCR1 register is read-only and cannot be programmed. Non-dithering mode (DITHEN = 0) The register holds the capture value. Dithering mode (DITHEN = 1) The register holds the capture in CCR1[31:0]. The CCR1[3:0] bits are reset..

Allowed values: 0x0-0xffffffff

CCR2

TIM2 capture/compare register 2

Offset: 0x38, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CCR2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR2
rw
Toggle fields

CCR2

Bits 0-31: Capture/compare 2 value If channel CC2 is configured as output: CCR2 is the value to be loaded in the actual capture/compare 2 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR2 register (bit OC2PE). Else the preload value is copied in the active capture/compare 2 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on tim_oc2 output. Non-dithering mode (DITHEN = 0) The register holds the compare value. Dithering mode (DITHEN = 1) The register holds the integer part in CCR2[31:4]. The CCR2[3:0] bitfield contains the dithered part. If channel CC2 is configured as input: CCR2 is the counter value transferred by the last input capture 2 event (tim_ic2). The TIMx_CCR2 register is read-only and cannot be programmed. Non-dithering mode (DITHEN = 0) The register holds the capture value. Dithering mode (DITHEN = 1) The register holds the capture in CCR2[31:0]. The CCR2[3:0] bits are reset..

Allowed values: 0x0-0xffffffff

CCR3

TIM2 capture/compare register 3

Offset: 0x3c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CCR3
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR3
rw
Toggle fields

CCR3

Bits 0-31: Capture/compare 3 value If channel CC3 is configured as output: CCR3 is the value to be loaded in the actual capture/compare 3 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR3 register (bit OC3PE). Else the preload value is copied in the active capture/compare 3 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on tim_oc3 output. Non-dithering mode (DITHEN = 0) The register holds the compare value. Dithering mode (DITHEN = 1) The register holds the integer part in CCR3[31:4]. The CCR3[3:0] bitfield contains the dithered part. If channel CC3 is configured as input: CCR3 is the counter value transferred by the last input capture 3 event (tim_ic3). The TIMx_CCR3 register is read-only and cannot be programmed. Non-dithering mode (DITHEN = 0) The register holds the capture value. Dithering mode (DITHEN = 1) The register holds the capture in CCR3[31:0]. The CCR3[3:0] bits are reset..

Allowed values: 0x0-0xffffffff

CCR4

TIM2 capture/compare register 4

Offset: 0x40, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CCR4
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR4
rw
Toggle fields

CCR4

Bits 0-31: Capture/compare 4 value If channel CC4 is configured as output: CCR4 is the value to be loaded in the actual capture/compare 4 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR4 register (bit OC4PE). Else the preload value is copied in the active capture/compare 4 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on tim_oc4 output. Non-dithering mode (DITHEN = 0) The register holds the compare value. Dithering mode (DITHEN = 1) The register holds the integer part in CCR4[31:4]. The CCR4[3:0] bitfield contains the dithered part. If channel CC4 is configured as input: CCR4 is the counter value transferred by the last input capture 4 event (tim_ic4). The TIMx_CCR4 register is read-only and cannot be programmed. Non-dithering mode (DITHEN = 0) The register holds the capture value. Dithering mode (DITHEN = 1) The register holds the capture in CCR4[31:0]. The CCR4[3:0] bits are reset..

Allowed values: 0x0-0xffffffff

ECR

TIM2 timer encoder control register

Offset: 0x58, size: 32, reset: 0x00000000, access: Unspecified

0/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PWPRSC
rw
PW
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IPOS
rw
FIDX
rw
IBLK
rw
IDIR
rw
IE
rw
Toggle fields

IE

Bit 0: Index enable This bit indicates if the Index event resets the counter..

IDIR

Bits 1-2: Index direction This bit indicates in which direction the Index event resets the counter. Note: The IDR[1:0] bitfield must be written when IE bit is reset (index disabled)..

IBLK

Bits 3-4: Index blanking This bit indicates if the Index event is conditioned by the tim_ti3 input.

FIDX

Bit 5: First index This bit indicates if the first index only is taken into account.

IPOS

Bits 6-7: Index positioning In quadrature encoder mode (SMS[3:0] = 0001, 0010, 0011, 1110, 1111), this bit indicates in which AB input configuration the Index event resets the counter. In directional clock mode or clock plus direction mode (SMS[3:0] = 1010, 1011, 1100, 1101), these bits indicates on which level the Index event resets the counter. In bidirectional clock mode, this applies for both clock inputs. x0: Index resets the counter when clock is 0 x1: Index resets the counter when clock is 1 Note: IPOS[1] bit is not significant.

PW

Bits 16-23: Pulse width This bitfield defines the pulse duration, as following: tPW = PW[7:0] x tPWG.

PWPRSC

Bits 24-26: Pulse width prescaler This bitfield sets the clock prescaler for the pulse generator, as following: tPWG = (2(PWPRSC[2:0])) x ttim_ker_ck.

TISEL

TIM2 timer input selection register

Offset: 0x5c, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TI4SEL
rw
TI3SEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TI2SEL
rw
TI1SEL
rw
Toggle fields

TI1SEL

Bits 0-3: Selects tim_ti1[0..15] input ... Refer to for product specific implementation..

Allowed values:
0: Selected: TIM1_CHx input selected

TI2SEL

Bits 8-11: Selects tim_ti2[0..15] input ... Refer to for product specific implementation..

Allowed values:
0: Selected: TIM1_CHx input selected

TI3SEL

Bits 16-19: Selects tim_ti3[0..15] input ... Refer to for product specific implementation..

Allowed values:
0: Selected: TIM1_CHx input selected

TI4SEL

Bits 24-27: Selects tim_ti4[0..15] input ... Refer to for product specific implementation..

Allowed values:
0: Selected: TIM1_CHx input selected

AF1

TIM2 alternate function register 1

Offset: 0x60, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ETRSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ETRSEL
rw
Toggle fields

ETRSEL

Bits 14-17: etr_in source selection These bits select the etr_in input source. ... Refer to for product specific implementation..

Allowed values:
0: Legacy: ETR legacy mode
1: COMP1: COMP1 output
2: COMP2: COMP2 output

AF2

TIM2 alternate function register 2

Offset: 0x64, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OCRSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

OCRSEL

Bits 16-18: ocref_clr source selection These bits select the ocref_clr input source. ... Refer to for product specific implementation..

Allowed values: 0x0-0x7

DCR

TIM2 DMA control register

Offset: 0x3dc, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DBSS
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBL
rw
DBA
rw
Toggle fields

DBA

Bits 0-4: DMA base address This 5-bits vector defines the base-address for DMA transfers (when read/write access are done through the TIMx_DMAR address). DBA is defined as an offset starting from the address of the TIMx_CR1 register. Example: ....

Allowed values: 0x0-0x1f

DBL

Bits 8-12: DMA burst length This 5-bit vector defines the length of DMA transfers (the timer recognizes a burst transfer when a read or a write access is done to the TIMx_DMAR address), i.e. the number of transfers. Transfers can be in half-words or in bytes (see example below). ... Example: Let us consider the following transfer: DBL = 7 bytes & DBA = TIM2_CR1. If DBL = 7 bytes and DBA = TIM2_CR1 represents the address of the byte to be transferred, the address of the transfer should be given by the following equation: (TIMx_CR1 address) + DBA + (DMA index), where DMA index = DBL In this example, 7 bytes are added to (TIMx_CR1 address) + DBA, which gives us the address from/to which the data are copied. In this case, the transfer is done to 7 registers starting from the following address: (TIMx_CR1 address) + DBA According to the configuration of the DMA Data Size, several cases may occur: If the DMA Data Size is configured in half-words, 16-bit data are transferred to each of the 7 registers. If the DMA Data Size is configured in bytes, the data are also transferred to 7 registers: the first register contains the first MSB byte, the second register, the first LSB byte and so on. So with the transfer Timer, one also has to specify the size of data transferred by DMA..

Allowed values: 0x0-0x12

DBSS

Bits 16-19: DMA burst source selection This bitfield defines the interrupt source that triggers the DMA burst transfers (the timer recognizes a burst transfer when a read or a write access is done to the TIMx_DMAR address). Others: reserved.

Allowed values: 0x0-0x7

DMAR

TIM2 DMA address for full transfer

Offset: 0x3e0, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DMAB
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DMAB
rw
Toggle fields

DMAB

Bits 0-31: DMA register for burst accesses A read or write operation to the DMAR register accesses the register located at the address (TIMx_CR1 address) + (DBA + DMA index) x 4 where TIMx_CR1 address is the address of the control register 1, DBA is the DMA base address configured in TIMx_DCR register, DMA index is automatically controlled by the DMA transfer, and ranges from 0 to DBL (DBL configured in TIMx_DCR)..

TIM3

0x40000400: General-purpose timers

104/145 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 (16-bit) CR1
0x4 CR2
0x8 SMCR
0xc DIER
0x10 SR
0x14 (16-bit) EGR
0x18 CCMR1_Input
0x18 CCMR1_Output
0x1c CCMR2_Input
0x1c CCMR2_Output
0x20 (16-bit) CCER
0x24 CNT
0x28 (16-bit) PSC
0x2c ARR
0x34 CCR1
0x38 CCR2
0x3c CCR3
0x40 CCR4
0x58 ECR
0x5c TISEL
0x60 AF1
0x64 AF2
0x3dc DCR
0x3e0 DMAR
Toggle registers

CR1

TIM3 control register 1

Offset: 0x0, size: 16, reset: 0x00000000, access: Unspecified

10/10 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DITHEN
rw
UIFREMAP
rw
CKD
rw
ARPE
rw
CMS
rw
DIR
rw
OPM
rw
URS
rw
UDIS
rw
CEN
rw
Toggle fields

CEN

Bit 0: Counter enable Note: External clock, gated mode and encoder mode can work only if the CEN bit has been previously set by software. However trigger mode can set the CEN bit automatically by hardware. CEN is cleared automatically in one-pulse mode, when an update event occurs..

Allowed values:
0: Disabled: Counter disabled
1: Enabled: Counter enabled

UDIS

Bit 1: Update disable This bit is set and cleared by software to enable/disable UEV event generation. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller Buffered registers are then loaded with their preload values..

Allowed values:
0: Enabled: Update event enabled
1: Disabled: Update event disabled

URS

Bit 2: Update request source This bit is set and cleared by software to select the UEV event sources. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller.

Allowed values:
0: AnyEvent: Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request
1: CounterOnly: Only counter overflow/underflow generates an update interrupt or DMA request

OPM

Bit 3: One-pulse mode.

Allowed values:
0: Disabled: Counter is not stopped at update event
1: Enabled: Counter stops counting at the next update event (clearing the CEN bit)

DIR

Bit 4: Direction Note: This bit is read only when the timer is configured in Center-aligned mode or Encoder mode..

Allowed values:
0: Up: Counter used as upcounter
1: Down: Counter used as downcounter

CMS

Bits 5-6: Center-aligned mode selection Note: It is not allowed to switch from edge-aligned mode to center-aligned mode as long as the counter is enabled (CEN=1).

Allowed values:
0: EdgeAligned: The counter counts up or down depending on the direction bit
1: CenterAligned1: The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting down.
2: CenterAligned2: The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting up.
3: CenterAligned3: The counter counts up and down alternatively. Output compare interrupt flags are set both when the counter is counting up or down.

ARPE

Bit 7: Auto-reload preload enable.

Allowed values:
0: Disabled: TIMx_APRR register is not buffered
1: Enabled: TIMx_APRR register is buffered

CKD

Bits 8-9: Clock division This bit-field indicates the division ratio between the timer clock (tim_ker_ck) frequency and sampling clock used by the digital filters (tim_etr_in, tim_tix),.

Allowed values:
0: Div1: t_DTS = t_CK_INT
1: Div2: t_DTS = 2 × t_CK_INT
2: Div4: t_DTS = 4 × t_CK_INT

UIFREMAP

Bit 11: UIF status bit remapping.

Allowed values:
0: Disabled: No remapping. UIF status bit is not copied to TIMx_CNT register bit 31
1: Enabled: Remapping enabled. UIF status bit is copied to TIMx_CNT register bit 31

DITHEN

Bit 12: Dithering Enable Note: The DITHEN bit can only be modified when CEN bit is reset..

Allowed values:
0: Disabled: Dithering disabled
1: Enabled: Dithering enabled

CR2

TIM3 control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
MMS_H
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TI1S
rw
MMS_L
rw
CCDS
rw
Toggle fields

CCDS

Bit 3: Capture/compare DMA selection.

Allowed values:
0: OnCompare: CCx DMA request sent when CCx event occurs
1: OnUpdate: CCx DMA request sent when update event occurs

MMS_L

Bits 4-6: Master mode selection These bits allow to select the information to be sent in master mode to slave timers for synchronization (tim_trgo). The combination is as follows: tim_trgo, except if the master/slave mode is selected (see the MSM bit description in TIMx_SMCR register). Others: Reserved Note: The clock of the slave timer or ADC must be enabled prior to receive events from the master timer, and must not be changed on-the-fly while triggers are received from the master timer..

Allowed values: 0x0-0x7

TI1S

Bit 7: tim_ti1 selection.

Allowed values:
0: Normal: The TIMx_CH1 pin is connected to TI1 input
1: XOR: The TIMx_CH1, CH2, CH3 pins are connected to TI1 input

MMS_H

Bit 25: Master mode selection These bits allow to select the information to be sent in master mode to slave timers for synchronization (tim_trgo). The combination is as follows: tim_trgo, except if the master/slave mode is selected (see the MSM bit description in TIMx_SMCR register). Others: Reserved Note: The clock of the slave timer or ADC must be enabled prior to receive events from the master timer, and must not be changed on-the-fly while triggers are received from the master timer..

Allowed values: 0x0-0x1

SMCR

TIM3 slave mode control register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

11/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
SMSPS
rw
SMSPE
rw
TS_H
rw
SMS_H
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ETP
rw
ECE
rw
ETPS
rw
ETF
rw
MSM
rw
TS_L
rw
OCCS
rw
SMS_L
rw
Toggle fields

SMS_L

Bits 0-2: Slave mode selection When external signals are selected the active edge of the trigger signal (tim_trgi) is linked to the polarity selected on the external input (see Input Control register and Control Register description. Note: The gated mode must not be used if tim_ti1f_ed is selected as the trigger input (TS=00100). Indeed, tim_ti1f_ed outputs 1 pulse for each transition on tim_ti1f, whereas the gated mode checks the level of the trigger signal. Note: The clock of the slave peripherals (timer, ADC, ...) receiving the tim_trgo signal must be enabled prior to receive events from the master timer, and the clock frequency (prescaler) must not be changed on-the-fly while triggers are received from the master timer..

Allowed values: 0x0-0x7

OCCS

Bit 3: OCREF clear selection This bit is used to select the OCREF clear source Note: If the OCREF clear selection feature is not supported, this bit is reserved and forced by hardware to ‘0’. ..

TS_L

Bits 4-6: Trigger selection This bit-field selects the trigger input to be used to synchronize the counter. Others: Reserved See for product specific implementation details. Note: These bits must be changed only when they are not used (e.g. when SMS=000) to avoid wrong edge detections at the transition..

Allowed values: 0x0-0x7

MSM

Bit 7: Master/Slave mode.

Allowed values:
0: NoSync: No action
1: Sync: The effect of an event on the trigger input (TRGI) is delayed to allow a perfect synchronization between the current timer and its slaves (through TRGO). It is useful if we want to synchronize several timers on a single external event.

ETF

Bits 8-11: External trigger filter This bit-field then defines the frequency used to sample tim_etrp signal and the length of the digital filter applied to tim_etrp. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output:.

Allowed values:
0: NoFilter: No filter, sampling is done at fDTS
1: FCK_INT_N2: fSAMPLING=fCK_INT, N=2
2: FCK_INT_N4: fSAMPLING=fCK_INT, N=4
3: FCK_INT_N8: fSAMPLING=fCK_INT, N=8
4: FDTS_Div2_N6: fSAMPLING=fDTS/2, N=6
5: FDTS_Div2_N8: fSAMPLING=fDTS/2, N=8
6: FDTS_Div4_N6: fSAMPLING=fDTS/4, N=6
7: FDTS_Div4_N8: fSAMPLING=fDTS/4, N=8
8: FDTS_Div8_N6: fSAMPLING=fDTS/8, N=6
9: FDTS_Div8_N8: fSAMPLING=fDTS/8, N=8
10: FDTS_Div16_N5: fSAMPLING=fDTS/16, N=5
11: FDTS_Div16_N6: fSAMPLING=fDTS/16, N=6
12: FDTS_Div16_N8: fSAMPLING=fDTS/16, N=8
13: FDTS_Div32_N5: fSAMPLING=fDTS/32, N=5
14: FDTS_Div32_N6: fSAMPLING=fDTS/32, N=6
15: FDTS_Div32_N8: fSAMPLING=fDTS/32, N=8

ETPS

Bits 12-13: External trigger prescaler External trigger signal tim_etrp frequency must be at most 1/4 of tim_ker_ck frequency. A prescaler can be enabled to reduce tim_etrp frequency. It is useful when inputting fast external clocks on tim_etr_in..

Allowed values:
0: Div1: Prescaler OFF
1: Div2: ETRP frequency divided by 2
2: Div4: ETRP frequency divided by 4
3: Div8: ETRP frequency divided by 8

ECE

Bit 14: External clock enable This bit enables External clock mode 2. Note: Setting the ECE bit has the same effect as selecting external clock mode 1 with tim_trgi connected to tim_etrf (SMS=111 and TS=00111). It is possible to simultaneously use external clock mode 2 with the following slave modes: reset mode, gated mode and trigger mode. Nevertheless, tim_trgi must not be connected to tim_etrf in this case (TS bits must not be 00111). If external clock mode 1 and external clock mode 2 are enabled at the same time, the external clock input is tim_etrf..

Allowed values:
0: Disabled: External clock mode 2 disabled
1: Enabled: External clock mode 2 enabled. The counter is clocked by any active edge on the ETRF signal.

ETP

Bit 15: External trigger polarity This bit selects whether tim_etr_in or tim_etr_in is used for trigger operations.

Allowed values:
0: NotInverted: ETR is noninverted, active at high level or rising edge
1: Inverted: ETR is inverted, active at low level or falling edge

SMS_H

Bit 16: Slave mode selection When external signals are selected the active edge of the trigger signal (tim_trgi) is linked to the polarity selected on the external input (see Input Control register and Control Register description. Note: The gated mode must not be used if tim_ti1f_ed is selected as the trigger input (TS=00100). Indeed, tim_ti1f_ed outputs 1 pulse for each transition on tim_ti1f, whereas the gated mode checks the level of the trigger signal. Note: The clock of the slave peripherals (timer, ADC, ...) receiving the tim_trgo signal must be enabled prior to receive events from the master timer, and the clock frequency (prescaler) must not be changed on-the-fly while triggers are received from the master timer..

Allowed values: 0x0-0x1

TS_H

Bits 20-21: Trigger selection This bit-field selects the trigger input to be used to synchronize the counter. Others: Reserved See for product specific implementation details. Note: These bits must be changed only when they are not used (e.g. when SMS=000) to avoid wrong edge detections at the transition..

Allowed values: 0x0-0x3

SMSPE

Bit 24: SMS preload enable This bit selects whether the SMS[3:0] bitfield is preloaded.

Allowed values:
0: NotPreloaded: SMSM[3:0] is not preloaded
1: PreloadEnabled: SMSM[3:0] is preload is enabled

SMSPS

Bit 25: SMS preload source This bit selects whether the events that triggers the SMS[3:0] bitfield transfer from preload to active.

Allowed values:
0: Update: SMSM[3:0] is preloaded from Update event
1: Index: SMSM[3:0] is preloaded from Index event

DIER

TIM3 DMA/Interrupt enable register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

16/16 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TERRIE
rw
IERRIE
rw
DIRIE
rw
IDXIE
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDE
rw
CC4DE
rw
CC3DE
rw
CC2DE
rw
CC1DE
rw
UDE
rw
TIE
rw
CC4IE
rw
CC3IE
rw
CC2IE
rw
CC1IE
rw
UIE
rw
Toggle fields

UIE

Bit 0: Update interrupt enable.

Allowed values:
0: Disabled: Update interrupt disabled
1: Enabled: Update interrupt enabled

CC1IE

Bit 1: Capture/Compare 1 interrupt enable.

Allowed values:
0: Disabled: CCx interrupt disabled
1: Enabled: CCx interrupt enabled

CC2IE

Bit 2: Capture/Compare 2 interrupt enable.

Allowed values:
0: Disabled: CCx interrupt disabled
1: Enabled: CCx interrupt enabled

CC3IE

Bit 3: Capture/Compare 3 interrupt enable.

Allowed values:
0: Disabled: CCx interrupt disabled
1: Enabled: CCx interrupt enabled

CC4IE

Bit 4: Capture/Compare 4 interrupt enable.

Allowed values:
0: Disabled: CCx interrupt disabled
1: Enabled: CCx interrupt enabled

TIE

Bit 6: Trigger interrupt enable.

Allowed values:
0: Disabled: Trigger interrupt disabled
1: Enabled: Trigger interrupt enabled

UDE

Bit 8: Update DMA request enable.

Allowed values:
0: Disabled: Update DMA request disabled
1: Enabled: Update DMA request enabled

CC1DE

Bit 9: Capture/Compare 1 DMA request enable.

Allowed values:
0: Disabled: CCx DMA request disabled
1: Enabled: CCx DMA request enabled

CC2DE

Bit 10: Capture/Compare 2 DMA request enable.

Allowed values:
0: Disabled: CCx DMA request disabled
1: Enabled: CCx DMA request enabled

CC3DE

Bit 11: Capture/Compare 3 DMA request enable.

Allowed values:
0: Disabled: CCx DMA request disabled
1: Enabled: CCx DMA request enabled

CC4DE

Bit 12: Capture/Compare 4 DMA request enable.

Allowed values:
0: Disabled: CCx DMA request disabled
1: Enabled: CCx DMA request enabled

TDE

Bit 14: Trigger DMA request enable.

Allowed values:
0: Disabled: Trigger DMA request disabled
1: Enabled: Trigger DMA request enabled

IDXIE

Bit 20: Index interrupt enable.

Allowed values:
0: Disabled: Index change interrupt disabled
1: Enabled: Index change interrupt enabled

DIRIE

Bit 21: Direction change interrupt enable.

Allowed values:
0: Disabled: Direction change interrupt disabled
1: Enabled: Direction change interrupt enabled

IERRIE

Bit 22: Index error interrupt enable.

Allowed values:
0: Disabled: Index error interrupt disabled
1: Enabled: Index error interrupt enabled

TERRIE

Bit 23: Transition error interrupt enable.

Allowed values:
0: Disabled: Transition error interrupt disabled
1: Enabled: Transition error interrupt enabled

SR

TIM3 status register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

14/14 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TERRF
rw
IERRF
rw
DIRF
rw
IDXF
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC4OF
rw
CC3OF
rw
CC2OF
rw
CC1OF
rw
TIF
rw
CC4IF
rw
CC3IF
rw
CC2IF
rw
CC1IF
rw
UIF
rw
Toggle fields

UIF

Bit 0: Update interrupt flag This bit is set by hardware on an update event. It is cleared by software. At overflow or underflow and if UDIS=0 in the TIMx_CR1 register. When CNT is reinitialized by software using the UG bit in TIMx_EGR register, if URS=0 and UDIS=0 in the TIMx_CR1 register. When CNT is reinitialized by a trigger event (refer to the synchro control register description), if URS=0 and UDIS=0 in the TIMx_CR1 register..

Allowed values:
0: NoUpdateOccurred: No update occurred
1: UpdatePending: Update interrupt pending

CC1IF

Bit 1: Capture/compare 1 interrupt flag This flag is set by hardware. It is cleared by software (input capture or output compare mode) or by reading the TIMx_CCR1 register (input capture mode only). If channel CC1 is configured as output: this flag is set when the content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. When the content of TIMx_CCR1 is greater than the content of TIMx_ARR, the CC1IF bit goes high on the counter overflow (in up-counting and up/down-counting modes) or underflow (in downcounting mode). There are 3 possible options for flag setting in center-aligned mode, refer to the CMS bits in the TIMx_CR1 register for the full description. If channel CC1 is configured as input: this bit is set when counter value has been captured in TIMx_CCR1 register (an edge has been detected on IC1, as per the edge sensitivity defined with the CC1P and CC1NP bits setting, in TIMx_CCER)..

Allowed values:
1: Match: If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.

CC2IF

Bit 2: Capture/Compare 2 interrupt flag Refer to CC1IF description.

Allowed values:
1: Match: If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.

CC3IF

Bit 3: Capture/Compare 3 interrupt flag Refer to CC1IF description.

Allowed values:
1: Match: If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.

CC4IF

Bit 4: Capture/Compare 4 interrupt flag Refer to CC1IF description.

Allowed values:
1: Match: If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.

TIF

Bit 6: Trigger interrupt flag This flag is set by hardware on the TRG trigger event (active edge detected on tim_trgi input when the slave mode controller is enabled in all modes but gated mode. It is set when the counter starts or stops when gated mode is selected. It is cleared by software..

Allowed values:
0: NoTrigger: No trigger event occurred
1: Trigger: Trigger interrupt pending

CC1OF

Bit 9: Capture/Compare 1 overcapture flag This flag is set by hardware only when the corresponding channel is configured in input capture mode. It is cleared by software by writing it to ‘0’..

Allowed values:
1: Overcapture: The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set

CC2OF

Bit 10: Capture/compare 2 overcapture flag refer to CC1OF description.

Allowed values:
1: Overcapture: The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set

CC3OF

Bit 11: Capture/Compare 3 overcapture flag refer to CC1OF description.

Allowed values:
1: Overcapture: The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set

CC4OF

Bit 12: Capture/Compare 4 overcapture flag refer to CC1OF description.

Allowed values:
1: Overcapture: The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set

IDXF

Bit 20: Index interrupt flag This flag is set by hardware when an index event is detected. It is cleared by software by writing it to ‘0’..

Allowed values:
0: NoTrigger: No index event occurred
1: Trigger: An index event has occurred

DIRF

Bit 21: Direction change interrupt flag This flag is set by hardware when the direction changes in encoder mode (DIR bit value in TIMx_CR is changing). It is cleared by software by writing it to ‘0’..

Allowed values:
0: NoTrigger: No direction change has been detected
1: Trigger: A direction change has been detected

IERRF

Bit 22: Index error interrupt flag This flag is set by hardware when an index error is detected. It is cleared by software by writing it to ‘0’..

Allowed values:
0: NoTrigger: No index error has been detected
1: Trigger: An index erorr has been detected

TERRF

Bit 23: Transition error interrupt flag This flag is set by hardware when a transition error is detected in encoder mode. It is cleared by software by writing it to ‘0’..

Allowed values:
0: NoTrigger: No encoder transition error has been detected
1: Trigger: An encoder transition error has been detected

EGR

TIM3 event generation register

Offset: 0x14, size: 16, reset: 0x00000000, access: Unspecified

6/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TG
w
CC4G
w
CC3G
w
CC2G
w
CC1G
w
UG
w
Toggle fields

UG

Bit 0: Update generation This bit can be set by software, it is automatically cleared by hardware..

Allowed values:
1: Update: Re-initializes the timer counter and generates an update of the registers.

CC1G

Bit 1: Capture/compare 1 generation This bit is set by software in order to generate an event, it is automatically cleared by hardware. If channel CC1 is configured as output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If channel CC1 is configured as input: The current value of the counter is captured in TIMx_CCR1 register. The CC1IF flag is set, the corresponding interrupt or DMA request is sent if enabled. The CC1OF flag is set if the CC1IF flag was already high..

Allowed values:
1: Trigger: If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.

CC2G

Bit 2: Capture/compare 2 generation Refer to CC1G description.

Allowed values:
1: Trigger: If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.

CC3G

Bit 3: Capture/compare 3 generation Refer to CC1G description.

Allowed values:
1: Trigger: If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.

CC4G

Bit 4: Capture/compare 4 generation Refer to CC1G description.

Allowed values:
1: Trigger: If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.

TG

Bit 6: Trigger generation This bit is set by software in order to generate an event, it is automatically cleared by hardware..

Allowed values:
1: Trigger: The TIF flag is set in TIMx_SR register. Related interrupt or DMA transfer can occur if enabled.

CCMR1_Input

TIM3 capture/compare mode register 1 [alternate]

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

4/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC2F
rw
IC2PSC
rw
CC2S
rw
IC1F
rw
IC1PSC
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/Compare 1 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC1S bits are writable only when the channel is OFF (CC1E = 0 in TIMx_CCER)..

Allowed values:
1: TI1: CC1 channel is configured as input, IC1 is mapped on TI1
2: TI2: CC1 channel is configured as input, IC1 is mapped on TI2
3: TRC: CC1 channel is configured as input, IC1 is mapped on TRC

IC1PSC

Bits 2-3: Input capture 1 prescaler This bit-field defines the ratio of the prescaler acting on CC1 input (tim_ic1). The prescaler is reset as soon as CC1E=0 (TIMx_CCER register)..

IC1F

Bits 4-7: Input capture 1 filter This bit-field defines the frequency used to sample tim_ti1 input and the length of the digital filter applied to tim_ti1. The digital filter is made of an event counter in which N consecutive events are needed to validate a transition on the output:.

Allowed values:
0: NoFilter: No filter, sampling is done at fDTS
1: FCK_INT_N2: fSAMPLING=fCK_INT, N=2
2: FCK_INT_N4: fSAMPLING=fCK_INT, N=4
3: FCK_INT_N8: fSAMPLING=fCK_INT, N=8
4: FDTS_Div2_N6: fSAMPLING=fDTS/2, N=6
5: FDTS_Div2_N8: fSAMPLING=fDTS/2, N=8
6: FDTS_Div4_N6: fSAMPLING=fDTS/4, N=6
7: FDTS_Div4_N8: fSAMPLING=fDTS/4, N=8
8: FDTS_Div8_N6: fSAMPLING=fDTS/8, N=6
9: FDTS_Div8_N8: fSAMPLING=fDTS/8, N=8
10: FDTS_Div16_N5: fSAMPLING=fDTS/16, N=5
11: FDTS_Div16_N6: fSAMPLING=fDTS/16, N=6
12: FDTS_Div16_N8: fSAMPLING=fDTS/16, N=8
13: FDTS_Div32_N5: fSAMPLING=fDTS/32, N=5
14: FDTS_Div32_N6: fSAMPLING=fDTS/32, N=6
15: FDTS_Div32_N8: fSAMPLING=fDTS/32, N=8

CC2S

Bits 8-9: Capture/compare 2 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC2S bits are writable only when the channel is OFF (CC2E = 0 in TIMx_CCER)..

Allowed values:
1: TI2: CC2 channel is configured as input, IC2 is mapped on TI2
2: TI1: CC2 channel is configured as input, IC2 is mapped on TI1
3: TRC: CC2 channel is configured as input, IC2 is mapped on TRC

IC2PSC

Bits 10-11: Input capture 2 prescaler.

IC2F

Bits 12-15: Input capture 2 filter.

Allowed values: 0x0-0xf

CCMR1_Output

TIM3 capture/compare mode register 1 [alternate]

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

8/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OC2M_3
rw
OC1M_3
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC2CE
rw
OC2M
rw
OC2PE
rw
OC2FE
rw
CC2S
rw
OC1CE
rw
OC1M
rw
OC1PE
rw
OC1FE
rw
CC1S
rw
Toggle fields

CC1S

Bits 0-1: Capture/Compare 1 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC1S bits are writable only when the channel is OFF (CC1E = 0 in TIMx_CCER)..

Allowed values:
0: Output: CC1 channel is configured as output

OC1FE

Bit 2: Output compare 1 fast enable This bit decreases the latency between a trigger event and a transition on the timer output. It must be used in one-pulse mode (OPM bit set in TIMx_CR1 register), to have the output pulse starting as soon as possible after the starting trigger..

OC1PE

Bit 3: Output compare 1 preload enable.

Allowed values:
0: Disabled: Preload register on CCR1 disabled. New values written to CCR1 are taken into account immediately
1: Enabled: Preload register on CCR1 enabled. Preload value is loaded into active register on each update event

OC1M

Bits 4-6: Output compare 1 mode These bits define the behavior of the output reference signal tim_oc1ref from which tim_oc1 is derived. tim_oc1ref is active high whereas tim_oc1 active level depends on CC1P bit. Note: In PWM mode, the tim_ocref_clr level changes only when the result of the comparison changes or when the output compare mode switches from “frozen” mode to “PWM” mode..

Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1

OC1CE

Bit 7: Output compare 1 clear enable.

CC2S

Bits 8-9: Capture/Compare 2 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC2S bits are writable only when the channel is OFF (CC2E = 0 in TIMx_CCER)..

Allowed values:
0: Output: CC2 channel is configured as output

OC2FE

Bit 10: Output compare 2 fast enable.

OC2PE

Bit 11: Output compare 2 preload enable.

Allowed values:
0: Disabled: Preload register on CCR2 disabled. New values written to CCR2 are taken into account immediately
1: Enabled: Preload register on CCR2 enabled. Preload value is loaded into active register on each update event

OC2M

Bits 12-14: Output compare 2 mode refer to OC1M description on bits 6:4.

Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1

OC2CE

Bit 15: Output compare 2 clear enable.

OC1M_3

Bit 16: Output compare 1 mode These bits define the behavior of the output reference signal tim_oc1ref from which tim_oc1 is derived. tim_oc1ref is active high whereas tim_oc1 active level depends on CC1P bit. Note: In PWM mode, the tim_ocref_clr level changes only when the result of the comparison changes or when the output compare mode switches from “frozen” mode to “PWM” mode..

Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)

OC2M_3

Bit 24: Output compare 2 mode refer to OC1M description on bits 6:4.

Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)

CCMR2_Input

TIM3 capture/compare mode register 2 [alternate]

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

6/6 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IC4F
rw
IC4PSC
rw
CC4S
rw
IC3F
rw
IC3PSC
rw
CC3S
rw
Toggle fields

CC3S

Bits 0-1: Capture/Compare 3 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC3S bits are writable only when the channel is OFF (CC3E = 0 in TIMx_CCER)..

Allowed values:
1: TI3: CC3 channel is configured as input, IC3 is mapped on TI3
2: TI4: CC3 channel is configured as input, IC3 is mapped on TI4
3: TRC: CC3 channel is configured as input, IC3 is mapped on TRC

IC3PSC

Bits 2-3: Input capture 3 prescaler.

Allowed values: 0x0-0x3

IC3F

Bits 4-7: Input capture 3 filter.

Allowed values: 0x0-0xf

CC4S

Bits 8-9: Capture/Compare 4 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC4S bits are writable only when the channel is OFF (CC4E = 0 in TIMx_CCER)..

Allowed values:
1: TI4: CC4 channel is configured as input, IC4 is mapped on TI4
2: TI3: CC4 channel is configured as input, IC4 is mapped on TI3
3: TRC: CC4 channel is configured as input, IC4 is mapped on TRC

IC4PSC

Bits 10-11: Input capture 4 prescaler.

Allowed values: 0x0-0x3

IC4F

Bits 12-15: Input capture 4 filter.

Allowed values: 0x0-0xf

CCMR2_Output

TIM3 capture/compare mode register 2 [alternate]

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

8/12 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OC4M_3
rw
OC3M_3
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC4CE
rw
OC4M
rw
OC4PE
rw
OC4FE
rw
CC4S
rw
OC3CE
rw
OC3M
rw
OC3PE
rw
OC3FE
rw
CC3S
rw
Toggle fields

CC3S

Bits 0-1: Capture/Compare 3 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC3S bits are writable only when the channel is OFF (CC3E = 0 in TIMx_CCER)..

Allowed values:
0: Output: CC3 channel is configured as output

OC3FE

Bit 2: Output compare 3 fast enable.

OC3PE

Bit 3: Output compare 3 preload enable.

Allowed values:
0: Disabled: Preload register on CCR3 disabled. New values written to CCR3 are taken into account immediately
1: Enabled: Preload register on CCR3 enabled. Preload value is loaded into active register on each update event

OC3M

Bits 4-6: Output compare 3 mode Refer to OC1M description (bits 6:4 in TIMx_CCMR1 register).

Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1

OC3CE

Bit 7: Output compare 3 clear enable.

CC4S

Bits 8-9: Capture/Compare 4 selection This bit-field defines the direction of the channel (input/output) as well as the used input. Note: CC4S bits are writable only when the channel is OFF (CC4E = 0 in TIMx_CCER)..

Allowed values:
0: Output: CC4 channel is configured as output

OC4FE

Bit 10: Output compare 4 fast enable.

OC4PE

Bit 11: Output compare 4 preload enable.

Allowed values:
0: Disabled: Preload register on CCR4 disabled. New values written to CCR4 are taken into account immediately
1: Enabled: Preload register on CCR4 enabled. Preload value is loaded into active register on each update event

OC4M

Bits 12-14: Output compare 4 mode Refer to OC1M description (bits 6:4 in TIMx_CCMR1 register).

Allowed values:
0: Frozen: The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive
1: ActiveOnMatch: Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1
2: InactiveOnMatch: Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved
3: Toggle: OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved
4: ForceInactive: OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF
5: ForceActive: OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF
6: PwmMode1: In upcounting, channel is active as long as TIMx_CNT<TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT>TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down
7: PwmMode2: Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1

OC4CE

Bit 15: Output compare 4 clear enable.

OC3M_3

Bit 16: Output compare 3 mode Refer to OC1M description (bits 6:4 in TIMx_CCMR1 register).

Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)

OC4M_3

Bit 24: Output compare 4 mode Refer to OC1M description (bits 6:4 in TIMx_CCMR1 register).

Allowed values:
0: Normal: Normal output compare mode (modes 0-7)
1: Extended: Extended output compare mode (modes 7-15)

CCER

TIM3 capture/compare enable register

Offset: 0x20, size: 16, reset: 0x00000000, access: Unspecified

0/12 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CC4NP
rw
CC4P
rw
CC4E
rw
CC3NP
rw
CC3P
rw
CC3E
rw
CC2NP
rw
CC2P
rw
CC2E
rw
CC1NP
rw
CC1P
rw
CC1E
rw
Toggle fields

CC1E

Bit 0: Capture/Compare 1 output enable..

CC1P

Bit 1: Capture/Compare 1 output Polarity. When CC1 channel is configured as input, both CC1NP/CC1P bits select the active polarity of TI1FP1 and TI2FP1 for trigger or capture operations. CC1NP=0, CC1P=0: non-inverted/rising edge. The circuit is sensitive to TIxFP1 rising edge (capture or trigger operations in reset, external clock or trigger mode), TIxFP1 is not inverted (trigger operation in gated mode or encoder mode). CC1NP=0, CC1P=1: inverted/falling edge. The circuit is sensitive to TIxFP1 falling edge (capture or trigger operations in reset, external clock or trigger mode), TIxFP1 is inverted (trigger operation in gated mode or encoder mode). CC1NP=1, CC1P=1: non-inverted/both edges. The circuit is sensitive to both TIxFP1 rising and falling edges (capture or trigger operations in reset, external clock or trigger mode), TIxFP1is not inverted (trigger operation in gated mode). This configuration must not be used in encoder mode. CC1NP=1, CC1P=0: this configuration is reserved, it must not be used..

CC1NP

Bit 3: Capture/Compare 1 output Polarity. CC1 channel configured as output: CC1NP must be kept cleared in this case. CC1 channel configured as input: This bit is used in conjunction with CC1P to define tim_ti1fp1/tim_ti2fp1 polarity. refer to CC1P description..

CC2E

Bit 4: Capture/Compare 2 output enable. Refer to CC1E description.

CC2P

Bit 5: Capture/Compare 2 output Polarity. refer to CC1P description.

CC2NP

Bit 7: Capture/Compare 2 output Polarity. Refer to CC1NP description.

CC3E

Bit 8: Capture/Compare 3 output enable. Refer to CC1E description.

CC3P

Bit 9: Capture/Compare 3 output Polarity. Refer to CC1P description.

CC3NP

Bit 11: Capture/Compare 3 output Polarity. Refer to CC1NP description.

CC4E

Bit 12: Capture/Compare 4 output enable. refer to CC1E description.

CC4P

Bit 13: Capture/Compare 4 output Polarity. Refer to CC1P description.

CC4NP

Bit 15: Capture/Compare 4 output Polarity. Refer to CC1NP description.

CNT

TIM3 counter

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UIFCPY
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNT
rw
Toggle fields

CNT

Bits 0-15: Counter value‘ Non-dithering mode (DITHEN = 0) The register holds the counter value. Dithering mode (DITHEN = 1) The register holds the non-dithered part in CNT[15:0]. The fractional part is not available..

Allowed values: 0x0-0xffff

UIFCPY

Bit 31: Value depends on IUFREMAP in TIMx_CR1. If UIFREMAP = 0 Reserved If UIFREMAP = 1 UIFCPY: UIF Copy This bit is a read-only copy of the UIF bit of the TIMx_ISR register.

Allowed values:
0: NoUpdateOccurred: No update occurred
1: UpdatePending: Update interrupt pending

PSC

TIM3 prescaler

Offset: 0x28, size: 16, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PSC
rw
Toggle fields

PSC

Bits 0-15: Prescaler value The counter clock frequency tim_cnt_ck is equal to ftim_psc_ck / (PSC[15:0] + 1). PSC contains the value to be loaded in the active prescaler register at each update event (including when the counter is cleared through UG bit of TIMx_EGR register or through trigger controller when configured in “reset mode”)..

Allowed values: 0x0-0xffff

ARR

TIM3 auto-reload register

Offset: 0x2c, size: 32, reset: 0xFFFFFFFF, access: Unspecified

1/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ARR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ARR
rw
Toggle fields

ARR

Bits 0-19: Low Auto-reload value ARR is the value to be loaded in the actual auto-reload register. Refer to the for more details about ARR update and behavior. The counter is blocked while the auto-reload value is null. Non-dithering mode (DITHEN = 0) The register holds the auto-reload value. Dithering mode (DITHEN = 1) The register holds the integer part in ARR[19:4]. The ARR[3:0] bitfield contains the dithered part..

Allowed values: 0x0-0xfffff

DITHER

Bits 0-3: Dithered part in dithering mode.

INTEGER

Bits 4-19: Integer part in dithering mode.

CCR1

TIM3 capture/compare register 1

Offset: 0x34, size: 32, reset: 0x00000000, access: Unspecified

1/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CCR1
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR1
rw
Toggle fields

CCR1

Bits 0-19: Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the actual capture/compare 1 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR1 register (bit OC1PE). Else the preload value is copied in the active capture/compare 1 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on tim_oc1 output. Non-dithering mode (DITHEN = 0) The register holds the compare value in CCR1[15:0]. The CCR1[19:16] bits are reset. Dithering mode (DITHEN = 1) The register holds the integer part in CCR1[19:4]. The CCR1[3:0] bitfield contains the dithered part. If channel CC1 is configured as input: CCR1 is the counter value transferred by the last input capture 1 event (tim_ic1). The TIMx_CCR1 register is read-only and cannot be programmed. Non-dithering mode (DITHEN = 0) The CCR1[15:0] bits hold the capture value. The CCR1[19:16] bits are reserved. Dithering mode (DITHEN = 1) The register holds the capture in CCR1[19:0]. The CCR1[3:0] bits are reset..

Allowed values: 0x0-0xfffff

DITHER

Bits 0-3: Dithered part in dithering mode.

INTEGER

Bits 4-19: Integer part in dithering mode.

CCR2

TIM3 capture/compare register 2

Offset: 0x38, size: 32, reset: 0x00000000, access: Unspecified

1/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CCR2
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR2
rw
Toggle fields

CCR2

Bits 0-19: Capture/compare 1 value If channel CC2 is configured as output: CCR2 is the value to be loaded in the actual capture/compare 2 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR2 register (bit OC2PE). Else the preload value is copied in the active capture/compare 2 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on tim_oc2 output. Non-dithering mode (DITHEN = 0) The register holds the compare value in CCR2[15:0]. The CCR2[19:16] bits are reset. Dithering mode (DITHEN = 1) The register holds the integer part in CCR2[19:4]. The CCR2[3:0] bitfield contains the dithered part. If channel CC2 is configured as input: CCR2 is the counter value transferred by the last input capture 2 event (tim_ic2). The TIMx_CCR2 register is read-only and cannot be programmed. Non-dithering mode (DITHEN = 0) The CCR2[15:0] bits hold the capture value. The CCR2[19:16] bits are reserved. Dithering mode (DITHEN = 1) The register holds the capture in CCR2[19:0]. The CCR2[3:0] bits are reset..

Allowed values: 0x0-0xfffff

DITHER

Bits 0-3: Dithered part in dithering mode.

INTEGER

Bits 4-19: Integer part in dithering mode.

CCR3

TIM3 capture/compare register 3

Offset: 0x3c, size: 32, reset: 0x00000000, access: Unspecified

1/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CCR3
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR3
rw
Toggle fields

CCR3

Bits 0-19: Capture/compare 3 value If channel CC3 is configured as output: CCR3 is the value to be loaded in the actual capture/compare 3 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR3 register (bit OC3PE). Else the preload value is copied in the active capture/compare 3 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on tim_oc3 output. Non-dithering mode (DITHEN = 0) The register holds the compare value in CCR3[15:0]. The CCR3[19:16] bits are reset. Dithering mode (DITHEN = 1) The register holds the integer part in CCR3[19:4]. The CCR3[3:0] bitfield contains the dithered part. If channel CC3 is configured as input: CCR3 is the counter value transferred by the last input capture 3 event (tim_ic3). The TIMx_CCR3 register is read-only and cannot be programmed. Non-dithering mode (DITHEN = 0) The CCR3[15:0] bits hold the capture value. The CCR3[19:16] bits are reserved. Dithering mode (DITHEN = 1) The register holds the capture in CCR3[19:0]. The CCR3[3:0] bits are reset..

Allowed values: 0x0-0xfffff

DITHER

Bits 0-3: Dithered part in dithering mode.

INTEGER

Bits 4-19: Integer part in dithering mode.

CCR4

TIM3 capture/compare register 4

Offset: 0x40, size: 32, reset: 0x00000000, access: Unspecified

1/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CCR4
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CCR4
rw
Toggle fields

CCR4

Bits 0-19: Capture/compare 4 value If channel CC4 is configured as output: CCR4 is the value to be loaded in the actual capture/compare 4 register (preload value). It is loaded permanently if the preload feature is not selected in the TIMx_CCMR4 register (bit OC4PE). Else the preload value is copied in the active capture/compare 4 register when an update event occurs. The active capture/compare register contains the value to be compared to the counter TIMx_CNT and signaled on tim_oc4 output. Non-dithering mode (DITHEN = 0) The register holds the compare value in CCR4[15:0]. The CCR4[19:16] bits are reset. Dithering mode (DITHEN = 1) The register holds the integer part in CCR4[19:4]. The CCR4[3:0] bitfield contains the dithered part. If channel CC4 is configured as input: CCR4 is the counter value transferred by the last input capture 4 event (tim_ic4). The TIMx_CCR4 register is read-only and cannot be programmed. Non-dithering mode (DITHEN = 0) The CCR4[15:0] bits hold the capture value. The CCR4[19:16] bits are reserved. Dithering mode (DITHEN = 1) The register holds the capture in CCR4[19:0]. The CCR4[3:0] bits are reset..

Allowed values: 0x0-0xfffff

DITHER

Bits 0-3: Dithered part in dithering mode.

INTEGER

Bits 4-19: Integer part in dithering mode.

ECR

TIM3 timer encoder control register

Offset: 0x58, size: 32, reset: 0x00000000, access: Unspecified

0/7 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
PWPRSC
rw
PW
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IPOS
rw
FIDX
rw
IBLK
rw
IDIR
rw
IE
rw
Toggle fields

IE

Bit 0: Index enable This bit indicates if the Index event resets the counter..

IDIR

Bits 1-2: Index direction This bit indicates in which direction the Index event resets the counter. Note: The IDR[1:0] bitfield must be written when IE bit is reset (index disabled)..

IBLK

Bits 3-4: Index blanking This bit indicates if the Index event is conditioned by the tim_ti3 input.

FIDX

Bit 5: First index This bit indicates if the first index only is taken into account.

IPOS

Bits 6-7: Index positioning In quadrature encoder mode (SMS[3:0] = 0001, 0010, 0011, 1110, 1111), this bit indicates in which AB input configuration the Index event resets the counter. In directional clock mode or clock plus direction mode (SMS[3:0] = 1010, 1011, 1100, 1101), these bits indicates on which level the Index event resets the counter. In bidirectional clock mode, this applies for both clock inputs. x0: Index resets the counter when clock is 0 x1: Index resets the counter when clock is 1 Note: IPOS[1] bit is not significant.

PW

Bits 16-23: Pulse width This bitfield defines the pulse duration, as following: tPW = PW[7:0] x tPWG.

PWPRSC

Bits 24-26: Pulse width prescaler This bitfield sets the clock prescaler for the pulse generator, as following: tPWG = (2(PWPRSC[2:0])) x ttim_ker_ck.

TISEL

TIM3 timer input selection register

Offset: 0x5c, size: 32, reset: 0x00000000, access: Unspecified

4/4 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TI4SEL
rw
TI3SEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TI2SEL
rw
TI1SEL
rw
Toggle fields

TI1SEL

Bits 0-3: Selects tim_ti1[0..15] input ... Refer to for product specific implementation..

Allowed values:
0: Selected: TIM1_CHx input selected

TI2SEL

Bits 8-11: Selects tim_ti2[0..15] input ... Refer to for product specific implementation..

Allowed values:
0: Selected: TIM1_CHx input selected

TI3SEL

Bits 16-19: Selects tim_ti3[0..15] input ... Refer to for product specific implementation..

Allowed values:
0: Selected: TIM1_CHx input selected

TI4SEL

Bits 24-27: Selects tim_ti4[0..15] input ... Refer to for product specific implementation..

Allowed values:
0: Selected: TIM1_CHx input selected

AF1

TIM3 alternate function register 1

Offset: 0x60, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ETRSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ETRSEL
rw
Toggle fields

ETRSEL

Bits 14-17: etr_in source selection These bits select the etr_in input source. ... Refer to for product specific implementation..

Allowed values:
0: Legacy: ETR legacy mode
1: COMP1: COMP1 output
2: COMP2: COMP2 output

AF2

TIM3 alternate function register 2

Offset: 0x64, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
OCRSEL
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Toggle fields

OCRSEL

Bits 16-18: ocref_clr source selection These bits select the ocref_clr input source. ... Refer to for product specific implementation..

Allowed values: 0x0-0x7

DCR

TIM3 DMA control register

Offset: 0x3dc, size: 32, reset: 0x00000000, access: Unspecified

3/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DBSS
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DBL
rw
DBA
rw
Toggle fields

DBA

Bits 0-4: DMA base address This 5-bits vector defines the base-address for DMA transfers (when read/write access are done through the TIMx_DMAR address). DBA is defined as an offset starting from the address of the TIMx_CR1 register. Example: ....

Allowed values: 0x0-0x1f

DBL

Bits 8-12: DMA burst length This 5-bit vector defines the length of DMA transfers (the timer recognizes a burst transfer when a read or a write access is done to the TIMx_DMAR address), i.e. the number of transfers. Transfers can be in half-words or in bytes (see example below). ... Example: Let us consider the following transfer: DBL = 7 bytes & DBA = TIM2_CR1. If DBL = 7 bytes and DBA = TIM2_CR1 represents the address of the byte to be transferred, the address of the transfer should be given by the following equation: (TIMx_CR1 address) + DBA + (DMA index), where DMA index = DBL In this example, 7 bytes are added to (TIMx_CR1 address) + DBA, which gives us the address from/to which the data are copied. In this case, the transfer is done to 7 registers starting from the following address: (TIMx_CR1 address) + DBA According to the configuration of the DMA Data Size, several cases may occur: If the DMA Data Size is configured in half-words, 16-bit data are transferred to each of the 7 registers. If the DMA Data Size is configured in bytes, the data are also transferred to 7 registers: the first register contains the first MSB byte, the second register, the first LSB byte and so on. So with the transfer Timer, one also has to specify the size of data transferred by DMA..

Allowed values: 0x0-0x12

DBSS

Bits 16-19: DMA burst source selection This bitfield defines the interrupt source that triggers the DMA burst transfers (the timer recognizes a burst transfer when a read or a write access is done to the TIMx_DMAR address). Others: reserved.

Allowed values: 0x0-0x7

DMAR

TIM3 DMA address for full transfer

Offset: 0x3e0, size: 32, reset: 0x00000000, access: Unspecified

0/1 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
DMAB
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DMAB
rw
Toggle fields

DMAB

Bits 0-31: DMA register for burst accesses A read or write operation to the DMAR register accesses the register located at the address (TIMx_CR1 address) + (DBA + DMA index) x 4 where TIMx_CR1 address is the address of the control register 1, DBA is the DMA base address configured in TIMx_DCR register, DMA index is automatically controlled by the DMA transfer, and ranges from 0 to DBL (DBL configured in TIMx_DCR)..

TIM6

0x40001000: Basic timers

16/18 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 (16-bit) CR1
0x4 (16-bit) CR2
0xc (16-bit) DIER
0x10 (16-bit) SR
0x14 (16-bit) EGR
0x24 CNT
0x28 (16-bit) PSC
0x2c ARR
Toggle registers

CR1

TIM6 control register 1

Offset: 0x0, size: 16, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DITHEN
rw
UIFREMAP
rw
ARPE
rw
OPM
rw
URS
rw
UDIS
rw
CEN
rw
Toggle fields

CEN

Bit 0: Counter enable CEN is cleared automatically in one-pulse mode, when an update event occurs..

Allowed values:
0: Disabled: Counter disabled
1: Enabled: Counter enabled

UDIS

Bit 1: Update disable This bit is set and cleared by software to enable/disable UEV event generation. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller Buffered registers are then loaded with their preload values..

Allowed values:
0: Enabled: Update event enabled
1: Disabled: Update event disabled

URS

Bit 2: Update request source This bit is set and cleared by software to select the UEV event sources. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller.

Allowed values:
0: AnyEvent: Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request
1: CounterOnly: Only counter overflow/underflow generates an update interrupt or DMA request

OPM

Bit 3: One-pulse mode.

Allowed values:
0: Disabled: Counter is not stopped at update event
1: Enabled: Counter stops counting at the next update event (clearing the CEN bit)

ARPE

Bit 7: Auto-reload preload enable.

Allowed values:
0: Disabled: TIMx_APRR register is not buffered
1: Enabled: TIMx_APRR register is buffered

UIFREMAP

Bit 11: UIF status bit remapping.

Allowed values:
0: Disabled: No remapping. UIF status bit is not copied to TIMx_CNT register bit 31
1: Enabled: Remapping enabled. UIF status bit is copied to TIMx_CNT register bit 31

DITHEN

Bit 12: Dithering enable Note: The DITHEN bit can only be modified when CEN bit is reset..

Allowed values:
0: Disabled: Dithering disabled
1: Enabled: Dithering enabled

CR2

TIM6 control register 2

Offset: 0x4, size: 16, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MMS
rw
Toggle fields

MMS

Bits 4-6: Master mode selection These bits are used to select the information to be sent in master mode to slave timers for synchronization (TRGO). The combination is as follows: Note: The clock of the slave timer or he peripheral receiving the tim_trgo must be enabled prior to receive events from the master timer, and must not be changed on-the-fly while triggers are received from the master timer..

Allowed values:
0: Reset: Use UG bit from TIMx_EGR register
1: Enable: Use CNT bit from TIMx_CEN register
2: Update: Use the update event

DIER

TIM6 DMA/Interrupt enable register

Offset: 0xc, size: 16, reset: 0x00000000, access: Unspecified

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UDE
rw
UIE
rw
Toggle fields

UIE

Bit 0: Update interrupt enable.

Allowed values:
0: Disabled: Update interrupt disabled
1: Enabled: Update interrupt enabled

UDE

Bit 8: Update DMA request enable.

Allowed values:
0: Disabled: Update DMA request disabled
1: Enabled: Update DMA request enabled

SR

TIM6 status register

Offset: 0x10, size: 16, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UIF
rw
Toggle fields

UIF

Bit 0: Update interrupt flag This bit is set by hardware on an update event. It is cleared by software. On counter overflow if UDIS = 0 in the TIMx_CR1 register. When CNT is reinitialized by software using the UG bit in the TIMx_EGR register, if URS = 0 and UDIS = 0 in the TIMx_CR1 register..

Allowed values:
0: NoUpdateOccurred: No update occurred
1: UpdatePending: Update interrupt pending

EGR

TIM6 event generation register

Offset: 0x14, size: 16, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UG
w
Toggle fields

UG

Bit 0: Update generation This bit can be set by software, it is automatically cleared by hardware..

Allowed values:
1: Update: Re-initializes the timer counter and generates an update of the registers.

CNT

TIM6 counter

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UIFCPY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNT
rw
Toggle fields

CNT

Bits 0-15: Counter value Non-dithering mode (DITHEN = 0) The register holds the counter value. Dithering mode (DITHEN = 1) The register only holds the non-dithered part in CNT[15:0]. The fractional part is not available..

Allowed values: 0x0-0xffff

UIFCPY

Bit 31: UIF copy This bit is a read-only copy of the UIF bit of the TIMx_ISR register. If the UIFREMAP bit in TIMx_CR1 is reset, bit 31 is reserved and read as 0..

Allowed values:
0: NoUpdateOccurred: No update occurred
1: UpdatePending: Update interrupt pending

PSC

TIM6 prescaler

Offset: 0x28, size: 16, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PSC
rw
Toggle fields

PSC

Bits 0-15: Prescaler value The counter clock frequency ftim_cnt_ck is equal to ftim_psc_ck / (PSC[15:0] + 1). PSC contains the value to be loaded into the active prescaler register at each update event. (including when the counter is cleared through UG bit of TIMx_EGR register..

Allowed values: 0x0-0xffff

ARR

TIM6 auto-reload register

Offset: 0x2c, size: 32, reset: 0x0000FFFF, access: Unspecified

1/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ARR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ARR
rw
Toggle fields

ARR

Bits 0-19: Auto-reload value ARR is the value to be loaded into the actual auto-reload register. Refer to for more details about ARR update and behavior. The counter is blocked while the auto-reload value is null. Non-dithering mode (DITHEN = 0) The register holds the auto-reload value in ARR[15:0]. The ARR[19:16] bits are reserved. Dithering mode (DITHEN = 1) The register holds the integer part in ARR[19:4]. The ARR[3:0] bitfield contains the dithered part..

Allowed values: 0x0-0xfffff

DITHER

Bits 0-3: Dithered part in dithering mode.

INTEGER

Bits 4-19: Integer part in dithering mode.

TIM7

0x40001400: Basic timers

16/18 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 (16-bit) CR1
0x4 (16-bit) CR2
0xc (16-bit) DIER
0x10 (16-bit) SR
0x14 (16-bit) EGR
0x24 CNT
0x28 (16-bit) PSC
0x2c ARR
Toggle registers

CR1

TIM7 control register 1

Offset: 0x0, size: 16, reset: 0x00000000, access: Unspecified

7/7 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DITHEN
rw
UIFREMAP
rw
ARPE
rw
OPM
rw
URS
rw
UDIS
rw
CEN
rw
Toggle fields

CEN

Bit 0: Counter enable CEN is cleared automatically in one-pulse mode, when an update event occurs..

Allowed values:
0: Disabled: Counter disabled
1: Enabled: Counter enabled

UDIS

Bit 1: Update disable This bit is set and cleared by software to enable/disable UEV event generation. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller Buffered registers are then loaded with their preload values..

Allowed values:
0: Enabled: Update event enabled
1: Disabled: Update event disabled

URS

Bit 2: Update request source This bit is set and cleared by software to select the UEV event sources. Counter overflow/underflow Setting the UG bit Update generation through the slave mode controller.

Allowed values:
0: AnyEvent: Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request
1: CounterOnly: Only counter overflow/underflow generates an update interrupt or DMA request

OPM

Bit 3: One-pulse mode.

Allowed values:
0: Disabled: Counter is not stopped at update event
1: Enabled: Counter stops counting at the next update event (clearing the CEN bit)

ARPE

Bit 7: Auto-reload preload enable.

Allowed values:
0: Disabled: TIMx_APRR register is not buffered
1: Enabled: TIMx_APRR register is buffered

UIFREMAP

Bit 11: UIF status bit remapping.

Allowed values:
0: Disabled: No remapping. UIF status bit is not copied to TIMx_CNT register bit 31
1: Enabled: Remapping enabled. UIF status bit is copied to TIMx_CNT register bit 31

DITHEN

Bit 12: Dithering enable Note: The DITHEN bit can only be modified when CEN bit is reset..

Allowed values:
0: Disabled: Dithering disabled
1: Enabled: Dithering enabled

CR2

TIM7 control register 2

Offset: 0x4, size: 16, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MMS
rw
Toggle fields

MMS

Bits 4-6: Master mode selection These bits are used to select the information to be sent in master mode to slave timers for synchronization (TRGO). The combination is as follows: Note: The clock of the slave timer or he peripheral receiving the tim_trgo must be enabled prior to receive events from the master timer, and must not be changed on-the-fly while triggers are received from the master timer..

Allowed values:
0: Reset: Use UG bit from TIMx_EGR register
1: Enable: Use CNT bit from TIMx_CEN register
2: Update: Use the update event

DIER

TIM7 DMA/Interrupt enable register

Offset: 0xc, size: 16, reset: 0x00000000, access: Unspecified

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UDE
rw
UIE
rw
Toggle fields

UIE

Bit 0: Update interrupt enable.

Allowed values:
0: Disabled: Update interrupt disabled
1: Enabled: Update interrupt enabled

UDE

Bit 8: Update DMA request enable.

Allowed values:
0: Disabled: Update DMA request disabled
1: Enabled: Update DMA request enabled

SR

TIM7 status register

Offset: 0x10, size: 16, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UIF
rw
Toggle fields

UIF

Bit 0: Update interrupt flag This bit is set by hardware on an update event. It is cleared by software. On counter overflow if UDIS = 0 in the TIMx_CR1 register. When CNT is reinitialized by software using the UG bit in the TIMx_EGR register, if URS = 0 and UDIS = 0 in the TIMx_CR1 register..

Allowed values:
0: NoUpdateOccurred: No update occurred
1: UpdatePending: Update interrupt pending

EGR

TIM7 event generation register

Offset: 0x14, size: 16, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UG
w
Toggle fields

UG

Bit 0: Update generation This bit can be set by software, it is automatically cleared by hardware..

Allowed values:
1: Update: Re-initializes the timer counter and generates an update of the registers.

CNT

TIM7 counter

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
UIFCPY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CNT
rw
Toggle fields

CNT

Bits 0-15: Counter value Non-dithering mode (DITHEN = 0) The register holds the counter value. Dithering mode (DITHEN = 1) The register only holds the non-dithered part in CNT[15:0]. The fractional part is not available..

Allowed values: 0x0-0xffff

UIFCPY

Bit 31: UIF copy This bit is a read-only copy of the UIF bit of the TIMx_ISR register. If the UIFREMAP bit in TIMx_CR1 is reset, bit 31 is reserved and read as 0..

Allowed values:
0: NoUpdateOccurred: No update occurred
1: UpdatePending: Update interrupt pending

PSC

TIM7 prescaler

Offset: 0x28, size: 16, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PSC
rw
Toggle fields

PSC

Bits 0-15: Prescaler value The counter clock frequency ftim_cnt_ck is equal to ftim_psc_ck / (PSC[15:0] + 1). PSC contains the value to be loaded into the active prescaler register at each update event. (including when the counter is cleared through UG bit of TIMx_EGR register..

Allowed values: 0x0-0xffff

ARR

TIM7 auto-reload register

Offset: 0x2c, size: 32, reset: 0x0000FFFF, access: Unspecified

1/3 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ARR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ARR
rw
Toggle fields

ARR

Bits 0-19: Auto-reload value ARR is the value to be loaded into the actual auto-reload register. Refer to for more details about ARR update and behavior. The counter is blocked while the auto-reload value is null. Non-dithering mode (DITHEN = 0) The register holds the auto-reload value in ARR[15:0]. The ARR[19:16] bits are reserved. Dithering mode (DITHEN = 1) The register holds the integer part in ARR[19:4]. The ARR[3:0] bitfield contains the dithered part..

Allowed values: 0x0-0xfffff

DITHER

Bits 0-3: Dithered part in dithering mode.

INTEGER

Bits 4-19: Integer part in dithering mode.

USART1

0x40013800: Universal synchronous asynchronous receiver transmitter

124/124 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CR1
0x4 CR2
0x8 CR3
0xc BRR
0x10 GTPR
0x14 RTOR
0x18 RQR
0x1c ISR
0x20 ICR
0x24 RDR
0x28 TDR
0x2c PRESC
Toggle registers

CR1

USART control register 1 [alternate]

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

24/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RXFFIE
rw
TXFEIE
rw
FIFOEN
rw
M1
rw
EOBIE
rw
RTOIE
rw
DEAT
rw
DEDT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OVER8
rw
CMIE
rw
MME
rw
M0
rw
WAKE
rw
PCE
rw
PS
rw
PEIE
rw
TXEIE
rw
TCIE
rw
RXNEIE
rw
IDLEIE
rw
TE
rw
RE
rw
UESM
rw
UE
rw
Toggle fields

UE

Bit 0: USART enable When this bit is cleared, the USART prescalers and outputs are stopped immediately, and all current operations are discarded. The USART configuration is kept, but all the USART_ISR status flags are reset. This bit is set and cleared by software. Note: To enter low-power mode without generating errors on the line, the TE bit must be previously reset and the software must wait for the TC bit in the USART_ISR to be set before resetting the UE bit. The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit. In Smartcard mode, (SCEN = 1), the SCLK is always available when CLKEN = 1, regardless of the UE bit value..

Allowed values:
0: Disabled: UART is disabled
1: Enabled: UART is enabled

UESM

Bit 1: USART enable in low-power mode When this bit is cleared, the USART cannot wake up the MCU from low-power mode. When this bit is set, the USART can wake up the MCU from low-power mode. This bit is set and cleared by software. Note: It is recommended to set the UESM bit just before entering low-power mode, and clear it when exiting low-power mode..

Allowed values:
0: Disabled: USART not able to wake up the MCU from Stop mode
1: Enabled: USART able to wake up the MCU from Stop mode

RE

Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..

Allowed values:
0: Disabled: Receiver is disabled
1: Enabled: Receiver is enabled

TE

Bit 3: Transmitter enable This bit enables the transmitter. It is set and cleared by software. Note: During transmission, a low pulse on the TE bit (‘0’ followed by ‘1’) sends a preamble (idle line) after the current word, except in Smartcard mode. In order to generate an idle character, the TE must not be immediately written to ‘1’. To ensure the required duration, the software can poll the TEACK bit in the USART_ISR register. In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..

Allowed values:
0: Disabled: Transmitter is disabled
1: Enabled: Transmitter is enabled

IDLEIE

Bit 4: IDLE interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt is disabled
1: Enabled: Interrupt is generated whenever IDLE=1 in the ISR register

RXNEIE

Bit 5: RXFIFO not empty interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt is disabled
1: Enabled: Interrupt is generated whenever ORE=1 or RXNE=1 in the ISR register

TCIE

Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt is disabled
1: Enabled: Interrupt is generated whenever TC=1 in the ISR register

TXEIE

Bit 7: TXFIFO not full interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt is disabled
1: Enabled: Interrupt is generated whenever TXE=1 in the ISR register

PEIE

Bit 8: PE interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt is disabled
1: Enabled: Interrupt is generated whenever PE=1 in the ISR register

PS

Bit 9: Parity selection This bit selects the odd or even parity when the parity generation/detection is enabled (PCE bit set). It is set and cleared by software. The parity is selected after the current byte. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Even: Even parity
1: Odd: Odd parity

PCE

Bit 10: Parity control enable This bit selects the hardware parity control (generation and detection). When the parity control is enabled, the computed parity is inserted at the MSB position (9th bit if M=1; 8th bit if M=0) and the parity is checked on the received data. This bit is set and cleared by software. Once it is set, PCE is active after the current byte (in reception and in transmission). This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Disabled: Parity control disabled
1: Enabled: Parity control enabled

WAKE

Bit 11: Receiver wakeup method This bit determines the USART wakeup method from Mute mode. It is set or cleared by software. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Idle: Idle line
1: Address: Address mask

M0

Bit 12: Word length This bit is used in conjunction with bit 28 (M1) to determine the word length. It is set or cleared by software (refer to bit 28 (M1)description). This bit can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Bit8: 1 start bit, 8 data bits, n stop bits
1: Bit9: 1 start bit, 9 data bits, n stop bits

MME

Bit 13: Mute mode enable This bit enables the USART Mute mode function. When set, the USART can switch between active and Mute mode, as defined by the WAKE bit. It is set and cleared by software..

Allowed values:
0: Disabled: Receiver in active mode permanently
1: Enabled: Receiver can switch between mute mode and active mode

CMIE

Bit 14: Character match interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt is disabled
1: Enabled: Interrupt is generated when the CMF bit is set in the ISR register

OVER8

Bit 15: Oversampling mode This bit can only be written when the USART is disabled (UE=0). Note: In LIN, IrDA and Smartcard modes, this bit must be kept cleared..

Allowed values:
0: Oversampling16: Oversampling by 16
1: Oversampling8: Oversampling by 8

DEDT

Bits 16-20: Driver Enable deassertion time This 5-bit value defines the time between the end of the last stop bit, in a transmitted message, and the de-activation of the DE (Driver Enable) signal. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). If the USART_TDR register is written during the DEDT time, the new data is transmitted only when the DEDT and DEAT times have both elapsed. This bitfield can only be written when the USART is disabled (UE=0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values: 0x0-0x1f

DEAT

Bits 21-25: Driver Enable assertion time This 5-bit value defines the time between the activation of the DE (Driver Enable) signal and the beginning of the start bit. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). This bitfield can only be written when the USART is disabled (UE=0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values: 0x0-0x1f

RTOIE

Bit 26: Receiver timeout interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. ..

Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An USART interrupt is generated when the RTOF bit is set in the ISR register

EOBIE

Bit 27: End of Block interrupt enable This bit is set and cleared by software. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: A USART interrupt is generated when the EOBF flag is set in the ISR register

M1

Bit 28: Word length This bit must be used in conjunction with bit 12 (M0) to determine the word length. It is set or cleared by software. M[1:0] = ‘00’: 1 start bit, 8 Data bits, n Stop bit M[1:0] = ‘01’: 1 start bit, 9 Data bits, n Stop bit M[1:0] = ‘10’: 1 start bit, 7 Data bits, n Stop bit This bit can only be written when the USART is disabled (UE=0). Note: In 7-bits data length mode, the Smartcard mode, LIN master mode and auto baud rate (0x7F and 0x55 frames detection) are not supported..

Allowed values:
0: M0: Use M0 to set the data bits
1: Bit7: 1 start bit, 7 data bits, n stop bits

FIFOEN

Bit 29: FIFO mode enable This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE=0). Note: FIFO mode can be used on standard UART communication, in SPI Master/Slave mode and in Smartcard modes only. It must not be enabled in IrDA and LIN modes..

Allowed values:
0: Disabled: FIFO mode is disabled
1: Enabled: FIFO mode is enabled

TXFEIE

Bit 30: TXFIFO empty interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when TXFE = 1 in the USART_ISR register

RXFFIE

Bit 31: RXFIFO Full interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when RXFF = 1 in the USART_ISR register

CR2

USART control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

20/20 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADD
rw
RTOEN
rw
ABRMOD
rw
ABREN
rw
MSBFIRST
rw
DATAINV
rw
TXINV
rw
RXINV
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SWAP
rw
LINEN
rw
STOP
rw
CLKEN
rw
CPOL
rw
CPHA
rw
LBCL
rw
LBDIE
rw
LBDL
rw
ADDM7
rw
DIS_NSS
rw
SLVEN
rw
Toggle fields

SLVEN

Bit 0: Synchronous Slave mode enable When the SLVEN bit is set, the Synchronous slave mode is enabled. Note: When SPI slave mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Slave mode disabled
1: Enabled: Slave mode enabled

DIS_NSS

Bit 3: When the DIS_NSS bit is set, the NSS pin input is ignored. Note: When SPI slave mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: SPI slave selection depends on NSS input pin
1: Enabled: SPI slave is always selected and NSS input pin is ignored

ADDM7

Bit 4: 7-bit Address Detection/4-bit Address Detection This bit is for selection between 4-bit address detection or 7-bit address detection. This bit can only be written when the USART is disabled (UE=0) Note: In 7-bit and 9-bit data modes, the address detection is done on 6-bit and 8-bit address (ADD[5:0] and ADD[7:0]) respectively..

Allowed values:
0: Bit4: 4-bit address detection
1: Bit7: 7-bit address detection

LBDL

Bit 5: LIN break detection length This bit is for selection between 11 bit or 10 bit break detection. This bit can only be written when the USART is disabled (UE=0). Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Bit10: 10-bit break detection
1: Bit11: 11-bit break detection

LBDIE

Bit 6: LIN break detection interrupt enable Break interrupt mask (break detection using break delimiter). Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An interrupt is generated whenever LBDF=1 in the ISR register

LBCL

Bit 8: Last bit clock pulse This bit is used to select whether the clock pulse associated with the last data bit transmitted (MSB) has to be output on the SCLK pin in Synchronous mode. The last bit is the 7th or 8th or 9th data bit transmitted depending on the 7 or 8 or 9 bit format selected by the M bit in the USART_CR1 register. This bit can only be written when the USART is disabled (UE=0). Note: If Synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: NotOutput: The clock pulse of the last data bit is not output to the CK pin
1: Output: The clock pulse of the last data bit is output to the CK pin

CPHA

Bit 9: Clock phase This bit is used to select the phase of the clock output on the SCLK pin in Synchronous mode. It works in conjunction with the CPOL bit to produce the desired clock/data relationship (see and ) This bit can only be written when the USART is disabled (UE=0). Note: If Synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: First: The first clock transition is the first data capture edge
1: Second: The second clock transition is the first data capture edge

CPOL

Bit 10: Clock polarity This bit enables the user to select the polarity of the clock output on the SCLK pin in Synchronous mode. It works in conjunction with the CPHA bit to produce the desired clock/data relationship This bit can only be written when the USART is disabled (UE=0). Note: If Synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Low: Steady low value on CK pin outside transmission window
1: High: Steady high value on CK pin outside transmission window

CLKEN

Bit 11: Clock enable This bit enables the user to enable the SCLK pin. This bit can only be written when the USART is disabled (UE=0). Note: If neither Synchronous mode nor Smartcard mode is supported, this bit is reserved and must be kept at reset value. Refer to . In Smartcard mode, in order to provide correctly the SCLK clock to the smartcard, the steps below must be respected: UE = 0 SCEN = 1 GTPR configuration CLKEN= 1 UE = 1.

Allowed values:
0: Disabled: CK pin disabled
1: Enabled: CK pin enabled

STOP

Bits 12-13: stop bits These bits are used for programming the stop bits. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Stop1: 1 stop bit
1: Stop0p5: 0.5 stop bit
2: Stop2: 2 stop bit
3: Stop1p5: 1.5 stop bit

LINEN

Bit 14: LIN mode enable This bit is set and cleared by software. The LIN mode enables the capability to send LIN synchronous breaks (13 low bits) using the SBKRQ bit in the USART_CR1 register, and to detect LIN Sync breaks. This bitfield can only be written when the USART is disabled (UE=0). Note: If the USART does not support LIN mode, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: LIN mode disabled
1: Enabled: LIN mode enabled

SWAP

Bit 15: Swap TX/RX pins This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Standard: TX/RX pins are used as defined in standard pinout
1: Swapped: The TX and RX pins functions are swapped

RXINV

Bit 16: RX pin active level inversion This bit is set and cleared by software. This enables the use of an external inverter on the RX line. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Standard: RX pin signal works using the standard logic levels
1: Inverted: RX pin signal values are inverted

TXINV

Bit 17: TX pin active level inversion This bit is set and cleared by software. This enables the use of an external inverter on the TX line. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Standard: TX pin signal works using the standard logic levels
1: Inverted: TX pin signal values are inverted

DATAINV

Bit 18: Binary data inversion This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Positive: Logical data from the data register are send/received in positive/direct logic
1: Negative: Logical data from the data register are send/received in negative/inverse logic

MSBFIRST

Bit 19: Most significant bit first This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: LSB: data is transmitted/received with data bit 0 first, following the start bit
1: MSB: data is transmitted/received with MSB (bit 7/8/9) first, following the start bit

ABREN

Bit 20: Auto baud rate enable This bit is set and cleared by software. Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Auto baud rate detection is disabled
1: Enabled: Auto baud rate detection is enabled

ABRMOD

Bits 21-22: Auto baud rate mode These bits are set and cleared by software. This bitfield can only be written when ABREN = 0 or the USART is disabled (UE=0). Note: If DATAINV=1 and/or MSBFIRST=1 the patterns must be the same on the line, for example 0xAA for MSBFIRST) If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Start: Measurement of the start bit is used to detect the baud rate
1: Edge: Falling edge to falling edge measurement
2: Frame7F: 0x7F frame detection
3: Frame55: 0x55 frame detection

RTOEN

Bit 23: Receiver timeout enable This bit is set and cleared by software. When this feature is enabled, the RTOF flag in the USART_ISR register is set if the RX line is idle (no reception) for the duration programmed in the RTOR (receiver timeout register). Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Receiver timeout feature disabled
1: Enabled: Receiver timeout feature enabled

ADD

Bits 24-31: Address of the USART node These bits give the address of the USART node in Mute mode or a character code to be recognized in low-power or Run mode: In Mute mode: they are used in multiprocessor communication to wakeup from Mute mode with 4-bit/7-bit address mark detection. The MSB of the character sent by the transmitter should be equal to 1. In 4-bit address mark detection, only ADD[3:0] bits are used. In low-power mode: they are used for wake up from low-power mode on character match. When WUS[1:0] is programmed to 0b00 (WUF active on address match), the wakeup from low-power mode is performed when the received character corresponds to the character programmed through ADD[6:0] or ADD[3:0] bitfield (depending on ADDM7 bit), and WUF interrupt is enabled by setting WUFIE bit. The MSB of the character sent by transmitter should be equal to 1. In Run mode with Mute mode inactive (for example, end-of-block detection in ModBus protocol): the whole received character (8 bits) is compared to ADD[7:0] value and CMF flag is set on match. An interrupt is generated if the CMIE bit is set. These bits can only be written when the reception is disabled (RE = 0) or when the USART is disabled (UE = 0)..

Allowed values: 0x0-0xff

CR3

USART control register 3

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

24/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXFTCFG
rw
RXFTIE
rw
RXFTCFG
rw
TCBGTIE
rw
TXFTIE
rw
WUFIE
rw
WUS
N/A
SCARCNT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DEP
rw
DEM
rw
DDRE
rw
OVRDIS
rw
ONEBIT
rw
CTSIE
rw
CTSE
rw
RTSE
rw
DMAT
rw
DMAR
rw
SCEN
rw
NACK
rw
HDSEL
rw
IRLP
rw
IREN
rw
EIE
rw
Toggle fields

EIE

Bit 0: Error interrupt enable Error Interrupt Enable Bit is required to enable interrupt generation in case of a framing error, overrun error noise flag or SPI slave underrun error (FE=1 or ORE=1 or NE=1or UDR = 1 in the USART_ISR register)..

Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An interrupt is generated when FE=1 or ORE=1 or NF=1 in the ISR register

IREN

Bit 1: IrDA mode enable This bit is set and cleared by software. This bit can only be written when the USART is disabled (UE=0). Note: If IrDA mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: IrDA disabled
1: Enabled: IrDA enabled

IRLP

Bit 2: IrDA low-power This bit is used for selecting between normal and low-power IrDA modes This bit can only be written when the USART is disabled (UE=0). Note: If IrDA mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Normal: Normal mode
1: LowPower: Low-power mode

HDSEL

Bit 3: Half-duplex selection Selection of Single-wire Half-duplex mode This bit can only be written when the USART is disabled (UE=0)..

Allowed values:
0: NotSelected: Half duplex mode is not selected
1: Selected: Half duplex mode is selected

NACK

Bit 4: Smartcard NACK enable This bitfield can only be written when the USART is disabled (UE=0). Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: NACK transmission in case of parity error is disabled
1: Enabled: NACK transmission during parity error is enabled

SCEN

Bit 5: Smartcard mode enable This bit is used for enabling Smartcard mode. This bitfield can only be written when the USART is disabled (UE=0). Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Smartcard Mode disabled
1: Enabled: Smartcard Mode enabled

DMAR

Bit 6: DMA enable receiver This bit is set/reset by software.

Allowed values:
0: Disabled: DMA mode is disabled for reception
1: Enabled: DMA mode is enabled for reception

DMAT

Bit 7: DMA enable transmitter This bit is set/reset by software.

Allowed values:
0: Disabled: DMA mode is disabled for transmission
1: Enabled: DMA mode is enabled for transmission

RTSE

Bit 8: RTS enable This bit can only be written when the USART is disabled (UE=0). Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: RTS hardware flow control disabled
1: Enabled: RTS output enabled, data is only requested when there is space in the receive buffer

CTSE

Bit 9: CTS enable This bit can only be written when the USART is disabled (UE=0) Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: CTS hardware flow control disabled
1: Enabled: CTS mode enabled, data is only transmitted when the CTS input is asserted

CTSIE

Bit 10: CTS interrupt enable Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An interrupt is generated whenever CTSIF=1 in the ISR register

ONEBIT

Bit 11: One sample bit method enable This bit enables the user to select the sample method. When the one sample bit method is selected the noise detection flag (NE) is disabled. This bit can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Sample3: Three sample bit method
1: Sample1: One sample bit method

OVRDIS

Bit 12: Overrun Disable This bit is used to disable the receive overrun detection. the ORE flag is not set and the new received data overwrites the previous content of the USART_RDR register. When FIFO mode is enabled, the RXFIFO is bypassed and data are written directly in USART_RDR register. Even when FIFO management is enabled, the RXNE flag is to be used. This bit can only be written when the USART is disabled (UE=0). Note: This control bit enables checking the communication flow w/o reading the data.

Allowed values:
0: Enabled: Overrun Error Flag, ORE, is set when received data is not read before receiving new data
1: Disabled: Overrun functionality is disabled. If new data is received while the RXNE flag is still set the ORE flag is not set and the new received data overwrites the previous content of the RDR register

DDRE

Bit 13: DMA Disable on Reception Error This bit can only be written when the USART is disabled (UE=0). Note: The reception errors are: parity error, framing error or noise error..

Allowed values:
0: NotDisabled: DMA is not disabled in case of reception error
1: Disabled: DMA is disabled following a reception error

DEM

Bit 14: Driver enable mode This bit enables the user to activate the external transceiver control, through the DE signal. This bit can only be written when the USART is disabled (UE=0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. ..

Allowed values:
0: Disabled: DE function is disabled
1: Enabled: The DE signal is output on the RTS pin

DEP

Bit 15: Driver enable polarity selection This bit can only be written when the USART is disabled (UE=0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: High: DE signal is active high
1: Low: DE signal is active low

SCARCNT

Bits 17-19: Smartcard auto-retry count This bitfield specifies the number of retries for transmission and reception in Smartcard mode. In Transmission mode, it specifies the number of automatic retransmission retries, before generating a transmission error (FE bit set). In Reception mode, it specifies the number or erroneous reception trials, before generating a reception error (RXNE/RXFNE and PE bits set). This bitfield must be programmed only when the USART is disabled (UE=0). When the USART is enabled (UE=1), this bitfield may only be written to 0x0, in order to stop retransmission. Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values: 0x0-0x7

WUS

Bits 20-21: Wakeup from low-power mode interrupt flag selection This bitfield specifies the event which activates the WUF (Wakeup from low-power mode flag). This bitfield can only be written when the USART is disabled (UE=0). Note: If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page 2297..

Allowed values:
0: Address: WUF active on address match
2: Start: WuF active on Start bit detection
3: RXNE: WUF active on RXNE

WUFIE

Bit 22: Wakeup from low-power mode interrupt enable This bit is set and cleared by software. Note: WUFIE must be set before entering in low-power mode. If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page 2297..

Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An USART interrupt is generated whenever WUF=1 in the ISR register

TXFTIE

Bit 23: TXFIFO threshold interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when Transmit FIFO reaches the threshold programmed in TXFTCFG

TCBGTIE

Bit 24: Transmission Complete before guard time, interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Smartcard mode, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated whenever TCBGT=1 in the USART_ISR register

RXFTCFG

Bits 25-27: Receive FIFO threshold configuration Remaining combinations: Reserved.

Allowed values:
0: Depth_1_8: RXFIFO reaches 1/8 of its depth
1: Depth_1_4: RXFIFO reaches 1/4 of its depth
2: Depth_1_2: RXFIFO reaches 1/2 of its depth
3: Depth_3_4: RXFIFO reaches 3/4 of its depth
4: Depth_7_8: RXFIFO reaches 7/8 of its depth
5: Full: RXFIFO becomes full

RXFTIE

Bit 28: RXFIFO threshold interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when Receive FIFO reaches the threshold programmed in RXFTCFG

TXFTCFG

Bits 29-31: TXFIFO threshold configuration Remaining combinations: Reserved.

Allowed values:
0: Depth_1_8: TXFIFO reaches 1/8 of its depth
1: Depth_1_4: TXFIFO reaches 1/4 of its depth
2: Depth_1_2: TXFIFO reaches 1/2 of its depth
3: Depth_3_4: TXFIFO reaches 3/4 of its depth
4: Depth_7_8: TXFIFO reaches 7/8 of its depth
5: Empty: TXFIFO becomes empty

BRR

USART baud rate register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BRR
rw
Toggle fields

BRR

Bits 0-15: USART baud rate BRR[15:4] BRR[15:4] correspond to USARTDIV[15:4] BRR[3:0] When OVER8 = 0, BRR[3:0] = USARTDIV[3:0]. When OVER8 = 1: BRR[2:0] = USARTDIV[3:0] shifted 1 bit to the right. BRR[3] must be kept cleared..

Allowed values: 0x0-0xffff

GTPR

USART guard time and prescaler register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
GT
rw
PSC
rw
Toggle fields

PSC

Bits 0-7: Prescaler value PSC[7:0] = IrDA Normal and Low-power baud rate This bitfield is used for programming the prescaler for dividing the USART source clock to achieve the low-power frequency: The source clock is divided by the value given in the register (8 significant bits): ... PSC[4:0]: Prescaler value This bitfield is used for programming the prescaler for dividing the USART source clock to provide the Smartcard clock. The value given in the register (5 significant bits) is multiplied by 2 to give the division factor of the source clock frequency: ... This bitfield can only be written when the USART is disabled (UE=0). Note: Bits [7:5] must be kept cleared if Smartcard mode is used. This bitfield is reserved and forced by hardware to ‘0’ when the Smartcard and IrDA modes are not supported. Refer to ..

Allowed values: 0x0-0xff

GT

Bits 8-15: Guard time value This bitfield is used to program the Guard time value in terms of number of baud clock periods. This is used in Smartcard mode. The Transmission Complete flag is set after this guard time value. This bitfield can only be written when the USART is disabled (UE=0). Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values: 0x0-0xff

RTOR

USART receiver timeout register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BLEN
rw
RTO
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RTO
rw
Toggle fields

RTO

Bits 0-23: Receiver timeout value This bitfield gives the Receiver timeout value in terms of number of bit duration. In Standard mode, the RTOF flag is set if, after the last received character, no new start bit is detected for more than the RTO value. In Smartcard mode, this value is used to implement the CWT and BWT. See Smartcard chapter for more details. In the standard, the CWT/BWT measurement is done starting from the start bit of the last received character. Note: This value must only be programmed once per received character..

Allowed values: 0x0-0xffffff

BLEN

Bits 24-31: Block Length This bitfield gives the Block length in Smartcard T=1 Reception. Its value equals the number of information characters + the length of the Epilogue Field (1-LEC/2-CRC) - 1. Examples: BLEN = 0 -> 0 information characters + LEC BLEN = 1 -> 0 information characters + CRC BLEN = 255 -> 254 information characters + CRC (total 256 characters)) In Smartcard mode, the Block length counter is reset when TXE=0 (TXFE = 0 in case FIFO mode is enabled). This bitfield can be used also in other modes. In this case, the Block length counter is reset when RE=0 (receiver disabled) and/or when the EOBCF bit is written to 1. Note: This value can be programmed after the start of the block reception (using the data from the LEN character in the Prologue Field). It must be programmed only once per received block..

Allowed values: 0x0-0xff

RQR

USART request register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXFRQ
w
RXFRQ
w
MMRQ
w
SBKRQ
w
ABRRQ
w
Toggle fields

ABRRQ

Bit 0: auto baud rate request Writing 1 to this bit resets the ABRF and ABRE flags in the USART_ISR and requests an automatic baud rate measurement on the next received data frame. Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
1: Request: resets the ABRF flag in the USART_ISR and request an automatic baud rate measurement on the next received data frame

SBKRQ

Bit 1: Send break request Writing 1 to this bit sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available. Note: When the application needs to send the break character following all previously inserted data, including the ones not yet transmitted, the software should wait for the TXE flag assertion before setting the SBKRQ bit..

Allowed values:
1: Break: sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available

MMRQ

Bit 2: Mute mode request Writing 1 to this bit puts the USART in Mute mode and resets the RWU flag..

Allowed values:
1: Mute: Puts the USART in mute mode and sets the RWU flag

RXFRQ

Bit 3: Receive data flush request Writing 1 to this bit empties the entire receive FIFO i.e. clears the bit RXFNE. This enables to discard the received data without reading them, and avoid an overrun condition..

Allowed values:
1: Discard: clears the RXNE flag. This allows to discard the received data without reading it, and avoid an overrun condition

TXFRQ

Bit 4: Transmit data flush request When FIFO mode is disabled, writing ‘1’ to this bit sets the TXE flag. This enables to discard the transmit data. This bit must be used only in Smartcard mode, when data have not been sent due to errors (NACK) and the FE flag is active in the USART_ISR register. If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. When FIFO is enabled, TXFRQ bit is set to flush the whole FIFO. This sets the TXFE flag (Transmit FIFO empty, bit 23 in the USART_ISR register). Flushing the Transmit FIFO is supported in both UART and Smartcard modes. Note: In FIFO mode, the TXFNF flag is reset during the flush request until TxFIFO is empty in order to ensure that no data are written in the data register..

Allowed values:
1: Discard: Set the TXE flags. This allows to discard the transmit data

ISR

USART interrupt and status register

Offset: 0x1c, size: 32, reset: 0x000000C0, access: Unspecified

28/28 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXFT
r
RXFT
r
TCBGT
r
RXFF
r
TXFE
r
REACK
r
TEACK
r
WUF
r
RWU
r
SBKF
r
CMF
r
BUSY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ABRF
r
ABRE
r
UDR
r
EOBF
r
RTOF
r
CTS
r
CTSIF
r
LBDF
r
TXFNF
r
TC
r
RXFNE
r
IDLE
r
ORE
r
NE
r
FE
r
PE
r
Toggle fields

PE

Bit 0: Parity error This bit is set by hardware when a parity error occurs in Reception mode. It is cleared by software, writing 1 to the PECF in the USART_ICR register. An interrupt is generated if PEIE = 1 in the USART_CR1 register. Note: This error is associated with the character in the USART_RDR..

FE

Bit 1: Framing error This bit is set by hardware when a de-synchronization, excessive noise or a break character is detected. It is cleared by software, writing 1 to the FECF bit in the USART_ICR register. When transmitting data in Smartcard mode, this bit is set when the maximum number of transmit attempts is reached without success (the card NACKs the data frame). An interrupt is generated if EIE = 1 in the USART_CR1 register. Note: This error is associated with the character in the USART_RDR..

NE

Bit 2: Noise detection flag This bit is set by hardware when noise is detected on a received frame. It is cleared by software, writing 1 to the NFCF bit in the USART_ICR register. Note: This bit does not generate an interrupt as it appears at the same time as the RXFNE bit which itself generates an interrupt. An interrupt is generated when the NE flag is set during multi buffer communication if the EIE bit is set. When the line is noise-free, the NE flag can be disabled by programming the ONEBIT bit to 1 to increase the USART tolerance to deviations (Refer to Tolerance of the USART receiver to clock deviation on page 2317). This error is associated with the character in the USART_RDR..

ORE

Bit 3: Overrun error This bit is set by hardware when the data currently being received in the shift register is ready to be transferred into the USART_RDR register while RXFF = 1. It is cleared by a software, writing 1 to the ORECF, in the USART_ICR register. An interrupt is generated if RXFNEIE=1 or EIE = 1 in the USART_CR1 register. Note: When this bit is set, the USART_RDR register content is not lost but the shift register is overwritten. An interrupt is generated if the ORE flag is set during multi buffer communication if the EIE bit is set. This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the USART_CR3 register..

IDLE

Bit 4: Idle line detected This bit is set by hardware when an Idle Line is detected. An interrupt is generated if IDLEIE=1 in the USART_CR1 register. It is cleared by software, writing 1 to the IDLECF in the USART_ICR register. Note: The IDLE bit is not set again until the RXFNE bit has been set (i.e. a new idle line occurs). If Mute mode is enabled (MME=1), IDLE is set if the USART is not mute (RWU=0), whatever the Mute mode selected by the WAKE bit. If RWU=1, IDLE is not set..

RXFNE

Bit 5: RXFIFO not empty RXFNE bit is set by hardware when the RXFIFO is not empty, meaning that data can be read from the USART_RDR register. Every read operation from the USART_RDR frees a location in the RXFIFO. RXFNE is cleared when the RXFIFO is empty. The RXFNE flag can also be cleared by writing 1 to the RXFRQ in the USART_RQR register. An interrupt is generated if RXFNEIE=1 in the USART_CR1 register..

TC

Bit 6: Transmission complete This bit indicates that the last data written in the USART_TDR has been transmitted out of the shift register. The TC flag behaves as follows: When TDN = 0, the TC flag is set when the transmission of a frame containing data is complete and when TXE/TXFE is set. When TDN is equal to the number of data in the TXFIFO, the TC flag is set when TXFIFO is empty and TDN is reached. When TDN is greater than the number of data in the TXFIFO, TC remains cleared until the TXFIFO is filled again to reach the programmed number of data to be transferred. When TDN is less than the number of data in the TXFIFO, TC is set when TDN is reached even if the TXFIFO is not empty. An interrupt is generated if TCIE=1 in the USART_CR1 register. TC bit is cleared by software by writing 1 to the TCCF in the USART_ICR register or by writing to the USART_TDR register..

TXFNF

Bit 7: TXFIFO not full TXFNF is set by hardware when TXFIFO is not full meaning that data can be written in the USART_TDR. Every write operation to the USART_TDR places the data in the TXFIFO. This flag remains set until the TXFIFO is full. When the TXFIFO is full, this flag is cleared indicating that data can not be written into the USART_TDR. An interrupt is generated if the TXFNFIE bit =1 in the USART_CR1 register. Note: The TXFNF is kept reset during the flush request until TXFIFO is empty. After sending the flush request (by setting TXFRQ bit), the flag TXFNF should be checked prior to writing in TXFIFO (TXFNF and TXFE is set at the same time). This bit is used during single buffer transmission..

LBDF

Bit 8: LIN break detection flag This bit is set by hardware when the LIN break is detected. It is cleared by software, by writing 1 to the LBDCF in the USART_ICR. An interrupt is generated if LBDIE = 1 in the USART_CR2 register. Note: If the USART does not support LIN mode, this bit is reserved and kept at reset value. Refer to ..

CTSIF

Bit 9: CTS interrupt flag This bit is set by hardware when the nCTS input toggles, if the CTSE bit is set. It is cleared by software, by writing 1 to the CTSCF bit in the USART_ICR register. An interrupt is generated if CTSIE=1 in the USART_CR3 register. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

CTS

Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the nCTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

RTOF

Bit 11: Receiver timeout This bit is set by hardware when the timeout value, programmed in the RTOR register has lapsed, without any communication. It is cleared by software, writing 1 to the RTOCF bit in the USART_ICR register. An interrupt is generated if RTOIE=1 in the USART_CR2 register. In Smartcard mode, the timeout corresponds to the CWT or BWT timings. Note: If a time equal to the value programmed in RTOR register separates 2 characters, RTOF is not set. If this time exceeds this value + 2 sample times (2/16 or 2/8, depending on the oversampling method), RTOF flag is set. The counter counts even if RE = 0 but RTOF is set only when RE = 1. If the timeout has already elapsed when RE is set, then RTOF is set. If the USART does not support the Receiver timeout feature, this bit is reserved and kept at reset value..

EOBF

Bit 12: End of block flag This bit is set by hardware when a complete block has been received (for example T=1 Smartcard mode). The detection is done when the number of received bytes (from the start of the block, including the prologue) is equal or greater than BLEN + 4. An interrupt is generated if EOBIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to EOBCF in the USART_ICR register. Note: If Smartcard mode is not supported, this bit is reserved and kept at reset value. Refer to ..

UDR

Bit 13: SPI slave underrun error flag In Slave transmission mode, this flag is set when the first clock pulse for data transmission appears while the software has not yet loaded any value into USART_TDR. This flag is reset by setting UDRCF bit in the USART_ICR register. Note: If the USART does not support the SPI slave mode, this bit is reserved and kept at reset value. Refer to ..

ABRE

Bit 14: Auto baud rate error This bit is set by hardware if the baud rate measurement failed (baud rate out of range or character comparison failed) It is cleared by software, by writing 1 to the ABRRQ bit in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

ABRF

Bit 15: Auto baud rate flag This bit is set by hardware when the automatic baud rate has been set (RXFNE is also set, generating an interrupt if RXFNEIE = 1) or when the auto baud rate operation was completed without success (ABRE=1) (ABRE, RXFNE and FE are also set in this case) It is cleared by software, in order to request a new auto baud rate detection, by writing 1 to the ABRRQ in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

BUSY

Bit 16: Busy flag This bit is set and reset by hardware. It is active when a communication is ongoing on the RX line (successful start bit detected). It is reset at the end of the reception (successful or not)..

CMF

Bit 17: Character match flag This bit is set by hardware, when a the character defined by ADD[7:0] is received. It is cleared by software, writing 1 to the CMCF in the USART_ICR register. An interrupt is generated if CMIE=1in the USART_CR1 register..

SBKF

Bit 18: Send break flag This bit indicates that a send break character was requested. It is set by software, by writing 1 to the SBKRQ bit in the USART_CR3 register. It is automatically reset by hardware during the stop bit of break transmission..

RWU

Bit 19: Receiver wakeup from Mute mode This bit indicates if the USART is in Mute mode. It is cleared/set by hardware when a wakeup/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the USART_CR1 register. When wakeup on IDLE mode is selected, this bit can only be set by software, writing 1 to the MMRQ bit in the USART_RQR register. Note: If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..

WUF

Bit 20: Wakeup from low-power mode flag This bit is set by hardware, when a wakeup event is detected. The event is defined by the WUS bitfield. It is cleared by software, writing a 1 to the WUCF in the USART_ICR register. An interrupt is generated if WUFIE=1 in the USART_CR3 register. Note: When UESM is cleared, WUF flag is also cleared. If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..

TEACK

Bit 21: Transmit enable acknowledge flag This bit is set/reset by hardware, when the Transmit Enable value is taken into account by the USART. It can be used when an idle frame request is generated by writing TE=0, followed by TE=1 in the USART_CR1 register, in order to respect the TE=0 minimum period..

REACK

Bit 22: Receive enable acknowledge flag This bit is set/reset by hardware, when the Receive Enable value is taken into account by the USART. It can be used to verify that the USART is ready for reception before entering low-power mode. Note: If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..

TXFE

Bit 23: TXFIFO Empty This bit is set by hardware when TXFIFO is Empty. When the TXFIFO contains at least one data, this flag is cleared. The TXFE flag can also be set by writing 1 to the bit TXFRQ (bit 4) in the USART_RQR register. An interrupt is generated if the TXFEIE bit =1 (bit 30) in the USART_CR1 register..

RXFF

Bit 24: RXFIFO Full This bit is set by hardware when the number of received data corresponds to RXFIFO size + 1 (RXFIFO full + 1 data in the USART_RDR register. An interrupt is generated if the RXFFIE bit =1 in the USART_CR1 register..

TCBGT

Bit 25: Transmission complete before guard time flag This bit is set when the last data written in the USART_TDR has been transmitted correctly out of the shift register. It is set by hardware in Smartcard mode, if the transmission of a frame containing data is complete and if the smartcard did not send back any NACK. An interrupt is generated if TCBGTIE=1 in the USART_CR3 register. This bit is cleared by software, by writing 1 to the TCBGTCF in the USART_ICR register or by a write to the USART_TDR register. Note: If the USART does not support the Smartcard mode, this bit is reserved and kept at reset value. If the USART supports the Smartcard mode and the Smartcard mode is enabled, the TCBGT reset value is ‘1’. Refer to on page 2297..

Allowed values:
0: NotCompleted: Transmission not completed
1: Completed: Transmission has completed

RXFT

Bit 26: RXFIFO threshold flag This bit is set by hardware when the threshold programmed in RXFTCFG in USART_CR3 register is reached. This means that there are (RXFTCFG - 1) data in the Receive FIFO and one data in the USART_RDR register. An interrupt is generated if the RXFTIE bit =1 (bit 27) in the USART_CR3 register. Note: When the RXFTCFG threshold is configured to ‘101’, RXFT flag is set if 16 data are available i.e. 15 data in the RXFIFO and 1 data in the USART_RDR. Consequently, the 17th received data does not cause an overrun error. The overrun error occurs after receiving the 18th data..

TXFT

Bit 27: TXFIFO threshold flag This bit is set by hardware when the TXFIFO reaches the threshold programmed in TXFTCFG of USART_CR3 register i.e. the TXFIFO contains TXFTCFG empty locations. An interrupt is generated if the TXFTIE bit =1 (bit 31) in the USART_CR3 register..

ICR

USART interrupt flag clear register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

15/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
WUCF
w
CMCF
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UDRCF
w
EOBCF
w
RTOCF
w
CTSCF
w
LBDCF
w
TCBGTCF
w
TCCF
w
TXFECF
w
IDLECF
w
ORECF
w
NECF
w
FECF
w
PECF
w
Toggle fields

PECF

Bit 0: Parity error clear flag Writing 1 to this bit clears the PE flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the PE flag in the ISR register

FECF

Bit 1: Framing error clear flag Writing 1 to this bit clears the FE flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the FE flag in the ISR register

NECF

Bit 2: Noise detected clear flag Writing 1 to this bit clears the NE flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the NF flag in the ISR register

ORECF

Bit 3: Overrun error clear flag Writing 1 to this bit clears the ORE flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the ORE flag in the ISR register

IDLECF

Bit 4: Idle line detected clear flag Writing 1 to this bit clears the IDLE flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the IDLE flag in the ISR register

TXFECF

Bit 5: TXFIFO empty clear flag Writing 1 to this bit clears the TXFE flag in the USART_ISR register..

Allowed values:
1: Clear: Clear the TXFE flag in the ISR register

TCCF

Bit 6: Transmission complete clear flag Writing 1 to this bit clears the TC flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the TC flag in the ISR register

TCBGTCF

Bit 7: Transmission complete before Guard time clear flag Writing 1 to this bit clears the TCBGT flag in the USART_ISR register..

Allowed values:
1: Clear: Clear the TCBGT flag in the ISR register

LBDCF

Bit 8: LIN break detection clear flag Writing 1 to this bit clears the LBDF flag in the USART_ISR register. Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
1: Clear: Clears the LBDF flag in the ISR register

CTSCF

Bit 9: CTS clear flag Writing 1 to this bit clears the CTSIF flag in the USART_ISR register. Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
1: Clear: Clears the CTSIF flag in the ISR register

RTOCF

Bit 11: Receiver timeout clear flag Writing 1 to this bit clears the RTOF flag in the USART_ISR register. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Refer to page 2297..

Allowed values:
1: Clear: Clears the RTOF flag in the ISR register

EOBCF

Bit 12: End of block clear flag Writing 1 to this bit clears the EOBF flag in the USART_ISR register. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
1: Clear: Clears the EOBF flag in the ISR register

UDRCF

Bit 13: SPI slave underrun clear flag Writing 1 to this bit clears the UDRF flag in the USART_ISR register. Note: If the USART does not support SPI slave mode, this bit is reserved and must be kept at reset value. Refer to.

Allowed values:
1: Clear: Clear the UDR flag in the ISR register

CMCF

Bit 17: Character match clear flag Writing 1 to this bit clears the CMF flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the CMF flag in the ISR register

WUCF

Bit 20: Wakeup from low-power mode clear flag Writing 1 to this bit clears the WUF flag in the USART_ISR register. Note: If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page 2297..

Allowed values:
1: Clear: Clears the WUF flag in the ISR register

RDR

USART receive data register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RDR
r
Toggle fields

RDR

Bits 0-8: Receive data value Contains the received data character. The RDR register provides the parallel interface between the input shift register and the internal bus (see ). When receiving with the parity enabled, the value read in the MSB bit is the received parity bit..

Allowed values: 0x0-0x1ff

TDR

USART transmit data register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDR
rw
Toggle fields

TDR

Bits 0-8: Transmit data value Contains the data character to be transmitted. The USART_TDR register provides the parallel interface between the internal bus and the output shift register (see ). When transmitting with the parity enabled (PCE bit set to 1 in the USART_CR1 register), the value written in the MSB (bit 7 or bit 8 depending on the data length) has no effect because it is replaced by the parity. Note: This register must be written only when TXE/TXFNF=1..

Allowed values: 0x0-0x1ff

PRESC

USART prescaler register

Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRESCALER
rw
Toggle fields

PRESCALER

Bits 0-3: Clock prescaler The USART input clock can be divided by a prescaler factor: Remaining combinations: Reserved Note: When PRESCALER is programmed with a value different of the allowed ones, programmed prescaler value is equal to ‘1011’ i.e. input clock divided by 256..

Allowed values:
0: Div1: Input clock divided by 1
1: Div2: Input clock divided by 2
2: Div4: Input clock divided by 4
3: Div6: Input clock divided by 6
4: Div8: Input clock divided by 8
5: Div10: Input clock divided by 10
6: Div12: Input clock divided by 12
7: Div16: Input clock divided by 16
8: Div32: Input clock divided by 32
9: Div64: Input clock divided by 64
10: Div128: Input clock divided by 128
11: Div256: Input clock divided by 256

USART2

0x40004400: Universal synchronous asynchronous receiver transmitter

124/124 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CR1
0x4 CR2
0x8 CR3
0xc BRR
0x10 GTPR
0x14 RTOR
0x18 RQR
0x1c ISR
0x20 ICR
0x24 RDR
0x28 TDR
0x2c PRESC
Toggle registers

CR1

USART control register 1 [alternate]

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

24/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RXFFIE
rw
TXFEIE
rw
FIFOEN
rw
M1
rw
EOBIE
rw
RTOIE
rw
DEAT
rw
DEDT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OVER8
rw
CMIE
rw
MME
rw
M0
rw
WAKE
rw
PCE
rw
PS
rw
PEIE
rw
TXEIE
rw
TCIE
rw
RXNEIE
rw
IDLEIE
rw
TE
rw
RE
rw
UESM
rw
UE
rw
Toggle fields

UE

Bit 0: USART enable When this bit is cleared, the USART prescalers and outputs are stopped immediately, and all current operations are discarded. The USART configuration is kept, but all the USART_ISR status flags are reset. This bit is set and cleared by software. Note: To enter low-power mode without generating errors on the line, the TE bit must be previously reset and the software must wait for the TC bit in the USART_ISR to be set before resetting the UE bit. The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit. In Smartcard mode, (SCEN = 1), the SCLK is always available when CLKEN = 1, regardless of the UE bit value..

Allowed values:
0: Disabled: UART is disabled
1: Enabled: UART is enabled

UESM

Bit 1: USART enable in low-power mode When this bit is cleared, the USART cannot wake up the MCU from low-power mode. When this bit is set, the USART can wake up the MCU from low-power mode. This bit is set and cleared by software. Note: It is recommended to set the UESM bit just before entering low-power mode, and clear it when exiting low-power mode..

Allowed values:
0: Disabled: USART not able to wake up the MCU from Stop mode
1: Enabled: USART able to wake up the MCU from Stop mode

RE

Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..

Allowed values:
0: Disabled: Receiver is disabled
1: Enabled: Receiver is enabled

TE

Bit 3: Transmitter enable This bit enables the transmitter. It is set and cleared by software. Note: During transmission, a low pulse on the TE bit (‘0’ followed by ‘1’) sends a preamble (idle line) after the current word, except in Smartcard mode. In order to generate an idle character, the TE must not be immediately written to ‘1’. To ensure the required duration, the software can poll the TEACK bit in the USART_ISR register. In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..

Allowed values:
0: Disabled: Transmitter is disabled
1: Enabled: Transmitter is enabled

IDLEIE

Bit 4: IDLE interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt is disabled
1: Enabled: Interrupt is generated whenever IDLE=1 in the ISR register

RXNEIE

Bit 5: RXFIFO not empty interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt is disabled
1: Enabled: Interrupt is generated whenever ORE=1 or RXNE=1 in the ISR register

TCIE

Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt is disabled
1: Enabled: Interrupt is generated whenever TC=1 in the ISR register

TXEIE

Bit 7: TXFIFO not full interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt is disabled
1: Enabled: Interrupt is generated whenever TXE=1 in the ISR register

PEIE

Bit 8: PE interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt is disabled
1: Enabled: Interrupt is generated whenever PE=1 in the ISR register

PS

Bit 9: Parity selection This bit selects the odd or even parity when the parity generation/detection is enabled (PCE bit set). It is set and cleared by software. The parity is selected after the current byte. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Even: Even parity
1: Odd: Odd parity

PCE

Bit 10: Parity control enable This bit selects the hardware parity control (generation and detection). When the parity control is enabled, the computed parity is inserted at the MSB position (9th bit if M=1; 8th bit if M=0) and the parity is checked on the received data. This bit is set and cleared by software. Once it is set, PCE is active after the current byte (in reception and in transmission). This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Disabled: Parity control disabled
1: Enabled: Parity control enabled

WAKE

Bit 11: Receiver wakeup method This bit determines the USART wakeup method from Mute mode. It is set or cleared by software. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Idle: Idle line
1: Address: Address mask

M0

Bit 12: Word length This bit is used in conjunction with bit 28 (M1) to determine the word length. It is set or cleared by software (refer to bit 28 (M1)description). This bit can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Bit8: 1 start bit, 8 data bits, n stop bits
1: Bit9: 1 start bit, 9 data bits, n stop bits

MME

Bit 13: Mute mode enable This bit enables the USART Mute mode function. When set, the USART can switch between active and Mute mode, as defined by the WAKE bit. It is set and cleared by software..

Allowed values:
0: Disabled: Receiver in active mode permanently
1: Enabled: Receiver can switch between mute mode and active mode

CMIE

Bit 14: Character match interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt is disabled
1: Enabled: Interrupt is generated when the CMF bit is set in the ISR register

OVER8

Bit 15: Oversampling mode This bit can only be written when the USART is disabled (UE=0). Note: In LIN, IrDA and Smartcard modes, this bit must be kept cleared..

Allowed values:
0: Oversampling16: Oversampling by 16
1: Oversampling8: Oversampling by 8

DEDT

Bits 16-20: Driver Enable deassertion time This 5-bit value defines the time between the end of the last stop bit, in a transmitted message, and the de-activation of the DE (Driver Enable) signal. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). If the USART_TDR register is written during the DEDT time, the new data is transmitted only when the DEDT and DEAT times have both elapsed. This bitfield can only be written when the USART is disabled (UE=0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values: 0x0-0x1f

DEAT

Bits 21-25: Driver Enable assertion time This 5-bit value defines the time between the activation of the DE (Driver Enable) signal and the beginning of the start bit. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). This bitfield can only be written when the USART is disabled (UE=0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values: 0x0-0x1f

RTOIE

Bit 26: Receiver timeout interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. ..

Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An USART interrupt is generated when the RTOF bit is set in the ISR register

EOBIE

Bit 27: End of Block interrupt enable This bit is set and cleared by software. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: A USART interrupt is generated when the EOBF flag is set in the ISR register

M1

Bit 28: Word length This bit must be used in conjunction with bit 12 (M0) to determine the word length. It is set or cleared by software. M[1:0] = ‘00’: 1 start bit, 8 Data bits, n Stop bit M[1:0] = ‘01’: 1 start bit, 9 Data bits, n Stop bit M[1:0] = ‘10’: 1 start bit, 7 Data bits, n Stop bit This bit can only be written when the USART is disabled (UE=0). Note: In 7-bits data length mode, the Smartcard mode, LIN master mode and auto baud rate (0x7F and 0x55 frames detection) are not supported..

Allowed values:
0: M0: Use M0 to set the data bits
1: Bit7: 1 start bit, 7 data bits, n stop bits

FIFOEN

Bit 29: FIFO mode enable This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE=0). Note: FIFO mode can be used on standard UART communication, in SPI Master/Slave mode and in Smartcard modes only. It must not be enabled in IrDA and LIN modes..

Allowed values:
0: Disabled: FIFO mode is disabled
1: Enabled: FIFO mode is enabled

TXFEIE

Bit 30: TXFIFO empty interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when TXFE = 1 in the USART_ISR register

RXFFIE

Bit 31: RXFIFO Full interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when RXFF = 1 in the USART_ISR register

CR2

USART control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

20/20 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADD
rw
RTOEN
rw
ABRMOD
rw
ABREN
rw
MSBFIRST
rw
DATAINV
rw
TXINV
rw
RXINV
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SWAP
rw
LINEN
rw
STOP
rw
CLKEN
rw
CPOL
rw
CPHA
rw
LBCL
rw
LBDIE
rw
LBDL
rw
ADDM7
rw
DIS_NSS
rw
SLVEN
rw
Toggle fields

SLVEN

Bit 0: Synchronous Slave mode enable When the SLVEN bit is set, the Synchronous slave mode is enabled. Note: When SPI slave mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Slave mode disabled
1: Enabled: Slave mode enabled

DIS_NSS

Bit 3: When the DIS_NSS bit is set, the NSS pin input is ignored. Note: When SPI slave mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: SPI slave selection depends on NSS input pin
1: Enabled: SPI slave is always selected and NSS input pin is ignored

ADDM7

Bit 4: 7-bit Address Detection/4-bit Address Detection This bit is for selection between 4-bit address detection or 7-bit address detection. This bit can only be written when the USART is disabled (UE=0) Note: In 7-bit and 9-bit data modes, the address detection is done on 6-bit and 8-bit address (ADD[5:0] and ADD[7:0]) respectively..

Allowed values:
0: Bit4: 4-bit address detection
1: Bit7: 7-bit address detection

LBDL

Bit 5: LIN break detection length This bit is for selection between 11 bit or 10 bit break detection. This bit can only be written when the USART is disabled (UE=0). Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Bit10: 10-bit break detection
1: Bit11: 11-bit break detection

LBDIE

Bit 6: LIN break detection interrupt enable Break interrupt mask (break detection using break delimiter). Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An interrupt is generated whenever LBDF=1 in the ISR register

LBCL

Bit 8: Last bit clock pulse This bit is used to select whether the clock pulse associated with the last data bit transmitted (MSB) has to be output on the SCLK pin in Synchronous mode. The last bit is the 7th or 8th or 9th data bit transmitted depending on the 7 or 8 or 9 bit format selected by the M bit in the USART_CR1 register. This bit can only be written when the USART is disabled (UE=0). Note: If Synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: NotOutput: The clock pulse of the last data bit is not output to the CK pin
1: Output: The clock pulse of the last data bit is output to the CK pin

CPHA

Bit 9: Clock phase This bit is used to select the phase of the clock output on the SCLK pin in Synchronous mode. It works in conjunction with the CPOL bit to produce the desired clock/data relationship (see and ) This bit can only be written when the USART is disabled (UE=0). Note: If Synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: First: The first clock transition is the first data capture edge
1: Second: The second clock transition is the first data capture edge

CPOL

Bit 10: Clock polarity This bit enables the user to select the polarity of the clock output on the SCLK pin in Synchronous mode. It works in conjunction with the CPHA bit to produce the desired clock/data relationship This bit can only be written when the USART is disabled (UE=0). Note: If Synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Low: Steady low value on CK pin outside transmission window
1: High: Steady high value on CK pin outside transmission window

CLKEN

Bit 11: Clock enable This bit enables the user to enable the SCLK pin. This bit can only be written when the USART is disabled (UE=0). Note: If neither Synchronous mode nor Smartcard mode is supported, this bit is reserved and must be kept at reset value. Refer to . In Smartcard mode, in order to provide correctly the SCLK clock to the smartcard, the steps below must be respected: UE = 0 SCEN = 1 GTPR configuration CLKEN= 1 UE = 1.

Allowed values:
0: Disabled: CK pin disabled
1: Enabled: CK pin enabled

STOP

Bits 12-13: stop bits These bits are used for programming the stop bits. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Stop1: 1 stop bit
1: Stop0p5: 0.5 stop bit
2: Stop2: 2 stop bit
3: Stop1p5: 1.5 stop bit

LINEN

Bit 14: LIN mode enable This bit is set and cleared by software. The LIN mode enables the capability to send LIN synchronous breaks (13 low bits) using the SBKRQ bit in the USART_CR1 register, and to detect LIN Sync breaks. This bitfield can only be written when the USART is disabled (UE=0). Note: If the USART does not support LIN mode, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: LIN mode disabled
1: Enabled: LIN mode enabled

SWAP

Bit 15: Swap TX/RX pins This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Standard: TX/RX pins are used as defined in standard pinout
1: Swapped: The TX and RX pins functions are swapped

RXINV

Bit 16: RX pin active level inversion This bit is set and cleared by software. This enables the use of an external inverter on the RX line. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Standard: RX pin signal works using the standard logic levels
1: Inverted: RX pin signal values are inverted

TXINV

Bit 17: TX pin active level inversion This bit is set and cleared by software. This enables the use of an external inverter on the TX line. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Standard: TX pin signal works using the standard logic levels
1: Inverted: TX pin signal values are inverted

DATAINV

Bit 18: Binary data inversion This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Positive: Logical data from the data register are send/received in positive/direct logic
1: Negative: Logical data from the data register are send/received in negative/inverse logic

MSBFIRST

Bit 19: Most significant bit first This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: LSB: data is transmitted/received with data bit 0 first, following the start bit
1: MSB: data is transmitted/received with MSB (bit 7/8/9) first, following the start bit

ABREN

Bit 20: Auto baud rate enable This bit is set and cleared by software. Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Auto baud rate detection is disabled
1: Enabled: Auto baud rate detection is enabled

ABRMOD

Bits 21-22: Auto baud rate mode These bits are set and cleared by software. This bitfield can only be written when ABREN = 0 or the USART is disabled (UE=0). Note: If DATAINV=1 and/or MSBFIRST=1 the patterns must be the same on the line, for example 0xAA for MSBFIRST) If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Start: Measurement of the start bit is used to detect the baud rate
1: Edge: Falling edge to falling edge measurement
2: Frame7F: 0x7F frame detection
3: Frame55: 0x55 frame detection

RTOEN

Bit 23: Receiver timeout enable This bit is set and cleared by software. When this feature is enabled, the RTOF flag in the USART_ISR register is set if the RX line is idle (no reception) for the duration programmed in the RTOR (receiver timeout register). Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Receiver timeout feature disabled
1: Enabled: Receiver timeout feature enabled

ADD

Bits 24-31: Address of the USART node These bits give the address of the USART node in Mute mode or a character code to be recognized in low-power or Run mode: In Mute mode: they are used in multiprocessor communication to wakeup from Mute mode with 4-bit/7-bit address mark detection. The MSB of the character sent by the transmitter should be equal to 1. In 4-bit address mark detection, only ADD[3:0] bits are used. In low-power mode: they are used for wake up from low-power mode on character match. When WUS[1:0] is programmed to 0b00 (WUF active on address match), the wakeup from low-power mode is performed when the received character corresponds to the character programmed through ADD[6:0] or ADD[3:0] bitfield (depending on ADDM7 bit), and WUF interrupt is enabled by setting WUFIE bit. The MSB of the character sent by transmitter should be equal to 1. In Run mode with Mute mode inactive (for example, end-of-block detection in ModBus protocol): the whole received character (8 bits) is compared to ADD[7:0] value and CMF flag is set on match. An interrupt is generated if the CMIE bit is set. These bits can only be written when the reception is disabled (RE = 0) or when the USART is disabled (UE = 0)..

Allowed values: 0x0-0xff

CR3

USART control register 3

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

24/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXFTCFG
rw
RXFTIE
rw
RXFTCFG
rw
TCBGTIE
rw
TXFTIE
rw
WUFIE
rw
WUS
N/A
SCARCNT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DEP
rw
DEM
rw
DDRE
rw
OVRDIS
rw
ONEBIT
rw
CTSIE
rw
CTSE
rw
RTSE
rw
DMAT
rw
DMAR
rw
SCEN
rw
NACK
rw
HDSEL
rw
IRLP
rw
IREN
rw
EIE
rw
Toggle fields

EIE

Bit 0: Error interrupt enable Error Interrupt Enable Bit is required to enable interrupt generation in case of a framing error, overrun error noise flag or SPI slave underrun error (FE=1 or ORE=1 or NE=1or UDR = 1 in the USART_ISR register)..

Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An interrupt is generated when FE=1 or ORE=1 or NF=1 in the ISR register

IREN

Bit 1: IrDA mode enable This bit is set and cleared by software. This bit can only be written when the USART is disabled (UE=0). Note: If IrDA mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: IrDA disabled
1: Enabled: IrDA enabled

IRLP

Bit 2: IrDA low-power This bit is used for selecting between normal and low-power IrDA modes This bit can only be written when the USART is disabled (UE=0). Note: If IrDA mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Normal: Normal mode
1: LowPower: Low-power mode

HDSEL

Bit 3: Half-duplex selection Selection of Single-wire Half-duplex mode This bit can only be written when the USART is disabled (UE=0)..

Allowed values:
0: NotSelected: Half duplex mode is not selected
1: Selected: Half duplex mode is selected

NACK

Bit 4: Smartcard NACK enable This bitfield can only be written when the USART is disabled (UE=0). Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: NACK transmission in case of parity error is disabled
1: Enabled: NACK transmission during parity error is enabled

SCEN

Bit 5: Smartcard mode enable This bit is used for enabling Smartcard mode. This bitfield can only be written when the USART is disabled (UE=0). Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Smartcard Mode disabled
1: Enabled: Smartcard Mode enabled

DMAR

Bit 6: DMA enable receiver This bit is set/reset by software.

Allowed values:
0: Disabled: DMA mode is disabled for reception
1: Enabled: DMA mode is enabled for reception

DMAT

Bit 7: DMA enable transmitter This bit is set/reset by software.

Allowed values:
0: Disabled: DMA mode is disabled for transmission
1: Enabled: DMA mode is enabled for transmission

RTSE

Bit 8: RTS enable This bit can only be written when the USART is disabled (UE=0). Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: RTS hardware flow control disabled
1: Enabled: RTS output enabled, data is only requested when there is space in the receive buffer

CTSE

Bit 9: CTS enable This bit can only be written when the USART is disabled (UE=0) Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: CTS hardware flow control disabled
1: Enabled: CTS mode enabled, data is only transmitted when the CTS input is asserted

CTSIE

Bit 10: CTS interrupt enable Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An interrupt is generated whenever CTSIF=1 in the ISR register

ONEBIT

Bit 11: One sample bit method enable This bit enables the user to select the sample method. When the one sample bit method is selected the noise detection flag (NE) is disabled. This bit can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Sample3: Three sample bit method
1: Sample1: One sample bit method

OVRDIS

Bit 12: Overrun Disable This bit is used to disable the receive overrun detection. the ORE flag is not set and the new received data overwrites the previous content of the USART_RDR register. When FIFO mode is enabled, the RXFIFO is bypassed and data are written directly in USART_RDR register. Even when FIFO management is enabled, the RXNE flag is to be used. This bit can only be written when the USART is disabled (UE=0). Note: This control bit enables checking the communication flow w/o reading the data.

Allowed values:
0: Enabled: Overrun Error Flag, ORE, is set when received data is not read before receiving new data
1: Disabled: Overrun functionality is disabled. If new data is received while the RXNE flag is still set the ORE flag is not set and the new received data overwrites the previous content of the RDR register

DDRE

Bit 13: DMA Disable on Reception Error This bit can only be written when the USART is disabled (UE=0). Note: The reception errors are: parity error, framing error or noise error..

Allowed values:
0: NotDisabled: DMA is not disabled in case of reception error
1: Disabled: DMA is disabled following a reception error

DEM

Bit 14: Driver enable mode This bit enables the user to activate the external transceiver control, through the DE signal. This bit can only be written when the USART is disabled (UE=0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. ..

Allowed values:
0: Disabled: DE function is disabled
1: Enabled: The DE signal is output on the RTS pin

DEP

Bit 15: Driver enable polarity selection This bit can only be written when the USART is disabled (UE=0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: High: DE signal is active high
1: Low: DE signal is active low

SCARCNT

Bits 17-19: Smartcard auto-retry count This bitfield specifies the number of retries for transmission and reception in Smartcard mode. In Transmission mode, it specifies the number of automatic retransmission retries, before generating a transmission error (FE bit set). In Reception mode, it specifies the number or erroneous reception trials, before generating a reception error (RXNE/RXFNE and PE bits set). This bitfield must be programmed only when the USART is disabled (UE=0). When the USART is enabled (UE=1), this bitfield may only be written to 0x0, in order to stop retransmission. Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values: 0x0-0x7

WUS

Bits 20-21: Wakeup from low-power mode interrupt flag selection This bitfield specifies the event which activates the WUF (Wakeup from low-power mode flag). This bitfield can only be written when the USART is disabled (UE=0). Note: If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page 2297..

Allowed values:
0: Address: WUF active on address match
2: Start: WuF active on Start bit detection
3: RXNE: WUF active on RXNE

WUFIE

Bit 22: Wakeup from low-power mode interrupt enable This bit is set and cleared by software. Note: WUFIE must be set before entering in low-power mode. If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page 2297..

Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An USART interrupt is generated whenever WUF=1 in the ISR register

TXFTIE

Bit 23: TXFIFO threshold interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when Transmit FIFO reaches the threshold programmed in TXFTCFG

TCBGTIE

Bit 24: Transmission Complete before guard time, interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Smartcard mode, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated whenever TCBGT=1 in the USART_ISR register

RXFTCFG

Bits 25-27: Receive FIFO threshold configuration Remaining combinations: Reserved.

Allowed values:
0: Depth_1_8: RXFIFO reaches 1/8 of its depth
1: Depth_1_4: RXFIFO reaches 1/4 of its depth
2: Depth_1_2: RXFIFO reaches 1/2 of its depth
3: Depth_3_4: RXFIFO reaches 3/4 of its depth
4: Depth_7_8: RXFIFO reaches 7/8 of its depth
5: Full: RXFIFO becomes full

RXFTIE

Bit 28: RXFIFO threshold interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when Receive FIFO reaches the threshold programmed in RXFTCFG

TXFTCFG

Bits 29-31: TXFIFO threshold configuration Remaining combinations: Reserved.

Allowed values:
0: Depth_1_8: TXFIFO reaches 1/8 of its depth
1: Depth_1_4: TXFIFO reaches 1/4 of its depth
2: Depth_1_2: TXFIFO reaches 1/2 of its depth
3: Depth_3_4: TXFIFO reaches 3/4 of its depth
4: Depth_7_8: TXFIFO reaches 7/8 of its depth
5: Empty: TXFIFO becomes empty

BRR

USART baud rate register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BRR
rw
Toggle fields

BRR

Bits 0-15: USART baud rate BRR[15:4] BRR[15:4] correspond to USARTDIV[15:4] BRR[3:0] When OVER8 = 0, BRR[3:0] = USARTDIV[3:0]. When OVER8 = 1: BRR[2:0] = USARTDIV[3:0] shifted 1 bit to the right. BRR[3] must be kept cleared..

Allowed values: 0x0-0xffff

GTPR

USART guard time and prescaler register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
GT
rw
PSC
rw
Toggle fields

PSC

Bits 0-7: Prescaler value PSC[7:0] = IrDA Normal and Low-power baud rate This bitfield is used for programming the prescaler for dividing the USART source clock to achieve the low-power frequency: The source clock is divided by the value given in the register (8 significant bits): ... PSC[4:0]: Prescaler value This bitfield is used for programming the prescaler for dividing the USART source clock to provide the Smartcard clock. The value given in the register (5 significant bits) is multiplied by 2 to give the division factor of the source clock frequency: ... This bitfield can only be written when the USART is disabled (UE=0). Note: Bits [7:5] must be kept cleared if Smartcard mode is used. This bitfield is reserved and forced by hardware to ‘0’ when the Smartcard and IrDA modes are not supported. Refer to ..

Allowed values: 0x0-0xff

GT

Bits 8-15: Guard time value This bitfield is used to program the Guard time value in terms of number of baud clock periods. This is used in Smartcard mode. The Transmission Complete flag is set after this guard time value. This bitfield can only be written when the USART is disabled (UE=0). Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values: 0x0-0xff

RTOR

USART receiver timeout register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BLEN
rw
RTO
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RTO
rw
Toggle fields

RTO

Bits 0-23: Receiver timeout value This bitfield gives the Receiver timeout value in terms of number of bit duration. In Standard mode, the RTOF flag is set if, after the last received character, no new start bit is detected for more than the RTO value. In Smartcard mode, this value is used to implement the CWT and BWT. See Smartcard chapter for more details. In the standard, the CWT/BWT measurement is done starting from the start bit of the last received character. Note: This value must only be programmed once per received character..

Allowed values: 0x0-0xffffff

BLEN

Bits 24-31: Block Length This bitfield gives the Block length in Smartcard T=1 Reception. Its value equals the number of information characters + the length of the Epilogue Field (1-LEC/2-CRC) - 1. Examples: BLEN = 0 -> 0 information characters + LEC BLEN = 1 -> 0 information characters + CRC BLEN = 255 -> 254 information characters + CRC (total 256 characters)) In Smartcard mode, the Block length counter is reset when TXE=0 (TXFE = 0 in case FIFO mode is enabled). This bitfield can be used also in other modes. In this case, the Block length counter is reset when RE=0 (receiver disabled) and/or when the EOBCF bit is written to 1. Note: This value can be programmed after the start of the block reception (using the data from the LEN character in the Prologue Field). It must be programmed only once per received block..

Allowed values: 0x0-0xff

RQR

USART request register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXFRQ
w
RXFRQ
w
MMRQ
w
SBKRQ
w
ABRRQ
w
Toggle fields

ABRRQ

Bit 0: auto baud rate request Writing 1 to this bit resets the ABRF and ABRE flags in the USART_ISR and requests an automatic baud rate measurement on the next received data frame. Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
1: Request: resets the ABRF flag in the USART_ISR and request an automatic baud rate measurement on the next received data frame

SBKRQ

Bit 1: Send break request Writing 1 to this bit sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available. Note: When the application needs to send the break character following all previously inserted data, including the ones not yet transmitted, the software should wait for the TXE flag assertion before setting the SBKRQ bit..

Allowed values:
1: Break: sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available

MMRQ

Bit 2: Mute mode request Writing 1 to this bit puts the USART in Mute mode and resets the RWU flag..

Allowed values:
1: Mute: Puts the USART in mute mode and sets the RWU flag

RXFRQ

Bit 3: Receive data flush request Writing 1 to this bit empties the entire receive FIFO i.e. clears the bit RXFNE. This enables to discard the received data without reading them, and avoid an overrun condition..

Allowed values:
1: Discard: clears the RXNE flag. This allows to discard the received data without reading it, and avoid an overrun condition

TXFRQ

Bit 4: Transmit data flush request When FIFO mode is disabled, writing ‘1’ to this bit sets the TXE flag. This enables to discard the transmit data. This bit must be used only in Smartcard mode, when data have not been sent due to errors (NACK) and the FE flag is active in the USART_ISR register. If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. When FIFO is enabled, TXFRQ bit is set to flush the whole FIFO. This sets the TXFE flag (Transmit FIFO empty, bit 23 in the USART_ISR register). Flushing the Transmit FIFO is supported in both UART and Smartcard modes. Note: In FIFO mode, the TXFNF flag is reset during the flush request until TxFIFO is empty in order to ensure that no data are written in the data register..

Allowed values:
1: Discard: Set the TXE flags. This allows to discard the transmit data

ISR

USART interrupt and status register

Offset: 0x1c, size: 32, reset: 0x000000C0, access: Unspecified

28/28 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXFT
r
RXFT
r
TCBGT
r
RXFF
r
TXFE
r
REACK
r
TEACK
r
WUF
r
RWU
r
SBKF
r
CMF
r
BUSY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ABRF
r
ABRE
r
UDR
r
EOBF
r
RTOF
r
CTS
r
CTSIF
r
LBDF
r
TXFNF
r
TC
r
RXFNE
r
IDLE
r
ORE
r
NE
r
FE
r
PE
r
Toggle fields

PE

Bit 0: Parity error This bit is set by hardware when a parity error occurs in Reception mode. It is cleared by software, writing 1 to the PECF in the USART_ICR register. An interrupt is generated if PEIE = 1 in the USART_CR1 register. Note: This error is associated with the character in the USART_RDR..

FE

Bit 1: Framing error This bit is set by hardware when a de-synchronization, excessive noise or a break character is detected. It is cleared by software, writing 1 to the FECF bit in the USART_ICR register. When transmitting data in Smartcard mode, this bit is set when the maximum number of transmit attempts is reached without success (the card NACKs the data frame). An interrupt is generated if EIE = 1 in the USART_CR1 register. Note: This error is associated with the character in the USART_RDR..

NE

Bit 2: Noise detection flag This bit is set by hardware when noise is detected on a received frame. It is cleared by software, writing 1 to the NFCF bit in the USART_ICR register. Note: This bit does not generate an interrupt as it appears at the same time as the RXFNE bit which itself generates an interrupt. An interrupt is generated when the NE flag is set during multi buffer communication if the EIE bit is set. When the line is noise-free, the NE flag can be disabled by programming the ONEBIT bit to 1 to increase the USART tolerance to deviations (Refer to Tolerance of the USART receiver to clock deviation on page 2317). This error is associated with the character in the USART_RDR..

ORE

Bit 3: Overrun error This bit is set by hardware when the data currently being received in the shift register is ready to be transferred into the USART_RDR register while RXFF = 1. It is cleared by a software, writing 1 to the ORECF, in the USART_ICR register. An interrupt is generated if RXFNEIE=1 or EIE = 1 in the USART_CR1 register. Note: When this bit is set, the USART_RDR register content is not lost but the shift register is overwritten. An interrupt is generated if the ORE flag is set during multi buffer communication if the EIE bit is set. This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the USART_CR3 register..

IDLE

Bit 4: Idle line detected This bit is set by hardware when an Idle Line is detected. An interrupt is generated if IDLEIE=1 in the USART_CR1 register. It is cleared by software, writing 1 to the IDLECF in the USART_ICR register. Note: The IDLE bit is not set again until the RXFNE bit has been set (i.e. a new idle line occurs). If Mute mode is enabled (MME=1), IDLE is set if the USART is not mute (RWU=0), whatever the Mute mode selected by the WAKE bit. If RWU=1, IDLE is not set..

RXFNE

Bit 5: RXFIFO not empty RXFNE bit is set by hardware when the RXFIFO is not empty, meaning that data can be read from the USART_RDR register. Every read operation from the USART_RDR frees a location in the RXFIFO. RXFNE is cleared when the RXFIFO is empty. The RXFNE flag can also be cleared by writing 1 to the RXFRQ in the USART_RQR register. An interrupt is generated if RXFNEIE=1 in the USART_CR1 register..

TC

Bit 6: Transmission complete This bit indicates that the last data written in the USART_TDR has been transmitted out of the shift register. The TC flag behaves as follows: When TDN = 0, the TC flag is set when the transmission of a frame containing data is complete and when TXE/TXFE is set. When TDN is equal to the number of data in the TXFIFO, the TC flag is set when TXFIFO is empty and TDN is reached. When TDN is greater than the number of data in the TXFIFO, TC remains cleared until the TXFIFO is filled again to reach the programmed number of data to be transferred. When TDN is less than the number of data in the TXFIFO, TC is set when TDN is reached even if the TXFIFO is not empty. An interrupt is generated if TCIE=1 in the USART_CR1 register. TC bit is cleared by software by writing 1 to the TCCF in the USART_ICR register or by writing to the USART_TDR register..

TXFNF

Bit 7: TXFIFO not full TXFNF is set by hardware when TXFIFO is not full meaning that data can be written in the USART_TDR. Every write operation to the USART_TDR places the data in the TXFIFO. This flag remains set until the TXFIFO is full. When the TXFIFO is full, this flag is cleared indicating that data can not be written into the USART_TDR. An interrupt is generated if the TXFNFIE bit =1 in the USART_CR1 register. Note: The TXFNF is kept reset during the flush request until TXFIFO is empty. After sending the flush request (by setting TXFRQ bit), the flag TXFNF should be checked prior to writing in TXFIFO (TXFNF and TXFE is set at the same time). This bit is used during single buffer transmission..

LBDF

Bit 8: LIN break detection flag This bit is set by hardware when the LIN break is detected. It is cleared by software, by writing 1 to the LBDCF in the USART_ICR. An interrupt is generated if LBDIE = 1 in the USART_CR2 register. Note: If the USART does not support LIN mode, this bit is reserved and kept at reset value. Refer to ..

CTSIF

Bit 9: CTS interrupt flag This bit is set by hardware when the nCTS input toggles, if the CTSE bit is set. It is cleared by software, by writing 1 to the CTSCF bit in the USART_ICR register. An interrupt is generated if CTSIE=1 in the USART_CR3 register. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

CTS

Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the nCTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

RTOF

Bit 11: Receiver timeout This bit is set by hardware when the timeout value, programmed in the RTOR register has lapsed, without any communication. It is cleared by software, writing 1 to the RTOCF bit in the USART_ICR register. An interrupt is generated if RTOIE=1 in the USART_CR2 register. In Smartcard mode, the timeout corresponds to the CWT or BWT timings. Note: If a time equal to the value programmed in RTOR register separates 2 characters, RTOF is not set. If this time exceeds this value + 2 sample times (2/16 or 2/8, depending on the oversampling method), RTOF flag is set. The counter counts even if RE = 0 but RTOF is set only when RE = 1. If the timeout has already elapsed when RE is set, then RTOF is set. If the USART does not support the Receiver timeout feature, this bit is reserved and kept at reset value..

EOBF

Bit 12: End of block flag This bit is set by hardware when a complete block has been received (for example T=1 Smartcard mode). The detection is done when the number of received bytes (from the start of the block, including the prologue) is equal or greater than BLEN + 4. An interrupt is generated if EOBIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to EOBCF in the USART_ICR register. Note: If Smartcard mode is not supported, this bit is reserved and kept at reset value. Refer to ..

UDR

Bit 13: SPI slave underrun error flag In Slave transmission mode, this flag is set when the first clock pulse for data transmission appears while the software has not yet loaded any value into USART_TDR. This flag is reset by setting UDRCF bit in the USART_ICR register. Note: If the USART does not support the SPI slave mode, this bit is reserved and kept at reset value. Refer to ..

ABRE

Bit 14: Auto baud rate error This bit is set by hardware if the baud rate measurement failed (baud rate out of range or character comparison failed) It is cleared by software, by writing 1 to the ABRRQ bit in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

ABRF

Bit 15: Auto baud rate flag This bit is set by hardware when the automatic baud rate has been set (RXFNE is also set, generating an interrupt if RXFNEIE = 1) or when the auto baud rate operation was completed without success (ABRE=1) (ABRE, RXFNE and FE are also set in this case) It is cleared by software, in order to request a new auto baud rate detection, by writing 1 to the ABRRQ in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

BUSY

Bit 16: Busy flag This bit is set and reset by hardware. It is active when a communication is ongoing on the RX line (successful start bit detected). It is reset at the end of the reception (successful or not)..

CMF

Bit 17: Character match flag This bit is set by hardware, when a the character defined by ADD[7:0] is received. It is cleared by software, writing 1 to the CMCF in the USART_ICR register. An interrupt is generated if CMIE=1in the USART_CR1 register..

SBKF

Bit 18: Send break flag This bit indicates that a send break character was requested. It is set by software, by writing 1 to the SBKRQ bit in the USART_CR3 register. It is automatically reset by hardware during the stop bit of break transmission..

RWU

Bit 19: Receiver wakeup from Mute mode This bit indicates if the USART is in Mute mode. It is cleared/set by hardware when a wakeup/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the USART_CR1 register. When wakeup on IDLE mode is selected, this bit can only be set by software, writing 1 to the MMRQ bit in the USART_RQR register. Note: If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..

WUF

Bit 20: Wakeup from low-power mode flag This bit is set by hardware, when a wakeup event is detected. The event is defined by the WUS bitfield. It is cleared by software, writing a 1 to the WUCF in the USART_ICR register. An interrupt is generated if WUFIE=1 in the USART_CR3 register. Note: When UESM is cleared, WUF flag is also cleared. If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..

TEACK

Bit 21: Transmit enable acknowledge flag This bit is set/reset by hardware, when the Transmit Enable value is taken into account by the USART. It can be used when an idle frame request is generated by writing TE=0, followed by TE=1 in the USART_CR1 register, in order to respect the TE=0 minimum period..

REACK

Bit 22: Receive enable acknowledge flag This bit is set/reset by hardware, when the Receive Enable value is taken into account by the USART. It can be used to verify that the USART is ready for reception before entering low-power mode. Note: If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..

TXFE

Bit 23: TXFIFO Empty This bit is set by hardware when TXFIFO is Empty. When the TXFIFO contains at least one data, this flag is cleared. The TXFE flag can also be set by writing 1 to the bit TXFRQ (bit 4) in the USART_RQR register. An interrupt is generated if the TXFEIE bit =1 (bit 30) in the USART_CR1 register..

RXFF

Bit 24: RXFIFO Full This bit is set by hardware when the number of received data corresponds to RXFIFO size + 1 (RXFIFO full + 1 data in the USART_RDR register. An interrupt is generated if the RXFFIE bit =1 in the USART_CR1 register..

TCBGT

Bit 25: Transmission complete before guard time flag This bit is set when the last data written in the USART_TDR has been transmitted correctly out of the shift register. It is set by hardware in Smartcard mode, if the transmission of a frame containing data is complete and if the smartcard did not send back any NACK. An interrupt is generated if TCBGTIE=1 in the USART_CR3 register. This bit is cleared by software, by writing 1 to the TCBGTCF in the USART_ICR register or by a write to the USART_TDR register. Note: If the USART does not support the Smartcard mode, this bit is reserved and kept at reset value. If the USART supports the Smartcard mode and the Smartcard mode is enabled, the TCBGT reset value is ‘1’. Refer to on page 2297..

Allowed values:
0: NotCompleted: Transmission not completed
1: Completed: Transmission has completed

RXFT

Bit 26: RXFIFO threshold flag This bit is set by hardware when the threshold programmed in RXFTCFG in USART_CR3 register is reached. This means that there are (RXFTCFG - 1) data in the Receive FIFO and one data in the USART_RDR register. An interrupt is generated if the RXFTIE bit =1 (bit 27) in the USART_CR3 register. Note: When the RXFTCFG threshold is configured to ‘101’, RXFT flag is set if 16 data are available i.e. 15 data in the RXFIFO and 1 data in the USART_RDR. Consequently, the 17th received data does not cause an overrun error. The overrun error occurs after receiving the 18th data..

TXFT

Bit 27: TXFIFO threshold flag This bit is set by hardware when the TXFIFO reaches the threshold programmed in TXFTCFG of USART_CR3 register i.e. the TXFIFO contains TXFTCFG empty locations. An interrupt is generated if the TXFTIE bit =1 (bit 31) in the USART_CR3 register..

ICR

USART interrupt flag clear register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

15/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
WUCF
w
CMCF
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UDRCF
w
EOBCF
w
RTOCF
w
CTSCF
w
LBDCF
w
TCBGTCF
w
TCCF
w
TXFECF
w
IDLECF
w
ORECF
w
NECF
w
FECF
w
PECF
w
Toggle fields

PECF

Bit 0: Parity error clear flag Writing 1 to this bit clears the PE flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the PE flag in the ISR register

FECF

Bit 1: Framing error clear flag Writing 1 to this bit clears the FE flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the FE flag in the ISR register

NECF

Bit 2: Noise detected clear flag Writing 1 to this bit clears the NE flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the NF flag in the ISR register

ORECF

Bit 3: Overrun error clear flag Writing 1 to this bit clears the ORE flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the ORE flag in the ISR register

IDLECF

Bit 4: Idle line detected clear flag Writing 1 to this bit clears the IDLE flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the IDLE flag in the ISR register

TXFECF

Bit 5: TXFIFO empty clear flag Writing 1 to this bit clears the TXFE flag in the USART_ISR register..

Allowed values:
1: Clear: Clear the TXFE flag in the ISR register

TCCF

Bit 6: Transmission complete clear flag Writing 1 to this bit clears the TC flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the TC flag in the ISR register

TCBGTCF

Bit 7: Transmission complete before Guard time clear flag Writing 1 to this bit clears the TCBGT flag in the USART_ISR register..

Allowed values:
1: Clear: Clear the TCBGT flag in the ISR register

LBDCF

Bit 8: LIN break detection clear flag Writing 1 to this bit clears the LBDF flag in the USART_ISR register. Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
1: Clear: Clears the LBDF flag in the ISR register

CTSCF

Bit 9: CTS clear flag Writing 1 to this bit clears the CTSIF flag in the USART_ISR register. Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
1: Clear: Clears the CTSIF flag in the ISR register

RTOCF

Bit 11: Receiver timeout clear flag Writing 1 to this bit clears the RTOF flag in the USART_ISR register. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Refer to page 2297..

Allowed values:
1: Clear: Clears the RTOF flag in the ISR register

EOBCF

Bit 12: End of block clear flag Writing 1 to this bit clears the EOBF flag in the USART_ISR register. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
1: Clear: Clears the EOBF flag in the ISR register

UDRCF

Bit 13: SPI slave underrun clear flag Writing 1 to this bit clears the UDRF flag in the USART_ISR register. Note: If the USART does not support SPI slave mode, this bit is reserved and must be kept at reset value. Refer to.

Allowed values:
1: Clear: Clear the UDR flag in the ISR register

CMCF

Bit 17: Character match clear flag Writing 1 to this bit clears the CMF flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the CMF flag in the ISR register

WUCF

Bit 20: Wakeup from low-power mode clear flag Writing 1 to this bit clears the WUF flag in the USART_ISR register. Note: If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page 2297..

Allowed values:
1: Clear: Clears the WUF flag in the ISR register

RDR

USART receive data register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RDR
r
Toggle fields

RDR

Bits 0-8: Receive data value Contains the received data character. The RDR register provides the parallel interface between the input shift register and the internal bus (see ). When receiving with the parity enabled, the value read in the MSB bit is the received parity bit..

Allowed values: 0x0-0x1ff

TDR

USART transmit data register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDR
rw
Toggle fields

TDR

Bits 0-8: Transmit data value Contains the data character to be transmitted. The USART_TDR register provides the parallel interface between the internal bus and the output shift register (see ). When transmitting with the parity enabled (PCE bit set to 1 in the USART_CR1 register), the value written in the MSB (bit 7 or bit 8 depending on the data length) has no effect because it is replaced by the parity. Note: This register must be written only when TXE/TXFNF=1..

Allowed values: 0x0-0x1ff

PRESC

USART prescaler register

Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRESCALER
rw
Toggle fields

PRESCALER

Bits 0-3: Clock prescaler The USART input clock can be divided by a prescaler factor: Remaining combinations: Reserved Note: When PRESCALER is programmed with a value different of the allowed ones, programmed prescaler value is equal to ‘1011’ i.e. input clock divided by 256..

Allowed values:
0: Div1: Input clock divided by 1
1: Div2: Input clock divided by 2
2: Div4: Input clock divided by 4
3: Div6: Input clock divided by 6
4: Div8: Input clock divided by 8
5: Div10: Input clock divided by 10
6: Div12: Input clock divided by 12
7: Div16: Input clock divided by 16
8: Div32: Input clock divided by 32
9: Div64: Input clock divided by 64
10: Div128: Input clock divided by 128
11: Div256: Input clock divided by 256

USART3

0x40004800: Universal synchronous asynchronous receiver transmitter

124/124 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CR1
0x4 CR2
0x8 CR3
0xc BRR
0x10 GTPR
0x14 RTOR
0x18 RQR
0x1c ISR
0x20 ICR
0x24 RDR
0x28 TDR
0x2c PRESC
Toggle registers

CR1

USART control register 1 [alternate]

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

24/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
RXFFIE
rw
TXFEIE
rw
FIFOEN
rw
M1
rw
EOBIE
rw
RTOIE
rw
DEAT
rw
DEDT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OVER8
rw
CMIE
rw
MME
rw
M0
rw
WAKE
rw
PCE
rw
PS
rw
PEIE
rw
TXEIE
rw
TCIE
rw
RXNEIE
rw
IDLEIE
rw
TE
rw
RE
rw
UESM
rw
UE
rw
Toggle fields

UE

Bit 0: USART enable When this bit is cleared, the USART prescalers and outputs are stopped immediately, and all current operations are discarded. The USART configuration is kept, but all the USART_ISR status flags are reset. This bit is set and cleared by software. Note: To enter low-power mode without generating errors on the line, the TE bit must be previously reset and the software must wait for the TC bit in the USART_ISR to be set before resetting the UE bit. The DMA requests are also reset when UE = 0 so the DMA channel must be disabled before resetting the UE bit. In Smartcard mode, (SCEN = 1), the SCLK is always available when CLKEN = 1, regardless of the UE bit value..

Allowed values:
0: Disabled: UART is disabled
1: Enabled: UART is enabled

UESM

Bit 1: USART enable in low-power mode When this bit is cleared, the USART cannot wake up the MCU from low-power mode. When this bit is set, the USART can wake up the MCU from low-power mode. This bit is set and cleared by software. Note: It is recommended to set the UESM bit just before entering low-power mode, and clear it when exiting low-power mode..

Allowed values:
0: Disabled: USART not able to wake up the MCU from Stop mode
1: Enabled: USART able to wake up the MCU from Stop mode

RE

Bit 2: Receiver enable This bit enables the receiver. It is set and cleared by software..

Allowed values:
0: Disabled: Receiver is disabled
1: Enabled: Receiver is enabled

TE

Bit 3: Transmitter enable This bit enables the transmitter. It is set and cleared by software. Note: During transmission, a low pulse on the TE bit (‘0’ followed by ‘1’) sends a preamble (idle line) after the current word, except in Smartcard mode. In order to generate an idle character, the TE must not be immediately written to ‘1’. To ensure the required duration, the software can poll the TEACK bit in the USART_ISR register. In Smartcard mode, when TE is set, there is a 1 bit-time delay before the transmission starts..

Allowed values:
0: Disabled: Transmitter is disabled
1: Enabled: Transmitter is enabled

IDLEIE

Bit 4: IDLE interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt is disabled
1: Enabled: Interrupt is generated whenever IDLE=1 in the ISR register

RXNEIE

Bit 5: RXFIFO not empty interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt is disabled
1: Enabled: Interrupt is generated whenever ORE=1 or RXNE=1 in the ISR register

TCIE

Bit 6: Transmission complete interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt is disabled
1: Enabled: Interrupt is generated whenever TC=1 in the ISR register

TXEIE

Bit 7: TXFIFO not full interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt is disabled
1: Enabled: Interrupt is generated whenever TXE=1 in the ISR register

PEIE

Bit 8: PE interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt is disabled
1: Enabled: Interrupt is generated whenever PE=1 in the ISR register

PS

Bit 9: Parity selection This bit selects the odd or even parity when the parity generation/detection is enabled (PCE bit set). It is set and cleared by software. The parity is selected after the current byte. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Even: Even parity
1: Odd: Odd parity

PCE

Bit 10: Parity control enable This bit selects the hardware parity control (generation and detection). When the parity control is enabled, the computed parity is inserted at the MSB position (9th bit if M=1; 8th bit if M=0) and the parity is checked on the received data. This bit is set and cleared by software. Once it is set, PCE is active after the current byte (in reception and in transmission). This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Disabled: Parity control disabled
1: Enabled: Parity control enabled

WAKE

Bit 11: Receiver wakeup method This bit determines the USART wakeup method from Mute mode. It is set or cleared by software. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Idle: Idle line
1: Address: Address mask

M0

Bit 12: Word length This bit is used in conjunction with bit 28 (M1) to determine the word length. It is set or cleared by software (refer to bit 28 (M1)description). This bit can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Bit8: 1 start bit, 8 data bits, n stop bits
1: Bit9: 1 start bit, 9 data bits, n stop bits

MME

Bit 13: Mute mode enable This bit enables the USART Mute mode function. When set, the USART can switch between active and Mute mode, as defined by the WAKE bit. It is set and cleared by software..

Allowed values:
0: Disabled: Receiver in active mode permanently
1: Enabled: Receiver can switch between mute mode and active mode

CMIE

Bit 14: Character match interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt is disabled
1: Enabled: Interrupt is generated when the CMF bit is set in the ISR register

OVER8

Bit 15: Oversampling mode This bit can only be written when the USART is disabled (UE=0). Note: In LIN, IrDA and Smartcard modes, this bit must be kept cleared..

Allowed values:
0: Oversampling16: Oversampling by 16
1: Oversampling8: Oversampling by 8

DEDT

Bits 16-20: Driver Enable deassertion time This 5-bit value defines the time between the end of the last stop bit, in a transmitted message, and the de-activation of the DE (Driver Enable) signal. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). If the USART_TDR register is written during the DEDT time, the new data is transmitted only when the DEDT and DEAT times have both elapsed. This bitfield can only be written when the USART is disabled (UE=0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values: 0x0-0x1f

DEAT

Bits 21-25: Driver Enable assertion time This 5-bit value defines the time between the activation of the DE (Driver Enable) signal and the beginning of the start bit. It is expressed in sample time units (1/8 or 1/16 bit time, depending on the oversampling rate). This bitfield can only be written when the USART is disabled (UE=0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values: 0x0-0x1f

RTOIE

Bit 26: Receiver timeout interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. ..

Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An USART interrupt is generated when the RTOF bit is set in the ISR register

EOBIE

Bit 27: End of Block interrupt enable This bit is set and cleared by software. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: A USART interrupt is generated when the EOBF flag is set in the ISR register

M1

Bit 28: Word length This bit must be used in conjunction with bit 12 (M0) to determine the word length. It is set or cleared by software. M[1:0] = ‘00’: 1 start bit, 8 Data bits, n Stop bit M[1:0] = ‘01’: 1 start bit, 9 Data bits, n Stop bit M[1:0] = ‘10’: 1 start bit, 7 Data bits, n Stop bit This bit can only be written when the USART is disabled (UE=0). Note: In 7-bits data length mode, the Smartcard mode, LIN master mode and auto baud rate (0x7F and 0x55 frames detection) are not supported..

Allowed values:
0: M0: Use M0 to set the data bits
1: Bit7: 1 start bit, 7 data bits, n stop bits

FIFOEN

Bit 29: FIFO mode enable This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE=0). Note: FIFO mode can be used on standard UART communication, in SPI Master/Slave mode and in Smartcard modes only. It must not be enabled in IrDA and LIN modes..

Allowed values:
0: Disabled: FIFO mode is disabled
1: Enabled: FIFO mode is enabled

TXFEIE

Bit 30: TXFIFO empty interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when TXFE = 1 in the USART_ISR register

RXFFIE

Bit 31: RXFIFO Full interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when RXFF = 1 in the USART_ISR register

CR2

USART control register 2

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

20/20 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
ADD
rw
RTOEN
rw
ABRMOD
rw
ABREN
rw
MSBFIRST
rw
DATAINV
rw
TXINV
rw
RXINV
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SWAP
rw
LINEN
rw
STOP
rw
CLKEN
rw
CPOL
rw
CPHA
rw
LBCL
rw
LBDIE
rw
LBDL
rw
ADDM7
rw
DIS_NSS
rw
SLVEN
rw
Toggle fields

SLVEN

Bit 0: Synchronous Slave mode enable When the SLVEN bit is set, the Synchronous slave mode is enabled. Note: When SPI slave mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Slave mode disabled
1: Enabled: Slave mode enabled

DIS_NSS

Bit 3: When the DIS_NSS bit is set, the NSS pin input is ignored. Note: When SPI slave mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: SPI slave selection depends on NSS input pin
1: Enabled: SPI slave is always selected and NSS input pin is ignored

ADDM7

Bit 4: 7-bit Address Detection/4-bit Address Detection This bit is for selection between 4-bit address detection or 7-bit address detection. This bit can only be written when the USART is disabled (UE=0) Note: In 7-bit and 9-bit data modes, the address detection is done on 6-bit and 8-bit address (ADD[5:0] and ADD[7:0]) respectively..

Allowed values:
0: Bit4: 4-bit address detection
1: Bit7: 7-bit address detection

LBDL

Bit 5: LIN break detection length This bit is for selection between 11 bit or 10 bit break detection. This bit can only be written when the USART is disabled (UE=0). Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Bit10: 10-bit break detection
1: Bit11: 11-bit break detection

LBDIE

Bit 6: LIN break detection interrupt enable Break interrupt mask (break detection using break delimiter). Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An interrupt is generated whenever LBDF=1 in the ISR register

LBCL

Bit 8: Last bit clock pulse This bit is used to select whether the clock pulse associated with the last data bit transmitted (MSB) has to be output on the SCLK pin in Synchronous mode. The last bit is the 7th or 8th or 9th data bit transmitted depending on the 7 or 8 or 9 bit format selected by the M bit in the USART_CR1 register. This bit can only be written when the USART is disabled (UE=0). Note: If Synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: NotOutput: The clock pulse of the last data bit is not output to the CK pin
1: Output: The clock pulse of the last data bit is output to the CK pin

CPHA

Bit 9: Clock phase This bit is used to select the phase of the clock output on the SCLK pin in Synchronous mode. It works in conjunction with the CPOL bit to produce the desired clock/data relationship (see and ) This bit can only be written when the USART is disabled (UE=0). Note: If Synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: First: The first clock transition is the first data capture edge
1: Second: The second clock transition is the first data capture edge

CPOL

Bit 10: Clock polarity This bit enables the user to select the polarity of the clock output on the SCLK pin in Synchronous mode. It works in conjunction with the CPHA bit to produce the desired clock/data relationship This bit can only be written when the USART is disabled (UE=0). Note: If Synchronous mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Low: Steady low value on CK pin outside transmission window
1: High: Steady high value on CK pin outside transmission window

CLKEN

Bit 11: Clock enable This bit enables the user to enable the SCLK pin. This bit can only be written when the USART is disabled (UE=0). Note: If neither Synchronous mode nor Smartcard mode is supported, this bit is reserved and must be kept at reset value. Refer to . In Smartcard mode, in order to provide correctly the SCLK clock to the smartcard, the steps below must be respected: UE = 0 SCEN = 1 GTPR configuration CLKEN= 1 UE = 1.

Allowed values:
0: Disabled: CK pin disabled
1: Enabled: CK pin enabled

STOP

Bits 12-13: stop bits These bits are used for programming the stop bits. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Stop1: 1 stop bit
1: Stop0p5: 0.5 stop bit
2: Stop2: 2 stop bit
3: Stop1p5: 1.5 stop bit

LINEN

Bit 14: LIN mode enable This bit is set and cleared by software. The LIN mode enables the capability to send LIN synchronous breaks (13 low bits) using the SBKRQ bit in the USART_CR1 register, and to detect LIN Sync breaks. This bitfield can only be written when the USART is disabled (UE=0). Note: If the USART does not support LIN mode, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: LIN mode disabled
1: Enabled: LIN mode enabled

SWAP

Bit 15: Swap TX/RX pins This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Standard: TX/RX pins are used as defined in standard pinout
1: Swapped: The TX and RX pins functions are swapped

RXINV

Bit 16: RX pin active level inversion This bit is set and cleared by software. This enables the use of an external inverter on the RX line. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Standard: RX pin signal works using the standard logic levels
1: Inverted: RX pin signal values are inverted

TXINV

Bit 17: TX pin active level inversion This bit is set and cleared by software. This enables the use of an external inverter on the TX line. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Standard: TX pin signal works using the standard logic levels
1: Inverted: TX pin signal values are inverted

DATAINV

Bit 18: Binary data inversion This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Positive: Logical data from the data register are send/received in positive/direct logic
1: Negative: Logical data from the data register are send/received in negative/inverse logic

MSBFIRST

Bit 19: Most significant bit first This bit is set and cleared by software. This bitfield can only be written when the USART is disabled (UE=0)..

Allowed values:
0: LSB: data is transmitted/received with data bit 0 first, following the start bit
1: MSB: data is transmitted/received with MSB (bit 7/8/9) first, following the start bit

ABREN

Bit 20: Auto baud rate enable This bit is set and cleared by software. Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Auto baud rate detection is disabled
1: Enabled: Auto baud rate detection is enabled

ABRMOD

Bits 21-22: Auto baud rate mode These bits are set and cleared by software. This bitfield can only be written when ABREN = 0 or the USART is disabled (UE=0). Note: If DATAINV=1 and/or MSBFIRST=1 the patterns must be the same on the line, for example 0xAA for MSBFIRST) If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Start: Measurement of the start bit is used to detect the baud rate
1: Edge: Falling edge to falling edge measurement
2: Frame7F: 0x7F frame detection
3: Frame55: 0x55 frame detection

RTOEN

Bit 23: Receiver timeout enable This bit is set and cleared by software. When this feature is enabled, the RTOF flag in the USART_ISR register is set if the RX line is idle (no reception) for the duration programmed in the RTOR (receiver timeout register). Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Receiver timeout feature disabled
1: Enabled: Receiver timeout feature enabled

ADD

Bits 24-31: Address of the USART node These bits give the address of the USART node in Mute mode or a character code to be recognized in low-power or Run mode: In Mute mode: they are used in multiprocessor communication to wakeup from Mute mode with 4-bit/7-bit address mark detection. The MSB of the character sent by the transmitter should be equal to 1. In 4-bit address mark detection, only ADD[3:0] bits are used. In low-power mode: they are used for wake up from low-power mode on character match. When WUS[1:0] is programmed to 0b00 (WUF active on address match), the wakeup from low-power mode is performed when the received character corresponds to the character programmed through ADD[6:0] or ADD[3:0] bitfield (depending on ADDM7 bit), and WUF interrupt is enabled by setting WUFIE bit. The MSB of the character sent by transmitter should be equal to 1. In Run mode with Mute mode inactive (for example, end-of-block detection in ModBus protocol): the whole received character (8 bits) is compared to ADD[7:0] value and CMF flag is set on match. An interrupt is generated if the CMIE bit is set. These bits can only be written when the reception is disabled (RE = 0) or when the USART is disabled (UE = 0)..

Allowed values: 0x0-0xff

CR3

USART control register 3

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

24/24 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXFTCFG
rw
RXFTIE
rw
RXFTCFG
rw
TCBGTIE
rw
TXFTIE
rw
WUFIE
rw
WUS
N/A
SCARCNT
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DEP
rw
DEM
rw
DDRE
rw
OVRDIS
rw
ONEBIT
rw
CTSIE
rw
CTSE
rw
RTSE
rw
DMAT
rw
DMAR
rw
SCEN
rw
NACK
rw
HDSEL
rw
IRLP
rw
IREN
rw
EIE
rw
Toggle fields

EIE

Bit 0: Error interrupt enable Error Interrupt Enable Bit is required to enable interrupt generation in case of a framing error, overrun error noise flag or SPI slave underrun error (FE=1 or ORE=1 or NE=1or UDR = 1 in the USART_ISR register)..

Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An interrupt is generated when FE=1 or ORE=1 or NF=1 in the ISR register

IREN

Bit 1: IrDA mode enable This bit is set and cleared by software. This bit can only be written when the USART is disabled (UE=0). Note: If IrDA mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: IrDA disabled
1: Enabled: IrDA enabled

IRLP

Bit 2: IrDA low-power This bit is used for selecting between normal and low-power IrDA modes This bit can only be written when the USART is disabled (UE=0). Note: If IrDA mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Normal: Normal mode
1: LowPower: Low-power mode

HDSEL

Bit 3: Half-duplex selection Selection of Single-wire Half-duplex mode This bit can only be written when the USART is disabled (UE=0)..

Allowed values:
0: NotSelected: Half duplex mode is not selected
1: Selected: Half duplex mode is selected

NACK

Bit 4: Smartcard NACK enable This bitfield can only be written when the USART is disabled (UE=0). Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: NACK transmission in case of parity error is disabled
1: Enabled: NACK transmission during parity error is enabled

SCEN

Bit 5: Smartcard mode enable This bit is used for enabling Smartcard mode. This bitfield can only be written when the USART is disabled (UE=0). Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Smartcard Mode disabled
1: Enabled: Smartcard Mode enabled

DMAR

Bit 6: DMA enable receiver This bit is set/reset by software.

Allowed values:
0: Disabled: DMA mode is disabled for reception
1: Enabled: DMA mode is enabled for reception

DMAT

Bit 7: DMA enable transmitter This bit is set/reset by software.

Allowed values:
0: Disabled: DMA mode is disabled for transmission
1: Enabled: DMA mode is enabled for transmission

RTSE

Bit 8: RTS enable This bit can only be written when the USART is disabled (UE=0). Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: RTS hardware flow control disabled
1: Enabled: RTS output enabled, data is only requested when there is space in the receive buffer

CTSE

Bit 9: CTS enable This bit can only be written when the USART is disabled (UE=0) Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: CTS hardware flow control disabled
1: Enabled: CTS mode enabled, data is only transmitted when the CTS input is asserted

CTSIE

Bit 10: CTS interrupt enable Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An interrupt is generated whenever CTSIF=1 in the ISR register

ONEBIT

Bit 11: One sample bit method enable This bit enables the user to select the sample method. When the one sample bit method is selected the noise detection flag (NE) is disabled. This bit can only be written when the USART is disabled (UE=0)..

Allowed values:
0: Sample3: Three sample bit method
1: Sample1: One sample bit method

OVRDIS

Bit 12: Overrun Disable This bit is used to disable the receive overrun detection. the ORE flag is not set and the new received data overwrites the previous content of the USART_RDR register. When FIFO mode is enabled, the RXFIFO is bypassed and data are written directly in USART_RDR register. Even when FIFO management is enabled, the RXNE flag is to be used. This bit can only be written when the USART is disabled (UE=0). Note: This control bit enables checking the communication flow w/o reading the data.

Allowed values:
0: Enabled: Overrun Error Flag, ORE, is set when received data is not read before receiving new data
1: Disabled: Overrun functionality is disabled. If new data is received while the RXNE flag is still set the ORE flag is not set and the new received data overwrites the previous content of the RDR register

DDRE

Bit 13: DMA Disable on Reception Error This bit can only be written when the USART is disabled (UE=0). Note: The reception errors are: parity error, framing error or noise error..

Allowed values:
0: NotDisabled: DMA is not disabled in case of reception error
1: Disabled: DMA is disabled following a reception error

DEM

Bit 14: Driver enable mode This bit enables the user to activate the external transceiver control, through the DE signal. This bit can only be written when the USART is disabled (UE=0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. ..

Allowed values:
0: Disabled: DE function is disabled
1: Enabled: The DE signal is output on the RTS pin

DEP

Bit 15: Driver enable polarity selection This bit can only be written when the USART is disabled (UE=0). Note: If the Driver Enable feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: High: DE signal is active high
1: Low: DE signal is active low

SCARCNT

Bits 17-19: Smartcard auto-retry count This bitfield specifies the number of retries for transmission and reception in Smartcard mode. In Transmission mode, it specifies the number of automatic retransmission retries, before generating a transmission error (FE bit set). In Reception mode, it specifies the number or erroneous reception trials, before generating a reception error (RXNE/RXFNE and PE bits set). This bitfield must be programmed only when the USART is disabled (UE=0). When the USART is enabled (UE=1), this bitfield may only be written to 0x0, in order to stop retransmission. Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values: 0x0-0x7

WUS

Bits 20-21: Wakeup from low-power mode interrupt flag selection This bitfield specifies the event which activates the WUF (Wakeup from low-power mode flag). This bitfield can only be written when the USART is disabled (UE=0). Note: If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page 2297..

Allowed values:
0: Address: WUF active on address match
2: Start: WuF active on Start bit detection
3: RXNE: WUF active on RXNE

WUFIE

Bit 22: Wakeup from low-power mode interrupt enable This bit is set and cleared by software. Note: WUFIE must be set before entering in low-power mode. If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page 2297..

Allowed values:
0: Disabled: Interrupt is inhibited
1: Enabled: An USART interrupt is generated whenever WUF=1 in the ISR register

TXFTIE

Bit 23: TXFIFO threshold interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when Transmit FIFO reaches the threshold programmed in TXFTCFG

TCBGTIE

Bit 24: Transmission Complete before guard time, interrupt enable This bit is set and cleared by software. Note: If the USART does not support the Smartcard mode, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated whenever TCBGT=1 in the USART_ISR register

RXFTCFG

Bits 25-27: Receive FIFO threshold configuration Remaining combinations: Reserved.

Allowed values:
0: Depth_1_8: RXFIFO reaches 1/8 of its depth
1: Depth_1_4: RXFIFO reaches 1/4 of its depth
2: Depth_1_2: RXFIFO reaches 1/2 of its depth
3: Depth_3_4: RXFIFO reaches 3/4 of its depth
4: Depth_7_8: RXFIFO reaches 7/8 of its depth
5: Full: RXFIFO becomes full

RXFTIE

Bit 28: RXFIFO threshold interrupt enable This bit is set and cleared by software..

Allowed values:
0: Disabled: Interrupt inhibited
1: Enabled: USART interrupt generated when Receive FIFO reaches the threshold programmed in RXFTCFG

TXFTCFG

Bits 29-31: TXFIFO threshold configuration Remaining combinations: Reserved.

Allowed values:
0: Depth_1_8: TXFIFO reaches 1/8 of its depth
1: Depth_1_4: TXFIFO reaches 1/4 of its depth
2: Depth_1_2: TXFIFO reaches 1/2 of its depth
3: Depth_3_4: TXFIFO reaches 3/4 of its depth
4: Depth_7_8: TXFIFO reaches 7/8 of its depth
5: Empty: TXFIFO becomes empty

BRR

USART baud rate register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BRR
rw
Toggle fields

BRR

Bits 0-15: USART baud rate BRR[15:4] BRR[15:4] correspond to USARTDIV[15:4] BRR[3:0] When OVER8 = 0, BRR[3:0] = USARTDIV[3:0]. When OVER8 = 1: BRR[2:0] = USARTDIV[3:0] shifted 1 bit to the right. BRR[3] must be kept cleared..

Allowed values: 0x0-0xffff

GTPR

USART guard time and prescaler register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
GT
rw
PSC
rw
Toggle fields

PSC

Bits 0-7: Prescaler value PSC[7:0] = IrDA Normal and Low-power baud rate This bitfield is used for programming the prescaler for dividing the USART source clock to achieve the low-power frequency: The source clock is divided by the value given in the register (8 significant bits): ... PSC[4:0]: Prescaler value This bitfield is used for programming the prescaler for dividing the USART source clock to provide the Smartcard clock. The value given in the register (5 significant bits) is multiplied by 2 to give the division factor of the source clock frequency: ... This bitfield can only be written when the USART is disabled (UE=0). Note: Bits [7:5] must be kept cleared if Smartcard mode is used. This bitfield is reserved and forced by hardware to ‘0’ when the Smartcard and IrDA modes are not supported. Refer to ..

Allowed values: 0x0-0xff

GT

Bits 8-15: Guard time value This bitfield is used to program the Guard time value in terms of number of baud clock periods. This is used in Smartcard mode. The Transmission Complete flag is set after this guard time value. This bitfield can only be written when the USART is disabled (UE=0). Note: If Smartcard mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values: 0x0-0xff

RTOR

USART receiver timeout register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

2/2 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
BLEN
rw
RTO
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RTO
rw
Toggle fields

RTO

Bits 0-23: Receiver timeout value This bitfield gives the Receiver timeout value in terms of number of bit duration. In Standard mode, the RTOF flag is set if, after the last received character, no new start bit is detected for more than the RTO value. In Smartcard mode, this value is used to implement the CWT and BWT. See Smartcard chapter for more details. In the standard, the CWT/BWT measurement is done starting from the start bit of the last received character. Note: This value must only be programmed once per received character..

Allowed values: 0x0-0xffffff

BLEN

Bits 24-31: Block Length This bitfield gives the Block length in Smartcard T=1 Reception. Its value equals the number of information characters + the length of the Epilogue Field (1-LEC/2-CRC) - 1. Examples: BLEN = 0 -> 0 information characters + LEC BLEN = 1 -> 0 information characters + CRC BLEN = 255 -> 254 information characters + CRC (total 256 characters)) In Smartcard mode, the Block length counter is reset when TXE=0 (TXFE = 0 in case FIFO mode is enabled). This bitfield can be used also in other modes. In this case, the Block length counter is reset when RE=0 (receiver disabled) and/or when the EOBCF bit is written to 1. Note: This value can be programmed after the start of the block reception (using the data from the LEN character in the Prologue Field). It must be programmed only once per received block..

Allowed values: 0x0-0xff

RQR

USART request register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TXFRQ
w
RXFRQ
w
MMRQ
w
SBKRQ
w
ABRRQ
w
Toggle fields

ABRRQ

Bit 0: auto baud rate request Writing 1 to this bit resets the ABRF and ABRE flags in the USART_ISR and requests an automatic baud rate measurement on the next received data frame. Note: If the USART does not support the auto baud rate feature, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
1: Request: resets the ABRF flag in the USART_ISR and request an automatic baud rate measurement on the next received data frame

SBKRQ

Bit 1: Send break request Writing 1 to this bit sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available. Note: When the application needs to send the break character following all previously inserted data, including the ones not yet transmitted, the software should wait for the TXE flag assertion before setting the SBKRQ bit..

Allowed values:
1: Break: sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available

MMRQ

Bit 2: Mute mode request Writing 1 to this bit puts the USART in Mute mode and resets the RWU flag..

Allowed values:
1: Mute: Puts the USART in mute mode and sets the RWU flag

RXFRQ

Bit 3: Receive data flush request Writing 1 to this bit empties the entire receive FIFO i.e. clears the bit RXFNE. This enables to discard the received data without reading them, and avoid an overrun condition..

Allowed values:
1: Discard: clears the RXNE flag. This allows to discard the received data without reading it, and avoid an overrun condition

TXFRQ

Bit 4: Transmit data flush request When FIFO mode is disabled, writing ‘1’ to this bit sets the TXE flag. This enables to discard the transmit data. This bit must be used only in Smartcard mode, when data have not been sent due to errors (NACK) and the FE flag is active in the USART_ISR register. If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. When FIFO is enabled, TXFRQ bit is set to flush the whole FIFO. This sets the TXFE flag (Transmit FIFO empty, bit 23 in the USART_ISR register). Flushing the Transmit FIFO is supported in both UART and Smartcard modes. Note: In FIFO mode, the TXFNF flag is reset during the flush request until TxFIFO is empty in order to ensure that no data are written in the data register..

Allowed values:
1: Discard: Set the TXE flags. This allows to discard the transmit data

ISR

USART interrupt and status register

Offset: 0x1c, size: 32, reset: 0x000000C0, access: Unspecified

28/28 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
TXFT
r
RXFT
r
TCBGT
r
RXFF
r
TXFE
r
REACK
r
TEACK
r
WUF
r
RWU
r
SBKF
r
CMF
r
BUSY
r
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ABRF
r
ABRE
r
UDR
r
EOBF
r
RTOF
r
CTS
r
CTSIF
r
LBDF
r
TXFNF
r
TC
r
RXFNE
r
IDLE
r
ORE
r
NE
r
FE
r
PE
r
Toggle fields

PE

Bit 0: Parity error This bit is set by hardware when a parity error occurs in Reception mode. It is cleared by software, writing 1 to the PECF in the USART_ICR register. An interrupt is generated if PEIE = 1 in the USART_CR1 register. Note: This error is associated with the character in the USART_RDR..

FE

Bit 1: Framing error This bit is set by hardware when a de-synchronization, excessive noise or a break character is detected. It is cleared by software, writing 1 to the FECF bit in the USART_ICR register. When transmitting data in Smartcard mode, this bit is set when the maximum number of transmit attempts is reached without success (the card NACKs the data frame). An interrupt is generated if EIE = 1 in the USART_CR1 register. Note: This error is associated with the character in the USART_RDR..

NE

Bit 2: Noise detection flag This bit is set by hardware when noise is detected on a received frame. It is cleared by software, writing 1 to the NFCF bit in the USART_ICR register. Note: This bit does not generate an interrupt as it appears at the same time as the RXFNE bit which itself generates an interrupt. An interrupt is generated when the NE flag is set during multi buffer communication if the EIE bit is set. When the line is noise-free, the NE flag can be disabled by programming the ONEBIT bit to 1 to increase the USART tolerance to deviations (Refer to Tolerance of the USART receiver to clock deviation on page 2317). This error is associated with the character in the USART_RDR..

ORE

Bit 3: Overrun error This bit is set by hardware when the data currently being received in the shift register is ready to be transferred into the USART_RDR register while RXFF = 1. It is cleared by a software, writing 1 to the ORECF, in the USART_ICR register. An interrupt is generated if RXFNEIE=1 or EIE = 1 in the USART_CR1 register. Note: When this bit is set, the USART_RDR register content is not lost but the shift register is overwritten. An interrupt is generated if the ORE flag is set during multi buffer communication if the EIE bit is set. This bit is permanently forced to 0 (no overrun detection) when the bit OVRDIS is set in the USART_CR3 register..

IDLE

Bit 4: Idle line detected This bit is set by hardware when an Idle Line is detected. An interrupt is generated if IDLEIE=1 in the USART_CR1 register. It is cleared by software, writing 1 to the IDLECF in the USART_ICR register. Note: The IDLE bit is not set again until the RXFNE bit has been set (i.e. a new idle line occurs). If Mute mode is enabled (MME=1), IDLE is set if the USART is not mute (RWU=0), whatever the Mute mode selected by the WAKE bit. If RWU=1, IDLE is not set..

RXFNE

Bit 5: RXFIFO not empty RXFNE bit is set by hardware when the RXFIFO is not empty, meaning that data can be read from the USART_RDR register. Every read operation from the USART_RDR frees a location in the RXFIFO. RXFNE is cleared when the RXFIFO is empty. The RXFNE flag can also be cleared by writing 1 to the RXFRQ in the USART_RQR register. An interrupt is generated if RXFNEIE=1 in the USART_CR1 register..

TC

Bit 6: Transmission complete This bit indicates that the last data written in the USART_TDR has been transmitted out of the shift register. The TC flag behaves as follows: When TDN = 0, the TC flag is set when the transmission of a frame containing data is complete and when TXE/TXFE is set. When TDN is equal to the number of data in the TXFIFO, the TC flag is set when TXFIFO is empty and TDN is reached. When TDN is greater than the number of data in the TXFIFO, TC remains cleared until the TXFIFO is filled again to reach the programmed number of data to be transferred. When TDN is less than the number of data in the TXFIFO, TC is set when TDN is reached even if the TXFIFO is not empty. An interrupt is generated if TCIE=1 in the USART_CR1 register. TC bit is cleared by software by writing 1 to the TCCF in the USART_ICR register or by writing to the USART_TDR register..

TXFNF

Bit 7: TXFIFO not full TXFNF is set by hardware when TXFIFO is not full meaning that data can be written in the USART_TDR. Every write operation to the USART_TDR places the data in the TXFIFO. This flag remains set until the TXFIFO is full. When the TXFIFO is full, this flag is cleared indicating that data can not be written into the USART_TDR. An interrupt is generated if the TXFNFIE bit =1 in the USART_CR1 register. Note: The TXFNF is kept reset during the flush request until TXFIFO is empty. After sending the flush request (by setting TXFRQ bit), the flag TXFNF should be checked prior to writing in TXFIFO (TXFNF and TXFE is set at the same time). This bit is used during single buffer transmission..

LBDF

Bit 8: LIN break detection flag This bit is set by hardware when the LIN break is detected. It is cleared by software, by writing 1 to the LBDCF in the USART_ICR. An interrupt is generated if LBDIE = 1 in the USART_CR2 register. Note: If the USART does not support LIN mode, this bit is reserved and kept at reset value. Refer to ..

CTSIF

Bit 9: CTS interrupt flag This bit is set by hardware when the nCTS input toggles, if the CTSE bit is set. It is cleared by software, by writing 1 to the CTSCF bit in the USART_ICR register. An interrupt is generated if CTSIE=1 in the USART_CR3 register. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

CTS

Bit 10: CTS flag This bit is set/reset by hardware. It is an inverted copy of the status of the nCTS input pin. Note: If the hardware flow control feature is not supported, this bit is reserved and kept at reset value..

RTOF

Bit 11: Receiver timeout This bit is set by hardware when the timeout value, programmed in the RTOR register has lapsed, without any communication. It is cleared by software, writing 1 to the RTOCF bit in the USART_ICR register. An interrupt is generated if RTOIE=1 in the USART_CR2 register. In Smartcard mode, the timeout corresponds to the CWT or BWT timings. Note: If a time equal to the value programmed in RTOR register separates 2 characters, RTOF is not set. If this time exceeds this value + 2 sample times (2/16 or 2/8, depending on the oversampling method), RTOF flag is set. The counter counts even if RE = 0 but RTOF is set only when RE = 1. If the timeout has already elapsed when RE is set, then RTOF is set. If the USART does not support the Receiver timeout feature, this bit is reserved and kept at reset value..

EOBF

Bit 12: End of block flag This bit is set by hardware when a complete block has been received (for example T=1 Smartcard mode). The detection is done when the number of received bytes (from the start of the block, including the prologue) is equal or greater than BLEN + 4. An interrupt is generated if EOBIE = 1 in the USART_CR1 register. It is cleared by software, writing 1 to EOBCF in the USART_ICR register. Note: If Smartcard mode is not supported, this bit is reserved and kept at reset value. Refer to ..

UDR

Bit 13: SPI slave underrun error flag In Slave transmission mode, this flag is set when the first clock pulse for data transmission appears while the software has not yet loaded any value into USART_TDR. This flag is reset by setting UDRCF bit in the USART_ICR register. Note: If the USART does not support the SPI slave mode, this bit is reserved and kept at reset value. Refer to ..

ABRE

Bit 14: Auto baud rate error This bit is set by hardware if the baud rate measurement failed (baud rate out of range or character comparison failed) It is cleared by software, by writing 1 to the ABRRQ bit in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

ABRF

Bit 15: Auto baud rate flag This bit is set by hardware when the automatic baud rate has been set (RXFNE is also set, generating an interrupt if RXFNEIE = 1) or when the auto baud rate operation was completed without success (ABRE=1) (ABRE, RXFNE and FE are also set in this case) It is cleared by software, in order to request a new auto baud rate detection, by writing 1 to the ABRRQ in the USART_RQR register. Note: If the USART does not support the auto baud rate feature, this bit is reserved and kept at reset value..

BUSY

Bit 16: Busy flag This bit is set and reset by hardware. It is active when a communication is ongoing on the RX line (successful start bit detected). It is reset at the end of the reception (successful or not)..

CMF

Bit 17: Character match flag This bit is set by hardware, when a the character defined by ADD[7:0] is received. It is cleared by software, writing 1 to the CMCF in the USART_ICR register. An interrupt is generated if CMIE=1in the USART_CR1 register..

SBKF

Bit 18: Send break flag This bit indicates that a send break character was requested. It is set by software, by writing 1 to the SBKRQ bit in the USART_CR3 register. It is automatically reset by hardware during the stop bit of break transmission..

RWU

Bit 19: Receiver wakeup from Mute mode This bit indicates if the USART is in Mute mode. It is cleared/set by hardware when a wakeup/mute sequence is recognized. The Mute mode control sequence (address or IDLE) is selected by the WAKE bit in the USART_CR1 register. When wakeup on IDLE mode is selected, this bit can only be set by software, writing 1 to the MMRQ bit in the USART_RQR register. Note: If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..

WUF

Bit 20: Wakeup from low-power mode flag This bit is set by hardware, when a wakeup event is detected. The event is defined by the WUS bitfield. It is cleared by software, writing a 1 to the WUCF in the USART_ICR register. An interrupt is generated if WUFIE=1 in the USART_CR3 register. Note: When UESM is cleared, WUF flag is also cleared. If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..

TEACK

Bit 21: Transmit enable acknowledge flag This bit is set/reset by hardware, when the Transmit Enable value is taken into account by the USART. It can be used when an idle frame request is generated by writing TE=0, followed by TE=1 in the USART_CR1 register, in order to respect the TE=0 minimum period..

REACK

Bit 22: Receive enable acknowledge flag This bit is set/reset by hardware, when the Receive Enable value is taken into account by the USART. It can be used to verify that the USART is ready for reception before entering low-power mode. Note: If the USART does not support the wakeup from Stop feature, this bit is reserved and kept at reset value. Refer to ..

TXFE

Bit 23: TXFIFO Empty This bit is set by hardware when TXFIFO is Empty. When the TXFIFO contains at least one data, this flag is cleared. The TXFE flag can also be set by writing 1 to the bit TXFRQ (bit 4) in the USART_RQR register. An interrupt is generated if the TXFEIE bit =1 (bit 30) in the USART_CR1 register..

RXFF

Bit 24: RXFIFO Full This bit is set by hardware when the number of received data corresponds to RXFIFO size + 1 (RXFIFO full + 1 data in the USART_RDR register. An interrupt is generated if the RXFFIE bit =1 in the USART_CR1 register..

TCBGT

Bit 25: Transmission complete before guard time flag This bit is set when the last data written in the USART_TDR has been transmitted correctly out of the shift register. It is set by hardware in Smartcard mode, if the transmission of a frame containing data is complete and if the smartcard did not send back any NACK. An interrupt is generated if TCBGTIE=1 in the USART_CR3 register. This bit is cleared by software, by writing 1 to the TCBGTCF in the USART_ICR register or by a write to the USART_TDR register. Note: If the USART does not support the Smartcard mode, this bit is reserved and kept at reset value. If the USART supports the Smartcard mode and the Smartcard mode is enabled, the TCBGT reset value is ‘1’. Refer to on page 2297..

Allowed values:
0: NotCompleted: Transmission not completed
1: Completed: Transmission has completed

RXFT

Bit 26: RXFIFO threshold flag This bit is set by hardware when the threshold programmed in RXFTCFG in USART_CR3 register is reached. This means that there are (RXFTCFG - 1) data in the Receive FIFO and one data in the USART_RDR register. An interrupt is generated if the RXFTIE bit =1 (bit 27) in the USART_CR3 register. Note: When the RXFTCFG threshold is configured to ‘101’, RXFT flag is set if 16 data are available i.e. 15 data in the RXFIFO and 1 data in the USART_RDR. Consequently, the 17th received data does not cause an overrun error. The overrun error occurs after receiving the 18th data..

TXFT

Bit 27: TXFIFO threshold flag This bit is set by hardware when the TXFIFO reaches the threshold programmed in TXFTCFG of USART_CR3 register i.e. the TXFIFO contains TXFTCFG empty locations. An interrupt is generated if the TXFTIE bit =1 (bit 31) in the USART_CR3 register..

ICR

USART interrupt flag clear register

Offset: 0x20, size: 32, reset: 0x00000000, access: Unspecified

15/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
WUCF
w
CMCF
w
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
UDRCF
w
EOBCF
w
RTOCF
w
CTSCF
w
LBDCF
w
TCBGTCF
w
TCCF
w
TXFECF
w
IDLECF
w
ORECF
w
NECF
w
FECF
w
PECF
w
Toggle fields

PECF

Bit 0: Parity error clear flag Writing 1 to this bit clears the PE flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the PE flag in the ISR register

FECF

Bit 1: Framing error clear flag Writing 1 to this bit clears the FE flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the FE flag in the ISR register

NECF

Bit 2: Noise detected clear flag Writing 1 to this bit clears the NE flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the NF flag in the ISR register

ORECF

Bit 3: Overrun error clear flag Writing 1 to this bit clears the ORE flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the ORE flag in the ISR register

IDLECF

Bit 4: Idle line detected clear flag Writing 1 to this bit clears the IDLE flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the IDLE flag in the ISR register

TXFECF

Bit 5: TXFIFO empty clear flag Writing 1 to this bit clears the TXFE flag in the USART_ISR register..

Allowed values:
1: Clear: Clear the TXFE flag in the ISR register

TCCF

Bit 6: Transmission complete clear flag Writing 1 to this bit clears the TC flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the TC flag in the ISR register

TCBGTCF

Bit 7: Transmission complete before Guard time clear flag Writing 1 to this bit clears the TCBGT flag in the USART_ISR register..

Allowed values:
1: Clear: Clear the TCBGT flag in the ISR register

LBDCF

Bit 8: LIN break detection clear flag Writing 1 to this bit clears the LBDF flag in the USART_ISR register. Note: If LIN mode is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
1: Clear: Clears the LBDF flag in the ISR register

CTSCF

Bit 9: CTS clear flag Writing 1 to this bit clears the CTSIF flag in the USART_ISR register. Note: If the hardware flow control feature is not supported, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
1: Clear: Clears the CTSIF flag in the ISR register

RTOCF

Bit 11: Receiver timeout clear flag Writing 1 to this bit clears the RTOF flag in the USART_ISR register. Note: If the USART does not support the Receiver timeout feature, this bit is reserved and must be kept at reset value. Refer to page 2297..

Allowed values:
1: Clear: Clears the RTOF flag in the ISR register

EOBCF

Bit 12: End of block clear flag Writing 1 to this bit clears the EOBF flag in the USART_ISR register. Note: If the USART does not support Smartcard mode, this bit is reserved and must be kept at reset value. Refer to ..

Allowed values:
1: Clear: Clears the EOBF flag in the ISR register

UDRCF

Bit 13: SPI slave underrun clear flag Writing 1 to this bit clears the UDRF flag in the USART_ISR register. Note: If the USART does not support SPI slave mode, this bit is reserved and must be kept at reset value. Refer to.

Allowed values:
1: Clear: Clear the UDR flag in the ISR register

CMCF

Bit 17: Character match clear flag Writing 1 to this bit clears the CMF flag in the USART_ISR register..

Allowed values:
1: Clear: Clears the CMF flag in the ISR register

WUCF

Bit 20: Wakeup from low-power mode clear flag Writing 1 to this bit clears the WUF flag in the USART_ISR register. Note: If the USART does not support the wakeup from Stop feature, this bit is reserved and must be kept at reset value. Refer to page 2297..

Allowed values:
1: Clear: Clears the WUF flag in the ISR register

RDR

USART receive data register

Offset: 0x24, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RDR
r
Toggle fields

RDR

Bits 0-8: Receive data value Contains the received data character. The RDR register provides the parallel interface between the input shift register and the internal bus (see ). When receiving with the parity enabled, the value read in the MSB bit is the received parity bit..

Allowed values: 0x0-0x1ff

TDR

USART transmit data register

Offset: 0x28, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TDR
rw
Toggle fields

TDR

Bits 0-8: Transmit data value Contains the data character to be transmitted. The USART_TDR register provides the parallel interface between the internal bus and the output shift register (see ). When transmitting with the parity enabled (PCE bit set to 1 in the USART_CR1 register), the value written in the MSB (bit 7 or bit 8 depending on the data length) has no effect because it is replaced by the parity. Note: This register must be written only when TXE/TXFNF=1..

Allowed values: 0x0-0x1ff

PRESC

USART prescaler register

Offset: 0x2c, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PRESCALER
rw
Toggle fields

PRESCALER

Bits 0-3: Clock prescaler The USART input clock can be divided by a prescaler factor: Remaining combinations: Reserved Note: When PRESCALER is programmed with a value different of the allowed ones, programmed prescaler value is equal to ‘1011’ i.e. input clock divided by 256..

Allowed values:
0: Div1: Input clock divided by 1
1: Div2: Input clock divided by 2
2: Div4: Input clock divided by 4
3: Div6: Input clock divided by 6
4: Div8: Input clock divided by 8
5: Div10: Input clock divided by 10
6: Div12: Input clock divided by 12
7: Div16: Input clock divided by 16
8: Div32: Input clock divided by 32
9: Div64: Input clock divided by 64
10: Div128: Input clock divided by 128
11: Div256: Input clock divided by 256

USB

0x40016000: USB full speed

25/189 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CHEP0R
0x4 CHEP1R
0x8 CHEP2R
0xc CHEP3R
0x10 CHEP4R
0x14 CHEP5R
0x18 CHEP6R
0x1c CHEP7R
0x40 CNTR
0x44 ISTR
0x48 FNR
0x4c DADDR
0x54 LPMCSR
0x58 BCDR
Toggle registers

CHEP0R

USB endpoint/channel 0 register

Offset: 0x0, size: 32, reset: 0x00000000, access: Unspecified

1/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
THREE_ERR_RX
rw
THREE_ERR_TX
rw
ERR_RX
rw
ERR_TX
rw
LS_EP
rw
NAK
rw
DEVADDR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
VTRX
rw
DTOGRX
w
STATRX
w
SETUP
r
UTYPE
rw
EPKIND
rw
VTTX
rw
DTOGTX
w
STATTX
w
EA
rw
Toggle fields

EA

Bits 0-3: endpoint/channel address Device mode Software must write in this field the 4-bit address used to identify the transactions directed to this endpoint. A value must be written before enabling the corresponding endpoint. Host mode Software must write in this field the 4-bit address used to identify the channel addressed by the host transaction..

STATTX

Bits 4-5: Status bits, for transmission transfers Device mode These bits contain the information about the endpoint status, listed in . These bits can be toggled by the software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATTX bits to NAK, when a correct transfer has occurred (VTTX = 1) corresponding to a IN or SETUP (control only) transaction addressed to this channel/endpoint. It then waits for the software to prepare the next set of data to be transmitted. Double-buffered bulk endpoints implement a special transaction flow control, which controls the status based on buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can only be “VALID” or “DISABLED”. Therefore, the hardware cannot change the status of the channel/endpoint/channel after a successful transaction. If the software sets the STATTX bits to ‘STALL’ or ‘NAK’ for an isochronous channel/endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode The STATTX bits contain the information about the channel status. Refer to for the full descriptions (“Host mode” descriptions). Whereas in Device mode, these bits contain the status that are given out on the following transaction, in Host mode they capture the status last received from the device. If a NAK is received, STATTX contains the value indicating NAK..

DTOGTX

Bit 6: Data toggle, for transmission transfers If the endpoint/channel is non-isochronous, this bit contains the required value of the data toggle bit (0 = DATA0, 1 = DATA1) for the next data packet to be transmitted. Hardware toggles this bit when the ACK handshake is received from the USB host, following a data packet transmission. If the endpoint/channel is defined as a control one, hardware sets this bit to 1 at the reception of a SETUP PID addressed to this endpoint. If the endpoint/channel is using the double buffer feature, this bit is used to support packet buffer swapping too (Refer to Device mode) If the endpoint/channel is isochronous, this bit is used to support packet buffer swapping since no data toggling is used for this sort of endpoints and only DATA0 packet are transmitted (refer to ). Hardware toggles this bit just after the end of data packet transmission, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint/channel is not a control one) or to force a specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGTX remains unchanged, while writing 1 makes the bit value to toggle. This bit is read/write but it can only be toggled by writing 1..

VTTX

Bit 7: Valid USB transaction transmitted Device mode This bit is set by the hardware when an IN transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in the USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written. Host mode Same as VTRX behavior but for USB OUT and SETUP transactions..

EPKIND

Bit 8: endpoint/channel kind The meaning of this bit depends on the endpoint/channel type configured by the UTYPE bits. summarizes the different meanings. DBL_BUF: This bit is set by the software to enable the double-buffering feature for this bulk endpoint. The usage of double-buffered bulk endpoints is explained in Double-buffered endpoints and usage in Device mode. STATUS_OUT: This bit is set by the software to indicate that a status out transaction is expected: in this case all OUT transactions containing more than zero data bytes are answered ‘STALL’ instead of ‘ACK’. This bit may be used to improve the robustness of the application to protocol errors during control transfers and its usage is intended for control endpoints only. When STATUS_OUT is reset, OUT transactions can have any number of bytes, as required..

UTYPE

Bits 9-10: USB type of transaction These bits configure the behavior of this endpoint/channel as described in Endpoint/channel type encoding. Channel0/Endpoint0 must always be a control endpoint/channel and each USB function must have at least one control endpoint/channel which has address 0, but there may be other control channels/endpoints if required. Only control channels/endpoints handle SETUP transactions, which are ignored by endpoints of other kinds. SETUP transactions cannot be answered with NAK or STALL. If a control endpoint/channel is defined as NAK, the USB peripheral does not answer, simulating a receive error, in the receive direction when a SETUP transaction is received. If the control endpoint/channel is defined as STALL in the receive direction, then the SETUP packet is accepted anyway, transferring data and issuing the CTR interrupt. The reception of OUT transactions is handled in the normal way, even if the endpoint/channel is a control one. Bulk and interrupt endpoints have very similar behavior and they differ only in the special feature available using the EPKIND configuration bit. The usage of isochronous channels/endpoints is explained in transfers in Device mode.

SETUP

Bit 11: Setup transaction completed Device mode This bit is read-only and it is set by the hardware when the last completed transaction is a SETUP. This bit changes its value only for control endpoints. It must be examined, in the case of a successful receive transaction (VTRX event), to determine the type of transaction occurred. To protect the interrupt service routine from the changes in SETUP bits due to next incoming tokens, this bit is kept frozen while VTRX bit is at 1; its state changes when VTRX is at 0. This bit is read-only. Host mode This bit is set by the software to send a SETUP transaction on a control endpoint. This bit changes its value only for control endpoints. It is cleared by hardware when the SETUP transaction is acknowledged and VTTX interrupt generated..

STATRX

Bits 12-13: Status bits, for reception transfers Device mode These bits contain information about the endpoint status, which are listed in Reception status encoding on page 2492. These bits can be toggled by software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATRX bits to NAK when a correct transfer has occurred (VTRX = 1) corresponding to a OUT or SETUP (control only) transaction addressed to this endpoint, so the software has the time to elaborate the received data before it acknowledges a new transaction. Double-buffered bulk endpoints implement a special transaction flow control, which control the status based upon buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can be only “VALID” or “DISABLED”, so that the hardware cannot change the status of the endpoint after a successful transaction. If the software sets the STATRX bits to ‘STALL’ or ‘NAK’ for an isochronous endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode These bits are the host application controls to start, retry, or abort host transactions driven by the channel. These bits also contain information about the device answer to the last IN channel transaction and report the current status of the channel according to the following STATRX table of states: - DISABLE DISABLE value is reported in case of ACK acknowledge is received on a single-buffer channel. When in DISABLE state the channel is unused or not active waiting for application to restart it by writing VALID. Application can reset a VALID channel to DISABLE to abort a transaction. In this case the transaction is immediately removed from the host execution list. If the aborted transaction was already under execution it is regularly terminated on the USB but the relative VTRX interrupt is not generated. - VALID A host channel is actively trying to submit USB transaction to device only when in VALID state.VALID state can be set by software or automatically by hardware on a NAKED channel at the start of a new frame. When set to VALID, an host channel enters the host execution queue and waits permission from the host frame scheduler to submit its configured transaction. VALID value is also reported in case of ACK acknowledge is received on a double-buffered channel. In this case the channel remains active on the alternate buffer while application needs to read the current buffer and toggle DTOGTX. In case software is late in reading and the alternate buffer is not ready, the host channel is automatically suspended transparently to the application. The suspended double buffered channel is re-activated as soon as delay is recovered and DTOGTX is toggled. - NAK NAK value is reported in case of NAK acknowledge received. When in NAK state the channel is suspended and does not try to transmit. NAK state is moved to VALID by hardware at the start of the next frame, or software can change it to immediately retry transmission by writing it to VALID, or can disable it and abort the transaction by writing DISABLE - STALL STALL value is reported in case of STALL acknowledge received. When in STALL state the channel behaves as disabled. Application should not retry transmission but reset the USB and re-enumerate..

DTOGRX

Bit 14: Data Toggle, for reception transfers If the endpoint/channel is not isochronous, this bit contains the expected value of the data toggle bit (0 = DATA0, 1 = DATA1) for the next data packet to be received. Hardware toggles this bit, when the ACK handshake is sent following a data packet reception having a matching data PID value; if the endpoint is defined as a control one, hardware clears this bit at the reception of a SETUP PID received from host (in device) or acknowledged by device (in host). If the endpoint/channel is using the double-buffering feature this bit is used to support packet buffer swapping too (Refer to Device mode). If the endpoint/channel is isochronous, this bit is used only to support packet buffer swapping for data transmission since no data toggling is used for this kind of channels/endpoints and only DATA0 packet are transmitted (Refer to Isochronous transfers in Device mode). Hardware toggles this bit just after the end of data packet reception, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint is not a control one) or to force specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGRX remains unchanged, while writing 1 makes the bit value toggle. This bit is read/write but it can be only toggled by writing 1..

VTRX

Bit 15: USB valid transaction received Device mode This bit is set by the hardware when an OUT/SETUP transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. The type of occurred transaction, OUT or SETUP, can be determined from the SETUP bit described below. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written, writing 1 has no effect. Host mode This bit is set by the hardware when an IN transaction is successfully completed on this channel. The software can only clear this bit. If the CTRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. - A transaction ended with a NAK sets this bit and NAK answer is reported to application reading the NAK state from the STATRX field of this register. One NAKed transaction keeps pending and is automatically retried by the host at the next frame, or the host can immediately retry by resetting STATRX state to VALID. - A transaction ended by STALL handshake sets this bit and the STALL answer is reported to application reading the STALL state from the STATRX field of this register. Host application should consequently disable the channel and re-enumerate. - A transaction ended with ACK handshake sets this bit If double buffering is disabled, ACK answer is reported by application reading the DISABLE state from the STATRX field of this register. Host application should read received data from USBRAM and re-arm the channel by writing VALID to the STATRX field of this register. If double buffering is enabled, ACK answer is reported by application reading VALID state from the STATRX field of this register. Host application should read received data from USBRAM and toggle the DTOGTX bit of this register. - A transaction ended with error sets this bit. Errors can be seen via the bits ERR_RX (host mode only). This bit is read/write but only 0 can be written, writing 1 has no effect..

DEVADDR

Bits 16-22: Host mode Device address assigned to the endpoint during the enumeration process..

NAK

Bit 23: Host mode This bit is set by the hardware when a device responds with a NAK. Software can use this bit to monitor the number of NAKs received from a device..

LS_EP

Bit 24: Low speed endpoint – host with HUB only Host mode This bit is set by the software to send an LS transaction to the corresponding endpoint..

ERR_TX

Bit 25: Received error for an OUT/SETUP transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an OUT or SETUP transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..

ERR_RX

Bit 26: Received error for an IN transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an IN transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..

THREE_ERR_TX

Bits 27-28: Three errors for an OUT or SETUP transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an OUT transaction. THREE_ERR_TX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.

THREE_ERR_RX

Bits 29-30: Three errors for an IN transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an IN transaction. THREE_ERR_RX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.

CHEP1R

USB endpoint/channel 1 register

Offset: 0x4, size: 32, reset: 0x00000000, access: Unspecified

1/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
THREE_ERR_RX
rw
THREE_ERR_TX
rw
ERR_RX
rw
ERR_TX
rw
LS_EP
rw
NAK
rw
DEVADDR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
VTRX
rw
DTOGRX
w
STATRX
w
SETUP
r
UTYPE
rw
EPKIND
rw
VTTX
rw
DTOGTX
w
STATTX
w
EA
rw
Toggle fields

EA

Bits 0-3: endpoint/channel address Device mode Software must write in this field the 4-bit address used to identify the transactions directed to this endpoint. A value must be written before enabling the corresponding endpoint. Host mode Software must write in this field the 4-bit address used to identify the channel addressed by the host transaction..

STATTX

Bits 4-5: Status bits, for transmission transfers Device mode These bits contain the information about the endpoint status, listed in . These bits can be toggled by the software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATTX bits to NAK, when a correct transfer has occurred (VTTX = 1) corresponding to a IN or SETUP (control only) transaction addressed to this channel/endpoint. It then waits for the software to prepare the next set of data to be transmitted. Double-buffered bulk endpoints implement a special transaction flow control, which controls the status based on buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can only be “VALID” or “DISABLED”. Therefore, the hardware cannot change the status of the channel/endpoint/channel after a successful transaction. If the software sets the STATTX bits to ‘STALL’ or ‘NAK’ for an isochronous channel/endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode The STATTX bits contain the information about the channel status. Refer to for the full descriptions (“Host mode” descriptions). Whereas in Device mode, these bits contain the status that are given out on the following transaction, in Host mode they capture the status last received from the device. If a NAK is received, STATTX contains the value indicating NAK..

DTOGTX

Bit 6: Data toggle, for transmission transfers If the endpoint/channel is non-isochronous, this bit contains the required value of the data toggle bit (0 = DATA0, 1 = DATA1) for the next data packet to be transmitted. Hardware toggles this bit when the ACK handshake is received from the USB host, following a data packet transmission. If the endpoint/channel is defined as a control one, hardware sets this bit to 1 at the reception of a SETUP PID addressed to this endpoint. If the endpoint/channel is using the double buffer feature, this bit is used to support packet buffer swapping too (Refer to Device mode) If the endpoint/channel is isochronous, this bit is used to support packet buffer swapping since no data toggling is used for this sort of endpoints and only DATA0 packet are transmitted (refer to ). Hardware toggles this bit just after the end of data packet transmission, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint/channel is not a control one) or to force a specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGTX remains unchanged, while writing 1 makes the bit value to toggle. This bit is read/write but it can only be toggled by writing 1..

VTTX

Bit 7: Valid USB transaction transmitted Device mode This bit is set by the hardware when an IN transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in the USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written. Host mode Same as VTRX behavior but for USB OUT and SETUP transactions..

EPKIND

Bit 8: endpoint/channel kind The meaning of this bit depends on the endpoint/channel type configured by the UTYPE bits. summarizes the different meanings. DBL_BUF: This bit is set by the software to enable the double-buffering feature for this bulk endpoint. The usage of double-buffered bulk endpoints is explained in Double-buffered endpoints and usage in Device mode. STATUS_OUT: This bit is set by the software to indicate that a status out transaction is expected: in this case all OUT transactions containing more than zero data bytes are answered ‘STALL’ instead of ‘ACK’. This bit may be used to improve the robustness of the application to protocol errors during control transfers and its usage is intended for control endpoints only. When STATUS_OUT is reset, OUT transactions can have any number of bytes, as required..

UTYPE

Bits 9-10: USB type of transaction These bits configure the behavior of this endpoint/channel as described in Endpoint/channel type encoding. Channel0/Endpoint0 must always be a control endpoint/channel and each USB function must have at least one control endpoint/channel which has address 0, but there may be other control channels/endpoints if required. Only control channels/endpoints handle SETUP transactions, which are ignored by endpoints of other kinds. SETUP transactions cannot be answered with NAK or STALL. If a control endpoint/channel is defined as NAK, the USB peripheral does not answer, simulating a receive error, in the receive direction when a SETUP transaction is received. If the control endpoint/channel is defined as STALL in the receive direction, then the SETUP packet is accepted anyway, transferring data and issuing the CTR interrupt. The reception of OUT transactions is handled in the normal way, even if the endpoint/channel is a control one. Bulk and interrupt endpoints have very similar behavior and they differ only in the special feature available using the EPKIND configuration bit. The usage of isochronous channels/endpoints is explained in transfers in Device mode.

SETUP

Bit 11: Setup transaction completed Device mode This bit is read-only and it is set by the hardware when the last completed transaction is a SETUP. This bit changes its value only for control endpoints. It must be examined, in the case of a successful receive transaction (VTRX event), to determine the type of transaction occurred. To protect the interrupt service routine from the changes in SETUP bits due to next incoming tokens, this bit is kept frozen while VTRX bit is at 1; its state changes when VTRX is at 0. This bit is read-only. Host mode This bit is set by the software to send a SETUP transaction on a control endpoint. This bit changes its value only for control endpoints. It is cleared by hardware when the SETUP transaction is acknowledged and VTTX interrupt generated..

STATRX

Bits 12-13: Status bits, for reception transfers Device mode These bits contain information about the endpoint status, which are listed in Reception status encoding on page 2492. These bits can be toggled by software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATRX bits to NAK when a correct transfer has occurred (VTRX = 1) corresponding to a OUT or SETUP (control only) transaction addressed to this endpoint, so the software has the time to elaborate the received data before it acknowledges a new transaction. Double-buffered bulk endpoints implement a special transaction flow control, which control the status based upon buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can be only “VALID” or “DISABLED”, so that the hardware cannot change the status of the endpoint after a successful transaction. If the software sets the STATRX bits to ‘STALL’ or ‘NAK’ for an isochronous endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode These bits are the host application controls to start, retry, or abort host transactions driven by the channel. These bits also contain information about the device answer to the last IN channel transaction and report the current status of the channel according to the following STATRX table of states: - DISABLE DISABLE value is reported in case of ACK acknowledge is received on a single-buffer channel. When in DISABLE state the channel is unused or not active waiting for application to restart it by writing VALID. Application can reset a VALID channel to DISABLE to abort a transaction. In this case the transaction is immediately removed from the host execution list. If the aborted transaction was already under execution it is regularly terminated on the USB but the relative VTRX interrupt is not generated. - VALID A host channel is actively trying to submit USB transaction to device only when in VALID state.VALID state can be set by software or automatically by hardware on a NAKED channel at the start of a new frame. When set to VALID, an host channel enters the host execution queue and waits permission from the host frame scheduler to submit its configured transaction. VALID value is also reported in case of ACK acknowledge is received on a double-buffered channel. In this case the channel remains active on the alternate buffer while application needs to read the current buffer and toggle DTOGTX. In case software is late in reading and the alternate buffer is not ready, the host channel is automatically suspended transparently to the application. The suspended double buffered channel is re-activated as soon as delay is recovered and DTOGTX is toggled. - NAK NAK value is reported in case of NAK acknowledge received. When in NAK state the channel is suspended and does not try to transmit. NAK state is moved to VALID by hardware at the start of the next frame, or software can change it to immediately retry transmission by writing it to VALID, or can disable it and abort the transaction by writing DISABLE - STALL STALL value is reported in case of STALL acknowledge received. When in STALL state the channel behaves as disabled. Application should not retry transmission but reset the USB and re-enumerate..

DTOGRX

Bit 14: Data Toggle, for reception transfers If the endpoint/channel is not isochronous, this bit contains the expected value of the data toggle bit (0 = DATA0, 1 = DATA1) for the next data packet to be received. Hardware toggles this bit, when the ACK handshake is sent following a data packet reception having a matching data PID value; if the endpoint is defined as a control one, hardware clears this bit at the reception of a SETUP PID received from host (in device) or acknowledged by device (in host). If the endpoint/channel is using the double-buffering feature this bit is used to support packet buffer swapping too (Refer to Device mode). If the endpoint/channel is isochronous, this bit is used only to support packet buffer swapping for data transmission since no data toggling is used for this kind of channels/endpoints and only DATA0 packet are transmitted (Refer to Isochronous transfers in Device mode). Hardware toggles this bit just after the end of data packet reception, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint is not a control one) or to force specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGRX remains unchanged, while writing 1 makes the bit value toggle. This bit is read/write but it can be only toggled by writing 1..

VTRX

Bit 15: USB valid transaction received Device mode This bit is set by the hardware when an OUT/SETUP transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. The type of occurred transaction, OUT or SETUP, can be determined from the SETUP bit described below. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written, writing 1 has no effect. Host mode This bit is set by the hardware when an IN transaction is successfully completed on this channel. The software can only clear this bit. If the CTRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. - A transaction ended with a NAK sets this bit and NAK answer is reported to application reading the NAK state from the STATRX field of this register. One NAKed transaction keeps pending and is automatically retried by the host at the next frame, or the host can immediately retry by resetting STATRX state to VALID. - A transaction ended by STALL handshake sets this bit and the STALL answer is reported to application reading the STALL state from the STATRX field of this register. Host application should consequently disable the channel and re-enumerate. - A transaction ended with ACK handshake sets this bit If double buffering is disabled, ACK answer is reported by application reading the DISABLE state from the STATRX field of this register. Host application should read received data from USBRAM and re-arm the channel by writing VALID to the STATRX field of this register. If double buffering is enabled, ACK answer is reported by application reading VALID state from the STATRX field of this register. Host application should read received data from USBRAM and toggle the DTOGTX bit of this register. - A transaction ended with error sets this bit. Errors can be seen via the bits ERR_RX (host mode only). This bit is read/write but only 0 can be written, writing 1 has no effect..

DEVADDR

Bits 16-22: Host mode Device address assigned to the endpoint during the enumeration process..

NAK

Bit 23: Host mode This bit is set by the hardware when a device responds with a NAK. Software can use this bit to monitor the number of NAKs received from a device..

LS_EP

Bit 24: Low speed endpoint – host with HUB only Host mode This bit is set by the software to send an LS transaction to the corresponding endpoint..

ERR_TX

Bit 25: Received error for an OUT/SETUP transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an OUT or SETUP transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..

ERR_RX

Bit 26: Received error for an IN transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an IN transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..

THREE_ERR_TX

Bits 27-28: Three errors for an OUT or SETUP transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an OUT transaction. THREE_ERR_TX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.

THREE_ERR_RX

Bits 29-30: Three errors for an IN transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an IN transaction. THREE_ERR_RX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.

CHEP2R

USB endpoint/channel 2 register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

1/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
THREE_ERR_RX
rw
THREE_ERR_TX
rw
ERR_RX
rw
ERR_TX
rw
LS_EP
rw
NAK
rw
DEVADDR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
VTRX
rw
DTOGRX
w
STATRX
w
SETUP
r
UTYPE
rw
EPKIND
rw
VTTX
rw
DTOGTX
w
STATTX
w
EA
rw
Toggle fields

EA

Bits 0-3: endpoint/channel address Device mode Software must write in this field the 4-bit address used to identify the transactions directed to this endpoint. A value must be written before enabling the corresponding endpoint. Host mode Software must write in this field the 4-bit address used to identify the channel addressed by the host transaction..

STATTX

Bits 4-5: Status bits, for transmission transfers Device mode These bits contain the information about the endpoint status, listed in . These bits can be toggled by the software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATTX bits to NAK, when a correct transfer has occurred (VTTX = 1) corresponding to a IN or SETUP (control only) transaction addressed to this channel/endpoint. It then waits for the software to prepare the next set of data to be transmitted. Double-buffered bulk endpoints implement a special transaction flow control, which controls the status based on buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can only be “VALID” or “DISABLED”. Therefore, the hardware cannot change the status of the channel/endpoint/channel after a successful transaction. If the software sets the STATTX bits to ‘STALL’ or ‘NAK’ for an isochronous channel/endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode The STATTX bits contain the information about the channel status. Refer to for the full descriptions (“Host mode” descriptions). Whereas in Device mode, these bits contain the status that are given out on the following transaction, in Host mode they capture the status last received from the device. If a NAK is received, STATTX contains the value indicating NAK..

DTOGTX

Bit 6: Data toggle, for transmission transfers If the endpoint/channel is non-isochronous, this bit contains the required value of the data toggle bit (0 = DATA0, 1 = DATA1) for the next data packet to be transmitted. Hardware toggles this bit when the ACK handshake is received from the USB host, following a data packet transmission. If the endpoint/channel is defined as a control one, hardware sets this bit to 1 at the reception of a SETUP PID addressed to this endpoint. If the endpoint/channel is using the double buffer feature, this bit is used to support packet buffer swapping too (Refer to Device mode) If the endpoint/channel is isochronous, this bit is used to support packet buffer swapping since no data toggling is used for this sort of endpoints and only DATA0 packet are transmitted (refer to ). Hardware toggles this bit just after the end of data packet transmission, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint/channel is not a control one) or to force a specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGTX remains unchanged, while writing 1 makes the bit value to toggle. This bit is read/write but it can only be toggled by writing 1..

VTTX

Bit 7: Valid USB transaction transmitted Device mode This bit is set by the hardware when an IN transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in the USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written. Host mode Same as VTRX behavior but for USB OUT and SETUP transactions..

EPKIND

Bit 8: endpoint/channel kind The meaning of this bit depends on the endpoint/channel type configured by the UTYPE bits. summarizes the different meanings. DBL_BUF: This bit is set by the software to enable the double-buffering feature for this bulk endpoint. The usage of double-buffered bulk endpoints is explained in Double-buffered endpoints and usage in Device mode. STATUS_OUT: This bit is set by the software to indicate that a status out transaction is expected: in this case all OUT transactions containing more than zero data bytes are answered ‘STALL’ instead of ‘ACK’. This bit may be used to improve the robustness of the application to protocol errors during control transfers and its usage is intended for control endpoints only. When STATUS_OUT is reset, OUT transactions can have any number of bytes, as required..

UTYPE

Bits 9-10: USB type of transaction These bits configure the behavior of this endpoint/channel as described in Endpoint/channel type encoding. Channel0/Endpoint0 must always be a control endpoint/channel and each USB function must have at least one control endpoint/channel which has address 0, but there may be other control channels/endpoints if required. Only control channels/endpoints handle SETUP transactions, which are ignored by endpoints of other kinds. SETUP transactions cannot be answered with NAK or STALL. If a control endpoint/channel is defined as NAK, the USB peripheral does not answer, simulating a receive error, in the receive direction when a SETUP transaction is received. If the control endpoint/channel is defined as STALL in the receive direction, then the SETUP packet is accepted anyway, transferring data and issuing the CTR interrupt. The reception of OUT transactions is handled in the normal way, even if the endpoint/channel is a control one. Bulk and interrupt endpoints have very similar behavior and they differ only in the special feature available using the EPKIND configuration bit. The usage of isochronous channels/endpoints is explained in transfers in Device mode.

SETUP

Bit 11: Setup transaction completed Device mode This bit is read-only and it is set by the hardware when the last completed transaction is a SETUP. This bit changes its value only for control endpoints. It must be examined, in the case of a successful receive transaction (VTRX event), to determine the type of transaction occurred. To protect the interrupt service routine from the changes in SETUP bits due to next incoming tokens, this bit is kept frozen while VTRX bit is at 1; its state changes when VTRX is at 0. This bit is read-only. Host mode This bit is set by the software to send a SETUP transaction on a control endpoint. This bit changes its value only for control endpoints. It is cleared by hardware when the SETUP transaction is acknowledged and VTTX interrupt generated..

STATRX

Bits 12-13: Status bits, for reception transfers Device mode These bits contain information about the endpoint status, which are listed in Reception status encoding on page 2492. These bits can be toggled by software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATRX bits to NAK when a correct transfer has occurred (VTRX = 1) corresponding to a OUT or SETUP (control only) transaction addressed to this endpoint, so the software has the time to elaborate the received data before it acknowledges a new transaction. Double-buffered bulk endpoints implement a special transaction flow control, which control the status based upon buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can be only “VALID” or “DISABLED”, so that the hardware cannot change the status of the endpoint after a successful transaction. If the software sets the STATRX bits to ‘STALL’ or ‘NAK’ for an isochronous endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode These bits are the host application controls to start, retry, or abort host transactions driven by the channel. These bits also contain information about the device answer to the last IN channel transaction and report the current status of the channel according to the following STATRX table of states: - DISABLE DISABLE value is reported in case of ACK acknowledge is received on a single-buffer channel. When in DISABLE state the channel is unused or not active waiting for application to restart it by writing VALID. Application can reset a VALID channel to DISABLE to abort a transaction. In this case the transaction is immediately removed from the host execution list. If the aborted transaction was already under execution it is regularly terminated on the USB but the relative VTRX interrupt is not generated. - VALID A host channel is actively trying to submit USB transaction to device only when in VALID state.VALID state can be set by software or automatically by hardware on a NAKED channel at the start of a new frame. When set to VALID, an host channel enters the host execution queue and waits permission from the host frame scheduler to submit its configured transaction. VALID value is also reported in case of ACK acknowledge is received on a double-buffered channel. In this case the channel remains active on the alternate buffer while application needs to read the current buffer and toggle DTOGTX. In case software is late in reading and the alternate buffer is not ready, the host channel is automatically suspended transparently to the application. The suspended double buffered channel is re-activated as soon as delay is recovered and DTOGTX is toggled. - NAK NAK value is reported in case of NAK acknowledge received. When in NAK state the channel is suspended and does not try to transmit. NAK state is moved to VALID by hardware at the start of the next frame, or software can change it to immediately retry transmission by writing it to VALID, or can disable it and abort the transaction by writing DISABLE - STALL STALL value is reported in case of STALL acknowledge received. When in STALL state the channel behaves as disabled. Application should not retry transmission but reset the USB and re-enumerate..

DTOGRX

Bit 14: Data Toggle, for reception transfers If the endpoint/channel is not isochronous, this bit contains the expected value of the data toggle bit (0 = DATA0, 1 = DATA1) for the next data packet to be received. Hardware toggles this bit, when the ACK handshake is sent following a data packet reception having a matching data PID value; if the endpoint is defined as a control one, hardware clears this bit at the reception of a SETUP PID received from host (in device) or acknowledged by device (in host). If the endpoint/channel is using the double-buffering feature this bit is used to support packet buffer swapping too (Refer to Device mode). If the endpoint/channel is isochronous, this bit is used only to support packet buffer swapping for data transmission since no data toggling is used for this kind of channels/endpoints and only DATA0 packet are transmitted (Refer to Isochronous transfers in Device mode). Hardware toggles this bit just after the end of data packet reception, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint is not a control one) or to force specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGRX remains unchanged, while writing 1 makes the bit value toggle. This bit is read/write but it can be only toggled by writing 1..

VTRX

Bit 15: USB valid transaction received Device mode This bit is set by the hardware when an OUT/SETUP transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. The type of occurred transaction, OUT or SETUP, can be determined from the SETUP bit described below. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written, writing 1 has no effect. Host mode This bit is set by the hardware when an IN transaction is successfully completed on this channel. The software can only clear this bit. If the CTRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. - A transaction ended with a NAK sets this bit and NAK answer is reported to application reading the NAK state from the STATRX field of this register. One NAKed transaction keeps pending and is automatically retried by the host at the next frame, or the host can immediately retry by resetting STATRX state to VALID. - A transaction ended by STALL handshake sets this bit and the STALL answer is reported to application reading the STALL state from the STATRX field of this register. Host application should consequently disable the channel and re-enumerate. - A transaction ended with ACK handshake sets this bit If double buffering is disabled, ACK answer is reported by application reading the DISABLE state from the STATRX field of this register. Host application should read received data from USBRAM and re-arm the channel by writing VALID to the STATRX field of this register. If double buffering is enabled, ACK answer is reported by application reading VALID state from the STATRX field of this register. Host application should read received data from USBRAM and toggle the DTOGTX bit of this register. - A transaction ended with error sets this bit. Errors can be seen via the bits ERR_RX (host mode only). This bit is read/write but only 0 can be written, writing 1 has no effect..

DEVADDR

Bits 16-22: Host mode Device address assigned to the endpoint during the enumeration process..

NAK

Bit 23: Host mode This bit is set by the hardware when a device responds with a NAK. Software can use this bit to monitor the number of NAKs received from a device..

LS_EP

Bit 24: Low speed endpoint – host with HUB only Host mode This bit is set by the software to send an LS transaction to the corresponding endpoint..

ERR_TX

Bit 25: Received error for an OUT/SETUP transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an OUT or SETUP transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..

ERR_RX

Bit 26: Received error for an IN transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an IN transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..

THREE_ERR_TX

Bits 27-28: Three errors for an OUT or SETUP transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an OUT transaction. THREE_ERR_TX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.

THREE_ERR_RX

Bits 29-30: Three errors for an IN transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an IN transaction. THREE_ERR_RX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.

CHEP3R

USB endpoint/channel 3 register

Offset: 0xc, size: 32, reset: 0x00000000, access: Unspecified

1/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
THREE_ERR_RX
rw
THREE_ERR_TX
rw
ERR_RX
rw
ERR_TX
rw
LS_EP
rw
NAK
rw
DEVADDR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
VTRX
rw
DTOGRX
w
STATRX
w
SETUP
r
UTYPE
rw
EPKIND
rw
VTTX
rw
DTOGTX
w
STATTX
w
EA
rw
Toggle fields

EA

Bits 0-3: endpoint/channel address Device mode Software must write in this field the 4-bit address used to identify the transactions directed to this endpoint. A value must be written before enabling the corresponding endpoint. Host mode Software must write in this field the 4-bit address used to identify the channel addressed by the host transaction..

STATTX

Bits 4-5: Status bits, for transmission transfers Device mode These bits contain the information about the endpoint status, listed in . These bits can be toggled by the software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATTX bits to NAK, when a correct transfer has occurred (VTTX = 1) corresponding to a IN or SETUP (control only) transaction addressed to this channel/endpoint. It then waits for the software to prepare the next set of data to be transmitted. Double-buffered bulk endpoints implement a special transaction flow control, which controls the status based on buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can only be “VALID” or “DISABLED”. Therefore, the hardware cannot change the status of the channel/endpoint/channel after a successful transaction. If the software sets the STATTX bits to ‘STALL’ or ‘NAK’ for an isochronous channel/endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode The STATTX bits contain the information about the channel status. Refer to for the full descriptions (“Host mode” descriptions). Whereas in Device mode, these bits contain the status that are given out on the following transaction, in Host mode they capture the status last received from the device. If a NAK is received, STATTX contains the value indicating NAK..

DTOGTX

Bit 6: Data toggle, for transmission transfers If the endpoint/channel is non-isochronous, this bit contains the required value of the data toggle bit (0 = DATA0, 1 = DATA1) for the next data packet to be transmitted. Hardware toggles this bit when the ACK handshake is received from the USB host, following a data packet transmission. If the endpoint/channel is defined as a control one, hardware sets this bit to 1 at the reception of a SETUP PID addressed to this endpoint. If the endpoint/channel is using the double buffer feature, this bit is used to support packet buffer swapping too (Refer to Device mode) If the endpoint/channel is isochronous, this bit is used to support packet buffer swapping since no data toggling is used for this sort of endpoints and only DATA0 packet are transmitted (refer to ). Hardware toggles this bit just after the end of data packet transmission, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint/channel is not a control one) or to force a specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGTX remains unchanged, while writing 1 makes the bit value to toggle. This bit is read/write but it can only be toggled by writing 1..

VTTX

Bit 7: Valid USB transaction transmitted Device mode This bit is set by the hardware when an IN transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in the USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written. Host mode Same as VTRX behavior but for USB OUT and SETUP transactions..

EPKIND

Bit 8: endpoint/channel kind The meaning of this bit depends on the endpoint/channel type configured by the UTYPE bits. summarizes the different meanings. DBL_BUF: This bit is set by the software to enable the double-buffering feature for this bulk endpoint. The usage of double-buffered bulk endpoints is explained in Double-buffered endpoints and usage in Device mode. STATUS_OUT: This bit is set by the software to indicate that a status out transaction is expected: in this case all OUT transactions containing more than zero data bytes are answered ‘STALL’ instead of ‘ACK’. This bit may be used to improve the robustness of the application to protocol errors during control transfers and its usage is intended for control endpoints only. When STATUS_OUT is reset, OUT transactions can have any number of bytes, as required..

UTYPE

Bits 9-10: USB type of transaction These bits configure the behavior of this endpoint/channel as described in Endpoint/channel type encoding. Channel0/Endpoint0 must always be a control endpoint/channel and each USB function must have at least one control endpoint/channel which has address 0, but there may be other control channels/endpoints if required. Only control channels/endpoints handle SETUP transactions, which are ignored by endpoints of other kinds. SETUP transactions cannot be answered with NAK or STALL. If a control endpoint/channel is defined as NAK, the USB peripheral does not answer, simulating a receive error, in the receive direction when a SETUP transaction is received. If the control endpoint/channel is defined as STALL in the receive direction, then the SETUP packet is accepted anyway, transferring data and issuing the CTR interrupt. The reception of OUT transactions is handled in the normal way, even if the endpoint/channel is a control one. Bulk and interrupt endpoints have very similar behavior and they differ only in the special feature available using the EPKIND configuration bit. The usage of isochronous channels/endpoints is explained in transfers in Device mode.

SETUP

Bit 11: Setup transaction completed Device mode This bit is read-only and it is set by the hardware when the last completed transaction is a SETUP. This bit changes its value only for control endpoints. It must be examined, in the case of a successful receive transaction (VTRX event), to determine the type of transaction occurred. To protect the interrupt service routine from the changes in SETUP bits due to next incoming tokens, this bit is kept frozen while VTRX bit is at 1; its state changes when VTRX is at 0. This bit is read-only. Host mode This bit is set by the software to send a SETUP transaction on a control endpoint. This bit changes its value only for control endpoints. It is cleared by hardware when the SETUP transaction is acknowledged and VTTX interrupt generated..

STATRX

Bits 12-13: Status bits, for reception transfers Device mode These bits contain information about the endpoint status, which are listed in Reception status encoding on page 2492. These bits can be toggled by software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATRX bits to NAK when a correct transfer has occurred (VTRX = 1) corresponding to a OUT or SETUP (control only) transaction addressed to this endpoint, so the software has the time to elaborate the received data before it acknowledges a new transaction. Double-buffered bulk endpoints implement a special transaction flow control, which control the status based upon buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can be only “VALID” or “DISABLED”, so that the hardware cannot change the status of the endpoint after a successful transaction. If the software sets the STATRX bits to ‘STALL’ or ‘NAK’ for an isochronous endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode These bits are the host application controls to start, retry, or abort host transactions driven by the channel. These bits also contain information about the device answer to the last IN channel transaction and report the current status of the channel according to the following STATRX table of states: - DISABLE DISABLE value is reported in case of ACK acknowledge is received on a single-buffer channel. When in DISABLE state the channel is unused or not active waiting for application to restart it by writing VALID. Application can reset a VALID channel to DISABLE to abort a transaction. In this case the transaction is immediately removed from the host execution list. If the aborted transaction was already under execution it is regularly terminated on the USB but the relative VTRX interrupt is not generated. - VALID A host channel is actively trying to submit USB transaction to device only when in VALID state.VALID state can be set by software or automatically by hardware on a NAKED channel at the start of a new frame. When set to VALID, an host channel enters the host execution queue and waits permission from the host frame scheduler to submit its configured transaction. VALID value is also reported in case of ACK acknowledge is received on a double-buffered channel. In this case the channel remains active on the alternate buffer while application needs to read the current buffer and toggle DTOGTX. In case software is late in reading and the alternate buffer is not ready, the host channel is automatically suspended transparently to the application. The suspended double buffered channel is re-activated as soon as delay is recovered and DTOGTX is toggled. - NAK NAK value is reported in case of NAK acknowledge received. When in NAK state the channel is suspended and does not try to transmit. NAK state is moved to VALID by hardware at the start of the next frame, or software can change it to immediately retry transmission by writing it to VALID, or can disable it and abort the transaction by writing DISABLE - STALL STALL value is reported in case of STALL acknowledge received. When in STALL state the channel behaves as disabled. Application should not retry transmission but reset the USB and re-enumerate..

DTOGRX

Bit 14: Data Toggle, for reception transfers If the endpoint/channel is not isochronous, this bit contains the expected value of the data toggle bit (0 = DATA0, 1 = DATA1) for the next data packet to be received. Hardware toggles this bit, when the ACK handshake is sent following a data packet reception having a matching data PID value; if the endpoint is defined as a control one, hardware clears this bit at the reception of a SETUP PID received from host (in device) or acknowledged by device (in host). If the endpoint/channel is using the double-buffering feature this bit is used to support packet buffer swapping too (Refer to Device mode). If the endpoint/channel is isochronous, this bit is used only to support packet buffer swapping for data transmission since no data toggling is used for this kind of channels/endpoints and only DATA0 packet are transmitted (Refer to Isochronous transfers in Device mode). Hardware toggles this bit just after the end of data packet reception, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint is not a control one) or to force specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGRX remains unchanged, while writing 1 makes the bit value toggle. This bit is read/write but it can be only toggled by writing 1..

VTRX

Bit 15: USB valid transaction received Device mode This bit is set by the hardware when an OUT/SETUP transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. The type of occurred transaction, OUT or SETUP, can be determined from the SETUP bit described below. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written, writing 1 has no effect. Host mode This bit is set by the hardware when an IN transaction is successfully completed on this channel. The software can only clear this bit. If the CTRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. - A transaction ended with a NAK sets this bit and NAK answer is reported to application reading the NAK state from the STATRX field of this register. One NAKed transaction keeps pending and is automatically retried by the host at the next frame, or the host can immediately retry by resetting STATRX state to VALID. - A transaction ended by STALL handshake sets this bit and the STALL answer is reported to application reading the STALL state from the STATRX field of this register. Host application should consequently disable the channel and re-enumerate. - A transaction ended with ACK handshake sets this bit If double buffering is disabled, ACK answer is reported by application reading the DISABLE state from the STATRX field of this register. Host application should read received data from USBRAM and re-arm the channel by writing VALID to the STATRX field of this register. If double buffering is enabled, ACK answer is reported by application reading VALID state from the STATRX field of this register. Host application should read received data from USBRAM and toggle the DTOGTX bit of this register. - A transaction ended with error sets this bit. Errors can be seen via the bits ERR_RX (host mode only). This bit is read/write but only 0 can be written, writing 1 has no effect..

DEVADDR

Bits 16-22: Host mode Device address assigned to the endpoint during the enumeration process..

NAK

Bit 23: Host mode This bit is set by the hardware when a device responds with a NAK. Software can use this bit to monitor the number of NAKs received from a device..

LS_EP

Bit 24: Low speed endpoint – host with HUB only Host mode This bit is set by the software to send an LS transaction to the corresponding endpoint..

ERR_TX

Bit 25: Received error for an OUT/SETUP transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an OUT or SETUP transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..

ERR_RX

Bit 26: Received error for an IN transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an IN transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..

THREE_ERR_TX

Bits 27-28: Three errors for an OUT or SETUP transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an OUT transaction. THREE_ERR_TX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.

THREE_ERR_RX

Bits 29-30: Three errors for an IN transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an IN transaction. THREE_ERR_RX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.

CHEP4R

USB endpoint/channel 4 register

Offset: 0x10, size: 32, reset: 0x00000000, access: Unspecified

1/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
THREE_ERR_RX
rw
THREE_ERR_TX
rw
ERR_RX
rw
ERR_TX
rw
LS_EP
rw
NAK
rw
DEVADDR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
VTRX
rw
DTOGRX
w
STATRX
w
SETUP
r
UTYPE
rw
EPKIND
rw
VTTX
rw
DTOGTX
w
STATTX
w
EA
rw
Toggle fields

EA

Bits 0-3: endpoint/channel address Device mode Software must write in this field the 4-bit address used to identify the transactions directed to this endpoint. A value must be written before enabling the corresponding endpoint. Host mode Software must write in this field the 4-bit address used to identify the channel addressed by the host transaction..

STATTX

Bits 4-5: Status bits, for transmission transfers Device mode These bits contain the information about the endpoint status, listed in . These bits can be toggled by the software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATTX bits to NAK, when a correct transfer has occurred (VTTX = 1) corresponding to a IN or SETUP (control only) transaction addressed to this channel/endpoint. It then waits for the software to prepare the next set of data to be transmitted. Double-buffered bulk endpoints implement a special transaction flow control, which controls the status based on buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can only be “VALID” or “DISABLED”. Therefore, the hardware cannot change the status of the channel/endpoint/channel after a successful transaction. If the software sets the STATTX bits to ‘STALL’ or ‘NAK’ for an isochronous channel/endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode The STATTX bits contain the information about the channel status. Refer to for the full descriptions (“Host mode” descriptions). Whereas in Device mode, these bits contain the status that are given out on the following transaction, in Host mode they capture the status last received from the device. If a NAK is received, STATTX contains the value indicating NAK..

DTOGTX

Bit 6: Data toggle, for transmission transfers If the endpoint/channel is non-isochronous, this bit contains the required value of the data toggle bit (0 = DATA0, 1 = DATA1) for the next data packet to be transmitted. Hardware toggles this bit when the ACK handshake is received from the USB host, following a data packet transmission. If the endpoint/channel is defined as a control one, hardware sets this bit to 1 at the reception of a SETUP PID addressed to this endpoint. If the endpoint/channel is using the double buffer feature, this bit is used to support packet buffer swapping too (Refer to Device mode) If the endpoint/channel is isochronous, this bit is used to support packet buffer swapping since no data toggling is used for this sort of endpoints and only DATA0 packet are transmitted (refer to ). Hardware toggles this bit just after the end of data packet transmission, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint/channel is not a control one) or to force a specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGTX remains unchanged, while writing 1 makes the bit value to toggle. This bit is read/write but it can only be toggled by writing 1..

VTTX

Bit 7: Valid USB transaction transmitted Device mode This bit is set by the hardware when an IN transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in the USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written. Host mode Same as VTRX behavior but for USB OUT and SETUP transactions..

EPKIND

Bit 8: endpoint/channel kind The meaning of this bit depends on the endpoint/channel type configured by the UTYPE bits. summarizes the different meanings. DBL_BUF: This bit is set by the software to enable the double-buffering feature for this bulk endpoint. The usage of double-buffered bulk endpoints is explained in Double-buffered endpoints and usage in Device mode. STATUS_OUT: This bit is set by the software to indicate that a status out transaction is expected: in this case all OUT transactions containing more than zero data bytes are answered ‘STALL’ instead of ‘ACK’. This bit may be used to improve the robustness of the application to protocol errors during control transfers and its usage is intended for control endpoints only. When STATUS_OUT is reset, OUT transactions can have any number of bytes, as required..

UTYPE

Bits 9-10: USB type of transaction These bits configure the behavior of this endpoint/channel as described in Endpoint/channel type encoding. Channel0/Endpoint0 must always be a control endpoint/channel and each USB function must have at least one control endpoint/channel which has address 0, but there may be other control channels/endpoints if required. Only control channels/endpoints handle SETUP transactions, which are ignored by endpoints of other kinds. SETUP transactions cannot be answered with NAK or STALL. If a control endpoint/channel is defined as NAK, the USB peripheral does not answer, simulating a receive error, in the receive direction when a SETUP transaction is received. If the control endpoint/channel is defined as STALL in the receive direction, then the SETUP packet is accepted anyway, transferring data and issuing the CTR interrupt. The reception of OUT transactions is handled in the normal way, even if the endpoint/channel is a control one. Bulk and interrupt endpoints have very similar behavior and they differ only in the special feature available using the EPKIND configuration bit. The usage of isochronous channels/endpoints is explained in transfers in Device mode.

SETUP

Bit 11: Setup transaction completed Device mode This bit is read-only and it is set by the hardware when the last completed transaction is a SETUP. This bit changes its value only for control endpoints. It must be examined, in the case of a successful receive transaction (VTRX event), to determine the type of transaction occurred. To protect the interrupt service routine from the changes in SETUP bits due to next incoming tokens, this bit is kept frozen while VTRX bit is at 1; its state changes when VTRX is at 0. This bit is read-only. Host mode This bit is set by the software to send a SETUP transaction on a control endpoint. This bit changes its value only for control endpoints. It is cleared by hardware when the SETUP transaction is acknowledged and VTTX interrupt generated..

STATRX

Bits 12-13: Status bits, for reception transfers Device mode These bits contain information about the endpoint status, which are listed in Reception status encoding on page 2492. These bits can be toggled by software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATRX bits to NAK when a correct transfer has occurred (VTRX = 1) corresponding to a OUT or SETUP (control only) transaction addressed to this endpoint, so the software has the time to elaborate the received data before it acknowledges a new transaction. Double-buffered bulk endpoints implement a special transaction flow control, which control the status based upon buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can be only “VALID” or “DISABLED”, so that the hardware cannot change the status of the endpoint after a successful transaction. If the software sets the STATRX bits to ‘STALL’ or ‘NAK’ for an isochronous endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode These bits are the host application controls to start, retry, or abort host transactions driven by the channel. These bits also contain information about the device answer to the last IN channel transaction and report the current status of the channel according to the following STATRX table of states: - DISABLE DISABLE value is reported in case of ACK acknowledge is received on a single-buffer channel. When in DISABLE state the channel is unused or not active waiting for application to restart it by writing VALID. Application can reset a VALID channel to DISABLE to abort a transaction. In this case the transaction is immediately removed from the host execution list. If the aborted transaction was already under execution it is regularly terminated on the USB but the relative VTRX interrupt is not generated. - VALID A host channel is actively trying to submit USB transaction to device only when in VALID state.VALID state can be set by software or automatically by hardware on a NAKED channel at the start of a new frame. When set to VALID, an host channel enters the host execution queue and waits permission from the host frame scheduler to submit its configured transaction. VALID value is also reported in case of ACK acknowledge is received on a double-buffered channel. In this case the channel remains active on the alternate buffer while application needs to read the current buffer and toggle DTOGTX. In case software is late in reading and the alternate buffer is not ready, the host channel is automatically suspended transparently to the application. The suspended double buffered channel is re-activated as soon as delay is recovered and DTOGTX is toggled. - NAK NAK value is reported in case of NAK acknowledge received. When in NAK state the channel is suspended and does not try to transmit. NAK state is moved to VALID by hardware at the start of the next frame, or software can change it to immediately retry transmission by writing it to VALID, or can disable it and abort the transaction by writing DISABLE - STALL STALL value is reported in case of STALL acknowledge received. When in STALL state the channel behaves as disabled. Application should not retry transmission but reset the USB and re-enumerate..

DTOGRX

Bit 14: Data Toggle, for reception transfers If the endpoint/channel is not isochronous, this bit contains the expected value of the data toggle bit (0 = DATA0, 1 = DATA1) for the next data packet to be received. Hardware toggles this bit, when the ACK handshake is sent following a data packet reception having a matching data PID value; if the endpoint is defined as a control one, hardware clears this bit at the reception of a SETUP PID received from host (in device) or acknowledged by device (in host). If the endpoint/channel is using the double-buffering feature this bit is used to support packet buffer swapping too (Refer to Device mode). If the endpoint/channel is isochronous, this bit is used only to support packet buffer swapping for data transmission since no data toggling is used for this kind of channels/endpoints and only DATA0 packet are transmitted (Refer to Isochronous transfers in Device mode). Hardware toggles this bit just after the end of data packet reception, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint is not a control one) or to force specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGRX remains unchanged, while writing 1 makes the bit value toggle. This bit is read/write but it can be only toggled by writing 1..

VTRX

Bit 15: USB valid transaction received Device mode This bit is set by the hardware when an OUT/SETUP transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. The type of occurred transaction, OUT or SETUP, can be determined from the SETUP bit described below. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written, writing 1 has no effect. Host mode This bit is set by the hardware when an IN transaction is successfully completed on this channel. The software can only clear this bit. If the CTRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. - A transaction ended with a NAK sets this bit and NAK answer is reported to application reading the NAK state from the STATRX field of this register. One NAKed transaction keeps pending and is automatically retried by the host at the next frame, or the host can immediately retry by resetting STATRX state to VALID. - A transaction ended by STALL handshake sets this bit and the STALL answer is reported to application reading the STALL state from the STATRX field of this register. Host application should consequently disable the channel and re-enumerate. - A transaction ended with ACK handshake sets this bit If double buffering is disabled, ACK answer is reported by application reading the DISABLE state from the STATRX field of this register. Host application should read received data from USBRAM and re-arm the channel by writing VALID to the STATRX field of this register. If double buffering is enabled, ACK answer is reported by application reading VALID state from the STATRX field of this register. Host application should read received data from USBRAM and toggle the DTOGTX bit of this register. - A transaction ended with error sets this bit. Errors can be seen via the bits ERR_RX (host mode only). This bit is read/write but only 0 can be written, writing 1 has no effect..

DEVADDR

Bits 16-22: Host mode Device address assigned to the endpoint during the enumeration process..

NAK

Bit 23: Host mode This bit is set by the hardware when a device responds with a NAK. Software can use this bit to monitor the number of NAKs received from a device..

LS_EP

Bit 24: Low speed endpoint – host with HUB only Host mode This bit is set by the software to send an LS transaction to the corresponding endpoint..

ERR_TX

Bit 25: Received error for an OUT/SETUP transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an OUT or SETUP transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..

ERR_RX

Bit 26: Received error for an IN transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an IN transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..

THREE_ERR_TX

Bits 27-28: Three errors for an OUT or SETUP transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an OUT transaction. THREE_ERR_TX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.

THREE_ERR_RX

Bits 29-30: Three errors for an IN transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an IN transaction. THREE_ERR_RX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.

CHEP5R

USB endpoint/channel 5 register

Offset: 0x14, size: 32, reset: 0x00000000, access: Unspecified

1/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
THREE_ERR_RX
rw
THREE_ERR_TX
rw
ERR_RX
rw
ERR_TX
rw
LS_EP
rw
NAK
rw
DEVADDR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
VTRX
rw
DTOGRX
w
STATRX
w
SETUP
r
UTYPE
rw
EPKIND
rw
VTTX
rw
DTOGTX
w
STATTX
w
EA
rw
Toggle fields

EA

Bits 0-3: endpoint/channel address Device mode Software must write in this field the 4-bit address used to identify the transactions directed to this endpoint. A value must be written before enabling the corresponding endpoint. Host mode Software must write in this field the 4-bit address used to identify the channel addressed by the host transaction..

STATTX

Bits 4-5: Status bits, for transmission transfers Device mode These bits contain the information about the endpoint status, listed in . These bits can be toggled by the software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATTX bits to NAK, when a correct transfer has occurred (VTTX = 1) corresponding to a IN or SETUP (control only) transaction addressed to this channel/endpoint. It then waits for the software to prepare the next set of data to be transmitted. Double-buffered bulk endpoints implement a special transaction flow control, which controls the status based on buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can only be “VALID” or “DISABLED”. Therefore, the hardware cannot change the status of the channel/endpoint/channel after a successful transaction. If the software sets the STATTX bits to ‘STALL’ or ‘NAK’ for an isochronous channel/endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode The STATTX bits contain the information about the channel status. Refer to for the full descriptions (“Host mode” descriptions). Whereas in Device mode, these bits contain the status that are given out on the following transaction, in Host mode they capture the status last received from the device. If a NAK is received, STATTX contains the value indicating NAK..

DTOGTX

Bit 6: Data toggle, for transmission transfers If the endpoint/channel is non-isochronous, this bit contains the required value of the data toggle bit (0 = DATA0, 1 = DATA1) for the next data packet to be transmitted. Hardware toggles this bit when the ACK handshake is received from the USB host, following a data packet transmission. If the endpoint/channel is defined as a control one, hardware sets this bit to 1 at the reception of a SETUP PID addressed to this endpoint. If the endpoint/channel is using the double buffer feature, this bit is used to support packet buffer swapping too (Refer to Device mode) If the endpoint/channel is isochronous, this bit is used to support packet buffer swapping since no data toggling is used for this sort of endpoints and only DATA0 packet are transmitted (refer to ). Hardware toggles this bit just after the end of data packet transmission, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint/channel is not a control one) or to force a specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGTX remains unchanged, while writing 1 makes the bit value to toggle. This bit is read/write but it can only be toggled by writing 1..

VTTX

Bit 7: Valid USB transaction transmitted Device mode This bit is set by the hardware when an IN transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in the USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written. Host mode Same as VTRX behavior but for USB OUT and SETUP transactions..

EPKIND

Bit 8: endpoint/channel kind The meaning of this bit depends on the endpoint/channel type configured by the UTYPE bits. summarizes the different meanings. DBL_BUF: This bit is set by the software to enable the double-buffering feature for this bulk endpoint. The usage of double-buffered bulk endpoints is explained in Double-buffered endpoints and usage in Device mode. STATUS_OUT: This bit is set by the software to indicate that a status out transaction is expected: in this case all OUT transactions containing more than zero data bytes are answered ‘STALL’ instead of ‘ACK’. This bit may be used to improve the robustness of the application to protocol errors during control transfers and its usage is intended for control endpoints only. When STATUS_OUT is reset, OUT transactions can have any number of bytes, as required..

UTYPE

Bits 9-10: USB type of transaction These bits configure the behavior of this endpoint/channel as described in Endpoint/channel type encoding. Channel0/Endpoint0 must always be a control endpoint/channel and each USB function must have at least one control endpoint/channel which has address 0, but there may be other control channels/endpoints if required. Only control channels/endpoints handle SETUP transactions, which are ignored by endpoints of other kinds. SETUP transactions cannot be answered with NAK or STALL. If a control endpoint/channel is defined as NAK, the USB peripheral does not answer, simulating a receive error, in the receive direction when a SETUP transaction is received. If the control endpoint/channel is defined as STALL in the receive direction, then the SETUP packet is accepted anyway, transferring data and issuing the CTR interrupt. The reception of OUT transactions is handled in the normal way, even if the endpoint/channel is a control one. Bulk and interrupt endpoints have very similar behavior and they differ only in the special feature available using the EPKIND configuration bit. The usage of isochronous channels/endpoints is explained in transfers in Device mode.

SETUP

Bit 11: Setup transaction completed Device mode This bit is read-only and it is set by the hardware when the last completed transaction is a SETUP. This bit changes its value only for control endpoints. It must be examined, in the case of a successful receive transaction (VTRX event), to determine the type of transaction occurred. To protect the interrupt service routine from the changes in SETUP bits due to next incoming tokens, this bit is kept frozen while VTRX bit is at 1; its state changes when VTRX is at 0. This bit is read-only. Host mode This bit is set by the software to send a SETUP transaction on a control endpoint. This bit changes its value only for control endpoints. It is cleared by hardware when the SETUP transaction is acknowledged and VTTX interrupt generated..

STATRX

Bits 12-13: Status bits, for reception transfers Device mode These bits contain information about the endpoint status, which are listed in Reception status encoding on page 2492. These bits can be toggled by software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATRX bits to NAK when a correct transfer has occurred (VTRX = 1) corresponding to a OUT or SETUP (control only) transaction addressed to this endpoint, so the software has the time to elaborate the received data before it acknowledges a new transaction. Double-buffered bulk endpoints implement a special transaction flow control, which control the status based upon buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can be only “VALID” or “DISABLED”, so that the hardware cannot change the status of the endpoint after a successful transaction. If the software sets the STATRX bits to ‘STALL’ or ‘NAK’ for an isochronous endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode These bits are the host application controls to start, retry, or abort host transactions driven by the channel. These bits also contain information about the device answer to the last IN channel transaction and report the current status of the channel according to the following STATRX table of states: - DISABLE DISABLE value is reported in case of ACK acknowledge is received on a single-buffer channel. When in DISABLE state the channel is unused or not active waiting for application to restart it by writing VALID. Application can reset a VALID channel to DISABLE to abort a transaction. In this case the transaction is immediately removed from the host execution list. If the aborted transaction was already under execution it is regularly terminated on the USB but the relative VTRX interrupt is not generated. - VALID A host channel is actively trying to submit USB transaction to device only when in VALID state.VALID state can be set by software or automatically by hardware on a NAKED channel at the start of a new frame. When set to VALID, an host channel enters the host execution queue and waits permission from the host frame scheduler to submit its configured transaction. VALID value is also reported in case of ACK acknowledge is received on a double-buffered channel. In this case the channel remains active on the alternate buffer while application needs to read the current buffer and toggle DTOGTX. In case software is late in reading and the alternate buffer is not ready, the host channel is automatically suspended transparently to the application. The suspended double buffered channel is re-activated as soon as delay is recovered and DTOGTX is toggled. - NAK NAK value is reported in case of NAK acknowledge received. When in NAK state the channel is suspended and does not try to transmit. NAK state is moved to VALID by hardware at the start of the next frame, or software can change it to immediately retry transmission by writing it to VALID, or can disable it and abort the transaction by writing DISABLE - STALL STALL value is reported in case of STALL acknowledge received. When in STALL state the channel behaves as disabled. Application should not retry transmission but reset the USB and re-enumerate..

DTOGRX

Bit 14: Data Toggle, for reception transfers If the endpoint/channel is not isochronous, this bit contains the expected value of the data toggle bit (0 = DATA0, 1 = DATA1) for the next data packet to be received. Hardware toggles this bit, when the ACK handshake is sent following a data packet reception having a matching data PID value; if the endpoint is defined as a control one, hardware clears this bit at the reception of a SETUP PID received from host (in device) or acknowledged by device (in host). If the endpoint/channel is using the double-buffering feature this bit is used to support packet buffer swapping too (Refer to Device mode). If the endpoint/channel is isochronous, this bit is used only to support packet buffer swapping for data transmission since no data toggling is used for this kind of channels/endpoints and only DATA0 packet are transmitted (Refer to Isochronous transfers in Device mode). Hardware toggles this bit just after the end of data packet reception, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint is not a control one) or to force specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGRX remains unchanged, while writing 1 makes the bit value toggle. This bit is read/write but it can be only toggled by writing 1..

VTRX

Bit 15: USB valid transaction received Device mode This bit is set by the hardware when an OUT/SETUP transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. The type of occurred transaction, OUT or SETUP, can be determined from the SETUP bit described below. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written, writing 1 has no effect. Host mode This bit is set by the hardware when an IN transaction is successfully completed on this channel. The software can only clear this bit. If the CTRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. - A transaction ended with a NAK sets this bit and NAK answer is reported to application reading the NAK state from the STATRX field of this register. One NAKed transaction keeps pending and is automatically retried by the host at the next frame, or the host can immediately retry by resetting STATRX state to VALID. - A transaction ended by STALL handshake sets this bit and the STALL answer is reported to application reading the STALL state from the STATRX field of this register. Host application should consequently disable the channel and re-enumerate. - A transaction ended with ACK handshake sets this bit If double buffering is disabled, ACK answer is reported by application reading the DISABLE state from the STATRX field of this register. Host application should read received data from USBRAM and re-arm the channel by writing VALID to the STATRX field of this register. If double buffering is enabled, ACK answer is reported by application reading VALID state from the STATRX field of this register. Host application should read received data from USBRAM and toggle the DTOGTX bit of this register. - A transaction ended with error sets this bit. Errors can be seen via the bits ERR_RX (host mode only). This bit is read/write but only 0 can be written, writing 1 has no effect..

DEVADDR

Bits 16-22: Host mode Device address assigned to the endpoint during the enumeration process..

NAK

Bit 23: Host mode This bit is set by the hardware when a device responds with a NAK. Software can use this bit to monitor the number of NAKs received from a device..

LS_EP

Bit 24: Low speed endpoint – host with HUB only Host mode This bit is set by the software to send an LS transaction to the corresponding endpoint..

ERR_TX

Bit 25: Received error for an OUT/SETUP transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an OUT or SETUP transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..

ERR_RX

Bit 26: Received error for an IN transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an IN transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..

THREE_ERR_TX

Bits 27-28: Three errors for an OUT or SETUP transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an OUT transaction. THREE_ERR_TX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.

THREE_ERR_RX

Bits 29-30: Three errors for an IN transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an IN transaction. THREE_ERR_RX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.

CHEP6R

USB endpoint/channel 6 register

Offset: 0x18, size: 32, reset: 0x00000000, access: Unspecified

1/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
THREE_ERR_RX
rw
THREE_ERR_TX
rw
ERR_RX
rw
ERR_TX
rw
LS_EP
rw
NAK
rw
DEVADDR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
VTRX
rw
DTOGRX
w
STATRX
w
SETUP
r
UTYPE
rw
EPKIND
rw
VTTX
rw
DTOGTX
w
STATTX
w
EA
rw
Toggle fields

EA

Bits 0-3: endpoint/channel address Device mode Software must write in this field the 4-bit address used to identify the transactions directed to this endpoint. A value must be written before enabling the corresponding endpoint. Host mode Software must write in this field the 4-bit address used to identify the channel addressed by the host transaction..

STATTX

Bits 4-5: Status bits, for transmission transfers Device mode These bits contain the information about the endpoint status, listed in . These bits can be toggled by the software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATTX bits to NAK, when a correct transfer has occurred (VTTX = 1) corresponding to a IN or SETUP (control only) transaction addressed to this channel/endpoint. It then waits for the software to prepare the next set of data to be transmitted. Double-buffered bulk endpoints implement a special transaction flow control, which controls the status based on buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can only be “VALID” or “DISABLED”. Therefore, the hardware cannot change the status of the channel/endpoint/channel after a successful transaction. If the software sets the STATTX bits to ‘STALL’ or ‘NAK’ for an isochronous channel/endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode The STATTX bits contain the information about the channel status. Refer to for the full descriptions (“Host mode” descriptions). Whereas in Device mode, these bits contain the status that are given out on the following transaction, in Host mode they capture the status last received from the device. If a NAK is received, STATTX contains the value indicating NAK..

DTOGTX

Bit 6: Data toggle, for transmission transfers If the endpoint/channel is non-isochronous, this bit contains the required value of the data toggle bit (0 = DATA0, 1 = DATA1) for the next data packet to be transmitted. Hardware toggles this bit when the ACK handshake is received from the USB host, following a data packet transmission. If the endpoint/channel is defined as a control one, hardware sets this bit to 1 at the reception of a SETUP PID addressed to this endpoint. If the endpoint/channel is using the double buffer feature, this bit is used to support packet buffer swapping too (Refer to Device mode) If the endpoint/channel is isochronous, this bit is used to support packet buffer swapping since no data toggling is used for this sort of endpoints and only DATA0 packet are transmitted (refer to ). Hardware toggles this bit just after the end of data packet transmission, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint/channel is not a control one) or to force a specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGTX remains unchanged, while writing 1 makes the bit value to toggle. This bit is read/write but it can only be toggled by writing 1..

VTTX

Bit 7: Valid USB transaction transmitted Device mode This bit is set by the hardware when an IN transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in the USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written. Host mode Same as VTRX behavior but for USB OUT and SETUP transactions..

EPKIND

Bit 8: endpoint/channel kind The meaning of this bit depends on the endpoint/channel type configured by the UTYPE bits. summarizes the different meanings. DBL_BUF: This bit is set by the software to enable the double-buffering feature for this bulk endpoint. The usage of double-buffered bulk endpoints is explained in Double-buffered endpoints and usage in Device mode. STATUS_OUT: This bit is set by the software to indicate that a status out transaction is expected: in this case all OUT transactions containing more than zero data bytes are answered ‘STALL’ instead of ‘ACK’. This bit may be used to improve the robustness of the application to protocol errors during control transfers and its usage is intended for control endpoints only. When STATUS_OUT is reset, OUT transactions can have any number of bytes, as required..

UTYPE

Bits 9-10: USB type of transaction These bits configure the behavior of this endpoint/channel as described in Endpoint/channel type encoding. Channel0/Endpoint0 must always be a control endpoint/channel and each USB function must have at least one control endpoint/channel which has address 0, but there may be other control channels/endpoints if required. Only control channels/endpoints handle SETUP transactions, which are ignored by endpoints of other kinds. SETUP transactions cannot be answered with NAK or STALL. If a control endpoint/channel is defined as NAK, the USB peripheral does not answer, simulating a receive error, in the receive direction when a SETUP transaction is received. If the control endpoint/channel is defined as STALL in the receive direction, then the SETUP packet is accepted anyway, transferring data and issuing the CTR interrupt. The reception of OUT transactions is handled in the normal way, even if the endpoint/channel is a control one. Bulk and interrupt endpoints have very similar behavior and they differ only in the special feature available using the EPKIND configuration bit. The usage of isochronous channels/endpoints is explained in transfers in Device mode.

SETUP

Bit 11: Setup transaction completed Device mode This bit is read-only and it is set by the hardware when the last completed transaction is a SETUP. This bit changes its value only for control endpoints. It must be examined, in the case of a successful receive transaction (VTRX event), to determine the type of transaction occurred. To protect the interrupt service routine from the changes in SETUP bits due to next incoming tokens, this bit is kept frozen while VTRX bit is at 1; its state changes when VTRX is at 0. This bit is read-only. Host mode This bit is set by the software to send a SETUP transaction on a control endpoint. This bit changes its value only for control endpoints. It is cleared by hardware when the SETUP transaction is acknowledged and VTTX interrupt generated..

STATRX

Bits 12-13: Status bits, for reception transfers Device mode These bits contain information about the endpoint status, which are listed in Reception status encoding on page 2492. These bits can be toggled by software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATRX bits to NAK when a correct transfer has occurred (VTRX = 1) corresponding to a OUT or SETUP (control only) transaction addressed to this endpoint, so the software has the time to elaborate the received data before it acknowledges a new transaction. Double-buffered bulk endpoints implement a special transaction flow control, which control the status based upon buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can be only “VALID” or “DISABLED”, so that the hardware cannot change the status of the endpoint after a successful transaction. If the software sets the STATRX bits to ‘STALL’ or ‘NAK’ for an isochronous endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode These bits are the host application controls to start, retry, or abort host transactions driven by the channel. These bits also contain information about the device answer to the last IN channel transaction and report the current status of the channel according to the following STATRX table of states: - DISABLE DISABLE value is reported in case of ACK acknowledge is received on a single-buffer channel. When in DISABLE state the channel is unused or not active waiting for application to restart it by writing VALID. Application can reset a VALID channel to DISABLE to abort a transaction. In this case the transaction is immediately removed from the host execution list. If the aborted transaction was already under execution it is regularly terminated on the USB but the relative VTRX interrupt is not generated. - VALID A host channel is actively trying to submit USB transaction to device only when in VALID state.VALID state can be set by software or automatically by hardware on a NAKED channel at the start of a new frame. When set to VALID, an host channel enters the host execution queue and waits permission from the host frame scheduler to submit its configured transaction. VALID value is also reported in case of ACK acknowledge is received on a double-buffered channel. In this case the channel remains active on the alternate buffer while application needs to read the current buffer and toggle DTOGTX. In case software is late in reading and the alternate buffer is not ready, the host channel is automatically suspended transparently to the application. The suspended double buffered channel is re-activated as soon as delay is recovered and DTOGTX is toggled. - NAK NAK value is reported in case of NAK acknowledge received. When in NAK state the channel is suspended and does not try to transmit. NAK state is moved to VALID by hardware at the start of the next frame, or software can change it to immediately retry transmission by writing it to VALID, or can disable it and abort the transaction by writing DISABLE - STALL STALL value is reported in case of STALL acknowledge received. When in STALL state the channel behaves as disabled. Application should not retry transmission but reset the USB and re-enumerate..

DTOGRX

Bit 14: Data Toggle, for reception transfers If the endpoint/channel is not isochronous, this bit contains the expected value of the data toggle bit (0 = DATA0, 1 = DATA1) for the next data packet to be received. Hardware toggles this bit, when the ACK handshake is sent following a data packet reception having a matching data PID value; if the endpoint is defined as a control one, hardware clears this bit at the reception of a SETUP PID received from host (in device) or acknowledged by device (in host). If the endpoint/channel is using the double-buffering feature this bit is used to support packet buffer swapping too (Refer to Device mode). If the endpoint/channel is isochronous, this bit is used only to support packet buffer swapping for data transmission since no data toggling is used for this kind of channels/endpoints and only DATA0 packet are transmitted (Refer to Isochronous transfers in Device mode). Hardware toggles this bit just after the end of data packet reception, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint is not a control one) or to force specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGRX remains unchanged, while writing 1 makes the bit value toggle. This bit is read/write but it can be only toggled by writing 1..

VTRX

Bit 15: USB valid transaction received Device mode This bit is set by the hardware when an OUT/SETUP transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. The type of occurred transaction, OUT or SETUP, can be determined from the SETUP bit described below. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written, writing 1 has no effect. Host mode This bit is set by the hardware when an IN transaction is successfully completed on this channel. The software can only clear this bit. If the CTRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. - A transaction ended with a NAK sets this bit and NAK answer is reported to application reading the NAK state from the STATRX field of this register. One NAKed transaction keeps pending and is automatically retried by the host at the next frame, or the host can immediately retry by resetting STATRX state to VALID. - A transaction ended by STALL handshake sets this bit and the STALL answer is reported to application reading the STALL state from the STATRX field of this register. Host application should consequently disable the channel and re-enumerate. - A transaction ended with ACK handshake sets this bit If double buffering is disabled, ACK answer is reported by application reading the DISABLE state from the STATRX field of this register. Host application should read received data from USBRAM and re-arm the channel by writing VALID to the STATRX field of this register. If double buffering is enabled, ACK answer is reported by application reading VALID state from the STATRX field of this register. Host application should read received data from USBRAM and toggle the DTOGTX bit of this register. - A transaction ended with error sets this bit. Errors can be seen via the bits ERR_RX (host mode only). This bit is read/write but only 0 can be written, writing 1 has no effect..

DEVADDR

Bits 16-22: Host mode Device address assigned to the endpoint during the enumeration process..

NAK

Bit 23: Host mode This bit is set by the hardware when a device responds with a NAK. Software can use this bit to monitor the number of NAKs received from a device..

LS_EP

Bit 24: Low speed endpoint – host with HUB only Host mode This bit is set by the software to send an LS transaction to the corresponding endpoint..

ERR_TX

Bit 25: Received error for an OUT/SETUP transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an OUT or SETUP transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..

ERR_RX

Bit 26: Received error for an IN transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an IN transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..

THREE_ERR_TX

Bits 27-28: Three errors for an OUT or SETUP transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an OUT transaction. THREE_ERR_TX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.

THREE_ERR_RX

Bits 29-30: Three errors for an IN transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an IN transaction. THREE_ERR_RX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.

CHEP7R

USB endpoint/channel 7 register

Offset: 0x1c, size: 32, reset: 0x00000000, access: Unspecified

1/17 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
THREE_ERR_RX
rw
THREE_ERR_TX
rw
ERR_RX
rw
ERR_TX
rw
LS_EP
rw
NAK
rw
DEVADDR
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
VTRX
rw
DTOGRX
w
STATRX
w
SETUP
r
UTYPE
rw
EPKIND
rw
VTTX
rw
DTOGTX
w
STATTX
w
EA
rw
Toggle fields

EA

Bits 0-3: endpoint/channel address Device mode Software must write in this field the 4-bit address used to identify the transactions directed to this endpoint. A value must be written before enabling the corresponding endpoint. Host mode Software must write in this field the 4-bit address used to identify the channel addressed by the host transaction..

STATTX

Bits 4-5: Status bits, for transmission transfers Device mode These bits contain the information about the endpoint status, listed in . These bits can be toggled by the software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATTX bits to NAK, when a correct transfer has occurred (VTTX = 1) corresponding to a IN or SETUP (control only) transaction addressed to this channel/endpoint. It then waits for the software to prepare the next set of data to be transmitted. Double-buffered bulk endpoints implement a special transaction flow control, which controls the status based on buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can only be “VALID” or “DISABLED”. Therefore, the hardware cannot change the status of the channel/endpoint/channel after a successful transaction. If the software sets the STATTX bits to ‘STALL’ or ‘NAK’ for an isochronous channel/endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode The STATTX bits contain the information about the channel status. Refer to for the full descriptions (“Host mode” descriptions). Whereas in Device mode, these bits contain the status that are given out on the following transaction, in Host mode they capture the status last received from the device. If a NAK is received, STATTX contains the value indicating NAK..

DTOGTX

Bit 6: Data toggle, for transmission transfers If the endpoint/channel is non-isochronous, this bit contains the required value of the data toggle bit (0 = DATA0, 1 = DATA1) for the next data packet to be transmitted. Hardware toggles this bit when the ACK handshake is received from the USB host, following a data packet transmission. If the endpoint/channel is defined as a control one, hardware sets this bit to 1 at the reception of a SETUP PID addressed to this endpoint. If the endpoint/channel is using the double buffer feature, this bit is used to support packet buffer swapping too (Refer to Device mode) If the endpoint/channel is isochronous, this bit is used to support packet buffer swapping since no data toggling is used for this sort of endpoints and only DATA0 packet are transmitted (refer to ). Hardware toggles this bit just after the end of data packet transmission, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint/channel is not a control one) or to force a specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGTX remains unchanged, while writing 1 makes the bit value to toggle. This bit is read/write but it can only be toggled by writing 1..

VTTX

Bit 7: Valid USB transaction transmitted Device mode This bit is set by the hardware when an IN transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in the USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written. Host mode Same as VTRX behavior but for USB OUT and SETUP transactions..

EPKIND

Bit 8: endpoint/channel kind The meaning of this bit depends on the endpoint/channel type configured by the UTYPE bits. summarizes the different meanings. DBL_BUF: This bit is set by the software to enable the double-buffering feature for this bulk endpoint. The usage of double-buffered bulk endpoints is explained in Double-buffered endpoints and usage in Device mode. STATUS_OUT: This bit is set by the software to indicate that a status out transaction is expected: in this case all OUT transactions containing more than zero data bytes are answered ‘STALL’ instead of ‘ACK’. This bit may be used to improve the robustness of the application to protocol errors during control transfers and its usage is intended for control endpoints only. When STATUS_OUT is reset, OUT transactions can have any number of bytes, as required..

UTYPE

Bits 9-10: USB type of transaction These bits configure the behavior of this endpoint/channel as described in Endpoint/channel type encoding. Channel0/Endpoint0 must always be a control endpoint/channel and each USB function must have at least one control endpoint/channel which has address 0, but there may be other control channels/endpoints if required. Only control channels/endpoints handle SETUP transactions, which are ignored by endpoints of other kinds. SETUP transactions cannot be answered with NAK or STALL. If a control endpoint/channel is defined as NAK, the USB peripheral does not answer, simulating a receive error, in the receive direction when a SETUP transaction is received. If the control endpoint/channel is defined as STALL in the receive direction, then the SETUP packet is accepted anyway, transferring data and issuing the CTR interrupt. The reception of OUT transactions is handled in the normal way, even if the endpoint/channel is a control one. Bulk and interrupt endpoints have very similar behavior and they differ only in the special feature available using the EPKIND configuration bit. The usage of isochronous channels/endpoints is explained in transfers in Device mode.

SETUP

Bit 11: Setup transaction completed Device mode This bit is read-only and it is set by the hardware when the last completed transaction is a SETUP. This bit changes its value only for control endpoints. It must be examined, in the case of a successful receive transaction (VTRX event), to determine the type of transaction occurred. To protect the interrupt service routine from the changes in SETUP bits due to next incoming tokens, this bit is kept frozen while VTRX bit is at 1; its state changes when VTRX is at 0. This bit is read-only. Host mode This bit is set by the software to send a SETUP transaction on a control endpoint. This bit changes its value only for control endpoints. It is cleared by hardware when the SETUP transaction is acknowledged and VTTX interrupt generated..

STATRX

Bits 12-13: Status bits, for reception transfers Device mode These bits contain information about the endpoint status, which are listed in Reception status encoding on page 2492. These bits can be toggled by software to initialize their value. When the application software writes 0, the value remains unchanged, while writing 1 makes the bit value to toggle. Hardware sets the STATRX bits to NAK when a correct transfer has occurred (VTRX = 1) corresponding to a OUT or SETUP (control only) transaction addressed to this endpoint, so the software has the time to elaborate the received data before it acknowledges a new transaction. Double-buffered bulk endpoints implement a special transaction flow control, which control the status based upon buffer availability condition (Refer to endpoints and usage in Device mode). If the endpoint is defined as isochronous, its status can be only “VALID” or “DISABLED”, so that the hardware cannot change the status of the endpoint after a successful transaction. If the software sets the STATRX bits to ‘STALL’ or ‘NAK’ for an isochronous endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing 1. Host mode These bits are the host application controls to start, retry, or abort host transactions driven by the channel. These bits also contain information about the device answer to the last IN channel transaction and report the current status of the channel according to the following STATRX table of states: - DISABLE DISABLE value is reported in case of ACK acknowledge is received on a single-buffer channel. When in DISABLE state the channel is unused or not active waiting for application to restart it by writing VALID. Application can reset a VALID channel to DISABLE to abort a transaction. In this case the transaction is immediately removed from the host execution list. If the aborted transaction was already under execution it is regularly terminated on the USB but the relative VTRX interrupt is not generated. - VALID A host channel is actively trying to submit USB transaction to device only when in VALID state.VALID state can be set by software or automatically by hardware on a NAKED channel at the start of a new frame. When set to VALID, an host channel enters the host execution queue and waits permission from the host frame scheduler to submit its configured transaction. VALID value is also reported in case of ACK acknowledge is received on a double-buffered channel. In this case the channel remains active on the alternate buffer while application needs to read the current buffer and toggle DTOGTX. In case software is late in reading and the alternate buffer is not ready, the host channel is automatically suspended transparently to the application. The suspended double buffered channel is re-activated as soon as delay is recovered and DTOGTX is toggled. - NAK NAK value is reported in case of NAK acknowledge received. When in NAK state the channel is suspended and does not try to transmit. NAK state is moved to VALID by hardware at the start of the next frame, or software can change it to immediately retry transmission by writing it to VALID, or can disable it and abort the transaction by writing DISABLE - STALL STALL value is reported in case of STALL acknowledge received. When in STALL state the channel behaves as disabled. Application should not retry transmission but reset the USB and re-enumerate..

DTOGRX

Bit 14: Data Toggle, for reception transfers If the endpoint/channel is not isochronous, this bit contains the expected value of the data toggle bit (0 = DATA0, 1 = DATA1) for the next data packet to be received. Hardware toggles this bit, when the ACK handshake is sent following a data packet reception having a matching data PID value; if the endpoint is defined as a control one, hardware clears this bit at the reception of a SETUP PID received from host (in device) or acknowledged by device (in host). If the endpoint/channel is using the double-buffering feature this bit is used to support packet buffer swapping too (Refer to Device mode). If the endpoint/channel is isochronous, this bit is used only to support packet buffer swapping for data transmission since no data toggling is used for this kind of channels/endpoints and only DATA0 packet are transmitted (Refer to Isochronous transfers in Device mode). Hardware toggles this bit just after the end of data packet reception, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint is not a control one) or to force specific data toggle/packet buffer usage. When the application software writes 0, the value of DTOGRX remains unchanged, while writing 1 makes the bit value toggle. This bit is read/write but it can be only toggled by writing 1..

VTRX

Bit 15: USB valid transaction received Device mode This bit is set by the hardware when an OUT/SETUP transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. The type of occurred transaction, OUT or SETUP, can be determined from the SETUP bit described below. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only 0 can be written, writing 1 has no effect. Host mode This bit is set by the hardware when an IN transaction is successfully completed on this channel. The software can only clear this bit. If the CTRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. - A transaction ended with a NAK sets this bit and NAK answer is reported to application reading the NAK state from the STATRX field of this register. One NAKed transaction keeps pending and is automatically retried by the host at the next frame, or the host can immediately retry by resetting STATRX state to VALID. - A transaction ended by STALL handshake sets this bit and the STALL answer is reported to application reading the STALL state from the STATRX field of this register. Host application should consequently disable the channel and re-enumerate. - A transaction ended with ACK handshake sets this bit If double buffering is disabled, ACK answer is reported by application reading the DISABLE state from the STATRX field of this register. Host application should read received data from USBRAM and re-arm the channel by writing VALID to the STATRX field of this register. If double buffering is enabled, ACK answer is reported by application reading VALID state from the STATRX field of this register. Host application should read received data from USBRAM and toggle the DTOGTX bit of this register. - A transaction ended with error sets this bit. Errors can be seen via the bits ERR_RX (host mode only). This bit is read/write but only 0 can be written, writing 1 has no effect..

DEVADDR

Bits 16-22: Host mode Device address assigned to the endpoint during the enumeration process..

NAK

Bit 23: Host mode This bit is set by the hardware when a device responds with a NAK. Software can use this bit to monitor the number of NAKs received from a device..

LS_EP

Bit 24: Low speed endpoint – host with HUB only Host mode This bit is set by the software to send an LS transaction to the corresponding endpoint..

ERR_TX

Bit 25: Received error for an OUT/SETUP transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an OUT or SETUP transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..

ERR_RX

Bit 26: Received error for an IN transaction Host mode This bit is set by the hardware when an error (for example no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an IN transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set, a generic interrupt condition is generated together with the channel related flag, which is always activated..

THREE_ERR_TX

Bits 27-28: Three errors for an OUT or SETUP transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an OUT transaction. THREE_ERR_TX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.

THREE_ERR_RX

Bits 29-30: Three errors for an IN transaction Host mode This bit is set by the hardware when 3 consecutive transaction errors occurred on the USB bus for an IN transaction. THREE_ERR_RX is not generated for isochronous transactions. The software can only clear this bit. Coding of the received error:.

CNTR

Offset: 0x40, size: 32, reset: 0x00000003, access: Unspecified

1/18 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
HOST
rw
DDISCM
rw
THR512M
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CTRM
rw
PMAOVRM
rw
ERRM
rw
WKUPM
rw
SUSPM
rw
RST_DCONM
rw
SOFM
rw
ESOFM
rw
L1REQM
rw
L1RES
rw
L2RES
rw
SUSPEN
rw
SUSPRDY
r
PDWN
rw
USBRST
rw
Toggle fields

USBRST

Bit 0: USB Reset Software can set this bit to reset the USB core, exactly as it happens when receiving a RESET signaling on the USB.The USB peripheral, in response to a RESET, resets its internal protocol state machine. Reception and transmission are disabled until the RST_DCON bit is cleared. All configuration registers do not reset: the microcontroller must explicitly clear these registers (this is to ensure that the RST_DCON interrupt can be safely delivered, and any transaction immediately followed by a RESET can be completed). The function address and endpoint registers are reset by an USB reset event. Software sets this bit to drive USB reset state on the bus and initialize the device. USB reset terminates as soon as this bit is cleared by software..

PDWN

Bit 1: Power down This bit is used to completely switch off all USB-related analog parts if it is required to completely disable the USB peripheral for any reason. When this bit is set, the USB peripheral is disconnected from the transceivers and it cannot be used..

SUSPRDY

Bit 2: Suspend state effective This bit is set by hardware as soon as the suspend state entered through the SUSPEN control gets internally effective. In this state USB activity is suspended, USB clock is gated, transceiver is set in low power mode by disabling the differential receiver. Only asynchronous wakeup logic and single ended receiver is kept alive to detect remote wakeup or resume events. Software must poll this bit to confirm it to be set before any STOP mode entry. This bit is cleared by hardware simultaneously to the WAKEUP flag being set..

SUSPEN

Bit 3: Suspend state enable Software can set this bit when the SUSP interrupt is received, which is issued when no traffic is received by the USB peripheral for 3 ms. Software can also set this bit when the L1REQ interrupt is received with positive acknowledge sent. As soon as the suspend state is propagated internally all device activity is stopped, USB clock is gated, USB transceiver is set into low power mode and the SUSPRDY bit is set by hardware. In the case that device application wants to pursue more aggressive power saving by stopping the USB clock source and by moving the microcontroller to stop mode, as in the case of bus powered device application, it must first wait few cycles to see the SUSPRDY = 1 acknowledge the suspend request. This bit is cleared by hardware simultaneous with the WAKEUP flag set. Software can set this bit when host application has nothing scheduled for the next frames and wants to enter long term power saving. When set, it stops immediately SOF generation and any other host activity, gates the USB clock and sets the transceiver in low power mode. If any USB transaction is on-going at the time SUSPEN is set, suspend is entered at the end of the current transaction. As soon as suspend state is propagated internally and gets effective the SUSPRDY bit is set. In the case that host application wants to pursue more aggressive power saving by stopping the USB clock source and by moving the micro-controller to STOP mode, it must first wait few cycles to see SUSPRDY=1 acknowledge to the suspend request. This bit is cleared by hardware simultaneous with the WAKEUP flag set..

L2RES

Bit 4: L2 remote wakeup / resume driver Device mode The microcontroller can set this bit to send remote wake-up signaling to the host. It must be activated, according to USB specifications, for no less than 1 ms and no more than 15 ms after which the host PC is ready to drive the resume sequence up to its end. Host mode Software sets this bit to send resume signaling to the device. Software clears this bit to send end of resume to device and restart SOF generation. In the context of remote wake up, this bit is to be set following the WAKEUP interrupt..

L1RES

Bit 5: L1 remote wakeup / resume driver Device mode Software sets this bit to send a LPM L1 50 μs remote wakeup signaling to the host. After the signaling ends, this bit is cleared by hardware..

L1REQM

Bit 7: LPM L1 state request interrupt mask.

ESOFM

Bit 8: Expected start of frame interrupt mask.

SOFM

Bit 9: Start of frame interrupt mask.

RST_DCONM

Bit 10: USB reset request (Device mode) or device connect/disconnect (Host mode) interrupt mask.

SUSPM

Bit 11: Suspend mode interrupt mask.

WKUPM

Bit 12: Wakeup interrupt mask.

ERRM

Bit 13: Error interrupt mask.

PMAOVRM

Bit 14: Packet memory area over / underrun interrupt mask.

CTRM

Bit 15: Correct transfer interrupt mask.

THR512M

Bit 16: 512 byte threshold interrupt mask.

DDISCM

Bit 17: Device disconnection mask Host mode.

HOST

Bit 31: HOST mode HOST bit selects betweens host or device USB mode of operation. It must be set before enabling the USB peripheral by the function enable bit..

ISTR

USB interrupt status register

Offset: 0x44, size: 32, reset: 0x00000000, access: Unspecified

5/15 fields covered.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
LS_DCON
r
DCON_STAT
r
DDISC
rw
THR512
rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CTR
r
PMAOVR
rw
ERR
rw
WKUP
rw
SUSP
rw
RST_DCON
rw
SOF
rw
ESOF
rw
L1REQ
rw
DIR
r
IDN
r
Toggle fields

IDN

Bits 0-3: Device Endpoint / host channel identification number These bits are written by the hardware according to the host channel or device endpoint number, which generated the interrupt request. If several endpoint/channel transactions are pending, the hardware writes the identification number related to the endpoint/channel having the highest priority defined in the following way: two levels are defined, in order of priority: isochronous and double-buffered bulk channels/endpoints are considered first and then the others are examined. If more than one endpoint/channel from the same set is requesting an interrupt, the IDN bits in USB_ISTR register are assigned according to the lowest requesting register, CHEP0R having the highest priority followed by CHEP1R and so on. The application software can assign a register to each endpoint/channel according to this priority scheme, so as to order the concurring endpoint/channel requests in a suitable way. These bits are read only..

DIR

Bit 4: Direction of transaction This bit is written by the hardware according to the direction of the successful transaction, which generated the interrupt request. If DIR bit = 0, VTTX bit is set in the USB_CHEPnR register related to the interrupting endpoint. The interrupting transaction is of IN type (data transmitted by the USB peripheral to the host PC). If DIR bit = 1, VTRX bit or both VTTX/VTRX are set in the USB_CHEPnR register related to the interrupting endpoint. The interrupting transaction is of OUT type (data received by the USB peripheral from the host PC) or two pending transactions are waiting to be processed. This information can be used by the application software to access the USB_CHEPnR bits related to the triggering transaction since it represents the direction having the interrupt pending. This bit is read-only..

L1REQ

Bit 7: LPM L1 state request Device mode This bit is set by the hardware when LPM command to enter the L1 state is successfully received and acknowledged. This bit is read/write but only 0 can be written and writing 1 has no effect..

ESOF

Bit 8: Expected start of frame Device mode This bit is set by the hardware when an SOF packet is expected but not received. The host sends an SOF packet each 1 ms, but if the device does not receive it properly, the suspend timer issues this interrupt. If three consecutive ESOF interrupts are generated (for example three SOF packets are lost) without any traffic occurring in between, a SUSP interrupt is generated. This bit is set even when the missing SOF packets occur while the suspend timer is not yet locked. This bit is read/write but only 0 can be written and writing 1 has no effect..

SOF

Bit 9: Start of frame This bit signals the beginning of a new USB frame and it is set when a SOF packet arrives through the USB bus. The interrupt service routine may monitor the SOF events to have a 1 ms synchronization event to the USB host and to safely read the USB_FNR register which is updated at the SOF packet reception (this could be useful for isochronous applications). This bit is read/write but only 0 can be written and writing 1 has no effect..

RST_DCON

Bit 10: USB reset request (Device mode) or device connect/disconnect (Host mode) Device mode This bit is set by hardware when an USB reset is released by the host and the bus returns to idle. USB reset state is internally detected after the sampling of 60 consecutive SE0 cycles. Host mode This bit is set by hardware when device connection or device disconnection is detected. Device connection is signaled after J state is sampled for 22 cycles consecutively from unconnected state. Device disconnection is signaled after SE0 state is seen for 22 bit times consecutively from connected state..

SUSP

Bit 11: Suspend mode request Device mode This bit is set by the hardware when no traffic has been received for 3 ms, indicating a suspend mode request from the USB bus. The suspend condition check is enabled immediately after any USB reset and it is disabled by the hardware when the suspend mode is active (SUSPEN=1) until the end of resume sequence. This bit is read/write but only 0 can be written and writing 1 has no effect..

WKUP

Bit 12: Wakeup This bit is set to 1 by the hardware when, during suspend mode, activity is detected that wakes up the USB peripheral. This event asynchronously clears the SUSPRDY bit in the CTLR register and activates the USB_WAKEUP line, which can be used to notify the rest of the device (for example wakeup unit) about the start of the resume process. This bit is read/write but only 0 can be written and writing 1 has no effect..

ERR

Bit 13: Error This flag is set whenever one of the errors listed below has occurred: NANS: No ANSwer. The timeout for a host response has expired. CRC: Cyclic redundancy check error. One of the received CRCs, either in the token or in the data, was wrong. BST: Bit stuffing error. A bit stuffing error was detected anywhere in the PID, data, and/or CRC. FVIO: Framing format violation. A non-standard frame was received (EOP not in the right place, wrong token sequence, etc.). The USB software can usually ignore errors, since the USB peripheral and the PC host manage retransmission in case of errors in a fully transparent way. This interrupt can be useful during the software development phase, or to monitor the quality of transmission over the USB bus, to flag possible problems to the user (for example loose connector, too noisy environment, broken conductor in the USB cable and so on). This bit is read/write but only 0 can be written and writing 1 has no effect..

PMAOVR

Bit 14: Packet memory area over / underrun This bit is set if the microcontroller has not been able to respond in time to an USB memory request. The USB peripheral handles this event in the following way: During reception an ACK handshake packet is not sent, during transmission a bit-stuff error is forced on the transmitted stream; in both cases the host retries the transaction. The PMAOVR interrupt should never occur during normal operations. Since the failed transaction is retried by the host, the application software has the chance to speed-up device operations during this interrupt handling, to be ready for the next transaction retry; however this does not happen during isochronous transfers (no isochronous transaction is anyway retried) leading to a loss of data in this case. This bit is read/write but only 0 can be written and writing 1 has no effect..

CTR

Bit 15: Completed transfer in host mode This bit is set by the hardware to indicate that an endpoint/channel has successfully completed a transaction; using DIR and IDN bits software can determine which endpoint/channel requested the interrupt. This bit is read-only..

THR512

Bit 16: 512 byte threshold interrupt This bit is set to 1 by the hardware when 512 bytes have been transmitted or received during isochronous transfers. This bit is read/write but only 0 can be written and writing 1 has no effect. Note that no information is available to indicate the associated channel/endpoint, however in practice only one ISO endpoint/channel with such large packets can be supported, so that channel..

DDISC

Bit 17: Device connection Host mode This bit is set when a device connection is detected. This bit is read/write but only 0 can be written and writing 1 has no effect..

DCON_STAT

Bit 29: Device connection status Host mode: This bit contains information about device connection status. It is set by hardware when a LS/FS device is attached to the host while it is reset when the device is disconnected..

LS_DCON

Bit 30: Low speed device connected Host mode: This bit is set by hardware when an LS device connection is detected. Device connection is signaled after LS J-state is sampled for 22 consecutive cycles of the USB clock (48 MHz) from the unconnected state..

FNR

USB frame number register

Offset: 0x48, size: 32, reset: 0x00000000, access: Unspecified

5/5 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXDP
r
RXDM
r
LCK
r
LSOF
r
FN
r
Toggle fields

FN

Bits 0-10: Frame number This bit field contains the 11-bits frame number contained in the last received SOF packet. The frame number is incremented for every frame sent by the host and it is useful for isochronous transfers. This bit field is updated on the generation of an SOF interrupt..

LSOF

Bits 11-12: Lost SOF Device mode These bits are written by the hardware when an ESOF interrupt is generated, counting the number of consecutive SOF packets lost. At the reception of an SOF packet, these bits are cleared..

LCK

Bit 13: Locked Device mode This bit is set by the hardware when at least two consecutive SOF packets have been received after the end of an USB reset condition or after the end of an USB resume sequence. Once locked, the frame timer remains in this state until an USB reset or USB suspend event occurs..

RXDM

Bit 14: Receive data - line status This bit can be used to observe the status of received data minus upstream port data line. It can be used during end-of-suspend routines to help determining the wakeup event..

RXDP

Bit 15: Receive data + line status This bit can be used to observe the status of received data plus upstream port data line. It can be used during end-of-suspend routines to help determining the wakeup event..

DADDR

USB_DADDR

Offset: 0x4c, size: 32, reset: 0x00000000, access: Unspecified

0/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EF
rw
ADD
rw
Toggle fields

ADD

Bits 0-6: Device address Device mode These bits contain the USB function address assigned by the host PC during the enumeration process. Both this field and the endpoint/channel address (EA) field in the associated USB_CHEPnR register must match with the information contained in a USB token in order to handle a transaction to the required endpoint. Host mode These bits contain the address transmitted with the LPM transaction.

EF

Bit 7: Enable function This bit is set by the software to enable the USB Device. The address of this device is contained in the following ADD[6:0] bits. If this bit is at 0 no transactions are handled, irrespective of the settings of USB_CHEPnR registers..

LPMCSR

USB_LPMCSR

Offset: 0x54, size: 32, reset: 0x00000000, access: Unspecified

2/4 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BESL
r
REMWAKE
r
LPMACK
rw
LPMEN
rw
Toggle fields

LPMEN

Bit 0: LPM support enable Device mode This bit is set by the software to enable the LPM support within the USB Device. If this bit is at 0 no LPM transactions are handled..

LPMACK

Bit 1: LPM token acknowledge enable Device mode: The NYET/ACK is returned only on a successful LPM transaction: No errors in both the EXT token and the LPM token (else ERROR) A valid bLinkState = 0001B (L1) is received (else STALL).

REMWAKE

Bit 3: bRemoteWake value Device mode This bit contains the bRemoteWake value received with last ACKed LPM Token.

BESL

Bits 4-7: BESL value Device mode These bits contain the BESL value received with last ACKed LPM Token.

BCDR

USB_BCDR

Offset: 0x58, size: 32, reset: 0x00000000, access: Unspecified

4/9 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DPPU_DPD
rw
PS2DET
r
SDET
r
PDET
r
DCDET
r
SDEN
rw
PDEN
rw
DCDEN
rw
BCDEN
rw
Toggle fields

BCDEN

Bit 0: Battery charging detector (BCD) enable Device mode This bit is set by the software to enable the BCD support within the USB Device. When enabled, the USB PHY is fully controlled by BCD and cannot be used for normal communication. Once the BCD discovery is finished, the BCD should be placed in OFF mode by clearing this bit to 0 in order to allow the normal USB operation..

DCDEN

Bit 1: Data contact detection (DCD) mode enable Device mode This bit is set by the software to put the BCD into DCD mode. Only one detection mode (DCD, PD, SD or OFF) should be selected to work correctly..

PDEN

Bit 2: Primary detection (PD) mode enable Device mode This bit is set by the software to put the BCD into PD mode. Only one detection mode (DCD, PD, SD or OFF) should be selected to work correctly..

SDEN

Bit 3: Secondary detection (SD) mode enable Device mode This bit is set by the software to put the BCD into SD mode. Only one detection mode (DCD, PD, SD or OFF) should be selected to work correctly..

DCDET

Bit 4: Data contact detection (DCD) status Device mode This bit gives the result of DCD..

PDET

Bit 5: Primary detection (PD) status Device mode This bit gives the result of PD..

SDET

Bit 6: Secondary detection (SD) status Device mode This bit gives the result of SD..

PS2DET

Bit 7: DM pull-up detection status Device mode This bit is active only during PD and gives the result of comparison between DM voltage level and VLGC threshold. In normal situation, the DM level should be below this threshold. If it is above, it means that the DM is externally pulled high. This can be caused by connection to a PS2 port (which pulls-up both DP and DM lines) or to some proprietary charger not following the BCD specification..

DPPU_DPD

Bit 15: DP pull-up / DPDM pull-down Device mode This bit is set by software to enable the embedded pull-up on DP line. Clearing it to 0 can be used to signal disconnect to the host when needed by the user software. Host mode This bit is set by software to enable the embedded pull-down on DP and DM lines..

WWDG

0x40002c00: System window watchdog

6/6 fields covered.

Toggle register map
Offset Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x0 CR
0x4 CFR
0x8 SR
Toggle registers

CR

WWDG control register

Offset: 0x0, size: 32, reset: 0x0000007F, access: Unspecified

2/2 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WDGA
rw
T
rw
Toggle fields

T

Bits 0-6: 7-bit counter (MSB to LSB) These bits contain the value of the watchdog counter, decremented every (4096 x 2WDGTB[2:0]) PCLK cycles. A reset is produced when it is decremented from 0x40 to 0x3F (T6 becomes cleared)..

Allowed values: 0x0-0x7f

WDGA

Bit 7: Activation bit This bit is set by software and only cleared by hardware after a reset. When WDGA = 1, the watchdog can generate a reset..

Allowed values:
0: Disabled: Watchdog disabled
1: Enabled: Watchdog enabled

CFR

WWDG configuration register

Offset: 0x4, size: 32, reset: 0x0000007F, access: Unspecified

3/3 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WDGTB
N/A
EWI
rw
W
rw
Toggle fields

W

Bits 0-6: 7-bit window value These bits contain the window value to be compared with the down-counter..

Allowed values: 0x0-0x7f

EWI

Bit 9: Early wakeup interrupt When set, an interrupt occurs whenever the counter reaches the value 0x40. This interrupt is only cleared by hardware after a reset..

Allowed values:
1: Enable: interrupt occurs whenever the counter reaches the value 0x40

WDGTB

Bits 11-13: Timer base The timebase of the prescaler can be modified as follows:.

Allowed values:
0: Div1: Counter clock (PCLK1 div 4096) div 1
1: Div2: Counter clock (PCLK1 div 4096) div 2
2: Div4: Counter clock (PCLK1 div 4096) div 4
3: Div8: Counter clock (PCLK1 div 4096) div 8
4: Div16: Counter clock (PCLK1 div 4096) div 16
5: Div32: Counter clock (PCLK1 div 4096) div 32
6: Div64: Counter clock (PCLK1 div 4096) div 64
7: Div128: Counter clock (PCLK1 div 4096) div 128

SR

WWDG status register

Offset: 0x8, size: 32, reset: 0x00000000, access: Unspecified

1/1 fields covered.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EWIF
rw
Toggle fields

EWIF

Bit 0: Early wakeup interrupt flag This bit is set by hardware when the counter has reached the value 0x40. It must be cleared by software by writing ‘0’. Writing ‘1’ has no effect. This bit is also set if the interrupt is not enabled..

Allowed values:
0: Finished: The EWI Interrupt Service Routine has been serviced
1: Pending: The EWI Interrupt Service Routine has been triggered