stm32-data/data/registers/spi_v2.yaml

671 lines
14 KiB
YAML

---
block/SPI:
description: Serial peripheral interface
items:
- byte_offset: 0
description: control register 1
fieldset: CR1
name: CR1
- byte_offset: 4
description: control register 2
fieldset: CR2
name: CR2
- byte_offset: 8
description: status register
fieldset: SR
name: SR
- byte_offset: 12
description: data register
fieldset: DR
name: DR
- byte_offset: 16
description: CRC polynomial register
fieldset: CRCPR
name: CRCPR
- access: Read
byte_offset: 20
description: RX CRC register
fieldset: RXCRCR
name: RXCRCR
- access: Read
byte_offset: 24
description: TX CRC register
fieldset: TXCRCR
name: TXCRCR
- byte_offset: 28
description: I2S configuration register
fieldset: I2SCFGR
name: I2SCFGR
- byte_offset: 32
description: I2S prescaler register
fieldset: I2SPR
name: I2SPR
fieldset/CR1:
description: control register 1
fields:
- bit_offset: 0
bit_size: 1
description: Clock phase
enum: CPHA
name: CPHA
- bit_offset: 1
bit_size: 1
description: Clock polarity
enum: CPOL
name: CPOL
- bit_offset: 2
bit_size: 1
description: Master selection
enum: MSTR
name: MSTR
- bit_offset: 3
bit_size: 3
description: Baud rate control
enum: BR
name: BR
- bit_offset: 6
bit_size: 1
description: SPI enable
name: SPE
- bit_offset: 7
bit_size: 1
description: Frame format
enum: LSBFIRST
name: LSBFIRST
- bit_offset: 8
bit_size: 1
description: Internal slave select
name: SSI
- bit_offset: 9
bit_size: 1
description: Software slave management
name: SSM
- bit_offset: 10
bit_size: 1
description: Receive only
enum: RXONLY
name: RXONLY
- bit_offset: 11
bit_size: 1
description: CRC length
enum: CRCL
name: CRCL
- bit_offset: 12
bit_size: 1
description: CRC transfer next
enum: CRCNEXT
name: CRCNEXT
- bit_offset: 13
bit_size: 1
description: Hardware CRC calculation enable
name: CRCEN
- bit_offset: 14
bit_size: 1
description: Output enable in bidirectional mode
enum: BIDIOE
name: BIDIOE
- bit_offset: 15
bit_size: 1
description: Bidirectional data mode enable
enum: BIDIMODE
name: BIDIMODE
fieldset/CR2:
description: control register 2
fields:
- bit_offset: 0
bit_size: 1
description: Rx buffer DMA enable
name: RXDMAEN
- bit_offset: 1
bit_size: 1
description: Tx buffer DMA enable
name: TXDMAEN
- bit_offset: 2
bit_size: 1
description: SS output enable
name: SSOE
- bit_offset: 3
bit_size: 1
description: NSS pulse management
name: NSSP
- bit_offset: 4
bit_size: 1
description: Frame format
enum: FRF
name: FRF
- bit_offset: 5
bit_size: 1
description: Error interrupt enable
name: ERRIE
- bit_offset: 6
bit_size: 1
description: RX buffer not empty interrupt enable
name: RXNEIE
- bit_offset: 7
bit_size: 1
description: Tx buffer empty interrupt enable
name: TXEIE
- bit_offset: 8
bit_size: 4
description: Data size
enum: DS
name: DS
- bit_offset: 12
bit_size: 1
description: FIFO reception threshold
enum: FRXTH
name: FRXTH
- bit_offset: 13
bit_size: 1
description: Last DMA transfer for reception
enum: LDMA_RX
name: LDMA_RX
- bit_offset: 14
bit_size: 1
description: Last DMA transfer for transmission
enum: LDMA_TX
name: LDMA_TX
fieldset/CRCPR:
description: CRC polynomial register
fields:
- bit_offset: 0
bit_size: 16
description: CRC polynomial register
name: CRCPOLY
fieldset/DR:
description: data register
fields:
- bit_offset: 0
bit_size: 16
description: Data register
name: DR
fieldset/RXCRCR:
description: RX CRC register
fields:
- bit_offset: 0
bit_size: 16
description: Rx CRC register
name: RxCRC
fieldset/SR:
description: status register
fields:
- bit_offset: 0
bit_size: 1
description: Receive buffer not empty
name: RXNE
- bit_offset: 1
bit_size: 1
description: Transmit buffer empty
name: TXE
- bit_offset: 2
bit_size: 1
description: Channel side
enum: CHSIDE
name: CHSIDE
- bit_offset: 3
bit_size: 1
description: Underrun flag
enum_read: UDRR
name: UDR
- bit_offset: 4
bit_size: 1
description: CRC error flag
name: CRCERR
- bit_offset: 5
bit_size: 1
description: Mode fault
name: MODF
- bit_offset: 6
bit_size: 1
description: Overrun flag
name: OVR
- bit_offset: 7
bit_size: 1
description: Busy flag
name: BSY
- bit_offset: 8
bit_size: 1
description: frame format error
enum_read: FRER
name: FRE
- bit_offset: 9
bit_size: 2
description: FIFO reception level
enum_read: FRLVLR
name: FRLVL
- bit_offset: 11
bit_size: 2
description: FIFO Transmission Level
enum_read: FTLVLR
name: FTLVL
fieldset/TXCRCR:
description: TX CRC register
fields:
- bit_offset: 0
bit_size: 16
description: Tx CRC register
name: TxCRC
fieldset/I2SCFGR:
description: I2S configuration register
fields:
- bit_offset: 0
bit_size: 1
description: Channel length (number of bits per audio channel)
enum: CHLEN
name: CHLEN
- bit_offset: 1
bit_size: 2
description: Data length to be transferred
enum: DATLEN
name: DATLEN
- bit_offset: 3
bit_size: 1
description: Steady state clock polarity
enum: CKPOL
name: CKPOL
- bit_offset: 4
bit_size: 2
description: I2S standard selection
enum: ISSTD
name: I2SSTD
- bit_offset: 7
bit_size: 1
description: PCM frame synchronization
enum: PCMSYNC
name: PCMSYNC
- bit_offset: 8
bit_size: 2
description: I2S configuration mode
enum: ISCFG
name: I2SCFG
- bit_offset: 10
bit_size: 1
description: I2S Enable
enum: ISE
name: I2SE
- bit_offset: 11
bit_size: 1
description: I2S mode selection
enum: ISMOD
name: I2SMOD
- bit_offset: 12
bit_size: 1
description: Asynchronous start enable
name: ASTRTEN
fieldset/I2SPR:
description: I2S prescaler register
fields:
- bit_offset: 0
bit_size: 8
description: I2S Linear prescaler
name: I2SDIV
- bit_offset: 8
bit_size: 1
description: Odd factor for the prescaler
enum: ODD
name: ODD
- bit_offset: 9
bit_size: 1
description: Master clock output enable
enum: MCKOE
name: MCKOE
enum/BIDIMODE:
bit_size: 1
variants:
- description: 2-line unidirectional data mode selected
name: Unidirectional
value: 0
- description: 1-line bidirectional data mode selected
name: Bidirectional
value: 1
enum/BIDIOE:
bit_size: 1
variants:
- description: Output disabled (receive-only mode)
name: OutputDisabled
value: 0
- description: Output enabled (transmit-only mode)
name: OutputEnabled
value: 1
enum/BR:
bit_size: 3
variants:
- description: f_PCLK / 2
name: Div2
value: 0
- description: f_PCLK / 4
name: Div4
value: 1
- description: f_PCLK / 8
name: Div8
value: 2
- description: f_PCLK / 16
name: Div16
value: 3
- description: f_PCLK / 32
name: Div32
value: 4
- description: f_PCLK / 64
name: Div64
value: 5
- description: f_PCLK / 128
name: Div128
value: 6
- description: f_PCLK / 256
name: Div256
value: 7
enum/CHLEN:
bit_size: 1
variants:
- description: 16-bit wide
name: SixteenBit
value: 0
- description: 32-bit wide
name: ThirtyTwoBit
value: 1
enum/CHSIDE:
bit_size: 1
variants:
- description: Channel left has to be transmitted or has been received
name: Left
value: 0
- description: Channel right has to be transmitted or has been received
name: Right
value: 1
enum/CKPOL:
bit_size: 1
variants:
- description: I2S clock inactive state is low level
name: IdleLow
value: 0
- description: I2S clock inactive state is high level
name: IdleHigh
value: 1
enum/CPHA:
bit_size: 1
variants:
- description: The first clock transition is the first data capture edge
name: FirstEdge
value: 0
- description: The second clock transition is the first data capture edge
name: SecondEdge
value: 1
enum/CPOL:
bit_size: 1
variants:
- description: CK to 0 when idle
name: IdleLow
value: 0
- description: CK to 1 when idle
name: IdleHigh
value: 1
enum/CRCL:
bit_size: 1
variants:
- description: 8-bit CRC length
name: EightBit
value: 0
- description: 16-bit CRC length
name: SixteenBit
value: 1
enum/CRCNEXT:
bit_size: 1
variants:
- description: Next transmit value is from Tx buffer
name: TxBuffer
value: 0
- description: Next transmit value is from Tx CRC register
name: CRC
value: 1
enum/DATLEN:
bit_size: 2
variants:
- description: 16-bit data length
name: SixteenBit
value: 0
- description: 24-bit data length
name: TwentyFourBit
value: 1
- description: 32-bit data length
name: ThirtyTwoBit
value: 2
enum/DS:
bit_size: 4
variants:
- description: 4-bit
name: FourBit
value: 3
- description: 5-bit
name: FiveBit
value: 4
- description: 6-bit
name: SixBit
value: 5
- description: 7-bit
name: SevenBit
value: 6
- description: 8-bit
name: EightBit
value: 7
- description: 9-bit
name: NineBit
value: 8
- description: 10-bit
name: TenBit
value: 9
- description: 11-bit
name: ElevenBit
value: 10
- description: 12-bit
name: TwelveBit
value: 11
- description: 13-bit
name: ThirteenBit
value: 12
- description: 14-bit
name: FourteenBit
value: 13
- description: 15-bit
name: FifteenBit
value: 14
- description: 16-bit
name: SixteenBit
value: 15
enum/FRER:
bit_size: 1
variants:
- description: No frame format error
name: NoError
value: 0
- description: A frame format error occurred
name: Error
value: 1
enum/FRF:
bit_size: 1
variants:
- description: SPI Motorola mode
name: Motorola
value: 0
- description: SPI TI mode
name: TI
value: 1
enum/FRLVLR:
bit_size: 2
variants:
- description: Rx FIFO Empty
name: Empty
value: 0
- description: Rx 1/4 FIFO
name: Quarter
value: 1
- description: Rx 1/2 FIFO
name: Half
value: 2
- description: Rx FIFO full
name: Full
value: 3
enum/FRXTH:
bit_size: 1
variants:
- description: RXNE event is generated if the FIFO level is greater than or equal
to 1/2 (16-bit)
name: Half
value: 0
- description: RXNE event is generated if the FIFO level is greater than or equal
to 1/4 (8-bit)
name: Quarter
value: 1
enum/FTLVLR:
bit_size: 2
variants:
- description: Tx FIFO Empty
name: Empty
value: 0
- description: Tx 1/4 FIFO
name: Quarter
value: 1
- description: Tx 1/2 FIFO
name: Half
value: 2
- description: Tx FIFO full
name: Full
value: 3
enum/ISCFG:
bit_size: 2
variants:
- description: Slave - transmit
name: SlaveTx
value: 0
- description: Slave - receive
name: SlaveRx
value: 1
- description: Master - transmit
name: MasterTx
value: 2
- description: Master - receive
name: MasterRx
value: 3
enum/ISE:
bit_size: 1
variants:
- description: I2S peripheral is disabled
name: Disabled
value: 0
- description: I2S peripheral is enabled
name: Enabled
value: 1
enum/ISMOD:
bit_size: 1
variants:
- description: SPI mode is selected
name: SPIMode
value: 0
- description: I2S mode is selected
name: I2SMode
value: 1
enum/ISSTD:
bit_size: 2
variants:
- description: I2S Philips standard
name: Philips
value: 0
- description: MSB justified standard
name: MSB
value: 1
- description: LSB justified standard
name: LSB
value: 2
- description: PCM standard
name: PCM
value: 3
enum/LDMA_RX:
bit_size: 1
variants:
- description: Number of data to transfer for receive is even
name: Even
value: 0
- description: Number of data to transfer for receive is odd
name: Odd
value: 1
enum/LDMA_TX:
bit_size: 1
variants:
- description: Number of data to transfer for transmit is even
name: Even
value: 0
- description: Number of data to transfer for transmit is odd
name: Odd
value: 1
enum/LSBFIRST:
bit_size: 1
variants:
- description: Data is transmitted/received with the MSB first
name: MSBFirst
value: 0
- description: Data is transmitted/received with the LSB first
name: LSBFirst
value: 1
enum/MCKOE:
bit_size: 1
variants:
- description: Master clock output is disabled
name: Disabled
value: 0
- description: Master clock output is enabled
name: Enabled
value: 1
enum/MSTR:
bit_size: 1
variants:
- description: Slave configuration
name: Slave
value: 0
- description: Master configuration
name: Master
value: 1
enum/ODD:
bit_size: 1
variants:
- description: Real divider value is I2SDIV * 2
name: Even
value: 0
- description: Real divider value is (I2SDIV * 2) + 1
name: Odd
value: 1
enum/OVRR:
bit_size: 1
variants:
- description: No overrun occurred
name: NoOverrun
value: 0
- description: Overrun occurred
name: Overrun
value: 1
enum/PCMSYNC:
bit_size: 1
variants:
- description: Short frame synchronisation
name: Short
value: 0
- description: Long frame synchronisation
name: Long
value: 1
enum/RXONLY:
bit_size: 1
variants:
- description: Full duplex (Transmit and receive)
name: FullDuplex
value: 0
- description: Output disabled (Receive-only mode)
name: OutputDisabled
value: 1
enum/UDRR:
bit_size: 1
variants:
- description: No underrun occurred
name: NoUnderrun
value: 0
- description: Underrun occurred
name: Underrun
value: 1