usart: merge lpuart, add over8, add presc.

This commit is contained in:
Dario Nieuwenhuis 2023-05-02 02:43:43 +02:00
parent e19240e3d3
commit 64846c91ba
6 changed files with 1249 additions and 976 deletions

View File

@ -1,454 +0,0 @@
---
block/LPUART:
description: Lower power Universal asynchronous receiver transmitter
items:
- name: CR1
description: Control register 1
byte_offset: 0
fieldset: CR1
- name: CR2
description: Control register 2
byte_offset: 4
fieldset: CR2
- name: CR3
description: Control register 3
byte_offset: 8
fieldset: CR3
- name: BRR
description: Baud rate register
byte_offset: 12
fieldset: BRR
- name: RQR
description: Request register
byte_offset: 24
access: Write
fieldset: RQR
- name: ISR
description: Interrupt & status register
byte_offset: 28
access: Read
fieldset: ISR
- name: ICR
description: Interrupt flag clear register
byte_offset: 32
access: Write
fieldset: ICR
- name: RDR
description: Receive data register
byte_offset: 36
access: Read
fieldset: RDR
- name: TDR
description: Transmit data register
byte_offset: 40
fieldset: TDR
fieldset/BRR:
description: Baud rate register
fields:
- name: BRR
description: BRR
bit_offset: 0
bit_size: 20
fieldset/CR1:
description: Control register 1
fields:
- name: UE
description: USART enable
bit_offset: 0
bit_size: 1
- name: UESM
description: USART enable in Stop mode
bit_offset: 1
bit_size: 1
- name: RE
description: Receiver enable
bit_offset: 2
bit_size: 1
- name: TE
description: Transmitter enable
bit_offset: 3
bit_size: 1
- name: IDLEIE
description: IDLE interrupt enable
bit_offset: 4
bit_size: 1
- name: RXNEIE
description: RXNE interrupt enable
bit_offset: 5
bit_size: 1
- name: TCIE
description: Transmission complete interrupt enable
bit_offset: 6
bit_size: 1
- name: TXEIE
description: interrupt enable
bit_offset: 7
bit_size: 1
- name: PEIE
description: PE interrupt enable
bit_offset: 8
bit_size: 1
- name: PS
description: Parity selection
bit_offset: 9
bit_size: 1
enum: PS
- name: PCE
description: Parity control enable
bit_offset: 10
bit_size: 1
- name: WAKE
description: Receiver wakeup method
bit_offset: 11
bit_size: 1
enum: WAKE
- name: M0
description: Word length
bit_offset: 12
bit_size: 1
enum: M0
- name: MME
description: Mute mode enable
bit_offset: 13
bit_size: 1
- name: CMIE
description: Character match interrupt enable
bit_offset: 14
bit_size: 1
- name: DEDT
description: Driver Enable de-assertion time
bit_offset: 16
bit_size: 5
- name: DEAT
description: Driver Enable assertion time
bit_offset: 21
bit_size: 5
- name: M1
description: Word length
bit_offset: 28
bit_size: 1
enum: M1
fieldset/CR2:
description: Control register 2
fields:
- name: ADDM7
description: 7-bit Address Detection/4-bit Address Detection
bit_offset: 4
bit_size: 1
enum: ADDM7
- name: STOP
description: STOP bits
bit_offset: 12
bit_size: 2
enum: STOP
- name: SWAP
description: Swap TX/RX pins
bit_offset: 15
bit_size: 1
- name: RXINV
description: RX pin active level inversion
bit_offset: 16
bit_size: 1
- name: TXINV
description: TX pin active level inversion
bit_offset: 17
bit_size: 1
- name: DATAINV
description: Binary data inversion
bit_offset: 18
bit_size: 1
- name: MSBFIRST
description: Most significant bit first
bit_offset: 19
bit_size: 1
enum: MSBFIRST
- name: ADD
description: Address of the USART node
bit_offset: 24
bit_size: 8
fieldset/CR3:
description: Control register 3
fields:
- name: EIE
description: Error interrupt enable
bit_offset: 0
bit_size: 1
- name: HDSEL
description: Half-duplex selection
bit_offset: 3
bit_size: 1
- name: DMAR
description: DMA enable receiver
bit_offset: 6
bit_size: 1
- name: DMAT
description: DMA enable transmitter
bit_offset: 7
bit_size: 1
- name: RTSE
description: RTS enable
bit_offset: 8
bit_size: 1
- name: CTSE
description: CTS enable
bit_offset: 9
bit_size: 1
- name: CTSIE
description: CTS interrupt enable
bit_offset: 10
bit_size: 1
- name: OVRDIS
description: Overrun Disable
bit_offset: 12
bit_size: 1
- name: DDRE
description: DMA Disable on Reception Error
bit_offset: 13
bit_size: 1
- name: DEM
description: Driver enable mode
bit_offset: 14
bit_size: 1
- name: DEP
description: Driver enable polarity selection
bit_offset: 15
bit_size: 1
enum: DEP
- name: WUS
description: Wakeup from Stop mode interrupt flag selection
bit_offset: 20
bit_size: 2
enum: WUS
- name: WUFIE
description: Wakeup from Stop mode interrupt enable
bit_offset: 22
bit_size: 1
fieldset/ICR:
description: Interrupt flag clear register
fields:
- name: PECF
description: Parity error clear flag
bit_offset: 0
bit_size: 1
- name: FECF
description: Framing error clear flag
bit_offset: 1
bit_size: 1
- name: NCF
description: Noise detected clear flag
bit_offset: 2
bit_size: 1
- name: ORECF
description: Overrun error clear flag
bit_offset: 3
bit_size: 1
- name: IDLECF
description: Idle line detected clear flag
bit_offset: 4
bit_size: 1
- name: TCCF
description: Transmission complete clear flag
bit_offset: 6
bit_size: 1
- name: CTSCF
description: CTS clear flag
bit_offset: 9
bit_size: 1
- name: CMCF
description: Character match clear flag
bit_offset: 17
bit_size: 1
- name: WUCF
description: Wakeup from Stop mode clear flag
bit_offset: 20
bit_size: 1
fieldset/ISR:
description: Interrupt & status register
fields:
- name: PE
description: PE
bit_offset: 0
bit_size: 1
- name: FE
description: FE
bit_offset: 1
bit_size: 1
- name: NE
description: NE
bit_offset: 2
bit_size: 1
- name: ORE
description: ORE
bit_offset: 3
bit_size: 1
- name: IDLE
description: IDLE
bit_offset: 4
bit_size: 1
- name: RXNE
description: RXNE
bit_offset: 5
bit_size: 1
- name: TC
description: TC
bit_offset: 6
bit_size: 1
- name: TXE
description: TXE
bit_offset: 7
bit_size: 1
- name: CTSIF
description: CTSIF
bit_offset: 9
bit_size: 1
- name: CTS
description: CTS
bit_offset: 10
bit_size: 1
- name: BUSY
description: BUSY
bit_offset: 16
bit_size: 1
- name: CMF
description: CMF
bit_offset: 17
bit_size: 1
- name: SBKF
description: SBKF
bit_offset: 18
bit_size: 1
- name: RWU
description: RWU
bit_offset: 19
bit_size: 1
- name: WUF
description: WUF
bit_offset: 20
bit_size: 1
- name: TEACK
description: TEACK
bit_offset: 21
bit_size: 1
- name: REACK
description: REACK
bit_offset: 22
bit_size: 1
fieldset/RDR:
description: Receive data register
fields:
- name: RDR
description: Receive data value
bit_offset: 0
bit_size: 9
fieldset/RQR:
description: Request register
fields:
- name: SBKRQ
description: Send break request
bit_offset: 1
bit_size: 1
- name: MMRQ
description: Mute mode request
bit_offset: 2
bit_size: 1
- name: RXFRQ
description: Receive data flush request
bit_offset: 3
bit_size: 1
fieldset/TDR:
description: Transmit data register
fields:
- name: TDR
description: Transmit data value
bit_offset: 0
bit_size: 9
enum/ADDM7:
bit_size: 1
variants:
- name: Bit4
description: 4-bit address detection
value: 0
- name: Bit7
description: 7-bit address detection
value: 1
enum/DEP:
bit_size: 1
variants:
- name: High
description: DE signal is active high
value: 0
- name: Low
description: DE signal is active low
value: 1
enum/M0:
bit_size: 1
variants:
- name: Bit8
description: "1 start bit, 8 data bits, n stop bits"
value: 0
- name: Bit9
description: "1 start bit, 9 data bits, n stop bits"
value: 1
enum/M1:
bit_size: 1
variants:
- name: M0
description: Use M0 to set the data bits
value: 0
- name: Bit7
description: "1 start bit, 7 data bits, n stop bits"
value: 1
enum/MSBFIRST:
bit_size: 1
variants:
- name: LSB
description: "data is transmitted/received with data bit 0 first, following the start bit"
value: 0
- name: MSB
description: "data is transmitted/received with MSB (bit 7/8/9) first, following the start bit"
value: 1
enum/PS:
bit_size: 1
variants:
- name: Even
description: Even parity
value: 0
- name: Odd
description: Odd parity
value: 1
enum/STOP:
bit_size: 2
variants:
- name: Stop1
description: 1 stop bit
value: 0
- name: Stop0p5
description: 0.5 stop bit
value: 1
- name: Stop2
description: 2 stop bit
value: 2
- name: Stop1p5
description: 1.5 stop bit
value: 3
enum/WAKE:
bit_size: 1
variants:
- name: Idle
description: Idle line
value: 0
- name: Address
description: Address mask
value: 1
enum/WUS:
bit_size: 2
variants:
- name: Address
description: WUF active on address match
value: 0
- name: Start
description: WuF active on Start bit detection
value: 2
- name: RXNE
description: WUF active on RXNE
value: 3

