Merge pull request #31 from bobmcwhirter/i2c_v1

I2c v1
This commit is contained in:
Dario Nieuwenhuis 2021-05-25 16:57:38 +02:00 committed by GitHub
commit af753d9906
2 changed files with 450 additions and 0 deletions

449
data/registers/i2c_v1.yaml Normal file
View File

@ -0,0 +1,449 @@
---
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: DR
description: Data register
byte_offset: 16
fieldset: DR
- name: SR1
description: Status register 1
byte_offset: 20
fieldset: SR1
- name: SR2
description: Status register 2
byte_offset: 24
access: Read
fieldset: SR2
- name: CCR
description: Clock control register
byte_offset: 28
fieldset: CCR
- name: TRISE
description: TRISE register
byte_offset: 32
fieldset: TRISE
- name: FLTR
description: FLTR register
byte_offset: 36
fieldset: FLTR
fieldset/CCR:
description: Clock control register
fields:
- name: CCR
description: Clock control register in Fast/Standard mode (Master mode)
bit_offset: 0
bit_size: 12
- name: DUTY
description: Fast mode duty cycle
bit_offset: 14
bit_size: 1
enum: DUTY
- name: F_S
description: I2C master mode selection
bit_offset: 15
bit_size: 1
enum: F_S
fieldset/CR1:
description: Control register 1
fields:
- name: PE
description: Peripheral enable
bit_offset: 0
bit_size: 1
- name: SMBUS
description: SMBus mode
bit_offset: 1
bit_size: 1
enum: SMBUS
- name: SMBTYPE
description: SMBus type
bit_offset: 3
bit_size: 1
enum: SMBTYPE
- name: ENARP
description: ARP enable
bit_offset: 4
bit_size: 1
- name: ENPEC
description: PEC enable
bit_offset: 5
bit_size: 1
- name: ENGC
description: General call enable
bit_offset: 6
bit_size: 1
- name: NOSTRETCH
description: Clock stretching disable (Slave mode)
bit_offset: 7
bit_size: 1
- name: START
description: Start generation
bit_offset: 8
bit_size: 1
enum: START
- name: STOP
description: Stop generation
bit_offset: 9
bit_size: 1
enum: STOP
- name: ACK
description: Acknowledge enable
bit_offset: 10
bit_size: 1
- name: POS
description: Acknowledge/PEC Position (for data reception)
bit_offset: 11
bit_size: 1
enum: POS
- name: PEC
description: Packet error checking
bit_offset: 12
bit_size: 1
- name: ALERT
description: SMBus alert
bit_offset: 13
bit_size: 1
enum: ALERT
- name: SWRST
description: Software reset
bit_offset: 15
bit_size: 1
fieldset/CR2:
description: Control register 2
fields:
- name: FREQ
description: Peripheral clock frequency
bit_offset: 0
bit_size: 6
- name: ITERREN
description: Error interrupt enable
bit_offset: 8
bit_size: 1
- name: ITEVTEN
description: Event interrupt enable
bit_offset: 9
bit_size: 1
- name: ITBUFEN
description: Buffer interrupt enable
bit_offset: 10
bit_size: 1
- name: DMAEN
description: DMA requests enable
bit_offset: 11
bit_size: 1
- name: LAST
description: DMA last transfer
bit_offset: 12
bit_size: 1
fieldset/DR:
description: Data register
fields:
- name: DR
description: 8-bit data register
bit_offset: 0
bit_size: 8
fieldset/FLTR:
description: FLTR register
fields:
- name: DNF
description: Digital noise filter
bit_offset: 0
bit_size: 4
enum: DNF
- name: ANOFF
description: Analog noise filter
bit_offset: 4
bit_size: 1
fieldset/OAR1:
description: Own address register 1
fields:
- name: ADD
description: Interface address
bit_offset: 0
bit_size: 10
- name: ADDMODE
description: Addressing mode (slave mode)
bit_offset: 15
bit_size: 1
enum: ADDMODE
fieldset/OAR2:
description: Own address register 2
fields:
- name: ENDUAL
description: Dual addressing mode enable
bit_offset: 0
bit_size: 1
enum: ENDUAL
- name: ADD2
description: Interface address
bit_offset: 1
bit_size: 7
fieldset/SR1:
description: Status register 1
fields:
- name: SB
description: Start bit (Master mode)
bit_offset: 0
bit_size: 1
enum: SB
- name: ADDR
description: Address sent (master mode)/matched (slave mode)
bit_offset: 1
bit_size: 1
- name: BTF
description: Byte transfer finished
bit_offset: 2
bit_size: 1
- name: ADD10
description: 10-bit header sent (Master mode)
bit_offset: 3
bit_size: 1
- name: STOPF
description: Stop detection (slave mode)
bit_offset: 4
bit_size: 1
- name: RxNE
description: Data register not empty (receivers)
bit_offset: 6
bit_size: 1
- name: TxE
description: Data register empty (transmitters)
bit_offset: 7
bit_size: 1
- name: BERR
description: Bus error
bit_offset: 8
bit_size: 1
- name: ARLO
description: Arbitration lost (master mode)
bit_offset: 9
bit_size: 1
- name: AF
description: Acknowledge failure
bit_offset: 10
bit_size: 1
- name: OVR
description: Overrun/Underrun
bit_offset: 11
bit_size: 1
- name: PECERR
description: PEC Error in reception
bit_offset: 12
bit_size: 1
- name: TIMEOUT
description: Timeout or Tlow error
bit_offset: 14
bit_size: 1
- name: SMBALERT
description: SMBus alert
bit_offset: 15
bit_size: 1
fieldset/SR2:
description: Status register 2
fields:
- name: MSL
description: Master/slave
bit_offset: 0
bit_size: 1
- name: BUSY
description: Bus busy
bit_offset: 1
bit_size: 1
- name: TRA
description: Transmitter/receiver
bit_offset: 2
bit_size: 1
- name: GENCALL
description: General call address (Slave mode)
bit_offset: 4
bit_size: 1
- name: SMBDEFAULT
description: SMBus device default address (Slave mode)
bit_offset: 5
bit_size: 1
- name: SMBHOST
description: SMBus host header (Slave mode)
bit_offset: 6
bit_size: 1
- name: DUALF
description: Dual flag (Slave mode)
bit_offset: 7
bit_size: 1
- name: PEC
description: acket error checking register
bit_offset: 8
bit_size: 8
fieldset/TRISE:
description: TRISE register
fields:
- name: TRISE
description: Maximum rise time in Fast/Standard mode (Master mode)
bit_offset: 0
bit_size: 6
enum/ADDMODE:
bit_size: 1
variants:
- name: ADD7
description: 7-bit slave address
value: 0
- name: ADD10
description: 10-bit slave address
value: 1
enum/ALERT:
bit_size: 1
variants:
- name: Release
description: SMBA pin released high
value: 0
- name: Drive
description: SMBA pin driven low
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/DUTY:
bit_size: 1
variants:
- name: Duty2_1
description: Duty cycle t_low/t_high = 2/1
value: 0
- name: Duty16_9
description: Duty cycle t_low/t_high = 16/9
value: 1
enum/ENDUAL:
bit_size: 1
variants:
- name: Single
description: Single addressing mode
value: 0
- name: Dual
description: Dual addressing mode
value: 1
enum/F_S:
bit_size: 1
variants:
- name: Standard
description: Standard mode I2C
value: 0
- name: Fast
description: Fast mode I2C
value: 1
enum/POS:
bit_size: 1
variants:
- name: Current
description: ACK bit controls the (N)ACK of the current byte being received
value: 0
- name: Next
description: ACK bit controls the (N)ACK of the next byte to be received
value: 1
enum/SB:
bit_size: 1
variants:
- name: NoStart
description: No Start condition
value: 0
- name: Start
description: Start condition generated
value: 1
enum/SMBTYPE:
bit_size: 1
variants:
- name: Device
description: SMBus Device
value: 0
- name: Host
description: SMBus Host
value: 1
enum/SMBUS:
bit_size: 1
variants:
- name: I2C
description: I2C Mode
value: 0
- name: SMBus
description: SMBus
value: 1
enum/START:
bit_size: 1
variants:
- name: NoStart
description: No Start generation
value: 0
- name: Start
description: "In master mode: repeated start generation, in slave mode: start generation when bus is free"
value: 1
enum/STOP:
bit_size: 1
variants:
- name: NoStop
description: No Stop generation
value: 0
- name: Stop
description: "In master mode: stop generation after current byte/start, in slave mode: release SCL and SDA after current byte"
value: 1

View File

@ -233,6 +233,7 @@ perimap = [
('.*:SPI:spi2s1_v3_3', 'spi_v2/SPI'), ('.*:SPI:spi2s1_v3_3', 'spi_v2/SPI'),
('.*:SPI:spi2s2_v1_1', 'spi_v3/SPI'), ('.*:SPI:spi2s2_v1_1', 'spi_v3/SPI'),
('.*:SPI:spi2s2_v1_0', 'spi_v3/SPI'), ('.*:SPI:spi2s2_v1_0', 'spi_v3/SPI'),
('.*:I2C:i2c1_v1_5', 'i2c_v1/I2C'),
('.*:I2C:i2c2_v1_1F7', 'i2c_v2/I2C'), ('.*:I2C:i2c2_v1_1F7', 'i2c_v2/I2C'),
('STM32F4.*:SYS:.*', 'syscfg_f4/SYSCFG'), ('STM32F4.*:SYS:.*', 'syscfg_f4/SYSCFG'),
('STM32L4.*:SYS:.*', 'syscfg_l4/SYSCFG'), ('STM32L4.*:SYS:.*', 'syscfg_l4/SYSCFG'),