stm32-data/data/registers/i2c_v3.yaml
2024-05-01 16:11:17 +02:00

525 lines
13 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

block/I2C:
description: Inter-integrated circuit
items:
- name: CR1
description: Control register 1
byte_offset: 0
fieldset: CR1
- name: CR2
description: Control register 2
byte_offset: 4
fieldset: CR2
- name: OAR1
description: Own address register 1
byte_offset: 8
fieldset: OAR1
- name: OAR2
description: Own address register 2
byte_offset: 12
fieldset: OAR2
- name: TIMINGR
description: Timing register
byte_offset: 16
fieldset: TIMINGR
- name: TIMEOUTR
description: Timeout register
byte_offset: 20
fieldset: TIMEOUTR
- name: ISR
description: Interrupt and Status register
byte_offset: 24
fieldset: ISR
- name: ICR
description: Interrupt clear register
byte_offset: 28
fieldset: ICR
- name: PECR
description: PEC register
byte_offset: 32
fieldset: PECR
- name: RXDR
description: Receive data register
byte_offset: 36
fieldset: RXDR
- name: TXDR
description: Transmit data register
byte_offset: 40
fieldset: TXDR
fieldset/CR1:
description: Control register 1
fields:
- name: PE
description: Peripheral enable
bit_offset: 0
bit_size: 1
- name: TXIE
description: TX Interrupt enable
bit_offset: 1
bit_size: 1
- name: RXIE
description: RX Interrupt enable
bit_offset: 2
bit_size: 1
- name: ADDRIE
description: Address match interrupt enable (slave only)
bit_offset: 3
bit_size: 1
- name: NACKIE
description: Not acknowledge received interrupt enable
bit_offset: 4
bit_size: 1
- name: STOPIE
description: STOP detection Interrupt enable
bit_offset: 5
bit_size: 1
- name: TCIE
description: Transfer Complete interrupt enable
bit_offset: 6
bit_size: 1
- name: ERRIE
description: Error interrupts enable
bit_offset: 7
bit_size: 1
- name: DNF
description: Digital noise filter
bit_offset: 8
bit_size: 4
enum: DNF
- name: ANFOFF
description: Analog noise filter OFF
bit_offset: 12
bit_size: 1
- name: TXDMAEN
description: DMA transmission requests enable
bit_offset: 14
bit_size: 1
- name: RXDMAEN
description: DMA reception requests enable
bit_offset: 15
bit_size: 1
- name: SBC
description: Slave byte control
bit_offset: 16
bit_size: 1
- name: NOSTRETCH
description: Clock stretching disable
bit_offset: 17
bit_size: 1
- name: GCEN
description: General call enable
bit_offset: 19
bit_size: 1
- name: SMBHEN
description: SMBus Host address enable
bit_offset: 20
bit_size: 1
- name: SMBDEN
description: SMBus Device Default address enable
bit_offset: 21
bit_size: 1
- name: ALERTEN
description: SMBUS alert enable
bit_offset: 22
bit_size: 1
- name: PECEN
description: PEC enable
bit_offset: 23
bit_size: 1
- name: FMP
description: Fast-mode Plus 20 mA drive enable.
bit_offset: 24
bit_size: 1
- name: ADDRACLR
description: Address match flag (ADDR) automatic clear.
bit_offset: 30
bit_size: 1
- name: STOPFACLR
description: STOP detection flag (STOPF) automatic clear.
bit_offset: 31
bit_size: 1
fieldset/CR2:
description: Control register 2
fields:
- name: SADD
description: Slave address bit (master mode)
bit_offset: 0
bit_size: 10
- name: DIR
description: Transfer direction (master mode)
bit_offset: 10
bit_size: 1
enum: DIR
- name: ADD10
description: 10-bit addressing mode (master mode)
bit_offset: 11
bit_size: 1
enum: ADDMODE
- name: HEAD10R
description: 10-bit address header only read direction (master receiver mode)
bit_offset: 12
bit_size: 1
enum: HEADR
- name: START
description: Start generation
bit_offset: 13
bit_size: 1
- name: STOP
description: Stop generation (master mode)
bit_offset: 14
bit_size: 1
- name: NACK
description: NACK generation (slave mode)
bit_offset: 15
bit_size: 1
- name: NBYTES
description: Number of bytes
bit_offset: 16
bit_size: 8
- name: RELOAD
description: NBYTES reload mode
bit_offset: 24
bit_size: 1
enum: RELOAD
- name: AUTOEND
description: Automatic end mode (master mode)
bit_offset: 25
bit_size: 1
enum: AUTOEND
- name: PECBYTE
description: Packet error checking byte
bit_offset: 26
bit_size: 1
fieldset/ICR:
description: Interrupt clear register
fields:
- name: ADDRCF
description: Address Matched flag clear
bit_offset: 3
bit_size: 1
- name: NACKCF
description: Not Acknowledge flag clear
bit_offset: 4
bit_size: 1
- name: STOPCF
description: Stop detection flag clear
bit_offset: 5
bit_size: 1
- name: BERRCF
description: Bus error flag clear
bit_offset: 8
bit_size: 1
- name: ARLOCF
description: Arbitration lost flag clear
bit_offset: 9
bit_size: 1
- name: OVRCF
description: Overrun/Underrun flag clear
bit_offset: 10
bit_size: 1
- name: PECCF
description: PEC Error flag clear
bit_offset: 11
bit_size: 1
- name: TIMOUTCF
description: Timeout detection flag clear
bit_offset: 12
bit_size: 1
- name: ALERTCF
description: Alert flag clear
bit_offset: 13
bit_size: 1
fieldset/ISR:
description: Interrupt and Status register
fields:
- name: TXE
description: Transmit data register empty (transmitters)
bit_offset: 0
bit_size: 1
- name: TXIS
description: Transmit interrupt status (transmitters)
bit_offset: 1
bit_size: 1
- name: RXNE
description: Receive data register not empty (receivers)
bit_offset: 2
bit_size: 1
- name: ADDR
description: Address matched (slave mode)
bit_offset: 3
bit_size: 1
- name: NACKF
description: Not acknowledge received flag
bit_offset: 4
bit_size: 1
- name: STOPF
description: Stop detection flag
bit_offset: 5
bit_size: 1
- name: TC
description: Transfer Complete (master mode)
bit_offset: 6
bit_size: 1
- name: TCR
description: Transfer Complete Reload
bit_offset: 7
bit_size: 1
- name: BERR
description: Bus error
bit_offset: 8
bit_size: 1
- name: ARLO
description: Arbitration lost
bit_offset: 9
bit_size: 1
- name: OVR
description: Overrun/Underrun (slave mode)
bit_offset: 10
bit_size: 1
- name: PECERR
description: PEC Error in reception
bit_offset: 11
bit_size: 1
- name: TIMEOUT
description: Timeout or t_low detection flag
bit_offset: 12
bit_size: 1
- name: ALERT
description: SMBus alert
bit_offset: 13
bit_size: 1
- name: BUSY
description: Bus busy
bit_offset: 15
bit_size: 1
- name: DIR
description: Transfer direction (Slave mode)
bit_offset: 16
bit_size: 1
enum: DIR
- name: ADDCODE
description: Address match code (Slave mode)
bit_offset: 17
bit_size: 7
fieldset/OAR1:
description: Own address register 1
fields:
- name: OA1
description: Interface address
bit_offset: 0
bit_size: 10
- name: OA1MODE
description: Own Address 1 10-bit mode
bit_offset: 10
bit_size: 1
enum: ADDMODE
- name: OA1EN
description: Own Address 1 enable
bit_offset: 15
bit_size: 1
fieldset/OAR2:
description: Own address register 2
fields:
- name: OA2
description: Interface address
bit_offset: 1
bit_size: 7
- name: OA2MSK
description: Own Address 2 masks
bit_offset: 8
bit_size: 3
enum: OAMSK
- name: OA2EN
description: Own Address 2 enable
bit_offset: 15
bit_size: 1
fieldset/PECR:
description: PEC register
fields:
- name: PEC
description: Packet error checking register
bit_offset: 0
bit_size: 8
fieldset/RXDR:
description: Receive data register
fields:
- name: RXDATA
description: 8-bit receive data
bit_offset: 0
bit_size: 8
fieldset/TIMEOUTR:
description: Timeout register
fields:
- name: TIMEOUTA
description: Bus timeout A
bit_offset: 0
bit_size: 12
- name: TIDLE
description: Idle clock timeout detection
bit_offset: 12
bit_size: 1
- name: TIMOUTEN
description: Clock timeout enable
bit_offset: 15
bit_size: 1
- name: TIMEOUTB
description: Bus timeout B
bit_offset: 16
bit_size: 12
- name: TEXTEN
description: Extended clock timeout enable
bit_offset: 31
bit_size: 1
fieldset/TIMINGR:
description: Timing register
fields:
- name: SCLL
description: SCL low period (master mode)
bit_offset: 0
bit_size: 8
- name: SCLH
description: SCL high period (master mode)
bit_offset: 8
bit_size: 8
- name: SDADEL
description: Data hold time
bit_offset: 16
bit_size: 4
- name: SCLDEL
description: Data setup time
bit_offset: 20
bit_size: 4
- name: PRESC
description: Timing prescaler
bit_offset: 28
bit_size: 4
fieldset/TXDR:
description: Transmit data register
fields:
- name: TXDATA
description: 8-bit transmit data
bit_offset: 0
bit_size: 8
enum/ADDMODE:
bit_size: 1
variants:
- name: Bit7
description: 7-bit addressing mode
value: 0
- name: Bit10
description: 10-bit addressing mode
value: 1
enum/AUTOEND:
bit_size: 1
variants:
- name: Software
description: 'Software end mode: TC flag is set when NBYTES data are transferred, stretching SCL low'
value: 0
- name: Automatic
description: 'Automatic end mode: a STOP condition is automatically sent when NBYTES data are transferred'
value: 1
enum/DIR:
bit_size: 1
variants:
- name: Write
description: Write transfer, slave enters receiver mode
value: 0
- name: Read
description: Read transfer, slave enters transmitter mode
value: 1
enum/DNF:
bit_size: 4
variants:
- name: NoFilter
description: Digital filter disabled
value: 0
- name: Filter1
description: Digital filter enabled and filtering capability up to 1 tI2CCLK
value: 1
- name: Filter2
description: Digital filter enabled and filtering capability up to 2 tI2CCLK
value: 2
- name: Filter3
description: Digital filter enabled and filtering capability up to 3 tI2CCLK
value: 3
- name: Filter4
description: Digital filter enabled and filtering capability up to 4 tI2CCLK
value: 4
- name: Filter5
description: Digital filter enabled and filtering capability up to 5 tI2CCLK
value: 5
- name: Filter6
description: Digital filter enabled and filtering capability up to 6 tI2CCLK
value: 6
- name: Filter7
description: Digital filter enabled and filtering capability up to 7 tI2CCLK
value: 7
- name: Filter8
description: Digital filter enabled and filtering capability up to 8 tI2CCLK
value: 8
- name: Filter9
description: Digital filter enabled and filtering capability up to 9 tI2CCLK
value: 9
- name: Filter10
description: Digital filter enabled and filtering capability up to 10 tI2CCLK
value: 10
- name: Filter11
description: Digital filter enabled and filtering capability up to 11 tI2CCLK
value: 11
- name: Filter12
description: Digital filter enabled and filtering capability up to 12 tI2CCLK
value: 12
- name: Filter13
description: Digital filter enabled and filtering capability up to 13 tI2CCLK
value: 13
- name: Filter14
description: Digital filter enabled and filtering capability up to 14 tI2CCLK
value: 14
- name: Filter15
description: Digital filter enabled and filtering capability up to 15 tI2CCLK
value: 15
enum/HEADR:
bit_size: 1
variants:
- name: Complete
description: The master sends the complete 10 bit slave address read sequence
value: 0
- name: Partial
description: The master only sends the 1st 7 bits of the 10 bit address, followed by Read direction
value: 1
enum/OAMSK:
bit_size: 3
variants:
- name: NoMask
description: No mask
value: 0
- name: Mask1
description: OA2[1] is masked and dont care. Only OA2[7:2] are compared
value: 1
- name: Mask2
description: OA2[2:1] are masked and dont care. Only OA2[7:3] are compared
value: 2
- name: Mask3
description: OA2[3:1] are masked and dont care. Only OA2[7:4] are compared
value: 3
- name: Mask4
description: OA2[4:1] are masked and dont care. Only OA2[7:5] are compared
value: 4
- name: Mask5
description: OA2[5:1] are masked and dont care. Only OA2[7:6] are compared
value: 5
- name: Mask6
description: OA2[6:1] are masked and dont care. Only OA2[7] is compared.
value: 6
- name: Mask7
description: OA2[7:1] are masked and dont care. No comparison is done, and all (except reserved) 7-bit received addresses are acknowledged
value: 7
enum/RELOAD:
bit_size: 1
variants:
- name: Completed
description: The transfer is completed after the NBYTES data transfer (STOP or RESTART will follow)
value: 0
- name: NotCompleted
description: The transfer is not completed after the NBYTES data transfer (NBYTES will be reloaded)
value: 1