Showing content from https://stm32-rs.github.io/stm32-rs/stm32h730.svd.patched below:
STM32H730 1.2 STM32H730 CM7 r0p1 little true true 4 false 8 32 0x20 0x00000000 0xFFFFFFFF ADC1 Analog to Digital Converter ADC 0x40022000 0x0 0x100 registers ISR ISR ADC interrupt and status register 0x0 0x20 0x00000000 0xFFFFFFFF ADRDY ADC ready This bit is set by hardware after the ADC has been enabled (bit 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. 0 1 read-write oneToClear ADRDYR read NotReady ADC is not ready to start conversion 0 Ready ADC is ready to start conversion 1 ADRDYW write Clear Clear ADC is ready to start conversion flag 1 EOSMP 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. 1 1 read-write oneToClear EOSMPR read NotEnded End of sampling phase no yet reached 0 Ended End of sampling phase reached 1 EOSMPW write Clear Clear end of sampling phase reached flag 1 EOC 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 2 1 read-write oneToClear EOCR read NotComplete Regular conversion is not complete 0 Complete Regular conversion complete 1 EOCW write Clear Clear regular conversion complete flag 1 EOS 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. 3 1 read-write oneToClear EOSR read NotComplete Regular sequence is not complete 0 Complete Regular sequence complete 1 EOSW write Clear Clear regular sequence complete flag 1 OVR 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. 4 1 read-write oneToClear OVRR read NoOverrun No overrun occurred 0 Overrun Overrun occurred 1 OVRW write Clear Clear overrun occurred flag 1 JEOC 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 5 1 read-write oneToClear JEOCR read NotComplete Injected conversion is not complete 0 Complete Injected conversion complete 1 JEOCW write Clear Clear injected conversion complete flag 1 JEOS 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. 6 1 read-write oneToClear JEOSR read NotComplete Injected sequence is not complete 0 Complete Injected sequence complete 1 JEOSW write Clear Clear Injected sequence complete flag 1 3 0x1 1-3 AWD%s Analog watchdog %s flag 7 1 read-write oneToClear AWD1R read NoEvent No analog watchdog event occurred 0 Event Analog watchdog event occurred 1 AWD1W write Clear Clear analog watchdog event occurred flag 1 JQOVF 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. 10 1 read-write oneToClear JQOVFR read NoOverflow No injected context queue overflow has occurred 0 Overflow Injected context queue overflow has occurred 1 JQOVFW write Clear Clear injected context queue overflow flag 1 LDORDY ADC LDO output voltage ready bit This bit is set and cleared by hardware. It indicates that the ADC internal LDO output is ready and that the ADC can be enabled or calibrated. Note: Refer to for the availability of the LDO regulator. 12 1 read-only IER IER ADC interrupt enable register 0x4 0x20 0x00000000 0xFFFFFFFF ADRDYIE 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). 0 1 read-write ADRDYIE Disabled ADC ready interrupt disabled 0 Enabled ADC ready interrupt enabled 1 EOSMPIE 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). 1 1 read-write EOSMPIE Disabled End of regular conversion sampling phase interrupt disabled 0 Enabled End of regular conversion sampling phase interrupt enabled 1 EOCIE 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). 2 1 read-write EOCIE Disabled End of regular conversion interrupt disabled 0 Enabled End of regular conversion interrupt enabled 1 EOSIE 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). 3 1 read-write EOSIE Disabled End of regular sequence interrupt disabled 0 Enabled End of regular sequence interrupt enabled 1 OVRIE 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). 4 1 read-write OVRIE Disabled Overrun interrupt disabled 0 Enabled Overrun interrupt enabled 1 JEOCIE 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 is cleared to 0 (no injected conversion is ongoing). 5 1 read-write JEOCIE Disabled End of injected conversion interrupt disabled 0 Enabled End of injected conversion interrupt enabled 1 JEOSIE 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). 6 1 read-write JEOSIE Disabled End of injected sequence interrupt disabled 0 Enabled End of injected sequence interrupt enabled 1 3 0x1 1-3 AWD%sIE Analog watchdog %s interrupt enable 7 1 read-write AWD1IE Disabled Analog watchdog interrupt disabled 0 Enabled Analog watchdog interrupt enabled 1 JQOVFIE 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). 10 1 read-write JQOVFIE Disabled Injected context queue overflow interrupt disabled 0 Enabled Injected context queue overflow interrupt enabled 1 CR CR ADC control register 0x8 0x20 0x20000000 0xFFFFFFFF ADEN ADC enable control This bit is set by software to enable the ADC. The ADC will be 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) 0 1 read-write oneToSet ADENR read Disabled ADC disabled 0 Enabled ADC enabled 1 ADENW write Enabled Enable the ADC 1 ADDIS 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) 1 1 read-write oneToSet ADDISR read NotDisabling No disable command active 0 Disabling ADC disabling 1 ADDISW write Disable Disable the ADC 1 ADSTART 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 will start immediately (software trigger configuration) or once a regular hardware trigger event occurs (hardware trigger configuration). It is cleared by hardware: in single conversion mode (CONT=0, DISCEN=0) when software trigger is selected (EXTEN=0x0): at the assertion of the End of Regular Conversion Sequence (EOS) flag. In discontinuous conversion mode (CONT=0, DISCEN=1), when the software trigger is selected (EXTEN=0x0): at the end of conversion (EOC) flag. in all other 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) 2 1 read-write oneToSet ADSTARTR read NotActive No conversion ongoing 0 Active ADC operating and may be converting 1 ADSTARTW write StartConversion Start the ADC conversion (may be delayed for hardware triggers) 1 JADSTART 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 will start immediately (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) 3 1 read-write oneToSet read write ADSTP 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). In dual ADC regular simultaneous mode and interleaved mode, the bit ADSTP of the master ADC must be used to stop regular conversions. The other ADSTP bit is inactive. 4 1 read-write oneToSet ADSTPR read NotStopping No stop command active 0 Stopping ADC stopping conversion 1 ADSTPW write StopConversion Stop the active conversion 1 JADSTP 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) 5 1 read-write oneToSet read write BOOST Boost mode control This bitfield is set and cleared by software to enable/disable the Boost mode. Note: The software is allowed to write this bit only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). When dual mode is enabled (bits DAMDF of ADCx_CCR register are not equal to zero), the BOOST bitfield of the slave ADC is no more writable and its content must be equal to the master ADC BOOST bitfield. 8 2 read-write BOOST LT6_25 Boost mode used when ADC clock ⤠6.25 MHz 0 LT12_5 Boost mode used when 6.25 MHz < ADC clock ⤠12.5 MHz 1 LT25 Boost mode used when 12.5 MHz < ADC clock ⤠25.0 MHz 2 LT50 Boost mode used when 25.0 MHz < ADC clock ⤠50.0 MHz 3 ADCALLIN Linearity calibration This bit is set and cleared by software to enable the Linearity 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). 16 1 read-write ADCALLIN NoLinearity ADC calibration without linearaity calibration 0 Linearity ADC calibration with linearaity calibration 1 6 0x1 1-6 LINCALRDYW%s Linearity calibration ready Word %s 22 1 read-write LINCALRDYW1 Reset LINCALFACT Word Read 0 Set LINCALFACT Word Write 1 ADVREGEN 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 bitfield only when the ADC is disabled (ADCAL=0, JADSTART=0, ADSTART=0, ADSTP=0, ADDIS=0 and ADEN=0). 28 1 read-write ADVREGEN Disabled ADC voltage regulator disabled 0 Enabled ADC voltage regulator enabled 1 DEEPPWD 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). 29 1 read-write DEEPPWD PowerUp ADC not in deep power down 0 PowerDown ADC in deep power down 1 ADCALDIF 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). 30 1 read-write ADCALDIF SingleEnded Calibration for single-ended mode 0 Differential Calibration for differential mode 1 ADCAL 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) 31 1 read-write oneToSet ADCALR read NotCalibrating ADC calibration either not yet performed or completed 0 Calibrating ADC calibration in progress 1 ADCALW write StartCalibration Start the ADC calibration sequence 1 CFGR CFGR ADC configuration register 0xC 0x20 0x80000000 0xFFFFFFFF DMNGT Data Management configuration This bit is set and cleared by software to select how ADC interface output data are managed. Note: The software is allowed to write this bit only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). In dual-ADC modes, this bit is not relevant and replaced by control bit DAMDF of the ADCx_CCR register. 0 2 read-write DMNGT DR Store output data in DR only 0 DMA_OneShot DMA One Shot Mode selected 1 DFSDM DFSDM mode selected 2 DMA_Circular DMA Circular Mode selected 3 RES Data resolution These bits are written by software to select the resolution of the conversion. Others: Reserved, must not be used. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 2 3 read-write RES SixteenBit 16-bit resolution 0 FourteenBit 14-bit resolution in legacy mode (not optimized power consumption) 1 TwelveBit 12-bit resolution in legacy mode (not optimized power consumption) 2 TenBit 10-bit resolution 3 FourteenBitV 14-bit resolution 5 TwelveBitV 12-bit resolution 6 EightBit 8-bit resolution 7 EXTSEL 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). 5 5 read-write EXTSEL TIM1_CC1 Timer 1 CC1 event 0 TIM1_CC2 Timer 1 CC2 event 1 TIM1_CC3 Timer 1 CC3 event 2 TIM2_CC2 Timer 2 CC2 event 3 TIM3_TRGO Timer 3 TRGO event 4 TIM4_CC4 Timer 4 CC4 event 5 EXTI11 EXTI line 11 6 TIM8_TRGO Timer 8 TRGO event 7 TIM8_TRGO2 Timer 8 TRGO2 event 8 TIM1_TRGO Timer 1 TRGO event 9 TIM1_TRGO2 Timer 1 TRGO2 event 10 TIM2_TRGO Timer 2 TRGO event 11 TIM4_TRGO Timer 4 TRGO event 12 TIM6_TRGO Timer 6 TRGO event 13 TIM15_TRGO Timer 15 TRGO event 14 TIM3_CC4 Timer 3 CC4 event 15 HRTIM1_ADCTRG1 HRTIM1_ADCTRG1 event 16 HRTIM1_ADCTRG3 HRTIM1_ADCTRG3 event 17 LPTIM1_OUT LPTIM1_OUT event 18 LPTIM2_OUT LPTIM2_OUT event 19 LPTIM3_OUT LPTIM3_OUT event 20 EXTEN 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). 10 2 read-write EXTEN Disabled Trigger detection disabled 0 RisingEdge Trigger detection on the rising edge 1 FallingEdge Trigger detection on the falling edge 2 BothEdges Trigger detection on both the rising and falling edges 3 OVRMOD 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). 12 1 read-write OVRMOD Preserve Preserve DR register when an overrun is detected 0 Overwrite Overwrite DR register when an overrun is detected 1 CONT 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). When dual mode is enabled (DAMDF bits in ADCx_CCR register are not equal to zero), the bit CONT of the slave ADC is no more writable and its content is equal to the bit CONT of the master ADC. 13 1 read-write CONT Single Single conversion mode 0 Continuous Continuous conversion mode 1 AUTDLY 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). When dual mode is enabled (DAMDF bits in ADCx_CCR register are not equal to zero), the bit AUTDLY of the slave ADC is no more writable and its content is equal to the bit AUTDLY of the master ADC. 14 1 read-write AUTDLY Off Auto delayed conversion mode off 0 On Auto delayed conversion mode on 1 DISCEN 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). When dual mode is enabled (DAMDF bits in ADCx_CCR register are not equal to zero), the bit DISCEN of the slave ADC is no more writable and its content is equal to the bit DISCEN of the master ADC. 16 1 read-write DISCEN Disabled Discontinuous mode on regular channels disabled 0 Enabled Discontinuous mode on regular channels enabled 1 DISCNUM 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). When dual mode is enabled (DAMDF bits in ADCx_CCR register are not equal to zero), the bits DISCNUM[2:0] of the slave ADC are no more writable and their content is equal to the bits DISCNUM[2:0] of the master ADC. 17 3 read-write 0 7 JDISCEN 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. When dual mode is enabled (bits DAMDF of ADCx_CCR register are not equal to zero), the bit JDISCEN of the slave ADC is no more writable and its content is equal to the bit JDISCEN of the master ADC. 20 1 read-write JDISCEN Disabled Discontinuous mode on injected channels disabled 0 Enabled Discontinuous mode on injected channels enabled 1 JQM 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). When dual mode is enabled (DAMDF bits in ADCx_CCR register are not equal to zero), the bit JQM of the slave ADC is no more writable and its content is equal to the bit JQM of the master ADC. 21 1 read-write JQM Mode0 JSQR Mode 0: Queue maintains the last written configuration into JSQR 0 Mode1 JSQR Mode 1: An empty queue disables software and hardware triggers of the injected sequence 1 AWD1SGL 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 this bit only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 22 1 read-write AWD1SGL All Analog watchdog 1 enabled on all channels 0 Single Analog watchdog 1 enabled on single channel selected in AWD1CH 1 AWD1EN 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). 23 1 read-write AWD1EN Disabled Analog watchdog 1 disabled on regular channels 0 Enabled Analog watchdog 1 enabled on regular channels 1 JAWD1EN 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). 24 1 read-write JAWD1EN Disabled Analog watchdog 1 disabled on injected channels 0 Enabled Analog watchdog 1 enabled on injected channels 1 JAUTO 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). When dual mode is enabled (DAMDF bits in ADCx_CCR register are not equal to zero), the bit JAUTO of the slave ADC is no more writable and its content is equal to the bit JAUTO of the master ADC. 25 1 read-write JAUTO Disabled Automatic injected group conversion disabled 0 Enabled Automatic injected group conversion enabled 1 AWD1CH 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: 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). 26 5 read-write 0 19 JQDIS 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. 31 1 read-write JQDIS Enabled Injected Queue enabled 0 Disabled Injected Queue disabled 1 CFGR2 CFGR2 ADC configuration register 2 0x10 0x20 0x00000000 0xFFFFFFFF ROVSE 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) 0 1 read-write ROVSE Disabled Regular oversampling disabled 0 Enabled Regular oversampling enabled 1 JOVSE 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) 1 1 read-write JOVSE Disabled Injected oversampling disabled 0 Enabled Injected oversampling enabled 1 OVSS Oversampling right shift This bitfield is set and cleared by software to define the right shifting applied to the raw oversampling result. Others: Reserved, must not be used. Note: The software is allowed to write these bits only when ADSTART=0 (which ensures that no conversion is ongoing). 5 4 read-write 0 11 TROVS 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). 9 1 read-write TROVS Automatic All oversampled conversions for a channel are run following a trigger 0 Triggered Each oversampled conversion for a channel needs a new trigger 1 ROVSM 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). 10 1 read-write ROVSM Continued Oversampling is temporary stopped and continued after injection sequence 0 Resumed Oversampling is aborted and resumed from start after injection sequence 1 4 0x1 1-4 RSHIFT%s Right-shift data after Offset %s correction 11 1 read-write RSHIFT1 Disabled Right-shifting disabled 0 Enabled Data is right-shifted 1-bit 1 OSVR Oversampling ratio This bitfield is set and cleared by software to define the oversampling ratio. 2: 3x ... 1023: 1024x Note: The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing). 16 10 read-write 0 1023 LSHIFT Left shift factor This bitfield is set and cleared by software to define the left shifting applied to the final result with or without oversampling. Note: The software is allowed to write this bit only when ADSTART=0 (which ensures that no conversion is ongoing). 28 4 read-write 0 15 SMPR1 SMPR1 ADC sample time register 1 0x14 0x20 0x00000000 0xFFFFFFFF 10 0x3 0-9 SMP%s Channel %s sample time selection 0 3 read-write SMP0 Cycles1_5 1.5 ADC clock cycles 0 Cycles2_5 2.5 ADC clock cycles 1 Cycles8_5 8.5 ADC clock cycles 2 Cycles16_5 16.5 ADC clock cycles 3 Cycles32_5 32.5 ADC clock cycles 4 Cycles64_5 64.5 ADC clock cycles 5 Cycles387_5 387.5 ADC clock cycles 6 Cycles810_5 810.5 ADC clock cycles 7 SMPR2 SMPR2 ADC sample time register 2 0x18 0x20 0x00000000 0xFFFFFFFF 10 0x3 10-19 SMP%s Channel %s sample time selection 0 3 read-write PCSEL PCSEL ADC channel preselection register 0x1C 0x20 0x00000000 0xFFFFFFFF PCSEL0 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 0 1 read-write PCSEL0 NotPreselected Input channel x is not pre-selected 0 Preselected Pre-select input channel x 1 PCSEL1 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 1 1 read-write PCSEL2 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 2 1 read-write PCSEL3 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 3 1 read-write PCSEL4 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 4 1 read-write PCSEL5 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 5 1 read-write PCSEL6 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 6 1 read-write PCSEL7 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 7 1 read-write PCSEL8 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 8 1 read-write PCSEL9 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 9 1 read-write PCSEL10 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 10 1 read-write PCSEL11 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 11 1 read-write PCSEL12 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 12 1 read-write PCSEL13 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 13 1 read-write PCSEL14 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 14 1 read-write PCSEL15 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 15 1 read-write PCSEL16 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 16 1 read-write PCSEL17 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 17 1 read-write PCSEL18 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 18 1 read-write PCSEL19 :Channel x (VINP[i]) pre selection (x = 0 to 19) These bits are written by software to pre select the input channel at IO instance to be converted. Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 19 1 read-write LTR1 LTR1 ADC watchdog threshold register 1 0x20 0x20 0x00000000 0xFFFFFFFF LTR1 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_HTRy, AWD_LTRy, AWDy) Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 0 26 read-write 0 67108863 HTR1 HTR1 ADC watchdog threshold register 1 0x24 0x20 0x03FFFFFF 0xFFFFFFFF HTR1 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_HTRy, AWD_LTRy, AWDy) Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 0 26 read-write 0 67108863 SQR1 SQR1 ADC regular sequence register 1 0x30 0x20 0x00000000 0xFFFFFFFF L 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). 0 4 read-write 0 15 4 0x6 1-4 SQ%s %s conversion in regular sequence 6 5 read-write 0 19 SQR2 SQR2 ADC regular sequence register 2 0x34 0x20 0x00000000 0xFFFFFFFF 5 0x6 5-9 SQ%s %s conversion in regular sequence 0 5 read-write SQR3 SQR3 ADC regular sequence register 3 0x38 0x20 0x00000000 0xFFFFFFFF 5 0x6 10-14 SQ%s %s conversion in regular sequence 0 5 read-write SQR4 SQR4 ADC regular sequence register 4 0x3C 0x20 0x00000000 0xFFFFFFFF 2 0x6 15-16 SQ%s %s conversion in regular sequence 0 5 read-write DR DR ADC regular Data Register 0x40 0x20 0x00000000 0xFFFFFFFF RDATA 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 . 0 32 read-only JSQR JSQR ADC injected sequence register 0x4C 0x20 0x00000000 0xFFFFFFFF JL 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 is cleared to 0 (no injected conversion is ongoing). 0 2 read-write 0 3 JEXTSEL 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 is cleared to 0 (no injected conversion is ongoing). 2 5 read-write JEXTSEL TIM1_TRGO Timer 1 TRGO event 0 TIM1_CC4 Timer 1 CC4 event 1 TIM2_TRGO Timer 2 TRGO event 2 TIM2_CC1 Timer 2 CC1 event 3 TIM3_CC4 Timer 3 CC4 event 4 TIM4_TRGO Timer 4 TRGO event 5 EXTI15 EXTI line 15 6 TIM8_CC4 Timer 8 CC4 event 7 TIM1_TRGO2 Timer 1 TRGO2 event 8 TIM8_TRGO Timer 8 TRGO event 9 TIM8_TRGO2 Timer 8 TRGO2 event 10 TIM3_CC3 Timer 3 CC3 event 11 TIM3_TRGO Timer 3 TRGO event 12 TIM3_CC1 Timer 3 CC1 event 13 TIM6_TRGO Timer 6 TRGO event 14 TIM15_TRGO Timer 15 TRGO event 15 HRTIM1_ADCTRG2 HRTIM1_ADCTRG2 event 16 HRTIM1_ADCTRG4 HRTIM1_ADCTRG4 event 17 LPTIM1_OUT LPTIM1_OUT event 18 LPTIM2_OUT LPTIM2_OUT event 19 LPTIM3_OUT LPTIM3_OUT event 20 JEXTEN 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. If JQDIS=1 (queue disabled), Hardware trigger detection disabled (conversions can be launched by software Note: The software is allowed to write these bits only when JADSTART is cleared to 0 (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) 7 2 read-write JEXTEN Disabled Trigger detection disabled 0 RisingEdge Trigger detection on the rising edge 1 FallingEdge Trigger detection on the falling edge 2 BothEdges Trigger detection on both the rising and falling edges 3 4 0x6 1-4 JSQ%s %s conversion in injected sequence 9 5 read-write 0 19 4 0x4 1-4 OFR%s OFR%s ADC injected channel %s offset register 0x60 0x20 0x00000000 0xFFFFFFFF OFFSET Data offset X for the channel programmed into bits OFFSET_CH 0 26 read-write 0 67108863 OFFSET_CH Channel selection for the data offset X 26 5 read-write 0 31 SSATE Signed saturation Enable This bit is written by software to enable or disable the Signed saturation feature. This bit can be enabled only for 8-bit and 16-bit data format (see alignment and offset (ADC_DR, ADC_JDRy, OFFSETy, OFFSETy_CH, OVSS, LSHIFT, RSHIFT, SSATE) for details). Note: The software is allowed to write this bit only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 31 1 read-write SSATE Disabled Offset is subtracted maintaining data integrity and extending result size (9-bit and 17-bit signed format) 0 Enabled Offset is subtracted and result is saturated to maintain result size 1 4 0x4 1-4 JDR%s JDR%s ADC injected channel %s data register 0x80 0x20 0x00000000 0xFFFFFFFF JDATA 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 . 0 32 read-only AWD2CR AWD2CR ADC analog watchdog 2 configuration register 0xA0 0x20 0x00000000 0xFFFFFFFF 20 0x1 0-19 AWD2CH%s 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). 0 1 AWD2CH0 NotMonitored Input channel not monitored by AWDx 0 Monitored Input channel monitored by AWDx 1 AWD3CR AWD3CR ADC analog watchdog 3 configuration register 0xA4 0x20 0x00000000 0xFFFFFFFF 20 0x1 0-19 AWD3CH%s 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). 0 1 AWD3CH0 NotMonitored Input channel not monitored by AWDx 0 Monitored Input channel monitored by AWDx 1 LTR2 LTR2 ADC watchdog lower threshold register 2 0xB0 0x20 0x00000000 0xFFFFFFFF LTR2 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_HTRy, AWD_LTRy, AWDy). Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 0 26 read-write 0 67108863 HTR2 HTR2 ADC watchdog higher threshold register 2 0xB4 0x20 0x03FFFFFF 0xFFFFFFFF HTR2 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_HTRy, AWD_LTRy, AWDy). Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 0 26 read-write 0 67108863 LTR3 LTR3 ADC watchdog lower threshold register 3 0xB8 0x20 0x00000000 0xFFFFFFFF LTR3 Analog watchdog 3 lower threshold These bits are written by software to define the lower threshold for the analog watchdog 3. Refer to AWD2CH, AWD3CH, AWD_HTRy, AWD_LTRy, AWDy) Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 0 26 read-write 0 67108863 HTR3 HTR3 ADC watchdog higher threshold register 3 0xBC 0x20 0x03FFFFFF 0xFFFFFFFF HTR3 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_HTRy, AWD_LTRy, AWDy) Note: The software is allowed to write these bits only when ADSTART=0 and JADSTART=0 (which ensures that no conversion is ongoing). 0 26 read-write 0 67108863 DIFSEL DIFSEL ADC differential mode selection register 0xC0 0x20 0x00000000 0xFFFFFFFF 20 0x1 0-19 DIFSEL%s Differential mode for channel %s 0 1 DIFSEL0 SingleEnded Input channel is configured in single-ended mode 0 Differential Input channel is configured in differential mode 1 CALFACT CALFACT ADC calibration factors register 0xC4 0x20 0x00000000 0xFFFFFFFF CALFACT_S 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 will then be applied once a new single-ended conversion 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). 0 11 read-write 0 2047 CALFACT_D 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 will then be applied once a new differential conversion 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). 16 11 read-write 0 2047 CALFACT2 CALFACT2 ADC calibration factor register 2 0xC8 0x20 0x00000000 0xFFFFFFFF LINCALFACT Linearity Calibration Factor These bits are written by hardware or by software. They hold 30-bit out of the 160-bit linearity calibration factor. 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 will then be 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). 0 30 read-write 0 1073741823 ADC2 0x40022100 ADC12_Common Analog-to-Digital Converter ADC 0x40022300 0x0 0x100 registers ADC1_2 ADC1 and ADC2 18 CSR CSR ADC Common status register 0x0 0x20 read-only 0x00000000 ADRDY_MST Master ADC ready 0 1 EOSMP_MST End of Sampling phase flag of the master ADC 1 1 EOC_MST End of regular conversion of the master ADC 2 1 EOS_MST End of regular sequence flag of the master ADC 3 1 OVR_MST Overrun flag of the master ADC 4 1 JEOC_MST End of injected conversion flag of the master ADC 5 1 JEOS_MST End of injected sequence flag of the master ADC 6 1 AWD1_MST Analog watchdog 1 flag of the master ADC 7 1 AWD2_MST Analog watchdog 2 flag of the master ADC 8 1 AWD3_MST Analog watchdog 3 flag of the master ADC 9 1 JQOVF_MST Injected Context Queue Overflow flag of the master ADC 10 1 ADRDY_SLV Slave ADC ready 16 1 EOSMP_SLV End of Sampling phase flag of the slave ADC 17 1 EOC_SLV End of regular conversion of the slave ADC 18 1 EOS_SLV End of regular sequence flag of the slave ADC 19 1 OVR_SLV Overrun flag of the slave ADC 20 1 JEOC_SLV End of injected conversion flag of the slave ADC 21 1 JEOS_SLV End of injected sequence flag of the slave ADC 22 1 AWD1_SLV Analog watchdog 1 flag of the slave ADC 23 1 AWD2_SLV Analog watchdog 2 flag of the slave ADC 24 1 AWD3_SLV Analog watchdog 3 flag of the slave ADC 25 1 JQOVF_SLV Injected Context Queue Overflow flag of the slave ADC 26 1 CCR CCR ADC common control register 0x8 0x20 read-write 0x00000000 DUAL Dual ADC mode selection 0 5 DELAY Delay between 2 sampling phases 8 4 DAMDF Dual ADC Mode Data Format 14 2 CKMODE ADC clock mode 16 2 PRESC ADC prescaler 18 4 VREFEN VREFINT enable 22 1 VSENSEEN Temperature sensor enable 23 1 VBATEN VBAT enable 24 1 CDR CDR ADC common regular data register for dual and triple modes 0xC 0x20 read-only 0x00000000 RDATA_SLV Regular data of the slave ADC 16 16 RDATA_MST Regular data of the master ADC 0 16 CDR2 CDR2 ADC x common regular data register for 32-bit dual mode 0x10 0x20 read-only 0x00000000 RDATA_ALT Regular data of the master/slave alternated ADCs 0 32 ADC3 Analog-to-Digital Converter ADC 0x58026000 0x0 0x400 registers ADC3 ADC3 global interrupt 127 ISR ISR ADC interrupt and status register 0x0 0x20 0x00000000 0xFFFFFFFF ADRDY 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. 0 1 read-write oneToClear ADRDYR read NotReady ADC is not ready to start conversion 0 Ready ADC is ready to start conversion 1 ADRDYW write Clear Clear ADC is ready to start conversion flag 1 EOSMP 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. 1 1 read-write oneToClear EOSMPR read NotEnded End of sampling phase no yet reached 0 Ended End of sampling phase reached 1 EOSMPW write Clear Clear end of sampling phase reached flag 1 EOC 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 2 1 read-write oneToClear EOCR read NotComplete Regular conversion is not complete 0 Complete Regular conversion complete 1 EOCW write Clear Clear regular conversion complete flag 1 EOS 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. 3 1 read-write oneToClear EOSR read NotComplete Regular sequence is not complete 0 Complete Regular sequence complete 1 EOSW write Clear Clear regular sequence complete flag 1 OVR 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. 4 1 read-write oneToClear OVRR read NoOverrun No overrun occurred 0 Overrun Overrun occurred 1 OVRW write Clear Clear overrun occurred flag 1 JEOC 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 5 1 read-write oneToClear JEOCR read NotComplete Injected conversion is not complete 0 Complete Injected conversion complete 1 JEOCW write Clear Clear injected conversion complete flag 1 JEOS 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. 6 1 read-write oneToClear JEOSR read NotComplete Injected sequence is not complete 0 Complete Injected sequence complete 1 JEOSW write Clear Clear Injected sequence complete flag 1 3 0x1 1-3 AWD%s Analog watchdog %s flag 7 1 read-write oneToClear AWD1R read NoEvent No analog watchdog event occurred 0 Event Analog watchdog event occurred 1 AWD1W write Clear Clear analog watchdog event occurred flag 1 JQOVF 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. 10 1 read-write oneToClear JQOVFR read NoOverflow No injected context queue overflow has occurred 0 Overflow Injected context queue overflow has occurred 1 JQOVFW write Clear Clear injected context queue overflow flag 1 IER IER ADC interrupt enable register 0x4 0x20 0x00000000 0xFFFFFFFF ADRDYIE 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). 0 1 read-write ADRDYIE Disabled ADC ready interrupt disabled 0 Enabled ADC ready interrupt enabled 1 EOSMPIE 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). 1 1 read-write EOSMPIE Disabled End of regular conversion sampling phase interrupt disabled 0 Enabled End of regular conversion sampling phase interrupt enabled 1 EOCIE 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). 2 1 read-write EOCIE Disabled End of regular conversion interrupt disabled 0 Enabled End of regular conversion interrupt enabled 1 EOSIE 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). 3 1 read-write EOSIE Disabled End of regular sequence interrupt disabled 0 Enabled End of regular sequence interrupt enabled 1 OVRIE 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). 4 1 read-write OVRIE Disabled Overrun interrupt disabled 0 Enabled Overrun interrupt enabled 1 JEOCIE 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). 5 1 read-write JEOCIE Disabled End of injected conversion interrupt disabled 0 Enabled End of injected conversion interrupt enabled 1 JEOSIE 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). 6 1 read-write JEOSIE Disabled End of injected sequence interrupt disabled 0 Enabled End of injected sequence interrupt enabled 1 3 0x1 1-3 AWD%sIE Analog watchdog %s interrupt enable 7 1 read-write AWD1IE Disabled Analog watchdog interrupt disabled 0 Enabled Analog watchdog interrupt enabled 1 JQOVFIE 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). 10 1 read-write JQOVFIE Disabled Injected context queue overflow interrupt disabled 0 Enabled Injected context queue overflow interrupt enabled 1 CR CR ADC control register 0x8 0x20 0x20000000 0xFFFFFFFF ADEN 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) 0 1 read-write oneToSet ADENR read Disabled ADC disabled 0 Enabled ADC enabled 1 ADENW write Enabled Enable the ADC 1 ADDIS 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) 1 1 read-write oneToSet ADDISR read NotDisabling No disable command active 0 Disabling ADC disabling 1 ADDISW write Disable Disable the ADC 1 ADSTART 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) 2 1 read-write oneToSet ADSTARTR read NotActive No conversion ongoing 0 Active ADC operating and may be converting 1 ADSTARTW write StartConversion Start the ADC conversion (may be delayed for hardware triggers) 1 JADSTART 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) 3 1 read-write oneToSet read write ADSTP 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). 4 1 read-write oneToSet ADSTPR read NotStopping No stop command active 0 Stopping ADC stopping conversion 1 ADSTPW write StopConversion Stop the active conversion 1 JADSTP 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) 5 1 read-write oneToSet read write ADVREGEN 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). 28 1 read-write ADVREGEN Disabled ADC Voltage regulator disabled 0 Enabled ADC Voltage regulator enabled 1 DEEPPWD 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). 29 1 read-write DEEPPWD NotDeepPowerDown ADC not in Deep-power down 0 DeepPowerDown ADC in Deep-power-down (default reset state) 1 ADCALDIF 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). 30 1 read-write ADCALDIF SingleEnded Calibration for single-ended mode 0 Differential Calibration for differential mode 1 ADCAL 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) 31 1 read-write oneToSet ADCALR read NotCalibrating ADC calibration either not yet performed or completed 0 Calibrating ADC calibration in progress 1 ADCALW write StartCalibration Start the ADC calibration sequence 1 CFGR CFGR ADC configuration register 0xC 0x20 0x80000000 0xFFFFFFFF DMAEN 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). 0 1 read-write DMAEN Disabled DMA disabled 0 Enabled DMA enabled 1 DMACFG 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). 1 1 read-write DMACFG OneShot DMA One Shot mode selected 0 Circular DMA Circular mode selected 1 DFSDMCFG DFSDM mode configuration This bit is set and cleared by software to enable the DFSDM mode. It is effective only when DMAEN = 0. Note: To make sure no conversion is ongoing, the software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0. 2 1 read-write RES 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). 3 2 read-write RES Bits12 12-bit 0 Bits10 10-bit 1 Bits8 8-bit 2 Bits6 6-bit 3 EXTSEL 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). 5 5 EXTSEL TIM1_CC1 Timer 1 CC1 event 0 TIM1_CC2 Timer 1 CC2 event 1 TIM1_CC3 Timer 1 CC3 event 2 TIM2_CC2 Timer 2 CC2 event 3 TIM3_TRGO Timer 3 TRGO event 4 EXTI11 EXTI line 11 6 TIM1_TRGO Timer 1 TRGO event 9 TIM1_TRGO2 Timer 1 TRGO2 event 10 TIM2_TRGO Timer 2 TRGO event 11 TIM6_TRGO Timer 6 TRGO event 13 TIM15_TRGO Timer 15 TRGO event 14 TIM3_CC4 Timer 3 CC4 event 15 EXTEN 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). 10 2 read-write EXTEN Disabled Trigger detection disabled 0 RisingEdge Trigger detection on the rising edge 1 FallingEdge Trigger detection on the falling edge 2 BothEdges Trigger detection on both the rising and falling edges 3 OVRMOD 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). 12 1 read-write OVRMOD Preserve Preserve DR register when an overrun is detected 0 Overwrite Overwrite DR register when an overrun is detected 1 CONT 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). 13 1 read-write CONT Single Single conversion mode 0 Continuous Continuous conversion mode 1 AUTDLY 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). 14 1 read-write AUTDLY Off Auto delayed conversion mode off 0 On Auto delayed conversion mode on 1 ALIGN 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). 15 1 read-write ALIGN Right Right alignment 0 Left Left alignment 1 DISCEN 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). 16 1 read-write DISCEN Disabled Discontinuous mode on regular channels disabled 0 Enabled Discontinuous mode on regular channels enabled 1 DISCNUM 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). 17 3 read-write 0 7 JDISCEN 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. 20 1 read-write JDISCEN Disabled Discontinuous mode on injected channels disabled 0 Enabled Discontinuous mode on injected channels enabled 1 JQM 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). 21 1 read-write JQM Mode0 JSQR Mode 0: Queue maintains the last written configuration into JSQR 0 Mode1 JSQR Mode 1: An empty queue disables software and hardware triggers of the injected sequence 1 AWD1SGL 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). 22 1 read-write AWD1SGL All Analog watchdog 1 enabled on all channels 0 Single Analog watchdog 1 enabled on single channel selected in AWD1CH 1 AWD1EN 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). 23 1 read-write AWD1EN Disabled Analog watchdog 1 disabled on regular channels 0 Enabled Analog watchdog 1 enabled on regular channels 1 JAWD1EN 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). 24 1 read-write JAWD1EN Disabled Analog watchdog 1 disabled on injected channels 0 Enabled Analog watchdog 1 enabled on injected channels 1 JAUTO 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). 25 1 read-write JAUTO Disabled Automatic injected group conversion disabled 0 Enabled Automatic injected group conversion enabled 1 AWD1CH 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). 26 5 read-write 0 18 JQDIS 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. 31 1 read-write CFGR2 CFGR2 ADC configuration register 2 0x10 0x20 0x00000000 0xFFFFFFFF ROVSE 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) 0 1 read-write ROVSE Disabled Regular Oversampling disabled 0 Enabled Regular Oversampling enabled 1 JOVSE 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) 1 1 read-write JOVSE Disabled Injected Oversampling disabled 0 Enabled Injected Oversampling enabled 1 OVSR 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). 2 3 read-write OVSR Ratio2 2x 0 Ratio4 4x 1 Ratio8 8x 2 Ratio16 16x 3 Ratio32 32x 4 Ratio64 64x 5 Ratio128 128x 6 Ratio256 256x 7 OVSS 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). 5 4 read-write OVSS NoShift No Shift 0 Shift1Bit Shift 1-bit 1 Shift2Bit Shift 2-bit 2 Shift3Bit Shift 3-bit 3 Shift4Bit Shift 4-bit 4 Shift5Bit Shift 5-bit 5 Shift6Bit Shift 6-bit 6 Shift7Bit Shift 7-bit 7 Shift8Bit Shift 8-bit 8 TROVS 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). 9 1 read-write TROVS All All oversampled conversions for a channel are done consecutively following a trigger 0 Single Each oversampled conversion for a channel needs a new trigger 1 ROVSM 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). 10 1 read-write ROVSM ContinuedMode When injected conversions are triggered, the oversampling is temporary stopped and continued after the injection sequence (oversampling buffer is maintained during injected sequence) 0 ResumedMode When injected conversions are triggered, the current oversampling is aborted and resumed from start after the injection sequence (oversampling buffer is zeroed by injected sequence start) 1 SWTRIG 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). 25 1 read-write SWTRIG Conversion Software trigger starts the conversion for sampling time control trigger mode 0 Sampling Software trigger starts the sampling for sampling time control trigger mode 1 BULB 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). 26 1 read-write BULB Disabled Bulb sampling mode disabled 0 Enabled Bulb sampling mode enabled. The sampling period starts just after the previous end of conversion 1 SMPTRIG 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). 27 1 read-write SMPTRIG Disabled Sampling time control trigger mode disabled 0 Enabled Sampling time control trigger mode enabled 1 SMPR1 SMPR1 ADC sample time register 1 0x14 0x20 0x00000000 0xFFFFFFFF 10 0x3 0-9 SMP%s Channel %s sample time selection 0 3 read-write SMP0 Cycles2_5 2.5 ADC clock cycles 0 Cycles6_5 6.5 ADC clock cycles 1 Cycles12_5 12.5 ADC clock cycles 2 Cycles24_5 24.5 ADC clock cycles 3 Cycles47_5 47.5 ADC clock cycles 4 Cycles92_5 92.5 ADC clock cycles 5 Cycles247_5 247.5 ADC clock cycles 6 Cycles640_5 640.5 ADC clock cycles 7 SMPPLUS 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. 31 1 read-write SMPPLUS KeepCycles The sampling time remains set to 2.5 ADC clock cycles remains 0 Add1Cycle 2.5 ADC clock cycle sampling time becomes 3.5 ADC clock cycles for the ADC_SMPR1 and ADC_SMPR2 registers 1 SMPR2 SMPR2 ADC sample time register 2 0x18 0x20 0x00000000 0xFFFFFFFF 9 0x3 10-18 SMP%s Channel %s sample time selection 0 3 read-write TR1 TR1 ADC watchdog threshold register 1 0x20 0x20 0x0FFF0000 0xFFFFFFFF LT1 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). 0 12 read-write 0 4095 AWDFILT 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). 12 3 read-write HT1 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). 16 12 read-write 0 4095 TR2 TR2 ADC watchdog threshold register 2 0x24 0x20 0x00FF0000 0xFFFFFFFF LT2 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). 0 8 read-write 0 255 HT2 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). 16 8 read-write 0 255 TR3 TR3 ADC watchdog threshold register 3 0x28 0x20 0x00FF0000 0xFFFFFFFF LT3 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). 0 8 read-write 0 255 HT3 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). 16 8 read-write 0 255 SQR1 SQR1 ADC regular sequence register 1 0x30 0x20 0x00000000 0xFFFFFFFF L 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). 0 4 read-write 0 15 4 0x6 1-4 SQ%s %s conversion in regular sequence 6 5 read-write 0 19 SQR2 SQR2 ADC regular sequence register 2 0x34 0x20 0x00000000 0xFFFFFFFF 5 0x6 5-9 SQ%s %s conversion in regular sequence 0 5 read-write SQR3 SQR3 ADC regular sequence register 3 0x38 0x20 0x00000000 0xFFFFFFFF 5 0x6 10-14 SQ%s %s conversion in regular sequence 0 5 read-write SQR4 SQR4 ADC regular sequence register 4 0x3C 0x20 0x00000000 0xFFFFFFFF 2 0x6 15-16 SQ%s %s conversion in regular sequence 0 5 read-write DR DR ADC regular data register 0x40 0x20 0x00000000 0xFFFFFFFF RDATA 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 . 0 16 read-only 0 65535 JSQR JSQR ADC injected sequence register 0x4C 0x20 0x00000000 0xFFFFFFFF JL 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). 0 2 read-write 0 3 JEXTSEL 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). 2 5 read-write JEXTSEL TIM1_TRGO Timer 1 TRGO event 0 TIM1_CC4 Timer 1 CC4 event 1 TIM2_TRGO Timer 2 TRGO event 2 TIM2_CC1 Timer 2 CC1 event 3 TIM3_CC4 Timer 3 CC4 event 4 EXTI15 EXTI line 15 6 TIM1_TRGO2 Timer 1 TRGO2 event 8 TIM3_CC3 Timer 3 CC3 event 11 TIM3_TRGO Timer 3 TRGO event 12 TIM3_CC1 Timer 3 CC1 event 13 TIM6_TRGO Timer 6 TRGO event 14 TIM15_TRGO Timer 15 TRGO event 15 JEXTEN 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) 7 2 read-write JEXTEN Disabled Trigger detection disabled 0 RisingEdge Trigger detection on the rising edge 1 FallingEdge Trigger detection on the falling edge 2 BothEdges Trigger detection on both the rising and falling edges 3 4 0x6 1-4 JSQ%s %s conversion in injected sequence 9 5 read-write 0 19 4 0x4 1-4 OFR%s OFR%s ADC offset %s register 0x60 0x20 0x00000000 0xFFFFFFFF OFFSET 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. 0 12 read-write 0 4095 OFFSETPOS 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). 24 1 read-write SATEN 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). 25 1 read-write OFFSET_CH 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. 26 5 read-write 0 31 OFFSET_EN 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). 31 1 read-write OFFSET_EN Disabled This bit is written by software to enable or disable the offset programmed into bits OFFSETy[11:0] 0 Enabled This bit is written by software to enable or disable the offset programmed into bits OFFSETy[11:0] 1 4 0x4 1-4 JDR%s JDR%s ADC injected channel %s data register 0x80 0x20 0x00000000 0xFFFFFFFF JDATA 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 . 0 16 read-only 0 65535 AWD2CR AWD2CR ADC Analog Watchdog 2 Configuration Register 0xA0 0x20 0x00000000 0xFFFFFFFF 19 0x1 0-18 AWD2CH%s 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[18: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. 0 1 AWD2CH0 NotMonitored Input channel not monitored by AWDx 0 Monitored Input channel monitored by AWDx 1 AWD3CR AWD3CR ADC Analog Watchdog 3 Configuration Register 0xA4 0x20 0x00000000 0xFFFFFFFF 19 0x1 0-18 AWD3CH%s 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[18: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. 0 1 AWD3CH0 NotMonitored Input channel not monitored by AWDx 0 Monitored Input channel monitored by AWDx 1 DIFSEL DIFSEL ADC Differential mode Selection Register 0xB0 0x20 0x00000000 0xFFFFFFFF 19 0x1 0-18 DIFSEL%s Differential mode for channel %s 0 1 DIFSEL0 SingleEnded Input channel is configured in single-ended mode 0 Differential Input channel is configured in differential mode 1 CALFACT CALFACT ADC Calibration Factors 0xB4 0x20 0x00000000 0xFFFFFFFF CALFACT_S 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). 0 7 read-write 0 127 CALFACT_D 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). 16 7 read-write 0 127 ADC3_Common Analog-to-Digital Converter ADC 0x58026300 0x0 0x400 registers CSR CSR ADC common status register 0x0 0x20 0x00000000 0xFFFFFFFF ADRDY_MST Master ADC ready This bit is a copy of the ADRDY bit in the corresponding ADC_ISR register. 0 1 read-only EOSMP_MST End of Sampling phase flag of the master ADC This bit is a copy of the EOSMP bit in the corresponding ADC_ISR register. 1 1 read-only EOC_MST End of regular conversion of the master ADC This bit is a copy of the EOC bit in the corresponding ADC_ISR register. 2 1 read-only EOS_MST End of regular sequence flag of the master ADC This bit is a copy of the EOS bit in the corresponding ADC_ISR register. 3 1 read-only OVR_MST Overrun flag of the master ADC This bit is a copy of the OVR bit in the corresponding ADC_ISR register. 4 1 read-only JEOC_MST End of injected conversion flag of the master ADC This bit is a copy of the JEOC bit in the corresponding ADC_ISR register. 5 1 read-only JEOS_MST End of injected sequence flag of the master ADC This bit is a copy of the JEOS bit in the corresponding ADC_ISR register. 6 1 read-only AWD1_MST Analog watchdog 1 flag of the master ADC This bit is a copy of the AWD1 bit in the corresponding ADC_ISR register. 7 1 read-only AWD2_MST Analog watchdog 2 flag of the master ADC This bit is a copy of the AWD2 bit in the corresponding ADC_ISR register. 8 1 read-only AWD3_MST Analog watchdog 3 flag of the master ADC This bit is a copy of the AWD3 bit in the corresponding ADC_ISR register. 9 1 read-only JQOVF_MST Injected Context Queue Overflow flag of the master ADC This bit is a copy of the JQOVF bit in the corresponding ADC_ISR register. 10 1 read-only CCR CCR ADC common control register 0x8 0x20 0x00000000 0xFFFFFFFF CKMODE 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). 16 2 read-write PRESC 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. 18 4 read-write VREFEN VREFINT enable This bit is set and cleared by software to enable/disable the VREFINT channel. 22 1 read-write VSENSEEN VSENSE enable This bit is set and cleared by software to control VSENSE. 23 1 read-write VBATEN VBAT enable This bit is set and cleared by software to control. 24 1 read-write CDR CDR ADC common regular data register for dual and triple modes 0xC 0x20 read-only 0x00000000 RDATA_SLV Regular data of the slave ADC 16 16 RDATA_MST Regular data of the master ADC 0 16 CDR2 CDR2 ADC x common regular data register for 32-bit dual mode 0x10 0x20 read-only 0x00000000 RDATA_ALT Regular data of the master/slave alternated ADCs 0 32 AXI AXI interconnect registers AXI 0x51000000 0x0 0x100000 registers PERIPH_ID_4 PERIPH_ID_4 AXI interconnect - peripheral ID4 register 0x1FD0 0x20 read-only 0x00000004 JEP106CON JEP106 continuation code 0 4 KCOUNT4 Register file size 4 4 PERIPH_ID_0 PERIPH_ID_0 AXI interconnect - peripheral ID0 register 0x1FE0 0x20 read-only 0x00000004 PARTNUM Peripheral part number bits 0 to 7 0 8 PERIPH_ID_1 PERIPH_ID_1 AXI interconnect - peripheral ID1 register 0x1FE4 0x20 read-only 0x00000004 PARTNUM Peripheral part number bits 8 to 11 0 4 JEP106I JEP106 identity bits 0 to 3 4 4 PERIPH_ID_2 PERIPH_ID_2 AXI interconnect - peripheral ID2 register 0x1FE8 0x20 read-only 0x00000004 JEP106ID JEP106 Identity bits 4 to 6 0 3 JEDEC JEP106 code flag 3 1 REVISION Peripheral revision number 4 4 PERIPH_ID_3 PERIPH_ID_3 AXI interconnect - peripheral ID3 register 0x1FEC 0x20 read-only 0x00000004 CUST_MOD_NUM Customer modification 0 4 REV_AND Customer version 4 4 COMP_ID_0 COMP_ID_0 AXI interconnect - component ID0 register 0x1FF0 0x20 read-only 0x00000004 PREAMBLE Preamble bits 0 to 7 0 8 COMP_ID_1 COMP_ID_1 AXI interconnect - component ID1 register 0x1FF4 0x20 read-only 0x00000004 PREAMBLE Preamble bits 8 to 11 0 4 CLASS Component class 4 4 COMP_ID_2 COMP_ID_2 AXI interconnect - component ID2 register 0x1FF8 0x20 read-only 0x00000004 PREAMBLE Preamble bits 12 to 19 0 8 COMP_ID_3 COMP_ID_3 AXI interconnect - component ID3 register 0x1FFC 0x20 read-only 0x00000004 PREAMBLE Preamble bits 20 to 27 0 8 TARG1_FN_MOD_ISS_BM TARG1_FN_MOD_ISS_BM AXI interconnect - TARG x bus matrix issuing functionality register 0x2008 0x20 read-write 0x00000004 READ_ISS_OVERRIDE READ_ISS_OVERRIDE 0 1 WRITE_ISS_OVERRIDE Switch matrix write issuing override for target 1 1 TARG2_FN_MOD_ISS_BM TARG2_FN_MOD_ISS_BM AXI interconnect - TARG x bus matrix issuing functionality register 0x3008 0x20 read-write 0x00000004 READ_ISS_OVERRIDE READ_ISS_OVERRIDE 0 1 WRITE_ISS_OVERRIDE Switch matrix write issuing override for target 1 1 TARG3_FN_MOD_ISS_BM TARG3_FN_MOD_ISS_BM AXI interconnect - TARG x bus matrix issuing functionality register 0x4008 0x20 read-write 0x00000004 READ_ISS_OVERRIDE READ_ISS_OVERRIDE 0 1 WRITE_ISS_OVERRIDE Switch matrix write issuing override for target 1 1 TARG4_FN_MOD_ISS_BM TARG4_FN_MOD_ISS_BM AXI interconnect - TARG x bus matrix issuing functionality register 0x5008 0x20 read-write 0x00000004 READ_ISS_OVERRIDE READ_ISS_OVERRIDE 0 1 WRITE_ISS_OVERRIDE Switch matrix write issuing override for target 1 1 TARG5_FN_MOD_ISS_BM TARG5_FN_MOD_ISS_BM AXI interconnect - TARG x bus matrix issuing functionality register 0x6008 0x20 read-write 0x00000004 READ_ISS_OVERRIDE READ_ISS_OVERRIDE 0 1 WRITE_ISS_OVERRIDE Switch matrix write issuing override for target 1 1 TARG6_FN_MOD_ISS_BM TARG6_FN_MOD_ISS_BM AXI interconnect - TARG x bus matrix issuing functionality register 0x7008 0x20 read-write 0x00000004 READ_ISS_OVERRIDE READ_ISS_OVERRIDE 0 1 WRITE_ISS_OVERRIDE Switch matrix write issuing override for target 1 1 TARG7_FN_MOD_ISS_BM TARG7_FN_MOD_ISS_BM AXI interconnect - TARG x bus matrix issuing functionality register 0x800C 0x20 read-write 0x00000004 READ_ISS_OVERRIDE READ_ISS_OVERRIDE 0 1 WRITE_ISS_OVERRIDE Switch matrix write issuing override for target 1 1 TARG1_FN_MOD2 TARG1_FN_MOD2 AXI interconnect - TARG x bus matrix functionality 2 register 0x2024 0x20 read-write 0x00000004 BYPASS_MERGE Disable packing of beats to match the output data width 0 1 TARG2_FN_MOD2 TARG2_FN_MOD2 AXI interconnect - TARG x bus matrix functionality 2 register 0x3024 0x20 read-write 0x00000004 BYPASS_MERGE Disable packing of beats to match the output data width 0 1 TARG7_FN_MOD2 TARG7_FN_MOD2 AXI interconnect - TARG x bus matrix functionality 2 register 0x8024 0x20 read-write 0x00000004 BYPASS_MERGE Disable packing of beats to match the output data width 0 1 TARG1_FN_MOD_LB TARG1_FN_MOD_LB AXI interconnect - TARG x long burst functionality modification 0x202C 0x20 read-write 0x00000004 FN_MOD_LB Controls burst breaking of long bursts 0 1 TARG2_FN_MOD_LB TARG2_FN_MOD_LB AXI interconnect - TARG x long burst functionality modification 0x302C 0x20 read-write 0x00000004 FN_MOD_LB Controls burst breaking of long bursts 0 1 TARG1_FN_MOD TARG1_FN_MOD AXI interconnect - TARG x long burst functionality modification 0x2108 0x20 read-write 0x00000004 READ_ISS_OVERRIDE Override AMIB read issuing capability 0 1 WRITE_ISS_OVERRIDE Override AMIB write issuing capability 1 1 TARG2_FN_MOD TARG2_FN_MOD AXI interconnect - TARG x long burst functionality modification 0x3108 0x20 read-write 0x00000004 READ_ISS_OVERRIDE Override AMIB read issuing capability 0 1 WRITE_ISS_OVERRIDE Override AMIB write issuing capability 1 1 TARG7_FN_MOD TARG7_FN_MOD AXI interconnect - TARG x long burst functionality modification 0x8108 0x20 read-write 0x00000004 READ_ISS_OVERRIDE Override AMIB read issuing capability 0 1 WRITE_ISS_OVERRIDE Override AMIB write issuing capability 1 1 INI1_FN_MOD2 INI1_FN_MOD2 AXI interconnect - INI x functionality modification 2 register 0x42024 0x20 read-write 0x00000004 BYPASS_MERGE Disables alteration of transactions by the up-sizer unless required by the protocol 0 1 INI3_FN_MOD2 INI3_FN_MOD2 AXI interconnect - INI x functionality modification 2 register 0x44024 0x20 read-write 0x00000004 BYPASS_MERGE Disables alteration of transactions by the up-sizer unless required by the protocol 0 1 INI1_FN_MOD_AHB INI1_FN_MOD_AHB AXI interconnect - INI x AHB functionality modification register 0x42028 0x20 read-write 0x00000004 RD_INC_OVERRIDE Converts all AHB-Lite write transactions to a series of single beat AXI 0 1 WR_INC_OVERRIDE Converts all AHB-Lite read transactions to a series of single beat AXI 1 1 INI3_FN_MOD_AHB INI3_FN_MOD_AHB AXI interconnect - INI x AHB functionality modification register 0x44028 0x20 read-write 0x00000004 RD_INC_OVERRIDE Converts all AHB-Lite write transactions to a series of single beat AXI 0 1 WR_INC_OVERRIDE Converts all AHB-Lite read transactions to a series of single beat AXI 1 1 INI1_READ_QOS INI1_READ_QOS AXI interconnect - INI x read QoS register 0x42100 0x20 read-write 0x00000004 AR_QOS Read channel QoS setting 0 4 0 15 INI2_READ_QOS INI2_READ_QOS AXI interconnect - INI x read QoS register 0x43100 0x20 read-write 0x00000004 AR_QOS Read channel QoS setting 0 4 0 15 INI3_READ_QOS INI3_READ_QOS AXI interconnect - INI x read QoS register 0x44100 0x20 read-write 0x00000004 AR_QOS Read channel QoS setting 0 4 0 15 INI4_READ_QOS INI4_READ_QOS AXI interconnect - INI x read QoS register 0x45100 0x20 read-write 0x00000004 AR_QOS Read channel QoS setting 0 4 0 15 INI5_READ_QOS INI5_READ_QOS AXI interconnect - INI x read QoS register 0x46100 0x20 read-write 0x00000004 AR_QOS Read channel QoS setting 0 4 0 15 INI6_READ_QOS INI6_READ_QOS AXI interconnect - INI x read QoS register 0x47100 0x20 read-write 0x00000004 AR_QOS Read channel QoS setting 0 4 0 15 INI1_WRITE_QOS INI1_WRITE_QOS AXI interconnect - INI x write QoS register 0x42104 0x20 read-write 0x00000004 AW_QOS Write channel QoS setting 0 4 0 15 INI2_WRITE_QOS INI2_WRITE_QOS AXI interconnect - INI x write QoS register 0x43104 0x20 read-write 0x00000004 AW_QOS Write channel QoS setting 0 4 0 15 INI3_WRITE_QOS INI3_WRITE_QOS AXI interconnect - INI x write QoS register 0x44104 0x20 read-write 0x00000004 AW_QOS Write channel QoS setting 0 4 0 15 INI4_WRITE_QOS INI4_WRITE_QOS AXI interconnect - INI x write QoS register 0x45104 0x20 read-write 0x00000004 AW_QOS Write channel QoS setting 0 4 0 15 INI5_WRITE_QOS INI5_WRITE_QOS AXI interconnect - INI x write QoS register 0x46104 0x20 read-write 0x00000004 AW_QOS Write channel QoS setting 0 4 0 15 INI6_WRITE_QOS INI6_WRITE_QOS AXI interconnect - INI x write QoS register 0x47104 0x20 read-write 0x00000004 AW_QOS Write channel QoS setting 0 4 0 15 INI1_FN_MOD INI1_FN_MOD AXI interconnect - INI x issuing functionality modification register 0x42108 0x20 read-write 0x00000004 READ_ISS_OVERRIDE Override ASIB read issuing capability 0 1 READ_ISS_OVERRIDE Normal Normal ASIB read issuing capability 0 Force1 Force ASIB read issuing capability to 1 1 WRITE_ISS_OVERRIDE Override ASIB write issuing capability 1 1 WRITE_ISS_OVERRIDE Normal Normal ASIB write issuing capability 0 Force1 Force ASIB write issuing capability to 1 1 INI2_FN_MOD INI2_FN_MOD AXI interconnect - INI x issuing functionality modification register 0x43108 0x20 read-write 0x00000004 READ_ISS_OVERRIDE Override ASIB read issuing capability 0 1 READ_ISS_OVERRIDE Normal Normal ASIB read issuing capability 0 Force1 Force ASIB read issuing capability to 1 1 WRITE_ISS_OVERRIDE Override ASIB write issuing capability 1 1 WRITE_ISS_OVERRIDE Normal Normal ASIB write issuing capability 0 Force1 Force ASIB write issuing capability to 1 1 INI3_FN_MOD INI3_FN_MOD AXI interconnect - INI x issuing functionality modification register 0x44108 0x20 read-write 0x00000004 READ_ISS_OVERRIDE Override ASIB read issuing capability 0 1 READ_ISS_OVERRIDE Normal Normal ASIB read issuing capability 0 Force1 Force ASIB read issuing capability to 1 1 WRITE_ISS_OVERRIDE Override ASIB write issuing capability 1 1 WRITE_ISS_OVERRIDE Normal Normal ASIB write issuing capability 0 Force1 Force ASIB write issuing capability to 1 1 INI4_FN_MOD INI4_FN_MOD AXI interconnect - INI x issuing functionality modification register 0x45108 0x20 read-write 0x00000004 READ_ISS_OVERRIDE Override ASIB read issuing capability 0 1 READ_ISS_OVERRIDE Normal Normal ASIB read issuing capability 0 Force1 Force ASIB read issuing capability to 1 1 WRITE_ISS_OVERRIDE Override ASIB write issuing capability 1 1 WRITE_ISS_OVERRIDE Normal Normal ASIB write issuing capability 0 Force1 Force ASIB write issuing capability to 1 1 INI5_FN_MOD INI5_FN_MOD AXI interconnect - INI x issuing functionality modification register 0x46108 0x20 read-write 0x00000004 READ_ISS_OVERRIDE Override ASIB read issuing capability 0 1 READ_ISS_OVERRIDE Normal Normal ASIB read issuing capability 0 Force1 Force ASIB read issuing capability to 1 1 WRITE_ISS_OVERRIDE Override ASIB write issuing capability 1 1 WRITE_ISS_OVERRIDE Normal Normal ASIB write issuing capability 0 Force1 Force ASIB write issuing capability to 1 1 INI6_FN_MOD INI6_FN_MOD AXI interconnect - INI x issuing functionality modification register 0x47108 0x20 read-write 0x00000004 READ_ISS_OVERRIDE Override ASIB read issuing capability 0 1 READ_ISS_OVERRIDE Normal Normal ASIB read issuing capability 0 Force1 Force ASIB read issuing capability to 1 1 WRITE_ISS_OVERRIDE Override ASIB write issuing capability 1 1 WRITE_ISS_OVERRIDE Normal Normal ASIB write issuing capability 0 Force1 Force ASIB write issuing capability to 1 1 BDMA BDMA BDMA 0x58025400 0x0 0x400 registers BDMA_CH0 BDMA channel 0 interrupt 129 BDMA_CH1 BDMA channel 1 interrupt 130 BDMA_CH2 BDMA channel 2 interrupt 131 BDMA_CH3 BDMA channel 3 interrupt 132 BDMA_CH4 BDMA channel 4 interrupt 133 BDMA_CH5 BDMA channel 5 interrupt 134 BDMA_CH6 BDMA channel 6 interrupt 135 BDMA_CH7 BDMA channel 7 interrupt 136 ISR ISR BDMA interrupt status register 0x0 0x20 0x00000000 0xFFFFFFFF 8 0x4 0-7 GIF%s Channel %s Global interrupt flag 0 1 read-only GIF0 NoEvent No TE, HT or TC event on channel x 0 Event A TE, HT or TC event occurred on channel x 1 8 0x4 0-7 TCIF%s Channel %s Transfer Complete flag 1 1 read-only TCIF0 NotComplete No transfer complete event on channel x 0 Complete A transfer complete event occurred on channel x 1 8 0x4 0-7 HTIF%s Channel %s Half Transfer Complete flag 2 1 read-only HTIF0 NotHalf No half transfer event on channel x 0 Half A half transfer event occurred on channel x 1 8 0x4 0-7 TEIF%s Channel %s Transfer Error flag 3 1 read-only TEIF0 NoError No transfer error on channel x 0 Error A transfer error occurred on channel x 1 IFCR IFCR BDMA interrupt flag clear register 0x4 0x20 0x00000000 0xFFFFFFFF 8 0x4 0-7 CGIF%s Channel %s Global interrupt clear 0 1 write-only CGIF0 Clear Clear the corresponding CGIFx flag 1 8 0x4 0-7 CTCIF%s Channel %s Transfer Complete clear 1 1 write-only CTCIF0 Clear Clear the corresponding TCIFx flag 1 8 0x4 0-7 CHTIF%s Channel %s Half Transfer clear 2 1 write-only CHTIF0 Clear Clear the corresponding HTIFx flag 1 8 0x4 0-7 CTEIF%s Channel %s Transfer Error clear 3 1 write-only CTEIF0 Clear Clear the corresponding TEIFx flag 1 8 0x14 0-7 CH%s Channel cluster: CCR?, CNDTR?, CPAR?, CM0AR? and CM1AR? registers 0x8 CR CCR0 BDMA channel 0 configuration register 0x0 0x20 0x00000000 0xFFFFFFFF EN channel enable When a channel transfer error occurs, this bit is cleared by hardware. It can not be set again by software (channel x re-activated) until the TEIFx bit of the BDMA_ISR register is cleared (by setting the CTEIFx bit of the BDMA_IFCR register). Note: this bit is set and cleared by software. 0 1 read-write EN Disabled Channel disabled 0 Enabled Channel enabled 1 TCIE transfer complete interrupt enable Note: this bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1). 1 1 read-write TCIE Disabled TC interrupt disabled 0 Enabled TC interrupt enabled 1 HTIE half transfer interrupt enable Note: this bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1). 2 1 read-write HTIE Disabled HT interrupt disabled 0 Enabled HT interrupt enabled 1 TEIE transfer error interrupt enable Note: this bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1). 3 1 read-write TEIE Disabled TE interrupt disabled 0 Enabled TE interrupt enabled 1 DIR data transfer direction This bit must be set only in memory-to-peripheral and peripheral-to-memory modes. Source attributes are defined by PSIZE and PINC, plus the BDMA_CPARx register. This is still valid in a memory-to-memory mode. Destination attributes are defined by MSIZE and MINC, plus the BDMA_CM0/1ARx register. This is still valid in a peripheral-to-peripheral mode. Destination attributes are defined by PSIZE and PINC, plus the BDMA_CPARx register. This is still valid in a memory-to-memory mode. Source attributes are defined by MSIZE and MINC, plus the BDMA_CM0/1ARx register. This is still valid in a peripheral-to-peripheral mode. Note: this bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1). 4 1 read-write DIR PeripheralToMemory Peripheral-to-memory 0 MemoryToPeripheral Memory-to-peripheral 1 CIRC circular mode Note: this bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1). 5 1 read-write CIRC Disabled Circular mode disabled 0 Enabled Circular mode enabled 1 PINC peripheral increment mode Defines the increment mode for each DMA transfer to the identified peripheral. n memory-to-memory mode, this field identifies the memory destination if DIR = 1 and the memory source if DIR = 0. In peripheral-to-peripheral mode, this field identifies the peripheral destination if DIR = 1 and the peripheral source if DIR = 0. Note: this bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1). 6 1 read-write PINC Fixed Address pointer is fixed 0 Incremented Address pointer is incremented after each data transfer 1 MINC memory increment mode Defines the increment mode for each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR = 1 and the memory destination if DIR = 0. In peripheral-to-peripheral mode, this field identifies the peripheral source if DIR = 1 and the peripheral destination if DIR = 0. Note: this bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1). 7 1 read-write PSIZE peripheral size Defines the data size of each DMA transfer to the identified peripheral. In memory-to-memory mode, this field identifies the memory destination if DIR = 1 and the memory source if DIR = 0. In peripheral-to-peripheral mode, this field identifies the peripheral destination if DIR = 1 and the peripheral source if DIR = 0. Note: this field is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1). 8 2 read-write PSIZE Bits8 Byte (8-bit) 0 Bits16 Half-word (16-bit) 1 Bits32 Word (32-bit) 2 MSIZE memory size Defines the data size of each DMA transfer to the identified memory. In memory-to-memory mode, this field identifies the memory source if DIR = 1 and the memory destination if DIR = 0. In peripheral-to-peripheral mode, this field identifies the peripheral source if DIR = 1 and the peripheral destination if DIR = 0. Note: this field is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1). 10 2 read-write PL priority level Note: this field is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1). 12 2 read-write PL Low Low 0 Medium Medium 1 High High 2 VeryHigh Very high 3 MEM2MEM memory-to-memory mode Note: this bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1). 14 1 read-write MEM2MEM Disabled Memory-to-memory mode disabled 0 Enabled Memory-to-memory mode enabled 1 DBM double-buffer mode This bit must be set only in memory-to-peripheral and peripheral-to-memory transfers (MEM2MEM=0). The CIRC bit must also be set in double buffer mode. Note: this bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1). 15 1 read-write DBM Disabled No buffer switching at the end of transfer 0 Enabled Memory target switched at the end of the DMA transfer 1 CT current target memory of DMA transfer in double-buffer mode This bit is toggled by hardware at the end of each channel transfer in double-buffer mode. Note: this bit is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1). 16 1 read-write CT Memory0 The current target memory is Memory 0 0 Memory1 The current target memory is Memory 1 1 NDTR CNDTR0 0x4 0x20 0x00000000 0xFFFFFFFF NDT number of data to transfer (0 to 216 - 1) This field is updated by hardware when the channel is enabled: It is decremented after each single BDMA âread followed by writeâ transfer, indicating the remaining amount of data items to transfer. It is kept at zero when the programmed amount of data to transfer is reached, if the channel is not in circular mode (CIRC = 0 in the BDMA_CCRx register). It is reloaded automatically by the previously programmed value, when the transfer is complete, if the channel is in circular mode (CIRC = 1). If this field is zero, no transfer can be served whatever the channel status (enabled or not). Note: this field is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is read-only when the channel is enabled (EN = 1). 0 16 read-write 0 65535 PAR CPAR0 0x8 0x20 0x00000000 0xFFFFFFFF PA peripheral address It contains the base address of the peripheral data register from/to which the data is read/written. When PSIZE[1:0] = 01 (16 bits), bit 0 of PA[31:0] is ignored. Access is automatically aligned to a half-word address. When PSIZE = 10 (32 bits), bits 1 and 0 of PA[31:0] are ignored. Access is automatically aligned to a word address. In memory-to-memory mode, this register identifies the memory destination address if DIR = 1 and the memory source address if DIR = 0. In peripheral-to-peripheral mode, this register identifies the peripheral destination address DIR = 1 and the peripheral source address if DIR = 0. Note: this register is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1). 0 32 read-write M0AR CM0AR0 0xC 0x20 0x00000000 0xFFFFFFFF MA peripheral address It contains the base address of the memory from/to which the data is read/written. When MSIZE[1:0] = 01 (16 bits), bit 0 of MA[31:0] is ignored. Access is automatically aligned to a half-word address. When MSIZE = 10 (32 bits), bits 1 and 0 of MA[31:0] are ignored. Access is automatically aligned to a word address. In memory-to-memory mode, this register identifies the memory source address if DIR = 1 and the memory destination address if DIR = 0. In peripheral-to-peripheral mode, this register identifies the peripheral source address DIR = 1 and the peripheral destination address if DIR = 0. Note: this register is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1). 0 32 read-write M1AR CM1AR0 0x10 0x20 0x00000000 0xFFFFFFFF MA peripheral address It contains the base address of the memory from/to which the data is read/written. When MSIZE[1:0] = 01 (16 bits), bit 0 of MA[31:0] is ignored. Access is automatically aligned to a half-word address. When MSIZE = 10 (32 bits), bits 1 and 0 of MA[31:0] are ignored. Access is automatically aligned to a word address. In memory-to-memory mode, this register identifies the memory source address if DIR = 1 and the memory destination address if DIR = 0. In peripheral-to-peripheral mode, this register identifies the peripheral source address DIR = 1 and the peripheral destination address if DIR = 0. Note: this register is set and cleared by software. It must not be written when the channel is enabled (EN = 1). It is not read-only when the channel is enabled (EN = 1). 0 32 read-write CAN_CCU CCU registers FDCAN 0x4000A800 0x0 0x400 registers CREL CREL Clock Calibration Unit Core Release Register 0x0 0x20 read-write 0x00000000 DAY Time Stamp Day 0 8 MON Time Stamp Month 8 8 YEAR Time Stamp Year 16 4 SUBSTEP Sub-step of Core Release 20 4 STEP Step of Core Release 24 4 REL Core Release 28 4 CCFG CCFG Calibration Configuration Register 0x4 0x20 read-write 0x00000000 TQBT Time Quanta per Bit Time 0 5 BCC Bypass Clock Calibration 6 1 CFL Calibration Field Length 7 1 OCPM Oscillator Clock Periods Minimum 8 8 CDIV Clock Divider 16 4 SWR Software Reset 31 1 CSTAT CSTAT Calibration Status Register 0x8 0x20 read-write 0x00000000 OCPC Oscillator Clock Period Counter 0 18 TQC Time Quanta Counter 18 11 CALS Calibration State 30 2 CWD CWD Calibration Watchdog Register 0xC 0x20 read-write 0x00000000 WDC WDC 0 16 WDV WDV 16 16 IR IR Clock Calibration Unit Interrupt Register 0x10 0x20 read-write 0x00000000 CWE Calibration Watchdog Event 0 1 CSC Calibration State Changed 1 1 IE IE Clock Calibration Unit Interrupt Enable Register 0x14 0x20 read-write 0x00000000 CWEE Calibration Watchdog Event Enable 0 1 CSCE Calibration State Changed Enable 1 1 CEC CEC CEC 0x40006C00 0x0 0x400 registers CEC HDMI-CEC global interrupt 94 CR CR CEC control register 0x0 0x20 read-write 0x00000000 CECEN CEC Enable The CECEN bit is set and cleared by software. CECEN=1 starts message reception and enables the TXSOM control. CECEN=0 disables the CEC peripheral, clears all bits of CEC_CR register and aborts any on-going reception or transmission. 0 1 TXSOM Tx Start Of Message TXSOM is set by software to command transmission of the first byte of a CEC message. If the CEC message consists of only one byte, TXEOM must be set before of TXSOM. Start-Bit is effectively started on the CEC line after SFT is counted. If TXSOM is set while a message reception is ongoing, transmission will start after the end of reception. TXSOM is cleared by hardware after the last byte of the message is sent with a positive acknowledge (TXEND=1), in case of transmission underrun (TXUDR=1), negative acknowledge (TXACKE=1), and transmission error (TXERR=1). It is also cleared by CECEN=0. It is not cleared and transmission is automatically retried in case of arbitration lost (ARBLST=1). TXSOM can be also used as a status bit informing application whether any transmission request is pending or under execution. The application can abort a transmission request at any time by clearing the CECEN bit. Note: TXSOM must be set when CECEN=1 TXSOM must be set when transmission data is available into TXDR HEADERs first four bits containing own peripheral address are taken from TXDR[7:4], not from CEC_CFGR.OAR which is used only for reception 1 1 TXEOM Tx End Of Message The TXEOM bit is set by software to command transmission of the last byte of a CEC message. TXEOM is cleared by hardware at the same time and under the same conditions as for TXSOM. Note: TXEOM must be set when CECEN=1 TXEOM must be set before writing transmission data to TXDR If TXEOM is set when TXSOM=0, transmitted message will consist of 1 byte (HEADER) only (PING message) 2 1 CFGR CFGR This register is used to configure the HDMI-CEC controller. It is mandatory to write CEC_CFGR only when CECEN=0. 0x4 0x20 read-write 0x00000000 SFT Signal Free Time SFT bits are set by software. In the SFT=0x0 configuration the number of nominal data bit periods waited before transmission is ruled by hardware according to the transmission history. In all the other configurations the SFT number is determined by software. * 0x0 ** 2.5 Data-Bit periods if CEC is the last bus initiator with unsuccessful transmission (ARBLST=1, TXERR=1, TXUDR=1 or TXACKE= 1) ** 4 Data-Bit periods if CEC is the new bus initiator ** 6 Data-Bit periods if CEC is the last bus initiator with successful transmission (TXEOM=1) * 0x1: 0.5 nominal data bit periods * 0x2: 1.5 nominal data bit periods * 0x3: 2.5 nominal data bit periods * 0x4: 3.5 nominal data bit periods * 0x5: 4.5 nominal data bit periods * 0x6: 5.5 nominal data bit periods * 0x7: 6.5 nominal data bit periods 0 3 0 7 RXTOL Rx-Tolerance The RXTOL bit is set and cleared by software. ** Start-Bit, +/- 200 s rise, +/- 200 s fall. ** Data-Bit: +/- 200 s rise. +/- 350 s fall. ** Start-Bit: +/- 400 s rise, +/- 400 s fall ** Data-Bit: +/-300 s rise, +/- 500 s fall 3 1 BRESTP Rx-Stop on Bit Rising Error The BRESTP bit is set and cleared by software. 4 1 BREGEN Generate Error-Bit on Bit Rising Error The BREGEN bit is set and cleared by software. Note: If BRDNOGEN=0, an Error-bit is generated upon BRE detection with BRESTP=1 in broadcast even if BREGEN=0 5 1 LBPEGEN Generate Error-Bit on Long Bit Period Error The LBPEGEN bit is set and cleared by software. Note: If BRDNOGEN=0, an Error-bit is generated upon LBPE detection in broadcast even if LBPEGEN=0 6 1 BRDNOGEN Avoid Error-Bit Generation in Broadcast The BRDNOGEN bit is set and cleared by software. 7 1 SFTOPT SFT Option Bit The SFTOPT bit is set and cleared by software. 8 1 OAR Own addresses configuration The OAR bits are set by software to select which destination logical addresses has to be considered in receive mode. Each bit, when set, enables the CEC logical address identified by the given bit position. At the end of HEADER reception, the received destination address is compared with the enabled addresses. In case of matching address, the incoming message is acknowledged and received. In case of non-matching address, the incoming message is received only in listen mode (LSTN=1), but without acknowledge sent. Broadcast messages are always received. Example: OAR = 0b000 0000 0010 0001 means that CEC acknowledges addresses 0x0 and 0x5. Consequently, each message directed to one of these addresses is received. 16 15 0 32767 LSTN Listen mode LSTN bit is set and cleared by software. 31 1 TXDR TXDR CEC Tx data register 0x8 0x20 write-only 0x00000000 TXD Tx Data register. TXD is a write-only register containing the data byte to be transmitted. Note: TXD must be written when TXSTART=1 0 8 0 255 RXDR RXDR CEC Rx Data Register 0xC 0x20 read-only 0x00000000 RXD Rx Data register. RXD is read-only and contains the last data byte which has been received from the CEC line. 0 8 ISR ISR CEC Interrupt and Status Register 0x10 0x20 read-write 0x00000000 RXBR Rx-Byte Received The RXBR bit is set by hardware to inform application that a new byte has been received from the CEC line and stored into the RXD buffer. RXBR is cleared by software write at 1. 0 1 RXEND End Of Reception RXEND is set by hardware to inform application that the last byte of a CEC message is received from the CEC line and stored into the RXD buffer. RXEND is set at the same time of RXBR. RXEND is cleared by software write at 1. 1 1 RXOVR Rx-Overrun RXOVR is set by hardware if RXBR is not yet cleared at the time a new byte is received on the CEC line and stored into RXD. RXOVR assertion stops message reception so that no acknowledge is sent. In case of broadcast, a negative acknowledge is sent. RXOVR is cleared by software write at 1. 2 1 BRE Rx-Bit Rising Error BRE is set by hardware in case a Data-Bit waveform is detected with Bit Rising Error. BRE is set either at the time the misplaced rising edge occurs, or at the end of the maximum BRE tolerance allowed by RXTOL, in case rising edge is still longing. BRE stops message reception if BRESTP=1. BRE generates an Error-Bit on the CEC line if BREGEN=1. BRE is cleared by software write at 1. 3 1 SBPE Rx-Short Bit Period Error SBPE is set by hardware in case a Data-Bit waveform is detected with Short Bit Period Error. SBPE is set at the time the anticipated falling edge occurs. SBPE generates an Error-Bit on the CEC line. SBPE is cleared by software write at 1. 4 1 LBPE Rx-Long Bit Period Error LBPE is set by hardware in case a Data-Bit waveform is detected with Long Bit Period Error. LBPE is set at the end of the maximum bit-extension tolerance allowed by RXTOL, in case falling edge is still longing. LBPE always stops reception of the CEC message. LBPE generates an Error-Bit on the CEC line if LBPEGEN=1. In case of broadcast, Error-Bit is generated even in case of LBPEGEN=0. LBPE is cleared by software write at 1. 5 1 RXACKE Rx-Missing Acknowledge In receive mode, RXACKE is set by hardware to inform application that no acknowledge was seen on the CEC line. RXACKE applies only for broadcast messages and in listen mode also for not directly addressed messages (destination address not enabled in OAR). RXACKE aborts message reception. RXACKE is cleared by software write at 1. 6 1 ARBLST Arbitration Lost ARBLST is set by hardware to inform application that CEC device is switching to reception due to arbitration lost event following the TXSOM command. ARBLST can be due either to a contending CEC device starting earlier or starting at the same time but with higher HEADER priority. After ARBLST assertion TXSOM bit keeps pending for next transmission attempt. ARBLST is cleared by software write at 1. 7 1 TXBR Tx-Byte Request TXBR is set by hardware to inform application that the next transmission data has to be written to TXDR. TXBR is set when the 4th bit of currently transmitted byte is sent. Application must write the next byte to TXDR within 6 nominal data-bit periods before transmission underrun error occurs (TXUDR). TXBR is cleared by software write at 1. 8 1 TXEND End of Transmission TXEND is set by hardware to inform application that the last byte of the CEC message has been successfully transmitted. TXEND clears the TXSOM and TXEOM control bits. TXEND is cleared by software write at 1. 9 1 TXUDR Tx-Buffer Underrun In transmission mode, TXUDR is set by hardware if application was not in time to load TXDR before of next byte transmission. TXUDR aborts message transmission and clears TXSOM and TXEOM control bits. TXUDR is cleared by software write at 1 10 1 TXERR Tx-Error In transmission mode, TXERR is set by hardware if the CEC initiator detects low impedance on the CEC line while it is released. TXERR aborts message transmission and clears TXSOM and TXEOM controls. TXERR is cleared by software write at 1. 11 1 TXACKE Tx-Missing Acknowledge Error In transmission mode, TXACKE is set by hardware to inform application that no acknowledge was received. In case of broadcast transmission, TXACKE informs application that a negative acknowledge was received. TXACKE aborts message transmission and clears TXSOM and TXEOM controls. TXACKE is cleared by software write at 1. 12 1 IER IER CEC interrupt enable register 0x14 0x20 read-write 0x00000000 RXBRIE Rx-Byte Received Interrupt Enable The RXBRIE bit is set and cleared by software. 0 1 RXENDIE End Of Reception Interrupt Enable The RXENDIE bit is set and cleared by software. 1 1 RXOVRIE Rx-Buffer Overrun Interrupt Enable The RXOVRIE bit is set and cleared by software. 2 1 BREIE Bit Rising Error Interrupt Enable The BREIE bit is set and cleared by software. 3 1 SBPEIE Short Bit Period Error Interrupt Enable The SBPEIE bit is set and cleared by software. 4 1 LBPEIE Long Bit Period Error Interrupt Enable The LBPEIE bit is set and cleared by software. 5 1 RXACKIE Rx-Missing Acknowledge Error Interrupt Enable The RXACKIE bit is set and cleared by software. 6 1 ARBLSTIE Arbitration Lost Interrupt Enable The ARBLSTIE bit is set and cleared by software. 7 1 TXBRIE Tx-Byte Request Interrupt Enable The TXBRIE bit is set and cleared by software. 8 1 TXENDIE Tx-End Of Message Interrupt Enable The TXENDIE bit is set and cleared by software. 9 1 TXUDRIE Tx-Underrun Interrupt Enable The TXUDRIE bit is set and cleared by software. 10 1 TXERRIE Tx-Error Interrupt Enable The TXERRIE bit is set and cleared by software. 11 1 TXACKIE Tx-Missing Acknowledge Error Interrupt Enable The TXACKEIE bit is set and cleared by software. 12 1 COMP1 COMP1 COMP 0x58003800 0x0 0x400 registers COMP COMP1 and COMP2 global interrupt 137 SR SR Comparator status register 0x0 0x20 read-only 0x00000000 C1VAL COMP channel 1 output status bit 0 1 C2VAL COMP channel 2 output status bit 1 1 C1IF COMP channel 1 Interrupt Flag 16 1 C2IF COMP channel 2 Interrupt Flag 17 1 ICFR ICFR Comparator interrupt clear flag register 0x4 0x20 write-only 0x00000000 CC1IF Clear COMP channel 1 Interrupt Flag 16 1 CC2IF Clear COMP channel 2 Interrupt Flag 17 1 OR OR Comparator option register 0x8 0x20 read-write 0x00000000 AFOP Selection of source for alternate function of output ports 0 11 OR Option Register 11 21 CFGR1 CFGR1 Comparator configuration register 1 0xC 0x20 read-write 0x00000000 EN COMP channel 1 enable bit 0 1 BRGEN Scaler bridge enable 1 1 SCALEN Voltage scaler enable bit 2 1 POLARITY COMP channel 1 polarity selection bit 3 1 ITEN COMP channel 1 interrupt enable 6 1 HYST COMP channel 1 hysteresis selection bits 8 2 PWRMODE Power Mode of the COMP channel 1 12 2 INMSEL COMP channel 1 inverting input selection field 16 3 INPSEL COMP channel 1 non-inverting input selection bit 20 1 BLANKING COMP channel 1 blanking source selection bits 24 4 LOCK Lock bit 31 1 CFGR2 CFGR2 Comparator configuration register 2 0x10 0x20 read-write 0x00000000 EN COMP channel 1 enable bit 0 1 BRGEN Scaler bridge enable 1 1 SCALEN Voltage scaler enable bit 2 1 POLARITY COMP channel 1 polarity selection bit 3 1 WINMODE Window comparator mode selection bit 4 1 ITEN COMP channel 1 interrupt enable 6 1 HYST COMP channel 1 hysteresis selection bits 8 2 PWRMODE Power Mode of the COMP channel 1 12 2 INMSEL COMP channel 1 inverting input selection field 16 3 INPSEL COMP channel 1 non-inverting input selection bit 20 1 BLANKING COMP channel 1 blanking source selection bits 24 4 LOCK Lock bit 31 1 CORDIC CORDIC register block CORDIC 0x48024400 0x0 0x100 registers CORDIC_IT CORDIC interrupt 154 CSR CSR CORDIC control/status register 0x0 0x20 0x00000050 0xFFFFFFFF FUNC Function 0 4 read-write FUNC Cosine Cosine function 0 Sine Sine function 1 Phase Phase function 2 Modulus Modulus function 3 Arctangent Arctangent function 4 HyperbolicCosine Hyperbolic Cosine function 5 HyperbolicSine Hyperbolic Sine function 6 Arctanh Arctanh function 7 NaturalLogarithm Natural Logarithm function 8 SquareRoot Square Root function 9 PRECISION Precision required (number of iterations) To determine the number of iterations needed for a given accuracy refer to . Note that for most functions, the recommended range for this field is 3 to 6. 4 4 read-write PRECISION Iters4 4 iterations 1 Iters8 8 iterations 2 Iters12 12 iterations 3 Iters16 16 iterations 4 Iters20 20 iterations 5 Iters24 24 iterations 6 Iters28 28 iterations 7 Iters32 32 iterations 8 Iters36 36 iterations 9 Iters40 40 iterations 10 Iters44 44 iterations 11 Iters48 48 iterations 12 Iters52 52 iterations 13 Iters56 56 iterations 14 Iters60 60 iterations 15 SCALE Scaling factor The value of this field indicates the scaling factor applied to the arguments and/or results. A value n implies that the arguments have been multiplied by a factor 2-n, and/or the results need to be multiplied by 2n. Refer to for the applicability of the scaling factor for each function and the appropriate range. 8 3 read-write 0 7 IEN Enable interrupt. This bit is set and cleared by software. A read returns the current state of the bit. 16 1 read-write IEN Disabled Disable interrupt request generation 0 Enabled Enable interrupt request generation 1 DMAREN Enable DMA read channel This bit is set and cleared by software. A read returns the current state of the bit. 17 1 read-write DMAREN Disabled No DMA channel reads are generated 0 Enabled Read requests are generated on the DMA channel when RRDY flag is set 1 DMAWEN Enable DMA write channel This bit is set and cleared by software. A read returns the current state of the bit. 18 1 read-write DMAWEN Disabled No DMA channel writes are generated 0 Enabled Write requests are generated on the DMA channel when no operation is pending 1 NRES Number of results in the CORDIC_RDATA register Reads return the current state of the bit. 19 1 read-write NRES Num1 Only single result value will be returned. After a single read RRDY will be automatically cleared 0 Num2 Two return reads need to be performed. After two reads RRDY will be automatically cleared 1 NARGS Number of arguments expected by the CORDIC_WDATA register Reads return the current state of the bit. 20 1 read-write NARGS Num1 Only single argument write is needed for next calculation 0 Num2 Two argument writes need to be performed for next calculation 1 RESSIZE Width of output data RESSIZE selects the number of bits used to represent output data. If 32-bit data is selected, the CORDIC_RDATA register contains results in q1.31 format. If 16-bit data is selected, the least significant half-word of CORDIC_RDATA contains the primary result (RES1) in q1.15 format, and the most significant half-word contains the secondary result (RES2), also in q1.15 format. 21 1 read-write RESSIZE Bits32 Use 32 bit output values 0 Bits16 Use 16 bit output values 1 ARGSIZE Width of input data ARGSIZE selects the number of bits used to represent input data. If 32-bit data is selected, the CORDIC_WDATA register expects arguments in q1.31 format. If 16-bit data is selected, the CORDIC_WDATA register expects arguments in q1.15 format. The primary argument (ARG1) is written to the least significant half-word, and the secondary argument (ARG2) to the most significant half-word. 22 1 read-write ARGSIZE Bits32 Use 32 bit input values 0 Bits16 Use 16 bit input values 1 RRDY Result ready flag This bit is set by hardware when a CORDIC operation completes. It is reset by hardware when the CORDIC_RDATA register is read (NRES+1) times. When this bit is set, if the IEN bit is also set, the CORDIC interrupt is asserted. If the DMAREN bit is set, a DMA read channel request is generated. While this bit is set, no new calculation is started. 31 1 read-only RRDYR NotReady Results from computation are not read 0 Ready Results are ready, this flag will be automatically cleared once value is read 1 WDATA WDATA CORDIC argument register 0x4 0x20 0x00000000 0x00000000 ARG Function input arguments This register is programmed with the input arguments for the function selected in the CORDIC_CSR register FUNC field. If 32-bit format is selected (CORDIC_CSR.ARGSIZE = 0) and two input arguments are required (CORDIC_CSR.NARGS = 1), two successive writes are required to this register. The first writes the primary argument (ARG1), the second writes the secondary argument (ARG2). If 32-bit format is selected and only one input argument is required (NARGS = 0), only one write is required to this register, containing the primary argument (ARG1). If 16-bit format is selected (CORDIC_CSR.ARGSIZE = 1), one write to this register contains both arguments. The primary argument (ARG1) is in the lower half, ARG[15:0], and the secondary argument (ARG2) is in the upper half, ARG[31:16]. In this case, NARGS must be set to 0. Refer to for the arguments required by each function, and their permitted range. When the required number of arguments has been written, the CORDIC evaluates the function designated by CORDIC_CSR.FUNC using the supplied input arguments, provided any previous calculation has completed. If a calculation is ongoing, the ARG1 and ARG 2 values are held pending until the calculation is completed and the results read. During this time, a write to the register cancels the pending operation and overwrite the argument data. 0 32 write-only 0 4294967295 RDATA RDATA CORDIC result register 0x8 0x20 0x00000000 0xFFFFFFFF RES Function result If 32-bit format is selected (CORDIC_CSR.RESSIZE = 0) and two output values are expected (CORDIC_CSR.NRES = 1), this register must be read twice when the RRDY flag is set. The first read fetches the primary result (RES1). The second read fetches the secondary result (RES2) and resets RRDY. If 32-bit format is selected and only one output value is expected (NRES = 0), only one read of this register is required to fetch the primary result (RES1) and reset the RRDY flag. If 16-bit format is selected (CORDIC_CSR.RESSIZE = 1), this register contains the primary result (RES1) in the lower half, RES[15:0], and the secondary result (RES2) in the upper half, RES[31:16]. In this case, NRES must be set to 0, and only one read performed. A read from this register resets the RRDY flag in the CORDIC_CSR register. 0 32 read-only 0 4294967295 CRC Cryptographic processor CRC 0x58024C00 0x0 0x400 registers DR DR Data register 0x0 0x20 read-write 0xFFFFFFFF DR Data Register 0 32 0 4294967295 DR8 Data register - byte sized DR 0x0 0x8 read-write 0x000000FF DR8 Data register bits 0 8 0 255 DR16 Data register - half-word sized DR 0x0 0x10 read-write 0x0000FFFF DR16 Data register bits 0 16 0 65535 IDR IDR Independent Data register 0x4 0x20 read-write 0x00000000 IDR Independent Data register 0 32 0 4294967295 CR CR Control register 0x8 0x20 0x00000000 RESET RESET bit 0 1 write-only RESETW Reset Resets the CRC calculation unit and sets the data register to 0xFFFF FFFF 1 POLYSIZE Polynomial size 3 2 read-write POLYSIZE Polysize32 32-bit polynomial 0 Polysize16 16-bit polynomial 1 Polysize8 8-bit polynomial 2 Polysize7 7-bit polynomial 3 REV_IN Reverse input data 5 2 read-write REV_IN Normal Bit order not affected 0 Byte Bit reversal done by byte 1 HalfWord Bit reversal done by half-word 2 Word Bit reversal done by word 3 REV_OUT Reverse output data 7 1 read-write REV_OUT Normal Bit order not affected 0 Reversed Bit reversed output 1 INIT INIT Initial CRC value 0x10 0x20 read-write 0x00000000 INIT Programmable initial CRC value 0 32 0 4294967295 POL POL CRC polynomial 0x14 0x20 read-write 0x04C11DB7 POL Programmable polynomial 0 32 0 4294967295 CRS Clock Recovery System CRS 0x40008400 0x0 0x400 registers CRS Clock Recovery System global interrupt 144 CR CR CRS control register 0x0 0x20 0x00002000 SYNCOKIE SYNC event OK interrupt enable 0 1 read-write SYNCOKIE Disabled Interrupt disabled 0 Enabled Interrupt enabled 1 SYNCWARNIE SYNC warning interrupt enable 1 1 read-write ERRIE Synchronization or trimming error interrupt enable 2 1 read-write ESYNCIE Expected SYNC interrupt enable 3 1 read-write CEN 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. 5 1 read-write CEN Disabled Frequency error counter disabled 0 Enabled Frequency error counter enabled 1 AUTOTRIMEN 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 Section7.3.4: Frequency error evaluation and automatic trimming for more details. 6 1 read-write AUTOTRIMEN Disabled Automatic trimming disabled 0 Enabled Automatic trimming enabled 1 SWSYNC Generate software SYNC event This bit is set by software in order to generate a software SYNC event. It is automatically cleared by hardware. 7 1 read-only SWSYNC Sync A software sync is generated 1 TRIM 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. The default value is 32, which corresponds to the middle of the trimming interval. The trimming step is around 67 kHz between two consecutive TRIM steps. 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. 8 6 read-write 0 63 CFGR CFGR This register can be written only when the frequency error counter is disabled (CEN bit is cleared in CRS_CR). When the counter is enabled, this register is write-protected. 0x4 0x20 read-write 0x2022BB7F RELOAD Counter reload value RELOAD is the value to be loaded in the frequency error counter with each SYNC event. Refer to Section7.3.3: Frequency error measurement for more details about counter behavior. 0 16 0 65535 FELIM 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 Section7.3.4: Frequency error evaluation and automatic trimming for more details about FECAP evaluation. 16 8 0 255 SYNCDIV SYNC divider These bits are set and cleared by software to control the division factor of the SYNC signal. 24 3 SYNCDIV Div1 SYNC not divided 0 Div2 SYNC divided by 2 1 Div4 SYNC divided by 4 2 Div8 SYNC divided by 8 3 Div16 SYNC divided by 16 4 Div32 SYNC divided by 32 5 Div64 SYNC divided by 64 6 Div128 SYNC divided by 128 7 SYNCSRC SYNC signal source selection These bits are set and cleared by software to select the SYNC signal source. Note: When using USB LPM (Link Power Management) and the device is in Sleep mode, the periodic USB SOF will not be generated by the host. No SYNC signal will therefore be provided to the CRS to calibrate the HSI48 on the run. To guarantee the required clock precision after waking up from Sleep mode, the LSE or reference clock on the GPIOs should be used as SYNC signal. 28 2 SYNCSRC GPIO_AF GPIO AF (crs_sync_in_1) selected as SYNC signal source 0 LSE LSE (crs_sync_in_2) selected as SYNC signal source 1 USB_SOF USB SOF (crs_sync_in_3) selected as SYNC signal source 2 SYNCPOL SYNC polarity selection This bit is set and cleared by software to select the input polarity for the SYNC signal source. 31 1 SYNCPOL RisingEdge SYNC active on rising edge 0 FallingEdge SYNC active on falling edge 1 ISR ISR CRS interrupt and status register 0x8 0x20 read-only 0x00000000 SYNCOKF 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. 0 1 SYNCOKF NotSignaled Signal not set 0 Signaled Signal set 1 SYNCWARNF 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. 1 1 ERRF 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. 2 1 ESYNCF 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. 3 1 SYNCERR 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 should 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. 8 1 SYNCMISS 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 should 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. 9 1 TRIMOVF 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. 10 1 FEDIR 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. 15 1 FEDIR UpCounting Error in up-counting direction 0 DownCounting Error in down-counting direction 1 FECAP Frequency error capture FECAP is the frequency error counter value latched in the time of the last SYNC event. Refer to Section7.3.4: Frequency error evaluation and automatic trimming for more details about FECAP usage. 16 16 0 65535 ICR ICR CRS interrupt flag clear register 0xC 0x20 read-write 0x00000000 SYNCOKC SYNC event OK clear flag Writing 1 to this bit clears the SYNCOKF flag in the CRS_ISR register. 0 1 SYNCOKC Clear Clear flag 1 SYNCWARNC SYNC warning clear flag Writing 1 to this bit clears the SYNCWARNF flag in the CRS_ISR register. 1 1 ERRC 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. 2 1 ESYNCC Expected SYNC clear flag Writing 1 to this bit clears the ESYNCF flag in the CRS_ISR register. 3 1 CRYP Cryptographic processor CRYP 0x48021000 0x0 0x400 registers CRYP Crypto global interrupt 79 CR CR control register 0x0 0x20 0x00000000 ALGODIR Algorithm direction 2 1 read-write ALGOMODE0 Algorithm mode 3 3 read-write DATATYPE Data type selection 6 2 read-write KEYSIZE Key size selection (AES mode only) 8 2 read-write FFLUSH FIFO flush 14 1 write-only CRYPEN Cryptographic processor enable 15 1 read-write GCM_CCMPH GCM_CCMPH 16 2 read-write ALGOMODE3 ALGOMODE 19 1 read-write SR SR status register 0x4 0x20 read-only 0x00000003 BUSY Busy bit 4 1 OFFU Output FIFO full 3 1 OFNE Output FIFO not empty 2 1 IFNF Input FIFO not full 1 1 IFEM Input FIFO empty 0 1 DIN DIN data input register 0x8 0x20 read-write 0x00000000 DATAIN Data input 0 32 DOUT DOUT data output register 0xC 0x20 read-only 0x00000000 DATAOUT Data output 0 32 DMACR DMACR DMA control register 0x10 0x20 read-write 0x00000000 DOEN DMA output enable 1 1 DIEN DMA input enable 0 1 IMSCR IMSCR interrupt mask set/clear register 0x14 0x20 read-write 0x00000000 OUTIM Output FIFO service interrupt mask 1 1 INIM Input FIFO service interrupt mask 0 1 RISR RISR raw interrupt status register 0x18 0x20 read-only 0x00000001 OUTRIS Output FIFO service raw interrupt status 1 1 INRIS Input FIFO service raw interrupt status 0 1 MISR MISR masked interrupt status register 0x1C 0x20 read-only 0x00000000 OUTMIS Output FIFO service masked interrupt status 1 1 INMIS Input FIFO service masked interrupt status 0 1 K0LR K0LR key registers 0x20 0x20 write-only 0x00000000 k2 k224 0 32 K0RR K0RR key registers 0x24 0x20 write-only 0x00000000 k k192 0 32 K1LR K1LR key registers 0x28 0x20 write-only 0x00000000 k1 k160 0 32 K1RR K1RR key registers 0x2C 0x20 write-only 0x00000000 k1 k128 0 32 K2LR K2LR key registers 0x30 0x20 write-only 0x00000000 k k96 0 31 b121 b121 25 1 K2RR K2RR key registers 0x34 0x20 write-only 0x00000000 k k64 0 32 K3LR K3LR key registers 0x38 0x20 write-only 0x00000000 k k32 0 32 K3RR K3RR key registers 0x3C 0x20 write-only 0x00000000 k k0 0 32 IV0LR IV0LR Initialization vector register 0L 0x40 0x20 read-write 0x00000000 IV IV31 0 32 IV0RR IV0RR initialization vector register 0R 0x44 0x20 read-write 0x00000000 IV IV63 0 32 IV1LR IV1LR Initialization vector register 1L 0x48 0x20 read-write 0x00000000 IV IV95 0 32 IV1RR IV1RR Initialization vector register 1R 0x4C 0x20 read-write 0x00000000 IV IV127 0 32 CSGCMCCM0R CSGCMCCM0R context swap register 0x50 0x20 read-write 0x00000000 CSGCMCCM0R CSGCMCCM0R 0 32 CSGCMCCM1R CSGCMCCM1R context swap register 0x54 0x20 read-write 0x00000000 CSGCMCCM1R CSGCMCCM1R 0 32 CSGCMCCM2R CSGCMCCM2R context swap register 0x58 0x20 read-write 0x00000000 CSGCMCCM2R CSGCMCCM2R 0 32 CSGCMCCM3R CSGCMCCM3R context swap register 0x5C 0x20 read-write 0x00000000 CSGCMCCM3R CSGCMCCM3R 0 32 CSGCMCCM4R CSGCMCCM4R context swap register 0x60 0x20 read-write 0x00000000 CSGCMCCM4R CSGCMCCM4R 0 32 CSGCMCCM5R CSGCMCCM5R context swap register 0x64 0x20 read-write 0x00000000 CSGCMCCM5R CSGCMCCM5R 0 32 CSGCMCCM6R CSGCMCCM6R context swap register 0x68 0x20 read-write 0x00000000 CSGCMCCM6R CSGCMCCM6R 0 32 CSGCMCCM7R CSGCMCCM7R context swap register 0x6C 0x20 read-write 0x00000000 CSGCMCCM7R CSGCMCCM7R 0 32 CSGCM0R CSGCM0R context swap register 0x70 0x20 read-write 0x00000000 CSGCM0R CSGCM0R 0 32 CSGCM1R CSGCM1R context swap register 0x74 0x20 read-write 0x00000000 CSGCM1R CSGCM1R 0 32 CSGCM2R CSGCM2R context swap register 0x78 0x20 read-write 0x00000000 CSGCM2R CSGCM2R 0 32 CSGCM3R CSGCM3R context swap register 0x7C 0x20 read-write 0x00000000 CSGCM3R CSGCM3R 0 32 CSGCM4R CSGCM4R context swap register 0x80 0x20 read-write 0x00000000 CSGCM4R CSGCM4R 0 32 CSGCM5R CSGCM5R context swap register 0x84 0x20 read-write 0x00000000 CSGCM5R CSGCM5R 0 32 CSGCM6R CSGCM6R context swap register 0x88 0x20 read-write 0x00000000 CSGCM6R CSGCM6R 0 32 CSGCM7R CSGCM7R context swap register 0x8C 0x20 read-write 0x00000000 CSGCM7R CSGCM7R 0 32 DAC DAC DAC 0x40007400 0x0 0x400 registers CR CR DAC control register 0x0 0x20 read-write 0x00000000 2 0x10 1-2 EN%s DAC channel%s enable 0 1 EN1 Disabled DAC Channel X disabled 0 Enabled DAC Channel X enabled 1 2 0x10 1-2 TEN%s DAC channel%s trigger enable 1 1 TEN1 Disabled DAC Channel X trigger disabled 0 Enabled DAC Channel X trigger enabled 1 TSEL1 DAC channel1 trigger selection These bits select the external event used to trigger DAC channel1. Note: Only used if bit TEN1 = 1 (DAC channel1 trigger enabled). 2 4 TSEL1 Swtrig Software trigger 0 Tim1Trgo Timer 1 TRGO event 1 Tim2Trgo Timer 2 TRGO event 2 Tim4Trgo Timer 4 TRGO event 3 Tim5Trgo Timer 5 TRGO event 4 Tim6Trgo Timer 6 TRGO event 5 Tim7Trgo Timer 7 TRGO event 6 Tim8Trgo Timer 8 TRGO event 7 Tim15Trgo Timer 15 TRGO event 8 Lptim1Out LPTIM1 OUT event 11 Lptim2Out LPTIM2 OUT event 12 Exti9 EXTI line 9 13 Tim23Trgo Timer 23 TRGO event 14 Tim24Trgo Timer 24 TRGO event 15 2 0x10 1-2 WAVE%s DAC channel%s noise/triangle wave generation enable 6 2 WAVE1 Disabled Wave generation disabled 0 Noise Noise wave generation enabled 1 Triangle Triangle wave generation enabled true 2 0x10 1-2 MAMP%s DAC channel%s mask/amplitude selector 8 4 MAMP1 Amp1 Unmask bit0 of LFSR/ triangle amplitude equal to 1 0 Amp3 Unmask bits[1:0] of LFSR/ triangle amplitude equal to 3 1 Amp7 Unmask bits[2:0] of LFSR/ triangle amplitude equal to 7 2 Amp15 Unmask bits[3:0] of LFSR/ triangle amplitude equal to 15 3 Amp31 Unmask bits[4:0] of LFSR/ triangle amplitude equal to 31 4 Amp63 Unmask bits[5:0] of LFSR/ triangle amplitude equal 63 5 Amp127 Unmask bits[6:0] of LFSR/ triangle amplitude equal to 127 6 Amp255 Unmask bits[7:0] of LFSR/ triangle amplitude equal to 255 7 Amp511 Unmask bits[8:0] of LFSR/ triangle amplitude equal to 511 8 Amp1023 Unmask bits[9:0] of LFSR/ triangle amplitude equal to 1023 9 Amp2047 Unmask bits[10:0] of LFSR/ triangle amplitude equal to 2047 10 Amp4095 Unmask bits[11:0] of LFSR/ triangle amplitude equal to 4095 true 2 0x10 1-2 DMAEN%s DAC channel%s DMA enable 12 1 DMAEN1 Disabled DAC Channel X DMA mode disabled 0 Enabled DAC Channel X DMA mode enabled 1 2 0x10 1-2 DMAUDRIE%s DAC channel%s DMA Underrun Interrupt enable 13 1 DMAUDRIE1 Disabled DAC channel X DMA Underrun Interrupt disabled 0 Enabled DAC channel X DMA Underrun Interrupt enabled 1 2 0x10 1-2 CEN%s DAC channel%s calibration enable 14 1 CEN1 Normal DAC Channel X Normal operating mode 0 Calibration DAC Channel X calibration mode 1 TSEL2 DAC channel2 trigger selection These bits select the external event used to trigger DAC channel2 Note: Only used if bit TEN2 = 1 (DAC channel2 trigger enabled). 18 4 SWTRGR SWTRGR DAC software trigger register 0x4 0x20 write-only 0x00000000 2 0x1 1-2 SWTRIG%s DAC channel%s software trigger 0 1 SWTRIG1 NoTrigger No trigger 0 Trigger Trigger 1 2 0xC 1-2 DHR12R%s DHR12R%s channel%s 12-bit right-aligned data holding register 0x8 0x20 read-write 0x00000000 DACCDHR DAC channel1 12-bit right-aligned data These bits are written by software which specifies 12-bit data for DAC channel1. 0 12 0 4095 2 0xC 1-2 DHR12L%s DHR12L%s channel%s 12-bit left aligned data holding register 0xC 0x20 read-write 0x00000000 DACCDHR DAC channel1 12-bit left-aligned data These bits are written by software which specifies 12-bit data for DAC channel1. 4 12 0 4095 2 0xC 1-2 DHR8R%s DHR8R%s channel%s 8-bit right aligned data holding register 0x10 0x20 read-write 0x00000000 DACCDHR DAC channel1 8-bit right-aligned data These bits are written by software which specifies 8-bit data for DAC channel1. 0 8 0 255 DHR12RD DHR12RD Dual DAC 12-bit right-aligned data holding register 0x20 0x20 read-write 0x00000000 2 0x10 1-2 DACC%sDHR DAC channel%s 12-bit right-aligned data 0 12 0 4095 DHR12LD DHR12LD DUAL DAC 12-bit left aligned data holding register 0x24 0x20 read-write 0x00000000 2 0x10 1-2 DACC%sDHR DAC channel%s 12-bit left-aligned data 4 12 0 4095 DHR8RD DHR8RD DUAL DAC 8-bit right aligned data holding register 0x28 0x20 read-write 0x00000000 2 0x8 1-2 DACC%sDHR DAC channel%s 8-bit right-aligned data 0 8 0 255 2 0x4 1-2 DOR%s DOR%s channel%s data output register 0x2C 0x20 read-only 0x00000000 DACCDOR DAC channel1 data output These bits are read-only, they contain data output for DAC channel1. 0 12 0 4095 SR SR DAC status register 0x34 0x20 0x00000000 2 0x10 1-2 DMAUDR%s DAC channel%s DMA underrun flag 13 1 read-write DMAUDR1 NoUnderrun No DMA underrun error condition occurred for DAC channel x 0 Underrun DMA underrun error condition occurred for DAC channel x (the currently selected trigger is driving DAC channel1 conversion at a frequency higher than the DMA service capability rate) 1 2 0x10 1-2 CAL_FLAG%s DAC channel%s calibration offset status 14 1 read-only CAL_FLAG1 Lower Calibration trimming value is lower than the offset correction value 0 Equal_Higher Calibration trimming value is equal or greater than the offset correction value 1 2 0x10 1-2 BWST%s DAC channel%s busy writing sample time flag 15 1 read-only BWST1 Idle There is no write operation of DAC_SHSR1 ongoing: DAC_SHSR1 can be written 0 Busy There is a write operation of DAC_SHSR1 ongoing: DAC_SHSR1 cannot be written 1 CCR CCR DAC calibration control register 0x38 0x20 read-write 0x00000000 2 0x10 1-2 OTRIM%s DAC channel%s offset trimming value 0 5 0 31 MCR MCR DAC mode control register 0x3C 0x20 read-write 0x00000000 2 0x10 1-2 MODE%s DAC channel%s mode 0 3 MODE1 NormalPinBuffer Normal mode - DAC channelx is connected to external pin with Buffer enabled 0 NormalPinChipBuffer Normal mode - DAC channelx is connected to external pin and to on chip peripherals with Buffer enabled 1 NormalPinNoBuffer Normal mode - DAC channelx is connected to external pin with Buffer disabled 2 NormalChipNoBuffer Normal mode - DAC channelx is connected to on chip peripherals with Buffer disabled 3 SHPinBuffer S&H mode - DAC channelx is connected to external pin with Buffer enabled 4 SHPinChipBuffer S&H mode - DAC channelx is connected to external pin and to on chip peripherals with Buffer enabled 5 SHPinNoBuffer S&H mode - DAC channelx is connected to external pin and to on chip peripherals with Buffer disabled 6 SHChipNoBuffer S&H mode - DAC channelx is connected to on chip peripherals with Buffer disabled 7 2 0x4 1-2 SHSR%s SHSR%s DAC channel%s sample and hold sample time register 0x40 0x20 read-write 0x00000000 TSAMPLE DAC Channel 1 sample Time (only valid in sample & 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 BWSTx of DAC_SR register is low, If BWSTx=1, the write operation is ignored. 0 10 0 1023 SHHR SHHR DAC Sample and Hold hold time register 0x48 0x20 read-write 0x00010001 2 0x10 1-2 THOLD%s DAC channel%s hold time (only valid in Sample and hold mode) 0 10 0 1023 SHRR SHRR DAC Sample and Hold refresh time register 0x4C 0x20 read-write 0x00010001 2 0x10 1-2 TREFRESH%s DAC channel%s refresh time (only valid in Sample and hold mode) 0 8 0 255 DBGMCU Microcontroller Debug Unit DBGMCU 0x5C001000 0x0 0x400 registers IDC IDC DBGMCU Identity Code Register 0x0 0x20 read-only 0x10006450 DEV_ID Device ID 0 12 REV_ID Revision 16 16 CR CR DBGMCU Configuration Register 0x4 0x20 read-write 0x00000000 DBGSLEEP_D1 Allow D1 domain debug in Sleep mode 0 1 DBGSTOP_D1 Allow D1 domain debug in Stop mode 1 1 DBGSTBY_D1 Allow D1 domain debug in Standby mode 2 1 DBGSLPD2 Allow D2 domain debug in Sleep mode 3 1 DBGSTPD2 Allow D2 domain debug in Stop mode 4 1 DBGSTBD2 Allow D2 domain debug in Standby mode 5 1 DBGSTPD3 Allow debug in D3 Stop mode 7 1 DBGSTBD3 Allow debug in D3 Standby mode 8 1 TRACECLKEN Trace port clock enable 20 1 D1DBGCKEN D1 debug clock enable 21 1 D3DBGCKEN D3 debug clock enable 22 1 TRGOEN External trigger output enable 28 1 APB3FZ1 APB3FZ1 DBGMCU APB3 peripheral freeze register CPU1 0x34 0x20 read-write 0x00000000 WWDG1 WWDG1 stop in debug 6 1 APB3FZ2 APB3FZ2 DBGMCU APB3 peripheral freeze register CPU2 0x38 0x20 read-write 0x00000000 WWDG1 WWDG1 stop in debug 6 1 APB1LFZ1 APB1LFZ1 DBGMCU APB1L peripheral freeze register 0x3C 0x20 read-write 0x00000000 DBG_TIM2 TIM2 stop in debug 0 1 DBG_TIM3 TIM3 stop in debug 1 1 DBG_TIM4 TIM4 stop in debug 2 1 DBG_TIM5 TIM5 stop in debug 3 1 DBG_TIM6 TIM6 stop in debug 4 1 DBG_TIM7 TIM7 stop in debug 5 1 DBG_TIM12 TIM12 stop in debug 6 1 DBG_TIM13 TIM13 stop in debug 7 1 DBG_TIM14 TIM14 stop in debug 8 1 DBG_LPTIM1 LPTIM1 stop in debug 9 1 DBG_WWDG2 WWDG2 stop in debug 11 1 DBG_I2C1 I2C1 SMBUS timeout stop in debug 21 1 DBG_I2C2 I2C2 SMBUS timeout stop in debug 22 1 DBG_I2C3 I2C3 SMBUS timeout stop in debug 23 1 APB1LFZ2 APB1LFZ2 DBGMCU APB1L peripheral freeze register CPU2 0x40 0x20 read-write 0x00000000 DBG_TIM2 TIM2 stop in debug 0 1 DBG_TIM3 TIM3 stop in debug 1 1 DBG_TIM4 TIM4 stop in debug 2 1 DBG_TIM5 TIM5 stop in debug 3 1 DBG_TIM6 TIM6 stop in debug 4 1 DBG_TIM7 TIM4 stop in debug 5 1 DBG_TIM12 TIM12 stop in debug 6 1 DBG_TIM13 TIM13 stop in debug 7 1 DBG_TIM14 TIM14 stop in debug 8 1 DBG_LPTIM1 LPTIM1 stop in debug 9 1 DBG_WWDG2 WWDG2 stop in debug 11 1 DBG_I2C1 I2C1 SMBUS timeout stop in debug 21 1 DBG_I2C2 I2C2 SMBUS timeout stop in debug 22 1 DBG_I2C3 I2C3 SMBUS timeout stop in debug 23 1 APB2FZ1 APB2FZ1 DBGMCU APB2 peripheral freeze register 0x4C 0x20 read-write 0x00000000 DBG_TIM1 TIM1 stop in debug 0 1 DBG_TIM8 TIM8 stop in debug 1 1 DBG_TIM15 TIM15 stop in debug 16 1 DBG_TIM16 TIM16 stop in debug 17 1 DBG_TIM17 TIM17 stop in debug 18 1 APB2FZ2 APB2FZ2 DBGMCU APB2 peripheral freeze register CPU2 0x50 0x20 read-write 0x00000000 DBG_TIM1 TIM1 stop in debug 0 1 DBG_TIM8 TIM8 stop in debug 1 1 DBG_TIM15 TIM15 stop in debug 16 1 DBG_TIM16 TIM16 stop in debug 17 1 DBG_TIM17 TIM17 stop in debug 18 1 APB4FZ1 APB4FZ1 DBGMCU APB4 peripheral freeze register 0x54 0x20 read-write 0x00000000 DBG_I2C4 I2C4 SMBUS timeout stop in debug 7 1 DBG_LPTIM2 LPTIM2 stop in debug 9 1 DBG_LPTIM3 LPTIM2 stop in debug 10 1 DBG_LPTIM4 LPTIM4 stop in debug 11 1 DBG_LPTIM5 LPTIM5 stop in debug 12 1 DBG_RTC RTC stop in debug 16 1 DBG_WDGLSD1 Independent watchdog for D1 stop in debug 18 1 DBG_WDGLSD2 Independent watchdog for D2 stop in debug 19 1 APB4FZ2 APB4FZ2 DBGMCU APB4 peripheral freeze register CPU2 0x58 0x20 read-write 0x00000000 DBG_I2C4 I2C4 SMBUS timeout stop in debug 7 1 DBG_LPTIM2 LPTIM2 stop in debug 9 1 DBG_LPTIM3 LPTIM2 stop in debug 10 1 DBG_LPTIM4 LPTIM4 stop in debug 11 1 DBG_LPTIM5 LPTIM5 stop in debug 12 1 DBG_RTC RTC stop in debug 16 1 DBG_WDGLSD1 LS watchdog for D1 stop in debug 18 1 DBG_WDGLSD2 LS watchdog for D2 stop in debug 19 1 DCMI Digital camera interface DCMI 0x48020000 0x0 0x400 registers DCMI_PSSI DCMI/PSSI global interrupt 78 CR CR control register 1 0x0 0x20 read-write 0x00000000 OELS Odd/Even Line Select (Line Select Start) 20 1 OELS Odd Interface captures first line after the frame start, second one being dropped 0 Even Interface captures second line from the frame start, first one being dropped 1 LSM Line Select mode 19 1 LSM All Interface captures all received lines 0 Half Interface captures one line out of two 1 OEBS Odd/Even Byte Select (Byte Select Start) 18 1 OEBS Odd Interface captures first data (byte or double byte) from the frame/line start, second one being dropped 0 Even Interface captures second data (byte or double byte) from the frame/line start, first one being dropped 1 BSM Byte Select mode 16 2 BSM All Interface captures all received data 0 EveryOther Interface captures every other byte from the received data 1 Fourth Interface captures one byte out of four 2 TwoOfFour Interface captures two bytes out of four 3 ENABLE DCMI enable 14 1 ENABLE Disabled DCMI disabled 0 Enabled DCMI enabled 1 EDM Extended data mode 10 2 EDM BitWidth8 Interface captures 8-bit data on every pixel clock 0 BitWidth10 Interface captures 10-bit data on every pixel clock 1 BitWidth12 Interface captures 12-bit data on every pixel clock 2 BitWidth14 Interface captures 14-bit data on every pixel clock 3 FCRC Frame capture rate control 8 2 FCRC All All frames are captured 0 Alternate Every alternate frame captured (50% bandwidth reduction) 1 OneOfFour One frame out of four captured (75% bandwidth reduction) 2 VSPOL Vertical synchronization polarity 7 1 VSPOL ActiveLow DCMI_VSYNC active low 0 ActiveHigh DCMI_VSYNC active high 1 HSPOL Horizontal synchronization polarity 6 1 HSPOL ActiveLow DCMI_HSYNC active low 0 ActiveHigh DCMI_HSYNC active high 1 PCKPOL Pixel clock polarity 5 1 PCKPOL FallingEdge Falling edge active 0 RisingEdge Rising edge active 1 ESS Embedded synchronization select 4 1 ESS Hardware Hardware synchronization data capture (frame/line start/stop) is synchronized with the DCMI_HSYNC/DCMI_VSYNC signals 0 Embedded Embedded synchronization data capture is synchronized with synchronization codes embedded in the data flow 1 JPEG JPEG format 3 1 JPEG Uncompressed Uncompressed video format 0 JPEG This bit is used for JPEG data transfers. The DCMI_HSYNC signal is used as data enable. The crop and embedded synchronization features (ESS bit) cannot be used in this mode 1 CROP Crop feature 2 1 CROP Full The full image is captured. In this case the total number of bytes in an image frame must be a multiple of four 0 Cropped Only the data inside the window specified by the crop register is captured. If the size of the crop window exceeds the picture size, then only the picture size is captured 1 CM Capture mode 1 1 CM Continuous Continuous grab mode - The received data are transferred into the destination memory through the DMA. The buffer location and mode (linear or circular buffer) is controlled through the system DMA 0 Snapshot Snapshot mode (single frame) - Once activated, the interface waits for the start of frame and then transfers a single frame through the DMA. At the end of the frame, the CAPTURE bit is automatically reset 1 CAPTURE Capture enable 0 1 CAPTURE Disabled Capture disabled 0 Enabled Capture enabled 1 SR SR status register 0x4 0x20 read-only 0x00000000 FNE FIFO not empty 2 1 FNE NotEmpty FIFO contains valid data 0 Empty FIFO empty 1 VSYNC VSYNC 1 1 VSYNC ActiveFrame Active frame 0 BetweenFrames Synchronization between frames 1 HSYNC HSYNC 0 1 HSYNC ActiveLine Active line 0 BetweenLines Synchronization between lines 1 RIS RIS raw interrupt status register 0x8 0x20 read-only 0x00000000 LINE_RIS Line raw interrupt status 4 1 LINE_RIS Cleared Interrupt cleared 0 Set Interrupt set 1 VSYNC_RIS VSYNC raw interrupt status 3 1 VSYNC_RIS Cleared Interrupt cleared 0 Set Interrupt set 1 ERR_RIS Synchronization error raw interrupt status 2 1 ERR_RIS NoError No synchronization error detected 0 SynchronizationError Embedded synchronization characters are not received in the correct order 1 OVR_RIS Overrun raw interrupt status 1 1 OVR_RIS NoOverrun No data buffer overrun occurred 0 OverrunOccured A data buffer overrun occurred and the data FIFO is corrupted. The bit is cleared by setting the OVR_ISC bit of the DCMI_ICR register 1 FRAME_RIS Capture complete raw interrupt status 0 1 FRAME_RIS NoNewCapture No new capture 0 FrameCaptured A frame has been captured 1 IER IER interrupt enable register 0xC 0x20 read-write 0x00000000 LINE_IE Line interrupt enable 4 1 LINE_IE Disabled No interrupt generation when the line is received 0 Enabled An Interrupt is generated when a line has been completely received 1 VSYNC_IE VSYNC interrupt enable 3 1 VSYNC_IE Disabled No interrupt generation 0 Enabled An interrupt is generated on each DCMI_VSYNC transition from the inactive to the active state 1 ERR_IE Synchronization error interrupt enable 2 1 ERR_IE Disabled No interrupt generation 0 Enabled An interrupt is generated if the embedded synchronization codes are not received in the correct order 1 OVR_IE Overrun interrupt enable 1 1 OVR_IE Disabled No interrupt generation 0 Enabled An interrupt is generated if the DMA was not able to transfer the last data before new data (32-bit) are received 1 FRAME_IE Capture complete interrupt enable 0 1 FRAME_IE Disabled No interrupt generation 0 Enabled An interrupt is generated at the end of each received frame/crop window (in crop mode) 1 MIS MIS masked interrupt status register 0x10 0x20 read-only 0x00000000 LINE_MIS Line masked interrupt status 4 1 LINE_MIS Disabled No interrupt generation when the line is received 0 Enabled An Interrupt is generated when a line has been completely received and the LINE_IE bit is set in DCMI_IER 1 VSYNC_MIS VSYNC masked interrupt status 3 1 VSYNC_MIS Disabled No interrupt is generated on DCMI_VSYNC transitions 0 Enabled An interrupt is generated on each DCMI_VSYNC transition from the inactive to the active state and the VSYNC_IE bit is set in DCMI_IER 1 ERR_MIS Synchronization error masked interrupt status 2 1 ERR_MIS Disabled No interrupt is generated on a synchronization error 0 Enabled An interrupt is generated if the embedded synchronization codes are not received in the correct order and the ERR_IE bit in DCMI_IER is set 1 OVR_MIS Overrun masked interrupt status 1 1 OVR_MIS Disabled No interrupt is generated on overrun 0 Enabled An interrupt is generated if the DMA was not able to transfer the last data before new data (32-bit) are received and the OVR_IE bit is set in DCMI_IER 1 FRAME_MIS Capture complete masked interrupt status 0 1 FRAME_MIS Disabled No interrupt is generated after a complete capture 0 Enabled An interrupt is generated at the end of each received frame/crop window (in crop mode) and the FRAME_IE bit is set in DCMI_IER 1 ICR ICR interrupt clear register 0x14 0x20 write-only 0x00000000 LINE_ISC line interrupt status clear 4 1 LINE_ISC Clear Setting this bit clears the LINE_RIS flag in the DCMI_RIS register 1 VSYNC_ISC Vertical synch interrupt status clear 3 1 VSYNC_ISC Clear Setting this bit clears the VSYNC_RIS flag in the DCMI_RIS register 1 ERR_ISC Synchronization error interrupt status clear 2 1 ERR_ISC Clear Setting this bit clears the ERR_RIS flag in the DCMI_RIS register 1 OVR_ISC Overrun interrupt status clear 1 1 OVR_ISC Clear Setting this bit clears the OVR_RIS flag in the DCMI_RIS register 1 FRAME_ISC Capture complete interrupt status clear 0 1 FRAME_ISC Clear Setting this bit clears the FRAME_RIS flag in the DCMI_RIS register 1 ESCR ESCR embedded synchronization code register 0x18 0x20 read-write 0x00000000 FEC Frame end delimiter code 24 8 LEC Line end delimiter code 16 8 LSC Line start delimiter code 8 8 FSC Frame start delimiter code 0 8 ESUR ESUR embedded synchronization unmask register 0x1C 0x20 read-write 0x00000000 FEU Frame end delimiter unmask 24 8 LEU Line end delimiter unmask 16 8 LSU Line start delimiter unmask 8 8 FSU Frame start delimiter unmask 0 8 CWSTRT CWSTRT crop window start 0x20 0x20 read-write 0x00000000 VST Vertical start line count 16 13 0 8191 HOFFCNT Horizontal offset count 0 14 0 16383 CWSIZE CWSIZE crop window size 0x24 0x20 read-write 0x00000000 VLINE Vertical line count 16 14 0 16383 CAPCNT Capture count 0 14 0 16383 DR DR data register 0x28 0x20 read-only 0x00000000 4 0x8 0-3 BYTE%s Data byte %s 0 8 0 255 DELAY_Block_SDMMC1 DELAY_Block_SDMMC1 DLYB 0x52008000 0x0 0x400 registers PVD_PVM PVD through EXTI line 1 CR CR DLYB control register 0x0 0x20 read-write 0x00000000 DEN Delay block enable bit 0 1 SEN Sampler length enable bit 1 1 CFGR CFGR DLYB configuration register 0x4 0x20 read-write 0x00000000 SEL Select the phase for the Output clock 0 4 UNIT Delay Defines the delay of a Unit delay cell 8 7 LNG Delay line length value 16 12 LNGF Length valid flag 31 1 DELAY_Block_SDMMC2 0x48022800 DFSDM Digital filter for sigma delta modulators DFSDM 0x40017800 0x0 0x400 registers DFSDM1_FLT0 DFSDM1 filter 0 interrupt 110 DFSDM1_FLT1 DFSDM1 filter 1 interrupt 111 DFSDM1_FLT2 DFSDM1 filter 2 interrupt 112 DFSDM1_FLT3 DFSDM1 filter 3 interrupt 113 8 0x20 0-7 CH%s DFSDM Channel cluster: contains CH?CFGR1, CH?CFGR2, CH?AWSCDR, CH?WDATR and CH?DATINR registers 0x0 CFGR1 CH0CFGR1 channel configuration y register 0x0 0x20 read-write 0x00000000 DFSDMEN DFSDMEN 31 1 DFSDMEN Disabled DFSDM interface disabled 0 Enabled DFSDM interface enabled 1 CKOUTSRC CKOUTSRC 30 1 CKOUTSRC SYSCLK Source for output clock is from system clock 0 AUDCLK Source for output clock is from audio clock 1 CKOUTDIV CKOUTDIV 16 8 0 255 DATPACK DATPACK 14 2 DATPACK Standard Standard: input data in DFSDM_CHyDATINR register are stored only in INDAT0[15:0]. To empty DFSDM_CHyDATINR register one sample must be read by the DFSDM filter from channel y 0 Interleaved : Interleaved: input data in DFSDM_CHyDATINR register are stored as two samples: âfirst sample in INDAT0[15:0] (assigned to channel y) âsecond sample INDAT1[15:0] (assigned to channel y) 1 Dual Dual: input data in DFSDM_CHyDATINR register are stored as two samples: âfirst sample INDAT0[15:0] (assigned to channel y) âsecond sample INDAT1[15:0] (assigned to channel y+1) 2 DATMPX DATMPX 12 2 DATMPX External Data to channel y are taken from external serial inputs as 1-bit values. DFSDM_CHyDATINR register is write protected 0 ADC Data to channel y are taken from internal analog to digital converter ADCy+1 output register update as 16-bit values (if ADCy+1 is available). Data from ADCs are written into INDAT0[15:0] part of DFSDM_CHyDATINR register 1 Internal Data to channel y are taken from internal DFSDM_CHyDATINR register by direct CPU/DMA write. There can be written one or two 16-bit data samples according DATPACK[1:0] bit field setting 2 CHINSEL CHINSEL 8 1 CHINSEL SameChannel Channel inputs are taken from pins of the same channel y 0 FollowingChannel Channel inputs are taken from pins of the following channel (channel (y+1) modulo 8) 1 CHEN CHEN 7 1 CHEN Disabled Channel y disabled 0 Enabled Channel y enabled 1 CKABEN CKABEN 6 1 CKABEN Disabled Clock absence detector disabled on channel y 0 Enabled Clock absence detector enabled on channel y 1 SCDEN SCDEN 5 1 SCDEN Disabled Input channel y will not be guarded by the short-circuit detector 0 Enabled Input channel y will be continuously guarded by the short-circuit detector 1 SPICKSEL SPICKSEL 2 2 SPICKSEL CKIN Clock coming from external CKINy input - sampling point according SITP[1:0] 0 CKOUT Clock coming from internal CKOUT output - sampling point according SITP[1:0] 1 CKOUTSecondFalling Clock coming from internal CKOUT - sampling point on each second CKOUT falling edge. For connection to external Σâ modulator which divides its clock input (from CKOUT) by 2 to generate its output serial communication clock (and this output clock change is active on each clock input rising edge) 2 CKOUTSecondRising Clock coming from internal CKOUT output - sampling point on each second CKOUT rising edge. For connection to external Σâ modulator which divides its clock input (from CKOUT) by 2 to generate its output serial communication clock (and this output clock change is active on each clock input falling edge) 3 SITP SITP 0 2 SITP SPIRisingEdge SPI with rising edge to strobe data 0 SPIFallingEdge SPI with falling edge to strobe data 1 Manchester Manchester coded input on DATINy pin: rising edge = logic 0, falling edge = logic 1 2 ManchesterInverted Manchester coded input on DATINy pin: rising edge = logic 1, falling edge = logic 0 3 CFGR2 CH0CFGR2 channel configuration y register 0x4 0x20 read-write 0x00000000 OFFSET OFFSET 8 24 0 16777215 DTRBS DTRBS 3 5 0 31 AWSCDR CH0AWSCDR analog watchdog and short-circuit detector register 0x8 0x20 read-write 0x00000000 AWFORD AWFORD 22 2 AWFORD FastSinc FastSinc filter type 0 Sinc1 Sinc1 filter type 1 Sinc2 Sinc2 filter type 2 Sinc3 Sinc3 filter type 3 AWFOSR AWFOSR 16 5 0 31 BKSCD BKSCD 12 4 0 15 SCDT SCDT 0 8 0 255 WDATR CH0WDATR channel watchdog filter data register 0xC 0x20 read-write 0x00000000 WDATA WDATA 0 16 0 65535 DATINR CH0DATINR channel data input register 0x10 0x20 read-write 0x00000000 INDAT1 INDAT1 16 16 0 65535 INDAT0 INDAT0 0 16 0 65535 4 0x80 0-3 FLT%s Cluster FLT%s, containing FLT?CR1, FLT?CR2, FLT?ISR, FLT?ICR, FLT?JCHGR, FLT?FCR, FLT?JDATAR, FLT?RDATAR, FLT?AWHTR, FLT?AWLTR, FLT?AWSR, FLT?AWCFR, FLT?EXMAX, FLT?EXMIN, FLT?CNVTIMR 0x100 CR1 FLT0CR1 control register 1 0x0 0x20 read-write 0x00000000 AWFSEL Analog watchdog fast mode select 30 1 AWFSEL Output Analog watchdog on data output value (after the digital filter). The comparison is done after offset correction and shift 0 Transceiver Analog watchdog on channel transceivers value (after watchdog filter) 1 FAST Fast conversion mode selection for regular conversions 29 1 FAST Disabled Fast conversion mode disabled 0 Enabled Fast conversion mode enabled 1 RCH Regular channel selection 24 3 RCH Channel0 Channel 0 is selected as regular channel 0 Channel1 Channel 1 is selected as regular channel 1 Channel2 Channel 2 is selected as regular channel 2 Channel3 Channel 3 is selected as regular channel 3 Channel4 Channel 4 is selected as regular channel 4 Channel5 Channel 5 is selected as regular channel 5 Channel6 Channel 6 is selected as regular channel 6 Channel7 Channel 7 is selected as regular channel 7 RDMAEN DMA channel enabled to read data for the regular conversion 21 1 RDMAEN Disabled The DMA channel is not enabled to read regular data 0 Enabled The DMA channel is enabled to read regular data 1 RSYNC Launch regular conversion synchronously with DFSDM0 19 1 RSYNC NoLaunch Do not launch a regular conversion synchronously with DFSDM_FLT0 0 Launch Launch a regular conversion in this DFSDM_FLTx at the very moment when a regular conversion is launched in DFSDM_FLT0 1 RCONT Continuous mode selection for regular conversions 18 1 RCONT Once The regular channel is converted just once for each conversion request 0 Continuous The regular channel is converted repeatedly after each conversion request 1 RSWSTART Software start of a conversion on the regular channel 17 1 RSWSTARTW write Start Writing â1â makes a request to start a conversion on the regular channel and causes RCIP to become â1â. If RCIP=1 already, writing to RSWSTART has no effect. Writing â1â has no effect if RSYNC=1 1 JEXTEN Trigger enable and trigger edge selection for injected conversions 13 2 JEXTEN Disabled Trigger detection is disabled 0 RisingEdge Each rising edge on the selected trigger makes a request to launch an injected conversion 1 FallingEdge Each falling edge on the selected trigger makes a request to launch an injected conversion 2 BothEdges Both rising edges and falling edges on the selected trigger make requests to launch injected conversions 3 JEXTSEL Trigger signal selection for launching injected conversions 8 5 0 31 JDMAEN DMA channel enabled to read data for the injected channel group 5 1 JDMAEN Disabled The DMA channel is not enabled to read injected data 0 Enabled The DMA channel is enabled to read injected data 1 JSCAN Scanning conversion mode for injected conversions 4 1 JSCAN Single One channel conversion is performed from the injected channel group and next the selected channel from this group is selected 0 Series The series of conversions for the injected group channels is executed, starting over with the lowest selected channel 1 JSYNC Launch an injected conversion synchronously with the DFSDM0 JSWSTART trigger 3 1 JSYNC Disabled Do not launch an injected conversion synchronously with DFSDM_FLT0 0 Enabled Launch an injected conversion in this DFSDM_FLTx at the very moment when an injected conversion is launched in DFSDM_FLT0 by its JSWSTART trigger 1 JSWSTART Start a conversion of the injected group of channels 1 1 JSWSTARTW write Start Writing â1â makes a request to convert the channels in the injected conversion group, causing JCIP to become â1â at the same time. If JCIP=1 already, then writing to JSWSTART has no effect. Writing â1â has no effect if JSYNC=1 1 DFEN DFSDM enable 0 1 DFEN Disabled DFSDM_FLTx is disabled. All conversions of given DFSDM_FLTx are stopped immediately and all DFSDM_FLTx functions are stopped 0 Enabled DFSDM_FLTx is enabled. If DFSDM_FLTx is enabled, then DFSDM_FLTx starts operating according to its setting 1 CR2 FLT0CR2 control register 2 0x4 0x20 read-write 0x00000000 AWDCH Analog watchdog channel selection 16 8 AWDCH Disabled Analog watchdog is disabled on channel y 0 Enabled Analog watchdog is enabled on channel y 1 EXCH Extremes detector channel selection 8 8 EXCH Disabled Extremes detector does not accept data from channel y 0 Enabled Extremes detector accepts data from channel y 1 CKABIE Clock absence interrupt enable 6 1 CKABIE Disabled Detection of channel input clock absence interrupt is disabled 0 Enabled Detection of channel input clock absence interrupt is enabled 1 SCDIE Short-circuit detector interrupt enable 5 1 SCDIE Disabled Short-circuit detector interrupt is disabled 0 Enabled Short-circuit detector interrupt is enabled 1 AWDIE Analog watchdog interrupt enable 4 1 AWDIE Disabled Analog watchdog interrupt is disabled 0 Enabled Analog watchdog interrupt is enabled 1 ROVRIE Regular data overrun interrupt enable 3 1 ROVRIE Disabled Regular data overrun interrupt is disabled 0 Enabled Regular data overrun interrupt is enabled 1 JOVRIE Injected data overrun interrupt enable 2 1 JOVRIE Disabled Injected data overrun interrupt is disabled 0 Enabled Injected data overrun interrupt is enabled 1 REOCIE Regular end of conversion interrupt enable 1 1 REOCIE Disabled Regular end of conversion interrupt is disabled 0 Enabled Regular end of conversion interrupt is enabled 1 JEOCIE Injected end of conversion interrupt enable 0 1 JEOCIE Disabled Injected end of conversion interrupt is disabled 0 Enabled Injected end of conversion interrupt is enabled 1 ISR FLT0ISR interrupt and status register 0x8 0x20 read-only 0x00FF0000 SCDF short-circuit detector flag 24 8 SCDF Clear No short-circuit detector event occurred on channel y 0 Set The short-circuit detector counter reaches, on channel y, the value programmed in the DFSDM_CHyAWSCDR registers 1 CKABF Clock absence flag 16 8 CKABF Clear Clock signal on channel y is present. 0 Set Clock signal on channel y is not present 1 RCIP Regular conversion in progress status 14 1 RCIP NotInProgress No request to convert the regular channel has been issued 0 InProgress The conversion of the regular channel is in progress or a request for a regular conversion is pending 1 JCIP Injected conversion in progress status 13 1 JCIP NotInProgress No request to convert the injected channel group (neither by software nor by trigger) has been issued 0 InProgress The conversion of the injected channel group is in progress or a request for a injected conversion is pending, due either to â1â being written to JSWSTART or to a trigger detection 1 AWDF Analog watchdog 4 1 AWDF Clear No Analog watchdog event occurred 0 Set The analog watchdog block detected voltage which crosses the value programmed in the DFSDM_FLTxAWLTR or DFSDM_FLTxAWHTR registers 1 ROVRF Regular conversion overrun flag 3 1 ROVRF Clear No regular conversion overrun has occurred 0 Set A regular conversion overrun has occurred, which means that a regular conversion finished while REOCF was already â1â. RDATAR is not affected by overruns 1 JOVRF Injected conversion overrun flag 2 1 JOVRF Clear No injected conversion overrun has occurred 0 Set An injected conversion overrun has occurred, which means that an injected conversion finished while JEOCF was already â1â. JDATAR is not affected by overruns 1 REOCF End of regular conversion flag 1 1 REOCF Clear No regular conversion has completed 0 Set A regular conversion has completed and its data may be read 1 JEOCF End of injected conversion flag 0 1 JEOCF Clear No injected conversion has completed 0 Set An injected conversion has completed and its data may be read 1 ICR FLT0ICR interrupt flag clear register 0xC 0x20 read-write 0x00000000 CLRSCDF Clear the short-circuit detector flag 24 8 0 255 CLRCKABF Clear the clock absence flag 16 8 0 255 CLRROVRF Clear the regular conversion overrun flag 3 1 CLRROVRFW write Clear Writing â1â clears the ROVRF bit in the DFSDM_FLTxISR register 1 CLRJOVRF Clear the injected conversion overrun flag 2 1 CLRJOVRFW write Clear Writing â1â clears the JOVRF bit in the DFSDM_FLTxISR register 1 JCHGR FLT0JCHGR injected channel group selection register 0x10 0x20 read-write 0x00000001 JCHG Injected channel group selection 0 8 0 255 FCR FLT0FCR filter control register 0x14 0x20 read-write 0x00000000 FORD Sinc filter order 29 3 FORD FastSinc FastSinc filter type 0 Sinc1 Sinc1 filter type 1 Sinc2 Sinc2 filter type 2 Sinc3 Sinc3 filter type 3 Sinc4 Sinc4 filter type 4 Sinc5 Sinc5 filter type 5 FOSR Sinc filter oversampling ratio (decimation rate) 16 10 0 1023 IOSR Integrator oversampling ratio (averaging length) 0 8 0 255 JDATAR FLT0JDATAR data register for injected group 0x18 0x20 read-only 0x00000000 JDATA Injected group conversion data 8 24 0 16777215 JDATACH Injected channel most recently converted 0 3 0 7 RDATAR FLT0RDATAR data register for the regular channel 0x1C 0x20 read-only 0x00000000 RDATA Regular channel conversion data 8 24 0 16777215 RPEND Regular channel pending data 4 1 RDATACH Regular channel most recently converted 0 3 0 7 AWHTR FLT0AWHTR analog watchdog high threshold register 0x20 0x20 read-write 0x00000000 AWHT Analog watchdog high threshold 8 24 0 16777215 4 0x1 0-3 BKAWH%s Break signal assignment to analog watchdog high threshold event 0 1 BKAWH0 NotAssigned Break i signal is not assigned to an analog watchdog high threshold event 0 Assigned Break i signal is assigned to an analog watchdog high threshold event 1 AWLTR FLT0AWLTR analog watchdog low threshold register 0x24 0x20 read-write 0x00000000 AWLT Analog watchdog low threshold 8 24 0 16777215 4 0x1 0-3 BKAWL%s Break signal assignment to analog watchdog low threshold event 0 1 BKAWL0 NotAssigned Break i signal is not assigned to an analog watchdog low threshold event 0 Assigned Break i signal is assigned to an analog watchdog low threshold event 1 AWSR FLT0AWSR analog watchdog status register 0x28 0x20 read-only 0x00000000 8 0x1 0-7 AWHTF%s Analog watchdog high threshold flag 8 1 AWHTF0 NoError No high threshold error 0 Error A high threshold error on channel y 1 8 0x1 0-7 AWLTF%s Analog watchdog low threshold flag 0 1 AWLTF0 NoError No low threshold error 0 Error A low threshold error on channel y 1 AWCFR FLT0AWCFR analog watchdog clear flag register 0x2C 0x20 read-write 0x00000000 8 0x1 0-7 CLRAWHTF%s Clear the analog watchdog high threshold flag 8 1 oneToClear CLRAWHTF0W write Clear Clear the corresponding AWHTF[y] bit 1 8 0x1 0-7 CLRAWLTF%s Clear the analog watchdog low threshold flag 0 1 oneToClear CLRAWLTF0W write Clear Clear the corresponding AWLTF[y] bit 1 EXMAX FLT0EXMAX Extremes detector maximum register 0x30 0x20 read-only 0x80000000 EXMAX Extremes detector maximum value 8 24 0 16777215 EXMAXCH Extremes detector maximum data channel 0 3 0 7 EXMIN FLT0EXMIN Extremes detector minimum register 0x34 0x20 read-only 0x7FFFFF00 EXMIN EXMIN 8 24 0 16777215 EXMINCH Extremes detector minimum data channel 0 3 0 7 CNVTIMR FLT0CNVTIMR conversion timer register 0x38 0x20 read-only 0x00000000 CNVCNT 28-bit timer counting conversion time t = CNVCNT[27:0] / fDFSDM_CKIN 4 28 0 268435455 DMA1 DMA controller DMA 0x40020000 0x0 0x400 registers DMA_STR0 DMA1 Stream0 11 DMA_STR1 DMA1 Stream1 12 DMA_STR2 DMA1 Stream2 13 DMA_STR3 DMA1 Stream3 14 DMA_STR4 DMA1 Stream4 15 DMA_STR5 DMA1 Stream5 16 DMA_STR6 DMA1 Stream6 17 DMA1_STR7 DMA1 Stream7 47 LISR LISR low interrupt status register 0x0 0x20 read-only 0x00000000 TCIF0 Stream x transfer complete interrupt flag (x = 3..0) 5 1 TCIF0 NotComplete No transfer complete event on stream x 0 Complete A transfer complete event occurred on stream x 1 TCIF3 Stream x transfer complete interrupt flag (x = 3..0) 27 1 HTIF0 Stream x half transfer interrupt flag (x=3..0) 4 1 HTIF0 NotHalf No half transfer event on stream x 0 Half A half transfer event occurred on stream x 1 HTIF3 Stream x half transfer interrupt flag (x=3..0) 26 1 TEIF0 Stream x transfer error interrupt flag (x=3..0) 3 1 TEIF0 NoError No transfer error on stream x 0 Error A transfer error occurred on stream x 1 TEIF3 Stream x transfer error interrupt flag (x=3..0) 25 1 DMEIF0 Stream x direct mode error interrupt flag (x=3..0) 2 1 DMEIF0 NoError No Direct Mode error on stream x 0 Error A Direct Mode error occurred on stream x 1 DMEIF3 Stream x direct mode error interrupt flag (x=3..0) 24 1 FEIF0 Stream x FIFO error interrupt flag (x=3..0) 0 1 FEIF0 NoError No FIFO error event on stream x 0 Error A FIFO error event occurred on stream x 1 FEIF3 Stream x FIFO error interrupt flag (x=3..0) 22 1 TCIF2 Stream x transfer complete interrupt flag (x = 3..0) 21 1 HTIF2 Stream x half transfer interrupt flag (x=3..0) 20 1 TEIF2 Stream x transfer error interrupt flag (x=3..0) 19 1 DMEIF2 Stream x direct mode error interrupt flag (x=3..0) 18 1 FEIF2 Stream x FIFO error interrupt flag (x=3..0) 16 1 TCIF1 Stream x transfer complete interrupt flag (x = 3..0) 11 1 HTIF1 Stream x half transfer interrupt flag (x=3..0) 10 1 TEIF1 Stream x transfer error interrupt flag (x=3..0) 9 1 DMEIF1 Stream x direct mode error interrupt flag (x=3..0) 8 1 FEIF1 Stream x FIFO error interrupt flag (x=3..0) 6 1 HISR HISR high interrupt status register 0x4 0x20 read-only 0x00000000 TCIF4 Stream x transfer complete interrupt flag (x=7..4) 5 1 TCIF4 NotComplete No transfer complete event on stream x 0 Complete A transfer complete event occurred on stream x 1 TCIF7 Stream x transfer complete interrupt flag (x=7..4) 27 1 HTIF4 Stream x half transfer interrupt flag (x=7..4) 4 1 HTIF4 NotHalf No half transfer event on stream x 0 Half A half transfer event occurred on stream x 1 HTIF7 Stream x half transfer interrupt flag (x=7..4) 26 1 TEIF4 Stream x transfer error interrupt flag (x=7..4) 3 1 TEIF4 NoError No transfer error on stream x 0 Error A transfer error occurred on stream x 1 TEIF7 Stream x transfer error interrupt flag (x=7..4) 25 1 DMEIF4 Stream x direct mode error interrupt flag (x=7..4) 2 1 DMEIF4 NoError No Direct Mode error on stream x 0 Error A Direct Mode error occurred on stream x 1 DMEIF7 Stream x direct mode error interrupt flag (x=7..4) 24 1 FEIF4 Stream x FIFO error interrupt flag (x=7..4) 0 1 FEIF4 NoError No FIFO error event on stream x 0 Error A FIFO error event occurred on stream x 1 FEIF7 Stream x FIFO error interrupt flag (x=7..4) 22 1 TCIF6 Stream x transfer complete interrupt flag (x=7..4) 21 1 HTIF6 Stream x half transfer interrupt flag (x=7..4) 20 1 TEIF6 Stream x transfer error interrupt flag (x=7..4) 19 1 DMEIF6 Stream x direct mode error interrupt flag (x=7..4) 18 1 FEIF6 Stream x FIFO error interrupt flag (x=7..4) 16 1 TCIF5 Stream x transfer complete interrupt flag (x=7..4) 11 1 HTIF5 Stream x half transfer interrupt flag (x=7..4) 10 1 TEIF5 Stream x transfer error interrupt flag (x=7..4) 9 1 DMEIF5 Stream x direct mode error interrupt flag (x=7..4) 8 1 FEIF5 Stream x FIFO error interrupt flag (x=7..4) 6 1 LIFCR LIFCR low interrupt flag clear register 0x8 0x20 write-only 0x00000000 CTCIF0 Stream x clear transfer complete interrupt flag (x = 3..0) 5 1 CTCIF0 Clear Clear the corresponding TCIFx flag 1 CTCIF3 Stream x clear transfer complete interrupt flag (x = 3..0) 27 1 CHTIF0 Stream x clear half transfer interrupt flag (x = 3..0) 4 1 CHTIF0 Clear Clear the corresponding HTIFx flag 1 CHTIF3 Stream x clear half transfer interrupt flag (x = 3..0) 26 1 CTEIF0 Stream x clear transfer error interrupt flag (x = 3..0) 3 1 CTEIF0 Clear Clear the corresponding TEIFx flag 1 CTEIF3 Stream x clear transfer error interrupt flag (x = 3..0) 25 1 CDMEIF0 Stream x clear direct mode error interrupt flag (x = 3..0) 2 1 CDMEIF0 Clear Clear the corresponding DMEIFx flag 1 CDMEIF3 Stream x clear direct mode error interrupt flag (x = 3..0) 24 1 CFEIF0 Stream x clear FIFO error interrupt flag (x = 3..0) 0 1 CFEIF0 Clear Clear the corresponding CFEIFx flag 1 CFEIF3 Stream x clear FIFO error interrupt flag (x = 3..0) 22 1 CTCIF2 Stream x clear transfer complete interrupt flag (x = 3..0) 21 1 CHTIF2 Stream x clear half transfer interrupt flag (x = 3..0) 20 1 CTEIF2 Stream x clear transfer error interrupt flag (x = 3..0) 19 1 CDMEIF2 Stream x clear direct mode error interrupt flag (x = 3..0) 18 1 CFEIF2 Stream x clear FIFO error interrupt flag (x = 3..0) 16 1 CTCIF1 Stream x clear transfer complete interrupt flag (x = 3..0) 11 1 CHTIF1 Stream x clear half transfer interrupt flag (x = 3..0) 10 1 CTEIF1 Stream x clear transfer error interrupt flag (x = 3..0) 9 1 CDMEIF1 Stream x clear direct mode error interrupt flag (x = 3..0) 8 1 CFEIF1 Stream x clear FIFO error interrupt flag (x = 3..0) 6 1 HIFCR HIFCR high interrupt flag clear register 0xC 0x20 write-only 0x00000000 CTCIF4 Stream x clear transfer complete interrupt flag (x = 7..4) 5 1 CTCIF4 Clear Clear the corresponding TCIFx flag 1 CTCIF7 Stream x clear transfer complete interrupt flag (x = 7..4) 27 1 CHTIF4 Stream x clear half transfer interrupt flag (x = 7..4) 4 1 CHTIF4 Clear Clear the corresponding HTIFx flag 1 CHTIF7 Stream x clear half transfer interrupt flag (x = 7..4) 26 1 CTEIF4 Stream x clear transfer error interrupt flag (x = 7..4) 3 1 CTEIF4 Clear Clear the corresponding TEIFx flag 1 CTEIF7 Stream x clear transfer error interrupt flag (x = 7..4) 25 1 CDMEIF4 Stream x clear direct mode error interrupt flag (x = 7..4) 2 1 CDMEIF4 Clear Clear the corresponding DMEIFx flag 1 CDMEIF7 Stream x clear direct mode error interrupt flag (x = 7..4) 24 1 CFEIF4 Stream x clear FIFO error interrupt flag (x = 7..4) 0 1 CFEIF4 Clear Clear the corresponding CFEIFx flag 1 CFEIF7 Stream x clear FIFO error interrupt flag (x = 7..4) 22 1 CTCIF6 Stream x clear transfer complete interrupt flag (x = 7..4) 21 1 CHTIF6 Stream x clear half transfer interrupt flag (x = 7..4) 20 1 CTEIF6 Stream x clear transfer error interrupt flag (x = 7..4) 19 1 CDMEIF6 Stream x clear direct mode error interrupt flag (x = 7..4) 18 1 CFEIF6 Stream x clear FIFO error interrupt flag (x = 7..4) 16 1 CTCIF5 Stream x clear transfer complete interrupt flag (x = 7..4) 11 1 CHTIF5 Stream x clear half transfer interrupt flag (x = 7..4) 10 1 CTEIF5 Stream x clear transfer error interrupt flag (x = 7..4) 9 1 CDMEIF5 Stream x clear direct mode error interrupt flag (x = 7..4) 8 1 CFEIF5 Stream x clear FIFO error interrupt flag (x = 7..4) 6 1 8 0x18 0-7 ST%s Stream cluster: S?CR, S?NDTR, S?M0AR, S?M1AR and S?FCR registers 0x10 CR S0CR stream x configuration register 0x0 0x20 read-write 0x00000000 PBURST Peripheral burst transfer configuration 21 2 PBURST Single Single transfer 0 INCR4 Incremental burst of 4 beats 1 INCR8 Incremental burst of 8 beats 2 INCR16 Incremental burst of 16 beats 3 MBURST Memory burst transfer configuration 23 2 CT Current target (only in double buffer mode) 19 1 CT Memory0 The current target memory is Memory 0 0 Memory1 The current target memory is Memory 1 1 DBM Double buffer mode 18 1 DBM Disabled No buffer switching at the end of transfer 0 Enabled Memory target switched at the end of the DMA transfer 1 PL Priority level 16 2 PL Low Low 0 Medium Medium 1 High High 2 VeryHigh Very high 3 PINCOS Peripheral increment offset size 15 1 PINCOS PSIZE The offset size for the peripheral address calculation is linked to the PSIZE 0 Fixed4 The offset size for the peripheral address calculation is fixed to 4 (32-bit alignment) 1 PSIZE Peripheral data size 11 2 PSIZE Bits8 Byte (8-bit) 0 Bits16 Half-word (16-bit) 1 Bits32 Word (32-bit) 2 MSIZE Memory data size 13 2 PINC Peripheral increment mode 9 1 PINC Fixed Address pointer is fixed 0 Incremented Address pointer is incremented after each data transfer 1 MINC Memory increment mode 10 1 CIRC Circular mode 8 1 CIRC Disabled Circular mode disabled 0 Enabled Circular mode enabled 1 DIR Data transfer direction 6 2 DIR PeripheralToMemory Peripheral-to-memory 0 MemoryToPeripheral Memory-to-peripheral 1 MemoryToMemory Memory-to-memory 2 PFCTRL Peripheral flow controller 5 1 PFCTRL DMA The DMA is the flow controller 0 Peripheral The peripheral is the flow controller 1 TCIE Transfer complete interrupt enable 4 1 TCIE Disabled TC interrupt disabled 0 Enabled TC interrupt enabled 1 HTIE Half transfer interrupt enable 3 1 HTIE Disabled HT interrupt disabled 0 Enabled HT interrupt enabled 1 TEIE Transfer error interrupt enable 2 1 TEIE Disabled TE interrupt disabled 0 Enabled TE interrupt enabled 1 DMEIE Direct mode error interrupt enable 1 1 DMEIE Disabled DME interrupt disabled 0 Enabled DME interrupt enabled 1 EN Stream enable / flag stream ready when read low 0 1 EN Disabled Stream disabled 0 Enabled Stream enabled 1 TRBUFF Enable the DMA to handle bufferable transfers 20 1 read-write TRBUFF Disabled Bufferable transfers not enabled 0 Enabled Bufferable transfers enabled 1 NDTR S0NDTR stream x number of data register 0x4 0x20 read-write 0x00000000 NDT Number of data items to transfer 0 16 0 65535 PAR S0PAR stream x peripheral address register 0x8 0x20 read-write 0x00000000 PA Peripheral address 0 32 M0AR S0M0AR stream x memory 0 address register 0xC 0x20 read-write 0x00000000 M0A Memory 0 address 0 32 M1AR S0M1AR stream x memory 1 address register 0x10 0x20 read-write 0x00000000 M1A Memory 1 address (used in case of Double buffer mode) 0 32 FCR S0FCR stream x FIFO control register 0x14 0x20 0x00000021 FEIE FIFO error interrupt enable 7 1 read-write FEIE Disabled FE interrupt disabled 0 Enabled FE interrupt enabled 1 FS FIFO status 3 3 read-only FS Quarter1 0 < fifo_level < 1/4 0 Quarter2 1/4 <= fifo_level < 1/2 1 Quarter3 1/2 <= fifo_level < 3/4 2 Quarter4 3/4 <= fifo_level < full 3 Empty FIFO is empty 4 Full FIFO is full 5 DMDIS Direct mode disable 2 1 read-write DMDIS Enabled Direct mode is enabled 0 Disabled Direct mode is disabled 1 FTH FIFO threshold selection 0 2 read-write FTH Quarter 1/4 full FIFO 0 Half 1/2 full FIFO 1 ThreeQuarters 3/4 full FIFO 2 Full Full FIFO 3 DMA2 0x40020400 DMA2_STR0 DMA2 Stream0 interrupt 56 DMA2_STR1 DMA2 Stream1 interrupt 57 DMA2_STR2 DMA2 Stream2 interrupt 58 DMA2_STR3 DMA2 Stream3 interrupt 59 DMA2_STR4 DMA2 Stream4 interrupt 60 DMA2_STR5 DMA2 Stream5 interrupt 68 DMA2_STR6 DMA2 Stream6 interrupt 69 DMA2_STR7 DMA2 Stream7 interrupt 70 DMA2D DMA2D DMA2D 0x52001000 0x0 0x400 registers DMA2D DMA2D global interrupt 90 CR CR DMA2D control register 0x0 0x20 read-write 0x00000000 START Start This bit can be used to launch the DMA2D according to the parameters loaded in the various configuration registers 0 1 START Start Launch the DMA2D 1 SUSP Suspend This bit can be used to suspend the current transfer. This bit is set and reset by software. It is automatically reset by hardware when the START bit is reset. 1 1 SUSP NotSuspended Transfer not suspended 0 Suspended Transfer suspended 1 ABORT Abort This bit can be used to abort the current transfer. This bit is set by software and is automatically reset by hardware when the START bit is reset. 2 1 ABORT AbortRequest Transfer abort requested 1 TEIE Transfer error interrupt enable This bit is set and cleared by software. 8 1 TEIE Disabled TE interrupt disabled 0 Enabled TE interrupt enabled 1 TCIE Transfer complete interrupt enable This bit is set and cleared by software. 9 1 TCIE Disabled TC interrupt disabled 0 Enabled TC interrupt enabled 1 TWIE Transfer watermark interrupt enable This bit is set and cleared by software. 10 1 TWIE Disabled TW interrupt disabled 0 Enabled TW interrupt enabled 1 CAEIE CLUT access error interrupt enable This bit is set and cleared by software. 11 1 CAEIE Disabled CAE interrupt disabled 0 Enabled CAE interrupt enabled 1 CTCIE CLUT transfer complete interrupt enable This bit is set and cleared by software. 12 1 CTCIE Disabled CTC interrupt disabled 0 Enabled CTC interrupt enabled 1 CEIE Configuration Error Interrupt Enable This bit is set and cleared by software. 13 1 CEIE Disabled CE interrupt disabled 0 Enabled CE interrupt enabled 1 MODE DMA2D mode This bit is set and cleared by software. It cannot be modified while a transfer is ongoing. 16 2 MODE MemoryToMemory Memory-to-memory (FG fetch only) 0 MemoryToMemoryPFC Memory-to-memory with PFC (FG fetch only with FG PFC active) 1 MemoryToMemoryPFCBlending Memory-to-memory with blending (FG and BG fetch with PFC and blending) 2 RegisterToMemory Register-to-memory 3 ISR ISR DMA2D Interrupt Status Register 0x4 0x20 read-only 0x00000000 TEIF Transfer error interrupt flag This bit is set when an error occurs during a DMA transfer (data transfer or automatic CLUT loading). 0 1 TCIF Transfer complete interrupt flag This bit is set when a DMA2D transfer operation is complete (data transfer only). 1 1 TWIF Transfer watermark interrupt flag This bit is set when the last pixel of the watermarked line has been transferred. 2 1 CAEIF CLUT access error interrupt flag This bit is set when the CPU accesses the CLUT while the CLUT is being automatically copied from a system memory to the internal DMA2D. 3 1 CTCIF CLUT transfer complete interrupt flag This bit is set when the CLUT copy from a system memory area to the internal DMA2D memory is complete. 4 1 CEIF Configuration error interrupt flag This bit is set when the START bit of DMA2D_CR, DMA2DFGPFCCR or DMA2D_BGPFCCR is set and a wrong configuration has been programmed. 5 1 IFCR IFCR DMA2D interrupt flag clear register 0x8 0x20 read-write 0x00000000 CTEIF Clear Transfer error interrupt flag Programming this bit to 1 clears the TEIF flag in the DMA2D_ISR register 0 1 CTEIF Clear Clear the TEIF flag in the ISR register 1 CTCIF Clear transfer complete interrupt flag Programming this bit to 1 clears the TCIF flag in the DMA2D_ISR register 1 1 CTCIF Clear Clear the TCIF flag in the ISR register 1 CTWIF Clear transfer watermark interrupt flag Programming this bit to 1 clears the TWIF flag in the DMA2D_ISR register 2 1 CTWIF Clear Clear the TWIF flag in the ISR register 1 CAECIF Clear CLUT access error interrupt flag Programming this bit to 1 clears the CAEIF flag in the DMA2D_ISR register 3 1 CAECIF Clear Clear the CAEIF flag in the ISR register 1 CCTCIF Clear CLUT transfer complete interrupt flag Programming this bit to 1 clears the CTCIF flag in the DMA2D_ISR register 4 1 CCTCIF Clear Clear the CTCIF flag in the ISR register 1 CCEIF Clear configuration error interrupt flag Programming this bit to 1 clears the CEIF flag in the DMA2D_ISR register 5 1 CCEIF Clear Clear the CEIF flag in the ISR register 1 FGMAR FGMAR DMA2D foreground memory address register 0xC 0x20 read-write 0x00000000 MA Memory address Address of the data used for the foreground image. This register can only be written when data transfers are disabled. Once the data transfer has started, this register is read-only. The address alignment must match the image format selected e.g. a 32-bit per pixel format must be 32-bit aligned, a 16-bit per pixel format must be 16-bit aligned and a 4-bit per pixel format must be 8-bit aligned. 0 32 FGOR FGOR DMA2D foreground offset register 0x10 0x20 read-write 0x00000000 LO Line offset Line offset used for the foreground expressed in pixel. This value is used to generate the address. It is added at the end of each line to determine the starting address of the next line. These bits can only be written when data transfers are disabled. Once a data transfer has started, they become read-only. If the image format is 4-bit per pixel, the line offset must be even. 0 16 0 65535 BGMAR BGMAR DMA2D background memory address register 0x14 0x20 read-write 0x00000000 MA Memory address Address of the data used for the background image. This register can only be written when data transfers are disabled. Once a data transfer has started, this register is read-only. The address alignment must match the image format selected e.g. a 32-bit per pixel format must be 32-bit aligned, a 16-bit per pixel format must be 16-bit aligned and a 4-bit per pixel format must be 8-bit aligned. 0 32 BGOR BGOR DMA2D background offset register 0x18 0x20 read-write 0x00000000 LO Line offset Line offset used for the background image (expressed in pixel). This value is used for the address generation. It is added at the end of each line to determine the starting address of the next line. These bits can only be written when data transfers are disabled. Once data transfer has started, they become read-only. If the image format is 4-bit per pixel, the line offset must be even. 0 16 0 65535 FGPFCCR FGPFCCR DMA2D foreground PFC control register 0x1C 0x20 read-write 0x00000000 CM Color mode These bits defines the color format of the foreground image. They can only be written when data transfers are disabled. Once the transfer has started, they are read-only. others: meaningless 0 4 CM ARGB8888 Color mode ARGB8888 0 RGB888 Color mode RGB888 1 RGB565 Color mode RGB565 2 ARGB1555 Color mode ARGB1555 3 ARGB4444 Color mode ARGB4444 4 L8 Color mode L8 5 AL44 Color mode AL44 6 AL88 Color mode AL88 7 L4 Color mode L4 8 A8 Color mode A8 9 A4 Color mode A4 10 YCbCr Color mode YCbCr 11 CCM CLUT color mode This bit defines the color format of the CLUT. It can only be written when the transfer is disabled. Once the CLUT transfer has started, this bit is read-only. 4 1 CCM ARGB8888 CLUT color format ARGB8888 0 RGB888 CLUT color format RGB888 1 START Start This bit can be set to start the automatic loading of the CLUT. It is automatically reset: ** at the end of the transfer ** when the transfer is aborted by the user application by setting the ABORT bit in DMA2D_CR ** when a transfer error occurs ** when the transfer has not started due to a configuration error or another transfer operation already ongoing (data transfer or automatic background CLUT transfer). 5 1 START Start Start the automatic loading of the CLUT 1 CS CLUT size These bits define the size of the CLUT used for the foreground image. Once the CLUT transfer has started, this field is read-only. The number of CLUT entries is equal to CS[7:0] + 1. 8 8 0 255 AM Alpha mode These bits select the alpha channel value to be used for the foreground image. They can only be written data the transfer are disabled. Once the transfer has started, they become read-only. other configurations are meaningless 16 2 AM NoModify No modification of alpha channel 0 Replace Replace with value in ALPHA[7:0] 1 Multiply Multiply with value in ALPHA[7:0] 2 CSS Chroma Sub-Sampling These bits define the chroma sub-sampling mode for YCbCr color mode. Once the transfer has started, these bits are read-only. others: meaningless 18 2 AI Alpha Inverted This bit inverts the alpha value. Once the transfer has started, this bit is read-only. 20 1 AI RegularAlpha Regular alpha 0 InvertedAlpha Inverted alpha 1 RBS Red Blue Swap This bit allows to swap the R & B to support BGR or ABGR color formats. Once the transfer has started, this bit is read-only. 21 1 RBS Regular No Red Blue Swap (RGB or ARGB) 0 Swap Red Blue Swap (BGR or ABGR) 1 ALPHA Alpha value These bits define a fixed alpha channel value which can replace the original alpha value or be multiplied by the original alpha value according to the alpha mode selected through the AM[1:0] bits. These bits can only be written when data transfers are disabled. Once a transfer has started, they become read-only. 24 8 0 255 FGCOLR FGCOLR DMA2D foreground color register 0x20 0x20 read-write 0x00000000 BLUE Blue Value These bits defines the blue value for the A4 or A8 mode of the foreground image. They can only be written when data transfers are disabled. Once the transfer has started, They are read-only. 0 8 0 255 GREEN Green Value These bits defines the green value for the A4 or A8 mode of the foreground image. They can only be written when data transfers are disabled. Once the transfer has started, They are read-only. 8 8 0 255 RED Red Value These bits defines the red value for the A4 or A8 mode of the foreground image. They can only be written when data transfers are disabled. Once the transfer has started, they are read-only. 16 8 0 255 BGPFCCR BGPFCCR DMA2D background PFC control register 0x24 0x20 read-write 0x00000000 CM Color mode These bits define the color format of the foreground image. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. others: meaningless 0 4 CM ARGB8888 Color mode ARGB8888 0 RGB888 Color mode RGB888 1 RGB565 Color mode RGB565 2 ARGB1555 Color mode ARGB1555 3 ARGB4444 Color mode ARGB4444 4 L8 Color mode L8 5 AL44 Color mode AL44 6 AL88 Color mode AL88 7 L4 Color mode L4 8 A8 Color mode A8 9 A4 Color mode A4 10 CCM CLUT Color mode These bits define the color format of the CLUT. This register can only be written when the transfer is disabled. Once the CLUT transfer has started, this bit is read-only. 4 1 CCM ARGB8888 CLUT color format ARGB8888 0 RGB888 CLUT color format RGB888 1 START Start This bit is set to start the automatic loading of the CLUT. This bit is automatically reset: ** at the end of the transfer ** when the transfer is aborted by the user application by setting the ABORT bit in the DMA2D_CR ** when a transfer error occurs ** when the transfer has not started due to a configuration error or another transfer operation already on going (data transfer or automatic BackGround CLUT transfer). 5 1 START Start Start the automatic loading of the CLUT 1 CS CLUT size These bits define the size of the CLUT used for the BG. Once the CLUT transfer has started, this field is read-only. The number of CLUT entries is equal to CS[7:0] + 1. 8 8 0 255 AM Alpha mode These bits define which alpha channel value to be used for the background image. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. others: meaningless 16 2 AM NoModify No modification of alpha channel 0 Replace Replace with value in ALPHA[7:0] 1 Multiply Multiply with value in ALPHA[7:0] 2 AI Alpha Inverted This bit inverts the alpha value. Once the transfer has started, this bit is read-only. 20 1 AI RegularAlpha Regular alpha 0 InvertedAlpha Inverted alpha 1 RBS Red Blue Swap This bit allows to swap the R & B to support BGR or ABGR color formats. Once the transfer has started, this bit is read-only. 21 1 RBS Regular No Red Blue Swap (RGB or ARGB) 0 Swap Red Blue Swap (BGR or ABGR) 1 ALPHA Alpha value These bits define a fixed alpha channel value which can replace the original alpha value or be multiplied with the original alpha value according to the alpha mode selected with bits AM[1: 0]. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. 24 8 0 255 BGCOLR BGCOLR DMA2D background color register 0x28 0x20 read-write 0x00000000 BLUE Blue Value These bits define the blue value for the A4 or A8 mode of the background. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. 0 8 0 255 GREEN Green Value These bits define the green value for the A4 or A8 mode of the background. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. 8 8 0 255 RED Red Value These bits define the red value for the A4 or A8 mode of the background. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. 16 8 0 255 FGCMAR FGCMAR DMA2D foreground CLUT memory address register 0x2C 0x20 read-write 0x00000000 MA Memory Address Address of the data used for the CLUT address dedicated to the foreground image. This register can only be written when no transfer is ongoing. Once the CLUT transfer has started, this register is read-only. If the foreground CLUT format is 32-bit, the address must be 32-bit aligned. 0 32 BGCMAR BGCMAR DMA2D background CLUT memory address register 0x30 0x20 read-write 0x00000000 MA Memory address Address of the data used for the CLUT address dedicated to the background image. This register can only be written when no transfer is on going. Once the CLUT transfer has started, this register is read-only. If the background CLUT format is 32-bit, the address must be 32-bit aligned. 0 32 OPFCCR OPFCCR DMA2D output PFC control register 0x34 0x20 read-write 0x00000000 CM Color mode These bits define the color format of the output image. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. others: meaningless 0 3 CM ARGB8888 ARGB8888 0 RGB888 RGB888 1 RGB565 RGB565 2 ARGB1555 ARGB1555 3 ARGB4444 ARGB4444 4 AI Alpha Inverted This bit inverts the alpha value. Once the transfer has started, this bit is read-only. 20 1 AI RegularAlpha Regular alpha 0 InvertedAlpha Inverted alpha 1 RBS Red Blue Swap This bit allows to swap the R & B to support BGR or ABGR color formats. Once the transfer has started, this bit is read-only. 21 1 RBS Regular No Red Blue Swap (RGB or ARGB) 0 Swap Red Blue Swap (BGR or ABGR) 1 SB Swap Bytes 8 1 SB Regular Regular byte order 0 SwapBytes Bytes are swapped two by two 1 OCOLR OCOLR DMA2D output color register 0x38 0x20 read-write 0x00000000 BLUE Blue Value These bits define the blue value of the output image. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. 0 8 GREEN Green Value These bits define the green value of the output image. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. 8 8 RED Red Value These bits define the red value of the output image. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. 16 8 ALPHA Alpha Channel Value These bits define the alpha channel of the output color. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. 24 8 OMAR OMAR DMA2D output memory address register 0x3C 0x20 read-write 0x00000000 MA Memory Address Address of the data used for the output FIFO. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. The address alignment must match the image format selected e.g. a 32-bit per pixel format must be 32-bit aligned and a 16-bit per pixel format must be 16-bit aligned. 0 32 OOR OOR DMA2D output offset register 0x40 0x20 read-write 0x00000000 LO Line Offset Line offset used for the output (expressed in pixels). This value is used for the address generation. It is added at the end of each line to determine the starting address of the next line. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. 0 16 0 65535 NLR NLR DMA2D number of line register 0x44 0x20 read-write 0x00000000 NL Number of lines Number of lines of the area to be transferred. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. 0 16 0 65535 PL Pixel per lines Number of pixels per lines of the area to be transferred. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. If any of the input image format is 4-bit per pixel, pixel per lines must be even. 16 14 0 16383 LWR LWR DMA2D line watermark register 0x48 0x20 read-write 0x00000000 LW Line watermark These bits allow to configure the line watermark for interrupt generation. An interrupt is raised when the last pixel of the watermarked line has been transferred. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. 0 16 AMTCR AMTCR DMA2D AXI master timer configuration register 0x4C 0x20 read-write 0x00000000 EN Enable Enables the dead time functionality. 0 1 EN Disabled Disabled AHB/AXI dead-time functionality 0 Enabled Enabled AHB/AXI dead-time functionality 1 DT Dead Time Dead time value in the AXI clock cycle inserted between two consecutive accesses on the AXI master port. These bits represent the minimum guaranteed number of cycles between two consecutive AXI accesses. 8 8 0 255 DMAMUX1 DMAMUX DMAMUX 0x40020800 0x0 0x400 registers DMAMUX1_OV DMAMUX1 overrun interrupt 102 16 0x4 0-15 C%sCR C%sCR 0x0 0x20 0x00000000 0xFFFFFFFF DMAREQ_ID DMA request identification Selects the input DMA request. See the DMAMUX table about assignments of multiplexer inputs to resources. 0 7 read-write DMAREQ_ID none No signal selected as request input 0 dmamux1_req_gen0 Signal `dmamux1_req_gen0` selected as request input 1 dmamux1_req_gen1 Signal `dmamux1_req_gen1` selected as request input 2 dmamux1_req_gen2 Signal `dmamux1_req_gen2` selected as request input 3 dmamux1_req_gen3 Signal `dmamux1_req_gen3` selected as request input 4 dmamux1_req_gen4 Signal `dmamux1_req_gen4` selected as request input 5 dmamux1_req_gen5 Signal `dmamux1_req_gen5` selected as request input 6 dmamux1_req_gen6 Signal `dmamux1_req_gen6` selected as request input 7 dmamux1_req_gen7 Signal `dmamux1_req_gen7` selected as request input 8 adc1_dma Signal `adc1_dma` selected as request input 9 adc2_dma Signal `adc2_dma` selected as request input 10 tim1_ch1 Signal `tim1_ch1` selected as request input 11 tim1_ch2 Signal `tim1_ch2` selected as request input 12 tim1_ch3 Signal `tim1_ch3` selected as request input 13 tim1_ch4 Signal `tim1_ch4` selected as request input 14 tim1_up Signal `tim1_up` selected as request input 15 tim1_trig Signal `tim1_trig` selected as request input 16 tim1_com Signal `tim1_com` selected as request input 17 tim2_ch1 Signal `tim2_ch1` selected as request input 18 tim2_ch2 Signal `tim2_ch2` selected as request input 19 tim2_ch3 Signal `tim2_ch3` selected as request input 20 tim2_ch4 Signal `tim2_ch4` selected as request input 21 tim2_up Signal `tim2_up` selected as request input 22 tim3_ch1 Signal `tim3_ch1` selected as request input 23 tim3_ch2 Signal `tim3_ch2` selected as request input 24 tim3_ch3 Signal `tim3_ch3` selected as request input 25 tim3_ch4 Signal `tim3_ch4` selected as request input 26 tim3_up Signal `tim3_up` selected as request input 27 tim3_trig Signal `tim3_trig` selected as request input 28 tim4_ch1 Signal `tim4_ch1` selected as request input 29 tim4_ch2 Signal `tim4_ch2` selected as request input 30 tim4_ch3 Signal `tim4_ch3` selected as request input 31 tim4_up Signal `tim4_up` selected as request input 32 i2c1_rx_dma Signal `i2c1_rx_dma` selected as request input 33 i2c1_tx_dma Signal `i2c1_tx_dma` selected as request input 34 i2c2_rx_dma Signal `i2c2_rx_dma` selected as request input 35 i2c2_tx_dma Signal `i2c2_tx_dma` selected as request input 36 spi1_rx_dma Signal `spi1_rx_dma` selected as request input 37 spi1_tx_dma Signal `spi1_tx_dma` selected as request input 38 spi2_rx_dma Signal `spi2_rx_dma` selected as request input 39 spi2_tx_dma Signal `spi2_tx_dma` selected as request input 40 usart1_rx_dma Signal `usart1_rx_dma` selected as request input 41 usart1_tx_dma Signal `usart1_tx_dma` selected as request input 42 usart2_rx_dma Signal `usart2_rx_dma` selected as request input 43 usart2_tx_dma Signal `usart2_tx_dma` selected as request input 44 usart3_rx_dma Signal `usart3_rx_dma` selected as request input 45 usart3_tx_dma Signal `usart3_tx_dma` selected as request input 46 tim8_ch1 Signal `tim8_ch1` selected as request input 47 tim8_ch2 Signal `tim8_ch2` selected as request input 48 tim8_ch3 Signal `tim8_ch3` selected as request input 49 tim8_ch4 Signal `tim8_ch4` selected as request input 50 tim8_up Signal `tim8_up` selected as request input 51 tim8_trig Signal `tim8_trig` selected as request input 52 tim8_com Signal `tim8_com` selected as request input 53 tim5_ch1 Signal `tim5_ch1` selected as request input 55 tim5_ch2 Signal `tim5_ch2` selected as request input 56 tim5_ch3 Signal `tim5_ch3` selected as request input 57 tim5_ch4 Signal `tim5_ch4` selected as request input 58 tim5_up Signal `tim5_up` selected as request input 59 tim5_trig Signal `tim5_trig` selected as request input 60 spi3_rx_dma Signal `spi3_rx_dma` selected as request input 61 spi3_tx_dma Signal `spi3_tx_dma` selected as request input 62 uart4_rx_dma Signal `uart4_rx_dma` selected as request input 63 uart4_tx_dma Signal `uart4_tx_dma` selected as request input 64 uart5_rx_dma Signal `uart5_rx_dma` selected as request input 65 uart5_tx_dma Signal `uart5_tx_dma` selected as request input 66 dac_ch1_dma Signal `dac_ch1_dma` selected as request input 67 dac_ch2_dma Signal `dac_ch2_dma` selected as request input 68 tim6_up Signal `tim6_up` selected as request input 69 tim7_up Signal `tim7_up` selected as request input 70 usart6_rx_dma Signal `usart6_rx_dma` selected as request input 71 usart6_tx_dma Signal `usart6_tx_dma` selected as request input 72 i2c3_rx_dma Signal `i2c3_rx_dma` selected as request input 73 i2c3_tx_dma Signal `i2c3_tx_dma` selected as request input 74 dcmi_dma Signal `dcmi_dma` selected as request input 75 cryp_in_dma Signal `cryp_in_dma` selected as request input 76 cryp_out_dma Signal `cryp_out_dma` selected as request input 77 hash_in_dma Signal `hash_in_dma` selected as request input 78 uart7_rx_dma Signal `uart7_rx_dma` selected as request input 79 uart7_tx_dma Signal `uart7_tx_dma` selected as request input 80 uart8_rx_dma Signal `uart8_rx_dma` selected as request input 81 uart8_tx_dma Signal `uart8_tx_dma` selected as request input 82 spi4_rx_dma Signal `spi4_rx_dma` selected as request input 83 spi4_tx_dma Signal `spi4_tx_dma` selected as request input 84 spi5_rx_dma Signal `spi5_rx_dma` selected as request input 85 spi5_tx_dma Signal `spi5_tx_dma` selected as request input 86 sai1a_dma Signal `sai1a_dma` selected as request input 87 sai1b_dma Signal `sai1b_dma` selected as request input 88 sai2a_dma Signal `sai2a_dma` selected as request input 89 sai2b_dma Signal `sai2b_dma` selected as request input 90 swpmi_rx_dma Signal `swpmi_rx_dma` selected as request input 91 swpmi_tx_dma Signal `swpmi_tx_dma` selected as request input 92 spdifrx_dat_dma Signal `spdifrx_dat_dma` selected as request input 93 spdifrx_ctrl_dma Signal `spdifrx_ctrl_dma` selected as request input 94 hr_req1 Signal `hr_req(1)` selected as request input 95 hr_req2 Signal `hr_req(2)` selected as request input 96 hr_req3 Signal `hr_req(3)` selected as request input 97 hr_req4 Signal `hr_req(4)` selected as request input 98 hr_req5 Signal `hr_req(5)` selected as request input 99 hr_req6 Signal `hr_req(6)` selected as request input 100 dfsdm1_dma0 Signal `dfsdm1_dma0` selected as request input 101 dfsdm1_dma1 Signal `dfsdm1_dma1` selected as request input 102 dfsdm1_dma2 Signal `dfsdm1_dma2` selected as request input 103 dfsdm1_dma3 Signal `dfsdm1_dma3` selected as request input 104 tim15_ch1 Signal `tim15_ch1` selected as request input 105 tim15_up Signal `tim15_up` selected as request input 106 tim15_trig Signal `tim15_trig` selected as request input 107 tim15_com Signal `tim15_com` selected as request input 108 tim16_ch1 Signal `tim16_ch1` selected as request input 109 tim16_up Signal `tim16_up` selected as request input 110 tim17_ch1 Signal `tim17_ch1` selected as request input 111 tim17_up Signal `tim17_up` selected as request input 112 sai3_a_dma Signal `sai3_a_dma` selected as request input 113 sai3_b_dma Signal `sai3_b_dma` selected as request input 114 adc3_dma Signal `adc3_dma` selected as request input 115 SOIE Synchronization overrun interrupt enable 8 1 read-write SOIE Disabled Synchronization overrun interrupt disabled 0 Enabled Synchronization overrun interrupt enabled 1 EGE Event generation enable 9 1 read-write EGE Disabled Event generation disabled 0 Enabled Event generation enabled 1 SE Synchronization enable 16 1 read-write SE Disabled Synchronization disabled 0 Enabled Synchronization enabled 1 SPOL Synchronization polarity Defines the edge polarity of the selected synchronization input: 17 2 read-write SPOL NoEdge No event, i.e. no synchronization nor detection 0 RisingEdge Rising edge 1 FallingEdge Falling edge 2 BothEdges Rising and falling edges 3 NBREQ Number of DMA requests minus 1 to forward Defines the number of DMA requests to forward to the DMA controller after a synchronization event, and/or the number of DMA requests before an output event is generated. This field shall only be written when both SE and EGE bits are low. 19 5 read-write 0 31 SYNC_ID Synchronization identification Selects the synchronization input (see inputs to resources). 24 3 read-write SYNC_ID dmamux1_evt0 Signal `dmamux1_evt0` selected as synchronization input 0 dmamux1_evt1 Signal `dmamux1_evt1` selected as synchronization input 1 dmamux1_evt2 Signal `dmamux1_evt2` selected as synchronization input 2 lptim1_out Signal `lptim1_out` selected as synchronization input 3 lptim2_out Signal `lptim2_out` selected as synchronization input 4 lptim3_out Signal `lptim3_out` selected as synchronization input 5 extit0 Signal `extit0` selected as synchronization input 6 tim12_trgo Signal `tim12_trgo` selected as synchronization input 7 CSR CSR 0x80 0x20 0x00000000 0xFFFFFFFF 16 0x1 0-15 SOF%s Synchronization overrun event flag The flag is set when a synchronization event occurs on a DMA request line multiplexer channel x, while the DMA request counter value is lower than NBREQ. The flag is cleared by writing 1 to the corresponding CSOFx bit in DMAMUX_CFR register. For DMAMUX2 bits 15:8 are reserved, keep them at reset value. 0 1 read-only SOF0 NoSyncEvent No synchronization event occured on a DMA request line multiplexer channel x, while the DMA request counter value is lower than NBREQ 0 SyncEvent Synchronization event occured on a DMA request line multiplexer channel x, while the DMA request counter value is lower than NBREQ 1 CFR CFR 0x84 0x20 0x00000000 0xFFFFFFFF 16 0x1 0-15 CSOF%s Clear synchronization overrun event flag Writing 1 in each bit clears the corresponding overrun flag SOFx in the DMAMUX_CSR register. 0 1 write-only oneToClear CSOF0W Clear Clear synchronization flag 1 8 0x4 0-7 RG%sCR RG%sCR 0x100 0x20 0x00000000 0xFFFFFFFF SIG_ID Signal identification Selects the DMA request trigger input used for the channel x of the DMA request generator 0 3 read-write SIG_ID dmamux1_evt0 Signal `dmamux1_evt0` selected as trigger input 0 dmamux1_evt1 Signal `dmamux1_evt1` selected as trigger input 1 dmamux1_evt2 Signal `dmamux1_evt2` selected as trigger input 2 lptim1_out Signal `lptim1_out` selected as trigger input 3 lptim2_out Signal `lptim2_out` selected as trigger input 4 lptim3_out Signal `lptim3_out` selected as trigger input 5 extit0 Signal `extit0` selected as trigger input 6 tim12_trgo Signal `tim12_trgo` selected as trigger input 7 OIE Trigger overrun interrupt enable 8 1 read-write OIE Disabled Trigger overrun interrupt disabled 0 Enabled Trigger overrun interrupt enabled 1 GE DMA request generator channel x enable 16 1 read-write GE Disabled DMA request generation disabled 0 Enabled DMA request enabled 1 GPOL DMA request generator trigger polarity Defines the edge polarity of the selected trigger input 17 2 read-write GPOL NoEdge No event, i.e. no detection nor generation 0 RisingEdge Rising edge 1 FallingEdge Falling edge 2 BothEdges Rising and falling edges 3 GNBREQ Number of DMA requests to be generated (minus 1) Defines the number of DMA requests to be generated after a trigger event. The actual number of generated DMA requests is GNBREQ +1. Note: This field must be written only when GE bit is disabled. 19 5 read-write 0 31 RGSR RGSR 0x140 0x20 0x00000000 0xFFFFFFFF 8 0x1 0-7 OF%s [:0]: Trigger overrun event flag The flag is set when a new trigger event occurs on DMA request generator channel x, before the request counter underrun (the internal request counter programmed via the GNBREQ field of the DMAMUX_RGxCR register). The flag is cleared by writing 1 to the corresponding COFx bit in the DMAMUX_RGCFR register. 0 1 read-only OF0 NoTrigger No new trigger event occured on DMA request generator channel x, before the request counter underrun 0 Trigger New trigger event occured on DMA request generator channel x, before the request counter underrun 1 RGCFR RGCFR 0x144 0x20 0x00000000 0xFFFFFFFF 8 0x1 0-7 COF%s Clear trigger overrun event flag Writing 1 in each bit clears the corresponding overrun flag OFx in the DMAMUX_RGSR register. 0 1 write-only oneToClear COF0W Clear Clear overrun flag 1 DMAMUX2 DMAMUX DMAMUX 0x58025800 0x0 0x400 registers DMAMUX2_OVR DMAMUX2 overrun interrupt 128 8 0x4 0-7 C%sCR C%sCR DMAMux - DMA request line multiplexer channel x control register 0x0 0x20 read-write 0x00000000 DMAREQ_ID Input DMA request line selected 0 8 DMAREQ_ID none No signal selected as request input 0 dmamux2_req_gen0 Signal `dmamux2_req_gen0` selected as request input 1 dmamux2_req_gen1 Signal `dmamux2_req_gen1` selected as request input 2 dmamux2_req_gen2 Signal `dmamux2_req_gen2` selected as request input 3 dmamux2_req_gen3 Signal `dmamux2_req_gen3` selected as request input 4 dmamux2_req_gen4 Signal `dmamux2_req_gen4` selected as request input 5 dmamux2_req_gen5 Signal `dmamux2_req_gen5` selected as request input 6 dmamux2_req_gen6 Signal `dmamux2_req_gen6` selected as request input 7 dmamux2_req_gen7 Signal `dmamux2_req_gen7` selected as request input 8 lpuart1_rx_dma Signal `lpuart1_rx_dma` selected as request input 9 lpuart1_tx_dma Signal `lpuart1_tx_dma` selected as request input 10 spi6_rx_dma Signal `spi6_rx_dma` selected as request input 11 spi6_tx_dma Signal `spi6_tx_dma` selected as request input 12 i2c4_rx_dma Signal `i2c4_rx_dma` selected as request input 13 i2c4_tx_dma Signal `i2c4_tx_dma` selected as request input 14 sai4_a_dma Signal `sai4_a_dma` selected as request input 15 sai4_b_dma Signal `sai4_b_dma` selected as request input 16 adc3_dma Signal `adc3_dma` selected as request input 17 SOIE Interrupt enable at synchronization event overrun 8 1 SOIE Disabled Synchronization overrun interrupt disabled 0 Enabled Synchronization overrun interrupt enabled 1 EGE Event generation enable/disable 9 1 EGE Disabled Event generation disabled 0 Enabled Event generation enabled 1 SE Synchronous operating mode enable/disable 16 1 SE Disabled Synchronization disabled 0 Enabled Synchronization enabled 1 SPOL Synchronization event type selector Defines the synchronization event on the selected synchronization input: 17 2 SPOL NoEdge No event, i.e. no synchronization nor detection 0 RisingEdge Rising edge 1 FallingEdge Falling edge 2 BothEdges Rising and falling edges 3 NBREQ Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset. 19 5 0 31 SYNC_ID Synchronization input selected 24 5 SYNC_ID dmamux2_evt0 Signal `dmamux2_evt0` selected as synchronization input 0 dmamux2_evt1 Signal `dmamux2_evt1` selected as synchronization input 1 dmamux2_evt2 Signal `dmamux2_evt2` selected as synchronization input 2 dmamux2_evt3 Signal `dmamux2_evt3` selected as synchronization input 3 dmamux2_evt4 Signal `dmamux2_evt4` selected as synchronization input 4 dmamux2_evt5 Signal `dmamux2_evt5` selected as synchronization input 5 lpuart1_rx_wkup Signal `lpuart1_rx_wkup` selected as synchronization input 6 lpuart1_tx_wkup Signal `lpuart1_tx_wkup` selected as synchronization input 7 lptim2_out Signal `lptim2_out` selected as synchronization input 8 lptim3_out Signal `lptim3_out` selected as synchronization input 9 i2c4_wkup Signal `i2c4_wkup` selected as synchronization input 10 spi6_wkup Signal `spi6_wkup` selected as synchronization input 11 comp1_out Signal `comp1_out` selected as synchronization input 12 rtc_wkup Signal `rtc_wkup` selected as synchronization input 13 syscfg_exti0_mux Signal `syscfg_exti0_mux` selected as synchronization input 14 syscfg_exti2_mux Signal `syscfg_exti2_mux` selected as synchronization input 15 8 0x4 0-7 RG%sCR RG%sCR DMAMux - DMA request generator channel x control register 0x100 0x20 read-write 0x00000000 SIG_ID DMA request trigger input selected 0 5 SIG_ID dmamux2_evt0 Signal `dmamux2_evt0` selected as trigger input 0 dmamux2_evt1 Signal `dmamux2_evt1` selected as trigger input 1 dmamux2_evt2 Signal `dmamux2_evt2` selected as trigger input 2 dmamux2_evt3 Signal `dmamux2_evt3` selected as trigger input 3 dmamux2_evt4 Signal `dmamux2_evt4` selected as trigger input 4 dmamux2_evt5 Signal `dmamux2_evt5` selected as trigger input 5 dmamux2_evt6 Signal `dmamux2_evt6` selected as trigger input 6 lpuart_rx_wkup Signal `lpuart_rx_wkup` selected as trigger input 7 lpuart_tx_wkup Signal `lpuart_tx_wkup` selected as trigger input 8 lptim2_wkup Signal `lptim2_wkup` selected as trigger input 9 lptim2_out Signal `lptim2_out` selected as trigger input 10 lptim3_wkup Signal `lptim3_wkup` selected as trigger input 11 lptim3_out Signal `lptim3_out` selected as trigger input 12 lptim4_ait Signal `lptim4_ait` selected as trigger input 13 lptim5_ait Signal `lptim5_ait` selected as trigger input 14 i2c4_wkup Signal `i2c4_wkup` selected as trigger input 15 spi6_wkup Signal `spi6_wkup` selected as trigger input 16 comp1_out Signal `comp1_out` selected as trigger input 17 comp2_out Signal `comp2_out` selected as trigger input 18 rtc_wkup Signal `rtc_wkup` selected as trigger input 19 syscfg_exti0_mux Signal `syscfg_exti0_mux` selected as trigger input 20 syscfg_exti2_mux Signal `syscfg_exti2_mux` selected as trigger input 21 i2c4_event_it Signal `i2c4_event_it` selected as trigger input 22 spi6_it Signal `spi6_it` selected as trigger input 23 lpuart1_it_t Signal `lpuart1_it_t` selected as trigger input 24 lpuart1_it_r Signal `lpuart1_it_r` selected as trigger input 25 adc3_it Signal `adc3_it` selected as trigger input 26 adc3_awd1 Signal `adc3_awd1` selected as trigger input 27 bdma_ch0_it Signal `bdma_ch0_it` selected as trigger input 28 bdma_ch1_it Signal `bdma_ch1_it` selected as trigger input 29 OIE Interrupt enable at trigger event overrun 8 1 OIE Disabled Trigger overrun interrupt disabled 0 Enabled Trigger overrun interrupt enabled 1 GE DMA request generator channel enable/disable 16 1 GE Disabled DMA request generation disabled 0 Enabled DMA request enabled 1 GPOL DMA request generator trigger event type selection Defines the trigger event on the selected DMA request trigger input 17 2 GPOL NoEdge No event, i.e. no detection nor generation 0 RisingEdge Rising edge 1 FallingEdge Falling edge 2 BothEdges Rising and falling edges 3 GNBREQ Number of DMA requests to generate Defines the number of DMA requests generated after a trigger event, then stop generating. The actual number of generated DMA requests is GNBREQ+1. Note: This field can only be written when GE bit is reset. 19 5 0 31 RGSR RGSR DMAMux - DMA request generator status register 0x140 0x20 read-only 0x00000000 8 0x1 0-7 OF%s Trigger event overrun flag The flag is set when a trigger event occurs on DMA request generator channel x, while the DMA request generator counter value is lower than GNBREQ. The flag is cleared by writing 1 to the corresponding COFx bit in DMAMUX_RGCFR register. 0 1 OF0 NoTrigger No new trigger event occured on DMA request generator channel x, before the request counter underrun 0 Trigger New trigger event occured on DMA request generator channel x, before the request counter underrun 1 RGCFR RGCFR DMAMux - DMA request generator clear flag register 0x144 0x20 write-only 0x00000000 8 0x1 0-7 COF%s Clear trigger event overrun flag Upon setting, this bit clears the corresponding overrun flag OFx in the DMAMUX_RGCSR register. 0 1 oneToClear COF0W Clear Clear overrun flag 1 CSR CSR DMAMUX request line multiplexer interrupt channel status register 0x80 0x20 read-only 0x00000000 16 0x1 0-15 SOF%s Synchronization overrun event flag 0 1 SOF0 NoSyncEvent No synchronization event occured on a DMA request line multiplexer channel x, while the DMA request counter value is lower than NBREQ 0 SyncEvent Synchronization event occured on a DMA request line multiplexer channel x, while the DMA request counter value is lower than NBREQ 1 CFR CFR DMAMUX request line multiplexer interrupt clear flag register 0x84 0x20 write-only 0x00000000 16 0x1 0-15 CSOF%s Clear synchronization overrun event flag 0 1 oneToClear CSOFW Clear Clear synchronization flag 1 Delay_Block_OCTOSPI1 0x52006000 Delay_Block_OCTOSPI2 0x5200B000 EXTI External interrupt/event controller EXTI 0x58000000 0x0 0x400 registers EXTI0 EXTI Line 0 interrupt 6 EXTI1 EXTI Line 1 interrupt 7 EXTI2 EXTI Line 2 interrupt 8 EXTI3 EXTI Line 3interrupt 9 EXTI4 EXTI Line 4interrupt 10 EXTI9_5 EXTI Line[9:5] interrupts 23 EXTI15_10 EXTI Line[15:10] interrupts 40 WKUP WKUP1 to WKUP6 pins 149 HASH_RNG HASH OR RNG interrupt 80 FPU CPU FPU interrupt 81 TEMP_IT Temperature sensor global interrupt 147 RTSR1 RTSR1 EXTI rising trigger selection register 0x0 0x20 read-write 0x00000000 TR0 Rising trigger event configuration bit of Configurable Event input 0 1 RisingTrigger Disabled Rising edge trigger is disabled 0 Enabled Rising edge trigger is enabled 1 TR1 Rising trigger event configuration bit of Configurable Event input 1 1 TR2 Rising trigger event configuration bit of Configurable Event input 2 1 TR3 Rising trigger event configuration bit of Configurable Event input 3 1 TR4 Rising trigger event configuration bit of Configurable Event input 4 1 TR5 Rising trigger event configuration bit of Configurable Event input 5 1 TR6 Rising trigger event configuration bit of Configurable Event input 6 1 TR7 Rising trigger event configuration bit of Configurable Event input 7 1 TR8 Rising trigger event configuration bit of Configurable Event input 8 1 TR9 Rising trigger event configuration bit of Configurable Event input 9 1 TR10 Rising trigger event configuration bit of Configurable Event input 10 1 TR11 Rising trigger event configuration bit of Configurable Event input 11 1 TR12 Rising trigger event configuration bit of Configurable Event input 12 1 TR13 Rising trigger event configuration bit of Configurable Event input 13 1 TR14 Rising trigger event configuration bit of Configurable Event input 14 1 TR15 Rising trigger event configuration bit of Configurable Event input 15 1 TR16 Rising trigger event configuration bit of Configurable Event input 16 1 TR17 Rising trigger event configuration bit of Configurable Event input 17 1 TR18 Rising trigger event configuration bit of Configurable Event input 18 1 TR19 Rising trigger event configuration bit of Configurable Event input 19 1 TR20 Rising trigger event configuration bit of Configurable Event input 20 1 TR21 Rising trigger event configuration bit of Configurable Event input 21 1 FTSR1 FTSR1 EXTI falling trigger selection register 0x4 0x20 read-write 0x00000000 TR0 Rising trigger event configuration bit of Configurable Event input 0 1 FallingTrigger Disabled Falling edge trigger is disabled 0 Enabled Falling edge trigger is enabled 1 TR1 Rising trigger event configuration bit of Configurable Event input 1 1 TR2 Rising trigger event configuration bit of Configurable Event input 2 1 TR3 Rising trigger event configuration bit of Configurable Event input 3 1 TR4 Rising trigger event configuration bit of Configurable Event input 4 1 TR5 Rising trigger event configuration bit of Configurable Event input 5 1 TR6 Rising trigger event configuration bit of Configurable Event input 6 1 TR7 Rising trigger event configuration bit of Configurable Event input 7 1 TR8 Rising trigger event configuration bit of Configurable Event input 8 1 TR9 Rising trigger event configuration bit of Configurable Event input 9 1 TR10 Rising trigger event configuration bit of Configurable Event input 10 1 TR11 Rising trigger event configuration bit of Configurable Event input 11 1 TR12 Rising trigger event configuration bit of Configurable Event input 12 1 TR13 Rising trigger event configuration bit of Configurable Event input 13 1 TR14 Rising trigger event configuration bit of Configurable Event input 14 1 TR15 Rising trigger event configuration bit of Configurable Event input 15 1 TR16 Rising trigger event configuration bit of Configurable Event input 16 1 TR17 Rising trigger event configuration bit of Configurable Event input 17 1 TR18 Rising trigger event configuration bit of Configurable Event input 18 1 TR19 Rising trigger event configuration bit of Configurable Event input 19 1 TR20 Rising trigger event configuration bit of Configurable Event input 20 1 TR21 Rising trigger event configuration bit of Configurable Event input 21 1 SWIER1 SWIER1 EXTI software interrupt event register 0x8 0x20 read-write 0x00000000 SWIER0 Rising trigger event configuration bit of Configurable Event input 0 1 SoftwareInterrupt write Pend Generates an interrupt request 1 SWIER1 Rising trigger event configuration bit of Configurable Event input 1 1 SWIER2 Rising trigger event configuration bit of Configurable Event input 2 1 SWIER3 Rising trigger event configuration bit of Configurable Event input 3 1 SWIER4 Rising trigger event configuration bit of Configurable Event input 4 1 SWIER5 Rising trigger event configuration bit of Configurable Event input 5 1 SWIER6 Rising trigger event configuration bit of Configurable Event input 6 1 SWIER7 Rising trigger event configuration bit of Configurable Event input 7 1 SWIER8 Rising trigger event configuration bit of Configurable Event input 8 1 SWIER9 Rising trigger event configuration bit of Configurable Event input 9 1 SWIER10 Rising trigger event configuration bit of Configurable Event input 10 1 SWIER11 Rising trigger event configuration bit of Configurable Event input 11 1 SWIER12 Rising trigger event configuration bit of Configurable Event input 12 1 SWIER13 Rising trigger event configuration bit of Configurable Event input 13 1 SWIER14 Rising trigger event configuration bit of Configurable Event input 14 1 SWIER15 Rising trigger event configuration bit of Configurable Event input 15 1 SWIER16 Rising trigger event configuration bit of Configurable Event input 16 1 SWIER17 Rising trigger event configuration bit of Configurable Event input 17 1 SWIER18 Rising trigger event configuration bit of Configurable Event input 18 1 SWIER19 Rising trigger event configuration bit of Configurable Event input 19 1 SWIER20 Rising trigger event configuration bit of Configurable Event input 20 1 SWIER21 Rising trigger event configuration bit of Configurable Event input 21 1 D3PMR1 D3PMR1 EXTI D3 pending mask register 0xC 0x20 read-write 0x00000000 MR0 Rising trigger event configuration bit of Configurable Event input 0 1 InterruptMask Masked Interrupt request line is masked 0 Unmasked Interrupt request line is unmasked 1 MR1 Rising trigger event configuration bit of Configurable Event input 1 1 MR2 Rising trigger event configuration bit of Configurable Event input 2 1 MR3 Rising trigger event configuration bit of Configurable Event input 3 1 MR4 Rising trigger event configuration bit of Configurable Event input 4 1 MR5 Rising trigger event configuration bit of Configurable Event input 5 1 MR6 Rising trigger event configuration bit of Configurable Event input 6 1 MR7 Rising trigger event configuration bit of Configurable Event input 7 1 MR8 Rising trigger event configuration bit of Configurable Event input 8 1 MR9 Rising trigger event configuration bit of Configurable Event input 9 1 MR10 Rising trigger event configuration bit of Configurable Event input 10 1 MR11 Rising trigger event configuration bit of Configurable Event input 11 1 MR12 Rising trigger event configuration bit of Configurable Event input 12 1 MR13 Rising trigger event configuration bit of Configurable Event input 13 1 MR14 Rising trigger event configuration bit of Configurable Event input 14 1 MR15 Rising trigger event configuration bit of Configurable Event input 15 1 MR19 Rising trigger event configuration bit of Configurable Event input 19 1 MR20 Rising trigger event configuration bit of Configurable Event input 20 1 MR21 Rising trigger event configuration bit of Configurable Event input 21 1 MR25 Rising trigger event configuration bit of Configurable Event input 25 1 D3PCR1L D3PCR1L EXTI D3 pending clear selection register low 0x10 0x20 read-write 0x00000000 PCS0 D3 Pending request clear input signal selection on Event input x = truncate (n/2) 0 2 PCS0 DMA_CH6 DMA ch6 event selected as D3 domain pendclear source 0 DMA_CH7 DMA ch7 event selected as D3 domain pendclear source 1 LPTIM4 LPTIM4 out selected as D3 domain pendclear source 2 LPTIM5 LPTIM5 out selected as D3 domain pendclear source 3 PCS1 D3 Pending request clear input signal selection on Event input x = truncate (n/2) 2 2 PCS2 D3 Pending request clear input signal selection on Event input x = truncate (n/2) 4 2 PCS3 D3 Pending request clear input signal selection on Event input x = truncate (n/2) 6 2 PCS4 D3 Pending request clear input signal selection on Event input x = truncate (n/2) 8 2 PCS5 D3 Pending request clear input signal selection on Event input x = truncate (n/2) 10 2 PCS6 D3 Pending request clear input signal selection on Event input x = truncate (n/2) 12 2 PCS7 D3 Pending request clear input signal selection on Event input x = truncate (n/2) 14 2 PCS8 D3 Pending request clear input signal selection on Event input x = truncate (n/2) 16 2 PCS9 D3 Pending request clear input signal selection on Event input x = truncate (n/2) 18 2 PCS10 D3 Pending request clear input signal selection on Event input x = truncate (n/2) 20 2 PCS11 D3 Pending request clear input signal selection on Event input x = truncate (n/2) 22 2 PCS12 D3 Pending request clear input signal selection on Event input x = truncate (n/2) 24 2 PCS13 D3 Pending request clear input signal selection on Event input x = truncate (n/2) 26 2 PCS14 D3 Pending request clear input signal selection on Event input x = truncate (n/2) 28 2 PCS15 D3 Pending request clear input signal selection on Event input x = truncate (n/2) 30 2 D3PCR1H D3PCR1H EXTI D3 pending clear selection register high 0x14 0x20 read-write 0x00000000 PCS19 D3 Pending request clear input signal selection on Event input x = truncate ((n+32)/2) 6 2 PCS19 DMA_CH6 DMA ch6 event selected as D3 domain pendclear source 0 DMA_CH7 DMA ch7 event selected as D3 domain pendclear source 1 LPTIM4 LPTIM4 out selected as D3 domain pendclear source 2 LPTIM5 LPTIM5 out selected as D3 domain pendclear source 3 PCS20 D3 Pending request clear input signal selection on Event input x = truncate ((n+32)/2) 8 2 PCS21 D3 Pending request clear input signal selection on Event input x = truncate ((n+32)/2) 10 2 PCS25 D3 Pending request clear input signal selection on Event input x = truncate ((n+32)/2) 18 2 RTSR2 RTSR2 EXTI rising trigger selection register 0x20 0x20 read-write 0x00000000 TR49 Rising trigger event configuration bit of Configurable Event input x+32 17 1 RisingTrigger Disabled Rising edge trigger is disabled 0 Enabled Rising edge trigger is enabled 1 TR51 Rising trigger event configuration bit of Configurable Event input x+32 19 1 FTSR2 FTSR2 EXTI falling trigger selection register 0x24 0x20 read-write 0x00000000 TR49 Falling trigger event configuration bit of Configurable Event input x+32 17 1 FallingTrigger Disabled Falling edge trigger is disabled 0 Enabled Falling edge trigger is enabled 1 TR51 Falling trigger event configuration bit of Configurable Event input x+32 19 1 SWIER2 SWIER2 EXTI software interrupt event register 0x28 0x20 read-write 0x00000000 SWIER49 Software interrupt on line x+32 17 1 SoftwareInterrupt write Pend Generates an interrupt request 1 SWIER51 Software interrupt on line x+32 19 1 D3PMR2 D3PMR2 EXTI D3 pending mask register 0x2C 0x20 read-write 0x00000000 MR34 D3 Pending Mask on Event input x+32 2 1 InterruptMask Masked Interrupt request line is masked 0 Unmasked Interrupt request line is unmasked 1 MR35 D3 Pending Mask on Event input x+32 3 1 MR41 D3 Pending Mask on Event input x+32 9 1 MR48 D3 Pending Mask on Event input x+32 16 1 MR49 D3 Pending Mask on Event input x+32 17 1 MR50 D3 Pending Mask on Event input x+32 18 1 MR51 D3 Pending Mask on Event input x+32 19 1 MR52 D3 Pending Mask on Event input x+32 20 1 MR53 D3 Pending Mask on Event input x+32 21 1 D3PCR2L D3PCR2L EXTI D3 pending clear selection register low 0x30 0x20 read-write 0x00000000 PCS34 D3 Pending request clear input signal selection on Event input x = truncate ((n+64)/2) 4 2 PCS34 DMA_CH6 DMA ch6 event selected as D3 domain pendclear source 0 DMA_CH7 DMA ch7 event selected as D3 domain pendclear source 1 LPTIM4 LPTIM4 out selected as D3 domain pendclear source 2 LPTIM5 LPTIM5 out selected as D3 domain pendclear source 3 PCS35 D3 Pending request clear input signal selection on Event input x = truncate ((n+64)/2) 6 2 PCS41 D3 Pending request clear input signal selection on Event input x = truncate ((n+64)/2) 18 2 D3PCR2H D3PCR2H EXTI D3 pending clear selection register high 0x34 0x20 read-write 0x00000000 PCS48 Pending request clear input signal selection on Event input x= truncate ((n+96)/2) 0 2 PCS48 DMA_CH6 DMA ch6 event selected as D3 domain pendclear source 0 DMA_CH7 DMA ch7 event selected as D3 domain pendclear source 1 LPTIM4 LPTIM4 out selected as D3 domain pendclear source 2 LPTIM5 LPTIM5 out selected as D3 domain pendclear source 3 PCS49 Pending request clear input signal selection on Event input x= truncate ((n+96)/2) 2 2 PCS50 Pending request clear input signal selection on Event input x= truncate ((n+96)/2) 4 2 PCS51 Pending request clear input signal selection on Event input x= truncate ((n+96)/2) 6 2 PCS52 Pending request clear input signal selection on Event input x= truncate ((n+96)/2) 8 2 PCS53 Pending request clear input signal selection on Event input x= truncate ((n+96)/2) 10 2 RTSR3 RTSR3 EXTI rising trigger selection register 0x40 0x20 read-write 0x00000000 TR82 Rising trigger event configuration bit of Configurable Event input x+64 18 1 RisingTrigger Disabled Rising edge trigger is disabled 0 Enabled Rising edge trigger is enabled 1 TR84 Rising trigger event configuration bit of Configurable Event input x+64 20 1 TR85 Rising trigger event configuration bit of Configurable Event input x+64 21 1 TR86 Rising trigger event configuration bit of Configurable Event input x+64 22 1 FTSR3 FTSR3 EXTI falling trigger selection register 0x44 0x20 read-write 0x00000000 TR82 Falling trigger event configuration bit of Configurable Event input x+64 18 1 FallingTrigger Disabled Falling edge trigger is disabled 0 Enabled Falling edge trigger is enabled 1 TR84 Falling trigger event configuration bit of Configurable Event input x+64 20 1 TR85 Falling trigger event configuration bit of Configurable Event input x+64 21 1 TR86 Falling trigger event configuration bit of Configurable Event input x+64 22 1 SWIER3 SWIER3 EXTI software interrupt event register 0x48 0x20 read-write 0x00000000 SWIER82 Software interrupt on line x+64 18 1 SoftwareInterrupt write Pend Generates an interrupt request 1 SWIER84 Software interrupt on line x+64 20 1 SWIER85 Software interrupt on line x+64 21 1 SWIER86 Software interrupt on line x+64 22 1 D3PMR3 D3PMR3 EXTI D3 pending mask register 0x4C 0x20 read-write 0x00000000 MR88 D3 Pending Mask on Event input x+64 24 1 InterruptMask Masked Interrupt request line is masked 0 Unmasked Interrupt request line is unmasked 1 D3PCR3H D3PCR3H EXTI D3 pending clear selection register high 0x54 0x20 read-write 0x00000000 PCS88 D3 Pending request clear input signal selection on Event input x= truncate N+160/2 18 2 PCS88 DMA_CH6 DMA ch6 event selected as D3 domain pendclear source 0 DMA_CH7 DMA ch7 event selected as D3 domain pendclear source 1 LPTIM4 LPTIM4 out selected as D3 domain pendclear source 2 LPTIM5 LPTIM5 out selected as D3 domain pendclear source 3 CPUIMR1 CPUIMR1 EXTI interrupt mask register 0x80 0x20 read-write 0xFFC00000 MR0 Rising trigger event configuration bit of Configurable Event input 0 1 InterruptMask Masked Interrupt request line is masked 0 Unmasked Interrupt request line is unmasked 1 MR1 Rising trigger event configuration bit of Configurable Event input 1 1 MR2 Rising trigger event configuration bit of Configurable Event input 2 1 MR3 Rising trigger event configuration bit of Configurable Event input 3 1 MR4 Rising trigger event configuration bit of Configurable Event input 4 1 MR5 Rising trigger event configuration bit of Configurable Event input 5 1 MR6 Rising trigger event configuration bit of Configurable Event input 6 1 MR7 Rising trigger event configuration bit of Configurable Event input 7 1 MR8 Rising trigger event configuration bit of Configurable Event input 8 1 MR9 Rising trigger event configuration bit of Configurable Event input 9 1 MR10 Rising trigger event configuration bit of Configurable Event input 10 1 MR11 Rising trigger event configuration bit of Configurable Event input 11 1 MR12 Rising trigger event configuration bit of Configurable Event input 12 1 MR13 Rising trigger event configuration bit of Configurable Event input 13 1 MR14 Rising trigger event configuration bit of Configurable Event input 14 1 MR15 Rising trigger event configuration bit of Configurable Event input 15 1 MR16 Rising trigger event configuration bit of Configurable Event input 16 1 MR17 Rising trigger event configuration bit of Configurable Event input 17 1 MR18 Rising trigger event configuration bit of Configurable Event input 18 1 MR19 Rising trigger event configuration bit of Configurable Event input 19 1 MR20 Rising trigger event configuration bit of Configurable Event input 20 1 MR21 Rising trigger event configuration bit of Configurable Event input 21 1 MR22 Rising trigger event configuration bit of Configurable Event input 22 1 MR23 Rising trigger event configuration bit of Configurable Event input 23 1 MR24 Rising trigger event configuration bit of Configurable Event input 24 1 MR25 Rising trigger event configuration bit of Configurable Event input 25 1 MR26 Rising trigger event configuration bit of Configurable Event input 26 1 MR27 Rising trigger event configuration bit of Configurable Event input 27 1 MR28 Rising trigger event configuration bit of Configurable Event input 28 1 MR29 Rising trigger event configuration bit of Configurable Event input 29 1 MR30 Rising trigger event configuration bit of Configurable Event input 30 1 MR31 Rising trigger event configuration bit of Configurable Event input 31 1 CPUEMR1 CPUEMR1 EXTI event mask register 0x84 0x20 read-write 0x00000000 MR0 CPU Event mask on Event input x 0 1 EventMask Masked Event request line is masked 0 Unmasked Event request line is unmasked 1 MR1 CPU Event mask on Event input x 1 1 MR2 CPU Event mask on Event input x 2 1 MR3 CPU Event mask on Event input x 3 1 MR4 CPU Event mask on Event input x 4 1 MR5 CPU Event mask on Event input x 5 1 MR6 CPU Event mask on Event input x 6 1 MR7 CPU Event mask on Event input x 7 1 MR8 CPU Event mask on Event input x 8 1 MR9 CPU Event mask on Event input x 9 1 MR10 CPU Event mask on Event input x 10 1 MR11 CPU Event mask on Event input x 11 1 MR12 CPU Event mask on Event input x 12 1 MR13 CPU Event mask on Event input x 13 1 MR14 CPU Event mask on Event input x 14 1 MR15 CPU Event mask on Event input x 15 1 MR16 CPU Event mask on Event input x 16 1 MR17 CPU Event mask on Event input x 17 1 MR18 CPU Event mask on Event input x 18 1 MR19 CPU Event mask on Event input x 19 1 MR20 CPU Event mask on Event input x 20 1 MR21 CPU Event mask on Event input x 21 1 MR22 CPU Event mask on Event input x 22 1 MR23 CPU Event mask on Event input x 23 1 MR24 CPU Event mask on Event input x 24 1 MR25 CPU Event mask on Event input x 25 1 MR26 CPU Event mask on Event input x 26 1 MR27 CPU Event mask on Event input x 27 1 MR28 CPU Event mask on Event input x 28 1 MR29 CPU Event mask on Event input x 29 1 MR30 CPU Event mask on Event input x 30 1 MR31 CPU Event mask on Event input x 31 1 CPUPR1 CPUPR1 EXTI pending register 0x88 0x20 read-write 0x00000000 PR0 CPU Event mask on Event input x 0 1 oneToClear PR0R read NotPending No trigger request occurred 0 Pending Selected trigger request occurred 1 PR0W write Clear Clears pending bit 1 PR1 CPU Event mask on Event input x 1 1 oneToClear read write PR2 CPU Event mask on Event input x 2 1 oneToClear read write PR3 CPU Event mask on Event input x 3 1 oneToClear read write PR4 CPU Event mask on Event input x 4 1 oneToClear read write PR5 CPU Event mask on Event input x 5 1 oneToClear read write PR6 CPU Event mask on Event input x 6 1 oneToClear read write PR7 CPU Event mask on Event input x 7 1 oneToClear read write PR8 CPU Event mask on Event input x 8 1 oneToClear read write PR9 CPU Event mask on Event input x 9 1 oneToClear read write PR10 CPU Event mask on Event input x 10 1 oneToClear read write PR11 CPU Event mask on Event input x 11 1 oneToClear read write PR12 CPU Event mask on Event input x 12 1 oneToClear read write PR13 CPU Event mask on Event input x 13 1 oneToClear read write PR14 CPU Event mask on Event input x 14 1 oneToClear read write PR15 CPU Event mask on Event input x 15 1 oneToClear read write PR16 CPU Event mask on Event input x 16 1 oneToClear read write PR17 CPU Event mask on Event input x 17 1 oneToClear read write PR18 CPU Event mask on Event input x 18 1 oneToClear read write PR19 CPU Event mask on Event input x 19 1 oneToClear read write PR20 CPU Event mask on Event input x 20 1 oneToClear read write PR21 CPU Event mask on Event input x 21 1 oneToClear read write CPUIMR2 CPUIMR2 EXTI interrupt mask register 0x90 0x20 read-write 0x00000000 MR0 CPU Interrupt Mask on Direct Event input x+32 0 1 InterruptMask Masked Interrupt request line is masked 0 Unmasked Interrupt request line is unmasked 1 MR1 CPU Interrupt Mask on Direct Event input x+32 1 1 MR2 CPU Interrupt Mask on Direct Event input x+32 2 1 MR3 CPU Interrupt Mask on Direct Event input x+32 3 1 MR4 CPU Interrupt Mask on Direct Event input x+32 4 1 MR5 CPU Interrupt Mask on Direct Event input x+32 5 1 MR6 CPU Interrupt Mask on Direct Event input x+32 6 1 MR7 CPU Interrupt Mask on Direct Event input x+32 7 1 MR8 CPU Interrupt Mask on Direct Event input x+32 8 1 MR9 CPU Interrupt Mask on Direct Event input x+32 9 1 MR10 CPU Interrupt Mask on Direct Event input x+32 10 1 MR11 CPU Interrupt Mask on Direct Event input x+32 11 1 MR12 CPU Interrupt Mask on Direct Event input x+32 12 1 MR14 CPU Interrupt Mask on Direct Event input x+32 14 1 MR15 CPU Interrupt Mask on Direct Event input x+32 15 1 MR16 CPU Interrupt Mask on Direct Event input x+32 16 1 MR17 CPU Interrupt Mask on Direct Event input x+32 17 1 MR18 CPU Interrupt Mask on Direct Event input x+32 18 1 MR19 CPU Interrupt Mask on Direct Event input x+32 19 1 MR20 CPU Interrupt Mask on Direct Event input x+32 20 1 MR21 CPU Interrupt Mask on Direct Event input x+32 21 1 MR22 CPU Interrupt Mask on Direct Event input x+32 22 1 MR23 CPU Interrupt Mask on Direct Event input x+32 23 1 MR24 CPU Interrupt Mask on Direct Event input x+32 24 1 MR25 CPU Interrupt Mask on Direct Event input x+32 25 1 MR26 CPU Interrupt Mask on Direct Event input x+32 26 1 MR27 CPU Interrupt Mask on Direct Event input x+32 27 1 MR28 CPU Interrupt Mask on Direct Event input x+32 28 1 MR29 CPU Interrupt Mask on Direct Event input x+32 29 1 MR30 CPU Interrupt Mask on Direct Event input x+32 30 1 MR31 CPU Interrupt Mask on Direct Event input x+32 31 1 CPUEMR2 CPUEMR2 EXTI event mask register 0x94 0x20 read-write 0x00000000 MR32 CPU Interrupt Mask on Direct Event input x+32 0 1 EventMask Masked Event request line is masked 0 Unmasked Event request line is unmasked 1 MR33 CPU Interrupt Mask on Direct Event input x+32 1 1 MR34 CPU Interrupt Mask on Direct Event input x+32 2 1 MR35 CPU Interrupt Mask on Direct Event input x+32 3 1 MR36 CPU Interrupt Mask on Direct Event input x+32 4 1 MR37 CPU Interrupt Mask on Direct Event input x+32 5 1 MR38 CPU Interrupt Mask on Direct Event input x+32 6 1 MR39 CPU Interrupt Mask on Direct Event input x+32 7 1 MR40 CPU Interrupt Mask on Direct Event input x+32 8 1 MR41 CPU Interrupt Mask on Direct Event input x+32 9 1 MR42 CPU Interrupt Mask on Direct Event input x+32 10 1 MR43 CPU Interrupt Mask on Direct Event input x+32 11 1 MR44 CPU Interrupt Mask on Direct Event input x+32 12 1 MR46 CPU Interrupt Mask on Direct Event input x+32 14 1 MR47 CPU Interrupt Mask on Direct Event input x+32 15 1 MR48 CPU Interrupt Mask on Direct Event input x+32 16 1 MR49 CPU Interrupt Mask on Direct Event input x+32 17 1 MR50 CPU Interrupt Mask on Direct Event input x+32 18 1 MR51 CPU Interrupt Mask on Direct Event input x+32 19 1 MR52 CPU Interrupt Mask on Direct Event input x+32 20 1 MR53 CPU Interrupt Mask on Direct Event input x+32 21 1 MR54 CPU Interrupt Mask on Direct Event input x+32 22 1 MR55 CPU Interrupt Mask on Direct Event input x+32 23 1 MR56 CPU Interrupt Mask on Direct Event input x+32 24 1 MR57 CPU Interrupt Mask on Direct Event input x+32 25 1 MR58 CPU Interrupt Mask on Direct Event input x+32 26 1 MR59 CPU Interrupt Mask on Direct Event input x+32 27 1 MR60 CPU Interrupt Mask on Direct Event input x+32 28 1 MR61 CPU Interrupt Mask on Direct Event input x+32 29 1 MR62 CPU Interrupt Mask on Direct Event input x+32 30 1 MR63 CPU Interrupt Mask on Direct Event input x+32 31 1 CPUPR2 CPUPR2 EXTI pending register 0x98 0x20 read-write 0x00000000 PR49 Configurable event inputs x+32 Pending bit 17 1 oneToClear PR49R read NotPending No trigger request occurred 0 Pending Selected trigger request occurred 1 PR49W write Clear Clears pending bit 1 PR51 Configurable event inputs x+32 Pending bit 19 1 oneToClear read write CPUIMR3 CPUIMR3 EXTI interrupt mask register 0xA0 0x20 read-write 0x00000000 MR64 CPU Interrupt Mask on Direct Event input x+64 0 1 InterruptMask Masked Interrupt request line is masked 0 Unmasked Interrupt request line is unmasked 1 MR65 CPU Interrupt Mask on Direct Event input x+64 1 1 MR66 CPU Interrupt Mask on Direct Event input x+64 2 1 MR67 CPU Interrupt Mask on Direct Event input x+64 3 1 MR68 CPU Interrupt Mask on Direct Event input x+64 4 1 MR69 CPU Interrupt Mask on Direct Event input x+64 5 1 MR70 CPU Interrupt Mask on Direct Event input x+64 6 1 MR71 CPU Interrupt Mask on Direct Event input x+64 7 1 MR72 CPU Interrupt Mask on Direct Event input x+64 8 1 MR73 CPU Interrupt Mask on Direct Event input x+64 9 1 MR74 CPU Interrupt Mask on Direct Event input x+64 10 1 MR75 CPU Interrupt Mask on Direct Event input x+64 11 1 MR76 CPU Interrupt Mask on Direct Event input x+64 12 1 MR77 CPU Interrupt Mask on Direct Event input x+64 13 1 MR78 CPU Interrupt Mask on Direct Event input x+64 14 1 MR79 CPU Interrupt Mask on Direct Event input x+64 15 1 MR80 CPU Interrupt Mask on Direct Event input x+64 16 1 MR82 CPU Interrupt Mask on Direct Event input x+64 18 1 MR84 CPU Interrupt Mask on Direct Event input x+64 20 1 MR85 CPU Interrupt Mask on Direct Event input x+64 21 1 MR86 CPU Interrupt Mask on Direct Event input x+64 22 1 MR87 CPU Interrupt Mask on Direct Event input x+64 23 1 MR88 CPU Interrupt Mask on Direct Event input x+64 24 1 CPUEMR3 CPUEMR3 EXTI event mask register 0xA4 0x20 read-write 0x00000000 MR64 CPU Event mask on Event input x+64 0 1 EventMask Masked Event request line is masked 0 Unmasked Event request line is unmasked 1 MR65 CPU Event mask on Event input x+64 1 1 MR66 CPU Event mask on Event input x+64 2 1 MR67 CPU Event mask on Event input x+64 3 1 MR68 CPU Event mask on Event input x+64 4 1 MR69 CPU Event mask on Event input x+64 5 1 MR70 CPU Event mask on Event input x+64 6 1 MR71 CPU Event mask on Event input x+64 7 1 MR72 CPU Event mask on Event input x+64 8 1 MR73 CPU Event mask on Event input x+64 9 1 MR74 CPU Event mask on Event input x+64 10 1 MR75 CPU Event mask on Event input x+64 11 1 MR76 CPU Event mask on Event input x+64 12 1 MR77 CPU Event mask on Event input x+64 13 1 MR78 CPU Event mask on Event input x+64 14 1 MR79 CPU Event mask on Event input x+64 15 1 MR80 CPU Event mask on Event input x+64 16 1 MR82 CPU Event mask on Event input x+64 18 1 MR84 CPU Event mask on Event input x+64 20 1 MR85 CPU Event mask on Event input x+64 21 1 MR86 CPU Event mask on Event input x+64 22 1 MR87 CPU Event mask on Event input x+64 23 1 MR88 CPU Event mask on Event input x+64 24 1 CPUPR3 CPUPR3 EXTI pending register 0xA8 0x20 read-write 0x00000000 PR82 Configurable event inputs x+64 Pending bit 18 1 oneToClear PR82R read NotPending No trigger request occurred 0 Pending Selected trigger request occurred 1 PR82W write Clear Clears pending bit 1 PR84 Configurable event inputs x+64 Pending bit 20 1 oneToClear read write PR85 Configurable event inputs x+64 Pending bit 21 1 oneToClear read write PR86 Configurable event inputs x+64 Pending bit 22 1 oneToClear read write Ethernet_MAC Ethernet: media access control (MAC) Ethernet 0x40028000 0x0 0x1400 registers ETH Ethernet global interrupt 61 ETH_WKUP Ethernet wakeup through EXTI 62 MACCR MACCR Operating mode configuration register 0x0 0x20 read-write 0x00000000 RE Receiver Enable 0 1 TE Transmitter Enable 1 1 PRELEN Preamble Length for Transmit Packets 2 2 DC Deferral Check 4 1 BL Back-Off Limit 5 2 DR Disable Retry 8 1 DCRS Disable Carrier Sense During Transmission 9 1 DO Disable Receive Own 10 1 ECRSFD Enable Carrier Sense Before Transmission in Full-Duplex Mode 11 1 LM Loopback Mode 12 1 DM Duplex Mode 13 1 FES MAC Speed 14 1 JE Jumbo Packet Enable 16 1 JD Jabber Disable 17 1 WD Watchdog Disable 19 1 ACS Automatic Pad or CRC Stripping 20 1 CST CRC stripping for Type packets 21 1 S2KP IEEE 802.3as Support for 2K Packets 22 1 GPSLCE Giant Packet Size Limit Control Enable 23 1 IPG Inter-Packet Gap 24 3 IPC Checksum Offload 27 1 SARC Source Address Insertion or Replacement Control 28 3 ARPEN ARP Offload Enable 31 1 MACECR MACECR Extended operating mode configuration register 0x4 0x20 read-write 0x00000000 GPSL Giant Packet Size Limit 0 14 DCRCC Disable CRC Checking for Received Packets 16 1 SPEN Slow Protocol Detection Enable 17 1 USP Unicast Slow Protocol Packet Detect 18 1 EIPGEN Extended Inter-Packet Gap Enable 24 1 EIPG Extended Inter-Packet Gap 25 5 MACPFR MACPFR Packet filtering control register 0x8 0x20 read-write 0x00000000 PR Promiscuous Mode 0 1 HUC Hash Unicast 1 1 HMC Hash Multicast 2 1 DAIF DA Inverse Filtering 3 1 PM Pass All Multicast 4 1 DBF Disable Broadcast Packets 5 1 PCF Pass Control Packets 6 2 SAIF SA Inverse Filtering 8 1 SAF Source Address Filter Enable 9 1 HPF Hash or Perfect Filter 10 1 VTFE VLAN Tag Filter Enable 16 1 IPFE Layer 3 and Layer 4 Filter Enable 20 1 DNTU Drop Non-TCP/UDP over IP Packets 21 1 RA Receive All 31 1 MACWTR MACWTR Watchdog timeout register 0xC 0x20 read-write 0x00000000 WTO Watchdog Timeout 0 4 PWE Programmable Watchdog Enable 8 1 MACHT0R MACHT0R Hash Table 0 register 0x10 0x20 read-write 0x00000000 HT31T0 MAC Hash Table First 32 Bits 0 32 MACHT1R MACHT1R Hash Table 1 register 0x14 0x20 read-write 0x00000000 HT63T32 MAC Hash Table Second 32 Bits 0 32 MACVTR MACVTR VLAN tag register 0x50 0x20 read-write 0x00000000 VL VLAN Tag Identifier for Receive Packets 0 16 ETV Enable 12-Bit VLAN Tag Comparison 16 1 VTIM VLAN Tag Inverse Match Enable 17 1 ESVL Enable S-VLAN 18 1 ERSVLM Enable Receive S-VLAN Match 19 1 DOVLTC Disable VLAN Type Check 20 1 EVLS Enable VLAN Tag Stripping on Receive 21 2 EVLRXS Enable VLAN Tag in Rx status 24 1 VTHM VLAN Tag Hash Table Match Enable 25 1 EDVLP Enable Double VLAN Processing 26 1 ERIVLT Enable Inner VLAN Tag 27 1 EIVLS Enable Inner VLAN Tag Stripping on Receive 28 2 EIVLRXS Enable Inner VLAN Tag in Rx Status 31 1 MACVHTR MACVHTR VLAN Hash table register 0x58 0x20 read-write 0x00000000 VLHT VLAN Hash Table 0 16 MACVIR MACVIR VLAN inclusion register 0x60 0x20 read-write 0x00000000 VLT VLAN Tag for Transmit Packets 0 16 VLC VLAN Tag Control in Transmit Packets 16 2 VLP VLAN Priority Control 18 1 CSVL C-VLAN or S-VLAN 19 1 VLTI VLAN Tag Input 20 1 MACIVIR MACIVIR Inner VLAN inclusion register 0x64 0x20 read-write 0x00000000 VLT VLAN Tag for Transmit Packets 0 16 VLC VLAN Tag Control in Transmit Packets 16 2 VLP VLAN Priority Control 18 1 CSVL C-VLAN or S-VLAN 19 1 VLTI VLAN Tag Input 20 1 MACQTxFCR MACQTxFCR Tx Queue flow control register 0x70 0x20 read-write 0x00000000 FCB_BPA Flow Control Busy or Backpressure Activate 0 1 TFE Transmit Flow Control Enable 1 1 PLT Pause Low Threshold 4 3 DZPQ Disable Zero-Quanta Pause 7 1 PT Pause Time 16 16 MACRxFCR MACRxFCR Rx flow control register 0x90 0x20 read-write 0x00000000 RFE Receive Flow Control Enable 0 1 UP Unicast Pause Packet Detect 1 1 MACISR MACISR Interrupt status register 0xB0 0x20 read-only 0x00000000 PHYIS PHY Interrupt 3 1 PMTIS PMT Interrupt Status 4 1 LPIIS LPI Interrupt Status 5 1 MMCIS MMC Interrupt Status 8 1 MMCRXIS MMC Receive Interrupt Status 9 1 MMCTXIS MMC Transmit Interrupt Status 10 1 TSIS Timestamp Interrupt Status 12 1 TXSTSIS Transmit Status Interrupt 13 1 RXSTSIS Receive Status Interrupt 14 1 MACIER MACIER Interrupt enable register 0xB4 0x20 read-write 0x00000000 PHYIE PHY Interrupt Enable 3 1 PMTIE PMT Interrupt Enable 4 1 LPIIE LPI Interrupt Enable 5 1 TSIE Timestamp Interrupt Enable 12 1 TXSTSIE Transmit Status Interrupt Enable 13 1 RXSTSIE Receive Status Interrupt Enable 14 1 MACRxTxSR MACRxTxSR Rx Tx status register 0xB8 0x20 read-only 0x00000000 TJT Transmit Jabber Timeout 0 1 NCARR No Carrier 1 1 LCARR Loss of Carrier 2 1 EXDEF Excessive Deferral 3 1 LCOL Late Collision 4 1 EXCOL Excessive Collisions 5 1 RWT Receive Watchdog Timeout 8 1 MACPCSR MACPCSR PMT control status register 0xC0 0x20 0x00000000 PWRDWN Power Down 0 1 read-write MGKPKTEN Magic Packet Enable 1 1 read-write RWKPKTEN Remote wakeup Packet Enable 2 1 read-write MGKPRCVD Magic Packet Received 5 1 read-only RWKPRCVD Remote wakeup Packet Received 6 1 read-only GLBLUCAST Global Unicast 9 1 read-write RWKPFE Remote wakeup Packet Forwarding Enable 10 1 read-write RWKPTR Remote wakeup FIFO Pointer 24 5 read-write RWKFILTRST Remote wakeup Packet Filter Register Pointer Reset 31 1 read-write MACRWKPFR MACRWKPFR Remove wakeup packet filter register 0xC4 0x20 read-write 0x00000000 WKUPFRMFTR WKUPFRMFTR 0 32 MACLCSR MACLCSR LPI control status register 0xD0 0x20 0x00000000 TLPIEN Transmit LPI Entry 0 1 read-only TLPIEX Transmit LPI Exit 1 1 read-only RLPIEN Receive LPI Entry 2 1 read-only RLPIEX Receive LPI Exit 3 1 read-only TLPIST Transmit LPI State 8 1 read-only RLPIST Receive LPI State 9 1 read-only LPIEN LPI Enable 16 1 read-write PLS PHY Link Status 17 1 read-write PLSEN PHY Link Status Enable 18 1 read-write LPITXA LPI Tx Automate 19 1 read-write LPITE LPI Timer Enable 20 1 read-write LPITCSE LPITCSE 21 1 read-write MACLTCR MACLTCR LPI timers control register 0xD4 0x20 read-write 0x03E80000 TWT LPI TW Timer 0 16 LST LPI LS Timer 16 10 MACLETR MACLETR LPI entry timer register 0xD8 0x20 read-write 0x00000000 LPIET LPI Entry Timer 3 17 MAC1USTCR MAC1USTCR 1-microsecond-tick counter register 0xDC 0x20 read-write 0x00000000 TIC_1US_CNTR 1 µs tick Counter 0 12 MACVR MACVR Version register 0x110 0x20 read-only 0x00003041 SNPSVER IP version 0 8 USERVER ST-defined version 8 8 MACHWF1R MACHWF1R HW feature 1 register 0x120 0x20 read-only 0x11841904 RXFIFOSIZE MTL Receive FIFO Size 0 5 TXFIFOSIZE MTL Transmit FIFO Size 6 5 OSTEN One-Step Timestamping Enable 11 1 PTOEN PTP Offload Enable 12 1 ADVTHWORD IEEE 1588 High Word Register Enable 13 1 DCBEN DCB Feature Enable 16 1 SPHEN Split Header Feature Enable 17 1 TSOEN TCP Segmentation Offload Enable 18 1 DBGMEMA DMA Debug Registers Enable 19 1 AVSEL AV Feature Enable 20 1 HASHTBLSZ Hash Table Size 24 2 L3L4FNUM Total number of L3 or L4 Filters 27 4 MACHWF2R MACHWF2R HW feature 2 register 0x124 0x20 read-only 0x41000000 RXQCNT Number of MTL Receive Queues 0 4 TXQCNT Number of MTL Transmit Queues 6 4 RXCHCNT Number of DMA Receive Channels 12 4 TXCHCNT Number of DMA Transmit Channels 18 4 PPSOUTNUM Number of PPS Outputs 24 3 AUXSNAPNUM Number of Auxiliary Snapshot Inputs 28 3 MACMDIOAR MACMDIOAR MDIO address register 0x200 0x20 read-write 0x00000000 MB MII Busy 0 1 C45E Clause 45 PHY Enable 1 1 GOC MII Operation Command 2 2 SKAP Skip Address Packet 4 1 CR CSR Clock Range 8 4 NTC Number of Training Clocks 12 3 RDA Register/Device Address 16 5 PA Physical Layer Address 21 5 BTB Back to Back transactions 26 1 PSE Preamble Suppression Enable 27 1 MACMDIODR MACMDIODR MDIO data register 0x204 0x20 read-write 0x00000000 MD MII Data 0 16 RA Register Address 16 16 MACARPAR MACARPAR ARP address register 0xAE0 0x20 read-write 0x00000000 ARPPA ARP Protocol Address 0 32 MACA0HR MACA0HR Address 0 high register 0x300 0x20 0x8000FFFF ADDRHI MAC Address0[47:32] 0 16 read-write AE Address Enable 31 1 read-only MACA0LR MACA0LR Address 0 low register 0x304 0x20 read-write 0xFFFFFFFF ADDRLO MAC Address 0 [31:0] 0 32 MACA1LR MACA1LR Address 1 low register 0x30C 0x20 read-write 0xFFFFFFFF ADDRLO MAC Address 1 [31:0] 0 32 MACA2LR MACA2LR Address 2 low register 0x314 0x20 read-write 0xFFFFFFFF ADDRLO MAC Address 2 [31:0] 0 32 MACA3LR MACA3LR Address 3 low register 0x31C 0x20 read-write 0xFFFFFFFF ADDRLO MAC Address 3 [31:0] 0 32 MACA1HR MACA1HR Address 1 high register 0x308 0x20 read-write 0x0000FFFF ADDRHI MAC Address1 [47:32] 0 16 MBC Mask Byte Control 24 6 SA Source Address 30 1 AE Address Enable 31 1 MACA2HR MACA2HR Address 2 high register 0x310 0x20 read-write 0x0000FFFF ADDRHI MAC Address2 [47:32] 0 16 MBC Mask Byte Control 24 6 SA Source Address 30 1 AE Address Enable 31 1 MACA3HR MACA3HR Address 3 high register 0x318 0x20 read-write 0x0000FFFF ADDRHI MAC Address3 [47:32] 0 16 MBC Mask Byte Control 24 6 SA Source Address 30 1 AE Address Enable 31 1 MMC_CONTROL MMC_CONTROL MMC control register 0x700 0x20 read-write 0x00000000 CNTRST Counters Reset 0 1 CNTSTOPRO Counter Stop Rollover 1 1 RSTONRD Reset on Read 2 1 CNTFREEZ MMC Counter Freeze 3 1 CNTPRST Counters Preset 4 1 CNTPRSTLVL Full-Half Preset 5 1 UCDBC Update MMC Counters for Dropped Broadcast Packets 8 1 MMC_RX_INTERRUPT MMC_RX_INTERRUPT MMC Rx interrupt register 0x704 0x20 read-only 0x00000000 RXCRCERPIS MMC Receive CRC Error Packet Counter Interrupt Status 5 1 RXALGNERPIS MMC Receive Alignment Error Packet Counter Interrupt Status 6 1 RXUCGPIS MMC Receive Unicast Good Packet Counter Interrupt Status 17 1 RXLPIUSCIS MMC Receive LPI microsecond counter interrupt status 26 1 RXLPITRCIS MMC Receive LPI transition counter interrupt status 27 1 MMC_TX_INTERRUPT MMC_TX_INTERRUPT MMC Tx interrupt register 0x708 0x20 read-only 0x00000000 TXSCOLGPIS MMC Transmit Single Collision Good Packet Counter Interrupt Status 14 1 TXMCOLGPIS MMC Transmit Multiple Collision Good Packet Counter Interrupt Status 15 1 TXGPKTIS MMC Transmit Good Packet Counter Interrupt Status 21 1 TXLPIUSCIS MMC Transmit LPI microsecond counter interrupt status 26 1 TXLPITRCIS MMC Transmit LPI transition counter interrupt status 27 1 MMC_RX_INTERRUPT_MASK MMC_RX_INTERRUPT_MASK MMC Rx interrupt mask register 0x70C 0x20 0x00000000 RXCRCERPIM MMC Receive CRC Error Packet Counter Interrupt Mask 5 1 read-write RXALGNERPIM MMC Receive Alignment Error Packet Counter Interrupt Mask 6 1 read-write RXUCGPIM MMC Receive Unicast Good Packet Counter Interrupt Mask 17 1 read-write RXLPIUSCIM MMC Receive LPI microsecond counter interrupt Mask 26 1 read-write RXLPITRCIM MMC Receive LPI transition counter interrupt Mask 27 1 read-write MMC_TX_INTERRUPT_MASK MMC_TX_INTERRUPT_MASK MMC Tx interrupt mask register 0x710 0x20 0x00000000 TXSCOLGPIM MMC Transmit Single Collision Good Packet Counter Interrupt Mask 14 1 read-write TXMCOLGPIM MMC Transmit Multiple Collision Good Packet Counter Interrupt Mask 15 1 read-write TXGPKTIM MMC Transmit Good Packet Counter Interrupt Mask 21 1 read-write TXLPIUSCIM MMC Transmit LPI microsecond counter interrupt Mask 26 1 read-write TXLPITRCIM MMC Transmit LPI transition counter interrupt Mask 27 1 read-write TX_SINGLE_COLLISION_GOOD_PACKETS TX_SINGLE_COLLISION_GOOD_PACKETS Tx single collision good packets register 0x74C 0x20 read-only 0x00000000 TXSNGLCOLG Tx Single Collision Good Packets 0 32 TX_MULTIPLE_COLLISION_GOOD_PACKETS TX_MULTIPLE_COLLISION_GOOD_PACKETS Tx multiple collision good packets register 0x750 0x20 read-only 0x00000000 TXMULTCOLG Tx Multiple Collision Good Packets 0 32 TX_PACKET_COUNT_GOOD TX_PACKET_COUNT_GOOD Tx packet count good register 0x768 0x20 read-only 0x00000000 TXPKTG Tx Packet Count Good 0 32 RX_CRC_ERROR_PACKETS RX_CRC_ERROR_PACKETS Rx CRC error packets register 0x794 0x20 read-only 0x00000000 RXCRCERR Rx CRC Error Packets 0 32 RX_ALIGNMENT_ERROR_PACKETS RX_ALIGNMENT_ERROR_PACKETS Rx alignment error packets register 0x798 0x20 read-only 0x00000000 RXALGNERR Rx Alignment Error Packets 0 32 RX_UNICAST_PACKETS_GOOD RX_UNICAST_PACKETS_GOOD Rx unicast packets good register 0x7C4 0x20 read-only 0x00000000 RXUCASTG Rx Unicast Packets Good 0 32 TX_LPI_USEC_CNTR TX_LPI_USEC_CNTR Tx LPI microsecond timer register 0x7EC 0x20 read-only 0x00000000 TXLPIUSC Tx LPI Microseconds Counter 0 32 TX_LPI_TRAN_CNTR TX_LPI_TRAN_CNTR Tx LPI transition counter register 0x7F0 0x20 read-only 0x00000000 TXLPITRC Tx LPI Transition counter 0 32 RX_LPI_USEC_CNTR RX_LPI_USEC_CNTR Rx LPI microsecond counter register 0x7F4 0x20 read-only 0x00000000 RXLPIUSC Rx LPI Microseconds Counter 0 32 RX_LPI_TRAN_CNTR RX_LPI_TRAN_CNTR Rx LPI transition counter register 0x7F8 0x20 read-only 0x00000000 RXLPITRC Rx LPI Transition counter 0 32 MACL3L4C0R MACL3L4C0R L3 and L4 control 0 register 0x900 0x20 read-write 0x00000000 L3PEN0 Layer 3 Protocol Enable 0 1 L3SAM0 Layer 3 IP SA Match Enable 2 1 L3SAIM0 Layer 3 IP SA Inverse Match Enable 3 1 L3DAM0 Layer 3 IP DA Match Enable 4 1 L3DAIM0 Layer 3 IP DA Inverse Match Enable 5 1 L3HSBM0 Layer 3 IP SA Higher Bits Match 6 5 L3HDBM0 Layer 3 IP DA Higher Bits Match 11 5 L4PEN0 Layer 4 Protocol Enable 16 1 L4SPM0 Layer 4 Source Port Match Enable 18 1 L4SPIM0 Layer 4 Source Port Inverse Match Enable 19 1 L4DPM0 Layer 4 Destination Port Match Enable 20 1 L4DPIM0 Layer 4 Destination Port Inverse Match Enable 21 1 MACL4A0R MACL4A0R Layer4 address filter 0 register 0x904 0x20 read-write 0x00000000 L4SP0 Layer 4 Source Port Number Field 0 16 L4DP0 Layer 4 Destination Port Number Field 16 16 MACDR MACDR Debug register 0x114 0x20 read-only 0x00000000 RPESTS MAC MII Receive Protocol Engine Status 0 1 RFCFCSTS MAC Receive Packet Controller FIFO Status 1 2 TPESTS MAC MII Transmit Protocol Engine Status 16 1 TFCSTS MAC Transmit Packet Controller Status 17 2 MACL3A00R MACL3A00R MACL3A00R 0x910 0x20 read-write 0x00000000 L3A00 Layer 3 Address 0 Field 0 32 MACL3A10R MACL3A10R Layer3 address 1 filter 0 register 0x914 0x20 read-write 0x00000000 L3A10 Layer 3 Address 1 Field 0 32 MACL3A20 MACL3A20 Layer3 Address 2 filter 0 register 0x918 0x20 read-write 0x00000000 L3A20 Layer 3 Address 2 Field 0 32 MACL3A30 MACL3A30 Layer3 Address 3 filter 0 register 0x91C 0x20 read-write 0x00000000 L3A30 Layer 3 Address 3 Field 0 32 MACL3L4C1R MACL3L4C1R L3 and L4 control 1 register 0x930 0x20 read-write 0x00000000 L3PEN1 Layer 3 Protocol Enable 0 1 L3SAM1 Layer 3 IP SA Match Enable 2 1 L3SAIM1 Layer 3 IP SA Inverse Match Enable 3 1 L3DAM1 Layer 3 IP DA Match Enable 4 1 L3DAIM1 Layer 3 IP DA Inverse Match Enable 5 1 L3HSBM1 Layer 3 IP SA Higher Bits Match 6 5 L3HDBM1 Layer 3 IP DA Higher Bits Match 11 5 L4PEN1 Layer 4 Protocol Enable 16 1 L4SPM1 Layer 4 Source Port Match Enable 18 1 L4SPIM1 Layer 4 Source Port Inverse Match Enable 19 1 L4DPM1 Layer 4 Destination Port Match Enable 20 1 L4DPIM1 Layer 4 Destination Port Inverse Match Enable 21 1 MACL4A1R MACL4A1R Layer 4 address filter 1 register 0x934 0x20 read-write 0x00000000 L4SP1 Layer 4 Source Port Number Field 0 16 L4DP1 Layer 4 Destination Port Number Field 16 16 MACL3A01R MACL3A01R Layer3 address 0 filter 1 Register 0x940 0x20 read-write 0x00000000 L3A01 Layer 3 Address 0 Field 0 32 MACL3A11R MACL3A11R Layer3 address 1 filter 1 register 0x944 0x20 read-write 0x00000000 L3A11 Layer 3 Address 1 Field 0 32 MACL3A21R MACL3A21R Layer3 address 2 filter 1 Register 0x948 0x20 read-write 0x00000000 L3A21 Layer 3 Address 2 Field 0 32 MACL3A31R MACL3A31R Layer3 address 3 filter 1 register 0x94C 0x20 read-write 0x00000000 L3A31 Layer 3 Address 3 Field 0 32 MACTSCR MACTSCR Timestamp control Register 0xB00 0x20 0x00000200 TSENA Enable Timestamp 0 1 read-write TSCFUPDT Fine or Coarse Timestamp Update 1 1 read-write TSINIT Initialize Timestamp 2 1 read-write TSUPDT Update Timestamp 3 1 read-write TSADDREG Update Addend Register 5 1 read-write TSENALL Enable Timestamp for All Packets 8 1 read-write TSCTRLSSR Timestamp Digital or Binary Rollover Control 9 1 read-write TSVER2ENA Enable PTP Packet Processing for Version 2 Format 10 1 read-write TSIPENA Enable Processing of PTP over Ethernet Packets 11 1 read-write TSIPV6ENA Enable Processing of PTP Packets Sent over IPv6-UDP 12 1 read-write TSIPV4ENA Enable Processing of PTP Packets Sent over IPv4-UDP 13 1 read-write TSEVNTENA Enable Timestamp Snapshot for Event Messages 14 1 read-write TSMSTRENA Enable Snapshot for Messages Relevant to Master 15 1 read-write SNAPTYPSEL Select PTP packets for Taking Snapshots 16 2 read-write TSENMACADDR Enable MAC Address for PTP Packet Filtering 18 1 read-write CSC Enable checksum correction during OST for PTP over UDP/IPv4 packets 19 1 read-only TXTSSTSM Transmit Timestamp Status Mode 24 1 read-write MACSSIR MACSSIR Sub-second increment register 0xB04 0x20 read-write 0x00000000 SNSINC Sub-nanosecond Increment Value 8 8 SSINC Sub-second Increment Value 16 8 MACSTSR MACSTSR System time seconds register 0xB08 0x20 read-only 0x00000000 TSS Timestamp Second 0 32 MACSTNR MACSTNR System time nanoseconds register 0xB0C 0x20 read-only 0x00000000 TSSS Timestamp Sub-seconds 0 31 MACSTSUR MACSTSUR System time seconds update register 0xB10 0x20 read-write 0x00000000 TSS Timestamp Seconds 0 32 MACSTNUR MACSTNUR System time nanoseconds update register 0xB14 0x20 read-write 0x00000000 TSSS Timestamp Sub-seconds 0 31 ADDSUB Add or Subtract Time 31 1 MACTSAR MACTSAR Timestamp addend register 0xB18 0x20 read-write 0x00000000 TSAR Timestamp Addend Register 0 32 MACTSSR MACTSSR Timestamp status register 0xB20 0x20 read-only 0x00000000 TSSOVF Timestamp Seconds Overflow 0 1 TSTARGT0 Timestamp Target Time Reached 1 1 AUXTSTRIG Auxiliary Timestamp Trigger Snapshot 2 1 TSTRGTERR0 Timestamp Target Time Error 3 1 TXTSSIS Tx Timestamp Status Interrupt Status 15 1 ATSSTN Auxiliary Timestamp Snapshot Trigger Identifier 16 4 ATSSTM Auxiliary Timestamp Snapshot Trigger Missed 24 1 ATSNS Number of Auxiliary Timestamp Snapshots 25 5 MACTxTSSNR MACTxTSSNR Tx timestamp status nanoseconds register 0xB30 0x20 read-only 0x00000000 TXTSSLO Transmit Timestamp Status Low 0 31 TXTSSMIS Transmit Timestamp Status Missed 31 1 MACTxTSSSR MACTxTSSSR Tx timestamp status seconds register 0xB34 0x20 read-only 0x00000000 TXTSSHI Transmit Timestamp Status High 0 32 MACACR MACACR Auxiliary control register 0xB40 0x20 read-write 0x00000000 ATSFC Auxiliary Snapshot FIFO Clear 0 1 ATSEN0 Auxiliary Snapshot 0 Enable 4 1 ATSEN1 Auxiliary Snapshot 1 Enable 5 1 ATSEN2 Auxiliary Snapshot 2 Enable 6 1 ATSEN3 Auxiliary Snapshot 3 Enable 7 1 MACATSNR MACATSNR Auxiliary timestamp nanoseconds register 0xB48 0x20 read-only 0x00000000 AUXTSLO Auxiliary Timestamp 0 31 MACATSSR MACATSSR Auxiliary timestamp seconds register 0xB4C 0x20 read-only 0x00000000 AUXTSHI Auxiliary Timestamp 0 32 MACTSIACR MACTSIACR Timestamp Ingress asymmetric correction register 0xB50 0x20 read-write 0x00000000 OSTIAC One-Step Timestamp Ingress Asymmetry Correction 0 32 MACTSEACR MACTSEACR Timestamp Egress asymmetric correction register 0xB54 0x20 read-write 0x00000000 OSTEAC One-Step Timestamp Egress Asymmetry Correction 0 32 MACTSICNR MACTSICNR Timestamp Ingress correction nanosecond register 0xB58 0x20 read-write 0x00000000 TSIC Timestamp Ingress Correction 0 32 MACTSECNR MACTSECNR Timestamp Egress correction nanosecond register 0xB5C 0x20 read-write 0x00000000 TSEC Timestamp Egress Correction 0 32 MACPPSCR MACPPSCR PPS control register 0xB70 0x20 read-write 0x00000000 PPSCTRL Flexible PPS Output (ptp_pps_o[0]) Control or PPSCTRL PPS Output Frequency Control if PPSEN0 is cleared 0 4 PPSEN0 Flexible PPS Output Mode Enable 4 1 TRGTMODSEL0 Target Time Register Mode for PPS Output 5 2 MACPPSTTSR MACPPSTTSR PPS target time seconds register 0xB80 0x20 read-write 0x00000000 TSTRH0 PPS Target Time Seconds Register 0 31 MACPPSTTNR MACPPSTTNR PPS target time nanoseconds register 0xB84 0x20 read-write 0x00000000 TTSL0 Target Time Low for PPS Register 0 31 TRGTBUSY0 PPS Target Time Register Busy 31 1 MACPPSIR MACPPSIR PPS interval register 0xB88 0x20 read-write 0x00000000 PPSINT0 PPS Output Signal Interval 0 32 MACPPSWR MACPPSWR PPS width register 0xB8C 0x20 read-write 0x00000000 PPSWIDTH0 PPS Output Signal Width 0 32 MACPOCR MACPOCR PTP Offload control register 0xBC0 0x20 read-write 0x00000000 PTOEN PTP Offload Enable 0 1 ASYNCEN Automatic PTP SYNC message Enable 1 1 APDREQEN Automatic PTP Pdelay_Req message Enable 2 1 ASYNCTRIG Automatic PTP SYNC message Trigger 4 1 APDREQTRIG Automatic PTP Pdelay_Req message Trigger 5 1 DRRDIS Disable PTO Delay Request/Response response generation 6 1 DN Domain Number 8 8 MACSPI0R MACSPI0R PTP Source Port Identity 0 Register 0xBC4 0x20 read-write 0x00000000 SPI0 Source Port Identity 0 0 32 MACSPI1R MACSPI1R PTP Source port identity 1 register 0xBC8 0x20 read-write 0x00000000 SPI1 Source Port Identity 1 0 32 MACSPI2R MACSPI2R PTP Source port identity 2 register 0xBCC 0x20 read-write 0x00000000 SPI2 Source Port Identity 2 0 16 MACLMIR MACLMIR Log message interval register 0xBD0 0x20 read-write 0x00000000 LSI Log Sync Interval 0 8 DRSYNCR Delay_Req to SYNC Ratio 8 3 LMPDRI Log Min Pdelay_Req Interval 24 8 Ethernet_MTL Ethernet MTL 0x40028C00 MTLOMR Operating mode Register 0x0 0x00000000 CNTCLR Counters Reset 9 1 CNTPRST Counters Preset 8 1 DTXSTS Drop Transmit Status 1 1 MTLISR Interrupt status Register 0x20 0x00000000 Q0IS Queue interrupt status 0 1 MTLTxQOMR Tx queue operating mode Register 0x100 0x00070008 TQS Transmit Queue Size 16 9 TTC Transmit Threshold Control 4 3 TXQEN Transmit Queue Enable 2 2 TSF Transmit Store and Forward 1 1 FTQ Flush Transmit Queue 0 1 MTLTxQUR Tx queue underflow register 0x104 0x00000000 UFCNTOVF Overflow Bit for Underflow Packet Counter 11 1 UFFRMCNT Underflow Packet Counter 0 11 MTLTxQDR Tx queue debug Register 0x108 0x00000000 STXSTSF Number of Status Words in Tx Status FIFO of Queue 20 3 PTXQ Number of Packets in the Transmit Queue 16 3 TXSTSFSTS MTL Tx Status FIFO Full Status 5 1 TXQSTS MTL Tx Queue Not Empty Status 4 1 TWCSTS MTL Tx Queue Write Controller Status 3 1 TRCSTS MTL Tx Queue Read Controller Status 1 2 TXQPAUSED Transmit Queue in Pause 0 1 MTLQICSR Queue interrupt control status Register 0x12C 0x00000000 RXOIE Receive Queue Overflow Interrupt Enable 24 1 RXOVFIS Receive Queue Overflow Interrupt Status 16 1 TXUIE Transmit Queue Underflow Interrupt Enable 8 1 TXUNFIS Transmit Queue Underflow Interrupt Status 0 1 MTLRxQOMR Rx queue operating mode register 0x130 0x00700000 RQS Receive Queue Size 20 3 RFD Threshold for Deactivating Flow Control 14 3 RFA Threshold for Activating Flow Control 8 3 EHFC Enable Hardware Flow Control 7 1 DIS_TCP_EF Disable Dropping of TCP 6 1 RSF Receive Queue Store and Forward 5 1 FEP Forward Error Packets 4 1 FUP Forward Undersized Good Packets 3 1 RTC Receive Queue Threshold Control 0 2 MTLRxQMPOCR Rx queue missed packet and overflow counter register 0x134 0x00000000 MISCNTOVF Missed Packet Counter Overflow Bit 27 1 MISPKTCNT Missed Packet Counter 16 11 OVFCNTOVF Overflow Counter Overflow Bit 11 1 OVFPKTCNT Overflow Packet Counter 0 11 MTLRxQDR Rx queue debug register 0x138 0x00000000 PRXQ Number of Packets in Receive Queue 16 14 RXQSTS MTL Rx Queue Fill-Level Status 4 2 RRCSTS MTL Rx Queue Read Controller State 1 2 RWCSTS MTL Rx Queue Write Controller Active Status 0 1 Ethernet_DMA Ethernet DMA 0x40029000 DMAMR DMA mode register 0x0 0x00000000 INTM Interrupt Mode 16 2 PR Priority ratio 12 3 TXPR Transmit priority 11 1 DA DMA Tx or Rx Arbitration Scheme 1 1 SWR Software Reset 0 1 DMASBMR System bus mode register 0x4 0x01010000 RB Rebuild INCRx Burst 15 1 MB Mixed Burst 14 1 AAL Address-Aligned Beats 12 1 FB Fixed Burst Length 0 1 DMAISR Interrupt status register 0x8 0x00000000 MACIS MAC Interrupt Status 17 1 MTLIS MTL Interrupt Status 16 1 DC0IS DMA Channel Interrupt Status 0 1 DMADSR Debug status register 0xC 0x00000000 TPS0 DMA Channel Transmit Process State 12 4 RPS0 DMA Channel Receive Process State 8 4 AXWHSTS AHB Master Write Channel 0 1 DMACCR Channel control register 0x100 0x00000000 DSL Descriptor Skip Length 18 3 PBLX8 8xPBL mode 16 1 MSS Maximum Segment Size 0 14 DMACTxCR Channel transmit control register 0x104 0x00000000 TXPBL Transmit Programmable Burst Length 16 6 TSE TCP Segmentation Enabled 12 1 OSF Operate on Second Packet 4 1 ST Start or Stop Transmission Command 0 1 DMACRxCR Channel receive control register 0x108 0x00000000 RPF DMA Rx Channel Packet Flush 31 1 RXPBL Receive Programmable Burst Length 16 6 RBSZ Receive Buffer size 1 14 SR Start or Stop Receive 0 1 DMACTxDLAR Channel Tx descriptor list address register 0x114 0x00000000 TDESLA Start of Transmit List 2 30 DMACRxDLAR Channel Rx descriptor list address register 0x11C 0x00000000 RDESLA Start of Receive List 2 30 DMACTxDTPR Channel Tx descriptor tail pointer register 0x120 0x00000000 TDT Transmit Descriptor Tail Pointer 2 30 DMACRxDTPR Channel Rx descriptor tail pointer register 0x128 0x00000000 RDT Receive Descriptor Tail Pointer 2 30 DMACTxRLR Channel Tx descriptor ring length register 0x12C 0x00000000 TDRL Transmit Descriptor Ring Length 0 10 DMACRxRLR Channel Rx descriptor ring length register 0x130 0x00000000 RDRL Receive Descriptor Ring Length 0 10 DMACIER Channel interrupt enable register 0x134 0x00000000 NIE Normal Interrupt Summary Enable 15 1 AIE Abnormal Interrupt Summary Enable 14 1 CDEE Context Descriptor Error Enable 13 1 FBEE Fatal Bus Error Enable 12 1 ERIE Early Receive Interrupt Enable 11 1 ETIE Early Transmit Interrupt Enable 10 1 RWTE Receive Watchdog Timeout Enable 9 1 RSE Receive Stopped Enable 8 1 RBUE Receive Buffer Unavailable Enable 7 1 RIE Receive Interrupt Enable 6 1 TBUE Transmit Buffer Unavailable Enable 2 1 TXSE Transmit Stopped Enable 1 1 TIE Transmit Interrupt Enable 0 1 DMACRxIWTR Channel Rx interrupt watchdog timer register 0x138 0x00000000 RWT Receive Interrupt Watchdog Timer Count 0 8 DMACCATxDR Channel current application transmit descriptor register 0x144 0x00000000 CURTDESAPTR Application Transmit Descriptor Address Pointer 0 32 DMACCARxDR Channel current application receive descriptor register 0x14C 0x00000000 CURRDESAPTR Application Receive Descriptor Address Pointer 0 32 DMACCATxBR Channel current application transmit buffer register 0x154 0x00000000 CURTBUFAPTR Application Transmit Buffer Address Pointer 0 32 DMACCARxBR Channel current application receive buffer register 0x15C 0x00000000 CURRBUFAPTR Application Receive Buffer Address Pointer 0 32 DMACSR Channel status register 0x160 0x00000000 REB Rx DMA Error Bits 19 3 TEB Tx DMA Error Bits 16 3 NIS Normal Interrupt Summary 15 1 AIS Abnormal Interrupt Summary 14 1 CDE Context Descriptor Error 13 1 FBE Fatal Bus Error 12 1 ERI Early Receive Interrupt 11 1 ETI Early Transmit Interrupt 10 1 RWT Receive Watchdog Timeout 9 1 RPS Receive Process Stopped 8 1 RBU Receive Buffer Unavailable 7 1 RI Receive Interrupt 6 1 TBU Transmit Buffer Unavailable 2 1 TPS Transmit Process Stopped 1 1 TI Transmit Interrupt 0 1 DMACMFCR Channel missed frame count register 0x16C 0x00000000 MFCO Overflow status of the MFC Counter 15 1 MFC Dropped Packet Counters 0 11 FDCAN1 FDCAN1 FDCAN 0x4000A000 0x0 0x400 registers FDCAN1_IT0 FDCAN1 Interrupt 0 19 FDCAN1_IT1 FDCAN1 Interrupt 1 21 FDCAN_CAL CAN2TX interrupts 63 CREL CREL FDCAN Core Release Register 0x0 0x20 read-only 0x00000000 REL Core release 28 4 STEP Step of Core release 24 4 SUBSTEP Sub-step of Core release 20 4 YEAR Timestamp Year 16 4 MON Timestamp Month 8 8 DAY Timestamp Day 0 8 ENDN ENDN FDCAN Core Release Register 0x4 0x20 read-only 0x00000000 ETV Endiannes Test Value 0 32 DBTP DBTP FDCAN Data Bit Timing and Prescaler Register 0xC 0x20 read-write 0x00000000 DSJW Synchronization Jump Width 0 4 DTSEG2 Data time segment after sample point 4 4 DTSEG1 Data time segment after sample point 8 5 DBRP Data BIt Rate Prescaler 16 5 TDC Transceiver Delay Compensation 23 1 TEST TEST FDCAN Test Register 0x10 0x20 read-write 0x00000000 LBCK Loop Back mode 4 1 read-write TX Loop Back mode 5 2 read-write RX Control of Transmit Pin 7 1 RWD RWD FDCAN RAM Watchdog Register 0x14 0x20 read-only 0x00000000 WDV Watchdog value 8 8 WDC Watchdog configuration 0 8 read-write CCCR CCCR FDCAN CC Control Register 0x18 0x20 read-write 0x00000000 INIT Initialization 0 1 CCE Configuration Change Enable 1 1 ASM ASM Restricted Operation Mode 2 1 CSA Clock Stop Acknowledge 3 1 CSR Clock Stop Request 4 1 MON Bus Monitoring Mode 5 1 DAR Disable Automatic Retransmission 6 1 TEST Test Mode Enable 7 1 FDOE FD Operation Enable 8 1 BSE FDCAN Bit Rate Switching 9 1 PXHD Protocol Exception Handling Disable 12 1 EFBI Edge Filtering during Bus Integration 13 1 TXP TXP 14 1 NISO Non ISO Operation 15 1 NBTP NBTP FDCAN Nominal Bit Timing and Prescaler Register 0x1C 0x20 read-write 0x00000000 NSJW NSJW: Nominal (Re)Synchronization Jump Width 25 7 NBRP Bit Rate Prescaler 16 9 NTSEG1 Nominal Time segment before sample point 8 8 NTSEG2 Nominal Time segment after sample point 0 7 TSCC TSCC FDCAN Timestamp Counter Configuration Register 0x20 0x20 read-write 0x00000000 TCP Timestamp Counter Prescaler 16 4 TSS Timestamp Select 0 2 TSCV TSCV FDCAN Timestamp Counter Value Register 0x24 0x20 read-write 0x00000000 TSC Timestamp Counter 0 16 TOCC TOCC FDCAN Timeout Counter Configuration Register 0x28 0x20 read-write 0x00000000 ETOC Enable Timeout Counter 0 1 TOS Timeout Select 1 2 TOP Timeout Period 16 16 TOCV TOCV FDCAN Timeout Counter Value Register 0x2C 0x20 read-write 0x00000000 TOC Timeout Counter 0 16 ECR ECR FDCAN Error Counter Register 0x40 0x20 read-write 0x00000000 CEL AN Error Logging 16 8 RP Receive Error Passive 15 1 REC Receive Error Counter 8 7 TEC Transmit Error Counter 0 8 PSR PSR FDCAN Protocol Status Register 0x44 0x20 read-write 0x00000000 LEC Last Error Code 0 3 ACT Activity 3 2 EP Error Passive 5 1 EW Warning Status 6 1 BO Bus_Off Status 7 1 DLEC Data Last Error Code 8 3 RESI ESI flag of last received FDCAN Message 11 1 RBRS BRS flag of last received FDCAN Message 12 1 REDL Received FDCAN Message 13 1 PXE Protocol Exception Event 14 1 TDCV Transmitter Delay Compensation Value 16 7 TDCR TDCR FDCAN Transmitter Delay Compensation Register 0x48 0x20 read-write 0x00000000 TDCF Transmitter Delay Compensation Filter Window Length 0 7 TDCO Transmitter Delay Compensation Offset 8 7 IR IR FDCAN Interrupt Register 0x50 0x20 read-write 0x00000000 RF0N Rx FIFO 0 New Message 0 1 RF0W Rx FIFO 0 Full 1 1 RF0F Rx FIFO 0 Full 2 1 RF0L Rx FIFO 0 Message Lost 3 1 RF1N Rx FIFO 1 New Message 4 1 RF1W Rx FIFO 1 Watermark Reached 5 1 RF1F Rx FIFO 1 Watermark Reached 6 1 RF1L Rx FIFO 1 Message Lost 7 1 HPM High Priority Message 8 1 TC Transmission Completed 9 1 TCF Transmission Cancellation Finished 10 1 TEF Tx FIFO Empty 11 1 TEFN Tx Event FIFO New Entry 12 1 TEFW Tx Event FIFO Watermark Reached 13 1 TEFF Tx Event FIFO Full 14 1 TEFL Tx Event FIFO Element Lost 15 1 TSW Timestamp Wraparound 16 1 MRAF Message RAM Access Failure 17 1 TOO Timeout Occurred 18 1 DRX Message stored to Dedicated Rx Buffer 19 1 ELO Error Logging Overflow 22 1 EP Error Passive 23 1 EW Warning Status 24 1 BO Bus_Off Status 25 1 WDI Watchdog Interrupt 26 1 PEA Protocol Error in Arbitration Phase (Nominal Bit Time is used) 27 1 PED Protocol Error in Data Phase (Data Bit Time is used) 28 1 ARA Access to Reserved Address 29 1 IE IE FDCAN Interrupt Enable Register 0x54 0x20 read-write 0x00000000 RF0NE Rx FIFO 0 New Message Enable 0 1 RF0WE Rx FIFO 0 Full Enable 1 1 RF0FE Rx FIFO 0 Full Enable 2 1 RF0LE Rx FIFO 0 Message Lost Enable 3 1 RF1NE Rx FIFO 1 New Message Enable 4 1 RF1WE Rx FIFO 1 Watermark Reached Enable 5 1 RF1FE Rx FIFO 1 Watermark Reached Enable 6 1 RF1LE Rx FIFO 1 Message Lost Enable 7 1 HPME High Priority Message Enable 8 1 TCE Transmission Completed Enable 9 1 TCFE Transmission Cancellation Finished Enable 10 1 TEFE Tx FIFO Empty Enable 11 1 TEFNE Tx Event FIFO New Entry Enable 12 1 TEFWE Tx Event FIFO Watermark Reached Enable 13 1 TEFFE Tx Event FIFO Full Enable 14 1 TEFLE Tx Event FIFO Element Lost Enable 15 1 TSWE Timestamp Wraparound Enable 16 1 MRAFE Message RAM Access Failure Enable 17 1 TOOE Timeout Occurred Enable 18 1 DRXE Message stored to Dedicated Rx Buffer Enable 19 1 BECE Bit Error Corrected Interrupt Enable 20 1 BEUE Bit Error Uncorrected Interrupt Enable 21 1 ELOE Error Logging Overflow Enable 22 1 EPE Error Passive Enable 23 1 EWE Warning Status Enable 24 1 BOE Bus_Off Status Enable 25 1 WDIE Watchdog Interrupt Enable 26 1 PEAE Protocol Error in Arbitration Phase Enable 27 1 PEDE Protocol Error in Data Phase Enable 28 1 ARAE Access to Reserved Address Enable 29 1 ILS ILS FDCAN Interrupt Line Select Register 0x58 0x20 read-write 0x00000000 RF0NL Rx FIFO 0 New Message Interrupt Line 0 1 RF0WL Rx FIFO 0 Watermark Reached Interrupt Line 1 1 RF0FL Rx FIFO 0 Full Interrupt Line 2 1 RF0LL Rx FIFO 0 Message Lost Interrupt Line 3 1 RF1NL Rx FIFO 1 New Message Interrupt Line 4 1 RF1WL Rx FIFO 1 Watermark Reached Interrupt Line 5 1 RF1FL Rx FIFO 1 Full Interrupt Line 6 1 RF1LL Rx FIFO 1 Message Lost Interrupt Line 7 1 HPML High Priority Message Interrupt Line 8 1 TCL Transmission Completed Interrupt Line 9 1 TCFL Transmission Cancellation Finished Interrupt Line 10 1 TEFL Tx FIFO Empty Interrupt Line 11 1 TEFNL Tx Event FIFO New Entry Interrupt Line 12 1 TEFWL Tx Event FIFO Watermark Reached Interrupt Line 13 1 TEFFL Tx Event FIFO Full Interrupt Line 14 1 TEFLL Tx Event FIFO Element Lost Interrupt Line 15 1 TSWL Timestamp Wraparound Interrupt Line 16 1 MRAFL Message RAM Access Failure Interrupt Line 17 1 TOOL Timeout Occurred Interrupt Line 18 1 DRXL Message stored to Dedicated Rx Buffer Interrupt Line 19 1 BECL Bit Error Corrected Interrupt Line 20 1 BEUL Bit Error Uncorrected Interrupt Line 21 1 ELOL Error Logging Overflow Interrupt Line 22 1 EPL Error Passive Interrupt Line 23 1 EWL Warning Status Interrupt Line 24 1 BOL Bus_Off Status 25 1 WDIL Watchdog Interrupt Line 26 1 PEAL Protocol Error in Arbitration Phase Line 27 1 PEDL Protocol Error in Data Phase Line 28 1 ARAL Access to Reserved Address Line 29 1 ILE ILE FDCAN Interrupt Line Enable Register 0x5C 0x20 read-write 0x00000000 EINT0 Enable Interrupt Line 0 0 1 EINT1 Enable Interrupt Line 1 1 1 GFC GFC FDCAN Global Filter Configuration Register 0x80 0x20 read-write 0x00000000 RRFE Reject Remote Frames Extended 0 1 RRFS Reject Remote Frames Standard 1 1 ANFE Accept Non-matching Frames Extended 2 2 ANFS Accept Non-matching Frames Standard 4 2 SIDFC SIDFC FDCAN Standard ID Filter Configuration Register 0x84 0x20 read-write 0x00000000 FLSSA Filter List Standard Start Address 2 14 LSS List Size Standard 16 8 XIDFC XIDFC FDCAN Extended ID Filter Configuration Register 0x88 0x20 read-write 0x00000000 FLESA Filter List Standard Start Address 2 14 LSE List Size Extended 16 8 XIDAM XIDAM FDCAN Extended ID and Mask Register 0x90 0x20 read-write 0x00000000 EIDM Extended ID Mask 0 29 HPMS HPMS FDCAN High Priority Message Status Register 0x94 0x20 read-only 0x00000000 BIDX Buffer Index 0 6 MSI Message Storage Indicator 6 2 FIDX Filter Index 8 7 FLST Filter List 15 1 NDAT1 NDAT1 FDCAN New Data 1 Register 0x98 0x20 read-write 0x00000000 ND0 New data 0 1 ND1 New data 1 1 ND2 New data 2 1 ND3 New data 3 1 ND4 New data 4 1 ND5 New data 5 1 ND6 New data 6 1 ND7 New data 7 1 ND8 New data 8 1 ND9 New data 9 1 ND10 New data 10 1 ND11 New data 11 1 ND12 New data 12 1 ND13 New data 13 1 ND14 New data 14 1 ND15 New data 15 1 ND16 New data 16 1 ND17 New data 17 1 ND18 New data 18 1 ND19 New data 19 1 ND20 New data 20 1 ND21 New data 21 1 ND22 New data 22 1 ND23 New data 23 1 ND24 New data 24 1 ND25 New data 25 1 ND26 New data 26 1 ND27 New data 27 1 ND28 New data 28 1 ND29 New data 29 1 ND30 New data 30 1 ND31 New data 31 1 NDAT2 NDAT2 FDCAN New Data 2 Register 0x9C 0x20 read-write 0x00000000 ND32 New data 0 1 ND33 New data 1 1 ND34 New data 2 1 ND35 New data 3 1 ND36 New data 4 1 ND37 New data 5 1 ND38 New data 6 1 ND39 New data 7 1 ND40 New data 8 1 ND41 New data 9 1 ND42 New data 10 1 ND43 New data 11 1 ND44 New data 12 1 ND45 New data 13 1 ND46 New data 14 1 ND47 New data 15 1 ND48 New data 16 1 ND49 New data 17 1 ND50 New data 18 1 ND51 New data 19 1 ND52 New data 20 1 ND53 New data 21 1 ND54 New data 22 1 ND55 New data 23 1 ND56 New data 24 1 ND57 New data 25 1 ND58 New data 26 1 ND59 New data 27 1 ND60 New data 28 1 ND61 New data 29 1 ND62 New data 30 1 ND63 New data 31 1 RXF0C RXF0C FDCAN Rx FIFO 0 Configuration Register 0xA0 0x20 read-write 0x00000000 F0SA Rx FIFO 0 Start Address 2 14 F0S Rx FIFO 0 Size 16 7 F0WM FIFO 0 Watermark 24 7 F0OM FIFO 0 operation mode 31 1 RXF0S RXF0S FDCAN Rx FIFO 0 Status Register 0xA4 0x20 read-write 0x00000000 F0FL Rx FIFO 0 Fill Level 0 7 F0GI Rx FIFO 0 Get Index 8 6 F0PI Rx FIFO 0 Put Index 16 6 F0F Rx FIFO 0 Full 24 1 RF0L Rx FIFO 0 Message Lost 25 1 RXF0A RXF0A CAN Rx FIFO 0 Acknowledge Register 0xA8 0x20 read-write 0x00000000 F0AI Rx FIFO 0 Acknowledge Index 0 6 RXBC RXBC FDCAN Rx Buffer Configuration Register 0xAC 0x20 read-write 0x00000000 RBSA Rx Buffer Start Address 2 14 RXF1C RXF1C FDCAN Rx FIFO 1 Configuration Register 0xB0 0x20 read-write 0x00000000 F1SA Rx FIFO 1 Start Address 2 14 F1S Rx FIFO 1 Size 16 7 F1WM Rx FIFO 1 Watermark 24 7 F1OM FIFO 1 operation mode 31 1 RXF1S RXF1S FDCAN Rx FIFO 1 Status Register 0xB4 0x20 read-write 0x00000000 F1FL Rx FIFO 1 Fill Level 0 7 F1GI Rx FIFO 1 Get Index 8 7 F1PI Rx FIFO 1 Put Index 16 7 F1F Rx FIFO 1 Full 24 1 RF1L Rx FIFO 1 Message Lost 25 1 DMS Debug Message Status 30 2 RXF1A RXF1A FDCAN Rx FIFO 1 Acknowledge Register 0xB8 0x20 read-write 0x00000000 F1AI Rx FIFO 1 Acknowledge Index 0 6 RXESC RXESC FDCAN Rx Buffer Element Size Configuration Register 0xBC 0x20 read-write 0x00000000 F0DS Rx FIFO 1 Data Field Size: 0 3 F1DS Rx FIFO 0 Data Field Size: 4 3 RBDS Rx Buffer Data Field Size: 8 3 TXBC TXBC FDCAN Tx Buffer Configuration Register 0xC0 0x20 read-write 0x00000000 TBSA Tx Buffers Start Address 2 14 NDTB Number of Dedicated Transmit Buffers 16 6 TFQS Transmit FIFO/Queue Size 24 6 TFQM Tx FIFO/Queue Mode 30 1 TXFQS TXFQS FDCAN Tx FIFO/Queue Status Register 0xC4 0x20 read-only 0x00000000 TFFL Tx FIFO Free Level 0 6 TFGI TFGI 8 5 TFQPI Tx FIFO/Queue Put Index 16 5 TFQF Tx FIFO/Queue Full 21 1 TXESC TXESC FDCAN Tx Buffer Element Size Configuration Register 0xC8 0x20 read-write 0x00000000 TBDS Tx Buffer Data Field Size: 0 3 TXBRP TXBRP FDCAN Tx Buffer Request Pending Register 0xCC 0x20 read-only 0x00000000 TRP Transmission Request Pending 0 32 TXBAR TXBAR FDCAN Tx Buffer Add Request Register 0xD0 0x20 read-write 0x00000000 AR Add Request 0 32 TXBCR TXBCR FDCAN Tx Buffer Cancellation Request Register 0xD4 0x20 read-write 0x00000000 CR Cancellation Request 0 32 TXBTO TXBTO FDCAN Tx Buffer Transmission Occurred Register 0xD8 0x20 read-write 0x00000000 TO Transmission Occurred. 0 32 TXBCF TXBCF FDCAN Tx Buffer Cancellation Finished Register 0xDC 0x20 read-only 0x00000000 CF Cancellation Finished 0 32 TXBTIE TXBTIE FDCAN Tx Buffer Transmission Interrupt Enable Register 0xE0 0x20 read-write 0x00000000 TIE Transmission Interrupt Enable 0 32 TXBCIE TXBCIE FDCAN Tx Buffer Cancellation Finished Interrupt Enable Register 0xE4 0x20 read-write 0x00000000 CF Cancellation Finished Interrupt Enable 0 32 TXEFC TXEFC FDCAN Tx Event FIFO Configuration Register 0xF0 0x20 read-write 0x00000000 EFSA Event FIFO Start Address 2 14 EFS Event FIFO Size 16 6 EFWM Event FIFO Watermark 24 6 TXEFS TXEFS FDCAN Tx Event FIFO Status Register 0xF4 0x20 read-write 0x00000000 EFFL Event FIFO Fill Level 0 6 EFGI Event FIFO Get Index. 8 5 EFPI Event FIFO put index. 16 5 EFF Event FIFO Full. 24 1 TEFL Tx Event FIFO Element Lost. 25 1 TXEFA TXEFA FDCAN Tx Event FIFO Acknowledge Register 0xF8 0x20 read-write 0x00000000 EFAI Event FIFO Acknowledge Index 0 5 TTTMC TTTMC FDCAN TT Trigger Memory Configuration Register 0x100 0x20 read-write 0x00000000 TMSA Trigger Memory Start Address 2 14 TME Trigger Memory Elements 16 7 TTRMC TTRMC FDCAN TT Reference Message Configuration Register 0x104 0x20 read-write 0x00000000 RID Reference Identifier. 0 29 XTD Extended Identifier 30 1 RMPS Reference Message Payload Select 31 1 TTOCF TTOCF FDCAN TT Operation Configuration Register 0x108 0x20 read-write 0x00000000 OM Operation Mode 0 2 GEN Gap Enable 3 1 TM Time Master 4 1 LDSDL LD of Synchronization Deviation Limit 5 3 IRTO Initial Reference Trigger Offset 8 7 EECS Enable External Clock Synchronization 15 1 AWL Application Watchdog Limit 16 8 EGTF Enable Global Time Filtering 24 1 ECC Enable Clock Calibration 25 1 EVTP Event Trigger Polarity 26 1 TTMLM TTMLM FDCAN TT Matrix Limits Register 0x10C 0x20 read-write 0x00000000 CCM Cycle Count Max 0 6 CSS Cycle Start Synchronization 6 2 TXEW Tx Enable Window 8 4 ENTT Expected Number of Tx Triggers 16 12 TURCF TURCF FDCAN TUR Configuration Register 0x110 0x20 read-write 0x00000000 NCL Numerator Configuration Low. 0 16 DC Denominator Configuration. 16 14 ELT Enable Local Time 31 1 TTOCN TTOCN FDCAN TT Operation Control Register 0x114 0x20 read-write 0x00000000 SGT Set Global time 0 1 ECS External Clock Synchronization 1 1 SWP Stop Watch Polarity 2 1 SWS Stop Watch Source. 3 2 RTIE Register Time Mark Interrupt Pulse Enable 5 1 TMC Register Time Mark Compare 6 2 TTIE Trigger Time Mark Interrupt Pulse Enable 8 1 GCS Gap Control Select 9 1 FGP Finish Gap. 10 1 TMG Time Mark Gap 11 1 NIG Next is Gap 12 1 ESCN External Synchronization Control 13 1 LCKC TT Operation Control Register Locked 15 1 TTGTP CAN_TTGTP FDCAN TT Global Time Preset Register 0x118 0x20 read-write 0x00000000 NCL Time Preset 0 16 CTP Cycle Time Target Phase 16 16 TTTMK TTTMK FDCAN TT Time Mark Register 0x11C 0x20 read-write 0x00000000 TM Time Mark 0 16 TICC Time Mark Cycle Code 16 7 LCKM TT Time Mark Register Locked 31 1 TTIR TTIR FDCAN TT Interrupt Register 0x120 0x20 read-write 0x00000000 SBC Start of Basic Cycle 0 1 SMC Start of Matrix Cycle 1 1 CSM Change of Synchronization Mode 2 1 SOG Start of Gap 3 1 RTMI Register Time Mark Interrupt. 4 1 TTMI Trigger Time Mark Event Internal 5 1 SWE Stop Watch Event 6 1 GTW Global Time Wrap 7 1 GTD Global Time Discontinuity 8 1 GTE Global Time Error 9 1 TXU Tx Count Underflow 10 1 TXO Tx Count Overflow 11 1 SE1 Scheduling Error 1 12 1 SE2 Scheduling Error 2 13 1 ELC Error Level Changed. 14 1 IWTG Initialization Watch Trigger 15 1 WT Watch Trigger 16 1 AW Application Watchdog 17 1 CER Configuration Error 18 1 TTIE TTIE FDCAN TT Interrupt Enable Register 0x124 0x20 read-write 0x00000000 SBCE Start of Basic Cycle Interrupt Enable 0 1 SMCE Start of Matrix Cycle Interrupt Enable 1 1 CSME Change of Synchronization Mode Interrupt Enable 2 1 SOGE Start of Gap Interrupt Enable 3 1 RTMIE Register Time Mark Interrupt Enable 4 1 TTMIE Trigger Time Mark Event Internal Interrupt Enable 5 1 SWEE Stop Watch Event Interrupt Enable 6 1 GTWE Global Time Wrap Interrupt Enable 7 1 GTDE Global Time Discontinuity Interrupt Enable 8 1 GTEE Global Time Error Interrupt Enable 9 1 TXUE Tx Count Underflow Interrupt Enable 10 1 TXOE Tx Count Overflow Interrupt Enable 11 1 SE1E Scheduling Error 1 Interrupt Enable 12 1 SE2E Scheduling Error 2 Interrupt Enable 13 1 ELCE Change Error Level Interrupt Enable 14 1 IWTGE Initialization Watch Trigger Interrupt Enable 15 1 WTE Watch Trigger Interrupt Enable 16 1 AWE Application Watchdog Interrupt Enable 17 1 CERE Configuration Error Interrupt Enable 18 1 TTILS TTILS FDCAN TT Interrupt Line Select Register 0x128 0x20 read-write 0x00000000 SBCL Start of Basic Cycle Interrupt Line 0 1 SMCL Start of Matrix Cycle Interrupt Line 1 1 CSML Change of Synchronization Mode Interrupt Line 2 1 SOGL Start of Gap Interrupt Line 3 1 RTMIL Register Time Mark Interrupt Line 4 1 TTMIL Trigger Time Mark Event Internal Interrupt Line 5 1 SWEL Stop Watch Event Interrupt Line 6 1 GTWL Global Time Wrap Interrupt Line 7 1 GTDL Global Time Discontinuity Interrupt Line 8 1 GTEL Global Time Error Interrupt Line 9 1 TXUL Tx Count Underflow Interrupt Line 10 1 TXOL Tx Count Overflow Interrupt Line 11 1 SE1L Scheduling Error 1 Interrupt Line 12 1 SE2L Scheduling Error 2 Interrupt Line 13 1 ELCL Change Error Level Interrupt Line 14 1 IWTGL Initialization Watch Trigger Interrupt Line 15 1 WTL Watch Trigger Interrupt Line 16 1 AWL Application Watchdog Interrupt Line 17 1 CERL Configuration Error Interrupt Line 18 1 TTOST TTOST FDCAN TT Operation Status Register 0x12C 0x20 read-write 0x00000000 EL Error Level 0 2 MS Master State. 2 2 SYS Synchronization State 4 2 QGTP Quality of Global Time Phase 6 1 QCS Quality of Clock Speed 7 1 RTO Reference Trigger Offset 8 8 WGTD Wait for Global Time Discontinuity 22 1 GFI Gap Finished Indicator. 23 1 TMP Time Master Priority 24 3 GSI Gap Started Indicator. 27 1 WFE Wait for Event 28 1 AWE Application Watchdog Event 29 1 WECS Wait for External Clock Synchronization 30 1 SPL Schedule Phase Lock 31 1 TURNA TURNA FDCAN TUR Numerator Actual Register 0x130 0x20 read-only 0x00000000 NAV Numerator Actual Value 0 18 TTLGT TTLGT FDCAN TT Local and Global Time Register 0x134 0x20 read-only 0x00000000 LT Local Time 0 16 GT Global Time 16 16 TTCTC TTCTC FDCAN TT Cycle Time and Count Register 0x138 0x20 read-only 0x00000000 CT Cycle Time 0 16 CC Cycle Count 16 6 TTCPT TTCPT FDCAN TT Capture Time Register 0x13C 0x20 read-only 0x00000000 CCV Cycle Count Value 0 6 SWV Stop Watch Value 16 16 TTCSM TTCSM FDCAN TT Cycle Sync Mark Register 0x140 0x20 read-only 0x00000000 CSM Cycle Sync Mark 0 16 TTTS TTTS FDCAN TT Trigger Select Register 0x300 0x20 read-write 0x00000000 SWTDEL Stop watch trigger input selection 0 2 EVTSEL Event trigger input selection 4 2 FDCAN2 0x4000A400 FDCAN2_IT0 FDCAN2 Interrupt 0 20 FDCAN2_IT1 FDCAN2 Interrupt 1 22 FDCAN3 0x4000D400 FDCAN3_IT0 FDCAN3 Interrupt 0 159 FDCAN3_IT1 FDCAN3 Interrupt 1 160 FMAC FMAC register block FMAC 0x48024000 0x0 0x400 registers FMAC FMAC interrupt 153 X1BUFCFG X1BUFCFG FMAC X1 buffer configuration register 0x0 0x20 0x00000000 0xFFFFFFFF X1_BASE Base address of X1 buffer 0 8 read-write X1_BUF_SIZE Allocated size of X1 buffer in 16-bit words The minimum buffer size is the number of feed-forward taps in the filter (+ the watermark threshold - 1). 8 8 read-write FULL_WM Watermark for buffer full flag Defines the threshold for setting the X1 buffer full flag when operating in circular mode. The flag is set if the number of free spaces in the buffer is less than 2FULL_WM. 2: Threshold = 4 3: Threshold = 8 Setting a threshold greater than 1 allows several data to be transferred into the buffer under one interrupt. Threshold should be set to 1 if DMA write requests are enabled (DMAWEN = 1 in FMAC_CR register). 24 2 read-write X2BUFCFG X2BUFCFG FMAC X2 buffer configuration register 0x4 0x20 0x00000000 0xFFFFFFFF X2_BASE Base address of X2 buffer The X2 buffer base address can be modified while START=1, for example to change coefficient values. The filter should be stalled when doing this, since changing the coefficients while a calculation is ongoing affects the result. 0 8 read-write X2_BUF_SIZE Size of X2 buffer in 16-bit words This bitfield can not be modified when a function is ongoing (START = 1). 8 8 read-write YBUFCFG YBUFCFG FMAC Y buffer configuration register 0x8 0x20 0x00000000 0xFFFFFFFF Y_BASE Base address of Y buffer 0 8 read-write Y_BUF_SIZE Size of Y buffer in 16-bit words For FIR filters, the minimum buffer size is 1 (+ the watermark threshold). For IIR filters the minimum buffer size is the number of feedback taps (+ the watermark threshold). 8 8 read-write EMPTY_WM Watermark for buffer empty flag Defines the threshold for setting the Y buffer empty flag when operating in circular mode. The flag is set if the number of unread values in the buffer is less than 2EMPTY_WM. 2: Threshold = 4 3: Threshold = 8 Setting a threshold greater than 1 allows several data to be transferred from the buffer under one interrupt. Threshold should be set to 1 if DMA read requests are enabled (DMAREN = 1 in FMAC_CR register). 24 2 read-write PARAM PARAM FMAC parameter register 0xC 0x20 0x00000000 0xFFFFFFFF P Input parameter P. The value of this parameter is dependent on the function This bitfield can not be modified when a function is ongoing (START = 1) 0 8 read-write Q Input parameter Q. The value of this parameter is dependent on the function. This bitfield can not be modified when a function is ongoing (START = 1) 8 8 read-write R Input parameter R. The value of this parameter is dependent on the function. This bitfield can not be modified when a function is ongoing (START = 1) 16 8 read-write FUNC Function 2: Load X2 buffer 3: Load Y buffer 4 to 7: Reserved 8: Convolution (FIR filter) 9: IIR filter (direct form 1) This bitfield can not be modified when a function is ongoing (START = 1) 24 7 read-write START Enable execution Setting this bit triggers the execution of the function selected in the FUNC bitfield. Resetting it by software stops any ongoing function. For initialization functions, this bit is reset by hardware. 31 1 read-write CR CR FMAC control register 0x10 0x20 0x00000000 0xFFFFFFFF RIEN Enable read interrupt This bit is set and cleared by software. A read returns the current state of the bit. 0 1 read-write WIEN Enable write interrupt This bit is set and cleared by software. A read returns the current state of the bit. 1 1 read-write OVFLIEN Enable overflow error interrupts This bit is set and cleared by software. A read returns the current state of the bit. 2 1 read-write UNFLIEN Enable underflow error interrupts This bit is set and cleared by software. A read returns the current state of the bit. 3 1 read-write SATIEN Enable saturation error interrupts This bit is set and cleared by software. A read returns the current state of the bit. 4 1 read-write DMAREN Enable DMA read channel requests This bit can only be modified when START= 0 in the FMAC_PARAM register. A read returns the current state of the bit. 8 1 read-write DMAWEN Enable DMA write channel requests This bit can only be modified when START= 0 in the FMAC_PARAM register. A read returns the current state of the bit. 9 1 read-write CLIPEN Enable clipping 15 1 read-write RESET Reset FMAC unit This resets the write and read pointers, the internal control logic, the FMAC_SR register and the FMAC_PARAM register, including the START bit if active. Other register settings are not affected. This bit is reset by hardware. 16 1 read-write SR SR FMAC status register 0x14 0x20 0x00000001 0xFFFFFFFF YEMPTY Y buffer empty flag The buffer is flagged as empty if the number of unread data is less than the EMPTY_WM threshold. The number of unread data is the difference between the read pointer and the current output destination address. This flag is set and cleared by hardware, or by a reset. Note: after the last sample is read from the Y buffer there is a delay of 3 clock cycles before the YEMPTY flag goes high. To avoid any risk of underflow it is recommended to insert a software delay after reading from the Y buffer before reading the FMAC_SR. Alternatively, an EMPTY_WM threshold of 2 can be used. 0 1 read-only X1FULL X1 buffer full flag The buffer is flagged as full if the number of available spaces is less than the FULL_WM threshold. The number of available spaces is the difference between the write pointer and the least recent sample currently in use. This flag is set and cleared by hardware, or by a reset. Note: after the last available space in the X1 buffer is filled there is a delay of 3 clock cycles before the X1FULL flag goes high. To avoid any risk of overflow it is recommended to insert a software delay after writing to the X1 buffer before reading the FMAC_SR. Alternatively, a FULL_WM threshold of 2 can be used. 1 1 read-only OVFL Overflow error flag An overflow occurs when a write is made to FMAC_WDATA when no free space is available in the X1 buffer. This flag is cleared by a reset of the unit. 8 1 read-only UNFL Underflow error flag An underflow occurs when a read is made from FMAC_RDATA when no valid data is available in the Y buffer. This flag is cleared by a reset of the unit. 9 1 read-only SAT Saturation error flag Saturation occurs when the result of an accumulation exceeds the numeric range of the accumulator. This flag is cleared by a reset of the unit. 10 1 read-only WDATA WDATA FMAC write data register 0x18 0x20 0x00000000 0xFFFFFFFF WDATA Write data When a write access to this register occurs, the write data are transferred to the address offset indicated by the write pointer. The pointer address is automatically incremented after each write access. 0 16 write-only RDATA RDATA FMAC read data register 0x1C 0x20 0x00000000 0xFFFFFFFF RDATA Read data When a read access to this register occurs, the read data are the contents of the Y output buffer at the address offset indicated by the READ pointer. The pointer address is automatically incremented after each read access. 0 16 read-only FMC FMC FMC 0x52004000 0x0 0x400 registers FMC FMC global interrupt 48 BCR1 BCR1 This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories. 0x0 0x20 read-write 0x000030DB MBKEN Memory bank enable bit This bit enables the memory bank. After reset Bank1 is enabled, all others are disabled. Accessing a disabled bank causes an ERROR on AXI bus. 0 1 MBKEN Disabled Corresponding memory bank is disabled 0 Enabled Corresponding memory bank is enabled 1 MUXEN Address/data multiplexing enable bit When this bit is set, the address and data values are multiplexed on the data bus, valid only with NOR and PSRAM memories: 1 1 MUXEN Disabled Address/Data non-multiplexed 0 Enabled Address/Data multiplexed on databus 1 MTYP Memory type These bits define the type of external memory attached to the corresponding memory bank: 2 2 MTYP SRAM SRAM memory type 0 PSRAM PSRAM (CRAM) memory type 1 Flash NOR Flash/OneNAND Flash 2 MWID Memory data bus width Defines the external memory device width, valid for all type of memories. 4 2 MWID Bits8 Memory data bus width 8 bits 0 Bits16 Memory data bus width 16 bits 1 Bits32 Memory data bus width 32 bits 2 FACCEN Flash access enable This bit enables NOR Flash memory access operations. 6 1 FACCEN Disabled Corresponding NOR Flash memory access is disabled 0 Enabled Corresponding NOR Flash memory access is enabled 1 BURSTEN Burst enable bit This bit enables/disables synchronous accesses during read operations. It is valid only for synchronous memories operating in Burst mode: 8 1 BURSTEN Disabled Burst mode disabled 0 Enabled Burst mode enabled 1 WAITPOL Wait signal polarity bit This bit defines the polarity of the wait signal from memory used for either in synchronous or asynchronous mode: 9 1 WAITPOL ActiveLow NWAIT active low 0 ActiveHigh NWAIT active high 1 WAITCFG Wait timing configuration The NWAIT signal indicates whether the data from the memory are valid or if a wait state must be inserted when accessing the memory in synchronous mode. This configuration bit determines if NWAIT is asserted by the memory one clock cycle before the wait state or during the wait state: 11 1 WAITCFG BeforeWaitState NWAIT signal is active one data cycle before wait state 0 DuringWaitState NWAIT signal is active during wait state 1 WREN Write enable bit This bit indicates whether write operations are enabled/disabled in the bank by the FMC: 12 1 WREN Disabled Write operations disabled for the bank by the FMC 0 Enabled Write operations enabled for the bank by the FMC 1 WAITEN Wait enable bit This bit enables/disables wait-state insertion via the NWAIT signal when accessing the memory in synchronous mode. 13 1 WAITEN Disabled Values inside the FMC_BWTR are taken into account 0 Enabled NWAIT signal enabled 1 EXTMOD Extended mode enable. This bit enables the FMC to program the write timings for asynchronous accesses inside the FMC_BWTR register, thus resulting in different timings for read and write operations. Note: When the extended mode is disabled, the FMC can operate in Mode1 or Mode2 as follows: ** Mode 1 is the default mode when the SRAM/PSRAM memory type is selected (MTYP =0x0 or 0x01) ** Mode 2 is the default mode when the NOR memory type is selected (MTYP = 0x10). 14 1 EXTMOD Disabled Values inside the FMC_BWTR are not taken into account 0 Enabled Values inside the FMC_BWTR are taken into account 1 ASYNCWAIT Wait signal during asynchronous transfers This bit enables/disables the FMC to use the wait signal even during an asynchronous protocol. 15 1 ASYNCWAIT Disabled Wait signal not used in asynchronous mode 0 Enabled Wait signal used even in asynchronous mode 1 CPSIZE CRAM Page Size These are used for Cellular RAM 1.5 which does not allow burst access to cross the address boundaries between pages. When these bits are configured, the FMC controller splits automatically the burst access when the memory page size is reached (refer to memory datasheet for page size). Other configuration: reserved. 16 3 CPSIZE NoBurstSplit No burst split when crossing page boundary 0 Bytes128 128 bytes CRAM page size 1 Bytes256 256 bytes CRAM page size 2 Bytes512 512 bytes CRAM page size 3 Bytes1024 1024 bytes CRAM page size 4 CBURSTRW Write burst enable For PSRAM (CRAM) operating in Burst mode, the bit enables synchronous accesses during write operations. The enable bit for synchronous read accesses is the BURSTEN bit in the FMC_BCRx register. 19 1 CBURSTRW Disabled Write operations are always performed in asynchronous mode 0 Enabled Write operations are performed in synchronous mode 1 CCLKEN Continuous Clock Enable This bit enables the FMC_CLK clock output to external memory devices. Note: The CCLKEN bit of the FMC_BCR2..4 registers is dont care. It is only enabled through the FMC_BCR1 register. Bank 1 must be configured in synchronous mode to generate the FMC_CLK continuous clock. If CCLKEN bit is set, the FMC_CLK clock ratio is specified by CLKDIV value in the FMC_BTR1 register. CLKDIV in FMC_BWTR1 is dont care. If the synchronous mode is used and CCLKEN bit is set, the synchronous memories connected to other banks than Bank 1 are clocked by the same clock (the CLKDIV value in the FMC_BTR2..4 and FMC_BWTR2..4 registers for other banks has no effect.) 20 1 CCLKEN Disabled The FMC_CLK is generated continuously during asynchronous and synchronous access. The FMC_CLK clock is activated when the CCLKEN is set 0 Enabled The FMC_CLK is only generated during the synchronous memory access (read/write transaction) 1 WFDIS Write FIFO Disable This bit disables the Write FIFO used by the FMC controller. Note: The WFDIS bit of the FMC_BCR2..4 registers is dont care. It is only enabled through the FMC_BCR1 register. 21 1 WFDIS Enabled Write FIFO enabled 0 Disabled Write FIFO disabled 1 BMAP FMC bank mapping These bits allows different to remap SDRAM bank2 or swap the FMC NOR/PSRAM and SDRAM banks.Refer to Table 10 for Note: The BMAP bits of the FMC_BCR2..4 registers are dont care. It is only enabled through the FMC_BCR1 register. 24 2 BMAP Default Default mapping 0 Swapped NOR/PSRAM bank and SDRAM bank 1/bank2 are swapped 1 Remapped SDRAM Bank2 remapped on FMC bank2 and still accessible at default mapping 2 FMCEN FMC controller Enable This bit enables/disables the FMC controller. Note: The FMCEN bit of the FMC_BCR2..4 registers is dont care. It is only enabled through the FMC_BCR1 register. 31 1 FMCEN Disabled Disable the FMC controller 0 Enabled Enable the FMC controller 1 4 0x8 1-4 BTR%s BTR%s This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories.If the EXTMOD bit is set in the FMC_BCRx register, then this register is partitioned for write and read access, that is, 2 registers are available: one to configure read accesses (this register) and one to configure write accesses (FMC_BWTRx registers). 0x4 0x20 read-write 0x0FFFFFFF ADDSET Address setup phase duration These bits are written by software to define the duration of the address setup phase (refer to Figure81 to Figure93), used in SRAMs, ROMs and asynchronous NOR Flash: For each access mode address setup phase duration, please refer to the respective figure (refer to Figure81 to Figure93). Note: In synchronous accesses, this value is dont care. In Muxed mode or Mode D, the minimum value for ADDSET is 1. 0 4 0 15 ADDHLD Address-hold phase duration These bits are written by software to define the duration of the address hold phase (refer to Figure81 to Figure93), used in mode D or multiplexed accesses: For each access mode address-hold phase duration, please refer to the respective figure (Figure81 to Figure93). Note: In synchronous accesses, this value is not used, the address hold phase is always 1 memory clock period duration. 4 4 1 15 DATAST Data-phase duration These bits are written by software to define the duration of the data phase (refer to Figure81 to Figure93), used in asynchronous accesses: For each memory type and access mode data-phase duration, please refer to the respective figure (Figure81 to Figure93). Example: Mode1, write access, DATAST=1: Data-phase duration= DATAST+1 = 2 KCK_FMC clock cycles. Note: In synchronous accesses, this value is dont care. 8 8 1 255 BUSTURN Bus turnaround phase duration These bits are written by software to add a delay at the end of a write-to-read or read-to write transaction. The programmed bus turnaround delay is inserted between an asynchronous read (in muxed or mode D) or write transaction and any other asynchronous /synchronous read/write from/to a static bank. If a read operation is performed, the bank can be the same or a different one, whereas it must be different in case of write operation to the bank, except in muxed mode or mode D. In some cases, whatever the programmed BUSTRUN values, the bus turnaround delay is fixed as follows: The bus turnaround delay is not inserted between two consecutive asynchronous write transfers to the same static memory bank except in muxed mode and mode D. There is a bus turnaround delay of 1 FMC clock cycle between: Two consecutive asynchronous read transfers to the same static memory bank except for modes muxed and D. An asynchronous read to an asynchronous or synchronous write to any static bank or dynamic bank except in modes muxed and D mode. There is a bus turnaround delay of 2 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to the same bank. A synchronous write (burst or single) access and an asynchronous write or read transfer to or from static memory bank (the bank can be the same or a different one in case of a read operation. Two consecutive synchronous read operations (in Burst or Single mode) followed by any synchronous/asynchronous read or write from/to another static memory bank. There is a bus turnaround delay of 3 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to different static banks. A synchronous write access (in Burst or Single mode) and a synchronous read from the same or a different bank. The bus turnaround delay allows to match the minimum time between consecutive transactions (tEHEL from NEx high to NEx low) and the maximum time required by the memory to free the data bus after a read access (tEHQZ): (BUSTRUN + 1) KCK_FMC period ≥ tEHELmin and (BUSTRUN + 2)KCK_FMC period ≥ tEHQZmax if EXTMOD = 0 (BUSTRUN + 2)KCK_FMC period ≥ max (tEHELmin, tEHQZmax) if EXTMOD = 126. ... 16 4 0 15 CLKDIV Clock divide ratio (for FMC_CLK signal) These bits define the period of FMC_CLK clock output signal, expressed in number of KCK_FMC cycles: In asynchronous NOR Flash, SRAM or PSRAM accesses, this value is dont care. Note: Refer to Section20.6.5: Synchronous transactions for FMC_CLK divider ratio formula) 20 4 1 15 DATLAT Data latency for synchronous memory For synchronous access with read write burst mode enabled these bits define the number of memory clock cycles 24 4 0 15 ACCMOD Access mode These bits specify the asynchronous access modes as shown in the timing diagrams. They are taken into account only when the EXTMOD bit in the FMC_BCRx register is 1. 28 2 ACCMOD A Access mode A 0 B Access mode B 1 C Access mode C 2 D Access mode D 3 3 0x8 2-4 BCR%s BCR%s This register contains the control information of each memory bank, used for SRAMs, PSRAM and NOR Flash memories. 0x8 0x20 read-write 0x000030D2 MBKEN Memory bank enable bit This bit enables the memory bank. After reset Bank1 is enabled, all others are disabled. Accessing a disabled bank causes an ERROR on AXI bus. 0 1 MUXEN Address/data multiplexing enable bit When this bit is set, the address and data values are multiplexed on the data bus, valid only with NOR and PSRAM memories: 1 1 MTYP Memory type These bits define the type of external memory attached to the corresponding memory bank: 2 2 MWID Memory data bus width Defines the external memory device width, valid for all type of memories. 4 2 FACCEN Flash access enable This bit enables NOR Flash memory access operations. 6 1 BURSTEN Burst enable bit This bit enables/disables synchronous accesses during read operations. It is valid only for synchronous memories operating in Burst mode: 8 1 WAITPOL Wait signal polarity bit This bit defines the polarity of the wait signal from memory used for either in synchronous or asynchronous mode: 9 1 WAITCFG Wait timing configuration The NWAIT signal indicates whether the data from the memory are valid or if a wait state must be inserted when accessing the memory in synchronous mode. This configuration bit determines if NWAIT is asserted by the memory one clock cycle before the wait state or during the wait state: 11 1 WREN Write enable bit This bit indicates whether write operations are enabled/disabled in the bank by the FMC: 12 1 WAITEN Wait enable bit This bit enables/disables wait-state insertion via the NWAIT signal when accessing the memory in synchronous mode. 13 1 EXTMOD Extended mode enable. This bit enables the FMC to program the write timings for asynchronous accesses inside the FMC_BWTR register, thus resulting in different timings for read and write operations. Note: When the extended mode is disabled, the FMC can operate in Mode1 or Mode2 as follows: ** Mode 1 is the default mode when the SRAM/PSRAM memory type is selected (MTYP =0x0 or 0x01) ** Mode 2 is the default mode when the NOR memory type is selected (MTYP = 0x10). 14 1 ASYNCWAIT Wait signal during asynchronous transfers This bit enables/disables the FMC to use the wait signal even during an asynchronous protocol. 15 1 CPSIZE CRAM Page Size These are used for Cellular RAM 1.5 which does not allow burst access to cross the address boundaries between pages. When these bits are configured, the FMC controller splits automatically the burst access when the memory page size is reached (refer to memory datasheet for page size). Other configuration: reserved. 16 3 CBURSTRW Write burst enable For PSRAM (CRAM) operating in Burst mode, the bit enables synchronous accesses during write operations. The enable bit for synchronous read accesses is the BURSTEN bit in the FMC_BCRx register. 19 1 PCR PCR NAND Flash control registers 0x80 0x20 read-write 0x00000018 PWAITEN Wait feature enable bit. This bit enables the Wait feature for the NAND Flash memory bank: 1 1 PWAITEN Disabled Wait feature disabled 0 Enabled Wait feature enabled 1 PBKEN NAND Flash memory bank enable bit. This bit enables the memory bank. Accessing a disabled memory bank causes an ERROR on AXI bus 2 1 PBKEN Disabled Corresponding memory bank is disabled 0 Enabled Corresponding memory bank is enabled 1 PWID Data bus width. These bits define the external memory device width. 4 2 PWID Bits8 External memory device width 8 bits 0 Bits16 External memory device width 16 bits 1 ECCEN ECC computation logic enable bit 6 1 ECCEN Disabled ECC logic is disabled and reset 0 Enabled ECC logic is enabled 1 TCLR CLE to RE delay. These bits set time from CLE low to RE low in number of KCK_FMC clock cycles. The time is give by the following formula: t_clr = (TCLR + SET + 2) TKCK_FMC where TKCK_FMC is the KCK_FMC clock period Note: Set is MEMSET or ATTSET according to the addressed space. 9 4 0 15 TAR ALE to RE delay. These bits set time from ALE low to RE low in number of KCK_FMC clock cycles. Time is: t_ar = (TAR + SET + 2) TKCK_FMC where TKCK_FMC is the FMC clock period Note: Set is MEMSET or ATTSET according to the addressed space. 13 4 0 15 ECCPS ECC page size. These bits define the page size for the extended ECC: 17 3 ECCPS Bytes256 ECC page size 256 bytes 0 Bytes512 ECC page size 512 bytes 1 Bytes1024 ECC page size 1024 bytes 2 Bytes2048 ECC page size 2048 bytes 3 Bytes4096 ECC page size 4096 bytes 4 Bytes8192 ECC page size 8192 bytes 5 SR SR This register contains information about the FIFO status and interrupt. The FMC features a FIFO that is used when writing to memories to transfer up to 16 words of data.This is used to quickly write to the FIFO and free the AXI bus for transactions to peripherals other than the FMC, while the FMC is draining its FIFO into the memory. One of these register bits indicates the status of the FIFO, for ECC purposes.The ECC is calculated while the data are written to the memory. To read the correct ECC, the software must consequently wait until the FIFO is empty. 0x84 0x20 0x00000040 IRS Interrupt rising edge status The flag is set by hardware and reset by software. Note: If this bit is written by software to 1 it will be set. 0 1 read-write IRS DidNotOccur Interrupt rising edge did not occur 0 Occurred Interrupt rising edge occurred 1 ILS Interrupt high-level status The flag is set by hardware and reset by software. 1 1 read-write ILS DidNotOccur Interrupt high-level did not occur 0 Occurred Interrupt high-level occurred 1 IFS Interrupt falling edge status The flag is set by hardware and reset by software. Note: If this bit is written by software to 1 it will be set. 2 1 read-write IFS DidNotOccur Interrupt falling edge did not occur 0 Occurred Interrupt falling edge occurred 1 IREN Interrupt rising edge detection enable bit 3 1 read-write IREN Disabled Interrupt rising edge detection request disabled 0 Enabled Interrupt rising edge detection request enabled 1 ILEN Interrupt high-level detection enable bit 4 1 read-write ILEN Disabled Interrupt high-level detection request disabled 0 Enabled Interrupt high-level detection request enabled 1 IFEN Interrupt falling edge detection enable bit 5 1 read-write IFEN Disabled Interrupt falling edge detection request disabled 0 Enabled Interrupt falling edge detection request enabled 1 FEMPT FIFO empty. Read-only bit that provides the status of the FIFO 6 1 read-only FEMPT NotEmpty FIFO not empty 0 Empty FIFO empty 1 PMEM PMEM The FMC_PMEM read/write register contains the timing information for NAND Flash memory bank. This information is used to access either the common memory space of the NAND Flash for command, address write access and data read/write access. 0x88 0x20 read-write 0xFCFCFCFC MEMSET Common memory x setup time These bits define the number of KCK_FMC (+1) clock cycles to set up the address before the command assertion (NWE, NOE), for NAND Flash read or write access to common memory space: 0 8 0 254 MEMWAIT Common memory wait time These bits define the minimum number of KCK_FMC (+1) clock cycles to assert the command (NWE, NOE), for NAND Flash read or write access to common memory space. The duration of command assertion is extended if the wait signal (NWAIT) is active (low) at the end of the programmed value of KCK_FMC: 8 8 1 254 MEMHOLD Common memory hold time These bits define the number of KCK_FMC clock cycles for write accesses and KCK_FMC+1 clock cycles for read accesses during which the address is held (and data for write accesses) after the command is de-asserted (NWE, NOE), for NAND Flash read or write access to common memory space: 16 8 1 254 MEMHIZ Common memory x data bus Hi-Z time These bits define the number of KCK_FMC clock cycles during which the data bus is kept Hi-Z after the start of a NAND Flash write access to common memory space. This is only valid for write transactions: 24 8 0 254 PATT PATT The FMC_PATT read/write register contains the timing information for NAND Flash memory bank. It is used for 8-bit accesses to the attribute memory space of the NAND Flash for the last address write access if the timing must differ from that of previous accesses (for Ready/Busy management, refer to Section20.8.5: NAND Flash prewait feature). 0x8C 0x20 read-write 0xFCFCFCFC ATTSET Attribute memory setup time These bits define the number of KCK_FMC (+1) clock cycles to set up address before the command assertion (NWE, NOE), for NAND Flash read or write access to attribute memory space: 0 8 0 254 ATTWAIT Attribute memory wait time These bits define the minimum number of x KCK_FMC (+1) clock cycles to assert the command (NWE, NOE), for NAND Flash read or write access to attribute memory space. The duration for command assertion is extended if the wait signal (NWAIT) is active (low) at the end of the programmed value of KCK_FMC: 8 8 1 254 ATTHOLD Attribute memory hold time These bits define the number of KCK_FMC clock cycles during which the address is held (and data for write access) after the command de-assertion (NWE, NOE), for NAND Flash read or write access to attribute memory space: 16 8 1 254 ATTHIZ Attribute memory data bus Hi-Z time These bits define the number of KCK_FMC clock cycles during which the data bus is kept in Hi-Z after the start of a NAND Flash write access to attribute memory space on socket. Only valid for writ transaction: 24 8 0 254 ECCR ECCR This register contain the current error correction code value computed by the ECC computation modules of the FMC NAND controller. When the CPU reads/writes the data from a NAND Flash memory page at the correct address (refer to Section20.8.6: Computation of the error correction code (ECC) in NAND Flash memory), the data read/written from/to the NAND Flash memory are processed automatically by the ECC computation module. When X bytes have been read (according to the ECCPS field in the FMC_PCR registers), the CPU must read the computed ECC value from the FMC_ECC registers. It then verifies if these computed parity data are the same as the parity value recorded in the spare area, to determine whether a page is valid, and, to correct it otherwise. The FMC_ECCR register should be cleared after being read by setting the ECCEN bit to 0. To compute a new data block, the ECCEN bit must be set to 1. 0x94 0x20 read-only 0x00000000 ECC ECC result This field contains the value computed by the ECC computation logic. Table167 describes the contents of these bit fields. 0 32 0 4294967295 4 0x8 1-4 BWTR%s BWTR%s This register contains the control information of each memory bank. It is used for SRAMs, PSRAMs and NOR Flash memories. When the EXTMOD bit is set in the FMC_BCRx register, then this register is active for write access. 0x104 0x20 read-write 0x0FFFFFFF ADDSET Address setup phase duration. These bits are written by software to define the duration of the address setup phase in KCK_FMC cycles (refer to Figure81 to Figure93), used in asynchronous accesses: ... Note: In synchronous accesses, this value is not used, the address setup phase is always 1 Flash clock period duration. In muxed mode, the minimum ADDSET value is 1. 0 4 0 15 ADDHLD Address-hold phase duration. These bits are written by software to define the duration of the address hold phase (refer to Figure81 to Figure93), used in asynchronous multiplexed accesses: ... Note: In synchronous NOR Flash accesses, this value is not used, the address hold phase is always 1 Flash clock period duration. 4 4 1 15 DATAST Data-phase duration. These bits are written by software to define the duration of the data phase (refer to Figure81 to Figure93), used in asynchronous SRAM, PSRAM and NOR Flash memory accesses: 8 8 1 255 BUSTURN Bus turnaround phase duration These bits are written by software to add a delay at the end of a write transaction to match the minimum time between consecutive transactions (tEHEL from ENx high to ENx low): (BUSTRUN + 1) KCK_FMC period ≥ tEHELmin. The programmed bus turnaround delay is inserted between a an asynchronous write transfer and any other asynchronous /synchronous read or write transfer to or from a static bank. If a read operation is performed, the bank can be the same or a different one, whereas it must be different in case of write operation to the bank, except in muxed mode or mode D. In some cases, whatever the programmed BUSTRUN values, the bus turnaround delay is fixed as follows: The bus turnaround delay is not inserted between two consecutive asynchronous write transfers to the same static memory bank except for muxed mode and mode D. There is a bus turnaround delay of 2 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to the same bank A synchronous write transfer ((in Burst or Single mode) and an asynchronous write or read transfer to or from static memory bank. There is a bus turnaround delay of 3 FMC clock cycle between: Two consecutive synchronous write operations (in Burst or Single mode) to different static banks. A synchronous write transfer (in Burst or Single mode) and a synchronous read from the same or a different bank. ... 16 4 0 15 ACCMOD Access mode. These bits specify the asynchronous access modes as shown in the next timing diagrams.These bits are taken into account only when the EXTMOD bit in the FMC_BCRx register is 1. 28 2 ACCMOD A Access mode A 0 B Access mode B 1 C Access mode C 2 D Access mode D 3 SDCR1 SDCR1 This register contains the control parameters for each SDRAM memory bank 0x140 0x20 read-write 0x000002D0 NC Number of column address bits These bits define the number of bits of a column address. 0 2 NC Bits8 8 bits 0 Bits9 9 bits 1 Bits10 10 bits 2 Bits11 11 bits 3 NR Number of row address bits These bits define the number of bits of a row address. 2 2 NR Bits11 11 bits 0 Bits12 12 bits 1 Bits13 13 bits 2 MWID Memory data bus width. These bits define the memory device width. 4 2 MWID Bits8 Memory data bus width 8 bits 0 Bits16 Memory data bus width 16 bits 1 Bits32 Memory data bus width 32 bits 2 NB Number of internal banks This bit sets the number of internal banks. 6 1 NB NB2 Two internal Banks 0 NB4 Four internal Banks 1 CAS CAS Latency This bits sets the SDRAM CAS latency in number of memory clock cycles 7 2 CAS Clocks1 1 cycle 1 Clocks2 2 cycles 2 Clocks3 3 cycles 3 WP Write protection This bit enables write mode access to the SDRAM bank. 9 1 WP Disabled Write accesses allowed 0 Enabled Write accesses ignored 1 SDCLK SDRAM clock configuration These bits define the SDRAM clock period for both SDRAM banks and allow disabling the clock before changing the frequency. In this case the SDRAM must be re-initialized. Note: The corresponding bits in the FMC_SDCR2 register is read only. 10 2 SDCLK Disabled SDCLK clock disabled 0 Div2 SDCLK period = 2 x HCLK period 2 Div3 SDCLK period = 3 x HCLK period 3 RBURST Burst read This bit enables burst read mode. The SDRAM controller anticipates the next read commands during the CAS latency and stores data in the Read FIFO. Note: The corresponding bit in the FMC_SDCR2 register is read only. 12 1 RBURST Disabled Single read requests are not managed as bursts 0 Enabled Single read requests are always managed as bursts 1 RPIPE Read pipe These bits define the delay, in KCK_FMC clock cycles, for reading data after CAS latency. Note: The corresponding bits in the FMC_SDCR2 register is read only. 13 2 RPIPE NoDelay No clock cycle delay 0 Clocks1 One clock cycle delay 1 Clocks2 Two clock cycles delay 2 SDCR2 SDCR2 This register contains the control parameters for each SDRAM memory bank 0x144 0x20 read-write 0x000002D0 NC Number of column address bits These bits define the number of bits of a column address. 0 2 NR Number of row address bits These bits define the number of bits of a row address. 2 2 MWID Memory data bus width. These bits define the memory device width. 4 2 NB Number of internal banks This bit sets the number of internal banks. 6 1 CAS CAS Latency This bits sets the SDRAM CAS latency in number of memory clock cycles 7 2 WP Write protection This bit enables write mode access to the SDRAM bank. 9 1 SDCLK SDRAM clock configuration These bits define the SDRAM clock period for both SDRAM banks and allow disabling the clock before changing the frequency. In this case the SDRAM must be re-initialized. Note: The corresponding bits in the FMC_SDCR2 register is read only. 10 2 RBURST Burst read This bit enables burst read mode. The SDRAM controller anticipates the next read commands during the CAS latency and stores data in the Read FIFO. Note: The corresponding bit in the FMC_SDCR2 register is read only. 12 1 RBURST Disabled Single read requests are not managed as bursts 0 Enabled Single read requests are always managed as bursts 1 RPIPE Read pipe These bits define the delay, in KCK_FMC clock cycles, for reading data after CAS latency. Note: The corresponding bits in the FMC_SDCR2 register is read only. 13 2 RPIPE NoDelay No clock cycle delay 0 Clocks1 One clock cycle delay 1 Clocks2 Two clock cycles delay 2 2 0x4 1-2 SDTR%s SDTR%s This register contains the timing parameters of each SDRAM bank 0x148 0x20 read-write 0x0FFFFFFF TMRD Load Mode Register to Active These bits define the delay between a Load Mode Register command and an Active or Refresh command in number of memory clock cycles. .... 0 4 0 15 TXSR Exit Self-refresh delay These bits define the delay from releasing the Self-refresh command to issuing the Activate command in number of memory clock cycles. .... Note: If two SDRAM devices are used, the FMC_SDTR1 and FMC_SDTR2 must be programmed with the same TXSR timing corresponding to the slowest SDRAM device. 4 4 0 15 TRAS Self refresh time These bits define the minimum Self-refresh period in number of memory clock cycles. .... 8 4 0 15 TRC Row cycle delay These bits define the delay between the Refresh command and the Activate command, as well as the delay between two consecutive Refresh commands. It is expressed in number of memory clock cycles. The TRC timing is only configured in the FMC_SDTR1 register. If two SDRAM devices are used, the TRC must be programmed with the timings of the slowest device. .... Note: TRC must match the TRC and TRFC (Auto Refresh period) timings defined in the SDRAM device datasheet. Note: The corresponding bits in the FMC_SDTR2 register are dont care. 12 4 0 15 TWR Recovery delay These bits define the delay between a Write and a Precharge command in number of memory clock cycles. .... Note: TWR must be programmed to match the write recovery time (tWR) defined in the SDRAM datasheet, and to guarantee that: TWR ≥ TRAS - TRCD and TWR ≥TRC - TRCD - TRP Example: TRAS= 4 cycles, TRCD= 2 cycles. So, TWR >= 2 cycles. TWR must be programmed to 0x1. If two SDRAM devices are used, the FMC_SDTR1 and FMC_SDTR2 must be programmed with the same TWR timing corresponding to the slowest SDRAM device. 16 4 0 15 TRP Row precharge delay These bits define the delay between a Precharge command and another command in number of memory clock cycles. The TRP timing is only configured in the FMC_SDTR1 register. If two SDRAM devices are used, the TRP must be programmed with the timing of the slowest device. .... Note: The corresponding bits in the FMC_SDTR2 register are dont care. 20 4 0 15 TRCD Row to column delay These bits define the delay between the Activate command and a Read/Write command in number of memory clock cycles. .... 24 4 0 15 SDCMR SDCMR This register contains the command issued when the SDRAM device is accessed. This register is used to initialize the SDRAM device, and to activate the Self-refresh and the Power-down modes. As soon as the MODE field is written, the command will be issued only to one or to both SDRAM banks according to CTB1 and CTB2 command bits. This register is the same for both SDRAM banks. 0x150 0x20 read-write 0x00000000 MODE Command mode These bits define the command issued to the SDRAM device. Note: When a command is issued, at least one Command Target Bank bit ( CTB1 or CTB2) must be set otherwise the command will be ignored. Note: If two SDRAM banks are used, the Auto-refresh and PALL command must be issued simultaneously to the two devices with CTB1 and CTB2 bits set otherwise the command will be ignored. Note: If only one SDRAM bank is used and a command is issued with its associated CTB bit set, the other CTB bit of the unused bank must be kept to 0. 0 3 MODE Normal Normal Mode 0 ClockConfigurationEnable Clock Configuration Enable 1 PALL PALL (All Bank Precharge) command 2 AutoRefreshCommand Auto-refresh command 3 LoadModeRegister Load Mode Resgier 4 SelfRefreshCommand Self-refresh command 5 PowerDownCommand Power-down command 6 CTB2 Command Target Bank 2 This bit indicates whether the command will be issued to SDRAM Bank 2 or not. 3 1 CTB2 NotIssued Command not issued to SDRAM Bank 1 0 Issued Command issued to SDRAM Bank 1 1 CTB1 Command Target Bank 1 This bit indicates whether the command will be issued to SDRAM Bank 1 or not. 4 1 NRFS Number of Auto-refresh These bits define the number of consecutive Auto-refresh commands issued when MODE = 011. .... 5 4 0 15 MRD Mode Register definition This 14-bit field defines the SDRAM Mode Register content. The Mode Register is programmed using the Load Mode Register command. The MRD[13:0] bits are also used to program the extended mode register for mobile SDRAM. 9 14 0 8191 SDRTR SDRTR This register sets the refresh rate in number of SDCLK clock cycles between the refresh cycles by configuring the Refresh Timer Count value.Examplewhere 64 ms is the SDRAM refresh period.The refresh rate must be increased by 20 SDRAM clock cycles (as in the above example) to obtain a safe margin if an internal refresh request occurs when a read request has been accepted. It corresponds to a COUNT value of 0000111000000 (448). This 13-bit field is loaded into a timer which is decremented using the SDRAM clock. This timer generates a refresh pulse when zero is reached. The COUNT value must be set at least to 41 SDRAM clock cycles.As soon as the FMC_SDRTR register is programmed, the timer starts counting. If the value programmed in the register is 0, no refresh is carried out. This register must not be reprogrammed after the initialization procedure to avoid modifying the refresh rate.Each time a refresh pulse is generated, this 13-bit COUNT field is reloaded into the counter.If a memory access is in progress, the Auto-refresh request is delayed. However, if the memory access and Auto-refresh requests are generated simultaneously, the Auto-refresh takes precedence. If the memory access occurs during a refresh operation, the request is buffered to be processed when the refresh is complete.This register is common to SDRAM bank 1 and bank 2. 0x154 0x20 0x00000000 CRE Clear Refresh error flag This bit is used to clear the Refresh Error Flag (RE) in the Status Register. 0 1 write-only CRE Clear Refresh Error Flag is cleared 1 COUNT Refresh Timer Count This 13-bit field defines the refresh rate of the SDRAM device. It is expressed in number of memory clock cycles. It must be set at least to 41 SDRAM clock cycles (0x29). Refresh rate = (COUNT + 1) x SDRAM frequency clock COUNT = (SDRAM refresh period / Number of rows) - 20 1 13 read-write 0 8191 REIE RES Interrupt Enable 14 1 read-write REIE Disabled Interrupt is disabled 0 Enabled Interrupt is generated if RE = 1 1 SDSR SDSR SDRAM Status register 0x158 0x20 read-only 0x00000000 RE Refresh error flag An interrupt is generated if REIE = 1 and RE = 1 0 1 RE NoError No refresh error has been detected 0 Error A refresh error has been detected 1 MODES1 Status Mode for Bank 1 These bits define the Status Mode of SDRAM Bank 1. 1 2 MODES1 Normal Normal Mode 0 SelfRefresh Self-refresh mode 1 PowerDown Power-down mode 2 MODES2 Status Mode for Bank 2 These bits define the Status Mode of SDRAM Bank 2. 3 2 FLASH Flash FLASH 0x52002000 0x0 0x1000 registers FLASH Flash memory 4 ACR ACR Access control register 0x0 0x20 read-write 0x00000037 LATENCY Read latency 0 4 WRHIGHFREQ Flash signal delay 4 2 KEYR KEYR FLASH key register 0x4 0x20 read-write 0x00000000 KEYKEYRR access configuration unlock key 0 32 OPTKEYR OPTKEYR FLASH option key register 0x8 0x20 write-only 0x00000000 OPTKEYR Unlock key option bytes 0 32 CR CR FLASH control register 0xC 0x20 read-write 0x00000000 LOCK configuration lock bit 0 1 PG program enable bit 1 1 SER sector erase request 2 1 BER erase request 3 1 PSIZE program size 4 2 FW write forcing control bit 6 1 START bank or sector erase start control bit 7 1 SNB sector erase selection number 8 3 CRC_EN CRC control bit 15 1 EOPIE end-of-program interrupt control bit 16 1 WRPERRIE write protection error interrupt enable bit 17 1 PGSERRIE programming sequence error interrupt enable bit 18 1 STRBERRIE strobe error interrupt enable bit 19 1 INCERRIE inconsistency error interrupt enable bit 21 1 OPERRIE write/erase error interrupt enable bit 22 1 RDPERRIE read protection error interrupt enable bit 23 1 RDSERRIE secure error interrupt enable bit 24 1 SNECCERRIE ECC single correction error interrupt enable bit 25 1 DBECCERRIE ECC double detection error interrupt enable bit 26 1 CRCENDIE end of CRC calculation interrupt enable bit 27 1 CRCRDERRIE CRC read error interrupt enable bit When CRCRDERRIE1 bit is set to 1, an interrupt is generated when a protected area (PCROP or secure-only) has been detected during the last CRC computation on bank 1. CRCRDERRIE1 can be programmed only when LOCK1 is cleared to 0. 28 1 read-write SR SR FLASH status register for bank 1 0x10 0x20 read-write 0x00000000 BSY ongoing program flag 0 1 WBNE write buffer not empty flag 1 1 QW wait queue flag 2 1 CRC_BUSY CRC busy flag 3 1 EOP end-of-program flag 16 1 WRPERR write protection error flag 17 1 PGSERR programming sequence error flag 18 1 STRBERR strobe error flag 19 1 INCERR inconsistency error flag 21 1 OPERR write/erase error flag 22 1 RDPERR read protection error flag 23 1 RDSERR secure error flag 24 1 SNECCERR single correction error flag 25 1 DBECCERR ECC double detection error flag 26 1 CRCEND CRC-complete flag 27 1 CRCRDERR CRC read error flag CRCRDERR1 flag is raised when a word is found read protected during a CRC operation on bank 1. An interrupt is generated if CRCRDIE1 and CRCEND1 are set to 1. Writing 1 to CLR_CRCRDERR1 bit in FLASH_CCR1 register clears CRCRDERR1. Note: This flag is valid only when CRCEND1 bit is set to 1 28 1 read-only CCR CCR FLASH clear control register for bank 1 0x14 0x20 read-write 0x00000000 CLR_EOP EOP1 flag clear bit 16 1 CLR_WRPERR WRPERR1 flag clear bit 17 1 CLR_PGSERR PGSERR flag clear bi 18 1 CLR_STRBERR STRBERR flag clear bit 19 1 CLR_INCERR INCERR flag clear bit 21 1 CLR_OPERR OPERR flag clear bit 22 1 CLR_RDPERR RDPERR flag clear bit 23 1 CLR_RDSERR RDSERR flag clear bit 24 1 CLR_SNECCERR SNECCERR flag clear bit 25 1 CLR_DBECCERR DBECCERR flag clear bit 26 1 CLR_CRCEND CRCEND flag clear bit 27 1 CLR_CRCRDERR CRCRDERR1 flag clear bit Setting this bit to 1 resets to 0 CRCRDERR1 flag in FLASH_SR1 register. 28 1 write-only OPTCR OPTCR FLASH option control register 0x18 0x20 read-write 0x00000000 OPTLOCK FLASH_OPTCR lock option configuration bit 0 1 OPTSTART Option byte start change option configuration bit 1 1 OPTCHANGEERRIE Option byte change error interrupt enable bit 30 1 OPTSR_CUR OPTSR_CUR FLASH option status register 0x1C 0x20 read-write 0x00000000 OPT_BUSY Option byte change ongoing flag 0 1 BOR_LEV Brownout level option status bit 2 2 IWDG1_SW IWDG1 control option status bit 4 1 NRST_STOP_D1 D1 DStop entry reset option status bit 6 1 NRST_STBY_D1 D1 DStandby entry reset option status bit 7 1 RDP Readout protection level option status byte 8 8 IWDG_FZ_STOP IWDG Stop mode freeze option status bit 17 1 IWDG_FZ_SDBY IWDG Standby mode freeze option status bit 18 1 ST_RAM_SIZE DTCM RAM size option status 19 2 SECURITY Security enable option status bit 21 1 IO_HSLV I/O high-speed at low-voltage status bit (PRODUCT_BELOW_25V) 29 1 OPTCHANGEERR Option byte change error flag 30 1 OPTSR_PRG OPTSR_PRG FLASH option status register 0x20 0x20 read-write 0x00000000 BOR_LEV BOR reset level option configuration bits 2 2 IWDG1_SW IWDG1 option configuration bit 4 1 NRST_STOP_D1 Option byte erase after D1 DStop option configuration bit 6 1 NRST_STBY_D1 Option byte erase after D1 DStandby option configuration bit 7 1 RDP Readout protection level option configuration byte 8 8 IWDG_FZ_STOP IWDG Stop mode freeze option configuration bit 17 1 IWDG_FZ_SDBY IWDG Standby mode freeze option configuration bit 18 1 ST_RAM_SIZE DTCM size select option configuration bits 19 2 SECURITY Security option configuration bit 21 1 IO_HSLV I/O high-speed at low-voltage (PRODUCT_BELOW_25V) 29 1 OPTCCR OPTCCR FLASH option clear control register 0x24 0x20 write-only 0x00000000 CLR_OPTCHANGEERR OPTCHANGEERR reset bit 30 1 PRAR_CUR PRAR_CUR FLASH protection address for bank 1 0x28 0x20 read-only 0x00000000 PROT_AREA_START lowest PCROP protected address 0 12 PROT_AREA_END highest PCROP protected address 16 12 DMEP PCROP protected erase enable option status bit 31 1 PRAR_PRG PRAR_PRG FLASH protection address for bank 1 0x2C 0x20 read-write 0x00000000 PROT_AREA_START lowest PCROP protected address configuration 0 12 PROT_AREA_END highest PCROP protected address configuration 16 12 DMEP PCROP protected erase enable option configuration bit 31 1 SCAR_CUR SCAR_CUR FLASH secure address for bank 1 0x30 0x20 read-write 0x00000000 SEC_AREA_START lowest secure protected address 0 12 SEC_AREA_END highest secure protected address 16 12 DMES secure protected erase enable option status bit 31 1 SCAR_PRG SCAR_PRG FLASH secure address for bank 1 0x34 0x20 read-write 0x00000000 SEC_AREA_START lowest secure protected address configuration 0 12 SEC_AREA_END highest secure protected address configuration 16 12 DMES secure protected erase enable option configuration bit 31 1 WPSN_CUR WPSN_CUR FLASH write sector protection for bank 1 0x38 0x20 read-only 0x00000000 WRPSn sector write protection option status byte 0 8 WPSN_PRG WPSN_PRG FLASH write sector protection for bank 1 0x3C 0x20 read-write 0x00000000 WRPSn sector write protection configuration byte 0 8 BOOT_CUR BOOT_CUR FLASH register with boot address 0x40 0x20 read-only 0x00000000 BOOT_CM_ADD0 Boot address 0 0 16 BOOT_CM_ADD1 Boot address 1 16 16 BOOT_PRG BOOT_PRG FLASH register with boot address 0x44 0x20 read-only 0x00000000 BOOT_CM_ADD0 Boot address 0 0 16 BOOT_CM_ADD1 Boot address 1 16 16 CRCCR CRCCR FLASH CRC control register for bank 1 0x50 0x20 read-write 0x00000000 CRC_SECT CRC sector number 0 3 CRC_BY_SECT CRC sector mode select bit 8 1 ADD_SECT CRC sector select bit 9 1 CLEAN_SECT CRC sector list clear bit 10 1 START_CRC CRC start bit 16 1 CLEAN_CRC CRC clear bit 17 1 CRC_BURST CRC burst size 20 2 ALL_BANK Bank 1 CRC select bit 22 1 write-only CRCSADDR CRCSADDR FLASH CRC start address register for bank 1 0x54 0x20 read-write 0x00000000 CRC_START_ADDR CRC start address on bank 1 2 18 read-write CRCEADDR CRCEADDR FLASH CRC end address register for bank 1 0x58 0x20 read-write 0x00000000 CRC_END_ADDR CRC end address on bank 1 2 18 read-write CRCDATAR CRCDATAR FLASH CRC data register 0x5C 0x20 read-write 0x00000000 CRC_DATA CRC result 0 32 ECC_FAR ECC_FAR FLASH ECC fail address for bank 1 0x60 0x20 read-only 0x00000000 FAIL_ECC_ADDR ECC error address 0 15 OPTSR2_CUR OPTSR2_CUR FLASH ECC fail address for bank 1 0x70 0x20 read-only 0x00000000 TCM_AXI_SHARED TCM RAM sharing status bit 0 2 CPUFREQ_BOOST CPU frequency boost status bit 2 1 OPTSR2_PRG OPTSR2_PRG FLASH ECC fail address for bank 1 0x74 0x20 read-write 0x00000000 TCM_AXI_SHARED TCM RAM sharing status bit 0 2 CPUFREQ_BOOST CPU frequency boost status bit 2 1 GPIOA GPIO GPIO 0x58020000 0x0 0x400 registers MODER MODER GPIO port mode register 0x0 0x20 read-write 0xABFFFFFF 16 0x2 0-15 MODER%s Port x configuration pin %s 0 2 Mode Input Input mode (reset state) 0 Output General purpose output mode 1 Alternate Alternate function mode 2 Analog Analog mode 3 OTYPER OTYPER GPIO port output type register 0x4 0x20 read-write 0x00000000 16 0x1 0-15 OT%s Port x configuration pin %s 0 1 OutputType PushPull Output push-pull (reset state) 0 OpenDrain Output open-drain 1 OSPEEDR OSPEEDR GPIO port output speed register 0x8 0x20 read-write 0x0C000000 16 0x2 0-15 OSPEEDR%s Port x configuration pin %s 0 2 OutputSpeed LowSpeed Low speed 0 MediumSpeed Medium speed 1 HighSpeed High speed 2 VeryHighSpeed Very high speed 3 PUPDR PUPDR GPIO port pull-up/pull-down register 0xC 0x20 read-write 0x64000000 16 0x2 0-15 PUPDR%s Port x configuration pin %s 0 2 Pull Floating No pull-up, pull-down 0 PullUp Pull-up 1 PullDown Pull-down 2 IDR IDR GPIO port input data register 0x10 0x20 read-only 0x00000000 16 0x1 0-15 IDR%s Port input data pin %s 0 1 InputData Low Input is logic low 0 High Input is logic high 1 ODR ODR GPIO port output data register 0x14 0x20 read-write 0x00000000 16 0x1 0-15 ODR%s Port output data pin %s 0 1 OutputData Low Set output to logic low 0 High Set output to logic high 1 BSRR BSRR GPIO port bit set/reset register 0x18 0x20 write-only 0x00000000 16 0x1 0-15 BS%s Port x set pin %s 0 1 BitSet Set Sets the corresponding ODRx bit 1 16 0x1 0-15 BR%s Port x reset pin %s 16 1 BitReset Reset Resets the corresponding ODRx bit 1 LCKR LCKR This register is used to lock the configuration of the port bits when a correct write sequence is applied to bit 16 (LCKK). The value of bits [15:0] is used to lock the configuration of the GPIO. During the write sequence, the value of LCKR[15:0] must not change. When the LOCK sequence has been applied on a port bit, the value of this port bit can no longer be modified until the next MCU reset or peripheral reset.A specific write sequence is used to write to the GPIOx_LCKR register. Only word access (32-bit long) is allowed during this locking sequence.Each lock bit freezes a specific configuration register (control and alternate function registers). 0x1C 0x20 read-write 0x00000000 16 0x1 0-15 LCK%s Port x lock pin %s 0 1 Lock Unlocked Port configuration not locked 0 Locked Port configuration locked 1 LCKK 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] RD LCKR 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 will return 1 until the next MCU reset or peripheral reset. 16 1 LockKey NotActive Port configuration lock key not active 0 Active Port configuration lock key active 1 AFRL AFRL GPIO alternate function low register 0x20 0x20 read-write 0x00000000 8 0x4 0-7 AFR%s [3:0]: Alternate function selection for port x pin y (y = 0..7) These bits are written by software to configure alternate function I/Os AFSELy selection: 0 4 AlternateFunction AF0 AF0 0 AF1 AF1 1 AF2 AF2 2 AF3 AF3 3 AF4 AF4 4 AF5 AF5 5 AF6 AF6 6 AF7 AF7 7 AF8 AF8 8 AF9 AF9 9 AF10 AF10 10 AF11 AF11 11 AF12 AF12 12 AF13 AF13 13 AF14 AF14 14 AF15 AF15 15 AFRH AFRH GPIO alternate function high register 0x24 0x20 read-write 0x00000000 8 0x4 8-15 AFR%s [3:0]: Alternate function selection for port x pin y (y = 8..15) These bits are written by software to configure alternate function I/Os 0 4 GPIOC GPIO GPIO 0x58020800 0x0 0x400 registers MODER MODER GPIO port mode register 0x0 0x20 read-write 0xFFFFFFFF 16 0x2 0-15 MODER%s Port x configuration pin %s 0 2 OTYPER OTYPER GPIO port output type register 0x4 OSPEEDR OSPEEDR GPIO port output speed register 0x8 0x20 read-write 0x00000000 16 0x2 0-15 OSPEEDR%s Port x configuration pin %s 0 2 PUPDR PUPDR GPIO port pull-up/pull-down register 0xC 0x20 read-write 0x00000000 16 0x2 0-15 PUPDR%s Port x configuration pin %s 0 2 IDR IDR GPIO port input data register 0x10 ODR ODR GPIO port output data register 0x14 BSRR BSRR GPIO port bit set/reset register 0x18 LCKR LCKR This register is used to lock the configuration of the port bits when a correct write sequence is applied to bit 16 (LCKK). The value of bits [15:0] is used to lock the configuration of the GPIO. During the write sequence, the value of LCKR[15:0] must not change. When the LOCK sequence has been applied on a port bit, the value of this port bit can no longer be modified until the next MCU reset or peripheral reset.A specific write sequence is used to write to the GPIOx_LCKR register. Only word access (32-bit long) is allowed during this locking sequence.Each lock bit freezes a specific configuration register (control and alternate function registers). 0x1C AFRL AFRL GPIO alternate function low register 0x20 AFRH AFRH GPIO alternate function high register 0x24 GPIOD 0x58020C00 GPIOE 0x58021000 GPIOF 0x58021400 GPIOG 0x58021800 GPIOH 0x58021C00 HSEM HSEM HSEM 0x58026400 0x0 0x400 registers HSEM0 HSEM global interrupt 1 125 32 0x4 0-31 R%s R%s HSEM register HSEM_R%s 0x0 0x20 read-write 0x00000000 PROCID Semaphore ProcessID 0 8 0 255 MASTERID Semaphore MasterID 8 8 0 15 LOCK Lock indication 31 1 LOCKR read Free Semaphore is free 0 Locked Semaphore is locked 1 LOCKW write Free Free semaphore 0 TryLock Try to lock semaphore 1 32 0x4 0-31 RLR%s RLR%s Semaphore %s read lock register 0x80 0x20 read-only 0x00000000 PROCID Semaphore ProcessID 0 8 0 255 MASTERID Semaphore MasterID 8 8 0 15 LOCK Lock indication 31 1 LOCKR Free Semaphore is free 0 Locked Semaphore is locked 1 IER IER HSEM Interrupt enable register 0x100 0x20 read-write 0x00000000 32 0x1 0-31 ISE%s Interrupt semaphore %s enable bit 0 1 ISE0 Disabled Interrupt generation disabled 0 Enabled Interrupt generation enabled 1 ICR ICR HSEM Interrupt clear register 0x104 0x20 read-write 0x00000000 32 0x1 0-31 ISC%s Interrupt semaphore %s clear bit 0 1 ISC0R read NoEffect Always reads 0 0 ISC0W write NoEffect Interrupt semaphore x status ISFx and masked status MISFx not affected 0 Clear Interrupt semaphore x status ISFx and masked status MISFx cleared 1 ISR ISR HSEM Interrupt status register 0x108 0x20 read-only 0x00000000 32 0x1 0-31 ISF%s Interrupt semaphore %s status bit before enable (mask) 0 1 ISF0 NotPending No interrupt pending 0 Pending Interrupt pending 1 MISR MISR HSEM Masked interrupt status register 0x10C 0x20 read-only 0x00000000 32 0x1 0-31 MISF%s Masked interrupt semaphore %s status bit after enable (mask) 0 1 MISF0 NotPending No interrupt pending after masking 0 Pending Interrupt pending after masking 1 CR CR HSEM Clear register 0x140 0x20 read-write 0x00000000 MASTERID MasterID of semaphores to be cleared 8 4 0 15 KEY Semaphore clear Key 16 16 0 65535 KEYR KEYR HSEM Interrupt clear register 0x144 0x20 read-write 0x00000000 KEY Semaphore Clear Key 16 16 0 65535 I2C1 I2C I2C 0x40005400 0x0 0x400 registers I2C1_EV I2C1 event interrupt 31 I2C1_ER I2C1 global error interrupt 32 CR1 CR1 Access: No wait states, except if a write access occurs while a write access to this register is ongoing. In this case, wait states are inserted in the second write access until the previous one is completed. The latency of the second write access can be up to 2 x PCLK1 + 6 x I2CCLK. 0x0 0x20 read-write 0x00000000 PE 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. 0 1 PE Disabled Peripheral disabled 0 Enabled Peripheral enabled 1 TXIE TX Interrupt enable 1 1 TXIE Disabled Transmit (TXIS) interrupt disabled 0 Enabled Transmit (TXIS) interrupt enabled 1 RXIE RX Interrupt enable 2 1 RXIE Disabled Receive (RXNE) interrupt disabled 0 Enabled Receive (RXNE) interrupt enabled 1 ADDRIE Address match Interrupt enable (slave only) 3 1 ADDRIE Disabled Address match (ADDR) interrupts disabled 0 Enabled Address match (ADDR) interrupts enabled 1 NACKIE Not acknowledge received Interrupt enable 4 1 NACKIE Disabled Not acknowledge (NACKF) received interrupts disabled 0 Enabled Not acknowledge (NACKF) received interrupts enabled 1 STOPIE STOP detection Interrupt enable 5 1 STOPIE Disabled Stop detection (STOPF) interrupt disabled 0 Enabled Stop detection (STOPF) interrupt enabled 1 TCIE Transfer Complete interrupt enable Note: Any of these events will generate an interrupt: Transfer Complete (TC) Transfer Complete Reload (TCR) 6 1 TCIE Disabled Transfer Complete interrupt disabled 0 Enabled Transfer Complete interrupt enabled 1 ERRIE 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) 7 1 ERRIE Disabled Error detection interrupts disabled 0 Enabled Error detection interrupts enabled 1 DNF Digital noise filter These bits are used to configure the digital noise filter on SDA and SCL input. The digital filter will filter 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). 8 4 DNF NoFilter Digital filter disabled 0 Filter1 Digital filter enabled and filtering capability up to 1 tI2CCLK 1 Filter2 Digital filter enabled and filtering capability up to 2 tI2CCLK 2 Filter3 Digital filter enabled and filtering capability up to 3 tI2CCLK 3 Filter4 Digital filter enabled and filtering capability up to 4 tI2CCLK 4 Filter5 Digital filter enabled and filtering capability up to 5 tI2CCLK 5 Filter6 Digital filter enabled and filtering capability up to 6 tI2CCLK 6 Filter7 Digital filter enabled and filtering capability up to 7 tI2CCLK 7 Filter8 Digital filter enabled and filtering capability up to 8 tI2CCLK 8 Filter9 Digital filter enabled and filtering capability up to 9 tI2CCLK 9 Filter10 Digital filter enabled and filtering capability up to 10 tI2CCLK 10 Filter11 Digital filter enabled and filtering capability up to 11 tI2CCLK 11 Filter12 Digital filter enabled and filtering capability up to 12 tI2CCLK 12 Filter13 Digital filter enabled and filtering capability up to 13 tI2CCLK 13 Filter14 Digital filter enabled and filtering capability up to 14 tI2CCLK 14 Filter15 Digital filter enabled and filtering capability up to 15 tI2CCLK 15 ANFOFF Analog noise filter OFF Note: This bit can only be programmed when the I2C is disabled (PE = 0). 12 1 ANFOFF Enabled Analog noise filter enabled 0 Disabled Analog noise filter disabled 1 TXDMAEN DMA transmission requests enable 14 1 TXDMAEN Disabled DMA mode disabled for transmission 0 Enabled DMA mode enabled for transmission 1 RXDMAEN DMA reception requests enable 15 1 RXDMAEN Disabled DMA mode disabled for reception 0 Enabled DMA mode enabled for reception 1 SBC Slave byte control This bit is used to enable hardware byte control in slave mode. 16 1 SBC Disabled Slave byte control disabled 0 Enabled Slave byte control enabled 1 NOSTRETCH 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). 17 1 NOSTRETCH Enabled Clock stretching enabled 0 Disabled Clock stretching disabled 1 WUPEN 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. Please refer to Section25.3: I2C implementation. Note: WUPEN can be set only when DNF = 0000 18 1 WUPEN Disabled Wakeup from Stop mode disabled 0 Enabled Wakeup from Stop mode enabled 1 GCEN General call enable 19 1 GCEN Disabled General call disabled. Address 0b00000000 is NACKed 0 Enabled General call enabled. Address 0b00000000 is ACKed 1 SMBHEN SMBus Host address enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Please refer to Section25.3: I2C implementation. 20 1 SMBHEN Disabled Host address disabled. Address 0b0001000x is NACKed 0 Enabled Host address enabled. Address 0b0001000x is ACKed 1 SMBDEN SMBus Device Default address enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Please refer to Section25.3: I2C implementation. 21 1 SMBDEN Disabled Device default address disabled. Address 0b1100001x is NACKed 0 Enabled Device default address enabled. Address 0b1100001x is ACKed 1 ALERTEN SMBus alert enable Device mode (SMBHEN=0): Host mode (SMBHEN=1): 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. Please refer to Section25.3: I2C implementation. 22 1 ALERTEN 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 0 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 1 PECEN PEC enable Note: If the SMBus feature is not supported, this bit is reserved and forced by hardware to 0. Please refer to Section25.3: I2C implementation. 23 1 PECEN Disabled PEC calculation disabled 0 Enabled PEC calculation enabled 1 CR2 CR2 Access: No wait states, except if a write access occurs while a write access to this register is ongoing. In this case, wait states are inserted in the second write access until the previous one is completed. The latency of the second write access can be up to 2 x PCLK1 + 6 x I2CCLK. 0x4 0x20 read-write 0x00000000 SADD Slave address bit 0 (master mode) In 7-bit addressing mode (ADD10 = 0): This bit is dont care In 10-bit addressing mode (ADD10 = 1): This bit should be written with bit 0 of the slave address to be sent Note: Changing these bits when the START bit is set is not allowed. 0 10 0 1023 RD_WRN Transfer direction (master mode) Note: Changing this bit when the START bit is set is not allowed. 10 1 RD_WRN Write Master requests a write transfer 0 Read Master requests a read transfer 1 ADD10 10-bit addressing mode (master mode) Note: Changing this bit when the START bit is set is not allowed. 11 1 ADD10 Bit7 The master operates in 7-bit addressing mode 0 Bit10 The master operates in 10-bit addressing mode 1 HEAD10R 10-bit address header only read direction (master receiver mode) Note: Changing this bit when the START bit is set is not allowed. 12 1 HEAD10R Complete The master sends the complete 10 bit slave address read sequence 0 Partial The master only sends the 1st 7 bits of the 10 bit address, followed by Read direction 1 START 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 a timeout error detection, or when PE = 0. It can also be cleared by software by writing 1 to the ADDRCF bit in the I2C_ICR register. 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 will generate 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. 13 1 oneToSet STARTR read NoStart No Start generation 0 Start Restart/Start generation 1 STARTW write Start Restart/Start generation 1 STOP 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. 14 1 oneToSet STOPR read NoStop No Stop generation 0 Stop Stop generation after current byte transfer 1 STOPW write Stop Stop generation after current byte transfer 1 NACK 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. 15 1 oneToSet NACKR read Ack an ACK is sent after current received byte 0 Nack a NACK is sent after current received byte 1 NACKW write Nack a NACK is sent after current received byte 1 NBYTES Number of bytes The number of bytes to be transmitted/received is programmed there. This field is dont care in slave mode with SBC=0. Note: Changing these bits when the START bit is set is not allowed. 16 8 0 255 RELOAD NBYTES reload mode This bit is set and cleared by software. 24 1 RELOAD Completed The transfer is completed after the NBYTES data transfer (STOP or RESTART will follow) 0 NotCompleted The transfer is not completed after the NBYTES data transfer (NBYTES will be reloaded) 1 AUTOEND 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. 25 1 AUTOEND Software Software end mode: TC flag is set when NBYTES data are transferred, stretching SCL low 0 Automatic Automatic end mode: a STOP condition is automatically sent when NBYTES data are transferred 1 PECBYTE 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. Please refer to Section25.3: I2C implementation. 26 1 oneToSet PECBYTER read NoPec No PEC transfer 0 Pec PEC transmission/reception is requested 1 PECBYTEW write Pec PEC transmission/reception is requested 1 OAR1 OAR1 Access: No wait states, except if a write access occurs while a write access to this register is ongoing. In this case, wait states are inserted in the second write access until the previous one is completed. The latency of the second write access can be up to 2 x PCLK1 + 6 x I2CCLK. 0x8 0x20 read-write 0x00000000 OA1 Interface address 7-bit addressing mode: dont care 10-bit addressing mode: bits 9:8 of address Note: These bits can be written only when OA1EN=0. OA1[7:1]: Interface address Bits 7:1 of address Note: These bits can be written only when OA1EN=0. OA1[0]: Interface address 7-bit addressing mode: dont care 10-bit addressing mode: bit 0 of address Note: This bit can be written only when OA1EN=0. 0 10 0 1023 OA1MODE Own Address 1 10-bit mode Note: This bit can be written only when OA1EN=0. 10 1 OA1MODE Bit7 Own address 1 is a 7-bit address 0 Bit10 Own address 1 is a 10-bit address 1 OA1EN Own Address 1 enable 15 1 OA1EN Disabled Own address 1 disabled. The received slave address OA1 is NACKed 0 Enabled Own address 1 enabled. The received slave address OA1 is ACKed 1 OAR2 OAR2 Access: No wait states, except if a write access occurs while a write access to this register is ongoing. In this case, wait states are inserted in the second write access until the previous one is completed. The latency of the second write access can be up to 2 x PCLK1 + 6 x I2CCLK. 0xC 0x20 read-write 0x00000000 OA2 Interface address bits 7:1 of address Note: These bits can be written only when OA2EN=0. 1 7 0 127 OA2MSK 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. 8 3 OA2MSK NoMask No mask 0 Mask1 OA2[1] is masked and donât care. Only OA2[7:2] are compared 1 Mask2 OA2[2:1] are masked and donât care. Only OA2[7:3] are compared 2 Mask3 OA2[3:1] are masked and donât care. Only OA2[7:4] are compared 3 Mask4 OA2[4:1] are masked and donât care. Only OA2[7:5] are compared 4 Mask5 OA2[5:1] are masked and donât care. Only OA2[7:6] are compared 5 Mask6 OA2[6:1] are masked and donât care. Only OA2[7] is compared. 6 Mask7 OA2[7:1] are masked and donât care. No comparison is done, and all (except reserved) 7-bit received addresses are acknowledged 7 OA2EN Own Address 2 enable 15 1 OA2EN Disabled Own address 2 disabled. The received slave address OA2 is NACKed 0 Enabled Own address 2 enabled. The received slave address OA2 is ACKed 1 TIMINGR TIMINGR Access: No wait states 0x10 0x20 read-write 0x00000000 SCLL 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. 0 8 0 255 SCLH 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. 8 8 0 255 SDADEL 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. 16 4 0 15 SCLDEL 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. 20 4 0 15 PRESC Timing prescaler This field is used to prescale I2CCLK in order to generate the clock period tPRESC used for data setup and hold counters (refer to I2C timings on page9) and for SCL high and low level counters (refer to I2C master initialization on page24). tPRESC = (PRESC+1) x tI2CCLK 28 4 0 15 TIMEOUTR TIMEOUTR Access: No wait states, except if a write access occurs while a write access to this register is ongoing. In this case, wait states are inserted in the second write access until the previous one is completed. The latency of the second write access can be up to 2 x PCLK1 + 6 x I2CCLK. 0x14 0x20 read-write 0x00000000 TIMEOUTA 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. 0 12 0 4095 TIDLE Idle clock timeout detection Note: This bit can be written only when TIMOUTEN=0. 12 1 TIDLE Disabled TIMEOUTA is used to detect SCL low timeout 0 Enabled TIMEOUTA is used to detect both SCL and SDA high timeout (bus idle condition) 1 TIMOUTEN Clock timeout enable 15 1 TIMOUTEN Disabled SCL timeout detection is disabled 0 Enabled SCL timeout detection is enabled 1 TIMEOUTB 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. 16 12 0 4095 TEXTEN Extended clock timeout enable 31 1 TEXTEN Disabled Extended clock timeout detection is disabled 0 Enabled Extended clock timeout detection is enabled 1 ISR ISR Access: No wait states 0x18 0x20 0x00000001 TXE 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. 0 1 read-write oneToSet TXER read NotEmpty TXDR register not empty 0 Empty TXDR register empty 1 TXEW write Flush Flush the transmit data register 1 TXIS 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. 1 1 read-write oneToSet TXISR read NotEmpty The TXDR register is not empty 0 Empty The TXDR register is empty and the data to be transmitted must be written in the TXDR register 1 TXISW write Trigger Generate a TXIS event 1 RXNE 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. 2 1 read-only RXNE Empty The RXDR register is empty 0 NotEmpty Received data is copied into the RXDR register, and is ready to be read 1 ADDR 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. 3 1 read-only ADDR NotMatch Adress mismatched or not received 0 Match Received slave address matched with one of the enabled slave addresses 1 NACKF 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. 4 1 read-only NACKF NoNack No NACK has been received 0 Nack NACK has been received 1 STOPF 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. 5 1 read-only STOPF NoStop No Stop condition detected 0 Stop Stop condition detected 1 TC 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. 6 1 read-only TC NotComplete Transfer is not complete 0 Complete NBYTES has been transfered 1 TCR 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. 7 1 read-only TCR NotComplete Transfer is not complete 0 Complete NBYTES has been transfered 1 BERR 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. 8 1 read-only BERR NoError No bus error 0 Error Misplaced Start and Stop condition is detected 1 ARLO 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. 9 1 read-only ARLO NotLost No arbitration lost 0 Lost Arbitration lost 1 OVR 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. 10 1 read-only OVR NoOverrun No overrun/underrun error occurs 0 Overrun slave mode with NOSTRETCH=1, when an overrun/underrun error occurs 1 PECERR 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. Please refer to Section25.3: I2C implementation. 11 1 read-only PECERR Match Received PEC does match with PEC register 0 NoMatch Received PEC does not match with PEC register 1 TIMEOUT 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. Please refer to Section25.3: I2C implementation. 12 1 read-only TIMEOUT NoTimeout No timeout occured 0 Timeout Timeout occured 1 ALERT 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. Please refer to Section25.3: I2C implementation. 13 1 read-only ALERT NoAlert SMBA alert is not detected 0 Alert SMBA alert event is detected on SMBA pin 1 BUSY 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. 15 1 read-only BUSY NotBusy No communication is in progress on the bus 0 Busy A communication is in progress on the bus 1 DIR Transfer direction (Slave mode) This flag is updated when an address match event occurs (ADDR=1). 16 1 read-only DIR Write Write transfer, slave enters receiver mode 0 Read Read transfer, slave enters transmitter mode 1 ADDCODE 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. 17 7 read-only 0 127 ICR ICR Access: No wait states 0x1C 0x20 write-only 0x00000000 ADDRCF 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. 3 1 oneToClear ADDRCF Clear Clears the ADDR flag in ISR register 1 NACKCF Not Acknowledge flag clear Writing 1 to this bit clears the ACKF flag in I2C_ISR register. 4 1 oneToClear NACKCF Clear Clears the NACK flag in ISR register 1 STOPCF Stop detection flag clear Writing 1 to this bit clears the STOPF flag in the I2C_ISR register. 5 1 oneToClear STOPCF Clear Clears the STOP flag in ISR register 1 BERRCF Bus error flag clear Writing 1 to this bit clears the BERRF flag in the I2C_ISR register. 8 1 oneToClear BERRCF Clear Clears the BERR flag in ISR register 1 ARLOCF Arbitration Lost flag clear Writing 1 to this bit clears the ARLO flag in the I2C_ISR register. 9 1 oneToClear ARLOCF Clear Clears the ARLO flag in ISR register 1 OVRCF Overrun/Underrun flag clear Writing 1 to this bit clears the OVR flag in the I2C_ISR register. 10 1 oneToClear OVRCF Clear Clears the OVR flag in ISR register 1 PECCF 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. Please refer to Section25.3: I2C implementation. 11 1 oneToClear PECCF Clear Clears the PEC flag in ISR register 1 TIMOUTCF 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. Please refer to Section25.3: I2C implementation. 12 1 oneToClear TIMOUTCF Clear Clears the TIMOUT flag in ISR register 1 ALERTCF 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. Please refer to Section25.3: I2C implementation. 13 1 oneToClear ALERTCF Clear Clears the ALERT flag in ISR register 1 PECR PECR Access: No wait states 0x20 0x20 read-only 0x00000000 PEC Packet error checking register This field contains the internal PEC when PECEN=1. The PEC is cleared by hardware when PE=0. 0 8 0 255 RXDR RXDR Access: No wait states 0x24 0x20 read-only 0x00000000 RXDATA 8-bit receive data Data byte received from the I2C bus. 0 8 0 255 TXDR TXDR Access: No wait states 0x28 0x20 read-write 0x00000000 TXDATA 8-bit transmit data Data byte to be transmitted to the I2C bus. Note: These bits can be written only when TXE=1. 0 8 0 255 I2C2 0x40005800 I2C2_EV I2C2 event interrupt 33 I2C2_ER I2C2 global error interrupt 34 I2C3 0x40005C00 I2C3_EV I2C3 event interrupt 72 I2C3_ER I2C3 error interrupt 73 I2C4 0x58001C00 I2C4_EV I2C4 event interrupt 95 I2C4_ER I2C4 error interrupt 96 I2C5 0x40006400 I2C5_EV I2C5 event interrupt 157 I2C5_ER I2C5 error interrupt 158 IWDG1 IWDG IWDG 0x58004800 0x0 0x400 registers KR KR Key register 0x0 0x10 write-only 0x00000000 KEY 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 Section23.3.6: Register access protection) Writing the key value CCCCh starts the watchdog (except if the hardware watchdog option is selected) 0 16 KEY Unlock Enable access to PR, RLR and WINR registers 21845 Feed Feed watchdog with RLR register value 43690 Start Start the watchdog 52428 PR PR Prescaler register 0x4 0x10 read-write 0x00000000 PR Prescaler divider These bits are write access protected see Section23.3.6: Register access protection. They are written by software to select the prescaler divider feeding the counter clock. PVU bit of IWDG_SR must be reset in order to be able to change the prescaler divider. 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 IWDG_SR register is reset. 0 3 PR DivideBy4 Divider /4 0 DivideBy8 Divider /8 1 DivideBy16 Divider /16 2 DivideBy32 Divider /32 3 DivideBy64 Divider /64 4 DivideBy128 Divider /128 5 DivideBy256 Divider /256 true RLR RLR Reload register 0x8 0x10 read-write 0x00000FFF RL Watchdog counter reload value These bits are write access protected see Section23.3.6. 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 IWDG_KR register. The watchdog counter counts down from this value. The timeout period is a function of this value and the clock prescaler. Refer to the datasheet for the timeout information. The RVU bit in the IWDG_SR register must be reset in order 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 this register. For this reason the value read from this register is valid only when the RVU bit in the IWDG_SR register is reset. 0 12 0 4095 SR SR Status register 0xC 0x10 read-only 0x00000000 PVU 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 5 RC 40 kHz cycles). Prescaler value can be updated only when PVU bit is reset. 0 1 RVU 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 5 RC 40 kHz cycles). Reload value can be updated only when RVU bit is reset. 1 1 WVU 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 5 RC 40 kHz cycles). Window value can be updated only when WVU bit is reset. This bit is generated only if generic window = 1 2 1 WINR WINR Window register 0x10 0x10 read-write 0x00000FFF WIN Watchdog counter window value These bits are write access protected see Section23.3.6. These bits contain the high limit of the window value to be compared to the downcounter. To prevent a reset, the downcounter must be reloaded when its value is lower than the window register value and greater than 0x0 The WVU bit in the IWDG_SR register must be reset in order 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 register is reset. 0 12 0 4095 LPTIM1 Low power timer LPTIM 0x40002400 0x0 0x400 registers LPTIM1 LPTIM1 global interrupt 93 ISR ISR Interrupt and Status Register 0x0 0x20 read-only 0x00000000 DOWN Counter direction change up to down 6 1 DOWNR Set Counter direction change up to down 1 UP Counter direction change down to up 5 1 UPR Set Counter direction change down to up 1 ARROK Autoreload register update OK 4 1 ARROKR Set Autoreload register update OK 1 CMPOK Compare register update OK 3 1 CMPOKR Set Compare register update OK 1 EXTTRIG External trigger edge event 2 1 EXTTRIGR Set External trigger edge event 1 ARRM Autoreload match 1 1 ARRMR Set Autoreload match 1 CMPM Compare match 0 1 CMPMR Set Compare match 1 ICR ICR Interrupt Clear Register 0x4 0x20 write-only 0x00000000 DOWNCF Direction change to down Clear Flag 6 1 DOWNCFW Clear Direction change to down Clear Flag 1 UPCF Direction change to UP Clear Flag 5 1 UPCFW Clear Direction change to up Clear Flag 1 ARROKCF Autoreload register update OK Clear Flag 4 1 ARROKCFW Clear Autoreload register update OK Clear Flag 1 CMPOKCF Compare register update OK Clear Flag 3 1 CMPOKCFW Clear Compare register update OK Clear Flag 1 EXTTRIGCF External trigger valid edge Clear Flag 2 1 EXTTRIGCFW Clear External trigger valid edge Clear Flag 1 ARRMCF Autoreload match Clear Flag 1 1 ARRMCFW Clear Autoreload match Clear Flag 1 CMPMCF compare match Clear Flag 0 1 CMPMCFW Clear Compare match Clear Flag 1 IER IER Interrupt Enable Register 0x8 0x20 read-write 0x00000000 DOWNIE Direction change to down Interrupt Enable 6 1 DOWNIE Disabled DOWN interrupt disabled 0 Enabled DOWN interrupt enabled 1 UPIE Direction change to UP Interrupt Enable 5 1 UPIE Disabled UP interrupt disabled 0 Enabled UP interrupt enabled 1 ARROKIE Autoreload register update OK Interrupt Enable 4 1 ARROKIE Disabled ARROK interrupt disabled 0 Enabled ARROK interrupt enabled 1 CMPOKIE Compare register update OK Interrupt Enable 3 1 CMPOKIE Disabled CMPOK interrupt disabled 0 Enabled CMPOK interrupt enabled 1 EXTTRIGIE External trigger valid edge Interrupt Enable 2 1 EXTTRIGIE Disabled EXTTRIG interrupt disabled 0 Enabled EXTTRIG interrupt enabled 1 ARRMIE Autoreload match Interrupt Enable 1 1 ARRMIE Disabled ARRM interrupt disabled 0 Enabled ARRM interrupt enabled 1 CMPMIE Compare match Interrupt Enable 0 1 CMPMIE Disabled CMPM interrupt disabled 0 Enabled CMPM interrupt enabled 1 CFGR CFGR Configuration Register 0xC 0x20 read-write 0x00000000 ENC Encoder mode enable 24 1 ENC Disabled Encoder mode disabled 0 Enabled Encoder mode enabled 1 COUNTMODE counter mode enabled 23 1 COUNTMODE Internal The counter is incremented following each internal clock pulse 0 External The counter is incremented following each valid clock pulse on the LPTIM external Input1 1 PRELOAD Registers update mode 22 1 PRELOAD Immediate Registers are updated after each APB bus write access 0 EndOfPeriod Registers are updated at the end of the current LPTIM period 1 WAVPOL Waveform shape polarity 21 1 WAVPOL Positive The LPTIM output reflects the compare results between LPTIM_ARR and LPTIM_CMP registers 0 Negative The LPTIM output reflects the inverse of the compare results between LPTIM_ARR and LPTIM_CMP registers 1 WAVE Waveform shape 20 1 WAVE Inactive Deactivate Set-once mode, PWM / One Pulse waveform (depending on OPMODE bit) 0 Active Activate the Set-once mode 1 TIMOUT Timeout enable 19 1 TIMOUT Disabled A trigger event arriving when the timer is already started will be ignored 0 Enabled A trigger event arriving when the timer is already started will reset and restart the counter 1 TRIGEN Trigger enable and polarity 17 2 TRIGEN SW Software trigger (counting start is initiated by software) 0 RisingEdge Rising edge is the active edge 1 FallingEdge Falling edge is the active edge 2 BothEdges Both edges are active edges 3 TRIGSEL Trigger selector 13 3 TRIGSEL Trig0 lptim_ext_trig0 0 Trig1 lptim_ext_trig1 1 Trig2 lptim_ext_trig2 2 Trig3 lptim_ext_trig3 3 Trig4 lptim_ext_trig4 4 Trig5 lptim_ext_trig5 5 Trig6 lptim_ext_trig6 6 Trig7 lptim_ext_trig7 7 PRESC Clock prescaler 9 3 PRESC Div1 /1 0 Div2 /2 1 Div4 /4 2 Div8 /8 3 Div16 /16 4 Div32 /32 5 Div64 /64 6 Div128 /128 7 TRGFLT Configurable digital filter for trigger 6 2 TRGFLT Immediate Any trigger active level change is considered as a valid trigger 0 Clocks2 Trigger active level change must be stable for at least 2 clock periods before it is considered as valid trigger 1 Clocks4 Trigger active level change must be stable for at least 4 clock periods before it is considered as valid trigger 2 Clocks8 Trigger active level change must be stable for at least 8 clock periods before it is considered as valid trigger 3 CKFLT Configurable digital filter for external clock 3 2 CKFLT Immediate Any external clock signal level change is considered as a valid transition 0 Clocks2 External clock signal level change must be stable for at least 2 clock periods before it is considered as valid transition 1 Clocks4 External clock signal level change must be stable for at least 4 clock periods before it is considered as valid transition 2 Clocks8 External clock signal level change must be stable for at least 8 clock periods before it is considered as valid transition 3 CKPOL Clock Polarity 1 2 CKPOL RisingEdge The rising edge is the active edge used for counting. If LPTIM is in encoder mode: Encoder sub-mode 1 is active. 0 FallingEdge The falling edge is the active edge used for counting. If LPTIM is in encoder mode: Encoder sub-mode 2 is active. 1 BothEdges Both edges are active edge. If LPTIM is in encoder mode: Encoder sub-mode 3 is active. 2 CKSEL Clock selector 0 1 CKSEL Internal LPTIM is clocked by internal clock source (APB clock or any of the embedded oscillators) 0 External LPTIM is clocked by an external clock source through the LPTIM external Input1 1 CR CR Control Register 0x10 0x20 read-write 0x00000000 ENABLE LPTIM Enable 0 1 ENABLE Disabled LPTIM is disabled 0 Enabled LPTIM is enabled 1 SNGSTRT LPTIM start in single mode 1 1 SNGSTRTW write Start LPTIM start in Single mode 1 CNTSTRT Timer start in continuous mode 2 1 CNTSTRTW write Start Timer start in Continuous mode 1 COUNTRST Counter reset 3 1 COUNTRSTR read Idle Triggering of reset is possible 0 Busy Reset in progress, do not write 1 to this field 1 COUNTRSTW write Reset Trigger synchronous reset of CNT (3 LPTimer core clock cycles) 1 RSTARE Reset after read enable 4 1 RSTARE Disabled CNT Register reads do not trigger reset 0 Enabled CNT Register reads trigger reset of LPTIM 1 CMP CMP Compare Register 0x14 0x20 read-write 0x00000000 CMP Compare value 0 16 0 65535 ARR ARR Autoreload Register 0x18 0x20 read-write 0x00000001 ARR Auto reload value 0 16 0 65535 CNT CNT Counter Register 0x1C 0x20 read-only 0x00000000 CNT Counter value 0 16 0 65535 CFGR2 CFGR2 LPTIM configuration register 2 0x24 0x20 read-write 0x00000000 IN1SEL LPTIM Input 1 selection 0 2 IN2SEL LPTIM Input 2 selection 4 2 LPTIM2 0x58002400 LPTIM2 LPTIM2 timer interrupt 138 LPTIM3 Low power timer LPTIM 0x58002800 LPTIM3 LPTIM2 timer interrupt 139 LPTIM4 0x58002C00 LPTIM4 LPTIM2 timer interrupt 140 LPTIM5 0x58003000 LPTIM5 LPTIM2 timer interrupt 141 LPUART1 LPUART1 LPUART 0x58000C00 0x0 0x400 registers LPUART LPUART global interrupt 142 CR1 CR1 Control register 1 0x0 0x20 read-write 0x00000000 RXFFIE RXFIFO Full interrupt enable 31 1 RXFFIE Disabled Interrupt inhibited 0 Enabled USART interrupt generated when RXFF = 1 in the USART_ISR register 1 TXFEIE TXFIFO empty interrupt enable 30 1 TXFEIE Disabled Interrupt inhibited 0 Enabled USART interrupt generated when TXFE = 1 in the USART_ISR register 1 FIFOEN FIFO mode enable 29 1 FIFOEN Disabled FIFO mode is disabled 0 Enabled FIFO mode is enabled 1 M1 Word length 28 1 M1 M0 Use M0 to set the data bits 0 Bit7 1 start bit, 7 data bits, n stop bits 1 DEAT Driver Enable assertion time 21 5 0 31 DEDT Driver Enable deassertion time 16 5 0 31 CMIE Character match interrupt enable 14 1 CMIE Disabled Interrupt is disabled 0 Enabled Interrupt is generated when the CMF bit is set in the ISR register 1 MME Mute mode enable 13 1 MME Disabled Receiver in active mode permanently 0 Enabled Receiver can switch between mute mode and active mode 1 M0 Word length 12 1 M0 Bit8 1 start bit, 8 data bits, n stop bits 0 Bit9 1 start bit, 9 data bits, n stop bits 1 WAKE Receiver wakeup method 11 1 WAKE Idle Idle line 0 Address Address mask 1 PCE Parity control enable 10 1 PCE Disabled Parity control disabled 0 Enabled Parity control enabled 1 PS Parity selection 9 1 PS Even Even parity 0 Odd Odd parity 1 PEIE PE interrupt enable 8 1 PEIE Disabled Interrupt is disabled 0 Enabled Interrupt is generated whenever PE=1 in the ISR register 1 TXEIE interrupt enable 7 1 TXEIE Disabled Interrupt is disabled 0 Enabled Interrupt is generated whenever TXE=1 in the ISR register 1 TCIE Transmission complete interrupt enable 6 1 TCIE Disabled Interrupt is disabled 0 Enabled Interrupt is generated whenever TC=1 in the ISR register 1 RXNEIE RXNE interrupt enable 5 1 RXNEIE Disabled Interrupt is disabled 0 Enabled Interrupt is generated whenever ORE=1 or RXNE=1 in the ISR register 1 IDLEIE IDLE interrupt enable 4 1 IDLEIE Disabled Interrupt is disabled 0 Enabled Interrupt is generated whenever IDLE=1 in the ISR register 1 TE Transmitter enable 3 1 TE Disabled Transmitter is disabled 0 Enabled Transmitter is enabled 1 RE Receiver enable 2 1 RE Disabled Receiver is disabled 0 Enabled Receiver is enabled 1 UESM USART enable in Stop mode 1 1 UESM Disabled USART not able to wake up the MCU from Stop mode 0 Enabled USART able to wake up the MCU from Stop mode 1 UE USART enable 0 1 UE Disabled UART is disabled 0 Enabled UART is enabled 1 CR2 CR2 Control register 2 0x4 0x20 read-write 0x00000000 ADD Address of the USART node 24 8 0 255 MSBFIRST Most significant bit first 19 1 MSBFIRST LSB data is transmitted/received with data bit 0 first, following the start bit 0 MSB data is transmitted/received with MSB (bit 7/8/9) first, following the start bit 1 DATAINV Binary data inversion 18 1 DATAINV Positive Logical data from the data register are send/received in positive/direct logic 0 Negative Logical data from the data register are send/received in negative/inverse logic 1 TXINV TX pin active level inversion 17 1 TXINV Standard TX pin signal works using the standard logic levels 0 Inverted TX pin signal values are inverted 1 RXINV RX pin active level inversion 16 1 RXINV Standard RX pin signal works using the standard logic levels 0 Inverted RX pin signal values are inverted 1 SWAP Swap TX/RX pins 15 1 SWAP Standard TX/RX pins are used as defined in standard pinout 0 Swapped The TX and RX pins functions are swapped 1 STOP STOP bits 12 2 STOP Stop1 1 stop bit 0 Stop2 2 stop bit 2 ADDM7 7-bit Address Detection/4-bit Address Detection 4 1 ADDM7 Bit4 4-bit address detection 0 Bit7 7-bit address detection 1 CR3 CR3 Control register 3 0x8 0x20 read-write 0x00000000 TXFTCFG TXFIFO threshold configuration 29 3 TXFTCFG Depth_1_8 TXFIFO reaches 1/8 of its depth 0 Depth_1_4 TXFIFO reaches 1/4 of its depth 1 Depth_1_2 TXFIFO reaches 1/2 of its depth 2 Depth_3_4 TXFIFO reaches 3/4 of its depth 3 Depth_7_8 TXFIFO reaches 7/8 of its depth 4 Empty TXFIFO becomes empty 5 RXFTIE RXFIFO threshold interrupt enable 28 1 RXFTIE Disabled Interrupt inhibited 0 Enabled USART interrupt generated when Receive FIFO reaches the threshold programmed in RXFTCFG 1 RXFTCFG Receive FIFO threshold configuration 25 3 RXFTCFG Depth_1_8 RXFIFO reaches 1/8 of its depth 0 Depth_1_4 RXFIFO reaches 1/4 of its depth 1 Depth_1_2 RXFIFO reaches 1/2 of its depth 2 Depth_3_4 RXFIFO reaches 3/4 of its depth 3 Depth_7_8 RXFIFO reaches 7/8 of its depth 4 Full RXFIFO becomes full 5 TXFTIE TXFIFO threshold interrupt enable 23 1 TXFTIE Disabled Interrupt inhibited 0 Enabled USART interrupt generated when Transmit FIFO reaches the threshold programmed in TXFTCFG 1 WUFIE Wakeup from Stop mode interrupt enable 22 1 WUFIE Disabled Interrupt is inhibited 0 Enabled An USART interrupt is generated whenever WUF=1 in the ISR register 1 WUS Wakeup from Stop mode interrupt flag selection 20 2 WUS Address WUF active on address match 0 Start WuF active on Start bit detection 2 RXNE WUF active on RXNE 3 DEP Driver enable polarity selection 15 1 DEP High DE signal is active high 0 Low DE signal is active low 1 DEM Driver enable mode 14 1 DEM Disabled DE function is disabled 0 Enabled The DE signal is output on the RTS pin 1 DDRE DMA Disable on Reception Error 13 1 DDRE NotDisabled DMA is not disabled in case of reception error 0 Disabled DMA is disabled following a reception error 1 OVRDIS Overrun Disable 12 1 OVRDIS Enabled Overrun Error Flag, ORE, is set when received data is not read before receiving new data 0 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 1 CTSIE CTS interrupt enable 10 1 CTSIE Disabled Interrupt is inhibited 0 Enabled An interrupt is generated whenever CTSIF=1 in the ISR register 1 CTSE CTS enable 9 1 CTSE Disabled CTS hardware flow control disabled 0 Enabled CTS mode enabled, data is only transmitted when the CTS input is asserted 1 RTSE RTS enable 8 1 RTSE Disabled RTS hardware flow control disabled 0 Enabled RTS output enabled, data is only requested when there is space in the receive buffer 1 DMAT DMA enable transmitter 7 1 DMAT Disabled DMA mode is disabled for transmission 0 Enabled DMA mode is enabled for transmission 1 DMAR DMA enable receiver 6 1 DMAR Disabled DMA mode is disabled for reception 0 Enabled DMA mode is enabled for reception 1 HDSEL Half-duplex selection 3 1 HDSEL NotSelected Half duplex mode is not selected 0 Selected Half duplex mode is selected 1 EIE Error interrupt enable 0 1 EIE Disabled Interrupt is inhibited 0 Enabled An interrupt is generated when FE=1 or ORE=1 or NF=1 in the ISR register 1 BRR BRR Baud rate register 0xC 0x20 read-write 0x00000000 BRR BRR 0 20 0 1048575 GTPR GTPR Guard time and prescaler register 0x10 0x20 read-write 0x00000000 GT Guard time value 8 8 PSC Prescaler value 0 8 RTOR RTOR Receiver timeout register 0x14 0x20 read-write 0x00000000 BLEN Block Length 24 8 RTO Receiver timeout value 0 24 RQR RQR Request register 0x18 0x20 write-only 0x00000000 TXFRQ Transmit data flush request 4 1 TXFRQ Discard Set the TXE flags. This allows to discard the transmit data 1 RXFRQ Receive data flush request 3 1 RXFRQ Discard clears the RXNE flag. This allows to discard the received data without reading it, and avoid an overrun condition 1 MMRQ Mute mode request 2 1 MMRQ Mute Puts the USART in mute mode and sets the RWU flag 1 SBKRQ Send break request 1 1 SBKRQ Break sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available 1 ABRRQ Auto baud rate request 0 1 ISR ISR Interrupt & status register 0x1C 0x20 read-only 0x000000C0 TXFT TXFIFO threshold flag 27 1 TXFT NotReached TXFIFO does not reach the programmed threshold. 0 Reached TXFIFO reached the programmed threshold. 1 RXFT RXFIFO threshold flag 26 1 RXFT NotReached Receive FIFO does not reach the programmed threshold. 0 Reached Receive FIFO reached the programmed threshold. 1 RXFF RXFIFO Full 24 1 RXFF NotFull RXFIFO not full. 0 Full RXFIFO Full. 1 TXFE TXFIFO Empty 23 1 TXFE NotEmpty TXFIFO not empty. 0 Empty TXFIFO empty. 1 REACK REACK 22 1 TEACK TEACK 21 1 WUF WUF 20 1 RWU RWU 19 1 RWU Active Receiver in Active mode 0 Mute Receiver in Mute mode 1 SBKF SBKF 18 1 SBKF NoBreak No break character transmitted 0 Break Break character transmitted 1 CMF CMF 17 1 CMF NoMatch No Character match detected 0 Match Character match detected 1 BUSY BUSY 16 1 BUSY Idle USART is idle (no reception) 0 Busy Reception on going 1 CTS CTS 10 1 CTS Set CTS line set 0 Reset CTS line reset 1 CTSIF CTSIF 9 1 CTSIF NotChanged No change occurred on the CTS status line 0 Changed A change occurred on the CTS status line 1 TXE TXE 7 1 TXE Full Transmit FIFO is full 0 NotFull Transmit FIFO is not full 1 TC TC 6 1 TC TxNotComplete Transmission is not complete 0 TxComplete Transmission is complete 1 RXNE RXNE 5 1 RXNE NoData Data is not received 0 DataReady Received data is ready to be read 1 IDLE IDLE 4 1 IDLE NoIdle No Idle Line is detected 0 Idle Idle Line is detected 1 ORE ORE 3 1 ORE NoOverrun No Overrun error 0 Overrun Overrun error is detected 1 NE NE 2 1 NE NoNoise No noise is detected 0 Noise Noise is detected 1 FE FE 1 1 FE NoError No Framing error is detected 0 Error Framing error or break character is detected 1 PE PE 0 1 PE NoError No parity error 0 Error Parity error 1 ICR ICR Interrupt flag clear register 0x20 0x20 write-only 0x00000000 WUCF Wakeup from Stop mode clear flag 20 1 oneToClear WUCF Clear Clears the WUF flag in the ISR register 1 CMCF Character match clear flag 17 1 oneToClear CMCF Clear Clears the CMF flag in the ISR register 1 CTSCF CTS clear flag 9 1 oneToClear CTSCF Clear Clears the CTSIF flag in the ISR register 1 TCCF Transmission complete clear flag 6 1 oneToClear TCCF Clear Clears the TC flag in the ISR register 1 IDLECF Idle line detected clear flag 4 1 oneToClear IDLECF Clear Clears the IDLE flag in the ISR register 1 ORECF Overrun error clear flag 3 1 oneToClear ORECF Clear Clears the ORE flag in the ISR register 1 NCF Noise detected clear flag 2 1 oneToClear NCF Clear Clears the NF flag in the ISR register 1 FECF Framing error clear flag 1 1 oneToClear FECF Clear Clears the FE flag in the ISR register 1 PECF Parity error clear flag 0 1 oneToClear PECF Clear Clears the PE flag in the ISR register 1 RDR RDR Receive data register 0x24 0x20 read-only 0x00000000 RDR Receive data value 0 9 0 511 TDR TDR Transmit data register 0x28 0x20 read-write 0x00000000 TDR Transmit data value 0 9 0 511 PRESC PRESC Prescaler register 0x2C 0x20 read-write 0x00000000 PRESCALER Clock prescaler 0 4 PRESCALER Div1 /1 0 Div2 /2 1 Div4 /4 2 Div6 /6 3 Div8 /8 4 Div10 /10 5 Div12 /12 6 Div16 /16 7 Div32 /32 8 Div64 /64 9 Div128 /128 10 Div256 /256 11 LTDC LCD-TFT Controller LTDC 0x50001000 0x0 0x1000 registers LTDC LCD-TFT global interrupt 88 LTDC_ER LCD-TFT error interrupt 89 LTDC_ERR LCD-TFT global Error interrupt 89 SSCR SSCR Synchronization Size Configuration Register 0x8 0x20 read-write 0x00000000 HSW Horizontal Synchronization Width (in units of pixel clock period) 16 12 0 4095 VSH Vertical Synchronization Height (in units of horizontal scan line) 0 11 0 2047 BPCR BPCR Back Porch Configuration Register 0xC 0x20 read-write 0x00000000 AHBP Accumulated Horizontal back porch (in units of pixel clock period) 16 12 0 4095 AVBP Accumulated Vertical back porch (in units of horizontal scan line) 0 11 0 2047 AWCR AWCR Active Width Configuration Register 0x10 0x20 read-write 0x00000000 AAW Accumulated Active Width (in units of pixel clock period) 16 12 0 4095 AAH Accumulated Active Height (in units of horizontal scan line) 0 11 0 2047 TWCR TWCR Total Width Configuration Register 0x14 0x20 read-write 0x00000000 TOTALW Total Width (in units of pixel clock period) 16 12 0 4095 TOTALH Total Height (in units of horizontal scan line) 0 11 0 2047 GCR GCR Global Control Register 0x18 0x20 0x00002220 HSPOL Horizontal Synchronization Polarity 31 1 read-write HSPOL ActiveLow Horizontal synchronization polarity is active low 0 ActiveHigh Horizontal synchronization polarity is active high 1 VSPOL Vertical Synchronization Polarity 30 1 read-write VSPOL ActiveLow Vertical synchronization polarity is active low 0 ActiveHigh Vertical synchronization polarity is active high 1 DEPOL Data Enable Polarity 29 1 read-write DEPOL ActiveLow Data enable polarity is active low 0 ActiveHigh Data enable polarity is active high 1 PCPOL Pixel Clock Polarity 28 1 read-write PCPOL RisingEdge Pixel clock on rising edge 0 FallingEdge Pixel clock on falling edge 1 DEN Dither Enable 16 1 read-write DEN Disabled Dither disabled 0 Enabled Dither enabled 1 DRW Dither Red Width 12 3 read-only DGW Dither Green Width 8 3 read-only DBW Dither Blue Width 4 3 read-only LTDCEN LCD-TFT controller enable bit 0 1 read-write LTDCEN Disabled LCD-TFT controller disabled 0 Enabled LCD-TFT controller enabled 1 SRCR SRCR Shadow Reload Configuration Register 0x24 0x20 read-write 0x00000000 VBR Vertical Blanking Reload 1 1 VBR NoEffect This bit is set by software and cleared only by hardware after reload (it cannot be cleared through register write once it is set) 0 Reload The shadow registers are reloaded during the vertical blanking period (at the beginning of the first line after the active display area). 1 IMR Immediate Reload 0 1 IMR NoEffect This bit is set by software and cleared only by hardware after reload (it cannot be cleared through register write once it is set) 0 Reload The shadow registers are reloaded immediately. This bit is set by software and cleared only by hardware after reload 1 BCCR BCCR Background Color Configuration Register 0x2C 0x20 read-write 0x00000000 BCBLUE Background Color Blue value 0 8 0 255 BCGREEN Background Color Green value 8 8 0 255 BCRED Background Color Red value 16 8 0 255 IER IER Interrupt Enable Register 0x34 0x20 read-write 0x00000000 RRIE Register Reload interrupt enable 3 1 RRIE Disabled Register reload interrupt disabled 0 Enabled Register reload interrupt enabled 1 TERRIE Transfer Error Interrupt Enable 2 1 TERRIE Disabled Transfer error interrupt disabled 0 Enabled Transfer error interrupt enabled 1 FUIE FIFO Underrun Interrupt Enable 1 1 FUIE Disabled FIFO underrun interrupt disabled 0 Enabled FIFO underrun interrupt enabled 1 LIE Line Interrupt Enable 0 1 LIE Disabled Line interrupt disabled 0 Enabled Line interrupt enabled 1 ISR ISR Interrupt Status Register 0x38 0x20 read-only 0x00000000 RRIF Register Reload Interrupt Flag 3 1 RRIF NoReload No register reload 0 Reload Register reload interrupt generated when a vertical blanking reload occurs (and the first line after the active area is reached) 1 TERRIF Transfer Error interrupt flag 2 1 TERRIF NoError No transfer error 0 Error Transfer error interrupt generated when a bus error occurs 1 FUIF FIFO Underrun Interrupt flag 1 1 FUIF NoUnderrun No FIFO underrun 0 Underrun FIFO underrun interrupt generated, if one of the layer FIFOs is empty and pixel data is read from the FIFO 1 LIF Line Interrupt flag 0 1 LIF NotReached Programmed line not reached 0 Reached Line interrupt generated when a programmed line is reached 1 ICR ICR Interrupt Clear Register 0x3C 0x20 write-only 0x00000000 CRRIF Clears Register Reload Interrupt Flag 3 1 oneToClear CRRIFW Clear Clears the RRIF flag in the ISR register 1 CTERRIF Clears the Transfer Error Interrupt Flag 2 1 oneToClear CTERRIFW Clear Clears the TERRIF flag in the ISR register 1 CFUIF Clears the FIFO Underrun Interrupt flag 1 1 oneToClear CFUIFW Clear Clears the FUIF flag in the ISR register 1 CLIF Clears the Line Interrupt Flag 0 1 oneToClear CLIFW Clear Clears the LIF flag in the ISR register 1 LIPCR LIPCR Line Interrupt Position Configuration Register 0x40 0x20 read-write 0x00000000 LIPOS Line Interrupt Position 0 11 0 2047 CPSR CPSR Current Position Status Register 0x44 0x20 read-only 0x00000000 CXPOS Current X Position 16 16 CYPOS Current Y Position 0 16 CDSR CDSR Current Display Status Register 0x48 0x20 read-only 0x0000000F HSYNCS Horizontal Synchronization display Status 3 1 HSYNCS NotActive Currently not in HSYNC phase 0 Active Currently in HSYNC phase 1 VSYNCS Vertical Synchronization display Status 2 1 VSYNCS NotActive Currently not in VSYNC phase 0 Active Currently in VSYNC phase 1 HDES Horizontal Data Enable display Status 1 1 HDES NotActive Currently not in horizontal Data Enable phase 0 Active Currently in horizontal Data Enable phase 1 VDES Vertical Data Enable display Status 0 1 VDES NotActive Currently not in vertical Data Enable phase 0 Active Currently in vertical Data Enable phase 1 2 0x80 1-2 LAYER%s Cluster LAYER%s, containing L?CR, L?WHPCR, L?WVPCR, L?CKCR, L?PFCR, L?CACR, L?DCCR, L?BFCR, L?CFBAR, L?CFBLR, L?CFBLNR, L?CLUTWR 0x84 CR L1CR Layerx Control Register 0x0 0x20 read-write 0x00000000 CLUTEN Color Look-Up Table Enable 4 1 CLUTEN Disabled Color look-up table disabled 0 Enabled Color look-up table enabled 1 COLKEN Color Keying Enable 1 1 COLKEN Disabled Color keying disabled 0 Enabled Color keying enabled 1 LEN Layer Enable 0 1 LEN Disabled Layer disabled 0 Enabled Layer enabled 1 WHPCR L1WHPCR Layerx Window Horizontal Position Configuration Register 0x4 0x20 read-write 0x00000000 WHSPPOS Window Horizontal Stop Position 16 12 0 4095 WHSTPOS Window Horizontal Start Position 0 12 0 4095 WVPCR L1WVPCR Layerx Window Vertical Position Configuration Register 0x8 0x20 read-write 0x00000000 WVSPPOS Window Vertical Stop Position 16 11 0 2047 WVSTPOS Window Vertical Start Position 0 11 0 2047 CKCR L1CKCR Layerx Color Keying Configuration Register 0xC 0x20 read-write 0x00000000 CKRED Color Key Red value 16 8 0 255 CKGREEN Color Key Green value 8 8 0 255 CKBLUE Color Key Blue value 0 8 0 255 PFCR L1PFCR Layerx Pixel Format Configuration Register 0x10 0x20 read-write 0x00000000 PF Pixel Format 0 3 PF ARGB8888 ARGB8888 0 RGB888 RGB888 1 RGB565 RGB565 2 ARGB1555 ARGB1555 3 ARGB4444 ARGB4444 4 L8 L8 (8-bit luminance) 5 AL44 AL44 (4-bit alpha, 4-bit luminance) 6 AL88 AL88 (8-bit alpha, 8-bit luminance) 7 CACR L1CACR Layerx Constant Alpha Configuration Register 0x14 0x20 read-write 0x00000000 CONSTA Constant Alpha 0 8 0 255 DCCR L1DCCR Layerx Default Color Configuration Register 0x18 0x20 read-write 0x00000000 DCALPHA Default Color Alpha 24 8 0 255 DCRED Default Color Red 16 8 0 255 DCGREEN Default Color Green 8 8 0 255 DCBLUE Default Color Blue 0 8 0 255 BFCR L1BFCR Layerx Blending Factors Configuration Register 0x1C 0x20 read-write 0x00000607 BF1 Blending Factor 1 8 3 BF1 Constant BF1 = constant alpha 4 Pixel BF1 = pixel alpha * constant alpha 6 BF2 Blending Factor 2 0 3 BF2 Constant BF2 = 1 - constant alpha 5 Pixel BF2 = 1 - pixel alpha * constant alpha 7 CFBAR L1CFBAR Layerx Color Frame Buffer Address Register 0x28 0x20 read-write 0x00000000 CFBADD Color Frame Buffer Start Address 0 32 0 4294967295 CFBLR L1CFBLR Layerx Color Frame Buffer Length Register 0x2C 0x20 read-write 0x00000000 CFBP Color Frame Buffer Pitch in bytes 16 13 0 8191 CFBLL Color Frame Buffer Line Length 0 13 0 8191 CFBLNR L1CFBLNR Layerx ColorFrame Buffer Line Number Register 0x30 0x20 read-write 0x00000000 CFBLNBR Frame Buffer Line Number 0 11 0 2047 CLUTWR L1CLUTWR Layerx CLUT Write Register 0x40 0x20 write-only 0x00000000 CLUTADD CLUT Address 24 8 0 255 RED Red value 16 8 0 255 GREEN Green value 8 8 0 255 BLUE Blue value 0 8 0 255 MDIOS Management data input/output slave MDIOS 0x40009400 0x0 0x400 registers MDIOS_WKUP MDIOS wakeup 119 MDIOS MDIOS global interrupt 120 CR CR MDIOS configuration register 0x0 0x20 read-write 0x00000000 EN Peripheral enable 0 1 WRIE Register write interrupt enable 1 1 RDIE Register Read Interrupt Enable 2 1 EIE Error interrupt enable 3 1 DPC Disable Preamble Check 7 1 PORT_ADDRESS Slaves's address 8 5 WRFR WRFR MDIOS write flag register 0x4 0x20 read-only 0x00000000 WRF Write flags for MDIO registers 0 to 31 0 32 CWRFR CWRFR MDIOS clear write flag register 0x8 0x20 read-write 0x00000000 CWRF Clear the write flag 0 32 RDFR RDFR MDIOS read flag register 0xC 0x20 read-only 0x00000000 RDF Read flags for MDIO registers 0 to 31 0 32 CRDFR CRDFR MDIOS clear read flag register 0x10 0x20 read-write 0x00000000 CRDF Clear the read flag 0 32 SR SR MDIOS status register 0x14 0x20 read-only 0x00000000 PERF Preamble error flag 0 1 SERF Start error flag 1 1 TERF Turnaround error flag 2 1 CLRFR CLRFR MDIOS clear flag register 0x18 0x20 read-write 0x00000000 CPERF Clear the preamble error flag 0 1 CSERF Clear the start error flag 1 1 CTERF Clear the turnaround error flag 2 1 DINR0 DINR0 MDIOS input data register 0 0x1C 0x20 read-only 0x00000000 DIN0 Input data received from MDIO Master during write frames 0 16 DINR1 DINR1 MDIOS input data register 1 0x20 0x20 read-only 0x00000000 DIN1 Input data received from MDIO Master during write frames 0 16 DINR2 DINR2 MDIOS input data register 2 0x24 0x20 read-only 0x00000000 DIN2 Input data received from MDIO Master during write frames 0 16 DINR3 DINR3 MDIOS input data register 3 0x28 0x20 read-only 0x00000000 DIN3 Input data received from MDIO Master during write frames 0 16 DINR4 DINR4 MDIOS input data register 4 0x2C 0x20 read-only 0x00000000 DIN4 Input data received from MDIO Master during write frames 0 16 DINR5 DINR5 MDIOS input data register 5 0x30 0x20 read-only 0x00000000 DIN5 Input data received from MDIO Master during write frames 0 16 DINR6 DINR6 MDIOS input data register 6 0x34 0x20 read-only 0x00000000 DIN6 Input data received from MDIO Master during write frames 0 16 DINR7 DINR7 MDIOS input data register 7 0x38 0x20 read-only 0x00000000 DIN7 Input data received from MDIO Master during write frames 0 16 DINR8 DINR8 MDIOS input data register 8 0x3C 0x20 read-only 0x00000000 DIN8 Input data received from MDIO Master during write frames 0 16 DINR9 DINR9 MDIOS input data register 9 0x40 0x20 read-only 0x00000000 DIN9 Input data received from MDIO Master during write frames 0 16 DINR10 DINR10 MDIOS input data register 10 0x44 0x20 read-only 0x00000000 DIN10 Input data received from MDIO Master during write frames 0 16 DINR11 DINR11 MDIOS input data register 11 0x48 0x20 read-only 0x00000000 DIN11 Input data received from MDIO Master during write frames 0 16 DINR12 DINR12 MDIOS input data register 12 0x4C 0x20 read-only 0x00000000 DIN12 Input data received from MDIO Master during write frames 0 16 DINR13 DINR13 MDIOS input data register 13 0x50 0x20 read-only 0x00000000 DIN13 Input data received from MDIO Master during write frames 0 16 DINR14 DINR14 MDIOS input data register 14 0x54 0x20 read-only 0x00000000 DIN14 Input data received from MDIO Master during write frames 0 16 DINR15 DINR15 MDIOS input data register 15 0x58 0x20 read-only 0x00000000 DIN15 Input data received from MDIO Master during write frames 0 16 DINR16 DINR16 MDIOS input data register 16 0x5C 0x20 read-only 0x00000000 DIN16 Input data received from MDIO Master during write frames 0 16 DINR17 DINR17 MDIOS input data register 17 0x60 0x20 read-only 0x00000000 DIN17 Input data received from MDIO Master during write frames 0 16 DINR18 DINR18 MDIOS input data register 18 0x64 0x20 read-only 0x00000000 DIN18 Input data received from MDIO Master during write frames 0 16 DINR19 DINR19 MDIOS input data register 19 0x68 0x20 read-only 0x00000000 DIN19 Input data received from MDIO Master during write frames 0 16 DINR20 DINR20 MDIOS input data register 20 0x6C 0x20 read-only 0x00000000 DIN20 Input data received from MDIO Master during write frames 0 16 DINR21 DINR21 MDIOS input data register 21 0x70 0x20 read-only 0x00000000 DIN21 Input data received from MDIO Master during write frames 0 16 DINR22 DINR22 MDIOS input data register 22 0x74 0x20 read-only 0x00000000 DIN22 Input data received from MDIO Master during write frames 0 16 DINR23 DINR23 MDIOS input data register 23 0x78 0x20 read-only 0x00000000 DIN23 Input data received from MDIO Master during write frames 0 16 DINR24 DINR24 MDIOS input data register 24 0x7C 0x20 read-only 0x00000000 DIN24 Input data received from MDIO Master during write frames 0 16 DINR25 DINR25 MDIOS input data register 25 0x80 0x20 read-only 0x00000000 DIN25 Input data received from MDIO Master during write frames 0 16 DINR26 DINR26 MDIOS input data register 26 0x84 0x20 read-only 0x00000000 DIN26 Input data received from MDIO Master during write frames 0 16 DINR27 DINR27 MDIOS input data register 27 0x88 0x20 read-only 0x00000000 DIN27 Input data received from MDIO Master during write frames 0 16 DINR28 DINR28 MDIOS input data register 28 0x8C 0x20 read-only 0x00000000 DIN28 Input data received from MDIO Master during write frames 0 16 DINR29 DINR29 MDIOS input data register 29 0x90 0x20 read-only 0x00000000 DIN29 Input data received from MDIO Master during write frames 0 16 DINR30 DINR30 MDIOS input data register 30 0x94 0x20 read-only 0x00000000 DIN30 Input data received from MDIO Master during write frames 0 16 DINR31 DINR31 MDIOS input data register 31 0x98 0x20 read-only 0x00000000 DIN31 Input data received from MDIO Master during write frames 0 16 DOUTR0 DOUTR0 MDIOS output data register 0 0x9C 0x20 read-write 0x00000000 DOUT0 Output data sent to MDIO Master during read frames 0 16 DOUTR1 DOUTR1 MDIOS output data register 1 0xA0 0x20 read-write 0x00000000 DOUT1 Output data sent to MDIO Master during read frames 0 16 DOUTR2 DOUTR2 MDIOS output data register 2 0xA4 0x20 read-write 0x00000000 DOUT2 Output data sent to MDIO Master during read frames 0 16 DOUTR3 DOUTR3 MDIOS output data register 3 0xA8 0x20 read-write 0x00000000 DOUT3 Output data sent to MDIO Master during read frames 0 16 DOUTR4 DOUTR4 MDIOS output data register 4 0xAC 0x20 read-write 0x00000000 DOUT4 Output data sent to MDIO Master during read frames 0 16 DOUTR5 DOUTR5 MDIOS output data register 5 0xB0 0x20 read-write 0x00000000 DOUT5 Output data sent to MDIO Master during read frames 0 16 DOUTR6 DOUTR6 MDIOS output data register 6 0xB4 0x20 read-write 0x00000000 DOUT6 Output data sent to MDIO Master during read frames 0 16 DOUTR7 DOUTR7 MDIOS output data register 7 0xB8 0x20 read-write 0x00000000 DOUT7 Output data sent to MDIO Master during read frames 0 16 DOUTR8 DOUTR8 MDIOS output data register 8 0xBC 0x20 read-write 0x00000000 DOUT8 Output data sent to MDIO Master during read frames 0 16 DOUTR9 DOUTR9 MDIOS output data register 9 0xC0 0x20 read-write 0x00000000 DOUT9 Output data sent to MDIO Master during read frames 0 16 DOUTR10 DOUTR10 MDIOS output data register 10 0xC4 0x20 read-write 0x00000000 DOUT10 Output data sent to MDIO Master during read frames 0 16 DOUTR11 DOUTR11 MDIOS output data register 11 0xC8 0x20 read-write 0x00000000 DOUT11 Output data sent to MDIO Master during read frames 0 16 DOUTR12 DOUTR12 MDIOS output data register 12 0xCC 0x20 read-write 0x00000000 DOUT12 Output data sent to MDIO Master during read frames 0 16 DOUTR13 DOUTR13 MDIOS output data register 13 0xD0 0x20 read-write 0x00000000 DOUT13 Output data sent to MDIO Master during read frames 0 16 DOUTR14 DOUTR14 MDIOS output data register 14 0xD4 0x20 read-write 0x00000000 DOUT14 Output data sent to MDIO Master during read frames 0 16 DOUTR15 DOUTR15 MDIOS output data register 15 0xD8 0x20 read-write 0x00000000 DOUT15 Output data sent to MDIO Master during read frames 0 16 DOUTR16 DOUTR16 MDIOS output data register 16 0xDC 0x20 read-write 0x00000000 DOUT16 Output data sent to MDIO Master during read frames 0 16 DOUTR17 DOUTR17 MDIOS output data register 17 0xE0 0x20 read-write 0x00000000 DOUT17 Output data sent to MDIO Master during read frames 0 16 DOUTR18 DOUTR18 MDIOS output data register 18 0xE4 0x20 read-write 0x00000000 DOUT18 Output data sent to MDIO Master during read frames 0 16 DOUTR19 DOUTR19 MDIOS output data register 19 0xE8 0x20 read-write 0x00000000 DOUT19 Output data sent to MDIO Master during read frames 0 16 DOUTR20 DOUTR20 MDIOS output data register 20 0xEC 0x20 read-write 0x00000000 DOUT20 Output data sent to MDIO Master during read frames 0 16 DOUTR21 DOUTR21 MDIOS output data register 21 0xF0 0x20 read-write 0x00000000 DOUT21 Output data sent to MDIO Master during read frames 0 16 DOUTR22 DOUTR22 MDIOS output data register 22 0xF4 0x20 read-write 0x00000000 DOUT22 Output data sent to MDIO Master during read frames 0 16 DOUTR23 DOUTR23 MDIOS output data register 23 0xF8 0x20 read-write 0x00000000 DOUT23 Output data sent to MDIO Master during read frames 0 16 DOUTR24 DOUTR24 MDIOS output data register 24 0xFC 0x20 read-write 0x00000000 DOUT24 Output data sent to MDIO Master during read frames 0 16 DOUTR25 DOUTR25 MDIOS output data register 25 0x100 0x20 read-write 0x00000000 DOUT25 Output data sent to MDIO Master during read frames 0 16 DOUTR26 DOUTR26 MDIOS output data register 26 0x104 0x20 read-write 0x00000000 DOUT26 Output data sent to MDIO Master during read frames 0 16 DOUTR27 DOUTR27 MDIOS output data register 27 0x108 0x20 read-write 0x00000000 DOUT27 Output data sent to MDIO Master during read frames 0 16 DOUTR28 DOUTR28 MDIOS output data register 28 0x10C 0x20 read-write 0x00000000 DOUT28 Output data sent to MDIO Master during read frames 0 16 DOUTR29 DOUTR29 MDIOS output data register 29 0x110 0x20 read-write 0x00000000 DOUT29 Output data sent to MDIO Master during read frames 0 16 DOUTR30 DOUTR30 MDIOS output data register 30 0x114 0x20 read-write 0x00000000 DOUT30 Output data sent to MDIO Master during read frames 0 16 DOUTR31 DOUTR31 MDIOS output data register 31 0x118 0x20 read-write 0x00000000 DOUT31 Output data sent to MDIO Master during read frames 0 16 MDMA MDMA MDMA 0x52000000 0x0 0x1000 registers MDMA MDMA Global interrupt 122 GISR0 GISR0 MDMA Global Interrupt/Status Register 0x0 0x20 read-only 0x00000000 16 0x1 0-15 GIF%s Channel x global interrupt flag (x=...) This bit is set and reset by hardware. It is a logical OR of all the Channel x interrupt flags (CTCIFx, BTIFx, BRTIFx, TEIFx) which are enabled in the interrupt mask register (CTCIEx, BTIEx, BRTIEx, TEIEx) 0 1 16 0x40 0-15 CH%s Channel cluster: C?ISR, C?IFCR, C?ESR, C?CR, C?TCR, C?BNDTR, C?SAR, C?DAR, C?BRUR, C?LAR, C?TBR, C?MAR and C?MDR registers 0x40 ISR C0ISR MDMA channel x interrupt/status register 0x0 0x20 read-only 0x00000000 TEIF Channel x transfer error interrupt flag This bit is set by hardware. It is cleared by software writing 1 to the corresponding bit in the DMA_IFCRy register. 0 1 CTCIF Channel x Channel Transfer Complete interrupt flag This bit is set by hardware. It is cleared by software writing 1 to the corresponding bit in the DMA_IFCRy register. CTC is set when the last block was transferred and the channel has been automatically disabled. CTC is also set when the channel is suspended, as a result of writing EN bit to 0. 1 1 BRTIF Channel x block repeat transfer complete interrupt flag This bit is set by hardware. It is cleared by software writing 1 to the corresponding bit in the DMA_IFCRy register. 2 1 BTIF Channel x block transfer complete interrupt flag This bit is set by hardware. It is cleared by software writing 1 to the corresponding bit in the DMA_IFCRy register. 3 1 TCIF channel x buffer transfer complete 4 1 CRQA channel x request active flag 16 1 IFCR C0IFCR MDMA channel x interrupt flag clear register 0x4 0x20 write-only 0x00000000 CTEIF Channel x clear transfer error interrupt flag Writing a 1 into this bit clears TEIFx in the MDMA_ISRy register 0 1 CCTCIF Clear Channel transfer complete interrupt flag for channel x Writing a 1 into this bit clears CTCIFx in the MDMA_ISRy register 1 1 CBRTIF Channel x clear block repeat transfer complete interrupt flag Writing a 1 into this bit clears BRTIFx in the MDMA_ISRy register 2 1 CBTIF Channel x Clear block transfer complete interrupt flag Writing a 1 into this bit clears BTIFx in the MDMA_ISRy register 3 1 CLTCIF CLear buffer Transfer Complete Interrupt Flag for channel x Writing a 1 into this bit clears TCIFx in the MDMA_ISRy register 4 1 ESR C0ESR MDMA Channel x error status register 0x8 0x20 read-only 0x00000000 TEA Transfer Error Address These bits are set and cleared by HW, in case of an MDMA data transfer error. It is used in conjunction with TED. This field indicates the 7 LSBits of the address which generated a transfer/access error. It may be used by SW to retrieve the failing address, by adding this value (truncated to the buffer transfer length size) to the current SAR/DAR value. Note: The SAR/DAR current value doesnt reflect this last address due to the FIFO management system. The SAR/DAR are only updated at the end of a (buffer) transfer (of TLEN+1 bytes). Note: It is not set in case of a link data error. 0 7 TED Transfer Error Direction These bit is set and cleared by HW, in case of an MDMA data transfer error. 7 1 TELD Transfer Error Link Data These bit is set by HW, in case of a transfer error while reading the block link data structure. It is cleared by software writing 1 to the CTEIFx bit in the DMA_IFCRy register. 8 1 TEMD Transfer Error Mask Data These bit is set by HW, in case of a transfer error while writing the Mask Data. It is cleared by software writing 1 to the CTEIFx bit in the DMA_IFCRy register. 9 1 ASE Address/Size Error These bit is set by HW, when the programmed address is not aligned with the data size. TED will indicate whether the problem is on the source or destination. It is cleared by software writing 1 to the CTEIFx bit in the DMA_IFCRy register. 10 1 BSE Block Size Error These bit is set by HW, when the block size is not an integer multiple of the data size either for source or destination. TED will indicate whether the problem is on the source or destination. It is cleared by software writing 1 to the CTEIFx bit in the DMA_IFCRy register. 11 1 CR C0CR This register is used to control the concerned channel. 0xC 0x20 0x00000000 EN channel enable 0 1 read-write TEIE Transfer error interrupt enable This bit is set and cleared by software. 1 1 read-write CTCIE Channel Transfer Complete interrupt enable This bit is set and cleared by software. 2 1 read-write BRTIE Block Repeat transfer interrupt enable This bit is set and cleared by software. 3 1 read-write BTIE Block Transfer interrupt enable This bit is set and cleared by software. 4 1 read-write TCIE buffer Transfer Complete interrupt enable This bit is set and cleared by software. 5 1 read-write PL Priority level These bits are set and cleared by software. These bits are protected and can be written only if EN is 0. 6 2 read-write BEX byte Endianness exchange 12 1 read-write HEX Half word Endianes exchange 13 1 read-write WEX Word Endianness exchange 14 1 read-write SWRQ SW ReQuest Writing a 1 into this bit sets the CRQAx in MDMA_ISRy register, activating the request on Channel x Note: Either the whole CxCR register or the 8-bit/16-bit register @ Address offset: 0x4E + 0x40 chn may be used for SWRQ activation. In case of a SW request, acknowledge is not generated (neither HW signal, nor CxMAR write access). 16 1 write-only TCR C0TCR This register is used to configure the concerned channel. 0x10 0x20 read-write 0x00000000 SINC Source increment mode These bits are set and cleared by software. These bits are protected and can be written only if EN is 0 Note: When source is AHB (SBUS=1), SINC = 00 is forbidden. In Linked List Mode, at the end of a block (single or last block in repeated block transfer mode), this register will be loaded from memory (from address given by current LAR[31:0] + 0x00). 0 2 DINC Destination increment mode These bits are set and cleared by software. These bits are protected and can be written only if EN is 0 Note: When destination is AHB (DBUS=1), DINC = 00 is forbidden. 2 2 SSIZE Source data size These bits are set and cleared by software. These bits are protected and can be written only if EN is 0 Note: If a value of 11 is programmed for the TCM access/AHB port, a transfer error will occur (TEIF bit set) If SINCOS < SSIZE and SINC ≠ 00, the result will be unpredictable. Note: SSIZE = 11 (double-word) is forbidden when source is TCM/AHB bus (SBUS=1). 4 2 DSIZE Destination data size These bits are set and cleared by software. These bits are protected and can be written only if EN is 0. Note: If a value of 11 is programmed for the TCM access/AHB port, a transfer error will occur (TEIF bit set) If DINCOS < DSIZE and DINC ≠ 00, the result will be unpredictable. Note: DSIZE = 11 (double-word) is forbidden when destination is TCM/AHB bus (DBUS=1). 6 2 SINCOS source increment offset size 8 2 DINCOS Destination increment offset 10 2 SBURST source burst transfer configuration 12 3 DBURST Destination burst transfer configuration 15 3 TLEN buffer transfer lengh 18 7 PKE PacK Enable These bit is set and cleared by software. If the Source Size is smaller than the destination, it will be padded according to the PAM value. If the Source data size is larger than the destination one, it will be truncated. The alignment will be done according to the PAM[0] value. This bit is protected and can be written only if EN is 0 25 1 PAM Padding/Alignement Mode These bits are set and cleared by software. Case 1: Source data size smaller than destination data size - 3 options are valid. Case 2: Source data size larger than destination data size. The remainder part is discarded. When PKE = 1 or DSIZE=SSIZE, these bits are ignored. These bits are protected and can be written only if EN is 0 26 2 TRGM Trigger Mode These bits are set and cleared by software. Note: If TRGM is 11 for the current block, all the values loaded at the end of the current block through the linked list mechanism must keep the same value (TRGM=11) and the same SWRM value, otherwise the result is undefined. These bits are protected and can be written only if EN is 0. 28 2 SWRM SW Request Mode This bit is set and cleared by software. If a HW or SW request is currently active, the bit change will be delayed until the current transfer is completed. If the CxMAR contains a valid address, the CxMDR value will also be written @ CxMAR address. This bit is protected and can be written only if EN is 0. 30 1 BWM Bufferable Write Mode This bit is set and cleared by software. This bit is protected and can be written only if EN is 0. Note: All MDMA destination accesses are non-cacheable. 31 1 BNDTR C0BNDTR MDMA Channel x block number of data register 0x14 0x20 read-write 0x00000000 BNDT block number of data to transfer 0 17 BRSUM Block Repeat Source address Update Mode These bits are protected and can be written only if EN is 0. 18 1 BRDUM Block Repeat Destination address Update Mode These bits are protected and can be written only if EN is 0. 19 1 BRC Block Repeat Count This field contains the number of repetitions of the current block (0 to 4095). When the channel is enabled, this register is read-only, indicating the remaining number of blocks, excluding the current one. This register decrements after each complete block transfer. Once the last block transfer has completed, this register can either stay at zero or be reloaded automatically from memory (in Linked List mode - i.e. Link Address valid). These bits are protected and can be written only if EN is 0. 20 12 SAR C0SAR MDMA channel x source address register 0x18 0x20 read-write 0x00000000 SAR source adr base 0 32 DAR C0DAR MDMA channel x destination address register 0x1C 0x20 read-write 0x00000000 DAR Destination adr base 0 32 BRUR C0BRUR MDMA channel x Block Repeat address Update register 0x20 0x20 read-write 0x00000000 SUV source adresse update value 0 16 DUV destination address update 16 16 LAR C0LAR MDMA channel x Link Address register 0x24 0x20 read-write 0x00000000 LAR Link address register 0 32 TBR C0TBR MDMA channel x Trigger and Bus selection Register 0x28 0x20 read-write 0x00000000 TSEL Trigger selection 0 6 SBUS Source BUS select This bit is protected and can be written only if EN is 0. 16 1 DBUS Destination BUS slect This bit is protected and can be written only if EN is 0. 17 1 MAR C0MAR MDMA channel x Mask address register 0x30 0x20 read-write 0x00000000 MAR Mask address 0 32 MDR C0MDR MDMA channel x Mask Data register 0x34 0x20 read-write 0x00000000 MDR Mask data 0 32 OCTOSPI1 OctoSPI OctoSPI 0x52005000 0x0 0x1000 registers OCTOSPI1 OCTOSPI1 global interrupt 92 CR CR control register 0x0 0x20 read-write 0x00000000 EN Enable 0 1 EN Disabled OCTOSPI disabled 0 Enabled OCTOSPI enabled 1 ABORT Abort request 1 1 ABORT NotRequested No abort requested 0 Requested Abort requested 1 DMAEN DMA enable 2 1 DMAEN Disabled DMA disabled for Indirect mode 0 Enabled DMA enabled for Indirect mode 1 TCEN Timeout counter enable 3 1 TCEN Disabled Timeout counter is disabled, and thus the chip-select (NCS) remains active indefinitely after an access in Memory-mapped mode 0 Enabled Timeout counter is enabled, and thus the chip-select is released in the Memory-mapped mode after TIMEOUT[15:0] cycles of external device inactivity 1 DMM Dual-memory configuration 6 1 DMM Disabled Dual-quad configuration disabled 0 Enabled Dual-quad configuration enabled 1 FSEL FLASH memory selection 7 1 FSEL FLASH1 FLASH 1 selected (data exchanged over IO[3:0]) 0 FLASH2 FLASH 2 selected (data exchanged over IO[7:4]) 1 FTHRES IFO threshold level 8 5 0 31 TEIE Transfer error interrupt enable 16 1 TEIE Disabled Interrupt disabled 0 Enabled Interrupt enabled 1 TCIE Transfer complete interrupt enable 17 1 FTIE FIFO threshold interrupt enable 18 1 SMIE Status match interrupt enable 19 1 TOIE TimeOut interrupt enable 20 1 APMS Automatic poll mode stop 22 1 APMS Running Automatic status-polling mode is stopped only by abort or by disabling the OCTOSPI 0 StopMatch Automatic status-polling mode stops as soon as there is a match 1 PMM Polling match mode 23 1 PMM ANDMatchMode AND-match mode, SMF is set if all the unmasked bits received from the device match the corresponding bits in the match register 0 ORMatchmode OR-match mode, SMF is set if any of the unmasked bits received from the device matches its corresponding bit in the match register 1 FMODE Functional mode 28 2 FMODE IndirectWrite Indirect-write mode 0 IndirectRead Indirect-read mode 1 AutomaticPolling Automatic status-polling mode 2 MemoryMapped Memory-mapped mode 3 DCR1 DCR1 device configuration register 0x8 0x20 read-write 0x00000000 CKMODE Mode 0 / mode 3 0 1 CKMODE Mode0 CLK must stay low while NCS is high (chip-select released). This is referred to as Mode 0 0 Mode3 CLK must stay high while NCS is high (chip-select released). This is referred to as Mode 3 1 FRCK Free running clock 1 1 FRCK Disabled CLK is not free running 0 Enabled CLK is free running (always provided) 1 DLYBYP Delay block bypass 3 1 DLYBYP DelayBlockEnabled The internal sampling clock (called feedback clock) or the DQS data strobe external signal is delayed by the delay block (for more details on this block, refer to the dedicated section of the reference manual as it is not part of the OCTOSPI peripheral) 0 DelayBlockBypassed The delay block is bypassed, so the internal sampling clock or the DQS data strobe external signal is not affected by the delay block. The delay is shorter than when the delay block is not bypassed, even with the delay value set to minimum value in delay block 1 CSHT Chip-select high time 8 6 0 63 DEVSIZE Device size 16 5 0 31 MTYP Memory type 24 3 MTYP MicronMode Micron mode, D0/D1 ordering in DTR 8-data-bit mode. Regular-command protocol in Single-, Dual-, Quad- and Octal-SPI modes 0 MacronixMode Macronix mode, D1/D0 ordering in DTR 8-data-bit mode. Regular-command protocol in Single-, Dual-, Quad- and Octal-SPI modes 1 StandardMode Standard Mode 2 MacronixRamMode Macronix RAM mode, D1/D0 ordering in DTR 8-data-bit mode. Regular-command protocol in Single-, Dual-, Quad- and Octal-SPI modes with dedicated address mapping 3 HyperBusMemoryMode HyperBus memory mode, the protocol follows the HyperBus specification. 8-data-bit DTR mode must be selected 4 HyperBusMode HyperBus register mode, addressing register space. The memory-mapped accesses in this mode must be non-cacheable, or Indirect read/write modes must be used 5 DCR2 DCR2 device configuration register 2 0xC 0x20 read-write 0x00000000 PRESCALER Clock prescaler 0 8 0 255 WRAPSIZE Wrap size 16 3 WRAPSIZE NoWrappingSupport Wrapped reads are not supported by the memory 0 WrappingSize16 External memory supports wrap size of 16 bytes 2 WrappingSize32 External memory supports wrap size of 32 bytes 3 WrappingSize64 External memory supports wrap size of 64 bytes 4 WrappingSize128 External memory supports wrap size of 128 bytes 5 DCR3 DCR3 device configuration register 3 0x10 0x20 read-write 0x00000000 MAXTRAN Maximum transfer 0 8 0 255 CSBOUND CS boundary 16 5 0 31 DCR4 DCR4 DCR4 0x14 0x20 read-write 0x00000000 REFRESH Refresh rate 0 32 0 4294967295 SR SR status register 0x20 0x20 read-only 0x00000000 TEF Transfer error flag 0 1 TEF Cleared This bit is cleared by writing 1 to CTEF 0 InvalidAddressAccessed This bit is set in Indirect mode when an invalid address is being accessed in Indirect mode 1 TCF Transfer complete flag 1 1 TCF Cleared This bit is cleared by writing 1 to CTCF 0 TransferCompleted This bit is set when the programmed number of data has been transferred 1 FTF FIFO threshold flag 2 1 FTF Cleared It is cleared automatically as soon as the threshold condition is no longer true 0 ThresholdReached This bit is set when the FIFO threshold has been reached 1 SMF Status match flag 3 1 SMF Cleared It is cleared by writing 1 to CSMF 0 Matched This bit is set in Automatic status-polling mode when the unmasked received data matches the corresponding bits in the match register (OCTOSPI_PSMAR) 1 TOF Timeout flag 4 1 TOF Cleared This bit is cleared by writing 1 to CTOF 0 Timeout This bit is set when timeout occurs 1 BUSY Busy 5 1 BUSY Cleared This bit is cleared automatically when the operation with the external device is finished and the FIFO is empty 0 Busy This bit is set when an operation is ongoing 1 FLEVEL FIFO level 8 6 0 63 FCR FCR flag clear register 0x24 0x20 write-only 0x00000000 CTEF Clear transfer error flag 0 1 CTEF Clear Writing 1 clears the TEF flag in the OCTOSPI_SR register 1 CTCF Clear transfer complete flag 1 1 CTCF Clear Writing 1 clears the TCF flag in the OCTOSPI_SR register 1 CSMF Clear status match flag 3 1 CSMF Clear Writing 1 clears the SMF flag in the OCTOSPI_SR register 1 CTOF Clear timeout flag 4 1 CTOF Clear Writing 1 clears the TOF flag in the OCTOSPI_SR register 1 DLR DLR data length register 0x40 0x20 read-write 0x00000000 DL Data length 0 32 0 4294967295 AR AR address register 0x48 0x20 read-write 0x00000000 ADDRESS Adress 0 32 0 4294967295 DR DR data register 0x50 0x20 read-write 0x00000000 DATA Data 0 32 0 4294967295 PSMKR PSMKR polling status mask register 0x80 0x20 read-write 0x00000000 MASK Status mask 0 32 0 4294967295 PSMAR PSMAR polling status match register 0x88 0x20 read-write 0x00000000 MATCH Match 0 32 0 4294967295 PIR PIR OCTOSPI polling interval register 0x90 0x20 read-write 0x00000000 INTERVAL Polling interval 0 16 0 65535 CCR CCR polling interval register 0x100 0x20 read-write 0x00000000 IMODE Instruction mode 0 3 IMODE NoInstruction No instruction 0 SingleLine Instruction on a single line 1 TwoLines Instruction on two lines 2 FourLines Instruction on four lines 3 EightLines Instruction on eight lines 4 IDTR Instruction double transfer rate 3 1 IDTR Disabled DTR mode disabled for instruction phase 0 Enabled DTR mode enabled for instruction phase 1 ISIZE Instruction size 4 2 ISIZE Bits8 8-bit instruction 0 Bits16 16-bit instruction 1 Bits24 24-bit instruction 2 Bits32 32-bit instruction 3 ADMODE Address mode 8 3 ADMODE NoAddress No address 0 SingleLine Address on a single line 1 TwoLines Address on two lines 2 FourLines Address on four lines 3 EightLines Address on eight lines 4 ADDTR Address double transfer rate 11 1 ADDTR Disabled DTR mode disabled for address phase 0 Enabled DTR mode enabled for address phase 1 ADSIZE Address size 12 2 ADSIZE Bits8 8-bit address 0 Bits16 16-bit address 1 Bits24 24-bit address 2 Bits32 32-bit address 3 ABMODE Alternate byte mode 16 3 ABMODE NoAlternateBytes No alternate bytes 0 SingleLine Alternate bytes on a single line 1 TwoLines Alternate bytes on two lines 2 FourLines Alternate bytes on four lines 3 EightLines Alternate bytes on eight lines 4 ABDTR Alternate bytes double transfer rate 19 1 ABDTR Disabled DTR mode disabled for alternate bytes phase 0 Enabled DTR mode enabled for alternate bytes phase 1 ABSIZE Alternate bytes size 20 2 ABSIZE Bits8 8-bit alternate bytes 0 Bits16 16-bit alternate bytes 1 Bits24 24-bit alternate bytes 2 Bits32 32-bit alternate bytes 3 DMODE Data mode 24 3 DMODE NoData No data 0 SingleLine Data on a single line 1 TwoLines Data on two lines 2 FourLines Data on four lines 3 EightLines Data on eight lines 4 DDTR Alternate bytes double transfer rate 27 1 DDTR Disabled DTR mode disabled for data phase 0 Enabled DTR mode enabled for data phase 1 DQSE DQS enable 29 1 DQSE Disabled DQS disabled 0 Enabled DQS enabled 1 SIOO Send instruction only once mode 31 1 SIOO SendEveryTransaction Send instruction on every transaction 0 SendOnlyFirstCmd Send instruction only for the first command 1 TCR TCR communication configuration register 0x108 0x20 read-write 0x00000000 DCYC Number of dummy cycles 0 5 0 31 DHQC Delay hold quarter cycle 28 1 DHQC NoDelay No delay hold 0 QuarterCycleHold 1/4 cycle hold 1 SSHIFT Sample shift 30 1 SSHIFT NoShift No shift 0 HalfCycleShift 1/2 cycle shift 1 IR IR timing configuration register 0x110 0x20 read-write 0x00000000 INSTRUCTION INSTRUCTION 0 32 0 4294967295 ABR ABR instruction register 0x120 0x20 read-write 0x00000000 ALTERNATE Alternate bytes 0 32 0 4294967295 LPTR LPTR alternate bytes register 0x130 0x20 read-write 0x00000000 TIMEOUT Timeout period 0 16 0 65535 WPCCR WPCCR low-power timeout register 0x140 0x20 read-write 0x00000000 IMODE Instruction mode 0 3 IMODE NoInstruction No instruction 0 SingleLine Instruction on a single line 1 TwoLines Instruction on two lines 2 FourLines Instruction on four lines 3 EightLines Instruction on eight lines 4 IDTR Instruction double transfer rate 3 1 IDTR Disabled DTR mode disabled for instruction phase 0 Enabled DTR mode enabled for instruction phase 1 ISIZE Instruction size 4 2 ISIZE Bits8 8-bit instruction 0 Bits16 16-bit instruction 1 Bits24 24-bit instruction 2 Bits32 32-bit instruction 3 ADMODE Address mode 8 3 ADMODE NoAddress No address 0 SingleLine Address on a single line 1 TwoLines Address on two lines 2 FourLines Address on four lines 3 EightLines Address on eight lines 4 ADDTR Address double transfer rate 11 1 ADDTR Disabled DTR mode disabled for address phase 0 Enabled DTR mode enabled for address phase 1 ADSIZE Address size 12 2 ADSIZE Bits8 8-bit address 0 Bits16 16-bit address 1 Bits24 24-bit address 2 Bits32 32-bit address 3 ABMODE Alternate byte mode 16 3 ABMODE NoAlternateBytes No alternate bytes 0 SingleLine Alternate bytes on a single line 1 TwoLines Alternate bytes on two lines 2 FourLines Alternate bytes on four lines 3 EightLines Alternate bytes on eight lines 4 ABDTR Alternate bytes double transfer rate 19 1 ABDTR Disabled DTR mode disabled for alternate bytes phase 0 Enabled DTR mode enabled for alternate bytes phase 1 ABSIZE Alternate bytes size 20 2 ABSIZE Bits8 8-bit alternate bytes 0 Bits16 16-bit alternate bytes 1 Bits24 24-bit alternate bytes 2 Bits32 32-bit alternate bytes 3 DMODE Data mode 24 3 DMODE NoData No data 0 SingleLine Data on a single line 1 TwoLines Data on two lines 2 FourLines Data on four lines 3 EightLines Data on eight lines 4 DDTR alternate bytes double transfer rate 27 1 DDTR Disabled DTR mode disabled for data phase 0 Enabled DTR mode enabled for data phase 1 DQSE DQS enable 29 1 DQSE Disabled DQS disabled 0 Enabled DQS enabled 1 WPTCR WPTCR wrap timing configuration register 0x148 0x20 read-write 0x00000000 DCYC Number of dummy cycles 0 5 0 31 DHQC Delay hold quarter cycle 28 1 DHQC NoDelay No delay hold 0 QuarterCycleHold 1/4 cycle hold 1 SSHIFT Sample shift 30 1 SSHIFT NoShift No shift 0 HalfCycleShift 1/2 cycle shift 1 WPIR WPIR wrap instruction register 0x150 0x20 read-write 0x00000000 INSTRUCTION INSTRUCTION 0 32 0 4294967295 WPABR WPABR wrap alternate bytes register 0x160 0x20 read-write 0x00000000 ALTERNATE Alternate bytes 0 32 0 4294967295 WCCR WCCR write communication configuration register 0x180 0x20 read-write 0x00000000 IMODE Instruction mode 0 3 IMODE NoInstruction No instruction 0 SingleLine Instruction on a single line 1 TwoLines Instruction on two lines 2 FourLines Instruction on four lines 3 EightLines Instruction on eight lines 4 IDTR Instruction double transfer rate 3 1 IDTR Disabled DTR mode disabled for instruction phase 0 Enabled DTR mode enabled for instruction phase 1 ISIZE Instruction size 4 2 ISIZE Bits8 8-bit instruction 0 Bits16 16-bit instruction 1 Bits24 24-bit instruction 2 Bits32 32-bit instruction 3 ADMODE Address mode 8 3 ADMODE NoAddress No address 0 SingleLine Address on a single line 1 TwoLines Address on two lines 2 FourLines Address on four lines 3 EightLines Address on eight lines 4 ADDTR Address double transfer rate 11 1 ADDTR Disabled DTR mode disabled for address phase 0 Enabled DTR mode enabled for address phase 1 ADSIZE Address size 12 2 ADSIZE Bits8 8-bit address 0 Bits16 16-bit address 1 Bits24 24-bit address 2 Bits32 32-bit address 3 ABMODE Alternate-byte mode 16 3 ABMODE NoAlternateBytes No alternate bytes 0 SingleLine Alternate bytes on a single line 1 TwoLines Alternate bytes on two lines 2 FourLines Alternate bytes on four lines 3 EightLines Alternate bytes on eight lines 4 ABDTR Alternate bytes double transfer rate 19 1 ABDTR Disabled DTR mode disabled for alternate bytes phase 0 Enabled DTR mode enabled for alternate bytes phase 1 ABSIZE Alternate bytes size 20 2 ABSIZE Bits8 8-bit alternate bytes 0 Bits16 16-bit alternate bytes 1 Bits24 24-bit alternate bytes 2 Bits32 32-bit alternate bytes 3 DMODE Data mode 24 3 DMODE NoData No data 0 SingleLine Data on a single line 1 TwoLines Data on two lines 2 FourLines Data on four lines 3 EightLines Data on eight lines 4 DDTR DDTR 27 1 DDTR Disabled DTR mode disabled for data phase 0 Enabled DTR mode enabled for data phase 1 DQSE DQSE 29 1 DQSE Disabled DQS disabled 0 Enabled DQS enabled 1 WTCR WTCR write timing configuration register 0x188 0x20 read-write 0x00000000 DCYC DCYC 0 5 0 31 WIR WIR OCTOSPI write instruction register 0x190 0x20 0x00000000 0xFFFFFFFF INSTRUCTION Instruction Instruction to be sent to the external SPI device 0 32 read-write 0 4294967295 WABR WABR write alternate bytes register 0x1A0 0x20 read-write 0x00000000 ALTERNATE Alternate bytes 0 32 0 4294967295 HLCR HLCR HyperBusTM latency configuration register 0x200 0x20 read-write 0x00000000 LM Latency mode 0 1 LM Variable Variable initial latency 0 Fixed Fixed latency 1 WZL Write zero latency 1 1 WZL Disabled Latency on write accesses 0 Enabled No latency on write accesses 1 TACC Access time 8 8 0 255 TRWR Read write recovery time 16 8 0 255 OCTOSPI2 0x5200A000 OCTOSPI2 OCTOSPI2 global interrupt 150 OPAMP Operational amplifiers OPAMP 0x40009000 0x0 0x400 registers OPAMP1_CSR OPAMP1_CSR OPAMP1 control/status register 0x0 0x20 read-write 0x00000000 OPAEN Operational amplifier Enable 0 1 FORCE_VP Force internal reference on VP (reserved for test 1 1 VP_SEL Operational amplifier PGA mode 2 2 VM_SEL Inverting input selection 5 2 OPAHSM Operational amplifier high-speed mode 8 1 CALON Calibration mode enabled 11 1 CALSEL Calibration selection 12 2 PGA_GAIN allows to switch from AOP offset trimmed values to AOP offset 14 4 USERTRIM User trimming enable 18 1 TSTREF OPAMP calibration reference voltage output control (reserved for test) 29 1 CALOUT Operational amplifier calibration output 30 1 OPAMP1_OTR OPAMP1_OTR OPAMP1 offset trimming register in normal mode 0x4 0x20 read-write 0x00000000 TRIMOFFSETN Trim for NMOS differential pairs 0 5 TRIMOFFSETP Trim for PMOS differential pairs 8 5 OPAMP1_HSOTR OPAMP1_HSOTR OPAMP1 offset trimming register in low-power mode 0x8 0x20 read-write 0x00000000 TRIMLPOFFSETN Trim for NMOS differential pairs 0 5 TRIMLPOFFSETP Trim for PMOS differential pairs 8 5 OPAMP2_CSR OPAMP2_CSR OPAMP2 control/status register 0x10 0x20 read-write 0x00000000 OPAEN Operational amplifier Enable 0 1 FORCE_VP Force internal reference on VP (reserved for test) 1 1 VM_SEL Inverting input selection 5 2 OPAHSM Operational amplifier high-speed mode 8 1 CALON Calibration mode enabled 11 1 CALSEL Calibration selection 12 2 PGA_GAIN Operational amplifier Programmable amplifier gain value 14 4 USERTRIM User trimming enable 18 1 TSTREF OPAMP calibration reference voltage output control (reserved for test) 29 1 CALOUT Operational amplifier calibration output 30 1 OPAMP2_OTR OPAMP2_OTR OPAMP2 offset trimming register in normal mode 0x14 0x20 read-write 0x00000000 TRIMOFFSETN Trim for NMOS differential pairs 0 5 TRIMOFFSETP Trim for PMOS differential pairs 8 5 OPAMP2_HSOTR OPAMP2_HSOTR OPAMP2 offset trimming register in low-power mode 0x18 0x20 read-write 0x00000000 TRIMLPOFFSETN Trim for NMOS differential pairs 0 5 TRIMLPOFFSETP Trim for PMOS differential pairs 8 5 OTG1_HS_DEVICE USB 1 on the go high speed USB_OTG_HS 0x40040800 0x0 0x400 registers OTG_HS_EP1_OUT USB OTG_HS OUT endpoint1 global interrupt 74 OTG_HS_EP1_IN USB OTG_HS IN endpoint1 global interrupt 75 OTG_HS_WKUP USB OTG_HS wakeup Interrupt through EXTI linet 76 OTG_HS USB OTG_HS global interrupt 77 DCFG DCFG OTG_HS device configuration register 0x0 0x20 read-write 0x02200000 DSPD Device speed 0 2 NZLSOHSK Nonzero-length status OUT handshake 2 1 DAD Device address 4 7 PFIVL Periodic (micro)frame interval 11 2 PERSCHIVL Periodic scheduling interval 24 2 DCTL DCTL OTG_HS device control register 0x4 0x20 0x00000000 RWUSIG Remote wakeup signaling 0 1 read-write SDIS Soft disconnect 1 1 read-write GINSTS Global IN NAK status 2 1 read-only GONSTS Global OUT NAK status 3 1 read-only TCTL Test control 4 3 read-write SGINAK Set global IN NAK 7 1 write-only CGINAK Clear global IN NAK 8 1 write-only SGONAK Set global OUT NAK 9 1 write-only CGONAK Clear global OUT NAK 10 1 write-only POPRGDNE Power-on programming done 11 1 read-write DSTS DSTS OTG_HS device status register 0x8 0x20 read-only 0x00000010 SUSPSTS Suspend status 0 1 ENUMSPD Enumerated speed 1 2 EERR Erratic error 3 1 FNSOF Frame number of the received SOF 8 14 DIEPMSK DIEPMSK OTG_HS device IN endpoint common interrupt mask register 0x10 0x20 read-write 0x00000000 XFRCM Transfer completed interrupt mask 0 1 EPDM Endpoint disabled interrupt mask 1 1 TOM Timeout condition mask (nonisochronous endpoints) 3 1 ITTXFEMSK IN token received when TxFIFO empty mask 4 1 INEPNMM IN token received with EP mismatch mask 5 1 INEPNEM IN endpoint NAK effective mask 6 1 TXFURM FIFO underrun mask 8 1 BIM BNA interrupt mask 9 1 DOEPMSK DOEPMSK OTG_HS device OUT endpoint common interrupt mask register 0x14 0x20 read-write 0x00000000 XFRCM Transfer completed interrupt mask 0 1 EPDM Endpoint disabled interrupt mask 1 1 STUPM SETUP phase done mask 3 1 OTEPDM OUT token received when endpoint disabled mask 4 1 B2BSTUP Back-to-back SETUP packets received mask 6 1 OPEM OUT packet error mask 8 1 BOIM BNA interrupt mask 9 1 DAINT DAINT OTG_HS device all endpoints interrupt register 0x18 0x20 read-only 0x00000000 IEPINT IN endpoint interrupt bits 0 16 OEPINT OUT endpoint interrupt bits 16 16 DAINTMSK DAINTMSK OTG_HS all endpoints interrupt mask register 0x1C 0x20 read-write 0x00000000 IEPM IN EP interrupt mask bits 0 16 OEPM OUT EP interrupt mask bits 16 16 DVBUSDIS DVBUSDIS OTG_HS device VBUS discharge time register 0x28 0x20 read-write 0x000017D7 VBUSDT Device VBUS discharge time 0 16 DVBUSPULSE DVBUSPULSE OTG_HS device VBUS pulsing time register 0x2C 0x20 read-write 0x000005B8 DVBUSP Device VBUS pulsing time 0 12 DTHRCTL DTHRCTL OTG_HS Device threshold control register 0x30 0x20 read-write 0x00000000 NONISOTHREN Nonisochronous IN endpoints threshold enable 0 1 ISOTHREN ISO IN endpoint threshold enable 1 1 TXTHRLEN Transmit threshold length 2 9 RXTHREN Receive threshold enable 16 1 RXTHRLEN Receive threshold length 17 9 ARPEN Arbiter parking enable 27 1 DIEPEMPMSK DIEPEMPMSK OTG_HS device IN endpoint FIFO empty interrupt mask register 0x34 0x20 read-write 0x00000000 INEPTXFEM IN EP Tx FIFO empty interrupt mask bits 0 16 DEACHINT DEACHINT OTG_HS device each endpoint interrupt register 0x38 0x20 read-write 0x00000000 IEP1INT IN endpoint 1interrupt bit 1 1 OEP1INT OUT endpoint 1 interrupt bit 17 1 DEACHINTMSK DEACHINTMSK OTG_HS device each endpoint interrupt register mask 0x3C 0x20 read-write 0x00000000 IEP1INTM IN Endpoint 1 interrupt mask bit 1 1 OEP1INTM OUT Endpoint 1 interrupt mask bit 17 1 DIEPEACHMSK1 0x44 0x20 read-write 0x00000000 XFRCM Transfer completed interrupt mask 0 1 EPDM Endpoint disabled interrupt mask 1 1 AHBERRM AHB error mask 2 1 TOM Timeout condition mask (Non-isochronous endpoints) 3 1 ITTXFEMSK IN token received when TxFIFO empty mask 4 1 INEPNEM IN endpoint NAK effective mask 6 1 TXFURM FIFO underrun mask 8 1 BNAM BNA interrupt mask 9 1 NAKM NAK interrupt mask 13 1 DOEPEACHMSK1 0x84 0x20 read-write 0x00000000 XFRCM Transfer completed interrupt mask 0 1 EPDM Endpoint disabled interrupt mask 1 1 AHBERRM AHB error mask 2 1 STUPM SETUP phase done mask 3 1 OTEPDM OUT token received when endpoint disabled mask 4 1 B2BSTUPM Back-to-back SETUP packets received mask 6 1 OUTPKTERRM Out packet error mask 8 1 BNAM BNA interrupt mask 9 1 BERRM Babble error interrupt mask 12 1 NAKMSK NAK interrupt mask 13 1 NYETMSK NYET interrupt mask 14 1 DIEP0 Device IN endpoint 0 0x100 CTL DIEPCTL0 OTG device endpoint-0 control register 0x0 0x20 0x00000000 MPSIZ Maximum packet size 0 11 read-write USBAEP USB active endpoint 15 1 read-write EONUM_DPID Even/odd frame 16 1 read-only NAKSTS NAK status 17 1 read-only EPTYP Endpoint type 18 2 read-write STALL STALL handshake 21 1 read-write TXFNUM TxFIFO number 22 4 read-write CNAK Clear NAK 26 1 write-only SNAK Set NAK 27 1 write-only SD0PID_SEVNFRM Set DATA0 PID 28 1 write-only SODDFRM Set odd frame 29 1 write-only EPDIS Endpoint disable 30 1 read-write EPENA Endpoint enable 31 1 read-write INT DIEPINT0 OTG device endpoint-0 interrupt register 0x8 0x20 0x00000080 XFRC Transfer completed interrupt 0 1 read-write EPDISD Endpoint disabled interrupt 1 1 read-write TOC Timeout condition 3 1 read-write ITTXFE IN token received when TxFIFO is empty 4 1 read-write INEPNE IN endpoint NAK effective 6 1 read-write TXFE Transmit FIFO empty 7 1 read-only TXFIFOUDRN Transmit Fifo Underrun 8 1 read-write BNA Buffer not available interrupt 9 1 read-write PKTDRPSTS Packet dropped status 11 1 read-write BERR Babble error interrupt 12 1 read-write NAK NAK interrupt 13 1 read-write TSIZ DIEPTSIZ0 OTG_HS device IN endpoint 0 transfer size register 0x10 0x20 read-write 0x00000000 XFRSIZ Transfer size 0 7 PKTCNT Packet count 19 2 DMA OTG_HS device endpoint-0 DMA address register 0x14 0x20 read-write 0x00000000 DMAADDR DMA address 0 32 TXFSTS DTXFSTS0 OTG_HS device IN endpoint transmit FIFO status register 0x18 0x20 read-only 0x00000000 INEPTFSAV IN endpoint TxFIFO space avail 0 16 8 0x20 1-8 DIEP%s Device IN endpoint X 0x120 CTL DIEPCTL1 OTG device endpoint-1 control register 0x0 0x20 0x00000000 MPSIZ Maximum packet size 0 11 read-write USBAEP USB active endpoint 15 1 read-write EONUM_DPID Even/odd frame 16 1 read-only NAKSTS NAK status 17 1 read-only EPTYP Endpoint type 18 2 read-write STALL STALL handshake 21 1 read-write TXFNUM TxFIFO number 22 4 read-write CNAK Clear NAK 26 1 write-only SNAK Set NAK 27 1 write-only SD0PID_SEVNFRM Set DATA0 PID 28 1 write-only SODDFRM Set odd frame 29 1 write-only EPDIS Endpoint disable 30 1 read-write EPENA Endpoint enable 31 1 read-write INT DIEPINT1 OTG device endpoint-1 interrupt register 0x8 TSIZ DIEPTSIZ1 OTG_HS device endpoint transfer size register 0x10 0x20 read-write 0x00000000 XFRSIZ Transfer size 0 19 PKTCNT Packet count 19 10 MCNT Multi count 29 2 DMA DIEPDMA1 OTG_HS device endpoint-1 DMA address register 0x14 TXFSTS DTXFSTS1 OTG_HS device IN endpoint transmit FIFO status register 0x18 DOEP0 Device OUT endpoint 0 0x300 CTL DOEPCTL0 OTG_HS device control OUT endpoint 0 control register 0x0 0x20 0x00008000 MPSIZ Maximum packet size 0 2 read-only USBAEP USB active endpoint 15 1 read-only NAKSTS NAK status 17 1 read-only EPTYP Endpoint type 18 2 read-only SNPM Snoop mode 20 1 read-write STALL STALL handshake 21 1 read-write CNAK Clear NAK 26 1 write-only SNAK Set NAK 27 1 write-only EPDIS Endpoint disable 30 1 read-only EPENA Endpoint enable 31 1 read-write INT DOEPINT0 OTG_HS device endpoint-0 interrupt register 0x8 0x20 read-write 0x00000080 XFRC Transfer completed interrupt 0 1 EPDISD Endpoint disabled interrupt 1 1 STUP SETUP phase done 3 1 OTEPDIS OUT token received when endpoint disabled 4 1 B2BSTUP Back-to-back SETUP packets received 6 1 NYET NYET interrupt 14 1 TSIZ DOEPTSIZ0 OTG_HS device endpoint-0 transfer size register 0x10 0x20 read-write 0x00000000 XFRSIZ Transfer size 0 7 PKTCNT Packet count 19 1 STUPCNT SETUP packet count 29 2 DMA OTG_HS device endpoint-0 DMA address register 0x14 0x20 read-write 0x00000000 DMAADDR DMA address 0 32 8 0x20 1-8 DOEP%s Device IN endpoint X 0x320 CTL DOEPCTL1 OTG device endpoint-1 control register 0x0 0x20 0x00000000 MPSIZ Maximum packet size 0 11 read-write USBAEP USB active endpoint 15 1 read-write EONUM_DPID Even odd frame/Endpoint data PID 16 1 read-only NAKSTS NAK status 17 1 read-only EPTYP Endpoint type 18 2 read-write SNPM Snoop mode 20 1 read-write STALL STALL handshake 21 1 read-write CNAK Clear NAK 26 1 write-only SNAK Set NAK 27 1 write-only SD0PID_SEVNFRM Set DATA0 PID/Set even frame 28 1 write-only SODDFRM Set odd frame 29 1 write-only EPDIS Endpoint disable 30 1 read-write EPENA Endpoint enable 31 1 read-write INT DOEPINT1 OTG_HS device endpoint-1 interrupt register 0x8 DMA OTG_HS device endpoint-1 DMA address register 0x14 TSIZ DOEPTSIZ1 OTG_HS device endpoint-1 transfer size register 0x10 0x20 read-write 0x00000000 XFRSIZ Transfer size 0 19 PKTCNT Packet count 19 10 RXDPID_STUPCNT Received data PID/SETUP packet count 29 2 OTG2_HS_DEVICE 0x40080800 OTG1_HS_GLOBAL USB 1 on the go high speed USB_OTG_HS 0x40040000 0x0 0x3FFFF registers OTG_HS_EP1_OUT USB OTG_HS OUT endpoint1 global interrupt 74 OTG_HS_EP1_IN USB OTG_HS IN endpoint1 global interrupt 75 OTG_HS_WKUP USB OTG_HS wakeup Interrupt through EXTI line 76 OTG_HS USB OTG_HS global interrupt 77 GOTGCTL GOTGCTL OTG_HS control and status register 0x0 0x20 0x00000800 SRQSCS Session request success The core sets this bit when a session request initiation is successful. Note: Only accessible in device mode. 0 1 read-only SRQ Session request The application sets this bit to initiate a session request on the USB. The application can clear this bit by writing a 0 when the host negotiation success status change bit in the OTG_GOTGINT register (HNSSCHG bit in OTG_GOTGINT) is set. The core clears this bit when the HNSSCHG bit is cleared. If the user uses the USB 1.1 full-speed serial transceiver interface to initiate the session request, the application must wait until VBUS discharges to 0.2 V, after the B-session valid bit in this register (BSVLD bit in OTG_GOTGCTL) is cleared. Note: Only accessible in device mode. 1 1 read-write VBVALOEN VBUS valid override enable. This bit is used to enable/disable the software to override the vbusvalid signal using the VBVALOVAL bit. Note: Only accessible in host mode. 2 1 read-write VBVALOVAL VBUS valid override value. This bit is used to set override value for vbusvalid signal when VBVALOEN bit is set. Note: Only accessible in host mode. 3 1 read-write AVALOEN A-peripheral session valid override enable. This bit is used to enable/disable the software to override the Avalid signal using the AVALOVAL bit. Note: Only accessible in host mode. 4 1 read-write AVALOVAL A-peripheral session valid override value. This bit is used to set override value for Avalid signal when AVALOEN bit is set. Note: Only accessible in host mode. 5 1 read-write BVALOEN B-peripheral session valid override enable. This bit is used to enable/disable the software to override the Bvalid signal using the BVALOVAL bit. Note: Only accessible in device mode. 6 1 read-write BVALOVAL B-peripheral session valid override value. This bit is used to set override value for Bvalid signal when BVALOEN bit is set. Note: Only accessible in device mode. 7 1 read-write HNGSCS Host negotiation success The core sets this bit when host negotiation is successful. The core clears this bit when the HNP request (HNPRQ) bit in this register is set. Note: Only accessible in device mode. 8 1 read-only HNPRQ HNP request The application sets this bit to initiate an HNP request to the connected USB host. The application can clear this bit by writing a 0 when the host negotiation success status change bit in the OTG_GOTGINT register (HNSSCHG bit in OTG_GOTGINT) is set. The core clears this bit when the HNSSCHG bit is cleared. Note: Only accessible in device mode. 9 1 read-write HSHNPEN host set HNP enable The application sets this bit when it has successfully enabled HNP (using the SetFeature.SetHNPEnable command) on the connected device. Note: Only accessible in host mode. 10 1 read-write DHNPEN Device HNP enabled The application sets this bit when it successfully receives a SetFeature.SetHNPEnable command from the connected USB host. Note: Only accessible in device mode. 11 1 read-write EHEN Embedded host enable It is used to select between OTG A device state machine and embedded host state machine. 12 1 read-write CIDSTS Connector ID status Indicates the connector ID status on a connect event. Note: Accessible in both device and host modes. 16 1 read-only DBCT Long/short debounce time Indicates the debounce time of a detected connection. Note: Only accessible in host mode. 17 1 read-only ASVLD A-session valid Indicates the host mode transceiver status. Note: Only accessible in host mode. 18 1 read-only BSVLD B-session valid Indicates the device mode transceiver status. In OTG mode, the user can use this bit to determine if the device is connected or disconnected. Note: Only accessible in device mode. 19 1 read-only OTGVER OTG version Selects the OTG revision. 20 1 read-write CURMOD Current mode of operation Indicates the current mode (host or device). 21 1 read-only GOTGINT GOTGINT OTG_HS interrupt register 0x4 0x20 read-write 0x00000000 SEDET Session end detected 2 1 SRSSCHG Session request success status change 8 1 HNSSCHG Host negotiation success status change 9 1 HNGDET Host negotiation detected 17 1 ADTOCHG A-device timeout change 18 1 DBCDNE Debounce done 19 1 GAHBCFG GAHBCFG OTG_HS AHB configuration register 0x8 0x20 read-write 0x00000000 GINTMSK Global interrupt mask 0 1 HBSTLEN Burst length/type 1 4 DMAEN DMA enable 5 1 TXFELVL TxFIFO empty level 7 1 PTXFELVL Periodic TxFIFO empty level 8 1 GUSBCFG GUSBCFG OTG_HS USB configuration register 0xC 0x20 0x00000A00 TOCAL FS timeout calibration 0 3 read-write PHYSEL USB 2.0 high-speed ULPI PHY or USB 1.1 full-speed serial transceiver select 6 1 write-only SRPCAP SRP-capable 8 1 read-write HNPCAP HNP-capable 9 1 read-write TRDT USB turnaround time 10 4 read-write PHYLPCS PHY Low-power clock select 15 1 read-write ULPIFSLS ULPI FS/LS select 17 1 read-write ULPIAR ULPI Auto-resume 18 1 read-write ULPICSM ULPI Clock SuspendM 19 1 read-write ULPIEVBUSD ULPI External VBUS Drive 20 1 read-write ULPIEVBUSI ULPI external VBUS indicator 21 1 read-write TSDPS TermSel DLine pulsing selection 22 1 read-write PCCI Indicator complement 23 1 read-write PTCI Indicator pass through 24 1 read-write ULPIIPD ULPI interface protect disable 25 1 read-write FHMOD Forced host mode 29 1 read-write FDMOD Forced peripheral mode 30 1 read-write GRSTCTL GRSTCTL OTG_HS reset register 0x10 0x20 0x20000000 CSRST Core soft reset 0 1 read-write HSRST HCLK soft reset 1 1 read-write FCRST Host frame counter reset 2 1 read-write RXFFLSH RxFIFO flush 4 1 read-write TXFFLSH TxFIFO flush 5 1 read-write TXFNUM TxFIFO number 6 5 read-write DMAREQ DMA request signal enabled for USB OTG HS 30 1 read-only AHBIDL AHB master idle 31 1 read-only GINTSTS GINTSTS OTG_HS core interrupt register 0x14 0x20 0x04000020 CMOD Current mode of operation Indicates the current mode. Note: Accessible in both host and device modes. 0 1 read-only MMIS Mode mismatch interrupt The core sets this bit when the application is trying to access: A host mode register, when the core is operating in device mode A device mode register, when the core is operating in host mode The register access is completed on the AHB with an OKAY response, but is ignored by the core internally and does not affect the operation of the core. Note: Accessible in both host and device modes. 1 1 read-write OTGINT OTG interrupt The core sets this bit to indicate an OTG protocol event. The application must read the OTG interrupt status (OTG_GOTGINT) register to determine the exact event that caused this interrupt. The application must clear the appropriate status bit in the OTG_GOTGINT register to clear this bit. Note: Accessible in both host and device modes. 2 1 read-only SOF Start of frame In host mode, the core sets this bit to indicate that an SOF (FS), or Keep-Alive (LS) is transmitted on the USB. The application must write a 1 to this bit to clear the interrupt. In device mode, in the core sets this bit to indicate that an SOF token has been received on the USB. The application can read the OTG_DSTS register to get the current frame number. This interrupt is seen only when the core is operating in FS. Note: This register may return '1' if read immediately after power on reset. If the register bit reads '1' immediately after power on reset it does not indicate that an SOF has been sent (in case of host mode) or SOF has been received (in case of device mode). The read value of this interrupt is valid only after a valid connection between host and device is established. If the bit is set after power on reset the application can clear the bit. Note: Accessible in both host and device modes. 3 1 read-write RXFLVL Rx FIFO non-empty Indicates that there is at least one packet pending to be read from the Rx FIFO. Note: Accessible in both host and device modes. 4 1 read-only NPTXFE Non-periodic Tx FIFO empty This interrupt is asserted when the non-periodic Tx FIFO is either half or completely empty, and there is space for at least one entry to be written to the non-periodic transmit request queue. The half or completely empty status is determined by the non-periodic Tx FIFO empty level bit in the OTG_GAHBCFG register (TXFELVL bit in OTG_GAHBCFG). Note: Accessible in host mode only. 5 1 read-only GINAKEFF Global IN non-periodic NAK effective Indicates that the Set global non-periodic IN NAK bit in the OTG_DCTL register (SGINAK bit in OTG_DCTL), set by the application, has taken effect in the core. That is, the core has sampled the Global IN NAK bit set by the application. This bit can be cleared by clearing the Clear global non-periodic IN NAK bit in the OTG_DCTL register (CGINAK bit in OTG_DCTL). This interrupt does not necessarily mean that a NAK handshake is sent out on the USB. The STALL bit takes precedence over the NAK bit. Note: Only accessible in device mode. 6 1 read-only GONAKEFF Global OUT NAK effective Indicates that the Set global OUT NAK bit in the OTG_DCTL register (SGONAK bit in OTG_DCTL), set by the application, has taken effect in the core. This bit can be cleared by writing the Clear global OUT NAK bit in the OTG_DCTL register (CGONAK bit in OTG_DCTL). Note: Only accessible in device mode. 7 1 read-only ESUSP Early suspend The core sets this bit to indicate that an Idle state has been detected on the USB for 3 ms. Note: Only accessible in device mode. 10 1 read-write USBSUSP USB suspend The core sets this bit to indicate that a suspend was detected on the USB. The core enters the suspended state when there is no activity on the data lines for an extended period of time. Note: Only accessible in device mode. 11 1 read-write USBRST USB reset The core sets this bit to indicate that a reset is detected on the USB. Note: Only accessible in device mode. 12 1 read-write ENUMDNE Enumeration done The core sets this bit to indicate that speed enumeration is complete. The application must read the OTG_DSTS register to obtain the enumerated speed. Note: Only accessible in device mode. 13 1 read-write ISOODRP Isochronous OUT packet dropped interrupt The core sets this bit when it fails to write an isochronous OUT packet into the Rx FIFO because the Rx FIFO does not have enough space to accommodate a maximum size packet for the isochronous OUT endpoint. Note: Only accessible in device mode. 14 1 read-write EOPF End of periodic frame interrupt Indicates that the period specified in the periodic frame interval field of the OTG_DCFG register (PFIVL bit in OTG_DCFG) has been reached in the current frame. Note: Only accessible in device mode. 15 1 read-write IEPINT IN endpoint interrupt The core sets this bit to indicate that an interrupt is pending on one of the IN endpoints of the core (in device mode). The application must read the OTG_DAINT register to determine the exact number of the IN endpoint on which the interrupt occurred, and then read the corresponding OTG_DIEPINTx register to determine the exact cause of the interrupt. The application must clear the appropriate status bit in the corresponding OTG_DIEPINTx register to clear this bit. Note: Only accessible in device mode. 18 1 read-only OEPINT OUT endpoint interrupt The core sets this bit to indicate that an interrupt is pending on one of the OUT endpoints of the core (in device mode). The application must read the OTG_DAINT register to determine the exact number of the OUT endpoint on which the interrupt occurred, and then read the corresponding OTG_DOEPINTx register to determine the exact cause of the interrupt. The application must clear the appropriate status bit in the corresponding OTG_DOEPINTx register to clear this bit. Note: Only accessible in device mode. 19 1 read-only IISOIXFR Incomplete isochronous IN transfer The core sets this interrupt to indicate that there is at least one isochronous IN endpoint on which the transfer is not completed in the current frame. This interrupt is asserted along with the End of periodic frame interrupt (EOPF) bit in this register. Note: Only accessible in device mode. 20 1 read-write IPXFR_INCOMPISOOUT 21 1 read-write DATAFSUSP Data fetch suspended This interrupt is valid only in DMA mode. This interrupt indicates that the core has stopped fetching data for IN endpoints due to the unavailability of TxFIFO space or request queue space. This interrupt is used by the application for an endpoint mismatch algorithm. For example, after detecting an endpoint mismatch, the application: Sets a global nonperiodic IN NAK handshake Disables IN endpoints Flushes the FIFO Determines the token sequence from the IN token sequence learning queue Re-enables the endpoints Clears the global nonperiodic IN NAK handshake If the global nonperiodic IN NAK is cleared, the core has not yet fetched data for the IN endpoint, and the IN token is received: the core generates an âÂÂIN token received when FIFO emptyâ interrupt. The OTG then sends a NAK response to the host. To avoid this scenario, the application can check the FetSusp interrupt in OTG_GINTSTS, which ensures that the FIFO is full before clearing a global NAK handshake. Alternatively, the application can mask the âÂÂIN token received when FIFO emptyâ interrupt when clearing a global IN NAK handshake. 22 1 read-write RSTDET Reset detected interrupt In device mode, this interrupt is asserted when a reset is detected on the USB in partial power-down mode when the device is in suspend. Note: Only accessible in device mode. 23 1 read-write HPRTINT Host port interrupt The core sets this bit to indicate a change in port status of one of the OTG_HS controller ports in host mode. The application must read the OTG_HPRT register to determine the exact event that caused this interrupt. The application must clear the appropriate status bit in the OTG_HPRT register to clear this bit. Note: Only accessible in host mode. 24 1 read-only HCINT Host channels interrupt The core sets this bit to indicate that an interrupt is pending on one of the channels of the core (in host mode). The application must read the OTG_HAINT register to determine the exact number of the channel on which the interrupt occurred, and then read the corresponding OTG_HCINTx register to determine the exact cause of the interrupt. The application must clear the appropriate status bit in the OTG_HCINTx register to clear this bit. Note: Only accessible in host mode. 25 1 read-only PTXFE Periodic Tx FIFO empty Asserted when the periodic transmit FIFO is either half or completely empty and there is space for at least one entry to be written in the periodic request queue. The half or completely empty status is determined by the periodic Tx FIFO empty level bit in the OTG_GAHBCFG register (PTXFELVL bit in OTG_GAHBCFG). Note: Only accessible in host mode. 26 1 read-only LPMINT LPM interrupt In device mode, this interrupt is asserted when the device receives an LPM transaction and responds with a non-ERRORed response. In host mode, this interrupt is asserted when the device responds to an LPM transaction with a non-ERRORed response or when the host core has completed LPM transactions for the programmed number of times (RETRYCNT bit in OTG_GLPMCFG). This field is valid only if the LPMEN bit in OTG_GLPMCFG is set to 1. 27 1 read-write CIDSCHG Connector ID status change The core sets this bit when there is a change in connector ID status. Note: Accessible in both device and host modes. 28 1 read-write DISCINT Disconnect detected interrupt Asserted when a device disconnect is detected. Note: Only accessible in host mode. 29 1 read-write SRQINT Session request/new session detected interrupt In host mode, this interrupt is asserted when a session request is detected from the device. In device mode, this interrupt is asserted when VBUS is in the valid range for a B-peripheral device. Accessible in both device and host modes. 30 1 read-write WKUPINT Resume/remote wakeup detected interrupt Wakeup interrupt during suspend(L2) or LPM(L1) state. During suspend(L2): In device mode, this interrupt is asserted when a resume is detected on the USB. In host mode, this interrupt is asserted when a remote wakeup is detected on the USB. During LPM(L1): This interrupt is asserted for either host initiated resume or device initiated remote wakeup on USB. Note: Accessible in both device and host modes. 31 1 read-write GINTMSK GINTMSK OTG_HS interrupt mask register 0x18 0x20 0x00000000 MMISM Mode mismatch interrupt mask Note: Accessible in both device and host modes. 1 1 read-write OTGINT OTG interrupt mask Note: Accessible in both device and host modes. 2 1 read-write SOFM Start of frame mask Note: Accessible in both device and host modes. 3 1 read-write RXFLVLM Receive FIFO non-empty mask Note: Accessible in both device and host modes. 4 1 read-write NPTXFEM Non-periodic Tx FIFO empty mask Note: Only accessible in host mode. 5 1 read-write GINAKEFFM Global non-periodic IN NAK effective mask Note: Only accessible in device mode. 6 1 read-write GONAKEFFM Global OUT NAK effective mask Note: Only accessible in device mode. 7 1 read-write ESUSPM Early suspend mask Note: Only accessible in device mode. 10 1 read-write USBSUSPM USB suspend mask Note: Only accessible in device mode. 11 1 read-write USBRST USB reset mask Note: Only accessible in device mode. 12 1 read-write ENUMDNEM Enumeration done mask Note: Only accessible in device mode. 13 1 read-write ISOODRPM Isochronous OUT packet dropped interrupt mask Note: Only accessible in device mode. 14 1 read-write EOPFM End of periodic frame interrupt mask Note: Only accessible in device mode. 15 1 read-write IEPINT IN endpoints interrupt mask Note: Only accessible in device mode. 18 1 read-write OEPINT OUT endpoints interrupt mask Note: Only accessible in device mode. 19 1 read-write IISOIXFRM Incomplete isochronous IN transfer mask Note: Only accessible in device mode. 20 1 read-write IPXFRM_IISOOXFRM 21 1 read-write FSUSPM Data fetch suspended mask Only accessible in peripheral mode. 22 1 read-write RSTDETM Reset detected interrupt mask Note: Only accessible in device mode. 23 1 read-write PRTIM Host port interrupt mask Note: Only accessible in host mode. 24 1 read-only HCIM Host channels interrupt mask Note: Only accessible in host mode. 25 1 read-write PTXFEM Periodic Tx FIFO empty mask Note: Only accessible in host mode. 26 1 read-write LPMINTM LPM interrupt mask Note: Accessible in both host and device modes. 27 1 read-write CIDSCHGM Connector ID status change mask Note: Accessible in both host and device modes. 28 1 read-write DISCINT Disconnect detected interrupt mask Note: Only accessible in host mode. 29 1 read-write SRQIM Session request/new session detected interrupt mask Note: Accessible in both host and device modes. 30 1 read-write WUIM Resume/remote wakeup detected interrupt mask Note: Accessible in both host and device modes. 31 1 read-write GRXSTSR_Host GRXSTSR_Host OTG_HS Receive status debug read register (host mode) 0x1C 0x20 read-only 0x00000000 CHNUM Channel number 0 4 BCNT Byte count 4 11 DPID Data PID 15 2 PKTSTS Packet status 17 4 GRXSTSP_Host GRXSTSP_Host OTG_HS status read and pop register (host mode) 0x20 0x20 read-only 0x00000000 CHNUM Channel number 0 4 BCNT Byte count 4 11 DPID Data PID 15 2 PKTSTS Packet status 17 4 GRXFSIZ GRXFSIZ OTG_HS Receive FIFO size register 0x24 0x20 read-write 0x00000200 RXFD RxFIFO depth 0 16 HNPTXFSIZ HNPTXFSIZ_Host OTG_HS nonperiodic transmit FIFO size register (host mode) 0x28 0x20 read-write 0x00000200 NPTXFSA Nonperiodic transmit RAM start address 0 16 NPTXFD Nonperiodic TxFIFO depth 16 16 DIEPTXF0 DIEPTXF0_Device Endpoint 0 transmit FIFO size (peripheral mode) HNPTXFSIZ 0x28 0x20 read-write 0x00000200 TX0FSA Endpoint 0 transmit RAM start address 0 16 TX0FD Endpoint 0 TxFIFO depth 16 16 HNPTXSTS GNPTXSTS OTG_HS nonperiodic transmit FIFO/queue status register 0x2C 0x20 read-only 0x00080200 NPTXFSAV Nonperiodic TxFIFO space available 0 16 NPTQXSAV Nonperiodic transmit request queue space available 16 8 NPTXQTOP Top of the nonperiodic transmit request queue 24 7 GCCFG GCCFG OTG_HS general core configuration register 0x38 0x20 read-write 0x00000000 DCDET Data contact detection (DCD) status 0 1 PDET Primary detection (PD) status 1 1 SDET Secondary detection (SD) status 2 1 PS2DET DM pull-up detection status 3 1 PWRDWN Power down 16 1 BCDEN Battery charging detector (BCD) enable 17 1 DCDEN Data contact detection (DCD) mode enable 18 1 PDEN Primary detection (PD) mode enable 19 1 SDEN Secondary detection (SD) mode enable 20 1 VBDEN USB VBUS detection enable 21 1 CID CID OTG_HS core ID register 0x3C 0x20 read-write 0x00001200 PRODUCT_ID Product ID field 0 32 HPTXFSIZ HPTXFSIZ OTG_HS Host periodic transmit FIFO size register 0x100 0x20 read-write 0x02000600 PTXSA Host periodic TxFIFO start address 0 16 PTXFD Host periodic TxFIFO depth 16 16 8 0x4 1-8 DIEPTXF%s DIEPTXF%s OTG_HS device IN endpoint transmit FIFO size register 0x104 0x20 read-write 0x02000400 INEPTXSA IN endpoint FIFOx transmit RAM start address 0 16 INEPTXFD IN endpoint TxFIFO depth 16 16 GRXSTSR_Device GRXSTSR_Device OTG_HS Receive status debug read register (peripheral mode mode) GRXSTSR_Host 0x1C 0x20 read-only 0x00000000 EPNUM Endpoint number 0 4 BCNT Byte count 4 11 DPID Data PID 15 2 PKTSTS Packet status 17 4 FRMNUM Frame number 21 4 STSPHST Frame number 27 4 GRXSTSP_Device GRXSTSP_Device OTG_HS status read and pop register (peripheral mode) GRXSTSP_Host 0x20 0x20 read-only 0x00000000 EPNUM Endpoint number 0 4 BCNT Byte count 4 11 DPID Data PID 15 2 PKTSTS Packet status 17 4 FRMNUM Frame number 21 4 STSPHST Frame number 27 4 GLPMCFG GLPMCFG OTG core LPM configuration register 0x54 0x20 0x00000000 LPMEN LPM support enable 0 1 read-write LPMACK LPM token acknowledge enable 1 1 read-write BESL Best effort service latency 2 4 read-only REMWAKE bRemoteWake value 6 1 read-only L1SSEN L1 Shallow Sleep enable 7 1 read-write BESLTHRS BESL threshold 8 4 read-write L1DSEN L1 deep sleep enable 12 1 read-write LPMRST LPM response 13 2 read-only SLPSTS Port sleep status 15 1 read-only L1RSMOK Sleep State Resume OK 16 1 read-only LPMCHIDX LPM Channel Index 17 4 read-write LPMRCNT LPM retry count 21 3 read-write SNDLPM Send LPM transaction 24 1 read-write LPMRCNTSTS LPM retry count status 25 3 read-only ENBESL Enable best effort service latency 28 1 read-write OTG1_HS_HOST USB 1 on the go high speed USB_OTG_HS 0x40040400 0x0 0x400 registers HCFG HCFG OTG_HS host configuration register 0x0 0x20 0x00000000 FSLSPCS FS/LS PHY clock select 0 2 read-write FSLSS FS- and LS-only support 2 1 read-only HFIR HFIR OTG_HS Host frame interval register 0x4 0x20 read-write 0x0000EA60 FRIVL Frame interval 0 16 HFNUM HFNUM OTG_HS host frame number/frame time remaining register 0x8 0x20 read-only 0x00003FFF FRNUM Frame number 0 16 FTREM Frame time remaining 16 16 HPTXSTS HPTXSTS OTG_HS_Host periodic transmit FIFO/queue status register 0x10 0x20 0x00080100 PTXFSAVL Periodic transmit data FIFO space available 0 16 read-write PTXQSAV Periodic transmit request queue space available 16 8 read-only PTXQTOP Top of the periodic transmit request queue 24 8 read-only HAINT HAINT OTG_HS Host all channels interrupt register 0x14 0x20 read-only 0x00000000 HAINT Channel interrupts 0 16 HAINTMSK HAINTMSK OTG_HS host all channels interrupt mask register 0x18 0x20 read-write 0x00000000 HAINTM Channel interrupt mask 0 16 HPRT HPRT OTG_HS host port control and status register 0x40 0x20 0x00000000 PCSTS Port connect status 0 1 read-only PCDET Port connect detected 1 1 read-write PENA Port enable 2 1 read-write PENCHNG Port enable/disable change 3 1 read-write POCA Port overcurrent active 4 1 read-only POCCHNG Port overcurrent change 5 1 read-write PRES Port resume 6 1 read-write PSUSP Port suspend 7 1 read-write PRST Port reset 8 1 read-write PLSTS Port line status 10 2 read-only PPWR Port power 12 1 read-write PTCTL Port test control 13 4 read-write PSPD Port speed 17 2 read-only 16 0x20 0-15 HC%s Host channel 0x100 CHAR HCCHAR0 OTG_HS host channel-0 characteristics register 0x0 0x20 read-write 0x00000000 MPSIZ Maximum packet size 0 11 EPNUM Endpoint number 11 4 EPDIR Endpoint direction 15 1 LSDEV Low-speed device 17 1 EPTYP Endpoint type 18 2 MC Multi Count (MC) / Error Count (EC) 20 2 DAD Device address 22 7 ODDFRM Odd frame 29 1 CHDIS Channel disable 30 1 CHENA Channel enable 31 1 SPLT HCSPLT0 OTG_HS host channel-0 split control register 0x4 0x20 read-write 0x00000000 PRTADDR Port address 0 7 HUBADDR Hub address 7 7 XACTPOS XACTPOS 14 2 COMPLSPLT Do complete split 16 1 SPLITEN Split enable 31 1 INT HCINT0 OTG_HS host channel-11 interrupt register 0x8 0x20 read-write 0x00000000 XFRC Transfer completed 0 1 CHH Channel halted 1 1 AHBERR AHB error 2 1 STALL STALL response received interrupt 3 1 NAK NAK response received interrupt 4 1 ACK ACK response received/transmitted interrupt 5 1 NYET Response received interrupt 6 1 TXERR Transaction error 7 1 BBERR Babble error 8 1 FRMOR Frame overrun 9 1 DTERR Data toggle error 10 1 INTMSK HCINTMSK0 OTG_HS host channel-11 interrupt mask register 0xC 0x20 read-write 0x00000000 XFRCM Transfer completed mask 0 1 CHHM Channel halted mask 1 1 AHBERR AHB error 2 1 STALLM STALL response received interrupt mask 3 1 NAKM NAK response received interrupt mask 4 1 ACKM ACK response received/transmitted interrupt mask 5 1 NYET response received interrupt mask 6 1 TXERRM Transaction error mask 7 1 BBERRM Babble error mask 8 1 FRMORM Frame overrun mask 9 1 DTERRM Data toggle error mask 10 1 TSIZ HCTSIZ0 OTG_HS host channel-11 transfer size register 0x10 0x20 read-write 0x00000000 XFRSIZ Transfer size 0 19 PKTCNT Packet count 19 10 DPID Data PID 29 2 DMA HCDMA0 OTG_HS host channel-0 DMA address register 0x14 0x20 read-write 0x00000000 DMAADDR DMA address 0 32 OTG2_HS_HOST 0x40080400 OTG1_HS_PWRCLK USB 1 on the go high speed USB_OTG_HS 0x40040E00 0x0 0x3F200 registers PCGCR PCGCR Power and clock gating control register 0x0 0x20 read-write 0x00000000 STPPCLK Stop PHY clock 0 1 GATEHCLK Gate HCLK 1 1 PHYSUSP PHY suspended 4 1 OTG2_HS_PWRCLK 0x40080E00 OctoSPII_O_Manager OctoSPI IO Manager OctoSPII_O_Manager 0x5200B400 0x0 0x400 registers CR CR OctoSPI IO Manager Control Register 0x0 0x20 read-write 0x00000000 MUXEN Multiplexed mode Enable 0 1 REQ2ACK_TIME REQ to ACK Time 16 8 P1CR P1CR OctoSPI IO Manager Port 1 configuration register 0x4 0x20 read-write 0x03010111 CLKEN CLK/CLKn Enable for Port n 0 1 CLKSRC CLK/CLKn Source for Port n 1 1 DQSEN DQSEN 4 1 DQSSRC DQSSRC 5 1 NCSEN NCSEN 8 1 NCSSRC NCSSRC 9 1 IOLEN IOLEN 16 1 IOLSRC IOLSRC 17 2 IOHEN IOHEN 24 1 IOHSRC IOHSRC 25 2 P2CR P2CR OctoSPI IO Manager Port 2 configuration register 0x8 0x20 read-write 0x07050333 CLKEN CLKEN 0 1 CLKSRC CLKSRC 1 1 DQSEN DQSEN 4 1 DQSSRC DQSSRC 5 1 NCSEN NCSEN 8 1 NCSSRC NCSSRC 9 1 IOLEN IOLEN 16 1 IOLSRC IOLSRC 17 2 IOHEN IOHEN 24 1 IOHSRC IOHSRC 25 2 OTFDEC1 OTFDEC address block description OTFDEC 0x5200B800 0x0 0x30C registers OTFDEC1 OTFDEC1 interrupt 151 R1CFGR R1CFGR OTFDEC region 1 configuration register 0x20 0x20 0x00000000 0xFFFFFFFF REG_EN region on-the-fly decryption enable Note: When this bit is set region context (version, key, nonce) must be valid or garbage will be decrypted. 0 1 read-write CONFIGLOCK region config lock This bit-field is set once, i.e. if this bit is set it can only be reset to â0â if OTFDEC is reset. Setting this bit forces KEYLOCK bit to â1â. 1 1 read-write KEYLOCK region key lock This bitfield is set once, i.e. if this bit is set it can only be reset to â0â if the OTFDEC is reset. 2 1 read-write MODE operating mode This bitfield selects the OTFDEC operating mode for this region: When MODE is not equal to 11 the standard AES encryption mode is activated. When either of the MODE bits are changed the regionâs key and associated CRC are zeroed. 4 2 read-write KEYCRC region key 8-bit CRC When KEYLOCK=0, KEYCRC bitfield is automatically computed by hardware while loading the key of this region in this exact sequence: KEYR0 then KEYR1 then KEYR2 then finally KEYR3 (all written once). A new computation starts as soon as a new valid sequence is initiated, and KEYCRC is read as zero until a valid sequence is completed. When KEYLOCK=1, KEYCRC remains unchanged until the next reset. CRC computation is an 8-bit checksum using the standard CRC-8-CCITT algorithm X8 + X2 + X + 1 (according the convention). Source code is available in this manual. This field is read only. Note: CRC information is updated only after the last bit of the key has been written. 8 8 read-only REGx_VERSION region firmware version This 16-bit bitfield must be correctly initialized before the region corresponding REG_EN bit is set in the RxCFGR register. 16 16 read-write R1STARTADDR R1STARTADDR OTFDEC region 1 start address register 0x24 0x20 0x00000000 0xFFFFFFFF REGx_START_ADDR Region AXI start address This register must be written before the region corresponding REG_EN bit in the RxCFGR register is set. Writing this register while the region CONFIGLOCK bit in the RxCFGR register is set will be discarded. Note: When determining the region the first 12 bits (LSB) and the last 4 bits (MSB) are ignored. When this register is accessed in read the 4 MSB bits and the 12 LSB bits return zero. 0 32 read-write R1ENDADDR R1ENDADDR OTFDEC region 1 end address register 0x28 0x20 0x00000FFF 0xFFFFFFFF REGx_END_ADDR Region AXI end address This register must be written before the region corresponding REG_EN bit in the RxCFGR register is set, and RxENDADDR must be strictly greater than RxSTARTADDR to be valid. Writing this register while the region CONFIGLOCK bit in the RxCFGR register is set will be discarded. Note: When determining the region the first 12 bits (LSB) and the last 4 bits (MSB) are ignored. When this register is accessed in read the 4 MSB bits returns zeros and the 12 LSB bits return ones. 0 32 read-write R1NONCER0 R1NONCER0 OTFDEC region 1 nonce register 0 0x2C 0x20 0x00000000 0xFFFFFFFF REGx_NONCE Region nonce, bits [31:0] This register must be written before the region corresponding REG_EN bit in the RxCFGR register is set. Writing this register while the region CONFIGLOCK bit in the RxCFGR register is set will be discarded. 0 32 read-write R1NONCER1 R1NONCER1 OTFDEC region 1 nonce register 1 0x30 0x20 0x00000000 0xFFFFFFFF REGx_NONCE Region nonce, bits [63:32] Refer to the OTFDEC_RxNONCER0 register for description of the NONCE[63:0] bitfield. 0 32 read-write R1KEYR0 R1KEYR0 OTFDEC region 1 key register 0 0x34 0x20 0x00000000 0xFFFFFFFF REGx_KEY Region key, bits [31:0] This register must be written before the region corresponding REG_EN bit in the RxCFGR register is set. Reading this register returns a zero value. Writing this register while the region CONFIGLOCK or KEYLOCK bit is set in the RxCFGR register will be discarded. Note: When application successfully changes MODE bits in RxCFGR register RxKEYR registers and associated KEYCRC are erased. 0 32 write-only R1KEYR1 R1KEYR1 OTFDEC region 1 key register 1 0x38 0x20 0x00000000 0xFFFFFFFF REGx_KEY Region key, bits [63:32] Refer to the OTFDEC_RxKEYR0 register for description of the KEY[127:0] bitfield. 0 32 write-only R1KEYR2 R1KEYR2 OTFDEC region 1 key register 2 0x3C 0x20 0x00000000 0xFFFFFFFF REGx_KEY Region key, bits [95:64] Refer to the OTFDEC_RxKEYR0 register for description of the KEY[127:0] bitfield. 0 32 write-only R1KEYR3 R1KEYR3 OTFDEC region 1 key register 3 0x40 0x20 0x00000000 0xFFFFFFFF REGx_KEY Region key, bits [127:96] Refer to the OTFDEC_RxKEYR0 register for description of the KEY[127:0] bitfield. 0 32 write-only R2CFGR R2CFGR OTFDEC region 2 configuration register 0x50 0x20 0x00000000 0xFFFFFFFF REG_EN region on-the-fly decryption enable Note: When this bit is set region context (version, key, nonce) must be valid or garbage will be decrypted. 0 1 read-write CONFIGLOCK region config lock This bit-field is set once, i.e. if this bit is set it can only be reset to â0â if OTFDEC is reset. Setting this bit forces KEYLOCK bit to â1â. 1 1 read-write KEYLOCK region key lock This bitfield is set once, i.e. if this bit is set it can only be reset to â0â if the OTFDEC is reset. 2 1 read-write MODE operating mode This bitfield selects the OTFDEC operating mode for this region: When MODE is not equal to 11 the standard AES encryption mode is activated. When either of the MODE bits are changed the regionâs key and associated CRC are zeroed. 4 2 read-write KEYCRC region key 8-bit CRC When KEYLOCK=0, KEYCRC bitfield is automatically computed by hardware while loading the key of this region in this exact sequence: KEYR0 then KEYR1 then KEYR2 then finally KEYR3 (all written once). A new computation starts as soon as a new valid sequence is initiated, and KEYCRC is read as zero until a valid sequence is completed. When KEYLOCK=1, KEYCRC remains unchanged until the next reset. CRC computation is an 8-bit checksum using the standard CRC-8-CCITT algorithm X8 + X2 + X + 1 (according the convention). Source code is available in this manual. This field is read only. Note: CRC information is updated only after the last bit of the key has been written. 8 8 read-only REGx_VERSION region firmware version This 16-bit bitfield must be correctly initialized before the region corresponding REG_EN bit is set in the RxCFGR register. 16 16 read-write R2STARTADDR R2STARTADDR OTFDEC region 2 start address register 0x54 0x20 0x00000000 0xFFFFFFFF REGx_START_ADDR Region AXI start address This register must be written before the region corresponding REG_EN bit in the RxCFGR register is set. Writing this register while the region CONFIGLOCK bit in the RxCFGR register is set will be discarded. Note: When determining the region the first 12 bits (LSB) and the last 4 bits (MSB) are ignored. When this register is accessed in read the 4 MSB bits and the 12 LSB bits return zero. 0 32 read-write R2ENDADDR R2ENDADDR OTFDEC region 2 end address register 0x58 0x20 0x00000FFF 0xFFFFFFFF REGx_END_ADDR Region AXI end address This register must be written before the region corresponding REG_EN bit in the RxCFGR register is set, and RxENDADDR must be strictly greater than RxSTARTADDR to be valid. Writing this register while the region CONFIGLOCK bit in the RxCFGR register is set will be discarded. Note: When determining the region the first 12 bits (LSB) and the last 4 bits (MSB) are ignored. When this register is accessed in read the 4 MSB bits returns zeros and the 12 LSB bits return ones. 0 32 read-write R2NONCER0 R2NONCER0 OTFDEC region 2 nonce register 0 0x5C 0x20 0x00000000 0xFFFFFFFF REGx_NONCE Region nonce, bits [31:0] This register must be written before the region corresponding REG_EN bit in the RxCFGR register is set. Writing this register while the region CONFIGLOCK bit in the RxCFGR register is set will be discarded. 0 32 read-write R2NONCER1 R2NONCER1 OTFDEC region 2 nonce register 1 0x60 0x20 0x00000000 0xFFFFFFFF REGx_NONCE Region nonce, bits [63:32] Refer to the OTFDEC_RxNONCER0 register for description of the NONCE[63:0] bitfield. 0 32 read-write R2KEYR0 R2KEYR0 OTFDEC region 2 key register 0 0x64 0x20 0x00000000 0xFFFFFFFF REGx_KEY Region key, bits [31:0] This register must be written before the region corresponding REG_EN bit in the RxCFGR register is set. Reading this register returns a zero value. Writing this register while the region CONFIGLOCK or KEYLOCK bit is set in the RxCFGR register will be discarded. Note: When application successfully changes MODE bits in RxCFGR register RxKEYR registers and associated KEYCRC are erased. 0 32 write-only R2KEYR1 R2KEYR1 OTFDEC region 2 key register 1 0x68 0x20 0x00000000 0xFFFFFFFF REGx_KEY Region key, bits [63:32] Refer to the OTFDEC_RxKEYR0 register for description of the KEY[127:0] bitfield. 0 32 write-only R2KEYR2 R2KEYR2 OTFDEC region 2 key register 2 0x6C 0x20 0x00000000 0xFFFFFFFF REGx_KEY Region key, bits [95:64] Refer to the OTFDEC_RxKEYR0 register for description of the KEY[127:0] bitfield. 0 32 write-only R2KEYR3 R2KEYR3 OTFDEC region 2 key register 3 0x70 0x20 0x00000000 0xFFFFFFFF REGx_KEY Region key, bits [127:96] Refer to the OTFDEC_RxKEYR0 register for description of the KEY[127:0] bitfield. 0 32 write-only R3CFGR R3CFGR OTFDEC region 3 configuration register 0x80 0x20 0x00000000 0xFFFFFFFF REG_EN region on-the-fly decryption enable Note: When this bit is set region context (version, key, nonce) must be valid or garbage will be decrypted. 0 1 read-write CONFIGLOCK region config lock This bit-field is set once, i.e. if this bit is set it can only be reset to â0â if OTFDEC is reset. Setting this bit forces KEYLOCK bit to â1â. 1 1 read-write KEYLOCK region key lock This bitfield is set once, i.e. if this bit is set it can only be reset to â0â if the OTFDEC is reset. 2 1 read-write MODE operating mode This bitfield selects the OTFDEC operating mode for this region: When MODE is not equal to 11 the standard AES encryption mode is activated. When either of the MODE bits are changed the regionâs key and associated CRC are zeroed. 4 2 read-write KEYCRC region key 8-bit CRC When KEYLOCK=0, KEYCRC bitfield is automatically computed by hardware while loading the key of this region in this exact sequence: KEYR0 then KEYR1 then KEYR2 then finally KEYR3 (all written once). A new computation starts as soon as a new valid sequence is initiated, and KEYCRC is read as zero until a valid sequence is completed. When KEYLOCK=1, KEYCRC remains unchanged until the next reset. CRC computation is an 8-bit checksum using the standard CRC-8-CCITT algorithm X8 + X2 + X + 1 (according the convention). Source code is available in this manual. This field is read only. Note: CRC information is updated only after the last bit of the key has been written. 8 8 read-only REGx_VERSION region firmware version This 16-bit bitfield must be correctly initialized before the region corresponding REG_EN bit is set in the RxCFGR register. 16 16 read-write R3STARTADDR R3STARTADDR OTFDEC region 3 start address register 0x84 0x20 0x00000000 0xFFFFFFFF REGx_START_ADDR Region AXI start address This register must be written before the region corresponding REG_EN bit in the RxCFGR register is set. Writing this register while the region CONFIGLOCK bit in the RxCFGR register is set will be discarded. Note: When determining the region the first 12 bits (LSB) and the last 4 bits (MSB) are ignored. When this register is accessed in read the 4 MSB bits and the 12 LSB bits return zero. 0 32 read-write R3ENDADDR R3ENDADDR OTFDEC region 3 end address register 0x88 0x20 0x00000FFF 0xFFFFFFFF REGx_END_ADDR Region AXI end address This register must be written before the region corresponding REG_EN bit in the RxCFGR register is set, and RxENDADDR must be strictly greater than RxSTARTADDR to be valid. Writing this register while the region CONFIGLOCK bit in the RxCFGR register is set will be discarded. Note: When determining the region the first 12 bits (LSB) and the last 4 bits (MSB) are ignored. When this register is accessed in read the 4 MSB bits returns zeros and the 12 LSB bits return ones. 0 32 read-write R3NONCER0 R3NONCER0 OTFDEC region 3 nonce register 0 0x8C 0x20 0x00000000 0xFFFFFFFF REGx_NONCE Region nonce, bits [31:0] This register must be written before the region corresponding REG_EN bit in the RxCFGR register is set. Writing this register while the region CONFIGLOCK bit in the RxCFGR register is set will be discarded. 0 32 read-write R3NONCER1 R3NONCER1 OTFDEC region 3 nonce register 1 0x90 0x20 0x00000000 0xFFFFFFFF REGx_NONCE Region nonce, bits [63:32] Refer to the OTFDEC_RxNONCER0 register for description of the NONCE[63:0] bitfield. 0 32 read-write R3KEYR0 R3KEYR0 OTFDEC region 3 key register 0 0x94 0x20 0x00000000 0xFFFFFFFF REGx_KEY Region key, bits [31:0] This register must be written before the region corresponding REG_EN bit in the RxCFGR register is set. Reading this register returns a zero value. Writing this register while the region CONFIGLOCK or KEYLOCK bit is set in the RxCFGR register will be discarded. Note: When application successfully changes MODE bits in RxCFGR register RxKEYR registers and associated KEYCRC are erased. 0 32 write-only R3KEYR1 R3KEYR1 OTFDEC region 3 key register 1 0x98 0x20 0x00000000 0xFFFFFFFF REGx_KEY Region key, bits [63:32] Refer to the OTFDEC_RxKEYR0 register for description of the KEY[127:0] bitfield. 0 32 write-only R3KEYR2 R3KEYR2 OTFDEC region 3 key register 2 0x9C 0x20 0x00000000 0xFFFFFFFF REGx_KEY Region key, bits [95:64] Refer to the OTFDEC_RxKEYR0 register for description of the KEY[127:0] bitfield. 0 32 write-only R3KEYR3 R3KEYR3 OTFDEC region 3 key register 3 0xA0 0x20 0x00000000 0xFFFFFFFF REGx_KEY Region key, bits [127:96] Refer to the OTFDEC_RxKEYR0 register for description of the KEY[127:0] bitfield. 0 32 write-only R4CFGR R4CFGR OTFDEC region 4 configuration register 0xB0 0x20 0x00000000 0xFFFFFFFF REG_EN region on-the-fly decryption enable Note: When this bit is set region context (version, key, nonce) must be valid or garbage will be decrypted. 0 1 read-write CONFIGLOCK region config lock This bit-field is set once, i.e. if this bit is set it can only be reset to â0â if OTFDEC is reset. Setting this bit forces KEYLOCK bit to â1â. 1 1 read-write KEYLOCK region key lock This bitfield is set once, i.e. if this bit is set it can only be reset to â0â if the OTFDEC is reset. 2 1 read-write MODE operating mode This bitfield selects the OTFDEC operating mode for this region: When MODE is not equal to 11 the standard AES encryption mode is activated. When either of the MODE bits are changed the regionâs key and associated CRC are zeroed. 4 2 read-write KEYCRC region key 8-bit CRC When KEYLOCK=0, KEYCRC bitfield is automatically computed by hardware while loading the key of this region in this exact sequence: KEYR0 then KEYR1 then KEYR2 then finally KEYR3 (all written once). A new computation starts as soon as a new valid sequence is initiated, and KEYCRC is read as zero until a valid sequence is completed. When KEYLOCK=1, KEYCRC remains unchanged until the next reset. CRC computation is an 8-bit checksum using the standard CRC-8-CCITT algorithm X8 + X2 + X + 1 (according the convention). Source code is available in this manual. This field is read only. Note: CRC information is updated only after the last bit of the key has been written. 8 8 read-only REGx_VERSION region firmware version This 16-bit bitfield must be correctly initialized before the region corresponding REG_EN bit is set in the RxCFGR register. 16 16 read-write R4STARTADDR R4STARTADDR OTFDEC region 4 start address register 0xB4 0x20 0x00000000 0xFFFFFFFF REGx_START_ADDR Region AXI start address This register must be written before the region corresponding REG_EN bit in the RxCFGR register is set. Writing this register while the region CONFIGLOCK bit in the RxCFGR register is set will be discarded. Note: When determining the region the first 12 bits (LSB) and the last 4 bits (MSB) are ignored. When this register is accessed in read the 4 MSB bits and the 12 LSB bits return zero. 0 32 read-write R4ENDADDR R4ENDADDR OTFDEC region 4 end address register 0xB8 0x20 0x00000FFF 0xFFFFFFFF REGx_END_ADDR Region AXI end address This register must be written before the region corresponding REG_EN bit in the RxCFGR register is set, and RxENDADDR must be strictly greater than RxSTARTADDR to be valid. Writing this register while the region CONFIGLOCK bit in the RxCFGR register is set will be discarded. Note: When determining the region the first 12 bits (LSB) and the last 4 bits (MSB) are ignored. When this register is accessed in read the 4 MSB bits returns zeros and the 12 LSB bits return ones. 0 32 read-write R4NONCER0 R4NONCER0 OTFDEC region 4 nonce register 0 0xBC 0x20 0x00000000 0xFFFFFFFF REGx_NONCE Region nonce, bits [31:0] This register must be written before the region corresponding REG_EN bit in the RxCFGR register is set. Writing this register while the region CONFIGLOCK bit in the RxCFGR register is set will be discarded. 0 32 read-write R4NONCER1 R4NONCER1 OTFDEC region 4 nonce register 1 0xC0 0x20 0x00000000 0xFFFFFFFF REGx_NONCE Region nonce, bits [63:32] Refer to the OTFDEC_RxNONCER0 register for description of the NONCE[63:0] bitfield. 0 32 read-write R4KEYR0 R4KEYR0 OTFDEC region 4 key register 0 0xC4 0x20 0x00000000 0xFFFFFFFF REGx_KEY Region key, bits [31:0] This register must be written before the region corresponding REG_EN bit in the RxCFGR register is set. Reading this register returns a zero value. Writing this register while the region CONFIGLOCK or KEYLOCK bit is set in the RxCFGR register will be discarded. Note: When application successfully changes MODE bits in RxCFGR register RxKEYR registers and associated KEYCRC are erased. 0 32 write-only R4KEYR1 R4KEYR1 OTFDEC region 4 key register 1 0xC8 0x20 0x00000000 0xFFFFFFFF REGx_KEY Region key, bits [63:32] Refer to the OTFDEC_RxKEYR0 register for description of the KEY[127:0] bitfield. 0 32 write-only R4KEYR2 R4KEYR2 OTFDEC region 4 key register 2 0xCC 0x20 0x00000000 0xFFFFFFFF REGx_KEY Region key, bits [95:64] Refer to the OTFDEC_RxKEYR0 register for description of the KEY[127:0] bitfield. 0 32 write-only R4KEYR3 R4KEYR3 OTFDEC region 4 key register 3 0xD0 0x20 0x00000000 0xFFFFFFFF REGx_KEY Region key, bits [127:96] Refer to the OTFDEC_RxKEYR0 register for description of the KEY[127:0] bitfield. 0 32 write-only ISR ISR OTFDEC interrupt status register 0x300 0x20 0x00000000 0xFFFFFFFF SEIF Security Error Interrupt Flag status This bit is set by hardware and read only by application. Bit is set when at least one security error has been detected (illegal access to keys, illegal write on locked configuration). Bit is cleared when application sets in OTFDEC_ICR the corresponding bit to â1â. 0 1 read-only XONEIF Execute-only execute-Never Error Interrupt Flag status This bit is set by hardware and read only by application. Bit is set when a read access and not an instruction fetch is detected on any encrypted region with MODE bits set to 00 or 11. It is also set when an instruction fetch and not a read access is detected on any encrypted region with MODE bits set to 01. Bit is cleared when application sets in OTFDEC_ICR the corresponding bit to â1â. 1 1 read-only KEIF Key Error Interrupt Flag status This bit is set by hardware and read only by application. Bit is set when a read access occurs on any encrypted region following the reset of the key registers by an abort event (tamper detection, unauthorized debugger connection, untrusted boot, RDP level regression). Bit is cleared when application sets in OTFDEC_ICR the corresponding bit to â1â. After KEIF is set any subsequent read to any enabled encrypted region returns a zeroed value. This state remains until OTFDEC keys are initialized again. 2 1 read-only ICR ICR OTFDEC interrupt clear register 0x304 0x20 0x00000000 0xFFFFFFFF SEIF Security Error Interrupt Flag clear This bit is written by application, and always reads as 0. 0 1 write-only XONEIF Execute-only execute-Never Error Interrupt Flag clear This bit is written by application, and always reads as 0. 1 1 write-only KEIF Key Error Interrupt Flag clear This bit is written by application, and always reads as 0. Note: Clearing KEIF does not solve the source of the problem (bad key registers). To be able to read or execute again any encrypted region, OTFDEC key registers must properly initialized, again. 2 1 write-only IER IER OTFDEC interrupt enable register 0x308 0x20 0x00000000 0xFFFFFFFF SEIE Security Error Interrupt Enable This bit is read and written by application. It controls the OTFDEC interrupt generation when SEIF flag status is set. 0 1 read-write XONEIE Execute-only execute-Never Error Interrupt Enable This bit is read and written by application. It controls the OTFDEC interrupt generation when XONEIF flag status is set. 1 1 read-write KEIE Key Error Interrupt Enable This bit is read and written by application. It controls the OTFDEC interrupt generation when KEIF flag status is set. 2 1 read-write OTFDEC2 0x5200BC00 OTFDEC2 OTFDEC2 interrupt 152 PSSI PSSI register block PSSI 0x48020400 0x0 0x400 registers CR CR PSSI control register 0x0 0x20 0x40000000 0xFFFFFFFF CKPOL Parallel data clock polarity This bit configures the capture edge of the parallel clock or the edge used for driving outputs, depending on OUTEN. 5 1 read-write CKPOL FallingEdge Falling edge active for inputs or rising edge active for outputs 0 RisingEdge Rising edge active for inputs or falling edge active for outputs 1 DEPOL Data enable (PSSI_DE) polarity This bit indicates the level on the PSSI_DE pin when the data are not valid on the parallel interface. 6 1 read-write DEPOL ActiveLow PSSI_DE active low (0 indicates that data is valid) 0 ActiveHigh PSSI_DE active high (1 indicates that data is valid) 1 RDYPOL Ready (PSSI_RDY) polarity This bit indicates the level on the PSSI_RDY pin when the data are not valid on the parallel interface. 8 1 read-write RDYPOL ActiveLow PSSI_RDY active low (0 indicates that the receiver is ready to receive) 0 ActiveHigh PSSI_RDY active high (1 indicates that the receiver is ready to receive) 1 EDM Extended data mode 10 2 read-write EDM BitWidth8 Interface captures 8-bit data on every parallel data clock 0 BitWidth16 The interface captures 16-bit data on every parallel data clock 3 ENABLE PSSI enable The contents of the FIFO are flushed when ENABLE is cleared to 0. Note: When ENABLE=1, the content of PSSI_CR must not be changed, except for the ENABLE bit itself. All configuration bits can change as soon as ENABLE changes from 0 to 1. The DMA controller and all PSSI configuration registers must be programmed correctly before setting the ENABLE bit to 1. The ENABLE bit and the DCMI ENABLE bit (bit 15 of DCMI_CR) must not be set to 1 at the same time. 14 1 read-write ENABLE Disabled PSSI disabled 0 Enabled PSSI enabled 1 DERDYCFG Data enable and ready configuration When the PSSI_RDY function is mapped to the PSSI_DE pin (settings 101 or 111), it is still the RDYPOL bit which determines its polarity. Similarly, when the PSSI_DE function is mapped to the PSSI_RDY pin (settings 110 or 111), it is still the DEPOL bit which determines its polarity. 18 3 read-write DERDYCFG Disabled PSSI_DE and PSSI_RDY both disabled 0 Rdy Only PSSI_RDY enabled 1 De Only PSSI_DE enabled 2 RdyDeAlt Both PSSI_RDY and PSSI_DE alternate functions enabled 3 RdyDe Both PSSI_RDY and PSSI_DE features enabled - bidirectional on PSSI_RDY pin 4 RdyRemapped Only PSSI_RDY function enabled, but mapped to PSSI_DE pin 5 DeRemapped Only PSSI_DE function enabled, but mapped to PSSI_RDY pin 6 RdyDeBidi Both PSSI_RDY and PSSI_DE features enabled - bidirectional on PSSI_DE pin 7 DMAEN DMA enable bit 30 1 read-write DMAEN Disabled DMA transfers are disabled. The user application can directly access the PSSI_DR register when DMA transfers are disabled. 0 Enabled DMA transfers are enabled (default configuration). A DMA channel in the general-purpose DMA controller must be configured to perform transfers from/to PSSI_DR 1 OUTEN Data direction selection bit 31 1 read-write OUTEN ReceiveMode Data is input synchronously with PSSI_PDCK 0 TransmitMode Data is output synchronously with PSSI_PDCK 1 SR SR PSSI status register 0x4 0x20 0x00000000 0xFFFFFFFF RTT4B FIFO is ready to transfer four bytes 2 1 read-only RTT4B NotReady FIFO is not ready for a four-byte transfer 0 Ready FIFO is ready for a four-byte (32-bit) transfer. In receive mode, this means that at least four valid data bytes are in the FIFO. In transmit mode, this means that there are at least four bytes free in the FIFO 1 RTT1B FIFO is ready to transfer one byte 3 1 read-only RTT1B NotReady FIFO is not ready for a 1-byte transfer 0 Ready FIFO is ready for a one byte (32-bit) transfer. In receive mode, this means that at least one valid data byte is in the FIFO. In transmit mode, this means that there is at least one byte free in the FIFO 1 RIS RIS PSSI raw interrupt status register 0x8 0x20 0x00000000 0xFFFFFFFF OVR_RIS Data buffer overrun/underrun raw interrupt status This bit is cleared by writing a 1 to the OVR_ISC bit in PSSI_ICR. 1 1 read-only OVR_RIS Cleared No overrun/underrun occurred 0 Occurred An overrun/underrun occurred: overrun in receive mode, underrun in transmit mode. This bit is cleared by writing a 1 to the OVR_ISC bit in PSSI_ICR 1 IER IER PSSI interrupt enable register 0xC 0x20 0x00000000 0xFFFFFFFF OVR_IE Data buffer overrun/underrun interrupt enable 1 1 read-write OVR_IE Disabled No interrupt generation 0 Enabled An interrupt is generated if either an overrun or an underrun error occurred 1 MIS MIS PSSI masked interrupt status register 0x10 0x20 0x00000000 0xFFFFFFFF OVR_MIS Data buffer overrun/underrun masked interrupt status This bit is set to 1 only when PSSI_IER/OVR_IE and PSSI_RIS/OVR_RIS are both set to 1. 1 1 read-only OVR_MIS Disabled No interrupt is generated when an overrun/underrun error occurs 0 Enabled An interrupt is generated if there is either an overrun or an underrun error and the OVR_IE bit is set in PSSI_IER 1 ICR ICR PSSI interrupt clear register 0x14 0x20 0x00000000 0xFFFFFFFF OVR_ISC Data buffer overrun/underrun interrupt status clear Writing this bit to 1 clears the OVR_RIS bit in PSSI_RIS. 1 1 write-only OVR_ISC Clear Writing this bit to 1 clears the OVR_RIS bit in PSSI_RIS 1 DR DR PSSI data register 0x28 0x20 0x00000000 0xFFFFFFFF BYTE0 Data byte 0 0 8 read-write 0 255 BYTE1 Data byte 1 8 8 read-write 0 255 BYTE2 Data byte 2 16 8 read-write 0 255 BYTE3 Data byte 3 24 8 read-write 0 255 PWR PWR PWR 0x58024800 0x0 0x400 registers CR1 CR1 PWR control register 1 0x0 0x20 read-write 0xF000C000 LPDS Low-power Deepsleep with SVOS3 (SVOS4 and SVOS5 always use low-power, regardless of the setting of this bit) 0 1 PVDE Programmable voltage detector enable 4 1 PLS Programmable voltage detector level selection These bits select the voltage threshold detected by the PVD. Note: Refer to Section Electrical characteristics of the product datasheet for more details. 5 3 DBP Disable backup domain write protection In reset state, the RCC_BDCR register, the RTC registers (including the backup registers), BREN and MOEN bits in PWR_CR2 register, are protected against parasitic write access. This bit must be set to enable write access to these registers. 8 1 FLPS Flash low-power mode in DStop mode This bit allows to obtain the best trade-off between low-power consumption and restart time when exiting from DStop mode. When it is set, the Flash memory enters low-power mode when D1 domain is in DStop mode. 9 1 SVOS System Stop mode voltage scaling selection These bits control the VCORE voltage level in system Stop mode, to obtain the best trade-off between power consumption and performance. 14 2 AVDEN Peripheral voltage monitor on VDDA enable 16 1 ALS Analog voltage detector level selection These bits select the voltage threshold detected by the AVD. 17 2 CSR1 CSR1 PWR control status register 1 0x4 0x20 read-only 0x00004000 PVDO 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. 4 1 ACTVOSRDY Voltage levels ready bit for currently used VOS and SDLEVEL This bit is set to 1 by hardware when the voltage regulator and the SD converter are both disabled and Bypass mode is selected in PWR control register 3 (PWR_CR3). 13 1 ACTVOS VOS currently applied for VCORE voltage scaling selection. These bits reflect the last VOS value applied to the PMU. 14 2 AVDO Analog voltage detector output on VDDA 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. 16 1 CR2 CR2 This register is not reset by wakeup from Standby mode, RESET signal and VDD POR. It is only reset by VSW POR and VSWRST reset. This register shall not be accessed when VSWRST bit in RCC_BDCR register resets the VSW domain.After reset, PWR_CR2 register is write-protected. Prior to modifying its content, the DBP bit in PWR_CR1 register must be set to disable the write protection. 0x8 0x20 0x00000000 BREN Backup regulator enable When set, the Backup regulator (used to maintain the backup RAM content in Standby and VBAT modes) is enabled. If BREN is reset, the backup regulator is switched off. The backup RAM can still be used in Run and Stop modes. However, its content will be lost in Standby and VBAT 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 will be maintained in Standby and VBAT modes. 0 1 read-write MONEN VBAT and temperature monitoring enable When set, the VBAT supply and temperature monitoring is enabled. 4 1 read-write BRRDY Backup regulator ready This bit is set by hardware to indicate that the Backup regulator is ready. 16 1 read-only VBATL VBAT level monitoring versus low threshold 20 1 read-only VBATH VBAT level monitoring versus high threshold 21 1 read-only TEMPL Temperature level monitoring versus low threshold 22 1 read-only TEMPH Temperature level monitoring versus high threshold 23 1 read-only CR3 CR3 Reset only by POR only, not reset by wakeup from Standby mode and RESET pad. The lower byte of this register is written once after POR and shall be written before changing VOS level or ck_sys clock frequency. No limitation applies to the upper bytes.Programming data corresponding to an invalid combination of SDLEVEL, SDEXTHP, SDEN, LDOEN and BYPASS bits (see Table9) will be ignored: data will not be written, the written-once mechanism will lock the register and any further write access will be ignored. The default supply configuration will be kept and the ACTVOSRDY bit in PWR control status register 1 (PWR_CSR1) will go on indicating invalid voltage levels. The system shall be power cycled before writing a new value. 0xC 0x20 0x00000006 BYPASS Power management unit bypass 0 1 read-write LDOEN Low drop-out regulator enable 1 1 read-write SDEN SD converter Enable 2 1 read-write VBE VBAT charging enable 8 1 read-write VBRS VBAT charging resistor selection 9 1 read-write USB33DEN VDD33USB voltage level detector enable. 24 1 write-only USBREGEN USB regulator enable. 25 1 read-write USB33RDY USB supply ready. 26 1 read-only SDEXTHP SMPS step-down converter forced ON and in High Power MR mode 3 1 SDLEVEL SMPS step-down converter voltage output level selection 4 2 SDEXTRDY SMPS step-down converter external supply ready 16 1 CPUCR CPUCR This register allows controlling CPU1 power. 0x10 0x20 0x00000000 PDDS_D1 D1 domain Power Down Deepsleep selection. This bit allows CPU1 to define the Deepsleep mode for D1 domain. 0 1 read-write PDDS_D2 D2 domain Power Down Deepsleep. This bit allows CPU1 to define the Deepsleep mode for D2 domain. 1 1 read-write PDDS_D3 System D3 domain Power Down Deepsleep. This bit allows CPU1 to define the Deepsleep mode for System D3 domain. 2 1 read-write STOPF STOP flag This bit is set by hardware and cleared only by any reset or by setting the CPU1 CSSF bit. 5 1 read-only SBF System Standby flag This bit is set by hardware and cleared only by a POR (Power-on Reset) or by setting the CPU1 CSSF bit 6 1 read-only SBF_D1 D1 domain DStandby flag This bit is set by hardware and cleared by any system reset or by setting the CPU1 CSSF bit. Once set, this bit can be cleared only when the D1 domain is no longer in DStandby mode. 7 1 read-only SBF_D2 D2 domain DStandby flag This bit is set by hardware and cleared by any system reset or by setting the CPU1 CSSF bit. Once set, this bit can be cleared only when the D2 domain is no longer in DStandby mode. 8 1 read-only CSSF Clear D1 domain CPU1 Standby, Stop and HOLD flags (always read as 0) This bit is cleared to 0 by hardware. 9 1 read-write RUN_D3 Keep system D3 domain in Run mode regardless of the CPU sub-systems modes 11 1 read-write D3CR D3CR This register allows controlling D3 domain power.Following reset VOSRDY will be read 1 by software 0x18 0x20 0x00004000 VOSRDY VOS Ready bit for VCORE voltage scaling output selection. This bit is set to 1 by hardware when Bypass mode is selected in PWR control register 3 (PWR_CR3). 13 1 read-only VOS Voltage scaling selection according to performance These bits control the VCORE voltage level and allow to obtains the best trade-off between power consumption and performance: When increasing the performance, the voltage scaling shall be changed before increasing the system frequency. When decreasing performance, the system frequency shall first be decreased before changing the voltage scaling. 14 2 read-write WKUPCR WKUPCR reset only by system reset, not reset by wakeup from Standby mode5 wait states are required when writing this register (when clearing a WKUPF bit in PWR_WKUPFR, the AHB write access will complete after the WKUPF has been cleared). 0x20 0x20 read-write 0x00000000 WKUPC1 Clear Wakeup pin flag for WKUPC1 0 1 WKUPC2 Clear Wakeup pin flag for WKUPC2 1 1 WKUPC4 Clear Wakeup pin flag for WKUPC4 3 1 WKUPC6 Clear Wakeup pin flag for WKUPC6 5 1 WKUPFR WKUPFR reset only by system reset, not reset by wakeup from Standby mode 0x24 0x20 read-write 0x00000000 WKUPF1 Wakeup pin WKUPF flag. This bit is set by hardware and cleared only by a Reset pin or by setting the WKUPCn+1 bit in the PWR wakeup clear register (PWR_WKUPCR). 0 1 WKUPF2 Wakeup pin WKUPF flag. This bit is set by hardware and cleared only by a Reset pin or by setting the WKUPCn+1 bit in the PWR wakeup clear register (PWR_WKUPCR). 1 1 WKUPF4 Wakeup pin WKUPF flag. This bit is set by hardware and cleared only by a Reset pin or by setting the WKUPCn+1 bit in the PWR wakeup clear register (PWR_WKUPCR). 3 1 WKUPF6 Wakeup pin WKUPF flag. This bit is set by hardware and cleared only by a Reset pin or by setting the WKUPCn+1 bit in the PWR wakeup clear register (PWR_WKUPCR). 5 1 WKUPEPR WKUPEPR Reset only by system reset, not reset by wakeup from Standby mode 0x28 0x20 read-write 0x00000000 WKUPEN1 Enable Wakeup Pin WKUPn+1 Each bit is set and cleared by software. Note: An additional wakeup event is detected if WKUPn+1 pin is enabled (by setting the WKUPENn+1 bit) when WKUPn+1 pin level is already high when WKUPPn+1 selects rising edge, or low when WKUPPn+1 selects falling edge. 0 1 WKUPEN2 Enable Wakeup Pin WKUPn+1 Each bit is set and cleared by software. Note: An additional wakeup event is detected if WKUPn+1 pin is enabled (by setting the WKUPENn+1 bit) when WKUPn+1 pin level is already high when WKUPPn+1 selects rising edge, or low when WKUPPn+1 selects falling edge. 1 1 WKUPEN3 Enable Wakeup Pin WKUPn+1 Each bit is set and cleared by software. Note: An additional wakeup event is detected if WKUPn+1 pin is enabled (by setting the WKUPENn+1 bit) when WKUPn+1 pin level is already high when WKUPPn+1 selects rising edge, or low when WKUPPn+1 selects falling edge. 2 1 WKUPEN4 Enable Wakeup Pin WKUPn+1 Each bit is set and cleared by software. Note: An additional wakeup event is detected if WKUPn+1 pin is enabled (by setting the WKUPENn+1 bit) when WKUPn+1 pin level is already high when WKUPPn+1 selects rising edge, or low when WKUPPn+1 selects falling edge. 3 1 WKUPEN5 Enable Wakeup Pin WKUPn+1 Each bit is set and cleared by software. Note: An additional wakeup event is detected if WKUPn+1 pin is enabled (by setting the WKUPENn+1 bit) when WKUPn+1 pin level is already high when WKUPPn+1 selects rising edge, or low when WKUPPn+1 selects falling edge. 4 1 WKUPEN6 Enable Wakeup Pin WKUPn+1 Each bit is set and cleared by software. Note: An additional wakeup event is detected if WKUPn+1 pin is enabled (by setting the WKUPENn+1 bit) when WKUPn+1 pin level is already high when WKUPPn+1 selects rising edge, or low when WKUPPn+1 selects falling edge. 5 1 WKUPP1 Wakeup pin polarity bit for WKUPn-7 These bits define the polarity used for event detection on WKUPn-7 external wakeup pin. 8 1 WKUPP2 Wakeup pin polarity bit for WKUPn-7 These bits define the polarity used for event detection on WKUPn-7 external wakeup pin. 9 1 WKUPP3 Wakeup pin polarity bit for WKUPn-7 These bits define the polarity used for event detection on WKUPn-7 external wakeup pin. 10 1 WKUPP4 Wakeup pin polarity bit for WKUPn-7 These bits define the polarity used for event detection on WKUPn-7 external wakeup pin. 11 1 WKUPP5 Wakeup pin polarity bit for WKUPn-7 These bits define the polarity used for event detection on WKUPn-7 external wakeup pin. 12 1 WKUPP6 Wakeup pin polarity bit for WKUPn-7 These bits define the polarity used for event detection on WKUPn-7 external wakeup pin. 13 1 WKUPPUPD1 Wakeup pin pull configuration 16 2 WKUPPUPD2 Wakeup pin pull configuration 18 2 WKUPPUPD3 Wakeup pin pull configuration 20 2 WKUPPUPD4 Wakeup pin pull configuration 22 2 WKUPPUPD5 Wakeup pin pull configuration 24 2 WKUPPUPD6 Wakeup pin pull configuration for WKUP(truncate(n/2)-7) These bits define the I/O pad pull configuration used when WKUPEN(truncate(n/2)-7) = 1. The associated GPIO port pull configuration shall be set to the same value or to 00. The Wakeup pin pull configuration is kept in Standby mode. 26 2 RAMECC1 ECC controller is associated to each RAM area RAMECC 0x52009000 0x0 0x1000 registers ECC_DIAG_IT ECC diagnostic global interrup 145 IER IER RAMECC interrupt enable register 0x0 0x20 read-write 0x00000000 GIE Global interrupt enable 0 1 GECCSEIE Global ECC single error interrupt enable 1 1 GECCDEIE Global ECC double error interrupt enable 2 1 GECCDEBWIE Global ECC double error on byte write (BW) interrupt enable 3 1 5 0x20 1-5 M%s Cluster M%s, containing M?CR, M?SR, M?FAR, M?FDRL, M?FDRH, M?FECR 0x20 CR M1CR RAMECC monitor x configuration register 0x0 0x20 read-write 0x00000000 ECCSEIE ECC single error interrupt enable 2 1 ECCDEIE ECC double error interrupt enable 3 1 ECCDEBWIE ECC double error on byte write (BW) interrupt enable 4 1 ECCELEN ECC error latching enable 5 1 SR M1SR RAMECC monitor x status register 0x4 0x20 read-write 0x00000000 SEDCF ECC single error detected and corrected flag 0 1 DEDF ECC double error detected flag 1 1 DEBWDF ECC double error on byte write (BW) detected flag 2 1 FAR M1FAR RAMECC monitor x failing address register 0x8 0x20 read-only 0x00000000 FADD ECC error failing address 0 32 FDRL M1FDRL RAMECC monitor x failing data low register 0xC 0x20 read-only 0x00000000 FDATAL Failing data low 0 32 FDRH M1FDRH RAMECC monitor x failing data high register 0x10 0x20 read-only 0x00000000 FDATAH Failing data high (64-bit memory) 0 32 FECR M1FECR RAMECC monitor x failing ECC error code register 0x14 0x20 read-only 0x00000000 FEC Failing error code 0 32 RAMECC2 ECC controller is associated to each RAM area RAMECC 0x48023000 RAMECC3 ECC controller is associated to each RAM area RAMECC 0x58027000 0x0 0x1000 registers IER IER RAMECC interrupt enable register 0x0 2 0x20 1-2 M%s Cluster M%s, containing M?CR, M?SR, M?FAR, M?FDRL, M?FDRH, M?FECR 0x20 RCC Reset and clock control RCC 0x58024400 0x0 0x400 registers RCC RCC global interrupt 5 CR CR clock control register 0x0 0x20 read-write 0x00000083 HSION Internal high-speed clock enable 0 1 HSION Off Clock Off 0 On Clock On 1 HSIKERON High Speed Internal clock enable in Stop mode 1 1 HSIRDY HSI clock ready flag 2 1 HSIRDYR read NotReady Clock not ready 0 Ready Clock ready 1 HSIDIV HSI clock divider 3 2 HSIDIV Div1 No division 0 Div2 Division by 2 1 Div4 Division by 4 2 Div8 Division by 8 3 HSIDIVF HSI divider flag 5 1 HSIDIVFR read NotPropagated New HSIDIV ratio has not yet propagated to hsi_ck 0 Propagated HSIDIV ratio has propagated to hsi_ck 1 CSION CSI clock enable 7 1 CSIRDY CSI clock ready flag 8 1 CSIKERON CSI clock enable in Stop mode 9 1 HSI48ON RC48 clock enable 12 1 HSI48RDY RC48 clock ready flag 13 1 D1CKRDY D1 domain clocks ready flag 14 1 D2CKRDY D2 domain clocks ready flag 15 1 HSEON HSE clock enable 16 1 HSERDY HSE clock ready flag 17 1 HSEBYP HSE clock bypass 18 1 HSEBYP NotBypassed HSE crystal oscillator not bypassed 0 Bypassed HSE crystal oscillator bypassed with external clock 1 HSECSSON HSE Clock Security System enable 19 1 PLL1ON PLL1 enable 24 1 PLL1RDY PLL1 clock ready flag 25 1 PLL2ON PLL2 enable 26 1 PLL2RDY PLL2 clock ready flag 27 1 PLL3ON PLL3 enable 28 1 PLL3RDY PLL3 clock ready flag 29 1 HSICFGR HSICFGR RCC HSI calibration register 0x4 0x20 0x40000000 0xFFFFF000 HSICAL 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. 0 12 read-only HSITRIM 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. Note: The reset value of the field is 0x40. 24 7 read-write 0 127 CRRCR CRRCR RCC clock recovery RC register 0x8 0x20 0x00000000 0xFFFFF000 HSI48CAL Internal RC 48 MHz clock calibration Set by hardware by option byte loading during system reset nreset. Read-only. 0 10 read-only CSICFGR CSICFGR RCC CSI calibration register 0xC 0x20 0x20000000 0xFFFFF000 CSICAL 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. 0 10 read-only CSITRIM 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. 24 6 read-write 0 63 CFGR CFGR RCC Clock Configuration Register 0x10 0x20 read-write 0x00000000 SW System clock switch 0 3 SW HSI HSI selected as system clock 0 CSI CSI selected as system clock 1 HSE HSE selected as system clock 2 PLL1 PLL1 selected as system clock 3 SWS System clock switch status 3 3 SWSR read HSI HSI oscillator used as system clock 0 CSI CSI oscillator used as system clock 1 HSE HSE oscillator used as system clock 2 PLL1 PLL1 used as system clock 3 STOPWUCK System clock selection after a wake up from system Stop 6 1 STOPWUCK HSI HSI selected as wake up clock from system Stop 0 CSI CSI selected as wake up clock from system Stop 1 STOPKERWUCK Kernel clock selection after a wake up from system Stop 7 1 RTCPRE HSE division factor for RTC clock 8 6 0 63 TIMPRE Timers clocks prescaler selection 15 1 TIMPRE DefaultX2 Timer kernel clock equal to 2x pclk by default 0 DefaultX4 Timer kernel clock equal to 4x pclk by default 1 MCO1PRE MCO1 prescaler 18 4 0 15 MCO1 Micro-controller clock output 1 22 3 MCO1 HSI HSI selected for micro-controller clock output 0 LSE LSE selected for micro-controller clock output 1 HSE HSE selected for micro-controller clock output 2 PLL1_Q pll1_q selected for micro-controller clock output 3 HSI48 HSI48 selected for micro-controller clock output 4 MCO2PRE MCO2 prescaler 25 4 0 15 MCO2 Micro-controller clock output 2 29 3 MCO2 SYSCLK System clock selected for micro-controller clock output 0 PLL2_P pll2_p selected for micro-controller clock output 1 HSE HSE selected for micro-controller clock output 2 PLL1_P pll1_p selected for micro-controller clock output 3 CSI CSI selected for micro-controller clock output 4 LSI LSI selected for micro-controller clock output 5 D1CFGR D1CFGR RCC Domain 1 Clock Configuration Register 0x18 0x20 read-write 0x00000000 HPRE D1 domain AHB prescaler 0 4 HPRE Div2 sys_ck divided by 2 8 Div4 sys_ck divided by 4 9 Div8 sys_ck divided by 8 10 Div16 sys_ck divided by 16 11 Div64 sys_ck divided by 64 12 Div128 sys_ck divided by 128 13 Div256 sys_ck divided by 256 14 Div512 sys_ck divided by 512 15 Div1 sys_ck not divided true D1PPRE D1 domain APB3 prescaler 4 3 D1PPRE Div2 rcc_hclk divided by 2 4 Div4 rcc_hclk divided by 4 5 Div8 rcc_hclk divided by 8 6 Div16 rcc_hclk divided by 16 7 Div1 rcc_hclk not divided true D1CPRE D1 domain Core prescaler 8 4 D2CFGR D2CFGR RCC Domain 2 Clock Configuration Register 0x1C 0x20 read-write 0x00000000 D2PPRE1 D2 domain APB1 prescaler 4 3 D2PPRE1 Div2 rcc_hclk divided by 2 4 Div4 rcc_hclk divided by 4 5 Div8 rcc_hclk divided by 8 6 Div16 rcc_hclk divided by 16 7 Div1 rcc_hclk not divided true D2PPRE2 D2 domain APB2 prescaler 8 3 D3CFGR D3CFGR RCC Domain 3 Clock Configuration Register 0x20 0x20 read-write 0x00000000 D3PPRE D3 domain APB4 prescaler 4 3 D3PPRE Div2 rcc_hclk divided by 2 4 Div4 rcc_hclk divided by 4 5 Div8 rcc_hclk divided by 8 6 Div16 rcc_hclk divided by 16 7 Div1 rcc_hclk not divided true PLLCKSELR PLLCKSELR RCC PLLs Clock Source Selection Register 0x28 0x20 read-write 0x02020200 PLLSRC DIVMx and PLLs clock source selection 0 2 PLLSRC HSI HSI selected as PLL clock 0 CSI CSI selected as PLL clock 1 HSE HSE selected as PLL clock 2 None No clock sent to DIVMx dividers and PLLs 3 DIVM1 Prescaler for PLL1 4 6 0 63 DIVM2 Prescaler for PLL2 12 6 0 63 DIVM3 Prescaler for PLL3 20 6 0 63 PLLCFGR PLLCFGR RCC PLLs Configuration Register 0x2C 0x20 read-write 0x01FF0000 PLL1FRACEN PLL1 fractional latch enable 0 1 PLL1FRACEN Reset Reset latch to tranfer FRACN to the Sigma-Delta modulator 0 Set Set latch to tranfer FRACN to the Sigma-Delta modulator 1 PLL1VCOSEL PLL1 VCO selection 1 1 PLL1VCOSEL WideVCO VCO frequency range 192 to 836 MHz 0 MediumVCO VCO frequency range 150 to 420 MHz 1 PLL1RGE PLL1 input frequency range 2 2 PLL1RGE Range1 Frequency is between 1 and 2 MHz 0 Range2 Frequency is between 2 and 4 MHz 1 Range4 Frequency is between 4 and 8 MHz 2 Range8 Frequency is between 8 and 16 MHz 3 PLL2FRACEN PLL2 fractional latch enable 4 1 PLL2VCOSEL PLL2 VCO selection 5 1 PLL2RGE PLL2 input frequency range 6 2 PLL3FRACEN PLL3 fractional latch enable 8 1 PLL3VCOSEL PLL3 VCO selection 9 1 PLL3RGE PLL3 input frequency range 10 2 DIVP1EN PLL1 DIVP divider output enable 16 1 DIVP1EN Disabled Clock ouput is disabled 0 Enabled Clock output is enabled 1 DIVQ1EN PLL1 DIVQ divider output enable 17 1 DIVR1EN PLL1 DIVR divider output enable 18 1 DIVP2EN PLL2 DIVP divider output enable 19 1 DIVQ2EN PLL2 DIVQ divider output enable 20 1 DIVR2EN PLL2 DIVR divider output enable 21 1 DIVP3EN PLL3 DIVP divider output enable 22 1 DIVQ3EN PLL3 DIVQ divider output enable 23 1 DIVR3EN PLL3 DIVR divider output enable 24 1 PLL1DIVR PLL1DIVR RCC PLL1 Dividers Configuration Register 0x30 0x20 read-write 0x01010280 DIVN1 Multiplication factor for PLL1 VCO 0 9 3 511 DIVP1 PLL1 DIVP division factor 9 7 DIVP1 Div1 pll_p_ck = vco_ck 0 Div2 pll_p_ck = vco_ck / 2 1 Div4 pll_p_ck = vco_ck / 4 3 Div6 pll_p_ck = vco_ck / 6 5 Div8 pll_p_ck = vco_ck / 8 7 Div10 pll_p_ck = vco_ck / 10 9 Div12 pll_p_ck = vco_ck / 12 11 Div14 pll_p_ck = vco_ck / 14 13 Div16 pll_p_ck = vco_ck / 16 15 Div18 pll_p_ck = vco_ck / 18 17 Div20 pll_p_ck = vco_ck / 20 19 Div22 pll_p_ck = vco_ck / 22 21 Div24 pll_p_ck = vco_ck / 24 23 Div26 pll_p_ck = vco_ck / 26 25 Div28 pll_p_ck = vco_ck / 28 27 Div30 pll_p_ck = vco_ck / 30 29 Div32 pll_p_ck = vco_ck / 32 31 Div34 pll_p_ck = vco_ck / 34 33 Div36 pll_p_ck = vco_ck / 36 35 Div38 pll_p_ck = vco_ck / 38 37 Div40 pll_p_ck = vco_ck / 40 39 Div42 pll_p_ck = vco_ck / 42 41 Div44 pll_p_ck = vco_ck / 44 43 Div46 pll_p_ck = vco_ck / 46 45 Div48 pll_p_ck = vco_ck / 48 47 Div50 pll_p_ck = vco_ck / 50 49 Div52 pll_p_ck = vco_ck / 52 51 Div54 pll_p_ck = vco_ck / 54 53 Div56 pll_p_ck = vco_ck / 56 55 Div58 pll_p_ck = vco_ck / 58 57 Div60 pll_p_ck = vco_ck / 60 59 Div62 pll_p_ck = vco_ck / 62 61 Div64 pll_p_ck = vco_ck / 64 63 Div66 pll_p_ck = vco_ck / 66 65 Div68 pll_p_ck = vco_ck / 68 67 Div70 pll_p_ck = vco_ck / 70 69 Div72 pll_p_ck = vco_ck / 72 71 Div74 pll_p_ck = vco_ck / 74 73 Div76 pll_p_ck = vco_ck / 76 75 Div78 pll_p_ck = vco_ck / 78 77 Div80 pll_p_ck = vco_ck / 80 79 Div82 pll_p_ck = vco_ck / 82 81 Div84 pll_p_ck = vco_ck / 84 83 Div86 pll_p_ck = vco_ck / 86 85 Div88 pll_p_ck = vco_ck / 88 87 Div90 pll_p_ck = vco_ck / 90 89 Div92 pll_p_ck = vco_ck / 92 91 Div94 pll_p_ck = vco_ck / 94 93 Div96 pll_p_ck = vco_ck / 96 95 Div98 pll_p_ck = vco_ck / 98 97 Div100 pll_p_ck = vco_ck / 100 99 Div102 pll_p_ck = vco_ck / 102 101 Div104 pll_p_ck = vco_ck / 104 103 Div106 pll_p_ck = vco_ck / 106 105 Div108 pll_p_ck = vco_ck / 108 107 Div110 pll_p_ck = vco_ck / 110 109 Div112 pll_p_ck = vco_ck / 112 111 Div114 pll_p_ck = vco_ck / 114 113 Div116 pll_p_ck = vco_ck / 116 115 Div118 pll_p_ck = vco_ck / 118 117 Div120 pll_p_ck = vco_ck / 120 119 Div122 pll_p_ck = vco_ck / 122 121 Div124 pll_p_ck = vco_ck / 124 123 Div126 pll_p_ck = vco_ck / 126 125 Div128 pll_p_ck = vco_ck / 128 127 DIVQ1 PLL1 DIVQ division factor 16 7 0 127 DIVR1 PLL1 DIVR division factor 24 7 0 127 PLL1FRACR PLL1FRACR RCC PLL1 Fractional Divider Register 0x34 0x20 read-write 0x00000000 FRACN1 Fractional part of the multiplication factor for PLL1 VCO 3 13 0 8191 PLL2DIVR PLL2DIVR RCC PLL2 Dividers Configuration Register 0x38 0x20 read-write 0x01010280 DIVN2 Multiplication factor for PLL1 VCO 0 9 3 511 DIVP2 PLL1 DIVP division factor 9 7 DIVQ2 PLL1 DIVQ division factor 16 7 0 127 DIVR2 PLL1 DIVR division factor 24 7 0 127 PLL2FRACR PLL2FRACR RCC PLL2 Fractional Divider Register 0x3C 0x20 read-write 0x00000000 FRACN2 Fractional part of the multiplication factor for PLL VCO 3 13 0 8191 PLL3DIVR PLL3DIVR RCC PLL3 Dividers Configuration Register 0x40 0x20 read-write 0x01010280 DIVN3 Multiplication factor for PLL1 VCO 0 9 3 511 DIVP3 PLL DIVP division factor 9 7 DIVQ3 PLL DIVQ division factor 16 7 0 127 DIVR3 PLL DIVR division factor 24 7 0 127 PLL3FRACR PLL3FRACR RCC PLL3 Fractional Divider Register 0x44 0x20 read-write 0x00000000 FRACN3 Fractional part of the multiplication factor for PLL3 VCO 3 13 0 8191 D1CCIPR D1CCIPR RCC Domain 1 Kernel Clock Configuration Register 0x4C 0x20 read-write 0x00000000 FMCSEL FMC kernel clock source selection 0 2 FMCSEL RCC_HCLK3 rcc_hclk3 selected as peripheral clock 0 PLL1_Q pll1_q selected as peripheral clock 1 PLL2_R pll2_r selected as peripheral clock 2 PER PER selected as peripheral clock 3 OCTOSPISEL QUADSPI kernel clock source selection 4 2 SDMMCSEL SDMMC kernel clock source selection 16 1 SDMMCSEL PLL1_Q pll1_q selected as peripheral clock 0 PLL2_R pll2_r selected as peripheral clock 1 CKPERSEL per_ck clock source selection 28 2 CKPERSEL HSI HSI selected as peripheral clock 0 CSI CSI selected as peripheral clock 1 HSE HSE selected as peripheral clock 2 D2CCIP1R D2CCIP1R RCC Domain 2 Kernel Clock Configuration Register 0x50 0x20 read-write 0x00000000 SAI1SEL SAI1 and DFSDM1 kernel Aclk clock source selection 0 3 SAI1SEL PLL1_Q pll1_q selected as peripheral clock 0 PLL2_P pll2_p selected as peripheral clock 1 PLL3_P pll3_p selected as peripheral clock 2 I2S_CKIN I2S_CKIN selected as peripheral clock 3 PER PER selected as peripheral clock 4 SPI123SEL SPI/I2S1,2 and 3 kernel clock source selection 12 3 SPI45SEL SPI4 and 5 kernel clock source selection 16 3 SPI45SEL APB APB clock selected as peripheral clock 0 PLL2_Q pll2_q selected as peripheral clock 1 PLL3_Q pll3_q selected as peripheral clock 2 HSI_KER hsi_ker selected as peripheral clock 3 CSI_KER csi_ker selected as peripheral clock 4 HSE HSE selected as peripheral clock 5 SPDIFRXSEL SPDIFRX kernel clock source selection 20 2 SPDIFRXSEL PLL1_Q pll1_q selected as peripheral clock 0 PLL2_R pll2_r selected as peripheral clock 1 PLL3_R pll3_r selected as peripheral clock 2 HSI_KER hsi_ker selected as peripheral clock 3 DFSDM1SEL DFSDM1 kernel Clk clock source selection 24 1 DFSDM1SEL RCC_PCLK2 rcc_pclk2 selected as peripheral clock 0 SYS System clock selected as peripheral clock 1 FDCANSEL FDCAN kernel clock source selection 28 2 FDCANSEL HSE HSE selected as peripheral clock 0 PLL1_Q pll1_q selected as peripheral clock 1 PLL2_Q pll2_q selected as peripheral clock 2 SWPMISEL SWPMI kernel clock source selection 31 1 SWPMISEL PCLK pclk selected as peripheral clock 0 HSI_KER hsi_ker selected as peripheral clock 1 D2CCIP2R D2CCIP2R RCC Domain 2 Kernel Clock Configuration Register 0x54 0x20 read-write 0x00000000 USART234578SEL USART2/3, UART4,5, 7/8 (APB1) kernel clock source selection 0 3 USART234578SEL RCC_PCLK1 rcc_pclk1 selected as peripheral clock 0 PLL2_Q pll2_q selected as peripheral clock 1 PLL3_Q pll3_q selected as peripheral clock 2 HSI_KER hsi_ker selected as peripheral clock 3 CSI_KER csi_ker selected as peripheral clock 4 LSE LSE selected as peripheral clock 5 USART16910SEL USART1 and 6 kernel clock source selection 3 3 USART16910SEL RCC_PCLK2 rcc_pclk2 selected as peripheral clock 0 PLL2_Q pll2_q selected as peripheral clock 1 PLL3_Q pll3_q selected as peripheral clock 2 HSI_KER hsi_ker selected as peripheral clock 3 CSI_KER csi_ker selected as peripheral clock 4 LSE LSE selected as peripheral clock 5 RNGSEL RNG kernel clock source selection 8 2 RNGSEL HSI48 HSI48 selected as peripheral clock 0 PLL1_Q pll1_q selected as peripheral clock 1 LSE LSE selected as peripheral clock 2 LSI LSI selected as peripheral clock 3 I2C123SEL I2C1,2,3 kernel clock source selection 12 2 I2C123SEL RCC_PCLK1 rcc_pclk1 selected as peripheral clock 0 PLL3_R pll3_r selected as peripheral clock 1 HSI_KER hsi_ker selected as peripheral clock 2 CSI_KER csi_ker selected as peripheral clock 3 USBSEL USBOTG 1 and 2 kernel clock source selection 20 2 USBSEL DISABLE Disable the kernel clock 0 PLL1_Q pll1_q selected as peripheral clock 1 PLL3_Q pll3_q selected as peripheral clock 2 HSI48 HSI48 selected as peripheral clock 3 CECSEL HDMI-CEC kernel clock source selection 22 2 CECSEL LSE LSE selected as peripheral clock 0 LSI LSI selected as peripheral clock 1 CSI_KER csi_ker selected as peripheral clock 2 LPTIM1SEL LPTIM1 kernel clock source selection 28 3 LPTIM1SEL RCC_PCLK1 rcc_pclk1 selected as peripheral clock 0 PLL2_P pll2_p selected as peripheral clock 1 PLL3_R pll3_r selected as peripheral clock 2 LSE LSE selected as peripheral clock 3 LSI LSI selected as peripheral clock 4 PER PER selected as peripheral clock 5 D3CCIPR D3CCIPR RCC Domain 3 Kernel Clock Configuration Register 0x58 0x20 read-write 0x00000000 LPUART1SEL LPUART1 kernel clock source selection 0 3 LPUART1SEL RCC_PCLK_D3 rcc_pclk_d3 selected as peripheral clock 0 PLL2_Q pll2_q selected as peripheral clock 1 PLL3_Q pll3_q selected as peripheral clock 2 HSI_KER hsi_ker selected as peripheral clock 3 CSI_KER csi_ker selected as peripheral clock 4 LSE LSE selected as peripheral clock 5 I2C4SEL I2C4 kernel clock source selection 8 2 I2C4SEL RCC_PCLK4 rcc_pclk4 selected as peripheral clock 0 PLL3_R pll3_r selected as peripheral clock 1 HSI_KER hsi_ker selected as peripheral clock 2 CSI_KER csi_ker selected as peripheral clock 3 LPTIM2SEL LPTIM2 kernel clock source selection 10 3 LPTIM2SEL RCC_PCLK4 rcc_pclk4 selected as peripheral clock 0 PLL2_P pll2_p selected as peripheral clock 1 PLL3_R pll3_r selected as peripheral clock 2 LSE LSE selected as peripheral clock 3 LSI LSI selected as peripheral clock 4 PER PER selected as peripheral clock 5 LPTIM345SEL LPTIM3,4,5 kernel clock source selection 13 3 ADCSEL SAR ADC kernel clock source selection 16 2 ADCSEL PLL2_P pll2_p selected as peripheral clock 0 PLL3_R pll3_r selected as peripheral clock 1 PER PER selected as peripheral clock 2 SAI4ASEL Sub-Block A of SAI4 kernel clock source selection 21 3 SAI4ASEL PLL1_Q pll1_q selected as peripheral clock 0 PLL2_P pll2_p selected as peripheral clock 1 PLL3_P pll3_p selected as peripheral clock 2 I2S_CKIN i2s_ckin selected as peripheral clock 3 PER PER selected as peripheral clock 4 SAI4BSEL Sub-Block B of SAI4 kernel clock source selection 24 3 SPI6SEL SPI6 kernel clock source selection 28 3 SPI6SEL RCC_PCLK4 rcc_pclk4 selected as peripheral clock 0 PLL2_Q pll2_q selected as peripheral clock 1 PLL3_Q pll3_q selected as peripheral clock 2 HSI_KER hsi_ker selected as peripheral clock 3 CSI_KER csi_ker selected as peripheral clock 4 HSE HSE selected as peripheral clock 5 CIER CIER RCC Clock Source Interrupt Enable Register 0x60 0x20 read-write 0x00000000 LSIRDYIE LSI ready Interrupt Enable 0 1 LSIRDYIE Disabled Interrupt disabled 0 Enabled Interrupt enabled 1 LSERDYIE LSE ready Interrupt Enable 1 1 HSIRDYIE HSI ready Interrupt Enable 2 1 HSERDYIE HSE ready Interrupt Enable 3 1 CSIRDYIE CSI ready Interrupt Enable 4 1 HSI48RDYIE RC48 ready Interrupt Enable 5 1 PLL1RDYIE PLL1 ready Interrupt Enable 6 1 PLL2RDYIE PLL2 ready Interrupt Enable 7 1 PLL3RDYIE PLL3 ready Interrupt Enable 8 1 LSECSSIE LSE clock security system Interrupt Enable 9 1 CIFR CIFR RCC Clock Source Interrupt Flag Register 0x64 0x20 read-only 0x00000000 LSIRDYF LSI ready Interrupt Flag 0 1 LSIRDYFR NotInterrupted No clock ready interrupt 0 Interrupted Clock ready interrupt 1 LSERDYF LSE ready Interrupt Flag 1 1 HSIRDYF HSI ready Interrupt Flag 2 1 HSERDYF HSE ready Interrupt Flag 3 1 CSIRDY CSI ready Interrupt Flag 4 1 HSI48RDYF RC48 ready Interrupt Flag 5 1 PLL1RDYF PLL1 ready Interrupt Flag 6 1 PLL2RDYF PLL2 ready Interrupt Flag 7 1 PLL3RDYF PLL3 ready Interrupt Flag 8 1 LSECSSF LSE clock security system Interrupt Flag 9 1 HSECSSF HSE clock security system Interrupt Flag 10 1 CICR CICR RCC Clock Source Interrupt Clear Register 0x68 0x20 read-write 0x00000000 LSIRDYC LSI ready Interrupt Clear 0 1 LSIRDYC Clear Clear interrupt flag 1 LSERDYC LSE ready Interrupt Clear 1 1 HSIRDYC HSI ready Interrupt Clear 2 1 HSERDYC HSE ready Interrupt Clear 3 1 HSE_ready_Interrupt_Clear CSI ready Interrupt Clear 4 1 HSI48RDYC RC48 ready Interrupt Clear 5 1 PLL1RDYC PLL1 ready Interrupt Clear 6 1 PLL2RDYC PLL2 ready Interrupt Clear 7 1 PLL3RDYC PLL3 ready Interrupt Clear 8 1 LSECSSC LSE clock security system Interrupt Clear 9 1 HSECSSC HSE clock security system Interrupt Clear 10 1 BDCR BDCR RCC Backup Domain Control Register 0x70 0x20 read-write 0x00000000 LSEON LSE oscillator enabled 0 1 LSEON Off LSE oscillator Off 0 On LSE oscillator On 1 LSERDY LSE oscillator ready 1 1 LSERDYR read NotReady LSE oscillator not ready 0 Ready LSE oscillator ready 1 LSEBYP LSE oscillator bypass 2 1 LSEBYP NotBypassed LSE crystal oscillator not bypassed 0 Bypassed LSE crystal oscillator bypassed with external clock 1 LSEDRV LSE oscillator driving capability 3 2 LSEDRV Lowest Lowest LSE oscillator driving capability 0 MediumLow Medium low LSE oscillator driving capability 1 MediumHigh Medium high LSE oscillator driving capability 2 Highest Highest LSE oscillator driving capability 3 LSECSSON LSE clock security system enable 5 1 LSECSSON SecurityOff Clock security system on 32 kHz oscillator off 0 SecurityOn Clock security system on 32 kHz oscillator on 1 LSECSSD LSE clock security system failure detection 6 1 LSECSSDR read NoFailure No failure detected on 32 kHz oscillator 0 Failure Failure detected on 32 kHz oscillator 1 RTCSEL RTC clock source selection 8 2 RTCSEL NoClock No clock 0 LSE LSE oscillator clock used as RTC clock 1 LSI LSI oscillator clock used as RTC clock 2 HSE HSE oscillator clock divided by a prescaler used as RTC clock 3 RTCEN RTC clock enable 15 1 RTCEN Disabled RTC clock disabled 0 Enabled RTC clock enabled 1 BDRST Backup domain software reset 16 1 BDRST NotActivated Reset not activated 0 Reset Resets the entire VSW domain 1 CSR CSR RCC Clock Control and Status Register 0x74 0x20 read-write 0x00000000 LSION LSI oscillator enable 0 1 LSION Off LSI oscillator Off 0 On LSI oscillator On 1 LSIRDY LSI oscillator ready 1 1 LSIRDYR read NotReady LSI oscillator not ready 0 Ready LSI oscillator ready 1 AHB3RSTR AHB3RSTR RCC AHB3 Reset Register 0x7C 0x20 read-write 0x00000000 MDMARST MDMA block reset 0 1 MDMARST Reset Reset the selected module 1 DMA2DRST DMA2D block reset 4 1 FMCRST FMC block reset 12 1 OCTOSPI1RST QUADSPI and QUADSPI delay block reset 14 1 SDMMC1RST SDMMC1 and SDMMC1 delay block reset 16 1 OCTOSPI2RST OCTOSPI2 and OCTOSPI2 delay block reset Set and reset by software 19 1 IOMNGRRST OCTOSPIM reset Set and reset by software 21 1 OTFD1RST OTFD1 reset Set and reset by software Take care that resetting the OTFD means loosing the decryption key loaded during secure boot. 22 1 OTFD2RST OTFD2 reset Set and reset by software Take care that resetting the OTFD means loosing the decryption key loaded during secure boot. 23 1 CPURST CPU reset 31 1 AHB1RSTR AHB1RSTR RCC AHB1 Peripheral Reset Register 0x80 0x20 read-write 0x00000000 DMA1RST DMA1 block reset 0 1 DMA1RST Reset Reset the selected module 1 DMA2RST DMA2 block reset 1 1 ADC12RST ADC1&2 block reset 5 1 ETH1MACRST ETH1MAC block reset 15 1 USB1OTGRST USB1OTG block reset 25 1 AHB2RSTR AHB2RSTR RCC AHB2 Peripheral Reset Register 0x84 0x20 read-write 0x00000000 DCMI_PSSIRST DCMI_PSSIRST 0 1 DCMI_PSSIRST Reset Reset the selected module 1 CRYPTRST Cryptography block reset 4 1 HASHRST Hash block reset 5 1 RNGRST Random Number Generator block reset 6 1 SDMMC2RST SDMMC2 and SDMMC2 Delay block reset 9 1 FMACRST FMAC reset 16 1 CORDICRST CORDIC coprocessor block reset 17 1 AHB4RSTR AHB4RSTR RCC AHB4 Peripheral Reset Register 0x88 0x20 read-write 0x00000000 GPIOARST GPIO block reset 0 1 GPIOARST Reset Reset the selected module 1 GPIOBRST GPIO block reset 1 1 GPIOCRST GPIO block reset 2 1 GPIODRST GPIO block reset 3 1 GPIOERST GPIO block reset 4 1 GPIOFRST GPIO block reset 5 1 GPIOGRST GPIO block reset 6 1 GPIOHRST GPIO block reset 7 1 GPIOJRST GPIO block reset 9 1 GPIOKRST GPIO block reset 10 1 CRCRST CRC block reset 19 1 BDMARST BDMA block reset 21 1 ADC3RST ADC3 block reset 24 1 HSEMRST HSEM block reset 25 1 APB3RSTR APB3RSTR RCC APB3 Peripheral Reset Register 0x8C 0x20 read-write 0x00000000 LTDCRST LTDC block reset 3 1 LTDCRST Reset Reset the selected module 1 APB1LRSTR APB1LRSTR RCC APB1 Peripheral Reset Register 0x90 0x20 read-write 0x00000000 TIM2RST TIM block reset 0 1 TIM2RST Reset Reset the selected module 1 TIM3RST TIM block reset 1 1 TIM4RST TIM block reset 2 1 TIM5RST TIM block reset 3 1 TIM6RST TIM block reset 4 1 TIM7RST TIM block reset 5 1 TIM12RST TIM block reset 6 1 TIM13RST TIM block reset 7 1 TIM14RST TIM block reset 8 1 LPTIM1RST TIM block reset 9 1 SPI2RST SPI2 block reset 14 1 SPI3RST SPI3 block reset 15 1 SPDIFRXRST SPDIFRX block reset 16 1 USART2RST USART2 block reset 17 1 USART3RST USART3 block reset 18 1 UART4RST UART4 block reset 19 1 UART5RST UART5 block reset 20 1 I2C1RST I2C1 block reset 21 1 I2C2RST I2C2 block reset 22 1 I2C3RST I2C3 block reset 23 1 I2C5RST I2C5 block reset 25 1 CECRST HDMI-CEC block reset 27 1 DAC12RST DAC1 and 2 Blocks Reset 29 1 UART7RST UART7 block reset 30 1 UART8RST UART8 block reset 31 1 APB1HRSTR APB1HRSTR RCC APB1 Peripheral Reset Register 0x94 0x20 read-write 0x00000000 CRSRST Clock Recovery System reset 1 1 CRSRST Reset Reset the selected module 1 SWPMIRST SWPMI block reset 2 1 OPAMPRST OPAMP block reset 4 1 MDIOSRST MDIOS block reset 5 1 FDCANRST FDCAN block reset 8 1 TIM23RST TIM23 block reset 24 1 TIM24RST TIM24 block resett 25 1 APB2RSTR APB2RSTR RCC APB2 Peripheral Reset Register 0x98 0x20 read-write 0x00000000 TIM1RST TIM1 block reset 0 1 TIM1RST Reset Reset the selected module 1 TIM8RST TIM8 block reset 1 1 USART1RST USART1 block reset 4 1 USART6RST USART6 block reset 5 1 UART9RST UART9 block reset Set and reset by software. 6 1 USART10RST USART10 block reset Set and reset by software. 7 1 SPI1RST SPI1 block reset 12 1 SPI4RST SPI4 block reset 13 1 TIM15RST TIM15 block reset 16 1 TIM16RST TIM16 block reset 17 1 TIM17RST TIM17 block reset 18 1 SPI5RST SPI5 block reset 20 1 SAI1RST SAI1 block reset 22 1 DFSDM1RST DFSDM1 block reset Set and reset by software. 30 1 APB4RSTR APB4RSTR RCC APB4 Peripheral Reset Register 0x9C 0x20 read-write 0x00000000 SYSCFGRST SYSCFG block reset 1 1 SYSCFGRST Reset Reset the selected module 1 LPUART1RST LPUART1 block reset 3 1 SPI6RST SPI6 block reset 5 1 I2C4RST I2C4 block reset 7 1 LPTIM2RST LPTIM2 block reset 9 1 LPTIM3RST LPTIM3 block reset 10 1 LPTIM4RST LPTIM4 block reset 11 1 LPTIM5RST LPTIM5 block reset 12 1 COMP12RST COMP12 Blocks Reset 14 1 VREFRST VREF block reset 15 1 SAI4RST SAI4 block reset 21 1 DTSRST Digital temperature sensor block reset Set and reset by software. 26 1 GCR GCR RCC Global Control Register 0xA0 0x20 read-write 0x00000000 WW1RSC WWDG1 reset scope control 0 1 WW1RSC Clear Clear WWDG1 scope control 0 Set Set WWDG1 scope control 1 D3AMR D3AMR RCC D3 Autonomous mode Register 0xA8 0x20 read-write 0x00000000 BDMAAMEN BDMA and DMAMUX Autonomous mode enable 0 1 BDMAAMEN Disabled Clock disabled in autonomous mode 0 Enabled Clock enabled in autonomous mode 1 LPUART1AMEN LPUART1 Autonomous mode enable 3 1 SPI6AMEN SPI6 Autonomous mode enable 5 1 I2C4AMEN I2C4 Autonomous mode enable 7 1 LPTIM2AMEN LPTIM2 Autonomous mode enable 9 1 LPTIM3AMEN LPTIM3 Autonomous mode enable 10 1 LPTIM4AMEN LPTIM4 Autonomous mode enable 11 1 LPTIM5AMEN LPTIM5 Autonomous mode enable 12 1 COMP12AMEN COMP12 Autonomous mode enable 14 1 VREFAMEN VREF Autonomous mode enable 15 1 RTCAMEN RTC Autonomous mode enable 16 1 CRCAMEN CRC Autonomous mode enable 19 1 SAI4AMEN SAI4 Autonomous mode enable 21 1 ADC3AMEN ADC3 Autonomous mode enable 24 1 DTSAMEN Digital temperature sensor Autonomous mode enable Set and reset by software. Refer to for additional information. 26 1 BKPSRAMAMEN Backup RAM Autonomous mode enable 28 1 SRAM4AMEN SRAM4 Autonomous mode enable 29 1 RSR RSR RCC Reset Status Register 0xD0 0x20 read-write 0x00000000 RMVF Remove reset flag 16 1 RMVF NotActivated Reset not activated 0 Reset Reset the reset status flags 1 CPURSTF CPU reset flag 17 1 CPURSTFR read NoResetOccurred No reset occurred for block 0 ResetOccurred Reset occurred for block 1 D1RSTF D1 domain power switch reset flag 19 1 D2RSTF D2 domain power switch reset flag 20 1 BORRSTF BOR reset flag 21 1 PINRSTF Pin reset flag (NRST) 22 1 PORRSTF POR/PDR reset flag 23 1 SFTRSTF System reset from CPU reset flag 24 1 IWDG1RSTF Independent Watchdog reset flag 26 1 WWDG1RSTF Window Watchdog reset flag 28 1 LPWRRSTF Reset due to illegal D1 DStandby or CPU CStop flag 30 1 AHB3ENR AHB3ENR RCC AHB3 Clock Register 0xD4 0x20 read-write 0x00000000 MDMAEN MDMA Peripheral Clock Enable 0 1 MDMAEN Disabled The selected clock is disabled 0 Enabled The selected clock is enabled 1 DMA2DEN DMA2D Peripheral Clock Enable 4 1 FMCEN FMC Peripheral Clocks Enable 12 1 OCTOSPI1EN OCTOSPI1 and OCTOSPI1 delay clock enable 14 1 SDMMC1EN SDMMC1 and SDMMC1 Delay Clock Enable 16 1 OCTOSPI2EN OCTOSPI2 clock enable Set and reset by software. 19 1 IOMNGREN OCTOSPIM clock enable Set and reset by software. 21 1 OTFD1EN OTFD1 clock enable Set and reset by software. 22 1 OTFD2EN OTFD2 clock enable Set and reset by software. 23 1 AHB1ENR AHB1ENR RCC AHB1 Clock Register 0xD8 0x20 read-write 0x00000000 DMA1EN DMA1 Clock Enable 0 1 DMA1EN Disabled The selected clock is disabled 0 Enabled The selected clock is enabled 1 DMA2EN DMA2 Clock Enable 1 1 ADC12EN ADC1/2 Peripheral Clocks Enable 5 1 ETH1MACEN Ethernet MAC bus interface Clock Enable 15 1 ETH1TXEN Ethernet Transmission Clock Enable 16 1 ETH1RXEN Ethernet Reception Clock Enable 17 1 USB1OTGHSEN USB1OTG Peripheral Clocks Enable 25 1 USB1OTGULPIEN USB_PHY1 Clocks Enable 26 1 AHB2ENR AHB2ENR RCC AHB2 Clock Register 0xDC 0x20 read-write 0x00000000 DCMI_PSSIEN CAMITF peripheral clock enable 0 1 DCMI_PSSIEN Disabled The selected clock is disabled 0 Enabled The selected clock is enabled 1 CRYPTEN CRYPT peripheral clock enable 4 1 HASHEN HASH peripheral clock enable 5 1 RNGEN RNG peripheral clocks enable 6 1 SDMMC2EN SDMMC2 and SDMMC2 delay clock enable 9 1 FMACEN FMAC clock enable 16 1 CORDICEN CORDIC clock enable 17 1 SRAM1EN SRAM1 block enable 29 1 SRAM2EN SRAM2 block enable 30 1 AHB4ENR AHB4ENR RCC AHB4 Clock Register 0xE0 0x20 read-write 0x00000000 GPIOAEN 0GPIO peripheral clock enable 0 1 GPIOAEN Disabled The selected clock is disabled 0 Enabled The selected clock is enabled 1 GPIOBEN 0GPIO peripheral clock enable 1 1 GPIOCEN 0GPIO peripheral clock enable 2 1 GPIODEN 0GPIO peripheral clock enable 3 1 GPIOEEN 0GPIO peripheral clock enable 4 1 GPIOFEN 0GPIO peripheral clock enable 5 1 GPIOGEN 0GPIO peripheral clock enable 6 1 GPIOHEN 0GPIO peripheral clock enable 7 1 GPIOJEN 0GPIO peripheral clock enable 9 1 GPIOKEN 0GPIO peripheral clock enable 10 1 CRCEN CRC peripheral clock enable 19 1 BDMAEN BDMA and DMAMUX2 Clock Enable 21 1 ADC3EN ADC3 Peripheral Clocks Enable 24 1 HSEMEN HSEM peripheral clock enable 25 1 BKPRAMEN Backup RAM Clock Enable 28 1 APB3ENR APB3ENR RCC APB3 Clock Register 0xE4 0x20 read-write 0x00000000 LTDCEN LTDC peripheral clock enable 3 1 LTDCEN Disabled The selected clock is disabled 0 Enabled The selected clock is enabled 1 WWDG1EN WWDG1 Clock Enable 6 1 APB1LENR APB1LENR RCC APB1 Clock Register 0xE8 0x20 read-write 0x00000000 TIM2EN TIM peripheral clock enable 0 1 TIM2EN Disabled The selected clock is disabled 0 Enabled The selected clock is enabled 1 TIM3EN TIM peripheral clock enable 1 1 TIM4EN TIM peripheral clock enable 2 1 TIM5EN TIM peripheral clock enable 3 1 TIM6EN TIM peripheral clock enable 4 1 TIM7EN TIM peripheral clock enable 5 1 TIM12EN TIM peripheral clock enable 6 1 TIM13EN TIM peripheral clock enable 7 1 TIM14EN TIM peripheral clock enable 8 1 LPTIM1EN LPTIM1 Peripheral Clocks Enable 9 1 SPI2EN SPI2 Peripheral Clocks Enable 14 1 SPI3EN SPI3 Peripheral Clocks Enable 15 1 SPDIFRXEN SPDIFRX Peripheral Clocks Enable 16 1 USART2EN USART2 Peripheral Clocks Enable 17 1 USART3EN USART3 Peripheral Clocks Enable 18 1 UART4EN UART4 Peripheral Clocks Enable 19 1 UART5EN UART5 Peripheral Clocks Enable 20 1 I2C1EN I2C1 Peripheral Clocks Enable 21 1 I2C2EN I2C2 Peripheral Clocks Enable 22 1 I2C3EN I2C3 Peripheral Clocks Enable 23 1 I2C5EN I2C5 Peripheral Clocks Enable 25 1 CECEN HDMI-CEC peripheral clock enable 27 1 DAC12EN DAC1 and 2 peripheral clock enable 29 1 UART7EN UART7 Peripheral Clocks Enable 30 1 UART8EN UART8 Peripheral Clocks Enable 31 1 APB1HENR APB1HENR RCC APB1 Clock Register 0xEC 0x20 read-write 0x00000000 CRSEN Clock Recovery System peripheral clock enable 1 1 CRSEN Disabled The selected clock is disabled 0 Enabled The selected clock is enabled 1 SWPMIEN SWPMI Peripheral Clocks Enable 2 1 OPAMPEN OPAMP peripheral clock enable 4 1 MDIOSEN MDIOS peripheral clock enable 5 1 FDCANEN FDCAN Peripheral Clocks Enable 8 1 TIM23EN TIM23 Peripheral Clocks Enable 24 1 TIM24EN TIM24 Peripheral Clocks Enable 25 1 APB2ENR APB2ENR RCC APB2 Clock Register 0xF0 0x20 read-write 0x00000000 TIM1EN TIM1 peripheral clock enable 0 1 TIM1EN Disabled The selected clock is disabled 0 Enabled The selected clock is enabled 1 TIM8EN TIM8 peripheral clock enable 1 1 USART1EN USART1 Peripheral Clocks Enable 4 1 USART6EN USART6 Peripheral Clocks Enable 5 1 UART9EN UART9 peripheral clocks enable Set and reset by software. The peripheral clocks of the UART9 are the kernel clock selected by USART16910SEL and provided to UCKL input, and the rcc_pclk2 bus interface clock. 6 1 USART10EN USART10 peripheral clocks enable Set and reset by software. The peripheral clocks of the USART10 are the kernel clock selected by USART16910SEL and provided to UCKL input, and the rcc_pclk2 bus interface clock. 7 1 SPI1EN SPI1 Peripheral Clocks Enable 12 1 SPI4EN SPI4 Peripheral Clocks Enable 13 1 TIM15EN TIM15 peripheral clock enable Set and reset by software. 16 1 TIM16EN TIM16 peripheral clock enable 17 1 TIM17EN TIM17 peripheral clock enable 18 1 SPI5EN SPI5 Peripheral Clocks Enable 20 1 SAI1EN SAI1 Peripheral Clocks Enable 22 1 DFSDM1EN DFSDM1 peripheral clocks enable Set and reset by software. DFSDM1 peripheral clocks are the kernel clocks selected by SAI1SEL and DFSDM1SEL and provided to Aclk and clk inputs respectively, 30 1 APB4ENR APB4ENR RCC APB4 Clock Register 0xF4 0x20 read-write 0x00000000 SYSCFGEN SYSCFG peripheral clock enable 1 1 SYSCFGEN Disabled The selected clock is disabled 0 Enabled The selected clock is enabled 1 LPUART1EN LPUART1 Peripheral Clocks Enable 3 1 SPI6EN SPI6 Peripheral Clocks Enable 5 1 I2C4EN I2C4 Peripheral Clocks Enable 7 1 LPTIM2EN LPTIM2 Peripheral Clocks Enable 9 1 LPTIM3EN LPTIM3 Peripheral Clocks Enable 10 1 LPTIM4EN LPTIM4 Peripheral Clocks Enable 11 1 LPTIM5EN LPTIM5 Peripheral Clocks Enable 12 1 COMP12EN COMP1/2 peripheral clock enable 14 1 VREFEN VREF peripheral clock enable 15 1 RTCAPBEN RTC APB Clock Enable 16 1 SAI4EN SAI4 Peripheral Clocks Enable 21 1 DTSEN Digital temperature sensor peripheral clock enable Set and reset by software. 26 1 AHB3LPENR AHB3LPENR RCC AHB3 Sleep Clock Register 0xFC 0x20 read-write 0x00000000 MDMALPEN MDMA Clock Enable During CSleep Mode 0 1 MDMALPEN Disabled The selected clock is disabled during csleep mode 0 Enabled The selected clock is enabled during csleep mode 1 DMA2DLPEN DMA2D Clock Enable During CSleep Mode 4 1 FLASHLPEN Flash interface Clock Enable During CSleep Mode 8 1 FMCLPEN FMC Peripheral Clocks Enable During CSleep Mode 12 1 OCTO1LPEN QUADSPI and QUADSPI Delay Clock Enable During CSleep Mode 14 1 SDMMC1LPEN SDMMC1 and SDMMC1 Delay Clock Enable During CSleep Mode 16 1 OCTO2LPEN OCTOSPI2 and OCTOSPI2 delay clock enable during CSleep mode Set and reset by software. 19 1 IOMNGRLPEN OCTOSPIM block clock enable during CSleep mode Set and reset by software. 21 1 OTFD1LPEN OTFD1 block clock enable during CSleep mode Set and reset by software. 22 1 OTFD2LPEN OTFD2 block clock enable during CSleep mode Set and reset by software. 23 1 DTCM1LPEN D1DTCM1 Block Clock Enable During CSleep mode 28 1 DTCM2LPEN D1 DTCM2 Block Clock Enable During CSleep mode 29 1 ITCMLPEN D1ITCM Block Clock Enable During CSleep mode 30 1 AXISRAMLPEN AXISRAM Block Clock Enable During CSleep mode 31 1 AHB1LPENR AHB1LPENR RCC AHB1 Sleep Clock Register 0x100 0x20 read-write 0x00000000 DMA1LPEN DMA1 Clock Enable During CSleep Mode 0 1 DMA1LPEN Disabled The selected clock is disabled during csleep mode 0 Enabled The selected clock is enabled during csleep mode 1 DMA2LPEN DMA2 Clock Enable During CSleep Mode 1 1 ADC12LPEN ADC1/2 Peripheral Clocks Enable During CSleep Mode 5 1 ETH1MACLPEN Ethernet MAC bus interface Clock Enable During CSleep Mode 15 1 ETH1TXLPEN Ethernet Transmission Clock Enable During CSleep Mode 16 1 ETH1RXLPEN Ethernet Reception Clock Enable During CSleep Mode 17 1 USB1OTGLPEN USB1OTG peripheral clock enable during CSleep mode 25 1 USB1OTGULPILPEN USB_PHY1 clock enable during CSleep mode 26 1 AHB2LPENR AHB2LPENR RCC AHB2 Sleep Clock Register 0x104 0x20 read-write 0x60030271 DCMI_PSSILPEN DCMI_PSSILPEN 0 1 DCMI_PSSILPEN Disabled The selected clock is disabled during csleep mode 0 Enabled The selected clock is enabled during csleep mode 1 CRYPTLPEN CRYPT peripheral clock enable during CSleep mode 4 1 HASHLPEN HASH peripheral clock enable during CSleep mode 5 1 RNGLPEN RNG peripheral clock enable during CSleep mode 6 1 SDMMC2LPEN SDMMC2 and SDMMC2 Delay Clock Enable During CSleep Mode 9 1 FMACLPEN FMAC peripheral clock enable during CSleep mode 16 1 CORDICLPEN CORDIC peripheral clock enable during CSleep mode 17 1 SRAM1LPEN SRAM1 Clock Enable During CSleep Mode 29 1 SRAM2LPEN SRAM2 Clock Enable During CSleep Mode 30 1 AHB4LPENR AHB4LPENR RCC AHB4 Sleep Clock Register 0x108 0x20 read-write 0x00000000 GPIOALPEN GPIO peripheral clock enable during CSleep mode 0 1 GPIOALPEN Disabled The selected clock is disabled during csleep mode 0 Enabled The selected clock is enabled during csleep mode 1 GPIOBLPEN GPIO peripheral clock enable during CSleep mode 1 1 GPIOCLPEN GPIO peripheral clock enable during CSleep mode 2 1 GPIODLPEN GPIO peripheral clock enable during CSleep mode 3 1 GPIOELPEN GPIO peripheral clock enable during CSleep mode 4 1 GPIOFLPEN GPIO peripheral clock enable during CSleep mode 5 1 GPIOGLPEN GPIO peripheral clock enable during CSleep mode 6 1 GPIOHLPEN GPIO peripheral clock enable during CSleep mode 7 1 GPIOJLPEN GPIO peripheral clock enable during CSleep mode 9 1 GPIOKLPEN GPIO peripheral clock enable during CSleep mode 10 1 CRCLPEN CRC peripheral clock enable during CSleep mode 19 1 BDMALPEN BDMA Clock Enable During CSleep Mode 21 1 ADC3LPEN ADC3 Peripheral Clocks Enable During CSleep Mode 24 1 BKPRAMLPEN Backup RAM Clock Enable During CSleep Mode 28 1 SRAM4LPEN SRAM4 Clock Enable During CSleep Mode 29 1 APB3LPENR APB3LPENR RCC APB3 Sleep Clock Register 0x10C 0x20 read-write 0x00000000 LTDCLPEN LTDC peripheral clock enable during CSleep mode 3 1 LTDCLPEN Disabled The selected clock is disabled during csleep mode 0 Enabled The selected clock is enabled during csleep mode 1 WWDG1LPEN WWDG1 Clock Enable During CSleep Mode 6 1 APB1LLPENR APB1LLPENR RCC APB1 Low Sleep Clock Register 0x110 0x20 read-write 0x00000000 TIM2LPEN TIM2 peripheral clock enable during CSleep mode 0 1 TIM2LPEN Disabled The selected clock is disabled during csleep mode 0 Enabled The selected clock is enabled during csleep mode 1 TIM3LPEN TIM3 peripheral clock enable during CSleep mode 1 1 TIM4LPEN TIM4 peripheral clock enable during CSleep mode 2 1 TIM5LPEN TIM5 peripheral clock enable during CSleep mode 3 1 TIM6LPEN TIM6 peripheral clock enable during CSleep mode 4 1 TIM7LPEN TIM7 peripheral clock enable during CSleep mode 5 1 TIM12LPEN TIM12 peripheral clock enable during CSleep mode 6 1 TIM13LPEN TIM13 peripheral clock enable during CSleep mode 7 1 TIM14LPEN TIM14 peripheral clock enable during CSleep mode 8 1 LPTIM1LPEN LPTIM1 Peripheral Clocks Enable During CSleep Mode 9 1 SPI2LPEN SPI2 Peripheral Clocks Enable During CSleep Mode 14 1 SPI3LPEN SPI3 Peripheral Clocks Enable During CSleep Mode 15 1 SPDIFRXLPEN SPDIFRX Peripheral Clocks Enable During CSleep Mode 16 1 USART2LPEN USART2 Peripheral Clocks Enable During CSleep Mode 17 1 USART3LPEN USART3 Peripheral Clocks Enable During CSleep Mode 18 1 UART4LPEN UART4 Peripheral Clocks Enable During CSleep Mode 19 1 UART5LPEN UART5 Peripheral Clocks Enable During CSleep Mode 20 1 I2C1LPEN I2C1 Peripheral Clocks Enable During CSleep Mode 21 1 I2C2LPEN I2C2 Peripheral Clocks Enable During CSleep Mode 22 1 I2C3LPEN I2C3 Peripheral Clocks Enable During CSleep Mode 23 1 I2C5LPEN I2C5 Peripheral Clocks Enable During CSleep Mode 25 1 CECLPEN CEC Peripheral Clocks Enable During CSleep Mode 27 1 DAC12LPEN DAC1/2 peripheral clock enable during CSleep mode 29 1 UART7LPEN UART7 Peripheral Clocks Enable During CSleep Mode 30 1 UART8LPEN UART8 Peripheral Clocks Enable During CSleep Mode 31 1 APB1HLPENR APB1HLPENR RCC APB1 High Sleep Clock Register 0x114 0x20 read-write 0x00000000 CRSLPEN Clock Recovery System peripheral clock enable during CSleep mode 1 1 CRSLPEN Disabled The selected clock is disabled during csleep mode 0 Enabled The selected clock is enabled during csleep mode 1 SWPMILPEN SWPMI Peripheral Clocks Enable During CSleep Mode 2 1 OPAMPLPEN OPAMP peripheral clock enable during CSleep mode 4 1 MDIOSLPEN MDIOS peripheral clock enable during CSleep mode 5 1 FDCANLPEN FDCAN Peripheral Clocks Enable During CSleep Mode 8 1 TIM23LPEN TIM23 Peripheral Clocks Enable During CSleep Mode 24 1 TIM24LPEN TIM24 Peripheral Clocks Enable During CSleep Mode 25 1 APB2LPENR APB2LPENR RCC APB2 Sleep Clock Register 0x118 0x20 read-write 0x00000000 TIM1LPEN TIM1 peripheral clock enable during CSleep mode 0 1 TIM1LPEN Disabled The selected clock is disabled during csleep mode 0 Enabled The selected clock is enabled during csleep mode 1 TIM8LPEN TIM8 peripheral clock enable during CSleep mode 1 1 USART1LPEN USART1 Peripheral Clocks Enable During CSleep Mode 4 1 USART6LPEN USART6 Peripheral Clocks Enable During CSleep Mode 5 1 UART9LPEN UART9 peripheral clock enable during CSleep mode Set and reset by software. The peripheral clocks of the UART9 are the kernel clock selected by USART16910SEL and provided to usart_ker_ck input, and the rcc_pclk2 bus interface clock. 6 1 USART10LPEN USART10 peripheral clock enable during CSleep mode Set and reset by software. The peripheral clocks of the USART10 are the kernel clock selected by USART16910SEL and provided to usart_ker_ck input, and the rcc_pclk2 bus interface clock. 7 1 SPI1LPEN SPI1 Peripheral Clocks Enable During CSleep Mode 12 1 SPI4LPEN SPI4 Peripheral Clocks Enable During CSleep Mode 13 1 TIM15LPEN TIM15 peripheral clock enable during CSleep mode 16 1 TIM16LPEN TIM16 peripheral clock enable during CSleep mode 17 1 TIM17LPEN TIM17 peripheral clock enable during CSleep mode 18 1 SPI5LPEN SPI5 Peripheral Clocks Enable During CSleep Mode 20 1 SAI1LPEN SAI1 Peripheral Clocks Enable During CSleep Mode 22 1 DFSDM1LPEN DFSDM1 peripheral clocks enable during CSleep mode Set and reset by software. DFSDM1 peripheral clocks are the kernel clocks selected by SAI1SEL and DFSDM1SEL and provided to Aclk and clk inputs respectively, and the rcc_pclk2 bus interface clock. 30 1 APB4LPENR APB4LPENR RCC APB4 Sleep Clock Register 0x11C 0x20 read-write 0x00000000 SYSCFGLPEN SYSCFG peripheral clock enable during CSleep mode 1 1 SYSCFGLPEN Disabled The selected clock is disabled during csleep mode 0 Enabled The selected clock is enabled during csleep mode 1 LPUART1LPEN LPUART1 Peripheral Clocks Enable During CSleep Mode 3 1 SPI6LPEN SPI6 Peripheral Clocks Enable During CSleep Mode 5 1 I2C4LPEN I2C4 Peripheral Clocks Enable During CSleep Mode 7 1 LPTIM2LPEN LPTIM2 Peripheral Clocks Enable During CSleep Mode 9 1 LPTIM3LPEN LPTIM3 Peripheral Clocks Enable During CSleep Mode 10 1 LPTIM4LPEN LPTIM4 Peripheral Clocks Enable During CSleep Mode 11 1 LPTIM5LPEN LPTIM5 Peripheral Clocks Enable During CSleep Mode 12 1 COMP12LPEN COMP1/2 peripheral clock enable during CSleep mode 14 1 VREFLPEN VREF peripheral clock enable during CSleep mode 15 1 RTCAPBLPEN RTC APB Clock Enable During CSleep Mode 16 1 SAI4LPEN SAI4 Peripheral Clocks Enable During CSleep Mode 21 1 DTSLPEN Digital temperature sensor peripheral clock enable during CSleep mode 26 1 C1_RSR C1_RSR RCC Reset Status Register 0x130 0x20 read-write 0x00000000 RMVF Remove reset flag 16 1 RMVF NotActivated Reset not activated 0 Reset Reset the reset status flags 1 CPURSTF CPU reset flag 17 1 CPURSTFR read NoResetOccurred No reset occurred for block 0 ResetOccurred Reset occurred for block 1 D1RSTF D1 domain power switch reset flag 19 1 D2RSTF D2 domain power switch reset flag 20 1 BORRSTF BOR reset flag 21 1 PINRSTF Pin reset flag (NRST) 22 1 PORRSTF POR/PDR reset flag 23 1 SFTRSTF System reset from CPU reset flag 24 1 IWDG1RSTF Independent Watchdog reset flag 26 1 WWDG1RSTF Window Watchdog reset flag 28 1 LPWRRSTF Reset due to illegal D1 DStandby or CPU CStop flag 30 1 C1_AHB3ENR C1_AHB3ENR RCC AHB3 Clock Register 0x134 0x20 read-write 0x00000000 MDMAEN MDMA Peripheral Clock Enable 0 1 MDMAEN Disabled The selected clock is disabled 0 Enabled The selected clock is enabled 1 DMA2DEN DMA2D Peripheral Clock Enable 4 1 FMCEN FMC Peripheral Clocks Enable 12 1 OCTOSPI1EN OCTOSPI1 and OCTOSPI1 delay clock enable 14 1 SDMMC1EN SDMMC1 and SDMMC1 Delay Clock Enable 16 1 OCTOSPI2EN OCTOSPI2 clock enable Set and reset by software. 19 1 IOMNGREN OCTOSPIM clock enable Set and reset by software. 21 1 OTFD1EN OTFD1 clock enable Set and reset by software. 22 1 OTFD2EN OTFD2 clock enable Set and reset by software. 23 1 C1_AHB1ENR C1_AHB1ENR RCC AHB1 Clock Register 0x138 0x20 read-write 0x00000000 DMA1EN DMA1 Clock Enable 0 1 DMA1EN Disabled The selected clock is disabled 0 Enabled The selected clock is enabled 1 DMA2EN DMA2 Clock Enable 1 1 ADC12EN ADC1/2 Peripheral Clocks Enable 5 1 ETH1MACEN Ethernet MAC bus interface Clock Enable 15 1 ETH1TXEN Ethernet Transmission Clock Enable 16 1 ETH1RXEN Ethernet Reception Clock Enable 17 1 USB1OTGHSEN USB1OTG Peripheral Clocks Enable 25 1 USB1OTGULPIEN USB_PHY1 Clocks Enable 26 1 C1_AHB2ENR C1_AHB2ENR RCC AHB2 Clock Register 0x13C 0x20 read-write 0x00000000 DCMI_PSSIEN CAMITF peripheral clock enable 0 1 DCMI_PSSIEN Disabled The selected clock is disabled 0 Enabled The selected clock is enabled 1 CRYPTEN CRYPT peripheral clock enable 4 1 HASHEN HASH peripheral clock enable 5 1 RNGEN RNG peripheral clocks enable 6 1 SDMMC2EN SDMMC2 and SDMMC2 delay clock enable 9 1 FMACEN FMAC clock enable 16 1 CORDICEN CORDIC clock enable 17 1 SRAM1EN SRAM1 block enable 29 1 SRAM2EN SRAM2 block enable 30 1 C1_AHB4ENR C1_AHB4ENR RCC AHB4 Clock Register 0x140 0x20 read-write 0x00000000 GPIOAEN 0GPIO peripheral clock enable 0 1 GPIOAEN Disabled The selected clock is disabled 0 Enabled The selected clock is enabled 1 GPIOBEN 0GPIO peripheral clock enable 1 1 GPIOCEN 0GPIO peripheral clock enable 2 1 GPIODEN 0GPIO peripheral clock enable 3 1 GPIOEEN 0GPIO peripheral clock enable 4 1 GPIOFEN 0GPIO peripheral clock enable 5 1 GPIOGEN 0GPIO peripheral clock enable 6 1 GPIOHEN 0GPIO peripheral clock enable 7 1 GPIOJEN 0GPIO peripheral clock enable 9 1 GPIOKEN 0GPIO peripheral clock enable 10 1 CRCEN CRC peripheral clock enable 19 1 BDMAEN BDMA and DMAMUX2 Clock Enable 21 1 ADC3EN ADC3 Peripheral Clocks Enable 24 1 HSEMEN HSEM peripheral clock enable 25 1 BKPRAMEN Backup RAM Clock Enable 28 1 C1_APB3ENR C1_APB3ENR RCC APB3 Clock Register 0x144 0x20 read-write 0x00000000 LTDCEN LTDC peripheral clock enable 3 1 LTDCEN Disabled The selected clock is disabled 0 Enabled The selected clock is enabled 1 WWDG1EN WWDG1 Clock Enable 6 1 C1_APB1LENR C1_APB1LENR RCC APB1 Clock Register 0x148 0x20 read-write 0x00000000 TIM2EN TIM peripheral clock enable 0 1 TIM2EN Disabled The selected clock is disabled 0 Enabled The selected clock is enabled 1 TIM3EN TIM peripheral clock enable 1 1 TIM4EN TIM peripheral clock enable 2 1 TIM5EN TIM peripheral clock enable 3 1 TIM6EN TIM peripheral clock enable 4 1 TIM7EN TIM peripheral clock enable 5 1 TIM12EN TIM peripheral clock enable 6 1 TIM13EN TIM peripheral clock enable 7 1 TIM14EN TIM peripheral clock enable 8 1 LPTIM1EN LPTIM1 Peripheral Clocks Enable 9 1 SPI2EN SPI2 Peripheral Clocks Enable 14 1 SPI3EN SPI3 Peripheral Clocks Enable 15 1 SPDIFRXEN SPDIFRX Peripheral Clocks Enable 16 1 USART2EN USART2 Peripheral Clocks Enable 17 1 USART3EN USART3 Peripheral Clocks Enable 18 1 UART4EN UART4 Peripheral Clocks Enable 19 1 UART5EN UART5 Peripheral Clocks Enable 20 1 I2C1EN I2C1 Peripheral Clocks Enable 21 1 I2C2EN I2C2 Peripheral Clocks Enable 22 1 I2C3EN I2C3 Peripheral Clocks Enable 23 1 I2C5EN I2C5 Peripheral Clocks Enable 25 1 CECEN HDMI-CEC peripheral clock enable 27 1 DAC12EN DAC1 and 2 peripheral clock enable 29 1 UART7EN UART7 Peripheral Clocks Enable 30 1 UART8EN UART8 Peripheral Clocks Enable 31 1 C1_APB1HENR C1_APB1HENR RCC APB1 Clock Register 0x14C 0x20 read-write 0x00000000 CRSEN Clock Recovery System peripheral clock enable 1 1 CRSEN Disabled The selected clock is disabled 0 Enabled The selected clock is enabled 1 SWPMIEN SWPMI Peripheral Clocks Enable 2 1 OPAMPEN OPAMP peripheral clock enable 4 1 MDIOSEN MDIOS peripheral clock enable 5 1 FDCANEN FDCAN Peripheral Clocks Enable 8 1 TIM23EN TIM23 Peripheral Clocks Enable 24 1 TIM24EN TIM24 Peripheral Clocks Enable 25 1 C1_APB2ENR C1_APB2ENR RCC APB2 Clock Register 0x150 0x20 read-write 0x00000000 TIM1EN TIM1 peripheral clock enable 0 1 TIM1EN Disabled The selected clock is disabled 0 Enabled The selected clock is enabled 1 TIM8EN TIM8 peripheral clock enable 1 1 USART1EN USART1 Peripheral Clocks Enable 4 1 USART6EN USART6 Peripheral Clocks Enable 5 1 UART9EN UART9 peripheral clocks enable Set and reset by software. The peripheral clocks of the UART9 are the kernel clock selected by USART16910SEL and provided to UCKL input, and the rcc_pclk2 bus interface clock. 6 1 USART10EN USART10 peripheral clocks enable Set and reset by software. The peripheral clocks of the USART10 are the kernel clock selected by USART16910SEL and provided to UCKL input, and the rcc_pclk2 bus interface clock. 7 1 SPI1EN SPI1 Peripheral Clocks Enable 12 1 SPI4EN SPI4 Peripheral Clocks Enable 13 1 TIM15EN TIM15 peripheral clock enable Set and reset by software. 16 1 TIM16EN TIM16 peripheral clock enable 17 1 TIM17EN TIM17 peripheral clock enable 18 1 SPI5EN SPI5 Peripheral Clocks Enable 20 1 SAI1EN SAI1 Peripheral Clocks Enable 22 1 DFSDM1EN DFSDM1 peripheral clocks enable Set and reset by software. DFSDM1 peripheral clocks are the kernel clocks selected by SAI1SEL and DFSDM1SEL and provided to Aclk and clk inputs respectively, 30 1 C1_APB4ENR C1_APB4ENR RCC APB4 Clock Register 0x154 0x20 read-write 0x00010000 SYSCFGEN SYSCFG peripheral clock enable 1 1 SYSCFGEN Disabled The selected clock is disabled 0 Enabled The selected clock is enabled 1 LPUART1EN LPUART1 Peripheral Clocks Enable 3 1 SPI6EN SPI6 Peripheral Clocks Enable 5 1 I2C4EN I2C4 Peripheral Clocks Enable 7 1 LPTIM2EN LPTIM2 Peripheral Clocks Enable 9 1 LPTIM3EN LPTIM3 Peripheral Clocks Enable 10 1 LPTIM4EN LPTIM4 Peripheral Clocks Enable 11 1 LPTIM5EN LPTIM5 Peripheral Clocks Enable 12 1 COMP12EN COMP1/2 peripheral clock enable 14 1 VREFEN VREF peripheral clock enable 15 1 RTCAPBEN RTC APB Clock Enable 16 1 SAI4EN SAI4 Peripheral Clocks Enable 21 1 DTSEN Digital temperature sensor peripheral clock enable Set and reset by software. 26 1 C1_AHB3LPENR C1_AHB3LPENR RCC AHB3 Sleep Clock Register 0x15C 0x20 read-write 0x00000000 MDMALPEN MDMA Clock Enable During CSleep Mode 0 1 MDMALPEN Disabled The selected clock is disabled during csleep mode 0 Enabled The selected clock is enabled during csleep mode 1 DMA2DLPEN DMA2D Clock Enable During CSleep Mode 4 1 FLASHLPEN Flash interface Clock Enable During CSleep Mode 8 1 FMCLPEN FMC Peripheral Clocks Enable During CSleep Mode 12 1 OCTO1LPEN QUADSPI and QUADSPI Delay Clock Enable During CSleep Mode 14 1 SDMMC1LPEN SDMMC1 and SDMMC1 Delay Clock Enable During CSleep Mode 16 1 OCTO2LPEN OCTOSPI2 and OCTOSPI2 delay clock enable during CSleep mode Set and reset by software. 19 1 IOMNGRLPEN OCTOSPIM block clock enable during CSleep mode Set and reset by software. 21 1 OTFD1LPEN OTFD1 block clock enable during CSleep mode Set and reset by software. 22 1 OTFD2LPEN OTFD2 block clock enable during CSleep mode Set and reset by software. 23 1 DTCM1LPEN D1DTCM1 Block Clock Enable During CSleep mode 28 1 DTCM2LPEN D1 DTCM2 Block Clock Enable During CSleep mode 29 1 ITCMLPEN D1ITCM Block Clock Enable During CSleep mode 30 1 AXISRAMLPEN AXISRAM Block Clock Enable During CSleep mode 31 1 C1_AHB1LPENR C1_AHB1LPENR RCC AHB1 Sleep Clock Register 0x160 0x20 read-write 0x00000000 DMA1LPEN DMA1 Clock Enable During CSleep Mode 0 1 DMA1LPEN Disabled The selected clock is disabled during csleep mode 0 Enabled The selected clock is enabled during csleep mode 1 DMA2LPEN DMA2 Clock Enable During CSleep Mode 1 1 ADC12LPEN ADC1/2 Peripheral Clocks Enable During CSleep Mode 5 1 ETH1MACLPEN Ethernet MAC bus interface Clock Enable During CSleep Mode 15 1 ETH1TXLPEN Ethernet Transmission Clock Enable During CSleep Mode 16 1 ETH1RXLPEN Ethernet Reception Clock Enable During CSleep Mode 17 1 USB1OTGLPEN USB1OTG peripheral clock enable during CSleep mode 25 1 USB1OTGULPILPEN USB_PHY1 clock enable during CSleep mode 26 1 C1_AHB2LPENR C1_AHB2LPENR RCC AHB2 Sleep Clock Register 0x164 0x20 read-write 0x60030271 DCMI_PSSILPEN DCMI_PSSILPEN 0 1 DCMI_PSSILPEN Disabled The selected clock is disabled during csleep mode 0 Enabled The selected clock is enabled during csleep mode 1 CRYPTLPEN CRYPT peripheral clock enable during CSleep mode 4 1 HASHLPEN HASH peripheral clock enable during CSleep mode 5 1 RNGLPEN RNG peripheral clock enable during CSleep mode 6 1 SDMMC2LPEN SDMMC2 and SDMMC2 Delay Clock Enable During CSleep Mode 9 1 FMACLPEN FMAC peripheral clock enable during CSleep mode 16 1 CORDICLPEN CORDIC peripheral clock enable during CSleep mode 17 1 SRAM1LPEN SRAM1 Clock Enable During CSleep Mode 29 1 SRAM2LPEN SRAM2 Clock Enable During CSleep Mode 30 1 C1_AHB4LPENR C1_AHB4LPENR RCC AHB4 Sleep Clock Register 0x168 0x20 read-write 0x00000000 GPIOALPEN GPIO peripheral clock enable during CSleep mode 0 1 GPIOALPEN Disabled The selected clock is disabled during csleep mode 0 Enabled The selected clock is enabled during csleep mode 1 GPIOBLPEN GPIO peripheral clock enable during CSleep mode 1 1 GPIOCLPEN GPIO peripheral clock enable during CSleep mode 2 1 GPIODLPEN GPIO peripheral clock enable during CSleep mode 3 1 GPIOELPEN GPIO peripheral clock enable during CSleep mode 4 1 GPIOFLPEN GPIO peripheral clock enable during CSleep mode 5 1 GPIOGLPEN GPIO peripheral clock enable during CSleep mode 6 1 GPIOHLPEN GPIO peripheral clock enable during CSleep mode 7 1 GPIOJLPEN GPIO peripheral clock enable during CSleep mode 9 1 GPIOKLPEN GPIO peripheral clock enable during CSleep mode 10 1 CRCLPEN CRC peripheral clock enable during CSleep mode 19 1 BDMALPEN BDMA Clock Enable During CSleep Mode 21 1 ADC3LPEN ADC3 Peripheral Clocks Enable During CSleep Mode 24 1 BKPRAMLPEN Backup RAM Clock Enable During CSleep Mode 28 1 SRAM4LPEN SRAM4 Clock Enable During CSleep Mode 29 1 C1_APB3LPENR C1_APB3LPENR RCC APB3 Sleep Clock Register 0x16C 0x20 read-write 0x00000000 LTDCLPEN LTDC peripheral clock enable during CSleep mode 3 1 LTDCLPEN Disabled The selected clock is disabled during csleep mode 0 Enabled The selected clock is enabled during csleep mode 1 WWDG1LPEN WWDG1 Clock Enable During CSleep Mode 6 1 C1_APB1LLPENR C1_APB1LLPENR RCC APB1 Low Sleep Clock Register 0x170 0x20 read-write 0xE8FFCBFF TIM2LPEN TIM2 peripheral clock enable during CSleep mode 0 1 TIM2LPEN Disabled The selected clock is disabled during csleep mode 0 Enabled The selected clock is enabled during csleep mode 1 TIM3LPEN TIM3 peripheral clock enable during CSleep mode 1 1 TIM4LPEN TIM4 peripheral clock enable during CSleep mode 2 1 TIM5LPEN TIM5 peripheral clock enable during CSleep mode 3 1 TIM6LPEN TIM6 peripheral clock enable during CSleep mode 4 1 TIM7LPEN TIM7 peripheral clock enable during CSleep mode 5 1 TIM12LPEN TIM12 peripheral clock enable during CSleep mode 6 1 TIM13LPEN TIM13 peripheral clock enable during CSleep mode 7 1 TIM14LPEN TIM14 peripheral clock enable during CSleep mode 8 1 LPTIM1LPEN LPTIM1 Peripheral Clocks Enable During CSleep Mode 9 1 SPI2LPEN SPI2 Peripheral Clocks Enable During CSleep Mode 14 1 SPI3LPEN SPI3 Peripheral Clocks Enable During CSleep Mode 15 1 SPDIFRXLPEN SPDIFRX Peripheral Clocks Enable During CSleep Mode 16 1 USART2LPEN USART2 Peripheral Clocks Enable During CSleep Mode 17 1 USART3LPEN USART3 Peripheral Clocks Enable During CSleep Mode 18 1 UART4LPEN UART4 Peripheral Clocks Enable During CSleep Mode 19 1 UART5LPEN UART5 Peripheral Clocks Enable During CSleep Mode 20 1 I2C1LPEN I2C1 Peripheral Clocks Enable During CSleep Mode 21 1 I2C2LPEN I2C2 Peripheral Clocks Enable During CSleep Mode 22 1 I2C3LPEN I2C3 Peripheral Clocks Enable During CSleep Mode 23 1 I2C5LPEN I2C5 Peripheral Clocks Enable During CSleep Mode 25 1 CECLPEN CEC Peripheral Clocks Enable During CSleep Mode 27 1 DAC12LPEN DAC1/2 peripheral clock enable during CSleep mode 29 1 UART7LPEN UART7 Peripheral Clocks Enable During CSleep Mode 30 1 UART8LPEN UART8 Peripheral Clocks Enable During CSleep Mode 31 1 C1_APB1HLPENR C1_APB1HLPENR RCC APB1 High Sleep Clock Register 0x174 0x20 read-write 0x00000000 CRSLPEN Clock Recovery System peripheral clock enable during CSleep mode 1 1 CRSLPEN Disabled The selected clock is disabled during csleep mode 0 Enabled The selected clock is enabled during csleep mode 1 SWPMILPEN SWPMI Peripheral Clocks Enable During CSleep Mode 2 1 OPAMPLPEN OPAMP peripheral clock enable during CSleep mode 4 1 MDIOSLPEN MDIOS peripheral clock enable during CSleep mode 5 1 FDCANLPEN FDCAN Peripheral Clocks Enable During CSleep Mode 8 1 TIM23LPEN TIM23 Peripheral Clocks Enable During CSleep Mode 24 1 TIM24LPEN TIM24 Peripheral Clocks Enable During CSleep Mode 25 1 C1_APB2LPENR C1_APB2LPENR RCC APB2 Sleep Clock Register 0x178 0x20 read-write 0x00000000 TIM1LPEN TIM1 peripheral clock enable during CSleep mode 0 1 TIM1LPEN Disabled The selected clock is disabled during csleep mode 0 Enabled The selected clock is enabled during csleep mode 1 TIM8LPEN TIM8 peripheral clock enable during CSleep mode 1 1 USART1LPEN USART1 Peripheral Clocks Enable During CSleep Mode 4 1 USART6LPEN USART6 Peripheral Clocks Enable During CSleep Mode 5 1 UART9LPEN UART9 peripheral clock enable during CSleep mode Set and reset by software. The peripheral clocks of the UART9 are the kernel clock selected by USART16910SEL and provided to usart_ker_ck input, and the rcc_pclk2 bus interface clock. 6 1 USART10LPEN USART10 peripheral clock enable during CSleep mode Set and reset by software. The peripheral clocks of the USART10 are the kernel clock selected by USART16910SEL and provided to usart_ker_ck input, and the rcc_pclk2 bus interface clock. 7 1 SPI1LPEN SPI1 Peripheral Clocks Enable During CSleep Mode 12 1 SPI4LPEN SPI4 Peripheral Clocks Enable During CSleep Mode 13 1 TIM15LPEN TIM15 peripheral clock enable during CSleep mode 16 1 TIM16LPEN TIM16 peripheral clock enable during CSleep mode 17 1 TIM17LPEN TIM17 peripheral clock enable during CSleep mode 18 1 SPI5LPEN SPI5 Peripheral Clocks Enable During CSleep Mode 20 1 SAI1LPEN SAI1 Peripheral Clocks Enable During CSleep Mode 22 1 DFSDM1LPEN DFSDM1 peripheral clocks enable during CSleep mode Set and reset by software. DFSDM1 peripheral clocks are the kernel clocks selected by SAI1SEL and DFSDM1SEL and provided to Aclk and clk inputs respectively, and the rcc_pclk2 bus interface clock. 30 1 C1_APB4LPENR C1_APB4LPENR RCC APB4 Sleep Clock Register 0x17C 0x20 read-write 0x0421DEAA SYSCFGLPEN SYSCFG peripheral clock enable during CSleep mode 1 1 SYSCFGLPEN Disabled The selected clock is disabled during csleep mode 0 Enabled The selected clock is enabled during csleep mode 1 LPUART1LPEN LPUART1 Peripheral Clocks Enable During CSleep Mode 3 1 SPI6LPEN SPI6 Peripheral Clocks Enable During CSleep Mode 5 1 I2C4LPEN I2C4 Peripheral Clocks Enable During CSleep Mode 7 1 LPTIM2LPEN LPTIM2 Peripheral Clocks Enable During CSleep Mode 9 1 LPTIM3LPEN LPTIM3 Peripheral Clocks Enable During CSleep Mode 10 1 LPTIM4LPEN LPTIM4 Peripheral Clocks Enable During CSleep Mode 11 1 LPTIM5LPEN LPTIM5 Peripheral Clocks Enable During CSleep Mode 12 1 COMP12LPEN COMP1/2 peripheral clock enable during CSleep mode 14 1 VREFLPEN VREF peripheral clock enable during CSleep mode 15 1 RTCAPBLPEN RTC APB Clock Enable During CSleep Mode 16 1 SAI4LPEN SAI4 Peripheral Clocks Enable During CSleep Mode 21 1 DTSLPEN Digital temperature sensor peripheral clock enable during CSleep mode 26 1 RNG RNG RNG 0x48021800 0x0 0x400 registers CR CR RNG control register 0x0 0x20 read-write 0x00000000 RNGEN Random number generator enable 2 1 RNGEN Disabled Random number generator is disabled 0 Enabled Random number generator is enabled 1 IE Interrupt enable 3 1 IE Disabled RNG interrupt is disabled 0 Enabled RNG interrupt is enabled 1 CED Clock error detection Note: The clock error detection can be used only when ck_rc48 or ck_pll1_q (ck_pll1_q = 48MHz) source is selected otherwise, CED bit must be equal to 1. The clock error detection cannot be enabled nor disabled on the fly when RNG peripheral is enabled, to enable or disable CED the RNG must be disabled. 5 1 CED Enabled Clock error detection is enabled 0 Disabled Clock error detection is disabled 1 CONFIGLOCK RNG Config lock 31 1 CONFIGLOCK Enabled Writes to the RNG_CR configuration bits [29:4] are allowed 0 Disabled Writes to the RNG_CR configuration bits [29:4] are ignored until the next RNG reset 1 CONDRST Conditioning soft reset 30 1 RNG_CONFIG1 RNG configuration 1 20 6 RNG_CONFIG1 ConfigA Recommended value for config A (NIST certifiable) 15 ConfigB Recommended value for config B (not NIST certifiable) 24 CLKDIV Clock divider factor 16 4 CLKDIV Div1 Internal RNG clock after divider is similar to incoming RNG clock 0 Div2 Divide RNG clock by 2^1 1 Div4 Divide RNG clock by 2^2 2 Div8 Divide RNG clock by 2^3 3 Div16 Divide RNG clock by 2^4 4 Div32 Divide RNG clock by 2^5 5 Div64 Divide RNG clock by 2^6 6 Div128 Divide RNG clock by 2^7 7 Div256 Divide RNG clock by 2^8 8 Div512 Divide RNG clock by 2^9 9 Div1024 Divide RNG clock by 2^10 10 Div2048 Divide RNG clock by 2^11 11 Div4096 Divide RNG clock by 2^12 12 Div8192 Divide RNG clock by 2^13 13 Div16384 Divide RNG clock by 2^14 14 Div32768 Divide RNG clock by 2^15 15 RNG_CONFIG2 RNG configuration 2 13 3 RNG_CONFIG2 ConfigA_B Recommended value for config A and B 0 NISTC Non NIST compliant 12 1 NISTC Default Hardware default values for NIST compliant RNG. In this configuration per 128-bit output two conditioning loops are performed and 256 bits of noise source are used 0 Custom Custom values for NIST compliant RNG 1 RNG_CONFIG3 RNG configuration 3 8 4 RNG_CONFIG3 ConfigB Recommended value for config B (not NIST certifiable) 0 ConfigA Recommended value for config A (NIST certifiable) 13 SR SR RNG status register 0x4 0x20 0x00000000 DRDY Data ready Note: If IE=1 in RNG_CR, an interrupt is generated when DRDY=1. It can rise when the peripheral is disabled. When the output buffer becomes empty (after reading RNG_DR), this bit returns to 0 until a new random value is generated. 0 1 read-only DRDY Invalid The RNG_DR register is not yet valid, no random data is available 0 Valid The RNG_DR register contains valid random data. Once the RNG_DR register has been read, this bit returns to 0 until a new random value is generated. 1 CECS Clock error current status Note: This bit is meaningless if CED (Clock error detection) bit in RNG_CR is equal to 1. 1 1 read-only CECS Correct The RNG clock is correct. If the CEIS bit is set, this means that a slow clock was detected and the situation has been recovered. 0 Slow The RNG clock is too slow 1 SECS Seed error current status ** More than 64 consecutive bits at the same value (0 or 1) ** More than 32 consecutive alternances of 0 and 1 (0101010101...01) 2 1 read-only SECS NoFault No faulty sequence has currently been detected. If the SEIS bit is set, this means that a faulty sequence was detected and the situation has been recovered. 0 Fault At least one faulty sequence has been detected - see ref manual for details 1 CEIS Clock error interrupt status This bit is set at the same time as CECS. It is cleared by writing it to 0. An interrupt is pending if IE = 1 in the RNG_CR register. Note: This bit is meaningless if CED (Clock error detection) bit in RNG_CR is equal to 1. 5 1 read-write zeroToClear CEISW write Clear Clear flag 0 CEISR read Correct The RNG clock is correct 0 Slow The RNG has been detected too slow An interrupt is pending if IE = 1 in the RNG_CR register 1 SEIS Seed error interrupt status This bit is set at the same time as SECS. It is cleared by writing it to 0. ** More than 64 consecutive bits at the same value (0 or 1) ** More than 32 consecutive alternances of 0 and 1 (0101010101...01) An interrupt is pending if IE = 1 in the RNG_CR register. 6 1 read-write zeroToClear write SEISR read NoFault No faulty sequence detected 0 Fault At least one faulty sequence has been detected. See **SECS** bit description for details. An interrupt is pending if IE = 1 in the RNG_CR register. 1 DR DR The RNG_DR register is a read-only register that delivers a 32-bit random value when read. The content of this register is valid when DRDY= 1, even if RNGEN=0. 0x8 0x20 read-only 0x00000000 RNDATA Random data 32-bit random data which are valid when DRDY=1. 0 32 0 4294967295 HTCR health test control register 0x10 0x00005A4E HTCFG health test configuration 0 32 HTCFG Recommended Recommended value for RNG certification (0x0000_AA74) 43636 Magic Magic number to be written before any write (0x1759_0ABC) 391711420 RTC RTC RTC 0x58004000 0x0 0x400 registers RTC_TAMP_STAMP_CSS_LSE RTC tamper, timestamp 2 RTC_WKUP RTC Wakeup interrupt 3 RTC_ALARM RTC alarms (A and B) 41 TR TR The RTC_TR is the calendar time shadow register. This register must be written in initialization mode only. Refer to Calendar initialization and configuration on page9 and Reading the calendar on page10.This register is write protected. The write access procedure is described in RTC register write protection on page9. 0x0 0x20 read-write 0x00000000 SU Second units in BCD format 0 4 0 15 ST Second tens in BCD format 4 3 0 7 MNU Minute units in BCD format 8 4 0 15 MNT Minute tens in BCD format 12 3 0 7 HU Hour units in BCD format 16 4 0 15 HT Hour tens in BCD format 20 2 0 3 PM AM/PM notation 22 1 PM AM AM or 24-hour format 0 PM PM 1 DR DR The RTC_DR is the calendar date shadow register. This register must be written in initialization mode only. Refer to Calendar initialization and configuration on page9 and Reading the calendar on page10.This register is write protected. The write access procedure is described in RTC register write protection on page9. 0x4 0x20 read-write 0x00002101 DU Date units in BCD format 0 4 0 15 DT Date tens in BCD format 4 2 0 3 MU Month units in BCD format 8 4 0 15 MT Month tens in BCD format 12 1 MT Zero Month tens is 0 0 One Month tens is 1 1 WDU Week day units 13 3 1 7 YU Year units in BCD format 16 4 0 15 YT Year tens in BCD format 20 4 0 15 CR CR RTC control register 0x8 0x20 0x00000000 WUCKSEL Wakeup clock selection 0 3 read-write WUCKSEL Div16 RTC/16 clock is selected 0 Div8 RTC/8 clock is selected 1 Div4 RTC/4 clock is selected 2 Div2 RTC/2 clock is selected 3 ClockSpare ck_spre (usually 1 Hz) clock is selected 4 ClockSpareWithOffset ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value 6 TSEDGE Time-stamp event active edge TSE must be reset when TSEDGE is changed to avoid unwanted TSF setting. 3 1 read-write TSEDGE RisingEdge RTC_TS input rising edge generates a time-stamp event 0 FallingEdge RTC_TS input falling edge generates a time-stamp event 1 REFCKON RTC_REFIN reference clock detection enable (50 or 60Hz) Note: PREDIV_S must be 0x00FF. 4 1 read-write REFCKON Disabled RTC_REFIN detection disabled 0 Enabled RTC_REFIN detection enabled 1 BYPSHAD Bypass the shadow registers Note: If the frequency of the APB clock is less than seven times the frequency of RTCCLK, BYPSHAD must be set to 1. 5 1 read-write BYPSHAD ShadowReg Calendar values (when reading from RTC_SSR, RTC_TR, and RTC_DR) are taken from the shadow registers, which are updated once every two RTCCLK cycles 0 BypassShadowReg Calendar values (when reading from RTC_SSR, RTC_TR, and RTC_DR) are taken directly from the calendar counters 1 FMT Hour format 6 1 read-write FMT Twenty_Four_Hour 24 hour/day format 0 AM_PM AM/PM hour format 1 2 0x1 A,B ALR%sE Alarm %s enable 8 1 read-write ALRAE Disabled Alarm disabled 0 Enabled Alarm enabled 1 WUTE Wakeup timer enable 10 1 read-write WUTE Disabled Wakeup timer disabled 0 Enabled Wakeup timer enabled 1 TSE timestamp enable 11 1 read-write TSE Disabled Timestamp disabled 0 Enabled Timestamp enabled 1 2 0x1 A,B ALR%sIE Alarm %s interrupt enable 12 1 read-write ALRAIE Disabled Alarm Interrupt disabled 0 Enabled Alarm Interrupt enabled 1 WUTIE Wakeup timer interrupt enable 14 1 read-write WUTIE Disabled Wakeup timer interrupt disabled 0 Enabled Wakeup timer interrupt enabled 1 TSIE Time-stamp interrupt enable 15 1 read-write TSIE Disabled Time-stamp Interrupt disabled 0 Enabled Time-stamp Interrupt enabled 1 ADD1H 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. 16 1 write-only ADD1HW Add1 Adds 1 hour to the current time. This can be used for summer time change outside initialization mode 1 SUB1H 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. 17 1 write-only SUB1HW Sub1 Subtracts 1 hour to the current time. This can be used for winter time change outside initialization mode 1 BKP Backup This bit can be written by the user to memorize whether the daylight saving time change has been performed or not. 18 1 read-write BKP DST_Not_Changed Daylight Saving Time change has not been performed 0 DST_Changed Daylight Saving Time change has been performed 1 COSEL Calibration output selection When COE=1, this bit selects which signal is output on RTC_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 Section24.3.15: Calibration clock output 19 1 read-write COSEL CalFreq_512Hz Calibration output is 512 Hz (with default prescaler setting) 0 CalFreq_1Hz Calibration output is 1 Hz (with default prescaler setting) 1 POL Output polarity This bit is used to configure the polarity of RTC_ALARM output 20 1 read-write POL High The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) 0 Low The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) 1 OSEL Output selection These bits are used to select the flag to be routed to RTC_ALARM output 21 2 read-write OSEL Disabled Output disabled 0 AlarmA Alarm A output enabled 1 AlarmB Alarm B output enabled 2 Wakeup Wakeup output enabled 3 COE Calibration output enable This bit enables the RTC_CALIB output 23 1 read-write COE Disabled Calibration output disabled 0 Enabled Calibration output enabled 1 ITSE timestamp on internal event enable 24 1 read-write ITSE Disabled Internal event timestamp is disabled 0 Enabled Internal event timestamp is enabled 1 ISR ISR This register is write protected (except for RTC_ISR[13:8] bits). The write access procedure is described in RTC register write protection on page9. 0xC 0x20 0x00000007 2 0x1 A,B ALR%sWF Alarm %s write flag 0 1 read-only ALRAWFR UpdateNotAllowed Alarm update not allowed 0 UpdateAllowed Alarm update allowed 1 WUTWF Wakeup timer write flag This bit is set by hardware up to 2 RTCCLK cycles after the WUTE bit has been set to 0 in RTC_CR, and is cleared up to 2 RTCCLK cycles after the WUTE bit has been set to 1. The wakeup timer values can be changed when WUTE bit is cleared and WUTWF is set. 2 1 read-only WUTWFR UpdateNotAllowed Wakeup timer configuration update not allowed 0 UpdateAllowed Wakeup timer configuration update allowed 1 SHPF 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. 3 1 read-only SHPFR NoShiftPending No shift operation is pending 0 ShiftPending A shift operation is pending 1 INITS Initialization status flag This bit is set by hardware when the calendar year field is different from 0 (Backup domain reset state). 4 1 read-only INITSR NotInitalized Calendar has not been initialized 0 Initalized Calendar has been initialized 1 RSF Registers synchronization flag This bit is set by hardware each time the calendar registers are copied into the shadow registers (RTC_SSRx, RTC_TRx and RTC_DRx). 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. 5 1 read-write zeroToClear RSFR read NotSynced Calendar shadow registers not yet synchronized 0 Synced Calendar shadow registers synchronized 1 RSFW write Clear This flag is cleared by software by writing 0 0 INITF 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. 6 1 read-only INITFR NotAllowed Calendar registers update is not allowed 0 Allowed Calendar registers update is allowed 1 INIT Initialization mode 7 1 read-write INIT FreeRunningMode Free running mode 0 InitMode Initialization mode used to program time and date register (RTC_TR and RTC_DR), and prescaler register (RTC_PRER). Counters are stopped and start counting from the new value when INIT is reset. 1 2 0x1 A,B ALR%sF Alarm %s flag 8 1 read-write zeroToClear ALRAFR read Match This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the Alarm register (RTC_ALRMxR) 1 ALRAFW write Clear This flag is cleared by software by writing 0 0 WUTF Wakeup timer flag This flag is set by hardware when the wakeup auto-reload counter reaches 0. This flag is cleared by software by writing 0. This flag must be cleared by software at least 1.5 RTCCLK periods before WUTF is set to 1 again. 10 1 read-write zeroToClear WUTFR read Zero This flag is set by hardware when the wakeup auto-reload counter reaches 0 1 WUTFW write Clear This flag is cleared by software by writing 0 0 TSF Time-stamp flag This flag is set by hardware when a time-stamp event occurs. This flag is cleared by software by writing 0. 11 1 read-write zeroToClear TSFR read TimestampEvent This flag is set by hardware when a time-stamp event occurs 1 TSFW write Clear This flag is cleared by software by writing 0 0 TSOVF Time-stamp overflow flag This flag is set by hardware when a time-stamp event occurs while TSF is already set. This flag is cleared by software by writing 0. It is recommended to check and then clear TSOVF only after clearing the TSF bit. Otherwise, an overflow might not be noticed if a time-stamp event occurs immediately before the TSF bit is cleared. 12 1 read-write zeroToClear TSOVFR read Overflow This flag is set by hardware when a time-stamp event occurs while TSF is already set 1 TSOVFW write Clear This flag is cleared by software by writing 0 0 TAMP1F RTC_TAMP1 detection flag This flag is set by hardware when a tamper detection event is detected on the RTC_TAMP1 input. It is cleared by software writing 0 13 1 read-write zeroToClear TAMP1FR read Tampered This flag is set by hardware when a tamper detection event is detected on the RTC_TAMPx input 1 TAMP1FW write Clear Flag cleared by software writing 0 0 TAMP2F RTC_TAMP2 detection flag This flag is set by hardware when a tamper detection event is detected on the RTC_TAMP2 input. It is cleared by software writing 0 14 1 read-write zeroToClear read write TAMP3F RTC_TAMP3 detection flag This flag is set by hardware when a tamper detection event is detected on the RTC_TAMP3 input. It is cleared by software writing 0 15 1 read-write zeroToClear read write RECALPF 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. 16 1 read-only RECALPFR Pending 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 1 ITSF Internal tTime-stamp flag 17 1 read-write zeroToClear ITSFR read Match This flag is set by hardware when a time-stamp on the internal event occurs 1 ITSFW write Clear This flag is cleared by software by writing 0, and must be cleared together with TSF bit by writing 0 in both bits 0 PRER PRER This register must be written in initialization mode only. The initialization must be performed in two separate write accesses. Refer to Calendar initialization and configuration on page9.This register is write protected. The write access procedure is described in RTC register write protection on page9. 0x10 0x20 read-write 0x007F00FF PREDIV_S Synchronous prescaler factor This is the synchronous division factor: ck_spre frequency = ck_apre frequency/(PREDIV_S+1) 0 15 0 32767 PREDIV_A Asynchronous prescaler factor This is the asynchronous division factor: ck_apre frequency = RTCCLK frequency/(PREDIV_A+1) 16 7 0 127 WUTR WUTR This register can be written only when WUTWF is set to 1 in RTC_ISR.This register is write protected. The write access procedure is described in RTC register write protection on page9. 0x14 0x20 read-write 0x0000FFFF WUT 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 (WUT+1) ck_wut cycles after WUTE is set. Setting WUT[15:0] to 0x0000 with WUCKSEL[2:0] =011 (RTCCLK/2) is forbidden. 0 16 0 65535 2 0x4 A,B ALRM%sR ALRM%sR Alarm %s register 0x1C 0x20 read-write 0x00000000 SU Second units in BCD format 0 4 0 15 ST Second tens in BCD format 4 3 0 7 MSK1 Alarm seconds mask 7 1 MSK1 Mask Alarm set if the date/day match 0 NotMask Date/day donât care in Alarm comparison 1 MNU Minute units in BCD format 8 4 0 15 MNT Minute tens in BCD format 12 3 0 7 MSK2 Alarm minutes mask 15 1 HU Hour units in BCD format 16 4 0 15 HT Hour tens in BCD format 20 2 0 3 PM AM/PM notation 22 1 PM AM AM or 24-hour format 0 PM PM 1 MSK3 Alarm hours mask 23 1 DU Date units or day in BCD format 24 4 0 15 DT Date tens in BCD format 28 2 0 3 WDSEL Week day selection 30 1 WDSEL DateUnits DU[3:0] represents the date units 0 WeekDay DU[3:0] represents the week day. DT[1:0] is donât care. 1 MSK4 Alarm date mask 31 1 WPR WPR RTC write protection register 0x24 0x20 write-only 0x00000000 KEY 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. 0 8 0 255 SSR SSR RTC sub second register 0x28 0x20 read-only 0x00000000 SS Sub second value 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) Note: 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. 0 16 0 65535 SHIFTR SHIFTR This register is write protected. The write access procedure is described in RTC register write protection on page9. 0x2C 0x20 write-only 0x00000000 SUBFS 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_ISR). 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))). 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. 0 15 0 32767 ADD1S 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_ISR). 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. 31 1 ADD1SW Add1 Add one second to the clock/calendar 1 TSTR TSTR The content of this register is valid only when TSF is set to 1 in RTC_ISR. It is cleared when TSF bit is reset. 0x30 TSDR TSDR The content of this register is valid only when TSF is set to 1 in RTC_ISR. It is cleared when TSF bit is reset. 0x34 TSSSR TSSSR The content of this register is valid only when RTC_ISR/TSF is set. It is cleared when the RTC_ISR/TSF bit is reset. 0x38 CALR CALR This register is write protected. The write access procedure is described in RTC register write protection on page9. 0x3C 0x20 read-write 0x00000000 CALM Calibration minus The frequency of the calendar is reduced by masking CALM out of 220 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 Section24.3.12: RTC smooth digital calibration on page13. 0 9 0 511 CALW16 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 Section24.3.12: RTC smooth digital calibration. 13 1 CALW16 Sixteen_Second 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 1 CALW8 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 Section24.3.12: RTC smooth digital calibration. 14 1 CALW8 Eight_Second When CALW8 is set to â1â, the 8-second calibration cycle period is selected 1 CALP 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 Section24.3.12: RTC smooth digital calibration. 15 1 CALP NoChange No RTCCLK pulses are added 0 IncreaseFreq One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) 1 TAMPCR TAMPCR RTC tamper and alternate function configuration register 0x40 0x20 read-write 0x00000000 TAMP1E RTC_TAMP1 input detection enable 0 1 TAMP1TRG Active level for RTC_TAMP1 input If TAMPFLT != 00 if TAMPFLT = 00: 1 1 TAMPIE Tamper interrupt enable 2 1 TAMP2E RTC_TAMP2 input detection enable 3 1 TAMP2TRG Active level for RTC_TAMP2 input if TAMPFLT != 00: if TAMPFLT = 00: 4 1 TAMP3E RTC_TAMP3 detection enable 5 1 TAMP3TRG Active level for RTC_TAMP3 input if TAMPFLT != 00: if TAMPFLT = 00: 6 1 TAMPTS Activate timestamp on tamper detection event TAMPTS is valid even if TSE=0 in the RTC_CR register. 7 1 TAMPFREQ Tamper sampling frequency Determines the frequency at which each of the RTC_TAMPx inputs are sampled. 8 3 TAMPFLT RTC_TAMPx 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 RTC_TAMPx inputs. 11 2 TAMPPRCH RTC_TAMPx 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 RTC_TAMPx inputs. 13 2 TAMPPUDIS RTC_TAMPx pull-up disable This bit determines if each of the RTC_TAMPx pins are pre-charged before each sample. 15 1 TAMP1IE Tamper 1 interrupt enable 16 1 TAMP1NOERASE Tamper 1 no erase 17 1 TAMP1MF Tamper 1 mask flag 18 1 TAMP2IE Tamper 2 interrupt enable 19 1 TAMP2NOERASE Tamper 2 no erase 20 1 TAMP2MF Tamper 2 mask flag 21 1 TAMP3IE Tamper 3 interrupt enable 22 1 TAMP3NOERASE Tamper 3 no erase 23 1 TAMP3MF Tamper 3 mask flag 24 1 2 0x4 A,B ALRM%sSSR ALRM%sSSR Alarm %s sub-second register 0x44 0x20 read-write 0x00000000 SS Sub seconds 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. 0 15 0 32767 MASKSS Mask the most-significant bits starting at this bit ... The overflow bits of the synchronous counter (bits 15) is never compared. This bit can be different from 0 only after a shift operation. 24 4 0 15 32 0x4 0-31 BKP%sR BKP%sR RTC backup registers 0x50 0x20 read-write 0x00000000 BKP The application can write or read data to and from these registers. They are powered-on by VBAT when VDD is switched off, so that they are not reset by System reset, and their contents remain valid when the device operates in low-power mode. This register is reset on a tamper detection event, as long as TAMPxF=1. or when the Flash readout protection is disabled. 0 32 0 4294967295 OR OR RTC option register 0x4C 0x20 read-write 0x00000000 RTC_ALARM_TYPE RTC_ALARM output type on PC13 0 1 RTC_OUT_RMP RTC_OUT remap 1 1 SAI1 SAI SAI 0x40015800 0x0 0x400 registers SAI1 SAI1 global interrupt 87 GCR GCR Global configuration register 0x0 0x20 read-write 0x00000000 SYNCOUT Synchronization outputs These bits are set and cleared by software. 4 2 SYNCIN Synchronization inputs 0 2 2 0x20 A,B CH%s Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR 0x4 CR1 ACR1 Configuration register 1 0x0 0x20 read-write 0x00000040 MODE SAIx audio block mode immediately 0 2 MODE MasterTx Master transmitter 0 MasterRx Master receiver 1 SlaveTx Slave transmitter 2 SlaveRx Slave receiver 3 PRTCFG Protocol configuration. These bits are set and cleared by software. These bits have to be configured when the audio block is disabled. 2 2 PRTCFG Free Free protocol. Free protocol allows to use the powerful configuration of the audio block to address a specific audio protocol 0 Spdif SPDIF protocol 1 Ac97 ACâ97 protocol 2 DS Data size. These bits are set and cleared by software. These bits are ignored when the SPDIF protocols are selected (bit PRTCFG[1:0]), because the frame and the data size are fixed in such case. When the companding mode is selected through COMP[1:0] bits, DS[1:0] are ignored since the data size is fixed to 8 bits by the algorithm. These bits must be configured when the audio block is disabled. 5 3 DS Bit8 8 bits 2 Bit10 10 bits 3 Bit16 16 bits 4 Bit20 20 bits 5 Bit24 24 bits 6 Bit32 32 bits 7 LSBFIRST Least significant bit first. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in AC97 audio protocol since AC97 data are always transferred with the MSB first. This bit has no meaning in SPDIF audio protocol since in SPDIF data are always transferred with LSB first. 8 1 LSBFIRST MsbFirst Data are transferred with MSB first 0 LsbFirst Data are transferred with LSB first 1 CKSTR Clock strobing edge. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in SPDIF audio protocol. 9 1 CKSTR FallingEdge Data strobing edge is falling edge of SCK 0 RisingEdge Data strobing edge is rising edge of SCK 1 SYNCEN Synchronization enable. These bits are set and cleared by software. They must be configured when the audio sub-block is disabled. Note: The audio sub-block should be configured as asynchronous when SPDIF mode is enabled. 10 2 SYNCEN Asynchronous audio sub-block in asynchronous mode 0 Internal audio sub-block is synchronous with the other internal audio sub-block. In this case, the audio sub-block must be configured in slave mode 1 External audio sub-block is synchronous with an external SAI embedded peripheral. In this case the audio sub-block should be configured in Slave mode 2 MONO Mono mode. This bit is set and cleared by software. It is meaningful only when the number of slots is equal to 2. When the mono mode is selected, slot 0 data are duplicated on slot 1 when the audio block operates as a transmitter. In reception mode, the slot1 is discarded and only the data received from slot 0 are stored. Refer to Section: Mono/stereo mode for more details. 12 1 MONO Stereo Stereo mode 0 Mono Mono mode 1 OUTDRIV Output drive. This bit is set and cleared by software. Note: This bit has to be set before enabling the audio block and after the audio block configuration. 13 1 OUTDRIV OnStart Audio block output driven when SAIEN is set 0 Immediately Audio block output driven immediately after the setting of this bit 1 SAIEN Audio block enable where x is A or B. This bit is set by software. To switch off the audio block, the application software must program this bit to 0 and poll the bit till it reads back 0, meaning that the block is completely disabled. Before setting this bit to 1, check that it is set to 0, otherwise the enable command will not be taken into account. This bit allows to control the state of SAIx audio block. If it is disabled when an audio frame transfer is ongoing, the ongoing transfer completes and the cell is fully disabled at the end of this audio frame transfer. Note: When SAIx block is configured in master mode, the clock must be present on the input of SAIx before setting SAIXEN bit. 16 1 SAIEN Disabled SAI audio block disabled 0 Enabled SAI audio block enabled 1 DMAEN DMA enable. This bit is set and cleared by software. Note: Since the audio block defaults to operate as a transmitter after reset, the MODE[1:0] bits must be configured before setting DMAEN to avoid a DMA request in receiver mode. 17 1 DMAEN Disabled DMA disabled 0 Enabled DMA enabled 1 MCKDIV Master clock divider. These bits are set and cleared by software. These bits are meaningless when the audio block operates in slave mode. They have to be configured when the audio block is disabled. Others: the master clock frequency is calculated accordingly to the following formula: 20 6 OSR Oversampling ratio for master clock 26 1 NODIV No fixed divider between MCLK and FS 19 1 NODIV MasterClock MCLK output is enabled. Forces the ratio between FS and MCLK to 256 or 512 according to the OSR value 0 NoDiv MCLK output enable set by the MCKEN bit (where present, else 0). Ratio between FS and MCLK depends on FRL. 1 MCKEN Master clock generation enable 27 1 CR2 ACR2 Configuration register 2 0x4 0x20 0x00000000 FTH FIFO threshold. This bit is set and cleared by software. 0 3 read-write FTH Empty FIFO empty 0 Quarter1 1â4 FIFO 1 Quarter2 1â2 FIFO 2 Quarter3 3â4 FIFO 3 Full FIFO full 4 FFLUSH FIFO flush. This bit is set by software. It is always read as 0. This bit should be configured when the SAI is disabled. 3 1 write-only FFLUSH NoFlush No FIFO flush 0 Flush FIFO flush. Programming this bit to 1 triggers the FIFO Flush. All the internal FIFO pointers (read and write) are cleared 1 TRIS Tristate management on data line. This bit is set and cleared by software. It is meaningful only if the audio block is configured as a transmitter. This bit is not used when the audio block is configured in SPDIF mode. It should be configured when SAI is disabled. Refer to Section: Output data line management on an inactive slot for more details. 4 1 read-write MUTE Mute. This bit is set and cleared by software. It is meaningful only when the audio block operates as a transmitter. The MUTE value is linked to value of MUTEVAL if the number of slots is lower or equal to 2, or equal to 0 if it is greater than 2. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. 5 1 read-write MUTE Disabled No mute mode 0 Enabled Mute mode enabled 1 MUTEVAL Mute value. This bit is set and cleared by software.It must be written before enabling the audio block: SAIXEN. This bit is meaningful only when the audio block operates as a transmitter, the number of slots is lower or equal to 2 and the MUTE bit is set. If more slots are declared, the bit value sent during the transmission in mute mode is equal to 0, whatever the value of MUTEVAL. if the number of slot is lower or equal to 2 and MUTEVAL = 1, the MUTE value transmitted for each slot is the one sent during the previous frame. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. 6 1 read-write MUTEVAL SendZero Bit value 0 is sent during the mute mode 0 SendLast Last values are sent during the mute mode 1 MUTECNT Mute counter. These bits are set and cleared by software. They are used only in reception mode. The value set in these bits is compared to the number of consecutive mute frames detected in reception. When the number of mute frames is equal to this value, the flag MUTEDET will be set and an interrupt will be generated if bit MUTEDETIE is set. Refer to Section: Mute mode for more details. 7 6 read-write CPL Complement bit. This bit is set and cleared by software. It defines the type of complement to be used for companding mode Note: This bit has effect only when the companding mode is -Law algorithm or A-Law algorithm. 13 1 read-write CPL OnesComplement 1âs complement representation 0 TwosComplement 2âs complement representation 1 COMP Companding mode. These bits are set and cleared by software. The -Law and the A-Law log are a part of the CCITT G.711 recommendation, the type of complement that will be used depends on CPL bit. The data expansion or data compression are determined by the state of bit MODE[0]. The data compression is applied if the audio block is configured as a transmitter. The data expansion is automatically applied when the audio block is configured as a receiver. Refer to Section: Companding mode for more details. Note: Companding mode is applicable only when TDM is selected. 14 2 read-write COMP NoCompanding No companding algorithm 0 MuLaw μ-Law algorithm 2 ALaw A-Law algorithm 3 FRCR AFRCR This register has no meaning in AC97 and SPDIF audio protocol 0x8 0x20 0x00000007 FRL Frame length. These bits are set and cleared by software. They define the audio frame length expressed in number of SCK clock cycles: the number of bits in the frame is equal to FRL[7:0] + 1. The minimum number of bits to transfer in an audio frame must be equal to 8, otherwise the audio block will behaves in an unexpected way. This is the case when the data size is 8 bits and only one slot 0 is defined in NBSLOT[4:0] of SAI_xSLOTR register (NBSLOT[3:0] = 0000). In master mode, if the master clock (available on MCLK_x pin) is used, the frame length should be aligned with a number equal to a power of 2, ranging from 8 to 256. When the master clock is not used (NODIV = 1), it is recommended to program the frame length to an value ranging from 8 to 256. These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. 0 8 read-write FSALL Frame synchronization active level length. These bits are set and cleared by software. They specify the length in number of bit clock (SCK) + 1 (FSALL[6:0] + 1) of the active level of the FS signal in the audio frame These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. They must be configured when the audio block is disabled. 8 7 read-write FSDEF Frame synchronization definition. This bit is set and cleared by software. When the bit is set, the number of slots defined in the SAI_xSLOTR register has to be even. It means that half of this number of slots will be dedicated to the left channel and the other slots for the right channel (e.g: this bit has to be set for I2S or MSB/LSB-justified protocols...). This bit is meaningless and is not used in AC97 or SPDIF audio block configuration. It must be configured when the audio block is disabled. 16 1 read-write FSPOL Frame synchronization polarity. This bit is set and cleared by software. It is used to configure the level of the start of frame on the FS signal. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. 17 1 read-write FSPOL FallingEdge FS is active low (falling edge) 0 RisingEdge FS is active high (rising edge) 1 FSOFF Frame synchronization offset. This bit is set and cleared by software. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. 18 1 read-write FSOFF OnFirst FS is asserted on the first bit of the slot 0 0 BeforeFirst FS is asserted one bit before the first bit of the slot 0 1 SLOTR ASLOTR This register has no meaning in AC97 and SPDIF audio protocol 0xC 0x20 read-write 0x00000000 FBOFF First bit offset These bits are set and cleared by software. The value set in this bitfield defines the position of the first data transfer bit in the slot. It represents an offset value. In transmission mode, the bits outside the data field are forced to 0. In reception mode, the extra received bits are discarded. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. 0 5 SLOTSZ Slot size This bits is set and cleared by software. The slot size must be higher or equal to the data size. If this condition is not respected, the behavior of the SAI will be undetermined. Refer to Section: Output data line management on an inactive slot for information on how to drive SD line. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. 6 2 SLOTSZ DataSize The slot size is equivalent to the data size (specified in DS[3:0] in the SAI_xCR1 register) 0 Bit16 16-bit 1 Bit32 32-bit 2 NBSLOT Number of slots in an audio frame. These bits are set and cleared by software. The value set in this bitfield represents the number of slots + 1 in the audio frame (including the number of inactive slots). The maximum number of slots is 16. The number of slots should be even if FSDEF bit in the SAI_xFRCR register is set. The number of slots must be configured when the audio block is disabled. They are ignored in AC97 or SPDIF mode. 8 4 SLOTEN Slot enable. These bits are set and cleared by software. Each SLOTEN bit corresponds to a slot position from 0 to 15 (maximum 16 slots). The slot must be enabled when the audio block is disabled. They are ignored in AC97 or SPDIF mode. 16 16 SLOTEN Inactive Inactive slot 0 Active Active slot 1 IM AIM Interrupt mask register 2 0x10 0x20 read-write 0x00000000 OVRUDRIE Overrun/underrun interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the OVRUDR bit in the SAI_xSR register is set. 0 1 OVRUDRIE Disabled Interrupt is disabled 0 Enabled Interrupt is enabled 1 MUTEDETIE Mute detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the MUTEDET bit in the SAI_xSR register is set. This bit has a meaning only if the audio block is configured in receiver mode. 1 1 MUTEDETIE Disabled Interrupt is disabled 0 Enabled Interrupt is enabled 1 WCKCFGIE Wrong clock configuration interrupt enable. This bit is set and cleared by software. This bit is taken into account only if the audio block is configured as a master (MODE[1] = 0) and NODIV = 0. It generates an interrupt if the WCKCFG flag in the SAI_xSR register is set. Note: This bit is used only in TDM mode and is meaningless in other modes. 2 1 WCKCFGIE Disabled Interrupt is disabled 0 Enabled Interrupt is enabled 1 FREQIE FIFO request interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the FREQ bit in the SAI_xSR register is set. Since the audio block defaults to operate as a transmitter after reset, the MODE bit must be configured before setting FREQIE to avoid a parasitic interruption in receiver mode, 3 1 FREQIE Disabled Interrupt is disabled 0 Enabled Interrupt is enabled 1 CNRDYIE Codec not ready interrupt enable (AC97). This bit is set and cleared by software. When the interrupt is enabled, the audio block detects in the slot 0 (tag0) of the AC97 frame if the Codec connected to this line is ready or not. If it is not ready, the CNRDY flag in the SAI_xSR register is set and an interruption i generated. This bit has a meaning only if the AC97 mode is selected through PRTCFG[1:0] bits and the audio block is operates as a receiver. 4 1 CNRDYIE Disabled Interrupt is disabled 0 Enabled Interrupt is enabled 1 AFSDETIE Anticipated frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the AFSDET bit in the SAI_xSR register is set. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. 5 1 AFSDETIE Disabled Interrupt is disabled 0 Enabled Interrupt is enabled 1 LFSDETIE Late frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the LFSDET bit is set in the SAI_xSR register. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. 6 1 LFSDETIE Disabled Interrupt is disabled 0 Enabled Interrupt is enabled 1 SR ASR Status register 0x14 0x20 read-only 0x00000008 OVRUDR Overrun / underrun. This bit is read only. The overrun and underrun conditions can occur only when the audio block is configured as a receiver and a transmitter, respectively. It can generate an interrupt if OVRUDRIE bit is set in SAI_xIM register. This flag is cleared when the software sets COVRUDR bit in SAI_xCLRFR register. 0 1 OVRUDRR NoError No overrun/underrun error 0 Overrun Overrun/underrun error detection 1 MUTEDET Mute detection. This bit is read only. This flag is set if consecutive 0 values are received in each slot of a given audio frame and for a consecutive number of audio frames (set in the MUTECNT bit in the SAI_xCR2 register). It can generate an interrupt if MUTEDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets bit CMUTEDET in the SAI_xCLRFR register. 1 1 MUTEDETR NoMute No MUTE detection on the SD input line 0 Mute MUTE value detected on the SD input line (0 value) for a specified number of consecutive audio frame 1 WCKCFG Wrong clock configuration flag. This bit is read only. This bit is used only when the audio block operates in master mode (MODE[1] = 0) and NODIV = 0. It can generate an interrupt if WCKCFGIE bit is set in SAI_xIM register. This flag is cleared when the software sets CWCKCFG bit in SAI_xCLRFR register. 2 1 WCKCFGR Correct Clock configuration is correct 0 Wrong Clock configuration does not respect the rule concerning the frame length specification 1 FREQ FIFO request. This bit is read only. The request depends on the audio block configuration: If the block is configured in transmission mode, the FIFO request is related to a write request operation in the SAI_xDR. If the block configured in reception, the FIFO request related to a read request operation from the SAI_xDR. This flag can generate an interrupt if FREQIE bit is set in SAI_xIM register. 3 1 FREQR NoRequest No FIFO request 0 Request FIFO request to read or to write the SAI_xDR 1 CNRDY Codec not ready. This bit is read only. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register and configured in receiver mode. It can generate an interrupt if CNRDYIE bit is set in SAI_xIM register. This flag is cleared when the software sets CCNRDY bit in SAI_xCLRFR register. 4 1 CNRDYR Ready External ACâ97 Codec is ready 0 NotReady External ACâ97 Codec is not ready 1 AFSDET Anticipated frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97or SPDIF mode. It can generate an interrupt if AFSDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets CAFSDET bit in SAI_xCLRFR register. 5 1 AFSDETR NoError No error 0 EarlySync Frame synchronization signal is detected earlier than expected 1 LFSDET Late frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97 or SPDIF mode. It can generate an interrupt if LFSDETIE bit is set in the SAI_xIM register. This flag is cleared when the software sets bit CLFSDET in SAI_xCLRFR register 6 1 LFSDETR NoError No error 0 NoSync Frame synchronization signal is not present at the right time 1 FLVL FIFO level threshold. This bit is read only. The FIFO level threshold flag is managed only by hardware and its setting depends on SAI block configuration (transmitter or receiver mode). If the SAI block is configured as transmitter: If SAI block is configured as receiver: 16 3 FLVLR Empty FIFO empty 0 Quarter1 FIFO <= 1â4 but not empty 1 Quarter2 1â4 < FIFO <= 1â2 2 Quarter3 1â2 < FIFO <= 3â4 3 Quarter4 3â4 < FIFO but not full 4 Full FIFO full 5 CLRFR ACLRFR Clear flag register 0x18 0x20 write-only 0x00000000 COVRUDR Clear overrun / underrun. This bit is write only. Programming this bit to 1 clears the OVRUDR flag in the SAI_xSR register. Reading this bit always returns the value 0. 0 1 COVRUDRW Clear Clears the OVRUDR flag 1 CMUTEDET Mute detection flag. This bit is write only. Programming this bit to 1 clears the MUTEDET flag in the SAI_xSR register. Reading this bit always returns the value 0. 1 1 CMUTEDETW Clear Clears the MUTEDET flag 1 CWCKCFG Clear wrong clock configuration flag. This bit is write only. Programming this bit to 1 clears the WCKCFG flag in the SAI_xSR register. This bit is used only when the audio block is set as master (MODE[1] = 0) and NODIV = 0 in the SAI_xCR1 register. Reading this bit always returns the value 0. 2 1 CWCKCFGW Clear Clears the WCKCFG flag 1 CCNRDY Clear Codec not ready flag. This bit is write only. Programming this bit to 1 clears the CNRDY flag in the SAI_xSR register. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register. Reading this bit always returns the value 0. 4 1 CCNRDYW Clear Clears the CNRDY flag 1 CAFSDET Clear anticipated frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the AFSDET flag in the SAI_xSR register. It is not used in AC97or SPDIF mode. Reading this bit always returns the value 0. 5 1 CAFSDETW Clear Clears the AFSDET flag 1 CLFSDET Clear late frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the LFSDET flag in the SAI_xSR register. This bit is not used in AC97or SPDIF mode Reading this bit always returns the value 0. 6 1 CLFSDETW Clear Clears the LFSDET flag 1 DR ADR Data register 0x1C 0x20 read-write 0x00000000 DATA Data A write to this register loads the FIFO provided the FIFO is not full. A read from this register empties the FIFO if the FIFO is not empty. 0 32 PDMCR PDMCR PDM control register 0x44 0x20 read-write 0x00000000 PDMEN PDM enable 0 1 MICNBR Number of microphones 4 2 4 0x1 1-4 CKEN%s Clock enable of bitstream clock number %s 8 1 PDMDLY PDMDLY PDM delay register 0x48 0x20 read-write 0x00000000 4 0x8 1-4 DLYM%sL Delay line adjust for first microphone of pair %s 0 3 4 0x8 1-4 DLYM%sR Delay line adjust for second microphone of pair %s 4 3 SAI4 0x58005400 SAI4 SAI4 global interrupt 146 SDMMC1 SDMMC1 SDMMC 0x52007000 0x0 0x1000 registers SDMMC1 SDMMC1 global interrupt 49 POWER POWER SDMMC power control register 0x0 0x20 read-write 0x00000000 PWRCTRL SDMMC state control bits. These bits can only be written when the SDMMC is not in the power-on state (PWRCTRL?11). These bits are used to define the functional state of the SDMMC signals: Any further write will be ignored, PWRCTRL value will keep 11. 0 2 VSWITCH Voltage switch sequence start. This bit is used to start the timing critical section of the voltage switch sequence: 2 1 VSWITCHEN Voltage switch procedure enable. This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). This bit is used to stop the SDMMC_CK after the voltage switch command response: 3 1 DIRPOL Data and command direction signals polarity selection. This bit can only be written when the SDMMC is in the power-off state (PWRCTRL = 00). 4 1 CLKCR CLKCR The SDMMC_CLKCR register controls the SDMMC_CK output clock, the SDMMC_RX_CLK receive clock, and the bus width. 0x4 0x20 read-write 0x00000000 CLKDIV Clock divide factor This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0). This field defines the divide factor between the input clock (SDMMCCLK) and the output clock (SDMMC_CK): SDMMC_CK frequency = SDMMCCLK / [2 * CLKDIV]. 0xx: etc.. xxx: etc.. 0 10 PWRSAV Power saving configuration bit This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0) For power saving, the SDMMC_CK clock output can be disabled when the bus is idle by setting PWRSAV: 12 1 WIDBUS Wide bus mode enable bit This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0) 14 2 NEGEDGE SDMMC_CK dephasing selection bit for data and Command. This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0). When clock division = 1 (CLKDIV = 0), this bit has no effect. Data and Command change on SDMMC_CK falling edge. When clock division >1 (CLKDIV > 0) & DDR = 0: - SDMMC_CK edge occurs on SDMMCCLK rising edge. When clock division >1 (CLKDIV > 0) & DDR = 1: - Data changed on the SDMMCCLK falling edge succeeding a SDMMC_CK edge. - SDMMC_CK edge occurs on SDMMCCLK rising edge. - Data changed on the SDMMC_CK falling edge succeeding a SDMMC_CK edge. - SDMMC_CK edge occurs on SDMMCCLK rising edge. 16 1 HWFC_EN Hardware flow control enable This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0) When Hardware flow control is enabled, the meaning of the TXFIFOE and RXFIFOF flags change, please see SDMMC status register definition in Section56.8.11. 17 1 DDR Data rate signaling selection This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0) DDR rate shall only be selected with 4-bit or 8-bit wide bus mode. (WIDBUS > 00). DDR = 1 has no effect when WIDBUS = 00 (1-bit wide bus). DDR rate shall only be selected with clock division >1. (CLKDIV > 0) 18 1 BUSSPEED Bus speed mode selection between DS, HS, SDR12, SDR25 and SDR50, DDR50, SDR104. This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0) 19 1 SELCLKRX Receive clock selection. These bits can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0) 20 2 ARGR ARGR The SDMMC_ARGR register contains a 32-bit command argument, which is sent to a card as part of a command message. 0x8 0x20 read-write 0x00000000 CMDARG Command argument. These bits can only be written by firmware when CPSM is disabled (CPSMEN = 0). Command argument sent to a card as part of a command message. If a command contains an argument, it must be loaded into this register before writing a command to the command register. 0 32 CMDR CMDR The SDMMC_CMDR register contains the command index and command type bits. The command index is sent to a card as part of a command message. The command type bits control the command path state machine (CPSM). 0xC 0x20 read-write 0x00000000 CMDINDEX Command index. This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). The command index is sent to the card as part of a command message. 0 6 CMDTRANS The CPSM treats the command as a data transfer command, stops the interrupt period, and signals DataEnable to the DPSM This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). If this bit is set, the CPSM issues an end of interrupt period and issues DataEnable signal to the DPSM when the command is sent. 6 1 CMDSTOP The CPSM treats the command as a Stop Transmission command and signals Abort to the DPSM. This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). If this bit is set, the CPSM issues the Abort signal to the DPSM when the command is sent. 7 1 WAITRESP Wait for response bits. This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). They are used to configure whether the CPSM is to wait for a response, and if yes, which kind of response. 8 2 WAITINT CPSM waits for interrupt request. If this bit is set, the CPSM disables command timeout and waits for an card interrupt request (Response). If this bit is cleared in the CPSM Wait state, will cause the abort of the interrupt mode. 10 1 WAITPEND CPSM Waits for end of data transfer (CmdPend internal signal) from DPSM. This bit when set, the CPSM waits for the end of data transfer trigger before it starts sending a command. WAITPEND is only taken into account when DTMODE = MMC stream data transfer, WIDBUS = 1-bit wide bus mode, DPSMACT = 1 and DTDIR = from host to card. 11 1 CPSMEN Command path state machine (CPSM) Enable bit This bit is written 1 by firmware, and cleared by hardware when the CPSM enters the Idle state. If this bit is set, the CPSM is enabled. When DTEN = 1, no command will be transfered nor boot procedure will be started. CPSMEN is cleared to 0. 12 1 DTHOLD Hold new data block transmission and reception in the DPSM. If this bit is set, the DPSM will not move from the Wait_S state to the Send state or from the Wait_R state to the Receive state. 13 1 BOOTMODE Select the boot mode procedure to be used. This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0) 14 1 BOOTEN Enable boot mode procedure. 15 1 CMDSUSPEND The CPSM treats the command as a Suspend or Resume command and signals interrupt period start/end. This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). CMDSUSPEND = 1 and CMDTRANS = 0 Suspend command, start interrupt period when response bit BS=0. CMDSUSPEND = 1 and CMDTRANS = 1 Resume command with data, end interrupt period when response bit DF=1. 16 1 4 0x4 1-4 RESP%sR RESP%sR SDMMC response %s register 0x14 0x20 read-only 0x00000000 CARDSTATUS Status of a card, which is part of the received response 0 32 DTIMER DTIMER The SDMMC_DTIMER register contains the data timeout period, in card bus clock periods. A counter loads the value from the SDMMC_DTIMER register, and starts decrementing when the data path state machine (DPSM) enters the Wait_R or Busy state. If the timer reaches 0 while the DPSM is in either of these states, the timeout status flag is set. 0x24 0x20 read-write 0x00000000 DATATIME Data and R1b busy timeout period This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0). Data and R1b busy timeout period expressed in card bus clock periods. 0 32 DLENR DLENR The SDMMC_DLENR register contains the number of data bytes to be transferred. The value is loaded into the data counter when data transfer starts. 0x28 0x20 read-write 0x00000000 DATALENGTH Data length value This register can only be written by firmware when DPSM is inactive (DPSMACT = 0). Number of data bytes to be transferred. When DDR = 1 DATALENGTH is truncated to a multiple of 2. (The last odd byte is not transfered) When DATALENGTH = 0 no data will be transfered, when requested by a CPSMEN and CMDTRANS = 1 also no command will be transfered. DTEN and CPSMEN are cleared to 0. 0 25 DCTRL DCTRL The SDMMC_DCTRL register control the data path state machine (DPSM). 0x2C 0x20 read-write 0x00000000 DTEN Data transfer enable bit This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). This bit is cleared by Hardware when data transfer completes. This bit shall only be used to transfer data when no associated data transfer command is used, i.e. shall not be used with SD or eMMC cards. 0 1 DTDIR Data transfer direction selection This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). 1 1 DTMODE Data transfer mode selection. This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). 2 2 DBLOCKSIZE Data block size This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). Define the data block length when the block data transfer mode is selected: When DATALENGTH is not a multiple of DBLOCKSIZE, the transfered data is truncated at a multiple of DBLOCKSIZE. (Any remain data will not be transfered.) When DDR = 1, DBLOCKSIZE = 0000 shall not be used. (No data will be transfered) 4 4 RWSTART Read wait start. If this bit is set, read wait operation starts. 8 1 RWSTOP Read wait stop This bit is written by firmware and auto cleared by hardware when the DPSM moves from the READ_WAIT state to the WAIT_R or IDLE state. 9 1 RWMOD Read wait mode. This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). 10 1 SDIOEN SD I/O interrupt enable functions This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). If this bit is set, the DPSM enables the SD I/O card specific interrupt operation. 11 1 BOOTACKEN Enable the reception of the boot acknowledgment. This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). 12 1 FIFORST FIFO reset, will flush any remaining data. This bit can only be written by firmware when IDMAEN= 0 and DPSM is active (DPSMACT = 1). This bit will only take effect when a transfer error or transfer hold occurs. 13 1 DCNTR DCNTR The SDMMC_DCNTR register loads the value from the data length register (see SDMMC_DLENR) when the DPSM moves from the Idle state to the Wait_R or Wait_S state. As data is transferred, the counter decrements the value until it reaches 0. The DPSM then moves to the Idle state and when there has been no error, the data status end flag (DATAEND) is set. 0x30 0x20 read-only 0x00000000 DATACOUNT Data count value When read, the number of remaining data bytes to be transferred is returned. Write has no effect. 0 25 STAR STAR The SDMMC_STAR register is a read-only register. It contains two types of flag:Static flags (bits [29,21,11:0]): these bits remain asserted until they are cleared by writing to the SDMMC interrupt Clear register (see SDMMC_ICR)Dynamic flags (bits [20:12]): these bits change state depending on the state of the underlying logic (for example, FIFO full and empty flags are asserted and de-asserted as data while written to the FIFO) 0x34 0x20 read-only 0x00000000 CCRCFAIL Command response received (CRC check failed). Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 0 1 DCRCFAIL Data block sent/received (CRC check failed). Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 1 1 CTIMEOUT Command response timeout. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. The Command Timeout period has a fixed value of 64 SDMMC_CK clock periods. 2 1 DTIMEOUT Data timeout. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 3 1 TXUNDERR Transmit FIFO underrun error or IDMA read transfer error. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 4 1 RXOVERR Received FIFO overrun error or IDMA write transfer error. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 5 1 CMDREND Command response received (CRC check passed, or no CRC). Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 6 1 CMDSENT Command sent (no response required). Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 7 1 DATAEND Data transfer ended correctly. (data counter, DATACOUNT is zero and no errors occur). Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 8 1 DHOLD Data transfer Hold. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 9 1 DBCKEND Data block sent/received. (CRC check passed) and DPSM moves to the READWAIT state. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 10 1 DABORT Data transfer aborted by CMD12. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 11 1 DPSMACT Data path state machine active, i.e. not in Idle state. This is a hardware status flag only, does not generate an interrupt. 12 1 CPSMACT Command path state machine active, i.e. not in Idle state. This is a hardware status flag only, does not generate an interrupt. 13 1 TXFIFOHE Transmit FIFO half empty At least half the number of words can be written into the FIFO. This bit is cleared when the FIFO becomes half+1 full. 14 1 RXFIFOHF Receive FIFO half full There are at least half the number of words in the FIFO. This bit is cleared when the FIFO becomes half+1 empty. 15 1 TXFIFOF Transmit FIFO full This is a hardware status flag only, does not generate an interrupt. This bit is cleared when one FIFO location becomes empty. 16 1 RXFIFOF Receive FIFO full This bit is cleared when one FIFO location becomes empty. 17 1 TXFIFOE Transmit FIFO empty This bit is cleared when one FIFO location becomes full. 18 1 RXFIFOE Receive FIFO empty This is a hardware status flag only, does not generate an interrupt. This bit is cleared when one FIFO location becomes full. 19 1 BUSYD0 Inverted value of SDMMC_D0 line (Busy), sampled at the end of a CMD response and a second time 2 SDMMC_CK cycles after the CMD response. This bit is reset to not busy when the SDMMCD0 line changes from busy to not busy. This bit does not signal busy due to data transfer. This is a hardware status flag only, it does not generate an interrupt. 20 1 BUSYD0END end of SDMMC_D0 Busy following a CMD response detected. This indicates only end of busy following a CMD response. This bit does not signal busy due to data transfer. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 21 1 SDIOIT SDIO interrupt received. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 22 1 ACKFAIL Boot acknowledgment received (boot acknowledgment check fail). Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 23 1 ACKTIMEOUT Boot acknowledgment timeout. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 24 1 VSWEND Voltage switch critical timing section completion. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 25 1 CKSTOP SDMMC_CK stopped in Voltage switch procedure. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 26 1 IDMATE IDMA transfer error. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 27 1 IDMABTC IDMA buffer transfer complete. interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. 28 1 ICR ICR The SDMMC_ICR register is a write-only register. Writing a bit with 1 clears the corresponding bit in the SDMMC_STAR status register. 0x38 0x20 read-write 0x00000000 CCRCFAILC CCRCFAIL flag clear bit Set by software to clear the CCRCFAIL flag. 0 1 DCRCFAILC DCRCFAIL flag clear bit Set by software to clear the DCRCFAIL flag. 1 1 CTIMEOUTC CTIMEOUT flag clear bit Set by software to clear the CTIMEOUT flag. 2 1 DTIMEOUTC DTIMEOUT flag clear bit Set by software to clear the DTIMEOUT flag. 3 1 TXUNDERRC TXUNDERR flag clear bit Set by software to clear TXUNDERR flag. 4 1 RXOVERRC RXOVERR flag clear bit Set by software to clear the RXOVERR flag. 5 1 CMDRENDC CMDREND flag clear bit Set by software to clear the CMDREND flag. 6 1 CMDSENTC CMDSENT flag clear bit Set by software to clear the CMDSENT flag. 7 1 DATAENDC DATAEND flag clear bit Set by software to clear the DATAEND flag. 8 1 DHOLDC DHOLD flag clear bit Set by software to clear the DHOLD flag. 9 1 DBCKENDC DBCKEND flag clear bit Set by software to clear the DBCKEND flag. 10 1 DABORTC DABORT flag clear bit Set by software to clear the DABORT flag. 11 1 BUSYD0ENDC BUSYD0END flag clear bit Set by software to clear the BUSYD0END flag. 21 1 SDIOITC SDIOIT flag clear bit Set by software to clear the SDIOIT flag. 22 1 ACKFAILC ACKFAIL flag clear bit Set by software to clear the ACKFAIL flag. 23 1 ACKTIMEOUTC ACKTIMEOUT flag clear bit Set by software to clear the ACKTIMEOUT flag. 24 1 VSWENDC VSWEND flag clear bit Set by software to clear the VSWEND flag. 25 1 CKSTOPC CKSTOP flag clear bit Set by software to clear the CKSTOP flag. 26 1 IDMATEC IDMA transfer error clear bit Set by software to clear the IDMATE flag. 27 1 IDMABTCC IDMA buffer transfer complete clear bit Set by software to clear the IDMABTC flag. 28 1 MASKR MASKR The interrupt mask register determines which status flags generate an interrupt request by setting the corresponding bit to 1. 0x3C 0x20 read-write 0x00000000 CCRCFAILIE Command CRC fail interrupt enable Set and cleared by software to enable/disable interrupt caused by command CRC failure. 0 1 DCRCFAILIE Data CRC fail interrupt enable Set and cleared by software to enable/disable interrupt caused by data CRC failure. 1 1 CTIMEOUTIE Command timeout interrupt enable Set and cleared by software to enable/disable interrupt caused by command timeout. 2 1 DTIMEOUTIE Data timeout interrupt enable Set and cleared by software to enable/disable interrupt caused by data timeout. 3 1 TXUNDERRIE Tx FIFO underrun error interrupt enable Set and cleared by software to enable/disable interrupt caused by Tx FIFO underrun error. 4 1 RXOVERRIE Rx FIFO overrun error interrupt enable Set and cleared by software to enable/disable interrupt caused by Rx FIFO overrun error. 5 1 CMDRENDIE Command response received interrupt enable Set and cleared by software to enable/disable interrupt caused by receiving command response. 6 1 CMDSENTIE Command sent interrupt enable Set and cleared by software to enable/disable interrupt caused by sending command. 7 1 DATAENDIE Data end interrupt enable Set and cleared by software to enable/disable interrupt caused by data end. 8 1 DHOLDIE Data hold interrupt enable Set and cleared by software to enable/disable the interrupt generated when sending new data is hold in the DPSM Wait_S state. 9 1 DBCKENDIE Data block end interrupt enable Set and cleared by software to enable/disable interrupt caused by data block end. 10 1 DABORTIE Data transfer aborted interrupt enable Set and cleared by software to enable/disable interrupt caused by a data transfer being aborted. 11 1 TXFIFOHEIE Tx FIFO half empty interrupt enable Set and cleared by software to enable/disable interrupt caused by Tx FIFO half empty. 14 1 RXFIFOHFIE Rx FIFO half full interrupt enable Set and cleared by software to enable/disable interrupt caused by Rx FIFO half full. 15 1 RXFIFOFIE Rx FIFO full interrupt enable Set and cleared by software to enable/disable interrupt caused by Rx FIFO full. 17 1 TXFIFOEIE Tx FIFO empty interrupt enable Set and cleared by software to enable/disable interrupt caused by Tx FIFO empty. 18 1 BUSYD0ENDIE BUSYD0END interrupt enable Set and cleared by software to enable/disable the interrupt generated when SDMMC_D0 signal changes from busy to NOT busy following a CMD response. 21 1 SDIOITIE SDIO mode interrupt received interrupt enable Set and cleared by software to enable/disable the interrupt generated when receiving the SDIO mode interrupt. 22 1 ACKFAILIE Acknowledgment Fail interrupt enable Set and cleared by software to enable/disable interrupt caused by acknowledgment Fail. 23 1 ACKTIMEOUTIE Acknowledgment timeout interrupt enable Set and cleared by software to enable/disable interrupt caused by acknowledgment timeout. 24 1 VSWENDIE Voltage switch critical timing section completion interrupt enable Set and cleared by software to enable/disable the interrupt generated when voltage switch critical timing section completion. 25 1 CKSTOPIE Voltage Switch clock stopped interrupt enable Set and cleared by software to enable/disable interrupt caused by Voltage Switch clock stopped. 26 1 IDMABTCIE IDMA buffer transfer complete interrupt enable Set and cleared by software to enable/disable the interrupt generated when the IDMA has transferred all data belonging to a memory buffer. 28 1 ACKTIMER ACKTIMER The SDMMC_ACKTIMER register contains the acknowledgment timeout period, in SDMMC_CK bus clock periods. A counter loads the value from the SDMMC_ACKTIMER register, and starts decrementing when the data path state machine (DPSM) enters the Wait_Ack state. If the timer reaches 0 while the DPSM is in this states, the acknowledgment timeout status flag is set. 0x40 0x20 read-write 0x00000000 ACKTIME Boot acknowledgment timeout period This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). Boot acknowledgment timeout period expressed in card bus clock periods. 0 25 IDMACTRLR IDMACTRLR The receive and transmit FIFOs can be read or written as 32-bit wide registers. The FIFOs contain 32 entries on 32 sequential addresses. This allows the CPU to use its load and store multiple operands to read from/write to the FIFO. 0x50 0x20 read-write 0x00000000 IDMAEN IDMA enable This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). 0 1 IDMABMODE Buffer mode selection. This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). 1 1 IDMABACT Double buffer mode active buffer indication This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). When IDMA is enabled this bit is toggled by hardware. 2 1 IDMABSIZER IDMABSIZER The SDMMC_IDMABSIZER register contains the buffers size when in double buffer configuration. 0x54 0x20 read-write 0x00000000 IDMABNDT Number of transfers per buffer. This 8-bit value shall be multiplied by 8 to get the size of the buffer in 32-bit words and by 32 to get the size of the buffer in bytes. Example: IDMABNDT = 0x01: buffer size = 8 words = 32 bytes. These bits can only be written by firmware when DPSM is inactive (DPSMACT = 0). 5 8 IDMABASE0R IDMABASE0R The SDMMC_IDMABASE0R register contains the memory buffer base address in single buffer configuration and the buffer 0 base address in double buffer configuration. 0x58 0x20 read-write 0x00000000 IDMABASE0 Buffer 0 memory base address bits [31:2], shall be word aligned (bit [1:0] are always 0 and read only). This register can be written by firmware when DPSM is inactive (DPSMACT = 0), and can dynamically be written by firmware when DPSM active (DPSMACT = 1) and memory buffer 0 is inactive (IDMABACT = 1). 0 32 IDMABASE1R IDMABASE1R The SDMMC_IDMABASE1R register contains the double buffer configuration second buffer memory base address. 0x5C 0x20 read-write 0x00000000 IDMABASE1 Buffer 1 memory base address, shall be word aligned (bit [1:0] are always 0 and read only). This register can be written by firmware when DPSM is inactive (DPSMACT = 0), and can dynamically be written by firmware when DPSM active (DPSMACT = 1) and memory buffer 1 is inactive (IDMABACT = 0). 0 32 FIFOR FIFOR The receive and transmit FIFOs can be only read or written as word (32-bit) wide registers. The FIFOs contain 16 entries on sequential addresses. This allows the CPU to use its load and store multiple operands to read from/write to the FIFO.When accessing SDMMC_FIFOR with half word or byte access an AHB bus fault is generated. 0x80 0x20 read-write 0x00000000 FIFODATA Receive and transmit FIFO data This register can only be read or written by firmware when the DPSM is active (DPSMACT=1). The FIFO data occupies 16 entries of 32-bit words. 0 32 RESPCMDR RESPCMDR SDMMC command response register 0x10 0x20 read-only 0xA3C5DD01 RESPCMD Response command index 0 6 SDMMC2 0x48022400 SDMMC2 SDMMC2 global interrupt 124 SPDIFRX Receiver Interface SPDIFRX 0x40004000 0x0 0x400 registers SPDIF SPDIFRX global interrupt 97 CR CR Control register 0x0 0x20 read-write 0x00000000 SPDIFRXEN Peripheral Block Enable 0 2 RXDMAEN Receiver DMA ENable for data flow 2 1 RXSTEO STerEO Mode 3 1 DRFMT RX Data format 4 2 PMSK Mask Parity error bit 6 1 VMSK Mask of Validity bit 7 1 CUMSK Mask of channel status and user bits 8 1 PTMSK Mask of Preamble Type bits 9 1 CBDMAEN Control Buffer DMA ENable for control flow 10 1 CHSEL Channel Selection 11 1 NBTR Maximum allowed re-tries during synchronization phase 12 2 WFA Wait For Activity 14 1 INSEL input selection 16 3 CKSEN Symbol Clock Enable 20 1 CKSBKPEN Backup Symbol Clock Enable 21 1 IMR IMR Interrupt mask register 0x4 0x20 read-write 0x00000000 RXNEIE RXNE interrupt enable 0 1 CSRNEIE Control Buffer Ready Interrupt Enable 1 1 PERRIE Parity error interrupt enable 2 1 OVRIE Overrun error Interrupt Enable 3 1 SBLKIE Synchronization Block Detected Interrupt Enable 4 1 SYNCDIE Synchronization Done 5 1 IFEIE Serial Interface Error Interrupt Enable 6 1 SR SR Status register 0x8 0x20 read-only 0x00000000 RXNE Read data register not empty 0 1 CSRNE Control Buffer register is not empty 1 1 PERR Parity error 2 1 OVR Overrun error 3 1 SBD Synchronization Block Detected 4 1 SYNCD Synchronization Done 5 1 FERR Framing error 6 1 SERR Synchronization error 7 1 TERR Time-out error 8 1 WIDTH5 Duration of 5 symbols counted with SPDIF_CLK 16 15 IFCR IFCR Interrupt Flag Clear register 0xC 0x20 write-only 0x00000000 PERRCF Clears the Parity error flag 2 1 OVRCF Clears the Overrun error flag 3 1 SBDCF Clears the Synchronization Block Detected flag 4 1 SYNCDCF Clears the Synchronization Done flag 5 1 FMT0_DR FMT0_DR Data input register 0x10 0x20 read-only 0x00000000 DR Parity Error bit 0 24 PE Parity Error bit 24 1 V Validity bit 25 1 U User bit 26 1 C Channel Status bit 27 1 PT Preamble Type 28 2 CSR CSR Channel Status register 0x14 0x20 read-only 0x00000000 USR User data information 0 16 CS Channel A status information 16 8 SOB Start Of Block 24 1 DIR DIR Debug Information register 0x18 0x20 read-only 0x00000000 THI Threshold HIGH 0 13 TLO Threshold LOW 16 13 SPI1 Serial peripheral interface SPI 0x40013000 0x0 0x400 registers SPI1 SPI1 global interrupt 35 CR1 CR1 control register 1 0x0 0x20 0x00000000 IOLOCK Locking the AF configuration of associated IOs 16 1 read-only IOLOCK Unlocked IO configuration unlocked 0 Locked IO configuration locked 1 TCRCINI CRC calculation initialization pattern control for transmitter 15 1 read-write TCRCINI AllZeros All zeros TX CRC initialization pattern 0 AllOnes All ones TX CRC initialization pattern 1 RCRCINI CRC calculation initialization pattern control for receiver 14 1 read-write RCRCINI AllZeros All zeros RX CRC initialization pattern 0 AllOnes All ones RX CRC initialization pattern 1 CRC33_17 32-bit CRC polynomial configuration 13 1 read-write CRC33_17 Disabled Full size (33/17 bit) CRC polynomial is not used 0 Enabled Full size (33/17 bit) CRC polynomial is used 1 SSI Internal SS signal input level 12 1 read-write SSI SlaveSelected 0 is forced onto the SS signal and the I/O value of the SS pin is ignored 0 SlaveNotSelected 1 is forced onto the SS signal and the I/O value of the SS pin is ignored 1 HDDIR Rx/Tx direction at Half-duplex mode 11 1 read-write HDDIR Receiver Receiver in half duplex mode 0 Transmitter Transmitter in half duplex mode 1 CSUSP Master SUSPend request 10 1 write-only CSUSPW NotRequested Do not request master suspend 0 Requested Request master suspend 1 CSTART Master transfer start 9 1 read-write CSTART NotStarted Do not start master transfer 0 Started Start master transfer 1 MASRX Master automatic SUSP in Receive mode 8 1 read-write MASRX Disabled Automatic suspend in master receive-only mode disabled 0 Enabled Automatic suspend in master receive-only mode enabled 1 SPE Serial Peripheral Enable 0 1 read-write SPE Disabled Peripheral disabled 0 Enabled Peripheral enabled 1 CR2 CR2 control register 2 0x4 0x20 0x00000000 TSER Number of data transfer extension to be reload into TSIZE just when a previous 16 16 read-only 0 65535 TSIZE Number of data at current transfer 0 16 read-write 0 65535 CFG1 CFG1 configuration register 1 0x8 0x20 read-write 0x00070007 MBR Master baud rate 28 3 MBR Div2 f_spi_ker_ck / 2 0 Div4 f_spi_ker_ck / 4 1 Div8 f_spi_ker_ck / 8 2 Div16 f_spi_ker_ck / 16 3 Div32 f_spi_ker_ck / 32 4 Div64 f_spi_ker_ck / 64 5 Div128 f_spi_ker_ck / 128 6 Div256 f_spi_ker_ck / 256 7 CRCEN Hardware CRC computation enable 22 1 CRCEN Disabled CRC calculation disabled 0 Enabled CRC calculation enabled 1 CRCSIZE Length of CRC frame to be transacted and compared 16 5 0 31 TXDMAEN Tx DMA stream enable 15 1 TXDMAEN Disabled Tx buffer DMA disabled 0 Enabled Tx buffer DMA enabled 1 RXDMAEN Rx DMA stream enable 14 1 RXDMAEN Disabled Rx buffer DMA disabled 0 Enabled Rx buffer DMA enabled 1 UDRDET Detection of underrun condition at slave transmitter 11 2 UDRDET StartOfFrame Underrun is detected at begin of data frame 0 EndOfFrame Underrun is detected at end of last data frame 1 StartOfSlaveSelect Underrun is detected at begin of active SS signal 2 UDRCFG Behavior of slave transmitter at underrun condition 9 2 UDRCFG Constant Slave sends a constant underrun pattern 0 RepeatReceived Slave repeats last received data frame from master 1 RepeatTransmitted Slave repeats last transmitted data frame 2 FTHLV threshold level 5 4 FTHLV OneFrame 1 frame 0 TwoFrames 2 frames 1 ThreeFrames 3 frames 2 FourFrames 4 frames 3 FiveFrames 5 frames 4 SixFrames 6 frames 5 SevenFrames 7 frames 6 EightFrames 8 frames 7 NineFrames 9 frames 8 TenFrames 10 frames 9 ElevenFrames 11 frames 10 TwelveFrames 12 frames 11 ThirteenFrames 13 frames 12 FourteenFrames 14 frames 13 FifteenFrames 15 frames 14 SixteenFrames 16 frames 15 DSIZE Number of bits in at single SPI data frame 0 5 0 31 CFG2 CFG2 configuration register 2 0xC 0x20 read-write 0x00000000 AFCNTR Alternate function GPIOs control 31 1 AFCNTR NotControlled Peripheral takes no control of GPIOs while disabled 0 Controlled Peripheral controls GPIOs while disabled 1 SSOM SS output management in master mode 30 1 SSOM Asserted SS is asserted until data transfer complete 0 NotAsserted Data frames interleaved with SS not asserted during MIDI 1 SSOE SS output enable 29 1 SSOE Disabled SS output is disabled in master mode 0 Enabled SS output is enabled in master mode 1 SSIOP SS input/output polarity 28 1 SSIOP ActiveLow Low level is active for SS signal 0 ActiveHigh High level is active for SS signal 1 SSM Software management of SS signal input 26 1 SSM Disabled Software slave management disabled 0 Enabled Software slave management enabled 1 CPOL Clock polarity 25 1 CPOL IdleLow CK to 0 when idle 0 IdleHigh CK to 1 when idle 1 CPHA Clock phase 24 1 CPHA FirstEdge The first clock transition is the first data capture edge 0 SecondEdge The second clock transition is the first data capture edge 1 LSBFRST Data frame format 23 1 LSBFRST MSBFirst Data is transmitted/received with the MSB first 0 LSBFirst Data is transmitted/received with the LSB first 1 MASTER SPI Master 22 1 MASTER Slave Slave configuration 0 Master Master configuration 1 SP Serial Protocol 19 3 SP Motorola Motorola SPI protocol 0 TI TI SPI protocol 1 COMM SPI Communication Mode 17 2 COMM FullDuplex Full duplex 0 Transmitter Simplex transmitter only 1 Receiver Simplex receiver only 2 HalfDuplex Half duplex 3 IOSWP Swap functionality of MISO and MOSI pins 15 1 IOSWP Disabled MISO and MOSI not swapped 0 Enabled MISO and MOSI swapped 1 MIDI Master Inter-Data Idleness 4 4 0 15 MSSI Master SS Idleness 0 4 0 15 IER IER Interrupt Enable Register 0x10 0x20 0x00000000 RXPIE RXP Interrupt Enable 0 1 read-write RXPIE Disabled Interrupt disabled 0 Enabled Interrupt enabled 1 TSERFIE Additional number of transactions reload interrupt enable 10 1 read-write MODFIE Mode Fault interrupt enable 9 1 read-write TIFREIE TIFRE interrupt enable 8 1 read-write CRCEIE CRC Interrupt enable 7 1 read-write OVRIE OVR interrupt enable 6 1 read-write UDRIE UDR interrupt enable 5 1 read-write TXTFIE TXTFIE interrupt enable 4 1 read-write EOTIE EOT, SUSP and TXC interrupt enable 3 1 read-write DXPIE DXP interrupt enabled 2 1 read-write TXPIE TXP interrupt enable 1 1 read-write SR SR Status Register 0x14 0x20 read-only 0x00001002 CTSIZE Number of data frames remaining in current TSIZE session 16 16 0 65535 RXWNE RxFIFO Word Not Empty 15 1 RXWNE LessThan32 Less than 32-bit data frame received 0 AtLeast32 At least 32-bit data frame received 1 RXPLVL RxFIFO Packing LeVeL 13 2 RXPLVL ZeroFrames Zero frames beyond packing ratio available 0 OneFrame One frame beyond packing ratio available 1 TwoFrames Two frame beyond packing ratio available 2 ThreeFrames Three frame beyond packing ratio available 3 TXC TxFIFO transmission complete 12 1 TXC Ongoing Transmission ongoing 0 Completed Transmission completed 1 SUSP SUSPend 11 1 SUSP NotSuspended Master not suspended 0 Suspended Master suspended 1 TSERF Additional number of SPI data to be transacted was reload 10 1 TSERF NotLoaded Additional number of SPI data to be transacted not yet loaded 0 Loaded Additional number of SPI data to be transacted was reloaded 1 MODF Mode Fault 9 1 MODF NoFault No mode fault detected 0 Fault Mode fault detected 1 TIFRE TI frame format error 8 1 TIFRE NoError TI frame format error detected 0 Error TI frame format error detected 1 CRCE CRC Error 7 1 CRCE NoError No CRC error detected 0 Error CRC error detected 1 OVR Overrun 6 1 OVR NoOverrun No overrun occurred 0 Overrun Overrun occurred 1 UDR Underrun at slave transmission mode 5 1 UDR NoUnderrun No underrun occurred 0 Underrun Underrun occurred 1 TXTF Transmission Transfer Filled 4 1 TXTF NotCompleted Transmission buffer incomplete 0 Completed Transmission buffer filled with at least one transfer 1 EOT End Of Transfer 3 1 EOT NotCompleted Transfer ongoing or not started 0 Completed Transfer complete 1 DXP Duplex Packet 2 1 DXP Unavailable Duplex packet unavailable: no space for transmission and/or no data received 0 Available Duplex packet available: space for transmission and data received 1 TXP Tx-Packet space available 1 1 TXP Full Tx buffer full 0 NotFull Tx buffer not full 1 RXP Rx-Packet available 0 1 RXP Empty Rx buffer empty 0 NotEmpty Rx buffer not empty 1 IFCR IFCR Interrupt/Status Flags Clear Register 0x18 0x20 write-only 0x00000000 EOTC End Of Transfer flag clear 3 1 oneToClear EOTCW Clear Clear interrupt flag 1 SUSPC SUSPend flag clear 11 1 oneToClear TSERFC TSERFC flag clear 10 1 oneToClear MODFC Mode Fault flag clear 9 1 oneToClear TIFREC TI frame format error flag clear 8 1 oneToClear CRCEC CRC Error flag clear 7 1 oneToClear OVRC Overrun flag clear 6 1 oneToClear UDRC Underrun flag clear 5 1 oneToClear TXTFC Transmission Transfer Filled flag clear 4 1 oneToClear TXDR TXDR Transmit Data Register 0x20 0x20 write-only 0x00000000 TXDR Transmit data register 0 32 0 4294967295 TXDR16 Direct 16-bit access to transmit data register TXDR 0x20 0x10 write-only TXDR Transmit data register 0 16 0 65535 TXDR8 Direct 8-bit access to transmit data register TXDR 0x20 0x8 write-only TXDR Transmit data register 0 8 0 255 RXDR RXDR Receive Data Register 0x30 0x20 read-only 0x00000000 RXDR Receive data register 0 32 RXDR16 Direct 16-bit access to receive data register RXDR 0x30 0x10 read-only RXDR Receive data register 0 16 RXDR8 Direct 8-bit access to receive data register RXDR 0x30 0x8 read-only RXDR Receive data register 0 8 CRCPOLY CRCPOLY Polynomial Register 0x40 0x20 read-write 0x00000107 CRCPOLY CRC polynomial register 0 32 0 4294967295 TXCRC TXCRC Transmitter CRC Register 0x44 0x20 read-only 0x00000000 TXCRC CRC register for transmitter 0 32 0 4294967295 RXCRC RXCRC Receiver CRC Register 0x48 0x20 read-only 0x00000000 RXCRC CRC register for receiver 0 32 0 4294967295 UDRDR UDRDR Underrun Data Register 0x4C 0x20 read-write 0x00000000 UDRDR Data at slave underrun condition 0 32 0 4294967295 I2SCFGR I2SCFGR configuration register 0x50 0x20 read-write 0x00000000 MCKOE Master clock output enable 25 1 MCKOE Disabled Master clock output disabled 0 Enabled Master clock output enabled 1 ODD Odd factor for the prescaler 24 1 ODD Even Real divider value is I2SDIV*2 0 Odd Real divider value is I2SDIV*2 + 1 1 I2SDIV I2S linear prescaler 16 8 DATFMT Data format 14 1 DATFMT RightAligned The data inside RXDR and TXDR are right aligned 0 LeftAligned The data inside RXDR and TXDR are left aligned 1 WSINV Fixed channel length in SLAVE 13 1 WSINV Disabled Word select inversion disabled 0 Enabled Word select inversion enabled 1 FIXCH Word select inversion 12 1 FIXCH NotFixed The channel length in slave mode is different from 16 or 32 bits (CHLEN not taken into account) 0 Fixed The channel length in slave mode is supposed to be 16 or 32 bits (according to CHLEN) 1 CKPOL Serial audio clock polarity 11 1 CKPOL SampleOnRising Signals are sampled on rising and changed on falling clock edges 0 SampleOnFalling Signals are sampled on falling and changed on rising clock edges 1 CHLEN Channel length (number of bits per audio channel) 10 1 CHLEN Bits16 16 bit per channel 0 Bits32 32 bit per channel 1 DATLEN Data length to be transferred 8 2 DATLEN Bits16 16 bit data length 0 Bits24 24 bit data length 1 Bits32 32 bit data length 2 PCMSYNC PCM frame synchronization 7 1 PCMSYNC Short Short PCM frame synchronization 0 Long Long PCM frame synchronization 1 I2SSTD I2S standard selection 4 2 I2SSTD Philips I2S Philips standard 0 LeftAligned MSB/left justified standard 1 RightAligned LSB/right justified standard 2 PCM PCM standard 3 I2SCFG I2S configuration mode 1 3 I2SCFG SlaveTransmit Slave, transmit 0 SlaveReceive Slave, recteive 1 MasterTransmit Master, transmit 2 MasterReceive Master, receive 3 SlaveFullDuplex Slave, full duplex 4 MasterFullDuplex Master, full duplex 5 I2SMOD I2S mode selection 0 1 I2SMOD SPI SPI mode selected 0 I2S I2S/PCM mode selected 1 SPI2 0x40003800 SPI2 SPI2 global interrupt 36 SPI3 0x40003C00 SPI3 SPI3 global interrupt 51 SPI4 0x40013400 SPI4 SPI4 global interrupt 84 SPI5 0x40015000 SPI5 SPI5 global interrupt 85 SPI6 0x58001400 SPI6 SPI6 global interrupt 86 SWPMI Single Wire Protocol Master Interface SWPMI 0x40008800 0x0 0x400 registers SWPMI1 SWPMI global interrupt 115 CR CR SWPMI Configuration/Control register 0x0 0x20 read-write 0x00000000 RXDMA Reception DMA enable 0 1 TXDMA Transmission DMA enable 1 1 RXMODE Reception buffering mode 2 1 TXMODE Transmission buffering mode 3 1 LPBK Loopback mode enable 4 1 SWPACT Single wire protocol master interface activate 5 1 DEACT Single wire protocol master interface deactivate 10 1 SWPTEN Single wire protocol master transceiver enable 11 1 BRR BRR SWPMI Bitrate register 0x4 0x20 read-write 0x00000001 BR Bitrate prescaler 0 8 ISR ISR SWPMI Interrupt and Status register 0xC 0x20 read-only 0x000002C2 RXBFF Receive buffer full flag 0 1 TXBEF Transmit buffer empty flag 1 1 RXBERF Receive CRC error flag 2 1 RXOVRF Receive overrun error flag 3 1 TXUNRF Transmit underrun error flag 4 1 RXNE Receive data register not empty 5 1 TXE Transmit data register empty 6 1 TCF Transfer complete flag 7 1 SRF Slave resume flag 8 1 SUSP SUSPEND flag 9 1 DEACTF DEACTIVATED flag 10 1 RDYF transceiver ready flag 11 1 ICR ICR SWPMI Interrupt Flag Clear register 0x10 0x20 write-only 0x00000000 CRXBFF Clear receive buffer full flag 0 1 CTXBEF Clear transmit buffer empty flag 1 1 CRXBERF Clear receive CRC error flag 2 1 CRXOVRF Clear receive overrun error flag 3 1 CTXUNRF Clear transmit underrun error flag 4 1 CTCF Clear transfer complete flag 7 1 CSRF Clear slave resume flag 8 1 CRDYF Clear transceiver ready flag 11 1 IER IER SWPMI Interrupt Enable register 0x14 0x20 read-write 0x00000000 RXBFIE Receive buffer full interrupt enable 0 1 TXBEIE Transmit buffer empty interrupt enable 1 1 RXBERIE Receive CRC error interrupt enable 2 1 RXOVRIE Receive overrun error interrupt enable 3 1 TXUNRIE Transmit underrun error interrupt enable 4 1 RIE Receive interrupt enable 5 1 TIE Transmit interrupt enable 6 1 TCIE Transmit complete interrupt enable 7 1 SRIE Slave resume interrupt enable 8 1 RDYIE Transceiver ready interrupt enable 11 1 RFL RFL SWPMI Receive Frame Length register 0x18 0x20 read-only 0x00000000 RFL Receive frame length 0 5 TDR TDR SWPMI Transmit data register 0x1C 0x20 write-only 0x00000000 TD Transmit data 0 32 RDR RDR SWPMI Receive data register 0x20 0x20 read-only 0x00000000 RD received data 0 32 OR OR SWPMI Option register 0x24 0x20 read-write 0x00000000 SWP_TBYP SWP transceiver bypass 0 1 SWP_CLASS SWP class selection 1 1 SYSCFG System configuration controller SYSCFG 0x58000400 0x0 0x400 registers PMCR PMCR peripheral mode configuration register 0x4 0x20 read-write 0x00000000 I2C1FMP I2C1 Fm+ 0 1 I2C2FMP I2C2 Fm+ 1 1 I2C3FMP I2C3 Fm+ 2 1 I2C4FMP I2C4 Fm+ 3 1 PB6FMP PB(6) Fm+ 4 1 PB7FMP PB(7) Fast Mode Plus 5 1 PB8FMP PB(8) Fast Mode Plus 6 1 PB9FMP PB(9) Fm+ 7 1 BOOSTE Booster Enable 8 1 EPIS Ethernet PHY Interface Selection 21 3 PA0SO PA0 Switch Open 24 1 PA1SO PA1 Switch Open 25 1 PC2SO PC2 Switch Open 26 1 PC3SO PC3 Switch Open 27 1 BOOSTVDDSEL Analog switch supply voltage selection 9 1 I2C5FMP I2C5 Fm+ 10 1 EXTICR1 EXTICR1 external interrupt configuration register 1 0x8 0x20 read-write 0x00000000 EXTI3 EXTI x configuration (x = 0 to 3) 12 4 EXTI2 EXTI x configuration (x = 0 to 3) 8 4 EXTI1 EXTI x configuration (x = 0 to 3) 4 4 EXTI0 EXTI x configuration (x = 0 to 3) 0 4 EXTICR2 EXTICR2 external interrupt configuration register 2 0xC 0x20 read-write 0x00000000 EXTI7 EXTI x configuration (x = 4 to 7) 12 4 EXTI6 EXTI x configuration (x = 4 to 7) 8 4 EXTI5 EXTI x configuration (x = 4 to 7) 4 4 EXTI4 EXTI x configuration (x = 4 to 7) 0 4 EXTICR3 EXTICR3 external interrupt configuration register 3 0x10 0x20 read-write 0x00000000 EXTI11 EXTI x configuration (x = 8 to 11) 12 4 EXTI10 EXTI10 8 4 EXTI9 EXTI x configuration (x = 8 to 11) 4 4 EXTI8 EXTI x configuration (x = 8 to 11) 0 4 EXTICR4 EXTICR4 external interrupt configuration register 4 0x14 0x20 read-write 0x00000000 EXTI15 EXTI x configuration (x = 12 to 15) 12 4 EXTI14 EXTI x configuration (x = 12 to 15) 8 4 EXTI13 EXTI x configuration (x = 12 to 15) 4 4 EXTI12 EXTI x configuration (x = 12 to 15) 0 4 CFGR Timer break lockup register 0x18 0x00000000 PVDL Programmable voltage detector lockup bit 2 1 FLASHL FLASH double error lockup bit 3 1 CM7L CPU lockup bit 6 1 BKRAML Backup RAM Double error lockup bit 7 1 SRAM4L SRAM4 Double error lockup bit 9 1 SRAM2L SRAM2 Double error lockup bit 11 1 SRAM1L SRAM1 Double error lockup bit 12 1 DTCML DTCM-RAM Double error lockup bit 13 1 ITCML ITCM-RAM Double error lockup bit 14 1 AXIRAML AXISRAM Double error lockup bit 15 1 CCCSR CCCSR compensation cell control/status register 0x20 0x20 read-write 0x00000000 EN enable 0 1 CS Code selection 1 1 READY Compensation cell ready flag 8 1 HSLV High-speed at low-voltage 16 1 CCVR CCVR SYSCFG compensation cell value register 0x24 0x20 read-only 0x00000000 NCV NMOS compensation value 0 4 PCV PMOS compensation value 4 4 CCCR CCCR SYSCFG compensation cell code register 0x28 0x20 read-write 0x00000000 NCC NMOS compensation code 0 4 PCC PMOS compensation code 4 4 ADC2ALT ADC2 internal input alternate connection 0x30 0x00000000 ADC2_ROUT1 ADC2 V_INP17 alternate connection 1 1 ADC2_ROUT0 ADC2 V_INP16 alternate connection 0 1 PKGR PKGR SYSCFG package register 0x124 0x20 read-only 0x00000000 PKG Package 0 4 UR0 UR0 SYSCFG user register 0 0x300 0x20 read-only 0x00000000 RDP Readout protection 16 8 UR2 UR2 SYSCFG user register 2 0x308 0x20 read-write 0x00000000 BORH BOR_LVL Brownout Reset Threshold Level 0 2 BOOT_ADD0 Boot Address 0 16 16 UR3 UR3 SYSCFG user register 3 0x30C 0x20 read-write 0x00000000 BOOT_ADD1 Boot Address 1 16 16 UR4 UR4 SYSCFG user register 4 0x310 0x20 read-only 0x00000000 MEPAD_1 Mass Erase Protected Area Disabled for bank 1 16 1 UR5 UR5 SYSCFG user register 5 0x314 0x20 read-only 0x00000000 MESAD_1 Mass erase secured area disabled for bank 1 0 1 WRPN_1 Write protection for flash bank 1 16 8 UR6 UR6 SYSCFG user register 6 0x318 0x20 read-only 0x00000000 PA_BEG_1 Protected area start address for bank 1 0 12 PA_END_1 Protected area end address for bank 1 16 12 UR7 UR7 SYSCFG user register 7 0x31C 0x20 read-only 0x00000000 SA_BEG_1 Secured area start address for bank 1 0 12 SA_END_1 Secured area end address for bank 1 16 12 UR11 UR11 SYSCFG user register 11 0x32C 0x20 read-only 0x00000000 IWDG1M Independent Watchdog 1 mode 16 1 UR12 UR12 SYSCFG user register 12 0x330 0x20 read-only 0x00000000 SECURE Secure mode 16 1 UR13 UR13 SYSCFG user register 13 0x334 0x20 read-only 0x00000000 SDRS Secured DTCM RAM Size 0 2 D1SBRST D1 Standby reset 16 1 UR14 UR14 SYSCFG user register 14 0x338 0x20 read-write 0x00000000 D1STPRST D1 Stop Reset 0 1 UR15 UR15 SYSCFG user register 15 0x33C 0x20 read-only 0x00000000 FZIWDGSTB Freeze independent watchdog in Standby mode 16 1 UR16 UR16 SYSCFG user register 16 0x340 0x20 read-only 0x00000000 FZIWDGSTP Freeze independent watchdog in Stop mode 0 1 PKP Private key programmed 16 1 UR17 UR17 SYSCFG user register 17 0x344 0x20 read-only 0x00000000 IO_HSLV I/O high speed / low voltage 0 1 TCM_AXI_SHARED_CFG ITCM-RAM/AXI-SRAM size 16 2 UR18 SYSCFG user register 18 0x348 read-only CPU_FREQ_BOOST CPU maximum frequency boost 0 1 TIM1 Advanced-timers TIM 0x40010000 0x0 0x400 registers TIM1_BRK TIM1 break interrupt 24 TIM1_UP TIM1 update interrupt 25 TIM1_TRG_COM TIM1 trigger and commutation 26 TIM1_CC TIM1 capture / compare 27 CR1 CR1 control register 1 0x0 0x20 read-write 0x00000000 CEN Counter enable 0 1 CEN Disabled Counter disabled 0 Enabled Counter enabled 1 UDIS Update disable 1 1 UDIS Enabled Update event enabled 0 Disabled Update event disabled 1 URS Update request source 2 1 URS AnyEvent Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request 0 CounterOnly Only counter overflow/underflow generates an update interrupt or DMA request 1 OPM One-pulse mode 3 1 OPM Disabled Counter is not stopped at update event 0 Enabled Counter stops counting at the next update event (clearing the CEN bit) 1 DIR Direction 4 1 DIR Up Counter used as upcounter 0 Down Counter used as downcounter 1 CMS Center-aligned mode selection 5 2 CMS EdgeAligned The counter counts up or down depending on the direction bit 0 CenterAligned1 The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting down. 1 CenterAligned2 The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting up. 2 CenterAligned3 The counter counts up and down alternatively. Output compare interrupt flags are set both when the counter is counting up or down. 3 ARPE Auto-reload preload enable 7 1 ARPE Disabled TIMx_APRR register is not buffered 0 Enabled TIMx_APRR register is buffered 1 CKD Clock division 8 2 CKD Div1 t_DTS = t_CK_INT 0 Div2 t_DTS = 2 à t_CK_INT 1 Div4 t_DTS = 4 à t_CK_INT 2 UIFREMAP UIF status bit remapping 11 1 CR2 CR2 control register 2 0x4 0x20 read-write 0x00000000 MMS2 Master mode selection 2 20 4 6 0x2 1-6 OIS%s Output Idle state (OC%s output) 8 1 OIS1 Reset OCx=0 (after a dead-time if OCx(N) is implemented) when MOE=0 0 Set OCx=1 (after a dead-time if OCx(N) is implemented) when MOE=0 1 3 0x2 1-3 OIS%sN Output Idle state (OC%sN output) 9 1 OIS1N Reset OCxN=0 after a dead-time when MOE=0 0 Set OCxN=1 after a dead-time when MOE=0 1 TI1S TI1 selection 7 1 TI1S Normal The TIMx_CH1 pin is connected to TI1 input 0 XOR The TIMx_CH1, CH2, CH3 pins are connected to TI1 input 1 MMS Master mode selection 4 3 MMS Reset The UG bit from the TIMx_EGR register is used as trigger output 0 Enable The counter enable signal, CNT_EN, is used as trigger output 1 Update The update event is selected as trigger output 2 ComparePulse The trigger output send a positive pulse when the CC1IF flag it to be set, as soon as a capture or a compare match occurred 3 CompareOC1 OC1REF signal is used as trigger output 4 CompareOC2 OC2REF signal is used as trigger output 5 CompareOC3 OC3REF signal is used as trigger output 6 CompareOC4 OC4REF signal is used as trigger output 7 CCDS Capture/compare DMA selection 3 1 CCDS OnCompare CCx DMA request sent when CCx event occurs 0 OnUpdate CCx DMA request sent when update event occurs 1 CCUS Capture/compare control update selection 2 1 CCUS Sw When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit only 0 SwOrEdge 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 1 CCPC Capture/compare preloaded control 0 1 CCPC NotPreloaded CCxE, CCxNE and OCxM bits are not preloaded 0 Preloaded CCxE, CCxNE and OCxM bits are preloaded 1 SMCR SMCR slave mode control register 0x8 0x20 read-write 0x00000000 SMS Slave mode selection 0 3 SMS Disabled Slave mode disabled - if CEN = â1 then the prescaler is clocked directly by the internal clock. 0 Encoder_Mode_1 Encoder mode 1 - Counter counts up/down on TI2FP1 edge depending on TI1FP2 level. 1 Encoder_Mode_2 Encoder mode 2 - Counter counts up/down on TI1FP2 edge depending on TI2FP1 level. 2 Encoder_Mode_3 Encoder mode 3 - Counter counts up/down on both TI1FP1 and TI2FP2 edges depending on the level of the other input. 3 Reset_Mode Reset Mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter and generates an update of the registers. 4 Gated_Mode Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high. The counter stops (but is not reset) as soon as the trigger becomes low. Both start and stop of the counter are controlled. 5 Trigger_Mode Trigger Mode - The counter starts at a rising edge of the trigger TRGI (but it is not reset). Only the start of the counter is controlled. 6 Ext_Clock_Mode External Clock Mode 1 - Rising edges of the selected trigger (TRGI) clock the counter. 7 TS Trigger selection 4 3 TS ITR0 Internal Trigger 0 (ITR0) 0 ITR1 Internal Trigger 1 (ITR1) 1 ITR2 Internal Trigger 2 (ITR2) 2 TI1F_ED TI1 Edge Detector (TI1F_ED) 4 TI1FP1 Filtered Timer Input 1 (TI1FP1) 5 TI2FP2 Filtered Timer Input 2 (TI2FP2) 6 ETRF External Trigger input (ETRF) 7 MSM Master/Slave mode 7 1 MSM NoSync No action 0 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. 1 ETF External trigger filter 8 4 ETF NoFilter No filter, sampling is done at fDTS 0 FCK_INT_N2 fSAMPLING=fCK_INT, N=2 1 FCK_INT_N4 fSAMPLING=fCK_INT, N=4 2 FCK_INT_N8 fSAMPLING=fCK_INT, N=8 3 FDTS_Div2_N6 fSAMPLING=fDTS/2, N=6 4 FDTS_Div2_N8 fSAMPLING=fDTS/2, N=8 5 FDTS_Div4_N6 fSAMPLING=fDTS/4, N=6 6 FDTS_Div4_N8 fSAMPLING=fDTS/4, N=8 7 FDTS_Div8_N6 fSAMPLING=fDTS/8, N=6 8 FDTS_Div8_N8 fSAMPLING=fDTS/8, N=8 9 FDTS_Div16_N5 fSAMPLING=fDTS/16, N=5 10 FDTS_Div16_N6 fSAMPLING=fDTS/16, N=6 11 FDTS_Div16_N8 fSAMPLING=fDTS/16, N=8 12 FDTS_Div32_N5 fSAMPLING=fDTS/32, N=5 13 FDTS_Div32_N6 fSAMPLING=fDTS/32, N=6 14 FDTS_Div32_N8 fSAMPLING=fDTS/32, N=8 15 ETPS External trigger prescaler 12 2 ETPS Div1 Prescaler OFF 0 Div2 ETRP frequency divided by 2 1 Div4 ETRP frequency divided by 4 2 Div8 ETRP frequency divided by 8 3 ECE External clock enable 14 1 ECE Disabled External clock mode 2 disabled 0 Enabled External clock mode 2 enabled. The counter is clocked by any active edge on the ETRF signal. 1 ETP External trigger polarity 15 1 ETP NotInverted ETR is noninverted, active at high level or rising edge 0 Inverted ETR is inverted, active at low level or falling edge 1 SMS_3 Slave mode selection - bit 3 16 1 TS2 Trigger selection - bit 4:3 20 2 DIER DIER DMA/Interrupt enable register 0xC 0x20 read-write 0x00000000 TDE Trigger DMA request enable 14 1 TDE Disabled Trigger DMA request disabled 0 Enabled Trigger DMA request enabled 1 COMDE COM DMA request enable 13 1 COMDE Disabled COM DMA request disabled 0 Enabled COM DMA request enabled 1 4 0x1 1-4 CC%sDE Capture/Compare %s DMA request enable 9 1 CC1DE Disabled CCx DMA request disabled 0 Enabled CCx DMA request enabled 1 UDE Update DMA request enable 8 1 UDE Disabled Update DMA request disabled 0 Enabled Update DMA request enabled 1 TIE Trigger interrupt enable 6 1 TIE Disabled Trigger interrupt disabled 0 Enabled Trigger interrupt enabled 1 4 0x1 1-4 CC%sIE Capture/Compare %s interrupt enable 1 1 CC1IE Disabled CCx interrupt disabled 0 Enabled CCx interrupt enabled 1 UIE Update interrupt enable 0 1 UIE Disabled Update interrupt disabled 0 Enabled Update interrupt enabled 1 BIE Break interrupt enable 7 1 BIE Disabled Break interrupt disabled 0 Enabled Break interrupt enabled 1 COMIE COM interrupt enable 5 1 COMIE Disabled COM interrupt disabled 0 Enabled COM interrupt enabled 1 SR SR status register 0x10 0x20 read-write 0x00000000 4 0x1 1-4 CC%sIF Capture/compare %s interrupt flag 1 1 zeroToClear CC1IFR read NoMatch No campture/compare has been detected 0 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. 1 CC1IFW write Clear Clear flag 0 CC6IF Compare 6 interrupt flag 17 1 zeroToClear read write CC5IF Compare 5 interrupt flag 16 1 zeroToClear read write SBIF System Break interrupt flag 13 1 zeroToClear SBIFR read NoTrigger No break event occurred 0 Trigger An active level has been detected on the system break input. An interrupt is generated if BIE=1 in the TIMx_DIER register 1 SBIFW write Clear Clear flag 0 4 0x1 1-4 CC%sOF Capture/Compare %s overcapture flag 9 1 zeroToClear CC1OFR read NoOvercapture No overcapture has been detected 0 Overcapture The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set 1 CC1OFW write Clear Clear flag 0 B2IF Break 2 interrupt flag 8 1 zeroToClear B2IFR read NoTrigger No break event occurred 0 Trigger An active level has been detected on the break 2 input. An interrupt is generated if BIE=1 in the TIMx_DIER register 1 B2IFW write Clear Clear flag 0 BIF Break interrupt flag 7 1 zeroToClear BIFR read NoTrigger No break event occurred 0 Trigger An active level has been detected on the break input. An interrupt is generated if BIE=1 in the TIMx_DIER register 1 BIFW write Clear Clear flag 0 TIF Trigger interrupt flag 6 1 zeroToClear TIFR read NoTrigger No trigger event occurred 0 Trigger Trigger interrupt pending 1 TIFW write Clear Clear flag 0 COMIF COM interrupt flag 5 1 zeroToClear COMIFR read NoCOM No COM event occurred 0 COM COM interrupt pending 1 COMIFW write Clear Clear flag 0 UIF Update interrupt flag 0 1 zeroToClear UIFR read NoUpdateOccurred No update occurred 0 UpdatePending Update interrupt pending 1 UIFW write Clear Clear flag 0 EGR EGR event generation register 0x14 0x20 write-only 0x00000000 UG Update generation 0 1 UG Update Re-initializes the timer counter and generates an update of the registers. 1 4 0x1 1-4 CC%sG Capture/compare %s generation 1 1 CC1GW 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. 1 COMG Capture/Compare control update generation 5 1 COMGW Trigger When CCPC bit is set, it allows CCxE, CCxNE and OCxM bits to be updated 1 TG Trigger generation 6 1 TGW Trigger The TIF flag is set in TIMx_SR register. Related interrupt or DMA transfer can occur if enabled. 1 BG Break generation 7 1 BGW Trigger A break event is generated. MOE bit is cleared and BIF flag is set. Related interrupt or DMA transfer can occur if enabled 1 B2G Break 2 generation 8 1 B2GW Trigger A break 2 event is generated. MOE bit is cleared and B2IF flag is set. Related interrupt can occur if enabled 1 CCMR1_Output CCMR1_Output capture/compare mode register 1 (output mode) 0x18 0x20 read-write 0x00000000 2 0x8 1-2 CC%sS Capture/Compare %s selection 0 2 CC1S Output CCx channel is configured as output 0 2 0x8 1-2 OC%sFE Output compare %s fast enable 2 1 OC1FE Disabled Fast output disabled 0 Enabled Fast output enabled 1 2 0x8 1-2 OC%sPE Output compare %s preload enable 3 1 OC1PE Disabled Preload register on CCRx disabled. New values written to CCRx are taken into account immediately 0 Enabled Preload register on CCRx enabled. Preload value is loaded into active register on each update event 1 2 0x8 1-2 OC%sM Output compare %s mode 4 3 OC1M 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 0 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 1 InactiveOnMatch Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved 2 Toggle OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved 3 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 4 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 5 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 6 PwmMode2 Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1 7 2 0x8 1-2 OC%sCE Output compare %s clear enable 7 1 OC1CE Disabled OCxRef is not affected by the ETRF signal 0 Enabled OCxRef is cleared as soon as a High level is detected on ETRF signal 1 2 0x8 1-2 OC%sM_3 Output compare %s mode, bit 3 16 1 OC1M_3 Normal Normal output compare mode (modes 0-7) 0 Extended Extended output compare mode (modes 7-15) 1 CCMR1_Input CCMR1_Input capture/compare mode register 1 (input mode) CCMR1_Output 0x18 0x20 read-write 0x00000000 2 0x8 1-2 IC%sF Input capture %s filter 4 4 ICFilter NoFilter No filter, sampling is done at fDTS 0 FCK_INT_N2 fSAMPLING=fCK_INT, N=2 1 FCK_INT_N4 fSAMPLING=fCK_INT, N=4 2 FCK_INT_N8 fSAMPLING=fCK_INT, N=8 3 FDTS_Div2_N6 fSAMPLING=fDTS/2, N=6 4 FDTS_Div2_N8 fSAMPLING=fDTS/2, N=8 5 FDTS_Div4_N6 fSAMPLING=fDTS/4, N=6 6 FDTS_Div4_N8 fSAMPLING=fDTS/4, N=8 7 FDTS_Div8_N6 fSAMPLING=fDTS/8, N=6 8 FDTS_Div8_N8 fSAMPLING=fDTS/8, N=8 9 FDTS_Div16_N5 fSAMPLING=fDTS/16, N=5 10 FDTS_Div16_N6 fSAMPLING=fDTS/16, N=6 11 FDTS_Div16_N8 fSAMPLING=fDTS/16, N=8 12 FDTS_Div32_N5 fSAMPLING=fDTS/32, N=5 13 FDTS_Div32_N6 fSAMPLING=fDTS/32, N=6 14 FDTS_Div32_N8 fSAMPLING=fDTS/32, N=8 15 2 0x8 1-2 IC%sPSC Input capture %s prescaler 2 2 ICPrescaler NoPrescaler No prescaler, capture is done each time an edge is detected on the capture input 0 TwoEvents Capture is done once every 2 events 1 FourEvents Capture is done once every 4 events 2 EightEvents Capture is done once every 8 events 3 CC2S Capture/Compare 2 selection 8 2 CC2S TI2 CC2 channel is configured as input, IC2 is mapped on TI2 1 TI1 CC2 channel is configured as input, IC2 is mapped on TI1 2 TRC CC2 channel is configured as input, IC2 is mapped on TRC 3 CC1S Capture/Compare 1 selection 0 2 CC1S TI1 CC1 channel is configured as input, IC1 is mapped on TI1 1 TI2 CC1 channel is configured as input, IC1 is mapped on TI2 2 TRC CC1 channel is configured as input, IC1 is mapped on TRC 3 CCMR2_Output CCMR2_Output capture/compare mode register 2 (output mode) 0x1C 0x20 read-write 0x00000000 2 0x8 3-4 CC%sS Capture/Compare %s selection 0 2 2 0x8 3-4 OC%sFE Output compare %s fast enable 2 1 2 0x8 3-4 OC%sPE Output compare %s preload enable 3 1 2 0x8 3-4 OC%sM Output compare %s mode 4 3 2 0x8 3-4 OC%sCE Output compare %s clear enable 7 1 2 0x8 3-4 OC%sM_3 Output compare %s mode, bit 3 16 1 CCMR2_Input CCMR2_Input capture/compare mode register 2 (input mode) CCMR2_Output 0x1C 0x20 read-write 0x00000000 2 0x8 3-4 IC%sF Input capture %s filter 4 4 2 0x8 3-4 IC%sPSC Input capture %s prescaler 2 2 CC4S Capture/Compare 4 selection 8 2 CC4S TI4 CC4 channel is configured as input, IC4 is mapped on TI4 1 TI3 CC4 channel is configured as input, IC4 is mapped on TI3 2 TRC CC4 channel is configured as input, IC4 is mapped on TRC 3 CC3S Capture/compare 3 selection 0 2 CC3S TI3 CC3 channel is configured as input, IC3 is mapped on TI3 1 TI4 CC3 channel is configured as input, IC3 is mapped on TI4 2 TRC CC3 channel is configured as input, IC3 is mapped on TRC 3 CCER CCER capture/compare enable register 0x20 0x20 read-write 0x00000000 6 0x4 1-6 CC%sE Capture/Compare %s output enable 0 1 CC1E Disabled Capture disabled 0 Enabled Capture enabled 1 6 0x4 1-6 CC%sP Capture/Compare %s output Polarity 1 1 CC1P RisingEdge Noninverted/rising edge 0 FallingEdge Inverted/falling edge 1 3 0x4 1-3 CC%sNE Capture/Compare %s complementary output enable 2 1 CC1NE Disabled Complementary output disabled 0 Enabled Complementary output enabled 1 4 0x4 1-4 CC%sNP Capture/Compare %s output Polarity 3 1 CC1NP ActiveHigh OCxN active high 0 ActiveLow OCxN active low 1 CNT CNT counter 0x24 0x20 0x00000000 CNT counter value 0 16 read-write 0 65535 UIFCPY UIF copy 31 1 read-only PSC PSC prescaler 0x28 0x20 read-write 0x00000000 PSC Prescaler value 0 16 0 65535 ARR ARR auto-reload register 0x2C 0x20 read-write 0x00000000 ARR Auto-reload value 0 16 0 65535 4 0x4 1-4 CCR%s CCR%s capture/compare register 0x34 0x20 read-write 0x00000000 CCR Capture/Compare value 0 16 0 65535 DCR DCR DMA control register 0x48 0x20 read-write 0x00000000 DBL DMA burst length 8 5 0 18 DBA DMA base address 0 5 0 31 DMAR DMAR DMA address for full transfer 0x4C 0x20 read-write 0x00000000 DMAB DMA register for burst accesses 0 32 RCR RCR repetition counter register 0x30 0x20 read-write 0x00000000 REP Repetition counter value 0 16 0 65535 BDTR BDTR break and dead-time register 0x44 0x20 read-write 0x00000000 DTG Dead-time generator setup 0 8 0 255 LOCK Lock configuration 8 2 LOCK Off No bit is write protected 0 Level1 Any bits except MOE, OSSR, OSSI and LOCK in TIMx_BDTR register, OISx and OISxN bits in TIMx_CR2 register can no longer be written 1 Level2 LOCK Level 1 + CC Polarity bits (CCxP/CCxNP bits in TIMx_CCER register, as long as the related channel is configured in output through the CCxS bits) as well as OSSR and OSSI bits can no longer be written 2 Level3 LOCK Level 2 + CC Control bits (OCxM and OCxPE bits in TIMx_CCMRx registers, as long as the related channel is configured in output through the CCxS bits) can no longer be written 3 OSSI Off-state selection for Idle mode 10 1 OSSI HiZ When inactive, OC/OCN outputs are disabled 0 IdleLevel When inactive, OC/OCN outputs are forced to idle level 1 OSSR Off-state selection for Run mode 11 1 OSSR HiZ When inactive, OC/OCN outputs are disabled 0 IdleLevel When inactive, OC/OCN outputs are enabled with their inactive level 1 BKE Break enable 12 1 BKE Disabled Break function x disabled 0 Enabled Break function x enabled 1 BKP Break polarity 13 1 BKP ActiveLow Break input BRKx is active low 0 ActiveHigh Break input BRKx is active high 1 AOE Automatic output enable 14 1 AOE Manual MOE can be set only by software 0 Automatic MOE can be set by software or automatically at the next update event (if none of the break inputs BRK and BRK2 is active) 1 MOE Main output enable 15 1 MOE DisabledIdle OC/OCN are disabled or forced idle depending on OSSI 0 Enabled OC/OCN are enabled if CCxE/CCxNE are set 1 BKF Break filter 16 4 BK2F Break 2 filter 20 4 BK2E Break 2 enable 24 1 BK2P Break 2 polarity 25 1 CCMR3_Output CCMR3_Output capture/compare mode register 3 (output mode) 0x54 0x20 read-write 0x00000000 2 0x8 5-6 OC%sFE Output compare %s fast enable 2 1 2 0x8 5-6 OC%sPE Output compare %s preload enable 3 1 2 0x8 5-6 OC%sM Output compare %s mode 4 3 2 0x8 5-6 OC%sCE Output compare %s clear enable 7 1 2 0x8 5-6 OC%sM_3 Output compare %s mode, bit 3 16 1 CCR5 CCR5 capture/compare register 0x58 0x20 read-write 0x00000000 CCR Capture/Compare value 0 16 0 65535 GC5C1 Group Channel 5 and Channel 1 29 1 GC5C2 Group Channel 5 and Channel 2 30 1 GC5C3 Group Channel 5 and Channel 3 31 1 CCR6 CCR6 capture/compare register 0x5C 0x20 read-write 0x00000000 CCR Capture/Compare value 0 16 0 65535 AF1 AF1 TIM1 alternate function option register 1 0x60 0x20 read-write 0x00000000 BKINE BRK BKIN input enable 0 1 BKCMP1E BRK COMP1 enable 1 1 BKCMP2E BRK COMP2 enable 2 1 BKDF1BK0E BRK dfsdm1_break[0] enable 8 1 BKINP BRK BKIN input polarity 9 1 BKCMP1P BRK COMP1 input polarity 10 1 BKCMP2P BRK COMP2 input polarity 11 1 ETRSEL ETR source selection 14 4 AF2 AF2 TIM1 Alternate function odfsdm1_breakster 2 0x64 0x20 read-write 0x00000000 BK2INE BRK2 BKIN input enable 0 1 BK2CMP1E BRK2 COMP1 enable 1 1 BK2CMP2E BRK2 COMP2 enable 2 1 BK2DF1BK1E BRK2 dfsdm1_break[1] enable 8 1 BK2INP BRK2 BKIN2 input polarity 9 1 BK2CMP1P BRK2 COMP1 input polarit 10 1 BK2CMP2P BRK2 COMP2 input polarity 11 1 TISEL TISEL TIM1 timer input selection register 0x68 0x20 read-write 0x00000000 TI1SEL selects TI1[0] to TI1[15] input 0 4 TI2SEL selects TI2[0] to TI2[15] input 8 4 TI3SEL selects TI3[0] to TI3[15] input 16 4 TI4SEL selects TI4[0] to TI4[15] input 24 4 TIM2 General purpose timers TIM 0x40000000 0x0 0x400 registers TIM2 TIM2 global interrupt 28 CR1 CR1 control register 1 0x0 0x20 read-write 0x00000000 UIFREMAP UIF status bit remapping 11 1 CKD Clock division 8 2 CKD Div1 t_DTS = t_CK_INT 0 Div2 t_DTS = 2 à t_CK_INT 1 Div4 t_DTS = 4 à t_CK_INT 2 ARPE Auto-reload preload enable 7 1 ARPE Disabled TIMx_APRR register is not buffered 0 Enabled TIMx_APRR register is buffered 1 CMS Center-aligned mode selection 5 2 CMS EdgeAligned The counter counts up or down depending on the direction bit 0 CenterAligned1 The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting down. 1 CenterAligned2 The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting up. 2 CenterAligned3 The counter counts up and down alternatively. Output compare interrupt flags are set both when the counter is counting up or down. 3 DIR Direction 4 1 DIR Up Counter used as upcounter 0 Down Counter used as downcounter 1 OPM One-pulse mode 3 1 OPM Disabled Counter is not stopped at update event 0 Enabled Counter stops counting at the next update event (clearing the CEN bit) 1 URS Update request source 2 1 URS AnyEvent Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request 0 CounterOnly Only counter overflow/underflow generates an update interrupt or DMA request 1 UDIS Update disable 1 1 UDIS Enabled Update event enabled 0 Disabled Update event disabled 1 CEN Counter enable 0 1 CEN Disabled Counter disabled 0 Enabled Counter enabled 1 CR2 CR2 control register 2 0x4 0x20 read-write 0x00000000 TI1S TI1 selection 7 1 TI1S Normal The TIMx_CH1 pin is connected to TI1 input 0 XOR The TIMx_CH1, CH2, CH3 pins are connected to TI1 input 1 MMS Master mode selection 4 3 MMS Reset The UG bit from the TIMx_EGR register is used as trigger output 0 Enable The counter enable signal, CNT_EN, is used as trigger output 1 Update The update event is selected as trigger output 2 ComparePulse The trigger output send a positive pulse when the CC1IF flag it to be set, as soon as a capture or a compare match occurred 3 CompareOC1 OC1REF signal is used as trigger output 4 CompareOC2 OC2REF signal is used as trigger output 5 CompareOC3 OC3REF signal is used as trigger output 6 CompareOC4 OC4REF signal is used as trigger output 7 CCDS Capture/compare DMA selection 3 1 CCDS OnCompare CCx DMA request sent when CCx event occurs 0 OnUpdate CCx DMA request sent when update event occurs 1 SMCR SMCR slave mode control register 0x8 0x20 read-write 0x00000000 TS2 Trigger selection 20 2 SMS_3 Slave mode selection - bit 3 16 1 ETP External trigger polarity 15 1 ETP NotInverted ETR is noninverted, active at high level or rising edge 0 Inverted ETR is inverted, active at low level or falling edge 1 ECE External clock enable 14 1 ECE Disabled External clock mode 2 disabled 0 Enabled External clock mode 2 enabled. The counter is clocked by any active edge on the ETRF signal. 1 ETPS External trigger prescaler 12 2 ETPS Div1 Prescaler OFF 0 Div2 ETRP frequency divided by 2 1 Div4 ETRP frequency divided by 4 2 Div8 ETRP frequency divided by 8 3 ETF External trigger filter 8 4 ETF NoFilter No filter, sampling is done at fDTS 0 FCK_INT_N2 fSAMPLING=fCK_INT, N=2 1 FCK_INT_N4 fSAMPLING=fCK_INT, N=4 2 FCK_INT_N8 fSAMPLING=fCK_INT, N=8 3 FDTS_Div2_N6 fSAMPLING=fDTS/2, N=6 4 FDTS_Div2_N8 fSAMPLING=fDTS/2, N=8 5 FDTS_Div4_N6 fSAMPLING=fDTS/4, N=6 6 FDTS_Div4_N8 fSAMPLING=fDTS/4, N=8 7 FDTS_Div8_N6 fSAMPLING=fDTS/8, N=6 8 FDTS_Div8_N8 fSAMPLING=fDTS/8, N=8 9 FDTS_Div16_N5 fSAMPLING=fDTS/16, N=5 10 FDTS_Div16_N6 fSAMPLING=fDTS/16, N=6 11 FDTS_Div16_N8 fSAMPLING=fDTS/16, N=8 12 FDTS_Div32_N5 fSAMPLING=fDTS/32, N=5 13 FDTS_Div32_N6 fSAMPLING=fDTS/32, N=6 14 FDTS_Div32_N8 fSAMPLING=fDTS/32, N=8 15 MSM Master/Slave mode 7 1 MSM NoSync No action 0 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. 1 TS Trigger selection 4 3 TS ITR0 Internal Trigger 0 (ITR0) 0 ITR1 Internal Trigger 1 (ITR1) 1 ITR2 Internal Trigger 2 (ITR2) 2 TI1F_ED TI1 Edge Detector (TI1F_ED) 4 TI1FP1 Filtered Timer Input 1 (TI1FP1) 5 TI2FP2 Filtered Timer Input 2 (TI2FP2) 6 ETRF External Trigger input (ETRF) 7 SMS Slave mode selection 0 3 SMS Disabled Slave mode disabled - if CEN = â1 then the prescaler is clocked directly by the internal clock. 0 Encoder_Mode_1 Encoder mode 1 - Counter counts up/down on TI2FP1 edge depending on TI1FP2 level. 1 Encoder_Mode_2 Encoder mode 2 - Counter counts up/down on TI1FP2 edge depending on TI2FP1 level. 2 Encoder_Mode_3 Encoder mode 3 - Counter counts up/down on both TI1FP1 and TI2FP2 edges depending on the level of the other input. 3 Reset_Mode Reset Mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter and generates an update of the registers. 4 Gated_Mode Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high. The counter stops (but is not reset) as soon as the trigger becomes low. Both start and stop of the counter are controlled. 5 Trigger_Mode Trigger Mode - The counter starts at a rising edge of the trigger TRGI (but it is not reset). Only the start of the counter is controlled. 6 Ext_Clock_Mode External Clock Mode 1 - Rising edges of the selected trigger (TRGI) clock the counter. 7 DIER DIER DMA/Interrupt enable register 0xC 0x20 read-write 0x00000000 TDE Trigger DMA request enable 14 1 TDE Disabled Trigger DMA request disabled 0 Enabled Trigger DMA request enabled 1 4 0x1 1-4 CC%sDE Capture/Compare %s DMA request enable 9 1 CC1DE Disabled CCx DMA request disabled 0 Enabled CCx DMA request enabled 1 UDE Update DMA request enable 8 1 UDE Disabled Update DMA request disabled 0 Enabled Update DMA request enabled 1 TIE Trigger interrupt enable 6 1 TIE Disabled Trigger interrupt disabled 0 Enabled Trigger interrupt enabled 1 4 0x1 1-4 CC%sIE Capture/Compare %s interrupt enable 1 1 CC1IE Disabled CCx interrupt disabled 0 Enabled CCx interrupt enabled 1 UIE Update interrupt enable 0 1 UIE Disabled Update interrupt disabled 0 Enabled Update interrupt enabled 1 SR SR status register 0x10 0x20 read-write 0x00000000 4 0x1 1-4 CC%sOF Capture/Compare %s overcapture flag 9 1 zeroToClear CC1OFR read NoOvercapture No overcapture has been detected 0 Overcapture The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set 1 CC1OFW write Clear Clear flag 0 TIF Trigger interrupt flag 6 1 zeroToClear TIFR read NoTrigger No trigger event occurred 0 Trigger Trigger interrupt pending 1 TIFW write Clear Clear flag 0 4 0x1 1-4 CC%sIF Capture/compare %s interrupt flag 1 1 zeroToClear CC1IFR read NoMatch No campture/compare has been detected 0 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. 1 CC1IFW write Clear Clear flag 0 UIF Update interrupt flag 0 1 zeroToClear UIFR read NoUpdateOccurred No update occurred 0 UpdatePending Update interrupt pending 1 UIFW write Clear Clear flag 0 EGR EGR event generation register 0x14 0x20 write-only 0x00000000 TG Trigger generation 6 1 TGW Trigger The TIF flag is set in TIMx_SR register. Related interrupt or DMA transfer can occur if enabled. 1 4 0x1 1-4 CC%sG Capture/compare %s generation 1 1 CC1GW 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. 1 UG Update generation 0 1 UG Update Re-initializes the timer counter and generates an update of the registers. 1 CCMR1_Output CCMR1_Output capture/compare mode register 1 (output mode) 0x18 0x20 read-write 0x00000000 2 0x8 1-2 CC%sS Capture/Compare %s selection 0 2 CC1S Output CCx channel is configured as output 0 2 0x8 1-2 OC%sFE Output compare %s fast enable 2 1 OC1FE Disabled Fast output disabled 0 Enabled Fast output enabled 1 2 0x8 1-2 OC%sPE Output compare %s preload enable 3 1 OC1PE Disabled Preload register on CCRx disabled. New values written to CCRx are taken into account immediately 0 Enabled Preload register on CCRx enabled. Preload value is loaded into active register on each update event 1 2 0x8 1-2 OC%sM Output compare %s mode 4 3 OC1M 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 0 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 1 InactiveOnMatch Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved 2 Toggle OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved 3 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 4 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 5 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 6 PwmMode2 Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1 7 2 0x8 1-2 OC%sCE Output compare %s clear enable 7 1 OC1CE Disabled OCxRef is not affected by the ETRF signal 0 Enabled OCxRef is cleared as soon as a High level is detected on ETRF signal 1 2 0x8 1-2 OC%sM_3 Output compare %s mode, bit 3 16 1 OC1M_3 Normal Normal output compare mode (modes 0-7) 0 Extended Extended output compare mode (modes 7-15) 1 CCMR1_Input CCMR1_Input capture/compare mode register 1 (input mode) CCMR1_Output 0x18 0x20 read-write 0x00000000 2 0x8 1-2 IC%sF Input capture %s filter 4 4 ICFilter NoFilter No filter, sampling is done at fDTS 0 FCK_INT_N2 fSAMPLING=fCK_INT, N=2 1 FCK_INT_N4 fSAMPLING=fCK_INT, N=4 2 FCK_INT_N8 fSAMPLING=fCK_INT, N=8 3 FDTS_Div2_N6 fSAMPLING=fDTS/2, N=6 4 FDTS_Div2_N8 fSAMPLING=fDTS/2, N=8 5 FDTS_Div4_N6 fSAMPLING=fDTS/4, N=6 6 FDTS_Div4_N8 fSAMPLING=fDTS/4, N=8 7 FDTS_Div8_N6 fSAMPLING=fDTS/8, N=6 8 FDTS_Div8_N8 fSAMPLING=fDTS/8, N=8 9 FDTS_Div16_N5 fSAMPLING=fDTS/16, N=5 10 FDTS_Div16_N6 fSAMPLING=fDTS/16, N=6 11 FDTS_Div16_N8 fSAMPLING=fDTS/16, N=8 12 FDTS_Div32_N5 fSAMPLING=fDTS/32, N=5 13 FDTS_Div32_N6 fSAMPLING=fDTS/32, N=6 14 FDTS_Div32_N8 fSAMPLING=fDTS/32, N=8 15 2 0x8 1-2 IC%sPSC Input capture %s prescaler 2 2 ICPrescaler NoPrescaler No prescaler, capture is done each time an edge is detected on the capture input 0 TwoEvents Capture is done once every 2 events 1 FourEvents Capture is done once every 4 events 2 EightEvents Capture is done once every 8 events 3 CC2S Capture/Compare 2 selection 8 2 CC2S TI2 CC2 channel is configured as input, IC2 is mapped on TI2 1 TI1 CC2 channel is configured as input, IC2 is mapped on TI1 2 TRC CC2 channel is configured as input, IC2 is mapped on TRC 3 CC1S Capture/Compare 1 selection 0 2 CC1S TI1 CC1 channel is configured as input, IC1 is mapped on TI1 1 TI2 CC1 channel is configured as input, IC1 is mapped on TI2 2 TRC CC1 channel is configured as input, IC1 is mapped on TRC 3 CCMR2_Output CCMR2_Output capture/compare mode register 2 (output mode) 0x1C 0x20 read-write 0x00000000 2 0x8 3-4 OC%sM_3 Output compare %s mode, bit 3 16 1 2 0x8 3-4 OC%sCE Output compare %s clear enable 7 1 2 0x8 3-4 OC%sM Output compare %s mode 4 3 2 0x8 3-4 OC%sPE Output compare %s preload enable 3 1 2 0x8 3-4 OC%sFE Output compare %s fast enable 2 1 2 0x8 3-4 CC%sS Capture/Compare %s selection 0 2 CCMR2_Input CCMR2_Input capture/compare mode register 2 (input mode) CCMR2_Output 0x1C 0x20 read-write 0x00000000 2 0x8 3-4 IC%sF Input capture %s filter 4 4 2 0x8 3-4 IC%sPSC Input capture %s prescaler 2 2 CC4S Capture/Compare 4 selection 8 2 CC4S TI4 CC4 channel is configured as input, IC4 is mapped on TI4 1 TI3 CC4 channel is configured as input, IC4 is mapped on TI3 2 TRC CC4 channel is configured as input, IC4 is mapped on TRC 3 CC3S Capture/compare 3 selection 0 2 CC3S TI3 CC3 channel is configured as input, IC3 is mapped on TI3 1 TI4 CC3 channel is configured as input, IC3 is mapped on TI4 2 TRC CC3 channel is configured as input, IC3 is mapped on TRC 3 CCER CCER capture/compare enable register 0x20 0x20 read-write 0x00000000 4 0x4 1-4 CC%sNP Capture/Compare %s output Polarity 3 1 4 0x4 1-4 CC%sP Capture/Compare %s output Polarity 1 1 CC1P RisingEdge Noninverted/rising edge 0 FallingEdge Inverted/falling edge 1 4 0x4 1-4 CC%sE Capture/Compare %s output enable 0 1 CC1E Disabled Capture disabled 0 Enabled Capture enabled 1 CNT CNT counter 0x24 0x20 read-write 0x00000000 CNT low counter value 0 32 0 4294967295 PSC PSC prescaler 0x28 0x20 read-write 0x00000000 PSC Prescaler value 0 16 0 65535 ARR ARR auto-reload register 0x2C 0x20 read-write 0x00000000 ARR Auto-reload value 0 32 0 4294967295 4 0x4 1-4 CCR%s CCR%s capture/compare register 0x34 0x20 read-write 0x00000000 CCR Capture/Compare value 0 32 0 4294967295 DCR DCR DMA control register 0x48 0x20 read-write 0x00000000 DBL DMA burst length 8 5 0 18 DBA DMA base address 0 5 0 31 DMAR DMAR DMA address for full transfer 0x4C 0x20 read-write 0x00000000 DMAB DMA register for burst accesses 0 16 AF1 AF1 TIM alternate function option register 1 0x60 0x20 read-write 0x00000000 ETRSEL ETR source selection 14 4 TISEL TISEL TIM timer input selection register 0x68 0x20 read-write 0x00000000 TI1SEL TI1[0] to TI1[15] input selection 0 4 TI2SEL TI2[0] to TI2[15] input selection 8 4 TI3SEL TI3[0] to TI3[15] input selection 16 4 TI4SEL TI4[0] to TI4[15] input selection 24 4 TIM3 General purpose timers TIM 0x40000400 0x0 0x400 registers TIM3 TIM3 global interrupt 29 CR1 CR1 control register 1 0x0 0x20 read-write 0x00000000 UIFREMAP UIF status bit remapping 11 1 CKD Clock division 8 2 CKD Div1 t_DTS = t_CK_INT 0 Div2 t_DTS = 2 à t_CK_INT 1 Div4 t_DTS = 4 à t_CK_INT 2 ARPE Auto-reload preload enable 7 1 ARPE Disabled TIMx_APRR register is not buffered 0 Enabled TIMx_APRR register is buffered 1 CMS Center-aligned mode selection 5 2 CMS EdgeAligned The counter counts up or down depending on the direction bit 0 CenterAligned1 The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting down. 1 CenterAligned2 The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting up. 2 CenterAligned3 The counter counts up and down alternatively. Output compare interrupt flags are set both when the counter is counting up or down. 3 DIR Direction 4 1 DIR Up Counter used as upcounter 0 Down Counter used as downcounter 1 OPM One-pulse mode 3 1 OPM Disabled Counter is not stopped at update event 0 Enabled Counter stops counting at the next update event (clearing the CEN bit) 1 URS Update request source 2 1 URS AnyEvent Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request 0 CounterOnly Only counter overflow/underflow generates an update interrupt or DMA request 1 UDIS Update disable 1 1 UDIS Enabled Update event enabled 0 Disabled Update event disabled 1 CEN Counter enable 0 1 CEN Disabled Counter disabled 0 Enabled Counter enabled 1 CR2 CR2 control register 2 0x4 0x20 read-write 0x00000000 TI1S TI1 selection 7 1 TI1S Normal The TIMx_CH1 pin is connected to TI1 input 0 XOR The TIMx_CH1, CH2, CH3 pins are connected to TI1 input 1 MMS Master mode selection 4 3 MMS Reset The UG bit from the TIMx_EGR register is used as trigger output 0 Enable The counter enable signal, CNT_EN, is used as trigger output 1 Update The update event is selected as trigger output 2 ComparePulse The trigger output send a positive pulse when the CC1IF flag it to be set, as soon as a capture or a compare match occurred 3 CompareOC1 OC1REF signal is used as trigger output 4 CompareOC2 OC2REF signal is used as trigger output 5 CompareOC3 OC3REF signal is used as trigger output 6 CompareOC4 OC4REF signal is used as trigger output 7 CCDS Capture/compare DMA selection 3 1 CCDS OnCompare CCx DMA request sent when CCx event occurs 0 OnUpdate CCx DMA request sent when update event occurs 1 SMCR SMCR slave mode control register 0x8 0x20 read-write 0x00000000 TS2 Trigger selection 20 2 SMS_3 Slave mode selection - bit 3 16 1 ETP External trigger polarity 15 1 ETP NotInverted ETR is noninverted, active at high level or rising edge 0 Inverted ETR is inverted, active at low level or falling edge 1 ECE External clock enable 14 1 ECE Disabled External clock mode 2 disabled 0 Enabled External clock mode 2 enabled. The counter is clocked by any active edge on the ETRF signal. 1 ETPS External trigger prescaler 12 2 ETPS Div1 Prescaler OFF 0 Div2 ETRP frequency divided by 2 1 Div4 ETRP frequency divided by 4 2 Div8 ETRP frequency divided by 8 3 ETF External trigger filter 8 4 ETF NoFilter No filter, sampling is done at fDTS 0 FCK_INT_N2 fSAMPLING=fCK_INT, N=2 1 FCK_INT_N4 fSAMPLING=fCK_INT, N=4 2 FCK_INT_N8 fSAMPLING=fCK_INT, N=8 3 FDTS_Div2_N6 fSAMPLING=fDTS/2, N=6 4 FDTS_Div2_N8 fSAMPLING=fDTS/2, N=8 5 FDTS_Div4_N6 fSAMPLING=fDTS/4, N=6 6 FDTS_Div4_N8 fSAMPLING=fDTS/4, N=8 7 FDTS_Div8_N6 fSAMPLING=fDTS/8, N=6 8 FDTS_Div8_N8 fSAMPLING=fDTS/8, N=8 9 FDTS_Div16_N5 fSAMPLING=fDTS/16, N=5 10 FDTS_Div16_N6 fSAMPLING=fDTS/16, N=6 11 FDTS_Div16_N8 fSAMPLING=fDTS/16, N=8 12 FDTS_Div32_N5 fSAMPLING=fDTS/32, N=5 13 FDTS_Div32_N6 fSAMPLING=fDTS/32, N=6 14 FDTS_Div32_N8 fSAMPLING=fDTS/32, N=8 15 MSM Master/Slave mode 7 1 MSM NoSync No action 0 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. 1 TS Trigger selection 4 3 TS ITR0 Internal Trigger 0 (ITR0) 0 ITR1 Internal Trigger 1 (ITR1) 1 ITR2 Internal Trigger 2 (ITR2) 2 TI1F_ED TI1 Edge Detector (TI1F_ED) 4 TI1FP1 Filtered Timer Input 1 (TI1FP1) 5 TI2FP2 Filtered Timer Input 2 (TI2FP2) 6 ETRF External Trigger input (ETRF) 7 SMS Slave mode selection 0 3 SMS Disabled Slave mode disabled - if CEN = â1 then the prescaler is clocked directly by the internal clock. 0 Encoder_Mode_1 Encoder mode 1 - Counter counts up/down on TI2FP1 edge depending on TI1FP2 level. 1 Encoder_Mode_2 Encoder mode 2 - Counter counts up/down on TI1FP2 edge depending on TI2FP1 level. 2 Encoder_Mode_3 Encoder mode 3 - Counter counts up/down on both TI1FP1 and TI2FP2 edges depending on the level of the other input. 3 Reset_Mode Reset Mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter and generates an update of the registers. 4 Gated_Mode Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high. The counter stops (but is not reset) as soon as the trigger becomes low. Both start and stop of the counter are controlled. 5 Trigger_Mode Trigger Mode - The counter starts at a rising edge of the trigger TRGI (but it is not reset). Only the start of the counter is controlled. 6 Ext_Clock_Mode External Clock Mode 1 - Rising edges of the selected trigger (TRGI) clock the counter. 7 DIER DIER DMA/Interrupt enable register 0xC 0x20 read-write 0x00000000 TDE Trigger DMA request enable 14 1 TDE Disabled Trigger DMA request disabled 0 Enabled Trigger DMA request enabled 1 4 0x1 1-4 CC%sDE Capture/Compare %s DMA request enable 9 1 CC1DE Disabled CCx DMA request disabled 0 Enabled CCx DMA request enabled 1 UDE Update DMA request enable 8 1 UDE Disabled Update DMA request disabled 0 Enabled Update DMA request enabled 1 TIE Trigger interrupt enable 6 1 TIE Disabled Trigger interrupt disabled 0 Enabled Trigger interrupt enabled 1 4 0x1 1-4 CC%sIE Capture/Compare %s interrupt enable 1 1 CC1IE Disabled CCx interrupt disabled 0 Enabled CCx interrupt enabled 1 UIE Update interrupt enable 0 1 UIE Disabled Update interrupt disabled 0 Enabled Update interrupt enabled 1 SR SR status register 0x10 0x20 read-write 0x00000000 4 0x1 1-4 CC%sOF Capture/Compare %s overcapture flag 9 1 zeroToClear CC1OFR read NoOvercapture No overcapture has been detected 0 Overcapture The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set 1 CC1OFW write Clear Clear flag 0 TIF Trigger interrupt flag 6 1 zeroToClear TIFR read NoTrigger No trigger event occurred 0 Trigger Trigger interrupt pending 1 TIFW write Clear Clear flag 0 4 0x1 1-4 CC%sIF Capture/compare %s interrupt flag 1 1 zeroToClear CC1IFR read NoMatch No campture/compare has been detected 0 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. 1 CC1IFW write Clear Clear flag 0 UIF Update interrupt flag 0 1 zeroToClear UIFR read NoUpdateOccurred No update occurred 0 UpdatePending Update interrupt pending 1 UIFW write Clear Clear flag 0 EGR EGR event generation register 0x14 0x20 write-only 0x00000000 TG Trigger generation 6 1 TGW Trigger The TIF flag is set in TIMx_SR register. Related interrupt or DMA transfer can occur if enabled. 1 4 0x1 1-4 CC%sG Capture/compare %s generation 1 1 CC1GW 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. 1 UG Update generation 0 1 UG Update Re-initializes the timer counter and generates an update of the registers. 1 CCMR1_Output CCMR1_Output capture/compare mode register 1 (output mode) 0x18 0x20 read-write 0x00000000 2 0x8 1-2 CC%sS Capture/Compare %s selection 0 2 CC1S Output CCx channel is configured as output 0 2 0x8 1-2 OC%sFE Output compare %s fast enable 2 1 OC1FE Disabled Fast output disabled 0 Enabled Fast output enabled 1 2 0x8 1-2 OC%sPE Output compare %s preload enable 3 1 OC1PE Disabled Preload register on CCRx disabled. New values written to CCRx are taken into account immediately 0 Enabled Preload register on CCRx enabled. Preload value is loaded into active register on each update event 1 2 0x8 1-2 OC%sM Output compare %s mode 4 3 OC1M 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 0 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 1 InactiveOnMatch Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved 2 Toggle OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved 3 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 4 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 5 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 6 PwmMode2 Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1 7 2 0x8 1-2 OC%sCE Output compare %s clear enable 7 1 OC1CE Disabled OCxRef is not affected by the ETRF signal 0 Enabled OCxRef is cleared as soon as a High level is detected on ETRF signal 1 2 0x8 1-2 OC%sM_3 Output compare %s mode, bit 3 16 1 OC1M_3 Normal Normal output compare mode (modes 0-7) 0 Extended Extended output compare mode (modes 7-15) 1 CCMR1_Input CCMR1_Input capture/compare mode register 1 (input mode) CCMR1_Output 0x18 0x20 read-write 0x00000000 2 0x8 1-2 IC%sF Input capture %s filter 4 4 ICFilter NoFilter No filter, sampling is done at fDTS 0 FCK_INT_N2 fSAMPLING=fCK_INT, N=2 1 FCK_INT_N4 fSAMPLING=fCK_INT, N=4 2 FCK_INT_N8 fSAMPLING=fCK_INT, N=8 3 FDTS_Div2_N6 fSAMPLING=fDTS/2, N=6 4 FDTS_Div2_N8 fSAMPLING=fDTS/2, N=8 5 FDTS_Div4_N6 fSAMPLING=fDTS/4, N=6 6 FDTS_Div4_N8 fSAMPLING=fDTS/4, N=8 7 FDTS_Div8_N6 fSAMPLING=fDTS/8, N=6 8 FDTS_Div8_N8 fSAMPLING=fDTS/8, N=8 9 FDTS_Div16_N5 fSAMPLING=fDTS/16, N=5 10 FDTS_Div16_N6 fSAMPLING=fDTS/16, N=6 11 FDTS_Div16_N8 fSAMPLING=fDTS/16, N=8 12 FDTS_Div32_N5 fSAMPLING=fDTS/32, N=5 13 FDTS_Div32_N6 fSAMPLING=fDTS/32, N=6 14 FDTS_Div32_N8 fSAMPLING=fDTS/32, N=8 15 2 0x8 1-2 IC%sPSC Input capture %s prescaler 2 2 ICPrescaler NoPrescaler No prescaler, capture is done each time an edge is detected on the capture input 0 TwoEvents Capture is done once every 2 events 1 FourEvents Capture is done once every 4 events 2 EightEvents Capture is done once every 8 events 3 CC2S Capture/Compare 2 selection 8 2 CC2S TI2 CC2 channel is configured as input, IC2 is mapped on TI2 1 TI1 CC2 channel is configured as input, IC2 is mapped on TI1 2 TRC CC2 channel is configured as input, IC2 is mapped on TRC 3 CC1S Capture/Compare 1 selection 0 2 CC1S TI1 CC1 channel is configured as input, IC1 is mapped on TI1 1 TI2 CC1 channel is configured as input, IC1 is mapped on TI2 2 TRC CC1 channel is configured as input, IC1 is mapped on TRC 3 CCMR2_Output CCMR2_Output capture/compare mode register 2 (output mode) 0x1C 0x20 read-write 0x00000000 2 0x8 3-4 OC%sM_3 Output compare %s mode, bit 3 16 1 2 0x8 3-4 OC%sCE Output compare %s clear enable 7 1 2 0x8 3-4 OC%sM Output compare %s mode 4 3 2 0x8 3-4 OC%sPE Output compare %s preload enable 3 1 2 0x8 3-4 OC%sFE Output compare %s fast enable 2 1 2 0x8 3-4 CC%sS Capture/Compare %s selection 0 2 CCMR2_Input CCMR2_Input capture/compare mode register 2 (input mode) CCMR2_Output 0x1C 0x20 read-write 0x00000000 2 0x8 3-4 IC%sF Input capture %s filter 4 4 2 0x8 3-4 IC%sPSC Input capture %s prescaler 2 2 CC4S Capture/Compare 4 selection 8 2 CC4S TI4 CC4 channel is configured as input, IC4 is mapped on TI4 1 TI3 CC4 channel is configured as input, IC4 is mapped on TI3 2 TRC CC4 channel is configured as input, IC4 is mapped on TRC 3 CC3S Capture/compare 3 selection 0 2 CC3S TI3 CC3 channel is configured as input, IC3 is mapped on TI3 1 TI4 CC3 channel is configured as input, IC3 is mapped on TI4 2 TRC CC3 channel is configured as input, IC3 is mapped on TRC 3 CCER CCER capture/compare enable register 0x20 0x20 read-write 0x00000000 4 0x4 1-4 CC%sNP Capture/Compare %s output Polarity 3 1 4 0x4 1-4 CC%sP Capture/Compare %s output Polarity 1 1 CC1P RisingEdge Noninverted/rising edge 0 FallingEdge Inverted/falling edge 1 4 0x4 1-4 CC%sE Capture/Compare %s output enable 0 1 CC1E Disabled Capture disabled 0 Enabled Capture enabled 1 CNT CNT counter 0x24 0x20 read-write 0x00000000 CNT Counter value 0 16 0 65535 PSC PSC prescaler 0x28 0x20 read-write 0x00000000 PSC Prescaler value 0 16 0 65535 ARR ARR auto-reload register 0x2C 0x20 read-write 0x00000000 ARR Auto-reload value 0 16 0 65535 4 0x4 1-4 CCR%s CCR%s capture/compare register 0x34 0x20 read-write 0x00000000 CCR Capture/Compare value 0 16 0 65535 DCR DCR DMA control register 0x48 0x20 read-write 0x00000000 DBL DMA burst length 8 5 0 18 DBA DMA base address 0 5 0 31 DMAR DMAR DMA address for full transfer 0x4C 0x20 read-write 0x00000000 DMAB DMA register for burst accesses 0 16 AF1 AF1 TIM alternate function option register 1 0x60 0x20 read-write 0x00000000 ETRSEL ETR source selection 14 4 TISEL TISEL TIM timer input selection register 0x68 0x20 read-write 0x00000000 TI1SEL TI1[0] to TI1[15] input selection 0 4 TI2SEL TI2[0] to TI2[15] input selection 8 4 TI3SEL TI3[0] to TI3[15] input selection 16 4 TI4SEL TI4[0] to TI4[15] input selection 24 4 TIM4 TIM 0x40000800 TIM4 TIM4 global interrupt 30 TIM5 TIM 0x40000C00 TIM5 TIM5 global interrupt 50 TIM6 Basic timers TIM 0x40001000 0x0 0x400 registers TIM6_DAC TIM6 global interrupt 54 CR1 CR1 control register 1 0x0 0x20 read-write 0x00000000 UIFREMAP UIF status bit remapping 11 1 ARPE Auto-reload preload enable 7 1 ARPE Disabled TIMx_APRR register is not buffered 0 Enabled TIMx_APRR register is buffered 1 OPM One-pulse mode 3 1 OPM Disabled Counter is not stopped at update event 0 Enabled Counter stops counting at the next update event (clearing the CEN bit) 1 URS Update request source 2 1 URS AnyEvent Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request 0 CounterOnly Only counter overflow/underflow generates an update interrupt or DMA request 1 UDIS Update disable 1 1 UDIS Enabled Update event enabled 0 Disabled Update event disabled 1 CEN Counter enable 0 1 CEN Disabled Counter disabled 0 Enabled Counter enabled 1 CR2 CR2 control register 2 0x4 0x20 read-write 0x00000000 MMS Master mode selection 4 3 MMS Reset Use UG bit from TIMx_EGR register 0 Enable Use CNT bit from TIMx_CEN register 1 Update Use the update event 2 DIER DIER DMA/Interrupt enable register 0xC 0x20 read-write 0x00000000 UDE Update DMA request enable 8 1 UDE Disabled Update DMA request disabled 0 Enabled Update DMA request enabled 1 UIE Update interrupt enable 0 1 UIE Disabled Update interrupt disabled 0 Enabled Update interrupt enabled 1 SR SR status register 0x10 0x20 read-write 0x00000000 UIF Update interrupt flag 0 1 zeroToClear UIFR read NoUpdateOccurred No update occurred 0 UpdatePending Update interrupt pending 1 UIFW write Clear Clear flag 0 EGR EGR event generation register 0x14 0x20 write-only 0x00000000 UG Update generation 0 1 UG Update Re-initializes the timer counter and generates an update of the registers. 1 CNT CNT counter 0x24 0x20 read-write 0x00000000 CNT Low counter value 0 16 0 65535 UIFCPY UIF Copy 31 1 PSC PSC prescaler 0x28 0x20 read-write 0x00000000 PSC Prescaler value 0 16 0 65535 ARR ARR auto-reload register 0x2C 0x20 read-write 0x00000000 ARR Low Auto-reload value 0 16 0 65535 TIM7 TIM 0x40001400 TIM7 TIM7 global interrupt 55 TIM8 TIM 0x40010400 TIM8_BRK_TIM12 TIM8 and 12 break global 43 TIM8_UP_TIM13 TIM8 and 13 update global 44 TIM8_TRG_COM_TIM14 TIM8 and 14 trigger /commutation and global 45 TIM8_CC TIM8 capture / compare 46 TIM12 General purpose timers TIM 0x40001800 0x0 0x400 registers CR1 CR1 control register 1 0x0 0x20 read-write 0x00000000 UIFREMAP UIF status bit remapping 11 1 CKD Clock division 8 2 CKD Div1 t_DTS = t_CK_INT 0 Div2 t_DTS = 2 à t_CK_INT 1 Div4 t_DTS = 4 à t_CK_INT 2 ARPE Auto-reload preload enable 7 1 ARPE Disabled TIMx_APRR register is not buffered 0 Enabled TIMx_APRR register is buffered 1 OPM One-pulse mode 3 1 OPM Disabled Counter is not stopped at update event 0 Enabled Counter stops counting at the next update event (clearing the CEN bit) 1 URS Update request source 2 1 URS AnyEvent Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request 0 CounterOnly Only counter overflow/underflow generates an update interrupt or DMA request 1 UDIS Update disable 1 1 UDIS Enabled Update event enabled 0 Disabled Update event disabled 1 CEN Counter enable 0 1 CEN Disabled Counter disabled 0 Enabled Counter enabled 1 CR2 CR2 control register 2 0x4 0x20 read-write 0x00000000 TI1S TI1 selection 7 1 MMS Master mode selection 4 3 SMCR SMCR slave mode control register 0x8 0x20 read-write 0x00000000 TS2 Trigger selection 20 2 SMS_3 Slave mode selection - bit 3 16 1 MSM Master/Slave mode 7 1 TS Trigger selection 4 3 SMS Slave mode selection 0 3 DIER DIER DMA/Interrupt enable register 0xC 0x20 read-write 0x00000000 TIE Trigger interrupt enable 6 1 TIE Disabled Trigger interrupt disabled 0 Enabled Trigger interrupt enabled 1 2 0x1 1-2 CC%sIE Capture/Compare %s interrupt enable 1 1 CC1IE Disabled CCx interrupt disabled 0 Enabled CCx interrupt enabled 1 UIE Update interrupt enable 0 1 UIE Disabled Update interrupt disabled 0 Enabled Update interrupt enabled 1 SR SR status register 0x10 0x20 read-write 0x00000000 2 0x1 1-2 CC%sOF Capture/Compare %s overcapture flag 9 1 zeroToClear CC1OFR read NoOvercapture No overcapture has been detected 0 Overcapture The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set 1 CC1OFW write Clear Clear flag 0 TIF Trigger interrupt flag 6 1 zeroToClear TIFR read NoTrigger No trigger event occurred 0 Trigger Trigger interrupt pending 1 TIFW write Clear Clear flag 0 2 0x1 1-2 CC%sIF Capture/compare %s interrupt flag 1 1 zeroToClear CC1IFR read NoMatch No campture/compare has been detected 0 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. 1 CC1IFW write Clear Clear flag 0 UIF Update interrupt flag 0 1 zeroToClear UIFR read NoUpdateOccurred No update occurred 0 UpdatePending Update interrupt pending 1 UIFW write Clear Clear flag 0 EGR EGR event generation register 0x14 0x20 write-only 0x00000000 TG Trigger generation 6 1 TGW Trigger The TIF flag is set in TIMx_SR register. Related interrupt or DMA transfer can occur if enabled. 1 2 0x1 1-2 CC%sG Capture/compare %s generation 1 1 CC1GW 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. 1 UG Update generation 0 1 UG Update Re-initializes the timer counter and generates an update of the registers. 1 CCMR1_Output CCMR1_Output capture/compare mode register 1 (output mode) 0x18 0x20 read-write 0x00000000 2 0x8 1-2 CC%sS Capture/Compare %s selection 0 2 CC1S Output CCx channel is configured as output 0 2 0x8 1-2 OC%sFE Output compare %s fast enable 2 1 OC1FE Disabled Fast output disabled 0 Enabled Fast output enabled 1 2 0x8 1-2 OC%sPE Output compare %s preload enable 3 1 OC1PE Disabled Preload register on CCRx disabled. New values written to CCRx are taken into account immediately 0 Enabled Preload register on CCRx enabled. Preload value is loaded into active register on each update event 1 2 0x8 1-2 OC%sM Output compare %s mode 4 3 OC1M 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 0 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 1 InactiveOnMatch Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved 2 Toggle OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved 3 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 4 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 5 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 / Reserved 6 PwmMode2 Inversely to PwmMode1 / Reserved 7 2 0x8 1-2 OC%sCE Output compare %s clear enable 7 1 2 0x8 1-2 OC%sM_3 Output compare %s mode, bit 3 16 1 OC1M_3 Normal Normal output compare mode (modes 0-7) 0 Extended Extended output compare mode (modes 7-15) 1 CCMR1_Input CCMR1_Input capture/compare mode register 1 (input mode) CCMR1_Output 0x18 0x20 read-write 0x00000000 2 0x8 1-2 IC%sF Input capture %s filter 4 4 ICFilter NoFilter No filter, sampling is done at fDTS 0 FCK_INT_N2 fSAMPLING=fCK_INT, N=2 1 FCK_INT_N4 fSAMPLING=fCK_INT, N=4 2 FCK_INT_N8 fSAMPLING=fCK_INT, N=8 3 FDTS_Div2_N6 fSAMPLING=fDTS/2, N=6 4 FDTS_Div2_N8 fSAMPLING=fDTS/2, N=8 5 FDTS_Div4_N6 fSAMPLING=fDTS/4, N=6 6 FDTS_Div4_N8 fSAMPLING=fDTS/4, N=8 7 FDTS_Div8_N6 fSAMPLING=fDTS/8, N=6 8 FDTS_Div8_N8 fSAMPLING=fDTS/8, N=8 9 FDTS_Div16_N5 fSAMPLING=fDTS/16, N=5 10 FDTS_Div16_N6 fSAMPLING=fDTS/16, N=6 11 FDTS_Div16_N8 fSAMPLING=fDTS/16, N=8 12 FDTS_Div32_N5 fSAMPLING=fDTS/32, N=5 13 FDTS_Div32_N6 fSAMPLING=fDTS/32, N=6 14 FDTS_Div32_N8 fSAMPLING=fDTS/32, N=8 15 2 0x8 1-2 IC%sPSC Input capture %s prescaler 2 2 ICPrescaler NoPrescaler No prescaler, capture is done each time an edge is detected on the capture input 0 TwoEvents Capture is done once every 2 events 1 FourEvents Capture is done once every 4 events 2 EightEvents Capture is done once every 8 events 3 CC2S Capture/Compare 2 selection 8 2 CC2S TI2 CC2 channel is configured as input, IC2 is mapped on TI2 1 TI1 CC2 channel is configured as input, IC2 is mapped on TI1 2 TRC CC2 channel is configured as input, IC2 is mapped on TRC 3 CC1S Capture/Compare 1 selection 0 2 CC1S TI1 CC1 channel is configured as input, IC1 is mapped on TI1 1 TI2 CC1 channel is configured as input, IC1 is mapped on TI2 2 TRC CC1 channel is configured as input, IC1 is mapped on TRC 3 CCER CCER capture/compare enable register 0x20 0x20 read-write 0x00000000 2 0x4 1-2 CC%sNP Capture/Compare %s output Polarity 3 1 2 0x4 1-2 CC%sP Capture/Compare %s output Polarity 1 1 CC1P RisingEdge Noninverted/rising edge 0 FallingEdge Inverted/falling edge 1 2 0x4 1-2 CC%sE Capture/Compare %s output enable 0 1 CC1E Disabled Capture disabled 0 Enabled Capture enabled 1 CNT CNT counter 0x24 0x20 read-write 0x00000000 CNT Counter value 0 16 0 65535 PSC PSC prescaler 0x28 0x20 read-write 0x00000000 PSC Prescaler value 0 16 0 65535 ARR ARR auto-reload register 0x2C 0x20 read-write 0x00000000 ARR Auto-reload value 0 16 0 65535 2 0x4 1-2 CCR%s CCR%s capture/compare register 0x34 0x20 read-write 0x00000000 CCR Capture/Compare value 0 16 0 65535 TISEL TISEL TIM timer input selection register 0x68 0x20 read-write 0x00000000 TI1SEL TI1[0] to TI1[15] input selection 0 4 TI2SEL TI2[0] to TI2[15] input selection 8 4 TIM13 General purpose timers TIM 0x40001C00 0x0 0x400 registers CR1 CR1 control register 1 0x0 0x20 read-write 0x00000000 UIFREMAP UIF status bit remapping 11 1 CKD Clock division 8 2 CKD Div1 t_DTS = t_CK_INT 0 Div2 t_DTS = 2 à t_CK_INT 1 Div4 t_DTS = 4 à t_CK_INT 2 ARPE Auto-reload preload enable 7 1 ARPE Disabled TIMx_APRR register is not buffered 0 Enabled TIMx_APRR register is buffered 1 OPM One-pulse mode 3 1 OPM Disabled Counter is not stopped at update event 0 Enabled Counter stops counting at the next update event (clearing the CEN bit) 1 URS Update request source 2 1 URS AnyEvent Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request 0 CounterOnly Only counter overflow/underflow generates an update interrupt or DMA request 1 UDIS Update disable 1 1 UDIS Enabled Update event enabled 0 Disabled Update event disabled 1 CEN Counter enable 0 1 CEN Disabled Counter disabled 0 Enabled Counter enabled 1 DIER DIER DMA/Interrupt enable register 0xC 0x20 read-write 0x00000000 1 0x0 1-1 CC%sIE Capture/Compare %s interrupt enable 1 1 CC1IE Disabled CCx interrupt disabled 0 Enabled CCx interrupt enabled 1 UIE Update interrupt enable 0 1 UIE Disabled Update interrupt disabled 0 Enabled Update interrupt enabled 1 SR SR status register 0x10 0x20 read-write 0x00000000 1 0x0 1-1 CC%sOF Capture/Compare %s overcapture flag 9 1 zeroToClear CC1OFR read NoOvercapture No overcapture has been detected 0 Overcapture The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set 1 CC1OFW write Clear Clear flag 0 1 0x0 1-1 CC%sIF Capture/compare %s interrupt flag 1 1 zeroToClear CC1IFR read NoMatch No campture/compare has been detected 0 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. 1 CC1IFW write Clear Clear flag 0 UIF Update interrupt flag 0 1 zeroToClear UIFR read NoUpdateOccurred No update occurred 0 UpdatePending Update interrupt pending 1 UIFW write Clear Clear flag 0 EGR EGR event generation register 0x14 0x20 write-only 0x00000000 1 0x0 1-1 CC%sG Capture/compare %s generation 1 1 CC1GW 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. 1 UG Update generation 0 1 UG Update Re-initializes the timer counter and generates an update of the registers. 1 CCMR1_Output CCMR1_Output capture/compare mode register 1 (output mode) 0x18 0x20 read-write 0x00000000 1 0x0 1-1 CC%sS Capture/Compare %s selection 0 2 CC1S Output CCx channel is configured as output 0 1 0x0 1-1 OC%sFE Output compare %s fast enable 2 1 OC1FE Disabled Fast output disabled 0 Enabled Fast output enabled 1 1 0x0 1-1 OC%sPE Output compare %s preload enable 3 1 OC1PE Disabled Preload register on CCRx disabled. New values written to CCRx are taken into account immediately 0 Enabled Preload register on CCRx enabled. Preload value is loaded into active register on each update event 1 1 0x0 1-1 OC%sM Output compare %s mode 4 3 OC1M Frozen The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs 0 ActiveOnMatch Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register 1 InactiveOnMatch Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register 2 Toggle OCyREF toggles when TIMx_CNT=TIMx_CCRy 3 ForceInactive OCyREF is forced low 4 ForceActive OCyREF is forced high 5 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 6 PwmMode2 Inversely to PwmMode1 7 1 0x0 1-1 OC%sCE Output compare %s clear enable 7 1 1 0x0 1-1 OC%sM_3 Output compare %s mode, bit 3 16 1 CCMR1_Input CCMR1_Input capture/compare mode register 1 (input mode) CCMR1_Output 0x18 0x20 read-write 0x00000000 1 0x0 1-1 IC%sF Input capture %s filter 4 4 ICFilter NoFilter No filter, sampling is done at fDTS 0 FCK_INT_N2 fSAMPLING=fCK_INT, N=2 1 FCK_INT_N4 fSAMPLING=fCK_INT, N=4 2 FCK_INT_N8 fSAMPLING=fCK_INT, N=8 3 FDTS_Div2_N6 fSAMPLING=fDTS/2, N=6 4 FDTS_Div2_N8 fSAMPLING=fDTS/2, N=8 5 FDTS_Div4_N6 fSAMPLING=fDTS/4, N=6 6 FDTS_Div4_N8 fSAMPLING=fDTS/4, N=8 7 FDTS_Div8_N6 fSAMPLING=fDTS/8, N=6 8 FDTS_Div8_N8 fSAMPLING=fDTS/8, N=8 9 FDTS_Div16_N5 fSAMPLING=fDTS/16, N=5 10 FDTS_Div16_N6 fSAMPLING=fDTS/16, N=6 11 FDTS_Div16_N8 fSAMPLING=fDTS/16, N=8 12 FDTS_Div32_N5 fSAMPLING=fDTS/32, N=5 13 FDTS_Div32_N6 fSAMPLING=fDTS/32, N=6 14 FDTS_Div32_N8 fSAMPLING=fDTS/32, N=8 15 1 0x0 1-1 IC%sPSC Input capture %s prescaler 2 2 ICPrescaler NoPrescaler No prescaler, capture is done each time an edge is detected on the capture input 0 TwoEvents Capture is done once every 2 events 1 FourEvents Capture is done once every 4 events 2 EightEvents Capture is done once every 8 events 3 CC1S Capture/Compare 1 selection 0 2 CC1S TI1 CC1 channel is configured as input, IC1 is mapped on TI1 1 CCER CCER capture/compare enable register 0x20 0x20 read-write 0x00000000 1 0x0 1-1 CC%sNP Capture/Compare %s output Polarity 3 1 1 0x0 1-1 CC%sP Capture/Compare %s output Polarity 1 1 CC1P RisingEdge Noninverted/rising edge 0 FallingEdge Inverted/falling edge 1 1 0x0 1-1 CC%sE Capture/Compare %s output enable 0 1 CC1E Disabled Capture disabled 0 Enabled Capture enabled 1 CNT CNT counter 0x24 0x20 read-write 0x00000000 CNT Counter value 0 16 0 65535 PSC PSC prescaler 0x28 0x20 read-write 0x00000000 PSC Prescaler value 0 16 0 65535 ARR ARR auto-reload register 0x2C 0x20 read-write 0x00000000 ARR Auto-reload value 0 16 0 65535 1 0x4 1-1 CCR%s CCR%s capture/compare register 0x34 0x20 read-write 0x00000000 CCR Capture/Compare value 0 16 0 65535 TISEL TISEL TIM timer input selection register 0x68 0x20 read-write 0x00000000 TI1SEL TI1[0] to TI1[15] input selection 0 4 TIM14 TIM 0x40002000 TIM15 General purpose timers TIM 0x40014000 0x0 0x400 registers TIM15 TIM15 global interrupt 116 CR1 CR1 control register 1 0x0 0x20 read-write 0x00000000 CEN Counter enable 0 1 CEN Disabled Counter disabled 0 Enabled Counter enabled 1 UDIS Update disable 1 1 UDIS Enabled Update event enabled 0 Disabled Update event disabled 1 URS Update request source 2 1 URS AnyEvent Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request 0 CounterOnly Only counter overflow/underflow generates an update interrupt or DMA request 1 OPM One-pulse mode 3 1 OPM Disabled Counter is not stopped at update event 0 Enabled Counter stops counting at the next update event (clearing the CEN bit) 1 ARPE Auto-reload preload enable 7 1 ARPE Disabled TIMx_APRR register is not buffered 0 Enabled TIMx_APRR register is buffered 1 CKD Clock division 8 2 CKD Div1 t_DTS = t_CK_INT 0 Div2 t_DTS = 2 à t_CK_INT 1 Div4 t_DTS = 4 à t_CK_INT 2 UIFREMAP UIF status bit remapping 11 1 CR2 CR2 control register 2 0x4 0x20 read-write 0x00000000 CCPC Capture/compare preloaded control 0 1 CCPC NotPreloaded CCxE, CCxNE and OCxM bits are not preloaded 0 Preloaded CCxE, CCxNE and OCxM bits are preloaded 1 CCUS Capture/compare control update selection 2 1 CCUS Sw When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit only 0 SwOrEdge 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 1 CCDS Capture/compare DMA selection 3 1 CCDS OnCompare CCx DMA request sent when CCx event occurs 0 OnUpdate CCx DMA request sent when update event occurs 1 MMS Master mode selection 4 3 TI1S TI1 selection 7 1 2 0x2 1-2 OIS%s Output Idle state (OC%s output) 8 1 OIS1 Reset OCx=0 (after a dead-time if OCx(N) is implemented) when MOE=0 0 Set OCx=1 (after a dead-time if OCx(N) is implemented) when MOE=0 1 1 0x0 1-1 OIS%sN Output Idle state (OC%sN output) 9 1 OIS1N Reset OCxN=0 after a dead-time when MOE=0 0 Set OCxN=1 after a dead-time when MOE=0 1 SMCR SMCR slave mode control register 0x8 0x20 read-write 0x00000000 SMS Slave mode selection 0 3 TS Trigger selection 4 3 MSM Master/Slave mode 7 1 SMS_3 Slave mode selection bit 3 16 1 TS2 Trigger selection - bit 4:3 20 2 DIER DIER DMA/Interrupt enable register 0xC 0x20 read-write 0x00000000 UIE Update interrupt enable 0 1 UIE Disabled Update interrupt disabled 0 Enabled Update interrupt enabled 1 2 0x1 1-2 CC%sIE Capture/Compare %s interrupt enable 1 1 CC1IE Disabled CCx interrupt disabled 0 Enabled CCx interrupt enabled 1 COMIE COM interrupt enable 5 1 COMIE Disabled COM interrupt disabled 0 Enabled COM interrupt enabled 1 TIE Trigger interrupt enable 6 1 TIE Disabled Trigger interrupt disabled 0 Enabled Trigger interrupt enabled 1 BIE Break interrupt enable 7 1 BIE Disabled Break interrupt disabled 0 Enabled Break interrupt enabled 1 UDE Update DMA request enable 8 1 UDE Disabled Update DMA request disabled 0 Enabled Update DMA request enabled 1 2 0x1 1-2 CC%sDE Capture/Compare %s DMA request enable 9 1 CC1DE Disabled CCx DMA request disabled 0 Enabled CCx DMA request enabled 1 COMDE COM DMA request enable 13 1 COMDE Disabled COM DMA request disabled 0 Enabled COM DMA request enabled 1 TDE Trigger DMA request enable 14 1 TDE Disabled Trigger DMA request disabled 0 Enabled Trigger DMA request enabled 1 SR SR status register 0x10 0x20 read-write 0x00000000 2 0x1 1-2 CC%sOF Capture/Compare %s overcapture flag 9 1 zeroToClear CC1OFR read NoOvercapture No overcapture has been detected 0 Overcapture The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set 1 CC1OFW write Clear Clear flag 0 BIF Break interrupt flag 7 1 zeroToClear BIFR read NoTrigger No break event occurred 0 Trigger An active level has been detected on the break input. An interrupt is generated if BIE=1 in the TIMx_DIER register 1 BIFW write Clear Clear flag 0 TIF Trigger interrupt flag 6 1 zeroToClear TIFR read NoTrigger No trigger event occurred 0 Trigger Trigger interrupt pending 1 TIFW write Clear Clear flag 0 COMIF COM interrupt flag 5 1 zeroToClear COMIFR read NoCOM No COM event occurred 0 COM COM interrupt pending 1 COMIFW write Clear Clear flag 0 2 0x1 1-2 CC%sIF Capture/compare %s interrupt flag 1 1 zeroToClear CC1IFR read NoMatch No campture/compare has been detected 0 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. 1 CC1IFW write Clear Clear flag 0 UIF Update interrupt flag 0 1 zeroToClear UIFR read NoUpdateOccurred No update occurred 0 UpdatePending Update interrupt pending 1 UIFW write Clear Clear flag 0 EGR EGR event generation register 0x14 0x20 write-only 0x00000000 BG Break generation 7 1 BGW Trigger A break event is generated. MOE bit is cleared and BIF flag is set. Related interrupt or DMA transfer can occur if enabled 1 TG Trigger generation 6 1 TGW Trigger The TIF flag is set in TIMx_SR register. Related interrupt or DMA transfer can occur if enabled. 1 COMG Capture/Compare control update generation 5 1 COMGW Trigger When CCPC bit is set, it allows CCxE, CCxNE and OCxM bits to be updated 1 2 0x1 1-2 CC%sG Capture/compare %s generation 1 1 CC1GW 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. 1 UG Update generation 0 1 UG Update Re-initializes the timer counter and generates an update of the registers. 1 CCMR1_Output CCMR1_Output capture/compare mode register (output mode) 0x18 0x20 read-write 0x00000000 2 0x8 1-2 CC%sS Capture/Compare %s selection 0 2 CC1S Output CCx channel is configured as output 0 2 0x8 1-2 OC%sFE Output compare %s fast enable 2 1 OC1FE Disabled Fast output disabled 0 Enabled Fast output enabled 1 2 0x8 1-2 OC%sPE Output compare %s preload enable 3 1 OC1PE Disabled Preload register on CCRx disabled. New values written to CCRx are taken into account immediately 0 Enabled Preload register on CCRx enabled. Preload value is loaded into active register on each update event 1 2 0x8 1-2 OC%sM Output compare %s mode 4 3 OC1M 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 0 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 1 InactiveOnMatch Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved 2 Toggle OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved 3 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 4 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 5 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 / Reserved 6 PwmMode2 Inversely to PwmMode1 / Reserved 7 2 0x8 1-2 OC%sM_3 Output compare %s mode, bit 3 16 1 OC1M_3 Normal Normal output compare mode (modes 0-7) 0 Extended Extended output compare mode (modes 7-15) 1 CCMR1_Input CCMR1_Input capture/compare mode register 1 (input mode) CCMR1_Output 0x18 0x20 read-write 0x00000000 2 0x8 1-2 IC%sF Input capture %s filter 4 4 ICFilter NoFilter No filter, sampling is done at fDTS 0 FCK_INT_N2 fSAMPLING=fCK_INT, N=2 1 FCK_INT_N4 fSAMPLING=fCK_INT, N=4 2 FCK_INT_N8 fSAMPLING=fCK_INT, N=8 3 FDTS_Div2_N6 fSAMPLING=fDTS/2, N=6 4 FDTS_Div2_N8 fSAMPLING=fDTS/2, N=8 5 FDTS_Div4_N6 fSAMPLING=fDTS/4, N=6 6 FDTS_Div4_N8 fSAMPLING=fDTS/4, N=8 7 FDTS_Div8_N6 fSAMPLING=fDTS/8, N=6 8 FDTS_Div8_N8 fSAMPLING=fDTS/8, N=8 9 FDTS_Div16_N5 fSAMPLING=fDTS/16, N=5 10 FDTS_Div16_N6 fSAMPLING=fDTS/16, N=6 11 FDTS_Div16_N8 fSAMPLING=fDTS/16, N=8 12 FDTS_Div32_N5 fSAMPLING=fDTS/32, N=5 13 FDTS_Div32_N6 fSAMPLING=fDTS/32, N=6 14 FDTS_Div32_N8 fSAMPLING=fDTS/32, N=8 15 2 0x8 1-2 IC%sPSC Input capture %s prescaler 2 2 ICPrescaler NoPrescaler No prescaler, capture is done each time an edge is detected on the capture input 0 TwoEvents Capture is done once every 2 events 1 FourEvents Capture is done once every 4 events 2 EightEvents Capture is done once every 8 events 3 CC2S Capture/Compare 2 selection 8 2 CC2S TI2 CC2 channel is configured as input, IC2 is mapped on TI2 1 TI1 CC2 channel is configured as input, IC2 is mapped on TI1 2 TRC CC2 channel is configured as input, IC2 is mapped on TRC 3 CC1S Capture/Compare 1 selection 0 2 CC1S TI1 CC1 channel is configured as input, IC1 is mapped on TI1 1 TI2 CC1 channel is configured as input, IC1 is mapped on TI2 2 TRC CC1 channel is configured as input, IC1 is mapped on TRC 3 CCER CCER capture/compare enable register 0x20 0x20 read-write 0x00000000 2 0x4 1-2 CC%sNP Capture/Compare %s output Polarity 3 1 CC1NP ActiveHigh OCxN active high 0 ActiveLow OCxN active low 1 2 0x4 1-2 CC%sP Capture/Compare %s output Polarity 1 1 CC1P RisingEdge Noninverted/rising edge 0 FallingEdge Inverted/falling edge 1 2 0x4 1-2 CC%sE Capture/Compare %s output enable 0 1 CC1E Disabled Capture disabled 0 Enabled Capture enabled 1 1 0x0 1-1 CC%sNE Capture/Compare %s complementary output enable 2 1 CC1NE Disabled Complementary output disabled 0 Enabled Complementary output enabled 1 CNT CNT counter 0x24 0x20 0x00000000 CNT counter value 0 16 read-write 0 65535 UIFCPY UIF copy 31 1 read-only PSC PSC prescaler 0x28 0x20 read-write 0x00000000 PSC Prescaler value 0 16 0 65535 ARR ARR auto-reload register 0x2C 0x20 read-write 0x00000000 ARR Auto-reload value 0 16 0 65535 RCR RCR repetition counter register 0x30 0x20 read-write 0x00000000 REP Repetition counter value 0 8 0 255 2 0x4 1-2 CCR%s CCR%s capture/compare register 0x34 0x20 read-write 0x00000000 CCR Capture/Compare value 0 16 0 65535 BDTR BDTR break and dead-time register 0x44 0x20 read-write 0x00000000 MOE Main output enable 15 1 MOE DisabledIdle OC/OCN are disabled or forced idle depending on OSSI 0 Enabled OC/OCN are enabled if CCxE/CCxNE are set 1 AOE Automatic output enable 14 1 AOE Manual MOE can be set only by software 0 Automatic MOE can be set by software or automatically at the next update event (if none of the break inputs BRK and BRK2 is active) 1 BKP Break polarity 13 1 BKP ActiveLow Break input BRKx is active low 0 ActiveHigh Break input BRKx is active high 1 BKE Break enable 12 1 BKE Disabled Break function x disabled 0 Enabled Break function x enabled 1 OSSR Off-state selection for Run mode 11 1 OSSR HiZ When inactive, OC/OCN outputs are disabled 0 IdleLevel When inactive, OC/OCN outputs are enabled with their inactive level 1 OSSI Off-state selection for Idle mode 10 1 OSSI HiZ When inactive, OC/OCN outputs are disabled 0 IdleLevel When inactive, OC/OCN outputs are forced to idle level 1 LOCK Lock configuration 8 2 LOCK Off No bit is write protected 0 Level1 Any bits except MOE, OSSR, OSSI and LOCK in TIMx_BDTR register, OISx and OISxN bits in TIMx_CR2 register can no longer be written 1 Level2 LOCK Level 1 + CC Polarity bits (CCxP/CCxNP bits in TIMx_CCER register, as long as the related channel is configured in output through the CCxS bits) as well as OSSR and OSSI bits can no longer be written 2 Level3 LOCK Level 2 + CC Control bits (OCxM and OCxPE bits in TIMx_CCMRx registers, as long as the related channel is configured in output through the CCxS bits) can no longer be written 3 DTG Dead-time generator setup 0 8 0 255 BKF Break filter 16 4 DCR DCR DMA control register 0x48 0x20 read-write 0x00000000 DBL DMA burst length 8 5 DBA DMA base address 0 5 DMAR DMAR DMA address for full transfer 0x4C 0x20 read-write 0x00000000 DMAB DMA register for burst accesses 0 16 AF1 AF1 TIM15 alternate fdfsdm1_breakon register 1 0x60 0x20 read-write 0x00000000 BKINE BRK BKIN input enable 0 1 BKCMP1E BRK COMP1 enable 1 1 BKCMP2E BRK COMP2 enable 2 1 BKDF1BK0E BRK dfsdm1_break[0] enable 8 1 BKINP BRK BKIN input polarity 9 1 BKCMP1P BRK COMP1 input polarity 10 1 BKCMP2P BRK COMP2 input polarity 11 1 TISEL TISEL TIM15 input selection register 0x68 0x20 read-write 0x00000000 TI1SEL selects TI1[0] to TI1[15] input 0 4 TI2SEL selects TI2[0] to TI2[15] input 8 4 TIM16 General-purpose-timers TIM 0x40014400 0x0 0x400 registers TIM16 TIM16 global interrupt 117 CR1 CR1 control register 1 0x0 0x20 read-write 0x00000000 CEN Counter enable 0 1 CEN Disabled Counter disabled 0 Enabled Counter enabled 1 UDIS Update disable 1 1 UDIS Enabled Update event enabled 0 Disabled Update event disabled 1 URS Update request source 2 1 URS AnyEvent Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request 0 CounterOnly Only counter overflow/underflow generates an update interrupt or DMA request 1 OPM One-pulse mode 3 1 OPM Disabled Counter is not stopped at update event 0 Enabled Counter stops counting at the next update event (clearing the CEN bit) 1 ARPE Auto-reload preload enable 7 1 ARPE Disabled TIMx_APRR register is not buffered 0 Enabled TIMx_APRR register is buffered 1 CKD Clock division 8 2 CKD Div1 t_DTS = t_CK_INT 0 Div2 t_DTS = 2 à t_CK_INT 1 Div4 t_DTS = 4 à t_CK_INT 2 UIFREMAP UIF status bit remapping 11 1 CR2 CR2 control register 2 0x4 0x20 read-write 0x00000000 1 0x0 1-1 OIS%sN Output Idle state (OC%sN output) 9 1 OIS1N Reset OCxN=0 after a dead-time when MOE=0 0 Set OCxN=1 after a dead-time when MOE=0 1 1 0x0 1-1 OIS%s Output Idle state (OC%s output) 8 1 OIS1 Reset OCx=0 (after a dead-time if OCx(N) is implemented) when MOE=0 0 Set OCx=1 (after a dead-time if OCx(N) is implemented) when MOE=0 1 CCDS Capture/compare DMA selection 3 1 CCDS OnCompare CCx DMA request sent when CCx event occurs 0 OnUpdate CCx DMA request sent when update event occurs 1 CCUS Capture/compare control update selection 2 1 CCUS Sw When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit only 0 SwOrEdge 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 1 CCPC Capture/compare preloaded control 0 1 CCPC NotPreloaded CCxE, CCxNE and OCxM bits are not preloaded 0 Preloaded CCxE, CCxNE and OCxM bits are preloaded 1 DIER DIER DMA/Interrupt enable register 0xC 0x20 read-write 0x00000000 UIE Update interrupt enable 0 1 UIE Disabled Update interrupt disabled 0 Enabled Update interrupt enabled 1 1 0x0 1-1 CC%sIE Capture/Compare %s interrupt enable 1 1 CC1IE Disabled CCx interrupt disabled 0 Enabled CCx interrupt enabled 1 COMIE COM interrupt enable 5 1 COMIE Disabled COM interrupt disabled 0 Enabled COM interrupt enabled 1 BIE Break interrupt enable 7 1 BIE Disabled Break interrupt disabled 0 Enabled Break interrupt enabled 1 UDE Update DMA request enable 8 1 UDE Disabled Update DMA request disabled 0 Enabled Update DMA request enabled 1 1 0x0 1-1 CC%sDE Capture/Compare %s DMA request enable 9 1 CC1DE Disabled CCx DMA request disabled 0 Enabled CCx DMA request enabled 1 COMDE COM DMA request enable 13 1 SR SR status register 0x10 0x20 read-write 0x00000000 1 0x0 1-1 CC%sOF Capture/Compare %s overcapture flag 9 1 zeroToClear CC1OFR read NoOvercapture No overcapture has been detected 0 Overcapture The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set 1 CC1OFW write Clear Clear flag 0 BIF Break interrupt flag 7 1 zeroToClear BIFR read NoTrigger No break event occurred 0 Trigger An active level has been detected on the break input. An interrupt is generated if BIE=1 in the TIMx_DIER register 1 BIFW write Clear Clear flag 0 COMIF COM interrupt flag 5 1 zeroToClear COMIFR read NoCOM No COM event occurred 0 COM COM interrupt pending 1 COMIFW write Clear Clear flag 0 1 0x0 1-1 CC%sIF Capture/compare %s interrupt flag 1 1 zeroToClear CC1IFR read NoMatch No campture/compare has been detected 0 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. 1 CC1IFW write Clear Clear flag 0 UIF Update interrupt flag 0 1 zeroToClear UIFR read NoUpdateOccurred No update occurred 0 UpdatePending Update interrupt pending 1 UIFW write Clear Clear flag 0 EGR EGR event generation register 0x14 0x20 write-only 0x00000000 BG Break generation 7 1 BGW Trigger A break event is generated. MOE bit is cleared and BIF flag is set. Related interrupt or DMA transfer can occur if enabled 1 COMG Capture/Compare control update generation 5 1 COMGW Trigger When CCPC bit is set, it allows CCxE, CCxNE and OCxM bits to be updated 1 1 0x0 1-1 CC%sG Capture/compare %s generation 1 1 CC1GW 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. 1 UG Update generation 0 1 UG Update Re-initializes the timer counter and generates an update of the registers. 1 CCMR1_Output CCMR1_Output capture/compare mode register (output mode) 0x18 0x20 read-write 0x00000000 1 0x0 1-1 CC%sS Capture/Compare %s selection 0 2 CC1S Output CCx channel is configured as output 0 1 0x0 1-1 OC%sFE Output compare %s fast enable 2 1 OC1FE Disabled Fast output disabled 0 Enabled Fast output enabled 1 1 0x0 1-1 OC%sPE Output compare %s preload enable 3 1 OC1PE Disabled Preload register on CCRx disabled. New values written to CCRx are taken into account immediately 0 Enabled Preload register on CCRx enabled. Preload value is loaded into active register on each update event 1 1 0x0 1-1 OC%sM Output compare %s mode 4 3 OC1M Frozen The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs 0 ActiveOnMatch Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register 1 InactiveOnMatch Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register 2 Toggle OCyREF toggles when TIMx_CNT=TIMx_CCRy 3 ForceInactive OCyREF is forced low 4 ForceActive OCyREF is forced high 5 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 6 PwmMode2 Inversely to PwmMode1 7 1 0x0 1-1 OC%sM_3 Output compare %s mode, bit 3 16 1 CCMR1_Input CCMR1_Input capture/compare mode register 1 (input mode) CCMR1_Output 0x18 0x20 read-write 0x00000000 1 0x0 1-1 IC%sF Input capture %s filter 4 4 ICFilter NoFilter No filter, sampling is done at fDTS 0 FCK_INT_N2 fSAMPLING=fCK_INT, N=2 1 FCK_INT_N4 fSAMPLING=fCK_INT, N=4 2 FCK_INT_N8 fSAMPLING=fCK_INT, N=8 3 FDTS_Div2_N6 fSAMPLING=fDTS/2, N=6 4 FDTS_Div2_N8 fSAMPLING=fDTS/2, N=8 5 FDTS_Div4_N6 fSAMPLING=fDTS/4, N=6 6 FDTS_Div4_N8 fSAMPLING=fDTS/4, N=8 7 FDTS_Div8_N6 fSAMPLING=fDTS/8, N=6 8 FDTS_Div8_N8 fSAMPLING=fDTS/8, N=8 9 FDTS_Div16_N5 fSAMPLING=fDTS/16, N=5 10 FDTS_Div16_N6 fSAMPLING=fDTS/16, N=6 11 FDTS_Div16_N8 fSAMPLING=fDTS/16, N=8 12 FDTS_Div32_N5 fSAMPLING=fDTS/32, N=5 13 FDTS_Div32_N6 fSAMPLING=fDTS/32, N=6 14 FDTS_Div32_N8 fSAMPLING=fDTS/32, N=8 15 1 0x0 1-1 IC%sPSC Input capture %s prescaler 2 2 ICPrescaler NoPrescaler No prescaler, capture is done each time an edge is detected on the capture input 0 TwoEvents Capture is done once every 2 events 1 FourEvents Capture is done once every 4 events 2 EightEvents Capture is done once every 8 events 3 CC1S Capture/Compare 1 selection 0 2 CC1S TI1 CC1 channel is configured as input, IC1 is mapped on TI1 1 CCER CCER capture/compare enable register 0x20 0x20 read-write 0x00000000 1 0x0 1-1 CC%sNP Capture/Compare %s output Polarity 3 1 CC1NP ActiveHigh OCxN active high 0 ActiveLow OCxN active low 1 1 0x0 1-1 CC%sNE Capture/Compare %s complementary output enable 2 1 CC1NE Disabled Complementary output disabled 0 Enabled Complementary output enabled 1 1 0x0 1-1 CC%sP Capture/Compare %s output Polarity 1 1 CC1P RisingEdge Noninverted/rising edge 0 FallingEdge Inverted/falling edge 1 1 0x0 1-1 CC%sE Capture/Compare %s output enable 0 1 CC1E Disabled Capture disabled 0 Enabled Capture enabled 1 CNT CNT counter 0x24 0x20 0x00000000 CNT counter value 0 16 read-write 0 65535 UIFCPY UIF Copy 31 1 read-only PSC PSC prescaler 0x28 0x20 read-write 0x00000000 PSC Prescaler value 0 16 0 65535 ARR ARR auto-reload register 0x2C 0x20 read-write 0x00000000 ARR Auto-reload value 0 16 0 65535 RCR RCR repetition counter register 0x30 0x20 read-write 0x00000000 REP Repetition counter value 0 8 0 255 1 0x4 1-1 CCR%s CCR%s capture/compare register 0x34 0x20 read-write 0x00000000 CCR Capture/Compare value 0 16 0 65535 BDTR BDTR break and dead-time register 0x44 0x20 read-write 0x00000000 DTG Dead-time generator setup 0 8 0 255 LOCK Lock configuration 8 2 LOCK Off No bit is write protected 0 Level1 Any bits except MOE, OSSR, OSSI and LOCK in TIMx_BDTR register, OISx and OISxN bits in TIMx_CR2 register can no longer be written 1 Level2 LOCK Level 1 + CC Polarity bits (CCxP/CCxNP bits in TIMx_CCER register, as long as the related channel is configured in output through the CCxS bits) as well as OSSR and OSSI bits can no longer be written 2 Level3 LOCK Level 2 + CC Control bits (OCxM and OCxPE bits in TIMx_CCMRx registers, as long as the related channel is configured in output through the CCxS bits) can no longer be written 3 OSSI Off-state selection for Idle mode 10 1 OSSI HiZ When inactive, OC/OCN outputs are disabled 0 IdleLevel When inactive, OC/OCN outputs are forced to idle level 1 OSSR Off-state selection for Run mode 11 1 OSSR HiZ When inactive, OC/OCN outputs are disabled 0 IdleLevel When inactive, OC/OCN outputs are enabled with their inactive level 1 BKE Break enable 12 1 BKE Disabled Break function x disabled 0 Enabled Break function x enabled 1 BKP Break polarity 13 1 BKP ActiveLow Break input BRKx is active low 0 ActiveHigh Break input BRKx is active high 1 AOE Automatic output enable 14 1 AOE Manual MOE can be set only by software 0 Automatic MOE can be set by software or automatically at the next update event (if none of the break inputs BRK and BRK2 is active) 1 MOE Main output enable 15 1 MOE DisabledIdle OC/OCN are disabled or forced idle depending on OSSI 0 Enabled OC/OCN are enabled if CCxE/CCxNE are set 1 BKF Break filter 16 4 DCR DCR DMA control register 0x48 0x20 read-write 0x00000000 DBL DMA burst length 8 5 DBA DMA base address 0 5 DMAR DMAR DMA address for full transfer 0x4C 0x20 read-write 0x00000000 DMAB DMA register for burst accesses 0 16 TIM16_AF1 TIM16_AF1 TIM16 alternate function register 1 0x60 0x20 read-write 0x00000000 BKINE BRK BKIN input enable 0 1 BKCMP1E BRK COMP1 enable 1 1 BKCMP2E BRK COMP2 enable 2 1 BKDFBK1E BRK dfsdm1_break[1] enable 8 1 BKINP BRK BKIN input polarity 9 1 BKCMP1P BRK COMP1 input polarity 10 1 BKCMP2P BRK COMP2 input polarity 11 1 TIM16_TISEL TIM16_TISEL TIM16 input selection register 0x68 0x20 read-write 0x00000000 TI1SEL selects TI1[0] to TI1[15] input 0 4 TIM17 General-purpose-timers TIM 0x40014800 0x0 0x400 registers TIM17 TIM17 global interrupt 118 CR1 CR1 control register 1 0x0 CR2 CR2 control register 2 0x4 DIER DIER DMA/Interrupt enable register 0xC SR SR status register 0x10 EGR EGR event generation register 0x14 CCMR1_Output CCMR1_Output capture/compare mode register (output mode) 0x18 CCMR1_Input CCMR1_Input capture/compare mode register 1 (input mode) CCMR1_Output 0x18 CCER CCER capture/compare enable register 0x20 CNT CNT counter 0x24 PSC PSC prescaler 0x28 ARR ARR auto-reload register 0x2C RCR RCR repetition counter register 0x30 1 0x4 1-1 CCR%s CCR%s capture/compare register 0x34 BDTR BDTR break and dead-time register 0x44 DCR DCR DMA control register 0x48 DMAR DMAR DMA address for full transfer 0x4C TIM17_AF1 TIM17_AF1 TIM17 alternate function register 1 0x60 0x20 read-write 0x00000000 BKINE BRK BKIN input enable 0 1 BKCMP1E BRK COMP1 enable 1 1 BKCMP2E BRK COMP2 enable 2 1 BKDFBK1E BRK dfsdm1_break[1] enable 8 1 BKINP BRK BKIN input polarity 9 1 BKCMP1P BRK COMP1 input polarity 10 1 BKCMP2P BRK COMP2 input polarity 11 1 TIM17_TISEL TIM17_TISEL TIM17 input selection register 0x68 0x20 read-write 0x00000000 TI1SEL selects TI1[0] to TI1[15] input 0 4 TIM23 TIM 0x4000E000 TIM23 TIM23 global interrupt 161 TIM24 TIM 0x4000E400 TIM24 TIM24 global interrupt 162 USART1 Universal synchronous asynchronous receiver transmitter USART 0x40011000 0x0 0x400 registers USART1 USART1 global interrupt 37 CR1 CR1 Control register 1 0x0 0x20 read-write 0x00000000 RXFFIE RXFIFO Full interrupt enable 31 1 RXFFIE Disabled Interrupt inhibited 0 Enabled USART interrupt generated when RXFF = 1 in the USART_ISR register 1 TXFEIE TXFIFO empty interrupt enable 30 1 TXFEIE Disabled Interrupt inhibited 0 Enabled USART interrupt generated when TXFE = 1 in the USART_ISR register 1 FIFOEN FIFO mode enable 29 1 FIFOEN Disabled FIFO mode is disabled 0 Enabled FIFO mode is enabled 1 M1 Word length 28 1 M1 M0 Use M0 to set the data bits 0 Bit7 1 start bit, 7 data bits, n stop bits 1 EOBIE End of Block interrupt enable 27 1 EOBIE Disabled Interrupt is inhibited 0 Enabled A USART interrupt is generated when the EOBF flag is set in the ISR register 1 RTOIE Receiver timeout interrupt enable 26 1 RTOIE Disabled Interrupt is inhibited 0 Enabled An USART interrupt is generated when the RTOF bit is set in the ISR register 1 DEAT Driver Enable assertion time 21 5 0 31 DEDT Driver Enable de-assertion time 16 5 0 31 OVER8 Oversampling mode 15 1 OVER8 Oversampling16 Oversampling by 16 0 Oversampling8 Oversampling by 8 1 CMIE Character match interrupt enable 14 1 CMIE Disabled Interrupt is disabled 0 Enabled Interrupt is generated when the CMF bit is set in the ISR register 1 MME Mute mode enable 13 1 MME Disabled Receiver in active mode permanently 0 Enabled Receiver can switch between mute mode and active mode 1 M0 Word length 12 1 M0 Bit8 1 start bit, 8 data bits, n stop bits 0 Bit9 1 start bit, 9 data bits, n stop bits 1 WAKE Receiver wakeup method 11 1 WAKE Idle Idle line 0 Address Address mask 1 PCE Parity control enable 10 1 PCE Disabled Parity control disabled 0 Enabled Parity control enabled 1 PS Parity selection 9 1 PS Even Even parity 0 Odd Odd parity 1 PEIE PE interrupt enable 8 1 PEIE Disabled Interrupt is disabled 0 Enabled Interrupt is generated whenever PE=1 in the ISR register 1 TXEIE interrupt enable 7 1 TXEIE Disabled Interrupt is disabled 0 Enabled Interrupt is generated whenever TXE=1 in the ISR register 1 TCIE Transmission complete interrupt enable 6 1 TCIE Disabled Interrupt is disabled 0 Enabled Interrupt is generated whenever TC=1 in the ISR register 1 RXNEIE RXNE interrupt enable 5 1 RXNEIE Disabled Interrupt is disabled 0 Enabled Interrupt is generated whenever ORE=1 or RXNE=1 in the ISR register 1 IDLEIE IDLE interrupt enable 4 1 IDLEIE Disabled Interrupt is disabled 0 Enabled Interrupt is generated whenever IDLE=1 in the ISR register 1 TE Transmitter enable 3 1 TE Disabled Transmitter is disabled 0 Enabled Transmitter is enabled 1 RE Receiver enable 2 1 RE Disabled Receiver is disabled 0 Enabled Receiver is enabled 1 UESM USART enable in Stop mode 1 1 UESM Disabled USART not able to wake up the MCU from Stop mode 0 Enabled USART able to wake up the MCU from Stop mode 1 UE USART enable 0 1 UE Disabled UART is disabled 0 Enabled UART is enabled 1 CR2 CR2 Control register 2 0x4 0x20 read-write 0x00000000 ADD Address of the USART node 24 8 0 255 RTOEN Receiver timeout enable 23 1 RTOEN Disabled Receiver timeout feature disabled 0 Enabled Receiver timeout feature enabled 1 ABRMOD Auto baud rate mode 21 2 ABRMOD Start Measurement of the start bit is used to detect the baud rate 0 Edge Falling edge to falling edge measurement 1 Frame7F 0x7F frame detection 2 Frame55 0x55 frame detection 3 ABREN Auto baud rate enable 20 1 ABREN Disabled Auto baud rate detection is disabled 0 Enabled Auto baud rate detection is enabled 1 MSBFIRST Most significant bit first 19 1 MSBFIRST LSB data is transmitted/received with data bit 0 first, following the start bit 0 MSB data is transmitted/received with MSB (bit 7/8/9) first, following the start bit 1 DATAINV Binary data inversion 18 1 DATAINV Positive Logical data from the data register are send/received in positive/direct logic 0 Negative Logical data from the data register are send/received in negative/inverse logic 1 TXINV TX pin active level inversion 17 1 TXINV Standard TX pin signal works using the standard logic levels 0 Inverted TX pin signal values are inverted 1 RXINV RX pin active level inversion 16 1 RXINV Standard RX pin signal works using the standard logic levels 0 Inverted RX pin signal values are inverted 1 SWAP Swap TX/RX pins 15 1 SWAP Standard TX/RX pins are used as defined in standard pinout 0 Swapped The TX and RX pins functions are swapped 1 LINEN LIN mode enable 14 1 LINEN Disabled LIN mode disabled 0 Enabled LIN mode enabled 1 STOP STOP bits 12 2 STOP Stop1 1 stop bit 0 Stop0p5 0.5 stop bit 1 Stop2 2 stop bit 2 Stop1p5 1.5 stop bit 3 CLKEN Clock enable 11 1 CLKEN Disabled CK pin disabled 0 Enabled CK pin enabled 1 CPOL Clock polarity 10 1 CPOL Low Steady low value on CK pin outside transmission window 0 High Steady high value on CK pin outside transmission window 1 CPHA Clock phase 9 1 CPHA First The first clock transition is the first data capture edge 0 Second The second clock transition is the first data capture edge 1 LBCL Last bit clock pulse 8 1 LBCL NotOutput The clock pulse of the last data bit is not output to the CK pin 0 Output The clock pulse of the last data bit is output to the CK pin 1 LBDIE LIN break detection interrupt enable 6 1 LBDIE Disabled Interrupt is inhibited 0 Enabled An interrupt is generated whenever LBDF=1 in the ISR register 1 LBDL LIN break detection length 5 1 LBDL Bit10 10-bit break detection 0 Bit11 11-bit break detection 1 ADDM7 7-bit Address Detection/4-bit Address Detection 4 1 ADDM7 Bit4 4-bit address detection 0 Bit7 7-bit address detection 1 DIS_NSS When the DSI_NSS bit is set, the NSS pin input is ignored 3 1 DIS_NSS Disabled SPI slave selection depends on NSS input pin 0 Enabled SPI slave is always selected and NSS input pin is ignored 1 SLVEN Synchronous Slave mode enable 0 1 SLVEN Disabled Slave mode disabled 0 Enabled Slave mode enabled 1 CR3 CR3 Control register 3 0x8 0x20 read-write 0x00000000 TXFTCFG TXFIFO threshold configuration 29 3 TXFTCFG Depth_1_8 TXFIFO reaches 1/8 of its depth 0 Depth_1_4 TXFIFO reaches 1/4 of its depth 1 Depth_1_2 TXFIFO reaches 1/2 of its depth 2 Depth_3_4 TXFIFO reaches 3/4 of its depth 3 Depth_7_8 TXFIFO reaches 7/8 of its depth 4 Empty TXFIFO becomes empty 5 RXFTIE RXFIFO threshold interrupt enable 28 1 RXFTIE Disabled Interrupt inhibited 0 Enabled USART interrupt generated when Receive FIFO reaches the threshold programmed in RXFTCFG 1 RXFTCFG Receive FIFO threshold configuration 25 3 RXFTCFG Depth_1_8 RXFIFO reaches 1/8 of its depth 0 Depth_1_4 RXFIFO reaches 1/4 of its depth 1 Depth_1_2 RXFIFO reaches 1/2 of its depth 2 Depth_3_4 RXFIFO reaches 3/4 of its depth 3 Depth_7_8 RXFIFO reaches 7/8 of its depth 4 Full RXFIFO becomes full 5 TCBGTIE Transmission Complete before guard time, interrupt enable 24 1 TCBGTIE Disabled Interrupt inhibited 0 Enabled USART interrupt generated whenever TCBGT=1 in the USART_ISR register 1 TXFTIE TXFIFO threshold interrupt enable 23 1 TXFTIE Disabled Interrupt inhibited 0 Enabled USART interrupt generated when Transmit FIFO reaches the threshold programmed in TXFTCFG 1 WUFIE Wakeup from Stop mode interrupt enable 22 1 WUFIE Disabled Interrupt is inhibited 0 Enabled An USART interrupt is generated whenever WUF=1 in the ISR register 1 WUS Wakeup from Stop mode interrupt flag selection 20 2 WUS Address WUF active on address match 0 Start WuF active on Start bit detection 2 RXNE WUF active on RXNE 3 SCARCNT Smartcard auto-retry count 17 3 0 7 DEP Driver enable polarity selection 15 1 DEP High DE signal is active high 0 Low DE signal is active low 1 DEM Driver enable mode 14 1 DEM Disabled DE function is disabled 0 Enabled The DE signal is output on the RTS pin 1 DDRE DMA Disable on Reception Error 13 1 DDRE NotDisabled DMA is not disabled in case of reception error 0 Disabled DMA is disabled following a reception error 1 OVRDIS Overrun Disable 12 1 OVRDIS Enabled Overrun Error Flag, ORE, is set when received data is not read before receiving new data 0 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 1 ONEBIT One sample bit method enable 11 1 ONEBIT Sample3 Three sample bit method 0 Sample1 One sample bit method 1 CTSIE CTS interrupt enable 10 1 CTSIE Disabled Interrupt is inhibited 0 Enabled An interrupt is generated whenever CTSIF=1 in the ISR register 1 CTSE CTS enable 9 1 CTSE Disabled CTS hardware flow control disabled 0 Enabled CTS mode enabled, data is only transmitted when the CTS input is asserted 1 RTSE RTS enable 8 1 RTSE Disabled RTS hardware flow control disabled 0 Enabled RTS output enabled, data is only requested when there is space in the receive buffer 1 DMAT DMA enable transmitter 7 1 DMAT Disabled DMA mode is disabled for transmission 0 Enabled DMA mode is enabled for transmission 1 DMAR DMA enable receiver 6 1 DMAR Disabled DMA mode is disabled for reception 0 Enabled DMA mode is enabled for reception 1 SCEN Smartcard mode enable 5 1 SCEN Disabled Smartcard Mode disabled 0 Enabled Smartcard Mode enabled 1 NACK Smartcard NACK enable 4 1 NACK Disabled NACK transmission in case of parity error is disabled 0 Enabled NACK transmission during parity error is enabled 1 HDSEL Half-duplex selection 3 1 HDSEL NotSelected Half duplex mode is not selected 0 Selected Half duplex mode is selected 1 IRLP Ir low-power 2 1 IRLP Normal Normal mode 0 LowPower Low-power mode 1 IREN Ir mode enable 1 1 IREN Disabled IrDA disabled 0 Enabled IrDA enabled 1 EIE Error interrupt enable 0 1 EIE Disabled Interrupt is inhibited 0 Enabled An interrupt is generated when FE=1 or ORE=1 or NF=1 in the ISR register 1 BRR BRR Baud rate register 0xC 0x20 read-write 0x00000000 BRR DIV_Mantissa 0 16 0 65535 GTPR GTPR Guard time and prescaler register 0x10 0x20 read-write 0x00000000 GT Guard time value 8 8 0 255 PSC Prescaler value 0 8 0 255 RTOR RTOR Receiver timeout register 0x14 0x20 read-write 0x00000000 BLEN Block Length 24 8 0 255 RTO Receiver timeout value 0 24 0 16777215 RQR RQR Request register 0x18 0x20 write-only 0x00000000 TXFRQ Transmit data flush request 4 1 TXFRQ Discard Set the TXE flags. This allows to discard the transmit data 1 RXFRQ Receive data flush request 3 1 RXFRQ Discard clears the RXNE flag. This allows to discard the received data without reading it, and avoid an overrun condition 1 MMRQ Mute mode request 2 1 MMRQ Mute Puts the USART in mute mode and sets the RWU flag 1 SBKRQ Send break request 1 1 SBKRQ Break sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available 1 ABRRQ Auto baud rate request 0 1 ABRRQ Request resets the ABRF flag in the USART_ISR and request an automatic baud rate measurement on the next received data frame 1 ISR ISR Interrupt & status register 0x1C 0x20 read-only 0x000000C0 TXFT TXFIFO threshold flag 27 1 TXFT NotReached TXFIFO does not reach the programmed threshold. 0 Reached TXFIFO reached the programmed threshold. 1 RXFT RXFIFO threshold flag 26 1 RXFT NotReached Receive FIFO does not reach the programmed threshold. 0 Reached Receive FIFO reached the programmed threshold. 1 TCBGT Transmission complete before guard time flag 25 1 TCBGT NotCompleted Transmission is not complete or transmission is complete unsuccessfully (i.e. a NACK is received from the card) 0 Completed Transmission is complete successfully (before Guard time completion and there is no NACK from the smart card) 1 RXFF RXFIFO Full 24 1 RXFF NotFull RXFIFO not full. 0 Full RXFIFO Full. 1 TXFE TXFIFO Empty 23 1 TXFE NotEmpty TXFIFO not empty. 0 Empty TXFIFO empty. 1 REACK REACK 22 1 TEACK TEACK 21 1 WUF WUF 20 1 RWU RWU 19 1 RWU Active Receiver in Active mode 0 Mute Receiver in Mute mode 1 SBKF SBKF 18 1 SBKF NoBreak No break character transmitted 0 Break Break character transmitted 1 CMF CMF 17 1 CMF NoMatch No Character match detected 0 Match Character match detected 1 BUSY BUSY 16 1 BUSY Idle USART is idle (no reception) 0 Busy Reception on going 1 ABRF ABRF 15 1 ABRE ABRE 14 1 UDR SPI slave underrun error flag 13 1 UDR NoUnderrun No underrun error 0 Underrun underrun error 1 EOBF EOBF 12 1 EOBF NotReached End of Block not reached 0 Reached End of Block (number of characters) reached 1 RTOF RTOF 11 1 RTOF NotReached Timeout value not reached 0 Reached Timeout value reached without any data reception 1 CTS CTS 10 1 CTS Set CTS line set 0 Reset CTS line reset 1 CTSIF CTSIF 9 1 CTSIF NotChanged No change occurred on the CTS status line 0 Changed A change occurred on the CTS status line 1 LBDF LBDF 8 1 LBDF NotDetected LIN break not detected 0 Detected LIN break detected 1 TXE TXE 7 1 TXE Full Transmit FIFO is full 0 NotFull Transmit FIFO is not full 1 TC TC 6 1 TC TxNotComplete Transmission is not complete 0 TxComplete Transmission is complete 1 RXNE RXNE 5 1 RXNE NoData Data is not received 0 DataReady Received data is ready to be read 1 IDLE IDLE 4 1 IDLE NoIdle No Idle Line is detected 0 Idle Idle Line is detected 1 ORE ORE 3 1 ORE NoOverrun No Overrun error 0 Overrun Overrun error is detected 1 NF NF 2 1 NF NoNoise No noise is detected 0 Noise Noise is detected 1 FE FE 1 1 FE NoError No Framing error is detected 0 Error Framing error or break character is detected 1 PE PE 0 1 PE NoError No parity error 0 Error Parity error 1 ICR ICR Interrupt flag clear register 0x20 0x20 write-only 0x00000000 WUCF Wakeup from Stop mode clear flag 20 1 oneToClear WUCF Clear Clears the WUF flag in the ISR register 1 CMCF Character match clear flag 17 1 oneToClear CMCF Clear Clears the CMF flag in the ISR register 1 UDRCF SPI slave underrun clear flag 13 1 oneToClear UDRCF Clear Clear the UDR flag in the ISR register 1 EOBCF End of block clear flag 12 1 oneToClear EOBCF Clear Clears the EOBF flag in the ISR register 1 RTOCF Receiver timeout clear flag 11 1 oneToClear RTOCF Clear Clears the RTOF flag in the ISR register 1 CTSCF CTS clear flag 9 1 oneToClear CTSCF Clear Clears the CTSIF flag in the ISR register 1 LBDCF LIN break detection clear flag 8 1 oneToClear LBDCF Clear Clears the LBDF flag in the ISR register 1 TCBGTCF Transmission complete before Guard time clear flag 7 1 oneToClear TCBGTCF Clear Clear the TCBGT flag in the ISR register 1 TCCF Transmission complete clear flag 6 1 oneToClear TCCF Clear Clears the TC flag in the ISR register 1 TXFECF TXFIFO empty clear flag 5 1 oneToClear TXFECF Clear Clear the TXFE flag in the ISR register 1 IDLECF Idle line detected clear flag 4 1 oneToClear IDLECF Clear Clears the IDLE flag in the ISR register 1 ORECF Overrun error clear flag 3 1 oneToClear ORECF Clear Clears the ORE flag in the ISR register 1 NCF Noise detected clear flag 2 1 oneToClear NCF Clear Clears the NF flag in the ISR register 1 FECF Framing error clear flag 1 1 oneToClear FECF Clear Clears the FE flag in the ISR register 1 PECF Parity error clear flag 0 1 oneToClear PECF Clear Clears the PE flag in the ISR register 1 RDR RDR Receive data register 0x24 0x20 read-only 0x00000000 RDR Receive data value 0 9 0 511 TDR TDR Transmit data register 0x28 0x20 read-write 0x00000000 TDR Transmit data value 0 9 0 511 PRESC PRESC USART prescaler register 0x2C 0x20 read-write 0x00000000 PRESCALER Clock prescaler 0 4 PRESCALER Div1 Input clock divided by 1 0 Div2 Input clock divided by 2 1 Div4 Input clock divided by 4 2 Div6 Input clock divided by 6 3 Div8 Input clock divided by 8 4 Div10 Input clock divided by 10 5 Div12 Input clock divided by 12 6 Div16 Input clock divided by 16 7 Div32 Input clock divided by 32 8 Div64 Input clock divided by 64 9 Div128 Input clock divided by 128 10 Div256 Input clock divided by 256 11 USART2 0x40004400 USART2 USART2 global interrupt 38 USART3 0x40004800 USART3 USART3 global interrupt 39 UART4 0x40004C00 UART4 UART4 global interrupt 52 UART5 0x40005000 UART5 UART5 global interrupt 53 USART6 0x40011400 USART6 USART6 global interrupt 71 UART7 0x40007800 UART7 UART7 global interrupt 82 UART8 0x40007C00 UART8 UART8 global interrupt 83 UART9 0x40011800 UART9 UART9 interrupt 155 USART10 0x40011C00 USART10 USART10 interrupt 156 VREFBUF VREFBUF VREFBUF 0x58003C00 0x0 0x400 registers CSR CSR VREFBUF control and status register 0x0 0x20 0x00000002 ENVR Voltage reference buffer mode enable This bit is used to enable the voltage reference buffer mode. 0 1 read-write HIZ High impedance mode This bit controls the analog switch to connect or not the VREF+ pin. Refer to Table196: VREF buffer modes for the mode descriptions depending on ENVR bit configuration. 1 1 read-write VRR Voltage reference buffer ready 3 1 read-only VRS Voltage reference scale These bits select the value generated by the voltage reference buffer. Other: Reserved 4 3 read-write CCR CCR VREFBUF calibration control register 0x4 0x20 read-write 0x00000000 TRIM Trimming code These bits are automatically initialized after reset with the trimming value stored in the Flash memory during the production test. Writing into these bits allows to tune the internal reference buffer voltage. 0 6 WWDG1 WWDG WWDG 0x50003000 0x0 0x1000 registers WWDG1 Window Watchdog interrupt 0 CR CR Control register 0x0 0x10 read-write 0x0000007F T 7-bit counter (MSB to LSB) These bits contain the value of the watchdog counter. It is decremented every (4096 x 2WDGTB[1:0]) PCLK cycles. A reset is produced when it is decremented from 0x40 to 0x3F (T6 becomes cleared). 0 7 0 127 WDGA 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. 7 1 WDGA Disabled Watchdog disabled 0 Enabled Watchdog enabled 1 CFR CFR Configuration register 0x4 0x10 read-write 0x0000007F W 7-bit window value These bits contain the window value to be compared to the downcounter. 0 7 0 127 WDGTB Timer base The time base of the prescaler can be modified as follows: 11 3 WDGTB Div1 Counter clock (PCLK1 div 4096) div 1 0 Div2 Counter clock (PCLK1 div 4096) div 2 1 Div4 Counter clock (PCLK1 div 4096) div 4 2 Div8 Counter clock (PCLK1 div 4096) div 8 3 Div16 Counter clock (PCLK1 div 4096) div 16 4 Div32 Counter clock (PCLK1 div 4096) div 32 5 Div64 Counter clock (PCLK1 div 4096) div 64 6 Div128 Counter clock (PCLK1 div 4096) div 128 7 EWI 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. 9 1 EWIW write Enable interrupt occurs whenever the counter reaches the value 0x40 1 SR SR Status register 0x8 0x10 read-write 0x00000000 EWIF 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. A write of 1 has no effect. This bit is also set if the interrupt is not enabled. 0 1 zeroToClear EWIFR read Finished The EWI Interrupt Service Routine has been serviced 0 Pending The EWI Interrupt Service Routine has been triggered 1 EWIFW write Finished The EWI Interrupt Service Routine has been serviced 0 GPIOJ GPIO GPIO 0x58022400 0x0 0x400 registers MODER MODER GPIO port mode register 0x0 0x20 read-write 0x00FF0000 16 0x2 0-15 MODER%s Port x configuration pin %s 0 2 OTYPER OTYPER GPIO port output type register 0x4 OSPEEDR OSPEEDR GPIO port output speed register 0x8 0x20 read-write 0x00000000 16 0x2 0-15 OSPEEDR%s Port x configuration pin %s 0 2 PUPDR PUPDR GPIO port pull-up/pull-down register 0xC 0x20 read-write 0x00000000 16 0x2 0-15 PUPDR%s Port x configuration pin %s 0 2 IDR IDR GPIO port input data register 0x10 ODR ODR GPIO port output data register 0x14 BSRR BSRR GPIO port bit set/reset register 0x18 LCKR LCKR This register is used to lock the configuration of the port bits when a correct write sequence is applied to bit 16 (LCKK). The value of bits [15:0] is used to lock the configuration of the GPIO. During the write sequence, the value of LCKR[15:0] must not change. When the LOCK sequence has been applied on a port bit, the value of this port bit can no longer be modified until the next MCU reset or peripheral reset.A specific write sequence is used to write to the GPIOx_LCKR register. Only word access (32-bit long) is allowed during this locking sequence.Each lock bit freezes a specific configuration register (control and alternate function registers). 0x1C AFRL AFRL GPIO alternate function low register 0x20 AFRH AFRH GPIO alternate function high register 0x24 GPIOK GPIO GPIO 0x58022800 0x0 0x400 registers MODER MODER GPIO port mode register 0x0 0x20 read-write 0x0000003F 16 0x2 0-15 MODER%s Port x configuration pin %s 0 2 OTYPER OTYPER GPIO port output type register 0x4 OSPEEDR OSPEEDR GPIO port output speed register 0x8 0x20 read-write 0x00000000 16 0x2 0-15 OSPEEDR%s Port x configuration pin %s 0 2 PUPDR PUPDR GPIO port pull-up/pull-down register 0xC 0x20 read-write 0x00000000 16 0x2 0-15 PUPDR%s Port x configuration pin %s 0 2 IDR IDR GPIO port input data register 0x10 ODR ODR GPIO port output data register 0x14 BSRR BSRR GPIO port bit set/reset register 0x18 LCKR LCKR This register is used to lock the configuration of the port bits when a correct write sequence is applied to bit 16 (LCKK). The value of bits [15:0] is used to lock the configuration of the GPIO. During the write sequence, the value of LCKR[15:0] must not change. When the LOCK sequence has been applied on a port bit, the value of this port bit can no longer be modified until the next MCU reset or peripheral reset.A specific write sequence is used to write to the GPIOx_LCKR register. Only word access (32-bit long) is allowed during this locking sequence.Each lock bit freezes a specific configuration register (control and alternate function registers). 0x1C AFRL AFRL GPIO alternate function low register 0x20 AFRH AFRH GPIO alternate function high register 0x24 GPIOB GPIO GPIO 0x58020400 0x0 0x400 registers MODER MODER GPIO port mode register 0x0 0x20 read-write 0xFFFFFEBF 16 0x2 0-15 MODER%s Port x configuration pin %s 0 2 OTYPER OTYPER GPIO port output type register 0x4 OSPEEDR OSPEEDR GPIO port output speed register 0x8 0x20 read-write 0x000000C0 16 0x2 0-15 OSPEEDR%s Port x configuration pin %s 0 2 PUPDR PUPDR GPIO port pull-up/pull-down register 0xC 0x20 read-write 0x00000100 16 0x2 0-15 PUPDR%s Port x configuration pin %s 0 2 IDR IDR GPIO port input data register 0x10 ODR ODR GPIO port output data register 0x14 BSRR BSRR GPIO port bit set/reset register 0x18 LCKR LCKR This register is used to lock the configuration of the port bits when a correct write sequence is applied to bit 16 (LCKK). The value of bits [15:0] is used to lock the configuration of the GPIO. During the write sequence, the value of LCKR[15:0] must not change. When the LOCK sequence has been applied on a port bit, the value of this port bit can no longer be modified until the next MCU reset or peripheral reset.A specific write sequence is used to write to the GPIOx_LCKR register. Only word access (32-bit long) is allowed during this locking sequence.Each lock bit freezes a specific configuration register (control and alternate function registers). 0x1C AFRL AFRL GPIO alternate function low register 0x20 AFRH AFRH GPIO alternate function high register 0x24
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4