View File

@ -45,14 +45,10 @@ block/USART:
fieldset/BRR: fieldset/BRR:
description: Baud rate register description: Baud rate register
fields: fields:
- name: DIV_Fraction - name: BRR
description: fraction of USARTDIV description: USARTDIV
bit_offset: 0 bit_offset: 0
bit_size: 4 bit_size: 16
- name: DIV_Mantissa
description: mantissa of USARTDIV
bit_offset: 4
bit_size: 12
fieldset/CR1: fieldset/CR1:
description: Control register 1 description: Control register 1
fields: fields:

View File

@ -1,74 +1,66 @@
--- ---
block/USART: block/UART:
description: Universal synchronous asynchronous receiver transmitter description: Universal asynchronous receiver transmitter
items: items:
- name: SR
description: Status register
byte_offset: 0
fieldset: SR
- name: DR
description: Data register
byte_offset: 4
fieldset: DR
- name: BRR
description: Baud rate register
byte_offset: 8
fieldset: BRR
- name: CR1 - name: CR1
description: Control register 1 description: Control register 1
byte_offset: 0 byte_offset: 12
fieldset: CR1 fieldset: CR1
- name: CR2 - name: CR2
description: Control register 2 description: Control register 2
byte_offset: 4 byte_offset: 16
fieldset: CR2 fieldset: CR2
- name: CR3 - name: CR3
description: Control register 3 description: Control register 3
byte_offset: 8 byte_offset: 20
fieldset: CR3 fieldset: CR3
- name: BRR block/USART:
description: Baud rate register extends: UART
byte_offset: 12 description: Universal synchronous asynchronous receiver transmitter
fieldset: BRR items:
- name: CR2
description: Control register 2
byte_offset: 16
fieldset: CR2_USART
- name: CR3
description: Control register 3
byte_offset: 20
fieldset: CR3_USART
- name: GTPR - name: GTPR
description: Guard time and prescaler register description: Guard time and prescaler register
byte_offset: 16
fieldset: GTPR
- name: RTOR
description: Receiver timeout register
byte_offset: 20
fieldset: RTOR
- name: RQR
description: Request register
byte_offset: 24 byte_offset: 24
access: Write fieldset: GTPR
fieldset: RQR
- name: ISR
description: Interrupt & status register
byte_offset: 28
access: Read
fieldset: ISR
- name: ICR
description: Interrupt flag clear register
byte_offset: 32
access: Write
fieldset: ICR
- name: RDR
description: Receive data register
byte_offset: 36
access: Read
fieldset: DR
- name: TDR
description: Transmit data register
byte_offset: 40
access: Write
fieldset: DR
fieldset/BRR: fieldset/BRR:
description: Baud rate register description: Baud rate register
fields: fields:
- name: BRR - name: BRR
description: mantissa of USARTDIV description: USARTDIV
bit_offset: 0 bit_offset: 0
bit_size: 16 bit_size: 16
fieldset/CR1: fieldset/CR1:
description: Control register 1 description: Control register 1
fields: fields:
- name: UE - name: SBK
description: USART enable description: Send break
bit_offset: 0 bit_offset: 0
bit_size: 1 bit_size: 1
- name: UESM - name: RWU
description: USART enable in Stop mode description: Receiver wakeup
bit_offset: 1 bit_offset: 1
bit_size: 1 bit_size: 1
enum: RWU
- name: RE - name: RE
description: Receiver enable description: Receiver enable
bit_offset: 2 bit_offset: 2
@ -116,54 +108,22 @@ fieldset/CR1:
bit_offset: 12 bit_offset: 12
bit_size: 1 bit_size: 1
enum: M0 enum: M0
- name: MME - name: UE
description: Mute mode enable description: USART enable
bit_offset: 13 bit_offset: 13
bit_size: 1 bit_size: 1
- name: CMIE - name: OVER8
description: Character match interrupt enable
bit_offset: 14
bit_size: 1
- name: OVER
description: Oversampling mode description: Oversampling mode
bit_offset: 15 bit_offset: 15
bit_size: 1 bit_size: 1
array: enum: OVER8
len: 1
stride: 0
enum: OVER
- name: DEDT
description: Driver Enable deassertion time
bit_offset: 16
bit_size: 5
- name: DEAT
description: Driver Enable assertion time
bit_offset: 21
bit_size: 5
- name: RTOIE
description: Receiver timeout interrupt enable
bit_offset: 26
bit_size: 1
- name: EOBIE
description: End of Block interrupt enable
bit_offset: 27
bit_size: 1
- name: M1
description: Word length
bit_offset: 28
bit_size: 1
enum: M1
fieldset/CR2: fieldset/CR2:
description: Control register 2 description: Control register 2
fields: fields:
- name: ADDM - name: ADD
description: 7-bit Address Detection/4-bit Address Detection description: Address of the USART node
bit_offset: 4 bit_offset: 0
bit_size: 1 bit_size: 4
array:
len: 1
stride: 0
enum: ADDM
- name: LBDL - name: LBDL
description: Line break detection length description: Line break detection length
bit_offset: 5 bit_offset: 5
@ -173,6 +133,19 @@ fieldset/CR2:
description: LIN break detection interrupt enable description: LIN break detection interrupt enable
bit_offset: 6 bit_offset: 6
bit_size: 1 bit_size: 1
- name: STOP
description: STOP bits
bit_offset: 12
bit_size: 2
enum: STOP
- name: LINEN
description: LIN mode enable
bit_offset: 14
bit_size: 1
fieldset/CR2_USART:
extends: CR2
description: Control register 2
fields:
- name: LBCL - name: LBCL
description: Last bit clock pulse description: Last bit clock pulse
bit_offset: 8 bit_offset: 8
@ -191,53 +164,6 @@ fieldset/CR2:
description: Clock enable description: Clock enable
bit_offset: 11 bit_offset: 11
bit_size: 1 bit_size: 1
- name: STOP
description: STOP bits
bit_offset: 12
bit_size: 2
enum: STOP
- name: LINEN
description: LIN mode enable
bit_offset: 14
bit_size: 1
- name: SWAP
description: Swap TX/RX pins
bit_offset: 15
bit_size: 1
- name: RXINV
description: RX pin active level inversion
bit_offset: 16
bit_size: 1
- name: TXINV
description: TX pin active level inversion
bit_offset: 17
bit_size: 1
- name: DATAINV
description: Binary data inversion
bit_offset: 18
bit_size: 1
- name: MSBFIRST
description: Most significant bit first
bit_offset: 19
bit_size: 1
enum: MSBFIRST
- name: ABREN
description: Auto baud rate enable
bit_offset: 20
bit_size: 1
- name: ABRMOD
description: Auto baud rate mode
bit_offset: 21
bit_size: 2
enum: ABRMOD
- name: RTOEN
description: Receiver timeout enable
bit_offset: 23
bit_size: 1
- name: ADD
description: Address of the USART node
bit_offset: 24
bit_size: 8
fieldset/CR3: fieldset/CR3:
description: Control register 3 description: Control register 3
fields: fields:
@ -258,14 +184,6 @@ fieldset/CR3:
description: Half-duplex selection description: Half-duplex selection
bit_offset: 3 bit_offset: 3
bit_size: 1 bit_size: 1
- name: NACK
description: Smartcard NACK enable
bit_offset: 4
bit_size: 1
- name: SCEN
description: Smartcard mode enable
bit_offset: 5
bit_size: 1
- name: DMAR - name: DMAR
description: DMA enable receiver description: DMA enable receiver
bit_offset: 6 bit_offset: 6
@ -274,6 +192,18 @@ fieldset/CR3:
description: DMA enable transmitter description: DMA enable transmitter
bit_offset: 7 bit_offset: 7
bit_size: 1 bit_size: 1
fieldset/CR3_USART:
extends: CR3
description: Control register 3
fields:
- name: NACK
description: Smartcard NACK enable
bit_offset: 4
bit_size: 1
- name: SCEN
description: Smartcard mode enable
bit_offset: 5
bit_size: 1
- name: RTSE - name: RTSE
description: RTS enable description: RTS enable
bit_offset: 8 bit_offset: 8
@ -290,37 +220,6 @@ fieldset/CR3:
description: One sample bit method enable description: One sample bit method enable
bit_offset: 11 bit_offset: 11
bit_size: 1 bit_size: 1
enum: ONEBIT
- name: OVRDIS
description: Overrun Disable
bit_offset: 12
bit_size: 1
- name: DDRE
description: DMA Disable on Reception Error
bit_offset: 13
bit_size: 1
- name: DEM
description: Driver enable mode
bit_offset: 14
bit_size: 1
- name: DEP
description: Driver enable polarity selection
bit_offset: 15
bit_size: 1
enum: DEP
- name: SCARCNT
description: Smartcard auto-retry count
bit_offset: 17
bit_size: 3
- name: WUS
description: Wakeup from Stop mode interrupt flag selection
bit_offset: 20
bit_size: 2
enum: WUS
- name: WUFIE
description: Wakeup from Stop mode interrupt enable
bit_offset: 22
bit_size: 1
fieldset/DR: fieldset/DR:
description: Data register description: Data register
fields: fields:
@ -339,59 +238,8 @@ fieldset/GTPR:
description: Guard time value description: Guard time value
bit_offset: 8 bit_offset: 8
bit_size: 8 bit_size: 8
fieldset/ICR: fieldset/SR:
description: Interrupt flag clear register description: Status register
fields:
- name: PE
description: Parity error clear flag
bit_offset: 0
bit_size: 1
- name: FE
description: Framing error clear flag
bit_offset: 1
bit_size: 1
- name: NE
description: Noise error clear flag
bit_offset: 2
bit_size: 1
- name: ORE
description: Overrun error clear flag
bit_offset: 3
bit_size: 1
- name: IDLE
description: Idle line detected clear flag
bit_offset: 4
bit_size: 1
- name: TC
description: Transmission complete clear flag
bit_offset: 6
bit_size: 1
- name: LBD
description: LIN break detection clear flag
bit_offset: 8
bit_size: 1
- name: CTS
description: CTS clear flag
bit_offset: 9
bit_size: 1
- name: RTOF
description: Receiver timeout clear flag
bit_offset: 11
bit_size: 1
- name: EOBF
description: End of block clear flag
bit_offset: 12
bit_size: 1
- name: CMF
description: Character match clear flag
bit_offset: 17
bit_size: 1
- name: WUF
description: Wakeup from Stop mode clear flag
bit_offset: 20
bit_size: 1
fieldset/ISR:
description: Interrupt & status register
fields: fields:
- name: PE - name: PE
description: Parity error description: Parity error
@ -429,117 +277,14 @@ fieldset/ISR:
description: LIN break detection flag description: LIN break detection flag
bit_offset: 8 bit_offset: 8
bit_size: 1 bit_size: 1
- name: CTSIF fieldset/SR_USART:
description: CTS interrupt flag extends: SR
bit_offset: 9 description: Status register
bit_size: 1 fields:
- name: CTS - name: CTS
description: CTS flag description: CTS flag
bit_offset: 10 bit_offset: 9
bit_size: 1 bit_size: 1
- name: RTOF
description: Receiver timeout
bit_offset: 11
bit_size: 1
- name: EOBF
description: End of block flag
bit_offset: 12
bit_size: 1
- name: ABRE
description: Auto baud rate error
bit_offset: 14
bit_size: 1
- name: ABRF
description: Auto baud rate flag
bit_offset: 15
bit_size: 1
- name: BUSY
description: Busy flag
bit_offset: 16
bit_size: 1
- name: CMF
description: character match flag
bit_offset: 17
bit_size: 1
- name: SBKF
description: Send break flag
bit_offset: 18
bit_size: 1
- name: RWU
description: Receiver wakeup from Mute mode
bit_offset: 19
bit_size: 1
enum: RWU
- name: WUF
description: Wakeup from Stop mode flag
bit_offset: 20
bit_size: 1
- name: TEACK
description: Transmit enable acknowledge flag
bit_offset: 21
bit_size: 1
- name: REACK
description: Receive enable acknowledge flag
bit_offset: 22
bit_size: 1
fieldset/RQR:
description: Request register
fields:
- name: ABRRQ
description: Auto baud rate request. Resets the ABRF flag in the USART_ISR and request an automatic baud rate measurement on the next received data frame.
bit_offset: 0
bit_size: 1
- name: SBKRQ
description: "Send break request. Sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available"
bit_offset: 1
bit_size: 1
- name: MMRQ
description: Mute mode request. Puts the USART in mute mode and sets the RWU flag.
bit_offset: 2
bit_size: 1
- name: RXFRQ
description: "Receive data flush request. Clears the RXNE flag. This allows to discard the received data without reading it, and avoid an overrun condition"
bit_offset: 3
bit_size: 1
- name: TXFRQ
description: Transmit data flush request. Sets the TXE flags. This allows to discard the transmit data.
bit_offset: 4
bit_size: 1
fieldset/RTOR:
description: Receiver timeout register
fields:
- name: RTO
description: Receiver timeout value
bit_offset: 0
bit_size: 24
- name: BLEN
description: Block Length
bit_offset: 24
bit_size: 8
enum/ABRMOD:
bit_size: 2
variants:
- name: Start
description: Measurement of the start bit is used to detect the baud rate
value: 0
- name: Edge
description: Falling edge to falling edge measurement
value: 1
- name: Frame7F
description: "0x7F frame detection"
value: 2
- name: Frame55
description: "0x55 frame detection"
value: 3
enum/ADDM:
bit_size: 1
variants:
- name: Bit4
description: 4-bit address detection
value: 0
- name: Bit7
description: 7-bit address detection
value: 1
enum/CPHA: enum/CPHA:
bit_size: 1 bit_size: 1
variants: variants:
@ -558,15 +303,6 @@ enum/CPOL:
- name: High - name: High
description: Steady high value on CK pin outside transmission window description: Steady high value on CK pin outside transmission window
value: 1 value: 1
enum/DEP:
bit_size: 1
variants:
- name: High
description: DE signal is active high
value: 0
- name: Low
description: DE signal is active low
value: 1
enum/IRLP: enum/IRLP:
bit_size: 1 bit_size: 1
variants: variants:
@ -594,34 +330,7 @@ enum/M0:
- name: Bit9 - name: Bit9
description: "1 start bit, 9 data bits, n stop bits" description: "1 start bit, 9 data bits, n stop bits"
value: 1 value: 1
enum/M1: enum/OVER8:
bit_size: 1
variants:
- name: M0
description: Use M0 to set the data bits
value: 0
- name: Bit7
description: "1 start bit, 7 data bits, n stop bits"
value: 1
enum/MSBFIRST:
bit_size: 1
variants:
- name: LSB
description: "data is transmitted/received with data bit 0 first, following the start bit"
value: 0
- name: MSB
description: "data is transmitted/received with MSB (bit 7/8/9) first, following the start bit"
value: 1
enum/ONEBIT:
bit_size: 1
variants:
- name: Sample3
description: Three sample bit method
value: 0
- name: Sample1
description: One sample bit method
value: 1
enum/OVER:
bit_size: 1 bit_size: 1
variants: variants:
- name: Oversampling16 - name: Oversampling16
@ -655,13 +364,13 @@ enum/STOP:
description: 1 stop bit description: 1 stop bit
value: 0 value: 0
- name: Stop0p5 - name: Stop0p5
description: 0.5 stop bit description: 0.5 stop bits
value: 1 value: 1
- name: Stop2 - name: Stop2
description: 2 stop bit description: 2 stop bits
value: 2 value: 2
- name: Stop1p5 - name: Stop1p5
description: 1.5 stop bit description: 1.5 stop bits
value: 3 value: 3
enum/WAKE: enum/WAKE:
bit_size: 1 bit_size: 1
@ -672,15 +381,3 @@ enum/WAKE:
- name: AddressMark - name: AddressMark
description: USART wakeup on address mark description: USART wakeup on address mark
value: 1 value: 1
enum/WUS:
bit_size: 2
variants:
- name: Address
description: WUF active on address match
value: 0
- name: Start
description: WuF active on Start bit detection
value: 2
- name: RXNE
description: WUF active on RXNE
value: 3

