stm32-data/data/registers/gpio_v2.yaml
Dario Nieuwenhuis 2c5e858584 chiptool fmt
2022-02-14 00:45:36 +01:00

308 lines
6.6 KiB
YAML

---
block/GPIO:
description: General-purpose I/Os
items:
- name: MODER
description: GPIO port mode register
byte_offset: 0
fieldset: MODER
- name: OTYPER
description: GPIO port output type register
byte_offset: 4
fieldset: OTYPER
- name: OSPEEDR
description: GPIO port output speed register
byte_offset: 8
fieldset: OSPEEDR
- name: PUPDR
description: GPIO port pull-up/pull-down register
byte_offset: 12
fieldset: PUPDR
- name: IDR
description: GPIO port input data register
byte_offset: 16
access: Read
fieldset: IDR
- name: ODR
description: GPIO port output data register
byte_offset: 20
fieldset: ODR
- name: BSRR
description: GPIO port bit set/reset register
byte_offset: 24
access: Write
fieldset: BSRR
- name: LCKR
description: GPIO port configuration lock register
byte_offset: 28
fieldset: LCKR
- name: AFR
description: "GPIO alternate function register (low, high)"
array:
len: 2
stride: 4
byte_offset: 32
fieldset: AFR
fieldset/AFR:
description: GPIO alternate function register
fields:
- name: AFR
description: Alternate function selection for port x bit y (y = 0..15)
bit_offset: 0
bit_size: 4
array:
len: 8
stride: 4
enum: AFR
fieldset/BSRR:
description: GPIO port bit set/reset register
fields:
- name: BS
description: Port x set bit y (y= 0..15)
bit_offset: 0
bit_size: 1
array:
len: 16
stride: 1
enum_write: BSW
- name: BR
description: Port x set bit y (y= 0..15)
bit_offset: 16
bit_size: 1
array:
len: 16
stride: 1
enum_write: BRW
fieldset/IDR:
description: GPIO port input data register
fields:
- name: IDR
description: Port input data (y = 0..15)
bit_offset: 0
bit_size: 1
array:
len: 16
stride: 1
enum: IDR
fieldset/LCKR:
description: GPIO port configuration lock register
fields:
- name: LCK
description: Port x lock bit y (y= 0..15)
bit_offset: 0
bit_size: 1
array:
len: 16
stride: 1
enum: LCK
- name: LCKK
description: Port x lock bit y (y= 0..15)
bit_offset: 16
bit_size: 1
enum: LCKK
fieldset/MODER:
description: GPIO port mode register
fields:
- name: MODER
description: Port x configuration bits (y = 0..15)
bit_offset: 0
bit_size: 2
array:
len: 16
stride: 2
enum: MODER
fieldset/ODR:
description: GPIO port output data register
fields:
- name: ODR
description: Port output data (y = 0..15)
bit_offset: 0
bit_size: 1
array:
len: 16
stride: 1
enum: ODR
fieldset/OSPEEDR:
description: GPIO port output speed register
fields:
- name: OSPEEDR
description: Port x configuration bits (y = 0..15)
bit_offset: 0
bit_size: 2
array:
len: 16
stride: 2
enum: OSPEEDR
fieldset/OTYPER:
description: GPIO port output type register
fields:
- name: OT
description: Port x configuration bits (y = 0..15)
bit_offset: 0
bit_size: 1
array:
len: 16
stride: 1
enum: OT
fieldset/PUPDR:
description: GPIO port pull-up/pull-down register
fields:
- name: PUPDR
description: Port x configuration bits (y = 0..15)
bit_offset: 0
bit_size: 2
array:
len: 16
stride: 2
enum: PUPDR
enum/AFR:
bit_size: 4
variants:
- name: AF0
description: AF0
value: 0
- name: AF1
description: AF1
value: 1
- name: AF2
description: AF2
value: 2
- name: AF3
description: AF3
value: 3
- name: AF4
description: AF4
value: 4
- name: AF5
description: AF5
value: 5
- name: AF6
description: AF6
value: 6
- name: AF7
description: AF7
value: 7
- name: AF8
description: AF8
value: 8
- name: AF9
description: AF9
value: 9
- name: AF10
description: AF10
value: 10
- name: AF11
description: AF11
value: 11
- name: AF12
description: AF12
value: 12
- name: AF13
description: AF13
value: 13
- name: AF14
description: AF14
value: 14
- name: AF15
description: AF15
value: 15
enum/BRW:
bit_size: 1
variants:
- name: Reset
description: Resets the corresponding ODRx bit
value: 1
enum/BSW:
bit_size: 1
variants:
- name: Set
description: Sets the corresponding ODRx bit
value: 1
enum/IDR:
bit_size: 1
variants:
- name: Low
description: Input is logic low
value: 0
- name: High
description: Input is logic high
value: 1
enum/LCK:
bit_size: 1
variants:
- name: Unlocked
description: Port configuration not locked
value: 0
- name: Locked
description: Port configuration locked
value: 1
enum/LCKK:
bit_size: 1
variants:
- name: NotActive
description: Port configuration lock key not active
value: 0
- name: Active
description: Port configuration lock key active
value: 1
enum/MODER:
bit_size: 2
variants:
- name: Input
description: Input mode (reset state)
value: 0
- name: Output
description: General purpose output mode
value: 1
- name: Alternate
description: Alternate function mode
value: 2
- name: Analog
description: Analog mode
value: 3
enum/ODR:
bit_size: 1
variants:
- name: Low
description: Set output to logic low
value: 0
- name: High
description: Set output to logic high
value: 1
enum/OSPEEDR:
bit_size: 2
variants:
- name: LowSpeed
description: Low speed
value: 0
- name: MediumSpeed
description: Medium speed
value: 1
- name: HighSpeed
description: High speed
value: 2
- name: VeryHighSpeed
description: Very high speed
value: 3
enum/OT:
bit_size: 1
variants:
- name: PushPull
description: Output push-pull (reset state)
value: 0
- name: OpenDrain
description: Output open-drain
value: 1
enum/PUPDR:
bit_size: 2
variants:
- name: Floating
description: "No pull-up, pull-down"
value: 0
- name: PullUp
description: Pull-up
value: 1
- name: PullDown
description: Pull-down
value: 2