diff --git a/data/registers/bkp_v1.yaml b/data/registers/bkp_v1.yaml new file mode 100644 index 0000000..2d818d4 --- /dev/null +++ b/data/registers/bkp_v1.yaml @@ -0,0 +1,144 @@ +--- +block/BKP: + description: Backup registers + items: + - name: DR1 + description: Data register bank 1 + array: + len: 10 + stride: 4 + byte_offset: 0 + fieldset: DR + - name: RTCCR + description: RTC clock calibration register + byte_offset: 40 + fieldset: RTCCR + - name: CR + description: Control register + byte_offset: 44 + fieldset: CR + - name: CSR + description: Control/status register + byte_offset: 48 + fieldset: CSR + - name: DR2 + description: Data register bank 2 + array: + len: 32 + stride: 4 + byte_offset: 60 + fieldset: DR +fieldset/DR: + description: Data register + fields: + - name: D + description: Backup data + bit_offset: 0 + bit_size: 16 +fieldset/CR: + description: Control register + fields: + - name: TPE + description: Tamper pin enable + bit_offset: 0 + bit_size: 1 + enum: TPE + - name: TPAL + description: Tamper pin active level + bit_offset: 1 + bit_size: 1 + enum: TPAL +fieldset/CSR: + description: Control/status register + fields: + - name: CTE + description: Clear Tamper event + bit_offset: 0 + bit_size: 1 + enum_write: CTEW + - name: CTI + description: Clear Tamper Interrupt + bit_offset: 1 + bit_size: 1 + enum_write: CTIW + - name: TPIE + description: "Tamper Pin interrupt\r enable" + bit_offset: 2 + bit_size: 1 + enum: TPIE + - name: TEF + description: Tamper Event Flag + bit_offset: 8 + bit_size: 1 + - name: TIF + description: Tamper Interrupt Flag + bit_offset: 9 + bit_size: 1 +fieldset/RTCCR: + description: RTC clock calibration register + fields: + - name: CAL + description: Calibration value + bit_offset: 0 + bit_size: 7 + - name: CCO + description: Calibration Clock Output + bit_offset: 7 + bit_size: 1 + - name: ASOE + description: Alarm or second output enable + bit_offset: 8 + bit_size: 1 + - name: ASOS + description: Alarm or second output selection + bit_offset: 9 + bit_size: 1 + enum: ASOS +enum/ASOS: + bit_size: 1 + variants: + - name: Alarm + description: RTC Alarm pulse output selected + value: 0 + - name: Second + description: RTC Second pulse output selected + value: 1 +enum/CTEW: + bit_size: 1 + variants: + - name: Reset + description: Reset the TEF Tamper event flag (and the Tamper detector) + value: 1 +enum/CTIW: + bit_size: 1 + variants: + - name: Clear + description: Clear the Tamper interrupt and the TIF Tamper interrupt flag + value: 1 +enum/TPAL: + bit_size: 1 + variants: + - name: High + description: A high level on the TAMPER pin resets all data backup registers (if TPE bit is set) + value: 0 + - name: Low + description: A low level on the TAMPER pin resets all data backup registers (if TPE bit is set) + value: 1 +enum/TPE: + bit_size: 1 + variants: + - name: General + description: The TAMPER pin is free for general purpose I/O + value: 0 + - name: Alternate + description: Tamper alternate I/O function is activated + value: 1 +enum/TPIE: + bit_size: 1 + variants: + - name: Disabled + description: Tamper interrupt disabled + value: 0 + - name: Enabled + description: Tamper interrupt enabled (the TPE bit must also be set in the BKP_CR register) + value: 1 diff --git a/stm32data/__main__.py b/stm32data/__main__.py index 6e500ed..1a32e4b 100755 --- a/stm32data/__main__.py +++ b/stm32data/__main__.py @@ -152,6 +152,7 @@ perimap = [ ('.*:LTDC:lcdtft1_v1_1', ('ltdc', 'v1', 'LTDC')), ('.*:MDIOS:mdios1_v1_0', ('mdios', 'v1', 'MDIOS')), ('.*:QUADSPI:quadspi1_v1_0', ('quadspi', 'v1', 'QUADSPI')), + ('STM32F1.*:BKP.*', ('bkp', 'v1', 'BKP')), ('.*:RTC:rtc2_v2_6', ('rtc', 'v2', 'RTC')), ('.*:RTC:rtc2_v2_WB', ('rtc', 'wb', 'RTC')), ('.*:SAI:sai1_v1_1', ('sai', 'v1', 'SAI')), @@ -299,7 +300,7 @@ peri_rename = { ghost_peris = [ 'GPIOA', 'GPIOB', 'GPIOC', 'GPIOD', 'GPIOE', 'GPIOF', 'GPIOG', 'GPIOH', 'GPIOI', 'GPIOJ', 'GPIOK', 'GPIOL', 'GPIOM', 'GPION', 'GPIOO', 'GPIOP', 'GPIOQ', 'GPIOR', 'GPIOS', 'GPIOT', 'DMA1', 'DMA2', 'BDMA', 'DMAMUX', 'DMAMUX1', 'DMAMUX2', - 'SYSCFG', 'EXTI', 'FLASH', 'DBGMCU', 'CRS', 'PWR', 'AFIO', + 'SYSCFG', 'EXTI', 'FLASH', 'DBGMCU', 'CRS', 'PWR', 'AFIO', 'BKP', ] alt_peri_defines = {