View File

@ -1,6 +1,58 @@
--- ---
block/USART:
description: Universal synchronous asynchronous receiver transmitter
items:
- name: CR1
description: Control register 1
byte_offset: 0
fieldset: CR1
- name: CR2
description: Control register 2
byte_offset: 4
fieldset: CR2
- name: CR3
description: Control register 3
byte_offset: 8
fieldset: CR3
- name: BRR
description: Baud rate register
byte_offset: 12
fieldset: BRR
- name: GTPR
description: Guard time and prescaler register
byte_offset: 16
fieldset: GTPR
- name: RTOR
description: Receiver timeout register
byte_offset: 20
fieldset: RTOR
- name: RQR
description: Request register
byte_offset: 24
access: Write
fieldset: RQR
- name: ISR
description: Interrupt & status register
byte_offset: 28
access: Read
fieldset: ISR
- name: ICR
description: Interrupt flag clear register
byte_offset: 32
access: Write
fieldset: ICR
- name: RDR
description: Receive data register
byte_offset: 36
access: Read
fieldset: DR
- name: TDR
description: Transmit data register
byte_offset: 40
access: Write
fieldset: DR
block/LPUART: block/LPUART:
description: Lower power Universal asynchronous receiver transmitter description: Low-power Universal synchronous asynchronous receiver transmitter
items: items:
- name: CR1 - name: CR1
description: Control register 1 description: Control register 1
@ -37,22 +89,19 @@ block/LPUART:
description: Receive data register description: Receive data register
byte_offset: 36 byte_offset: 36
access: Read access: Read
fieldset: RDR fieldset: DR
- name: TDR - name: TDR
description: Transmit data register description: Transmit data register
byte_offset: 40 byte_offset: 40
fieldset: TDR access: Write
- name: PRESC fieldset: DR
description: Prescaler register
byte_offset: 44
fieldset: PRESC
fieldset/BRR: fieldset/BRR:
description: Baud rate register description: Baud rate register
fields: fields:
- name: BRR - name: BRR
description: BRR description: USARTDIV
bit_offset: 0 bit_offset: 0
bit_size: 20 bit_size: 16
fieldset/CR1: fieldset/CR1:
description: Control register 1 description: Control register 1
fields: fields:
@ -85,7 +134,7 @@ fieldset/CR1:
bit_offset: 6 bit_offset: 6
bit_size: 1 bit_size: 1
- name: TXEIE - name: TXEIE
description: interrupt enable description: TXE interrupt enable
bit_offset: 7 bit_offset: 7
bit_size: 1 bit_size: 1
- name: PEIE - name: PEIE
@ -119,44 +168,76 @@ fieldset/CR1:
description: Character match interrupt enable description: Character match interrupt enable
bit_offset: 14 bit_offset: 14
bit_size: 1 bit_size: 1
- name: OVER8
description: Oversampling mode
bit_offset: 15
bit_size: 1
enum: OVER8
- name: DEDT - name: DEDT
description: Driver Enable de-assertion time description: Driver Enable deassertion time
bit_offset: 16 bit_offset: 16
bit_size: 5 bit_size: 5
- name: DEAT - name: DEAT
description: Driver Enable assertion time description: Driver Enable assertion time
bit_offset: 21 bit_offset: 21
bit_size: 5 bit_size: 5
- name: RTOIE
description: Receiver timeout interrupt enable
bit_offset: 26
bit_size: 1
- name: EOBIE
description: End of Block interrupt enable
bit_offset: 27
bit_size: 1
- name: M1 - name: M1
description: Word length description: Word length
bit_offset: 28 bit_offset: 28
bit_size: 1 bit_size: 1
enum: M1 enum: M1
- name: FIFOEN
description: FIFO mode enable
bit_offset: 29
bit_size: 1
- name: TXFEIE
description: TXFIFO empty interrupt enable
bit_offset: 30
bit_size: 1
- name: RXFFIE
description: RXFIFO Full interrupt enable
bit_offset: 31
bit_size: 1
fieldset/CR2: fieldset/CR2:
description: Control register 2 description: Control register 2
fields: fields:
- name: ADDM7 - name: ADDM
description: 7-bit Address Detection/4-bit Address Detection description: 7-bit Address Detection/4-bit Address Detection
bit_offset: 4 bit_offset: 4
bit_size: 1 bit_size: 1
enum: ADDM7 enum: ADDM
- name: LBDL
description: Line break detection length
bit_offset: 5
bit_size: 1
enum: LBDL
- name: LBDIE
description: LIN break detection interrupt enable
bit_offset: 6
bit_size: 1
- name: LBCL
description: Last bit clock pulse
bit_offset: 8
bit_size: 1
- name: CPHA
description: Clock phase
bit_offset: 9
bit_size: 1
enum: CPHA
- name: CPOL
description: Clock polarity
bit_offset: 10
bit_size: 1
enum: CPOL
- name: CLKEN
description: Clock enable
bit_offset: 11
bit_size: 1
- name: STOP - name: STOP
description: STOP bits description: STOP bits
bit_offset: 12 bit_offset: 12
bit_size: 2 bit_size: 2
enum: STOP enum: STOP
- name: LINEN
description: LIN mode enable
bit_offset: 14
bit_size: 1
- name: SWAP - name: SWAP
description: Swap TX/RX pins description: Swap TX/RX pins
bit_offset: 15 bit_offset: 15
@ -178,6 +259,19 @@ fieldset/CR2:
bit_offset: 19 bit_offset: 19
bit_size: 1 bit_size: 1
enum: MSBFIRST enum: MSBFIRST
- name: ABREN
description: Auto baud rate enable
bit_offset: 20
bit_size: 1
- name: ABRMOD
description: Auto baud rate mode
bit_offset: 21
bit_size: 2
enum: ABRMOD
- name: RTOEN
description: Receiver timeout enable
bit_offset: 23
bit_size: 1
- name: ADD - name: ADD
description: Address of the USART node description: Address of the USART node
bit_offset: 24 bit_offset: 24
@ -189,10 +283,27 @@ fieldset/CR3:
description: Error interrupt enable description: Error interrupt enable
bit_offset: 0 bit_offset: 0
bit_size: 1 bit_size: 1
- name: IREN
description: IrDA mode enable
bit_offset: 1
bit_size: 1
- name: IRLP
description: IrDA low-power
bit_offset: 2
bit_size: 1
enum: IRLP
- name: HDSEL - name: HDSEL
description: Half-duplex selection description: Half-duplex selection
bit_offset: 3 bit_offset: 3
bit_size: 1 bit_size: 1
- name: NACK
description: Smartcard NACK enable
bit_offset: 4
bit_size: 1
- name: SCEN
description: Smartcard mode enable
bit_offset: 5
bit_size: 1
- name: DMAR - name: DMAR
description: DMA enable receiver description: DMA enable receiver
bit_offset: 6 bit_offset: 6
@ -213,6 +324,11 @@ fieldset/CR3:
description: CTS interrupt enable description: CTS interrupt enable
bit_offset: 10 bit_offset: 10
bit_size: 1 bit_size: 1
- name: ONEBIT
description: One sample bit method enable
bit_offset: 11
bit_size: 1
enum: ONEBIT
- name: OVRDIS - name: OVRDIS
description: Overrun Disable description: Overrun Disable
bit_offset: 12 bit_offset: 12
@ -230,6 +346,10 @@ fieldset/CR3:
bit_offset: 15 bit_offset: 15
bit_size: 1 bit_size: 1
enum: DEP enum: DEP
- name: SCARCNT
description: Smartcard auto-retry count
bit_offset: 17
bit_size: 3
- name: WUS - name: WUS
description: Wakeup from Stop mode interrupt flag selection description: Wakeup from Stop mode interrupt flag selection
bit_offset: 20 bit_offset: 20
@ -239,58 +359,72 @@ fieldset/CR3:
description: Wakeup from Stop mode interrupt enable description: Wakeup from Stop mode interrupt enable
bit_offset: 22 bit_offset: 22
bit_size: 1 bit_size: 1
- name: TXFTIE fieldset/DR:
description: TXFIFO threshold interrupt enable description: Data register
bit_offset: 23 fields:
bit_size: 1 - name: DR
- name: RXFTCFG description: Data value
description: Receive FIFO threshold configuration bit_offset: 0
bit_offset: 25 bit_size: 9
bit_size: 3 fieldset/GTPR:
- name: RXFTIE description: Guard time and prescaler register
description: RXFIFO threshold interrupt enable fields:
bit_offset: 28 - name: PSC
bit_size: 1 description: Prescaler value
- name: TXFTCFG bit_offset: 0
description: TXFIFO threshold configuration bit_size: 8
bit_offset: 29 - name: GT
bit_size: 3 description: Guard time value
bit_offset: 8
bit_size: 8
fieldset/ICR: fieldset/ICR:
description: Interrupt flag clear register description: Interrupt flag clear register
fields: fields:
- name: PECF - name: PE
description: Parity error clear flag description: Parity error clear flag
bit_offset: 0 bit_offset: 0
bit_size: 1 bit_size: 1
- name: FECF - name: FE
description: Framing error clear flag description: Framing error clear flag
bit_offset: 1 bit_offset: 1
bit_size: 1 bit_size: 1
- name: NCF - name: NE
description: Noise detected clear flag description: Noise error clear flag
bit_offset: 2 bit_offset: 2
bit_size: 1 bit_size: 1
- name: ORECF - name: ORE
description: Overrun error clear flag description: Overrun error clear flag
bit_offset: 3 bit_offset: 3
bit_size: 1 bit_size: 1
- name: IDLECF - name: IDLE
description: Idle line detected clear flag description: Idle line detected clear flag
bit_offset: 4 bit_offset: 4
bit_size: 1 bit_size: 1
- name: TCCF - name: TC
description: Transmission complete clear flag description: Transmission complete clear flag
bit_offset: 6 bit_offset: 6
bit_size: 1 bit_size: 1
- name: CTSCF - name: LBD
description: LIN break detection clear flag
bit_offset: 8
bit_size: 1
- name: CTS
description: CTS clear flag description: CTS clear flag
bit_offset: 9 bit_offset: 9
bit_size: 1 bit_size: 1
- name: CMCF - name: RTOF
description: Receiver timeout clear flag
bit_offset: 11
bit_size: 1
- name: EOBF
description: End of block clear flag
bit_offset: 12
bit_size: 1
- name: CMF
description: Character match clear flag description: Character match clear flag
bit_offset: 17 bit_offset: 17
bit_size: 1 bit_size: 1
- name: WUCF - name: WUF
description: Wakeup from Stop mode clear flag description: Wakeup from Stop mode clear flag
bit_offset: 20 bit_offset: 20
bit_size: 1 bit_size: 1
@ -298,130 +432,144 @@ fieldset/ISR:
description: Interrupt & status register description: Interrupt & status register
fields: fields:
- name: PE - name: PE
description: PE description: Parity error
bit_offset: 0 bit_offset: 0
bit_size: 1 bit_size: 1
- name: FE - name: FE
description: FE description: Framing error
bit_offset: 1 bit_offset: 1
bit_size: 1 bit_size: 1
- name: NE - name: NE
description: NE description: Noise error flag
bit_offset: 2 bit_offset: 2
bit_size: 1 bit_size: 1
- name: ORE - name: ORE
description: ORE description: Overrun error
bit_offset: 3 bit_offset: 3
bit_size: 1 bit_size: 1
- name: IDLE - name: IDLE
description: IDLE description: Idle line detected
bit_offset: 4 bit_offset: 4
bit_size: 1 bit_size: 1
- name: RXNE - name: RXNE
description: RXNE description: Read data register not empty
bit_offset: 5 bit_offset: 5
bit_size: 1 bit_size: 1
- name: TC - name: TC
description: TC description: Transmission complete
bit_offset: 6 bit_offset: 6
bit_size: 1 bit_size: 1
- name: TXE - name: TXE
description: TXE description: Transmit data register empty
bit_offset: 7 bit_offset: 7
bit_size: 1 bit_size: 1
- name: LBD
description: LIN break detection flag
bit_offset: 8
bit_size: 1
- name: CTSIF - name: CTSIF
description: CTSIF description: CTS interrupt flag
bit_offset: 9 bit_offset: 9
bit_size: 1 bit_size: 1
- name: CTS - name: CTS
description: CTS description: CTS flag
bit_offset: 10 bit_offset: 10
bit_size: 1 bit_size: 1
- name: RTOF
description: Receiver timeout
bit_offset: 11
bit_size: 1
- name: EOBF
description: End of block flag
bit_offset: 12
bit_size: 1
- name: ABRE
description: Auto baud rate error
bit_offset: 14
bit_size: 1
- name: ABRF
description: Auto baud rate flag
bit_offset: 15
bit_size: 1
- name: BUSY - name: BUSY
description: BUSY description: Busy flag
bit_offset: 16 bit_offset: 16
bit_size: 1 bit_size: 1
- name: CMF - name: CMF
description: CMF description: character match flag
bit_offset: 17 bit_offset: 17
bit_size: 1 bit_size: 1
- name: SBKF - name: SBKF
description: SBKF description: Send break flag
bit_offset: 18 bit_offset: 18
bit_size: 1 bit_size: 1
- name: RWU - name: RWU
description: RWU description: Receiver wakeup from Mute mode
bit_offset: 19 bit_offset: 19
bit_size: 1 bit_size: 1
enum: RWU
- name: WUF - name: WUF
description: WUF description: Wakeup from Stop mode flag
bit_offset: 20 bit_offset: 20
bit_size: 1 bit_size: 1
- name: TEACK - name: TEACK
description: TEACK description: Transmit enable acknowledge flag
bit_offset: 21 bit_offset: 21
bit_size: 1 bit_size: 1
- name: REACK - name: REACK
description: REACK description: Receive enable acknowledge flag
bit_offset: 22 bit_offset: 22
bit_size: 1 bit_size: 1
- name: TXFE
description: TXFIFO Empty
bit_offset: 23
bit_size: 1
- name: RXFF
description: RXFIFO Full
bit_offset: 24
bit_size: 1
- name: RXFT
description: RXFIFO threshold flag
bit_offset: 26
bit_size: 1
- name: TXFT
description: TXFIFO threshold flag
bit_offset: 27
bit_size: 1
fieldset/PRESC:
description: Prescaler register
fields:
- name: PRESCALER
description: Clock prescaler
bit_offset: 0
bit_size: 4
fieldset/RDR:
description: Receive data register
fields:
- name: RDR
description: Receive data value
bit_offset: 0
bit_size: 9
fieldset/RQR: fieldset/RQR:
description: Request register description: Request register
fields: fields:
- name: ABRRQ
description: Auto baud rate request. Resets the ABRF flag in the USART_ISR and request an automatic baud rate measurement on the next received data frame.
bit_offset: 0
bit_size: 1
- name: SBKRQ - name: SBKRQ
description: Send break request description: "Send break request. Sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available"
bit_offset: 1 bit_offset: 1
bit_size: 1 bit_size: 1
- name: MMRQ - name: MMRQ
description: Mute mode request description: Mute mode request. Puts the USART in mute mode and sets the RWU flag.
bit_offset: 2 bit_offset: 2
bit_size: 1 bit_size: 1
- name: RXFRQ - name: RXFRQ
description: Receive data flush request description: "Receive data flush request. Clears the RXNE flag. This allows to discard the received data without reading it, and avoid an overrun condition"
bit_offset: 3 bit_offset: 3
bit_size: 1 bit_size: 1
- name: TXFRQ - name: TXFRQ
description: Transmit data flush request description: Transmit data flush request. Sets the TXE flags. This allows to discard the transmit data.
bit_offset: 4 bit_offset: 4
bit_size: 1 bit_size: 1
fieldset/TDR: fieldset/RTOR:
description: Transmit data register description: Receiver timeout register
fields: fields:
- name: TDR - name: RTO
description: Transmit data value description: Receiver timeout value
bit_offset: 0 bit_offset: 0
bit_size: 9 bit_size: 24
enum/ADDM7: - name: BLEN
description: Block Length
bit_offset: 24
bit_size: 8
enum/ABRMOD:
bit_size: 2
variants:
- name: Start
description: Measurement of the start bit is used to detect the baud rate
value: 0
- name: Edge
description: Falling edge to falling edge measurement
value: 1
- name: Frame7F
description: "0x7F frame detection"
value: 2
- name: Frame55
description: "0x55 frame detection"
value: 3
enum/ADDM:
bit_size: 1 bit_size: 1
variants: variants:
- name: Bit4 - name: Bit4
@ -430,6 +578,24 @@ enum/ADDM7:
- name: Bit7 - name: Bit7
description: 7-bit address detection description: 7-bit address detection
value: 1 value: 1
enum/CPHA:
bit_size: 1
variants:
- name: First
description: The first clock transition is the first data capture edge
value: 0
- name: Second
description: The second clock transition is the first data capture edge
value: 1
enum/CPOL:
bit_size: 1
variants:
- name: Low
description: Steady low value on CK pin outside transmission window
value: 0
- name: High
description: Steady high value on CK pin outside transmission window
value: 1
enum/DEP: enum/DEP:
bit_size: 1 bit_size: 1
variants: variants:
@ -439,6 +605,24 @@ enum/DEP:
- name: Low - name: Low
description: DE signal is active low description: DE signal is active low
value: 1 value: 1
enum/IRLP:
bit_size: 1
variants:
- name: Normal
description: Normal mode
value: 0
- name: LowPower
description: Low-power mode
value: 1
enum/LBDL:
bit_size: 1
variants:
- name: Bit10
description: 10-bit break detection
value: 0
- name: Bit11
description: 11-bit break detection
value: 1
enum/M0: enum/M0:
bit_size: 1 bit_size: 1
variants: variants:
@ -466,6 +650,24 @@ enum/MSBFIRST:
- name: MSB - name: MSB
description: "data is transmitted/received with MSB (bit 7/8/9) first, following the start bit" description: "data is transmitted/received with MSB (bit 7/8/9) first, following the start bit"
value: 1 value: 1
enum/ONEBIT:
bit_size: 1
variants:
- name: Sample3
description: Three sample bit method
value: 0
- name: Sample1
description: One sample bit method
value: 1
enum/OVER8:
bit_size: 1
variants:
- name: Oversampling16
description: Oversampling by 16
value: 0
- name: Oversampling8
description: Oversampling by 8
value: 1
enum/PS: enum/PS:
bit_size: 1 bit_size: 1
variants: variants:
@ -475,6 +677,15 @@ enum/PS:
- name: Odd - name: Odd
description: Odd parity description: Odd parity
value: 1 value: 1
enum/RWU:
bit_size: 1
variants:
- name: Active
description: Receiver in active mode
value: 0
- name: Mute
description: Receiver in mute mode
value: 1
enum/STOP: enum/STOP:
bit_size: 2 bit_size: 2
variants: variants:
@ -482,22 +693,22 @@ enum/STOP:
description: 1 stop bit description: 1 stop bit
value: 0 value: 0
- name: Stop0p5 - name: Stop0p5
description: 0.5 stop bit description: 0.5 stop bits
value: 1 value: 1
- name: Stop2 - name: Stop2
description: 2 stop bit description: 2 stop bits
value: 2 value: 2
- name: Stop1p5 - name: Stop1p5
description: 1.5 stop bit description: 1.5 stop bits
value: 3 value: 3
enum/WAKE: enum/WAKE:
bit_size: 1 bit_size: 1
variants: variants:
- name: Idle - name: IdleLine
description: Idle line description: USART wakeup on idle line
value: 0 value: 0
- name: Address - name: AddressMark
description: Address mask description: USART wakeup on address mark
value: 1 value: 1
enum/WUS: enum/WUS:
bit_size: 2 bit_size: 2

View File

@ -0,0 +1,823 @@
---
block/USART:
description: Universal synchronous asynchronous receiver transmitter
items:
- name: CR1
description: Control register 1
byte_offset: 0
fieldset: CR1
- name: CR2
description: Control register 2
byte_offset: 4
fieldset: CR2
- name: CR3
description: Control register 3
byte_offset: 8
fieldset: CR3
- name: BRR
description: Baud rate register
byte_offset: 12
fieldset: BRR
- name: GTPR
description: Guard time and prescaler register
byte_offset: 16
fieldset: GTPR
- name: RTOR
description: Receiver timeout register
byte_offset: 20
fieldset: RTOR
- name: RQR
description: Request register
byte_offset: 24
access: Write
fieldset: RQR
- name: ISR
description: Interrupt & status register
byte_offset: 28
access: Read
fieldset: ISR
- name: ICR
description: Interrupt flag clear register
byte_offset: 32
access: Write
fieldset: ICR
- name: RDR
description: Receive data register
byte_offset: 36
access: Read
fieldset: DR
- name: TDR
description: Transmit data register
byte_offset: 40
access: Write
fieldset: DR
- name: PRESC
description: Prescaler register
byte_offset: 44
fieldset: PRESC
block/LPUART:
description: Low-power Universal synchronous asynchronous receiver transmitter
items:
- name: CR1
description: Control register 1
byte_offset: 0
fieldset: CR1
- name: CR2
description: Control register 2
byte_offset: 4
fieldset: CR2
- name: CR3
description: Control register 3
byte_offset: 8
fieldset: CR3
- name: BRR
description: Baud rate register
byte_offset: 12
fieldset: BRR
- name: RQR
description: Request register
byte_offset: 24
access: Write
fieldset: RQR
- name: ISR
description: Interrupt & status register
byte_offset: 28
access: Read
fieldset: ISR
- name: ICR
description: Interrupt flag clear register
byte_offset: 32
access: Write
fieldset: ICR
- name: RDR
description: Receive data register
byte_offset: 36
access: Read
fieldset: DR
- name: TDR
description: Transmit data register
byte_offset: 40
access: Write
fieldset: DR
- name: PRESC
description: Prescaler register
byte_offset: 44
fieldset: PRESC
fieldset/BRR:
description: Baud rate register
fields:
- name: BRR
description: USARTDIV
bit_offset: 0
bit_size: 16
fieldset/CR1:
description: Control register 1
fields:
- name: UE
description: USART enable
bit_offset: 0
bit_size: 1
- name: UESM
description: USART enable in Stop mode
bit_offset: 1
bit_size: 1
- name: RE
description: Receiver enable
bit_offset: 2
bit_size: 1
- name: TE
description: Transmitter enable
bit_offset: 3
bit_size: 1
- name: IDLEIE
description: IDLE interrupt enable
bit_offset: 4
bit_size: 1
- name: RXNEIE
description: RXNE interrupt enable
bit_offset: 5
bit_size: 1
- name: TCIE
description: Transmission complete interrupt enable
bit_offset: 6
bit_size: 1
- name: TXEIE
description: TXE interrupt enable
bit_offset: 7
bit_size: 1
- name: PEIE
description: PE interrupt enable
bit_offset: 8
bit_size: 1
- name: PS
description: Parity selection
bit_offset: 9
bit_size: 1
enum: PS
- name: PCE
description: Parity control enable
bit_offset: 10
bit_size: 1
- name: WAKE
description: Receiver wakeup method
bit_offset: 11
bit_size: 1
enum: WAKE
- name: M0
description: Word length
bit_offset: 12
bit_size: 1
enum: M0
- name: MME
description: Mute mode enable
bit_offset: 13
bit_size: 1
- name: CMIE
description: Character match interrupt enable
bit_offset: 14
bit_size: 1
- name: OVER8
description: Oversampling mode
bit_offset: 15
bit_size: 1
enum: OVER8
- name: DEDT
description: Driver Enable deassertion time
bit_offset: 16
bit_size: 5
- name: DEAT
description: Driver Enable assertion time
bit_offset: 21
bit_size: 5
- name: RTOIE
description: Receiver timeout interrupt enable
bit_offset: 26
bit_size: 1
- name: EOBIE
description: End of Block interrupt enable
bit_offset: 27
bit_size: 1
- name: M1
description: Word length
bit_offset: 28
bit_size: 1
enum: M1
- name: FIFOEN
description: FIFO mode enable
bit_offset: 29
bit_size: 1
- name: TXFEIE
description: TXFIFO empty interrupt enable
bit_offset: 30
bit_size: 1
- name: RXFFIE
description: RXFIFO Full interrupt enable
bit_offset: 31
bit_size: 1
fieldset/CR2:
description: Control register 2
fields:
- name: ADDM
description: 7-bit Address Detection/4-bit Address Detection
bit_offset: 4
bit_size: 1
enum: ADDM
- name: LBDL
description: Line break detection length
bit_offset: 5
bit_size: 1
enum: LBDL
- name: LBDIE
description: LIN break detection interrupt enable
bit_offset: 6
bit_size: 1
- name: LBCL
description: Last bit clock pulse
bit_offset: 8
bit_size: 1
- name: CPHA
description: Clock phase
bit_offset: 9
bit_size: 1
enum: CPHA
- name: CPOL
description: Clock polarity
bit_offset: 10
bit_size: 1
enum: CPOL
- name: CLKEN
description: Clock enable
bit_offset: 11
bit_size: 1
- name: STOP
description: STOP bits
bit_offset: 12
bit_size: 2
enum: STOP
- name: LINEN
description: LIN mode enable
bit_offset: 14
bit_size: 1
- name: SWAP
description: Swap TX/RX pins
bit_offset: 15
bit_size: 1
- name: RXINV
description: RX pin active level inversion
bit_offset: 16
bit_size: 1
- name: TXINV
description: TX pin active level inversion
bit_offset: 17
bit_size: 1
- name: DATAINV
description: Binary data inversion
bit_offset: 18
bit_size: 1
- name: MSBFIRST
description: Most significant bit first
bit_offset: 19
bit_size: 1
enum: MSBFIRST
- name: ABREN
description: Auto baud rate enable
bit_offset: 20
bit_size: 1
- name: ABRMOD
description: Auto baud rate mode
bit_offset: 21
bit_size: 2
enum: ABRMOD
- name: RTOEN
description: Receiver timeout enable
bit_offset: 23
bit_size: 1
- name: ADD
description: Address of the USART node
bit_offset: 24
bit_size: 8
fieldset/CR3:
description: Control register 3
fields:
- name: EIE
description: Error interrupt enable
bit_offset: 0
bit_size: 1
- name: IREN
description: IrDA mode enable
bit_offset: 1
bit_size: 1
- name: IRLP
description: IrDA low-power
bit_offset: 2
bit_size: 1
enum: IRLP
- name: HDSEL
description: Half-duplex selection
bit_offset: 3
bit_size: 1
- name: NACK
description: Smartcard NACK enable
bit_offset: 4
bit_size: 1
- name: SCEN
description: Smartcard mode enable
bit_offset: 5
bit_size: 1
- name: DMAR
description: DMA enable receiver
bit_offset: 6
bit_size: 1
- name: DMAT
description: DMA enable transmitter
bit_offset: 7
bit_size: 1
- name: RTSE
description: RTS enable
bit_offset: 8
bit_size: 1
- name: CTSE
description: CTS enable
bit_offset: 9
bit_size: 1
- name: CTSIE
description: CTS interrupt enable
bit_offset: 10
bit_size: 1
- name: ONEBIT
description: One sample bit method enable
bit_offset: 11
bit_size: 1
enum: ONEBIT
- name: OVRDIS
description: Overrun Disable
bit_offset: 12
bit_size: 1
- name: DDRE
description: DMA Disable on Reception Error
bit_offset: 13
bit_size: 1
- name: DEM
description: Driver enable mode
bit_offset: 14
bit_size: 1
- name: DEP
description: Driver enable polarity selection
bit_offset: 15
bit_size: 1
enum: DEP
- name: SCARCNT
description: Smartcard auto-retry count
bit_offset: 17
bit_size: 3
- name: WUS
description: Wakeup from Stop mode interrupt flag selection
bit_offset: 20
bit_size: 2
enum: WUS
- name: WUFIE
description: Wakeup from Stop mode interrupt enable
bit_offset: 22
bit_size: 1
- name: TXFTIE
description: TXFIFO threshold interrupt enable
bit_offset: 23
bit_size: 1
- name: RXFTCFG
description: Receive FIFO threshold configuration
bit_offset: 25
bit_size: 3
- name: RXFTIE
description: RXFIFO threshold interrupt enable
bit_offset: 28
bit_size: 1
- name: TXFTCFG
description: TXFIFO threshold configuration
bit_offset: 29
bit_size: 3
fieldset/DR:
description: Data register
fields:
- name: DR
description: Data value
bit_offset: 0
bit_size: 9
fieldset/GTPR:
description: Guard time and prescaler register
fields:
- name: PSC
description: Prescaler value
bit_offset: 0
bit_size: 8
- name: GT
description: Guard time value
bit_offset: 8
bit_size: 8
fieldset/ICR:
description: Interrupt flag clear register
fields:
- name: PE
description: Parity error clear flag
bit_offset: 0
bit_size: 1
- name: FE
description: Framing error clear flag
bit_offset: 1
bit_size: 1
- name: NE
description: Noise error clear flag
bit_offset: 2
bit_size: 1
- name: ORE
description: Overrun error clear flag
bit_offset: 3
bit_size: 1
- name: IDLE
description: Idle line detected clear flag
bit_offset: 4
bit_size: 1
- name: TC
description: Transmission complete clear flag
bit_offset: 6
bit_size: 1
- name: LBD
description: LIN break detection clear flag
bit_offset: 8
bit_size: 1
- name: CTS
description: CTS clear flag
bit_offset: 9
bit_size: 1
- name: RTOF
description: Receiver timeout clear flag
bit_offset: 11
bit_size: 1
- name: EOBF
description: End of block clear flag
bit_offset: 12
bit_size: 1
- name: CMF
description: Character match clear flag
bit_offset: 17
bit_size: 1
- name: WUF
description: Wakeup from Stop mode clear flag
bit_offset: 20
bit_size: 1
fieldset/ISR:
description: Interrupt & status register
fields:
- name: PE
description: Parity error
bit_offset: 0
bit_size: 1
- name: FE
description: Framing error
bit_offset: 1
bit_size: 1
- name: NE
description: Noise error flag
bit_offset: 2
bit_size: 1
- name: ORE
description: Overrun error
bit_offset: 3
bit_size: 1
- name: IDLE
description: Idle line detected
bit_offset: 4
bit_size: 1
- name: RXNE
description: Read data register not empty
bit_offset: 5
bit_size: 1
- name: TC
description: Transmission complete
bit_offset: 6
bit_size: 1
- name: TXE
description: Transmit data register empty
bit_offset: 7
bit_size: 1
- name: LBD
description: LIN break detection flag
bit_offset: 8
bit_size: 1
- name: CTSIF
description: CTS interrupt flag
bit_offset: 9
bit_size: 1
- name: CTS
description: CTS flag
bit_offset: 10
bit_size: 1
- name: RTOF
description: Receiver timeout
bit_offset: 11
bit_size: 1
- name: EOBF
description: End of block flag
bit_offset: 12
bit_size: 1
- name: ABRE
description: Auto baud rate error
bit_offset: 14
bit_size: 1
- name: ABRF
description: Auto baud rate flag
bit_offset: 15
bit_size: 1
- name: BUSY
description: Busy flag
bit_offset: 16
bit_size: 1
- name: CMF
description: character match flag
bit_offset: 17
bit_size: 1
- name: SBKF
description: Send break flag
bit_offset: 18
bit_size: 1
- name: RWU
description: Receiver wakeup from Mute mode
bit_offset: 19
bit_size: 1
enum: RWU
- name: WUF
description: Wakeup from Stop mode flag
bit_offset: 20
bit_size: 1
- name: TEACK
description: Transmit enable acknowledge flag
bit_offset: 21
bit_size: 1
- name: REACK
description: Receive enable acknowledge flag
bit_offset: 22
bit_size: 1
- name: TXFE
description: TXFIFO Empty
bit_offset: 23
bit_size: 1
- name: RXFF
description: RXFIFO Full
bit_offset: 24
bit_size: 1
- name: RXFT
description: RXFIFO threshold flag
bit_offset: 26
bit_size: 1
- name: TXFT
description: TXFIFO threshold flag
bit_offset: 27
bit_size: 1
fieldset/PRESC:
description: Prescaler register
fields:
- name: PRESCALER
description: Clock prescaler
bit_offset: 0
bit_size: 4
enum: PRESC
fieldset/RQR:
description: Request register
fields:
- name: ABRRQ
description: Auto baud rate request. Resets the ABRF flag in the USART_ISR and request an automatic baud rate measurement on the next received data frame.
bit_offset: 0
bit_size: 1
- name: SBKRQ
description: "Send break request. Sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available"
bit_offset: 1
bit_size: 1
- name: MMRQ
description: Mute mode request. Puts the USART in mute mode and sets the RWU flag.
bit_offset: 2
bit_size: 1
- name: RXFRQ
description: "Receive data flush request. Clears the RXNE flag. This allows to discard the received data without reading it, and avoid an overrun condition"
bit_offset: 3
bit_size: 1
- name: TXFRQ
description: Transmit data flush request. Sets the TXE flags. This allows to discard the transmit data.
bit_offset: 4
bit_size: 1
fieldset/RTOR:
description: Receiver timeout register
fields:
- name: RTO
description: Receiver timeout value
bit_offset: 0
bit_size: 24
- name: BLEN
description: Block Length
bit_offset: 24
bit_size: 8
enum/ABRMOD:
bit_size: 2
variants:
- name: Start
description: Measurement of the start bit is used to detect the baud rate
value: 0
- name: Edge
description: Falling edge to falling edge measurement
value: 1
- name: Frame7F
description: "0x7F frame detection"
value: 2
- name: Frame55
description: "0x55 frame detection"
value: 3
enum/ADDM:
bit_size: 1
variants:
- name: Bit4
description: 4-bit address detection
value: 0
- name: Bit7
description: 7-bit address detection
value: 1
enum/CPHA:
bit_size: 1
variants:
- name: First
description: The first clock transition is the first data capture edge
value: 0
- name: Second
description: The second clock transition is the first data capture edge
value: 1
enum/CPOL:
bit_size: 1
variants:
- name: Low
description: Steady low value on CK pin outside transmission window
value: 0
- name: High
description: Steady high value on CK pin outside transmission window
value: 1
enum/DEP:
bit_size: 1
variants:
- name: High
description: DE signal is active high
value: 0
- name: Low
description: DE signal is active low
value: 1
enum/IRLP:
bit_size: 1
variants:
- name: Normal
description: Normal mode
value: 0
- name: LowPower
description: Low-power mode
value: 1
enum/LBDL:
bit_size: 1
variants:
- name: Bit10
description: 10-bit break detection
value: 0
- name: Bit11
description: 11-bit break detection
value: 1
enum/M0:
bit_size: 1
variants:
- name: Bit8
description: "1 start bit, 8 data bits, n stop bits"
value: 0
- name: Bit9
description: "1 start bit, 9 data bits, n stop bits"
value: 1
enum/M1:
bit_size: 1
variants:
- name: M0
description: Use M0 to set the data bits
value: 0
- name: Bit7
description: "1 start bit, 7 data bits, n stop bits"
value: 1
enum/MSBFIRST:
bit_size: 1
variants:
- name: LSB
description: "data is transmitted/received with data bit 0 first, following the start bit"
value: 0
- name: MSB
description: "data is transmitted/received with MSB (bit 7/8/9) first, following the start bit"
value: 1
enum/ONEBIT:
bit_size: 1
variants:
- name: Sample3
description: Three sample bit method
value: 0
- name: Sample1
description: One sample bit method
value: 1
enum/OVER8:
bit_size: 1
variants:
- name: Oversampling16
description: Oversampling by 16
value: 0
- name: Oversampling8
description: Oversampling by 8
value: 1
enum/PRESC:
bit_size: 4
variants:
- name: Div1
description: input clock not divided
value: 0
- name: Div2
description: input clock divided by 2
value: 1
- name: Div4
description: input clock divided by 4
value: 2
- name: Div6
description: input clock divided by 6
value: 3
- name: Div8
description: input clock divided by 8
value: 4
- name: Div10
description: input clock divided by 10
value: 5
- name: Div12
description: input clock divided by 12
value: 6
- name: Div16
description: input clock divided by 16
value: 7
- name: Div32
description: input clock divided by 32
value: 8
- name: Div64
description: input clock divided by 64
value: 9
- name: Div128
description: input clock divided by 128
value: 10
- name: Div256
description: input clock divided by 256
value: 11
enum/PS:
bit_size: 1
variants:
- name: Even
description: Even parity
value: 0
- name: Odd
description: Odd parity
value: 1
enum/RWU:
bit_size: 1
variants:
- name: Active
description: Receiver in active mode
value: 0
- name: Mute
description: Receiver in mute mode
value: 1
enum/STOP:
bit_size: 2
variants:
- name: Stop1
description: 1 stop bit
value: 0
- name: Stop0p5
description: 0.5 stop bits
value: 1
- name: Stop2
description: 2 stop bits
value: 2
- name: Stop1p5
description: 1.5 stop bits
value: 3
enum/WAKE:
bit_size: 1
variants:
- name: IdleLine
description: USART wakeup on idle line
value: 0
- name: AddressMark
description: USART wakeup on address mark
value: 1
enum/WUS:
bit_size: 2
variants:
- name: Address
description: WUF active on address match
value: 0
- name: Start
description: WuF active on Start bit detection
value: 2
- name: RXNE
description: WUF active on RXNE
value: 3

View File

@ -113,23 +113,23 @@ impl PeriMatcher {
const PERIMAP: &[(&str, (&str, &str, &str))] = &[ const PERIMAP: &[(&str, (&str, &str, &str))] = &[
(".*:USART:sci2_v1_1", ("usart", "v1", "USART")), (".*:USART:sci2_v1_1", ("usart", "v1", "USART")),
(".*:USART:sci2_v1_2_F1", ("usart", "v1", "USART")), (".*:USART:sci2_v1_2_F1", ("usart", "v1", "USART")),
(".*:USART:sci2_v1_2", ("usart", "v1", "USART")), (".*:USART:sci2_v1_2", ("usart", "v2", "USART")),
(".*:USART:sci2_v2_0", ("usart", "v2", "USART")), (".*:USART:sci2_v2_0", ("usart", "v3", "USART")),
(".*:USART:sci2_v2_1", ("usart", "v2", "USART")), (".*:USART:sci2_v2_1", ("usart", "v3", "USART")),
(".*:USART:sci2_v2_2", ("usart", "v2", "USART")), (".*:USART:sci2_v2_2", ("usart", "v3", "USART")),
(".*:USART:sci3_v1_0", ("usart", "v2", "USART")), (".*:USART:sci3_v1_0", ("usart", "v3", "USART")),
(".*:USART:sci3_v1_1", ("usart", "v2", "USART")), (".*:USART:sci3_v1_1", ("usart", "v3", "USART")),
(".*:USART:sci3_v1_2", ("usart", "v2", "USART")), (".*:USART:sci3_v1_2", ("usart", "v4", "USART")),
(".*:USART:sci3_v2_0", ("usart", "v2", "USART")), (".*:USART:sci3_v2_0", ("usart", "v4", "USART")),
(".*:USART:sci3_v2_1", ("usart", "v2", "USART")), (".*:USART:sci3_v2_1", ("usart", "v4", "USART")),
(".*:UART:sci2_v1_2_F4", ("usart", "v1", "USART")), (".*:UART:sci2_v1_2_F4", ("usart", "v2", "USART")),
(".*:UART:sci2_v2_1", ("usart", "v2", "USART")), (".*:UART:sci2_v2_1", ("usart", "v3", "USART")),
(".*:UART:sci2_v3_0", ("usart", "v2", "USART")), (".*:UART:sci2_v3_0", ("usart", "v4", "USART")),
(".*:UART:sci2_v3_1", ("usart", "v2", "USART")), (".*:UART:sci2_v3_1", ("usart", "v4", "USART")),
(".*:LPUART:sci3_v1_1", ("lpuart", "v1", "LPUART")), (".*:LPUART:sci3_v1_1", ("usart", "v3", "LPUART")),
(".*:LPUART:sci3_v1_2", ("lpuart", "v2", "LPUART")), (".*:LPUART:sci3_v1_2", ("usart", "v4", "LPUART")),
(".*:LPUART:sci3_v1_3", ("lpuart", "v2", "LPUART")), (".*:LPUART:sci3_v1_3", ("usart", "v4", "LPUART")),
(".*:LPUART:sci3_v1_4", ("lpuart", "v2", "LPUART")), (".*:LPUART:sci3_v1_4", ("usart", "v4", "LPUART")),
("STM32L5.*:RNG:.*", ("rng", "v2", "RNG")), ("STM32L5.*:RNG:.*", ("rng", "v2", "RNG")),
(".*:RNG:rng1_v1_1", ("rng", "v1", "RNG")), (".*:RNG:rng1_v1_1", ("rng", "v1", "RNG")),
(".*:RNG:rng1_v2_0", ("rng", "v1", "RNG")), (".*:RNG:rng1_v2_0", ("rng", "v1", "RNG")),