Linux Audio
Check our new training course
Embedded Linux Audio
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
/* * Copyright (c) 2017 RnDity Sp. z o.o. * * SPDX-License-Identifier: Apache-2.0 */ #ifndef _STM32F0X_GPIO_REGISTERS_H_ #define _STM32F0X_GPIO_REGISTERS_H_ /** * @brief * * Based on reference manual: * STM32F030x4/x6/x8/xC, * STM32F070x6/xB advanced ARM ® -based MCUs * * Chapter 8: General-purpose I/Os (GPIO) * Chapter 9: System configuration controller (SYSCFG) */ struct stm32f0x_gpio { u32_t moder; u32_t otyper; u32_t ospeedr; u32_t pupdr; u32_t idr; u32_t odr; u32_t bsrr; u32_t lckr; u32_t afr[2]; u32_t brr; }; union syscfg_cfgr1 { u32_t val; struct { u32_t mem_mode :2 __packed; u32_t rsvd__2_7 :6 __packed; u32_t adc_dma_rmp :1 __packed; u32_t usart1_tx_dma_rmp :1 __packed; u32_t usart1_rx_dma_rmp :1 __packed; u32_t tim16_dma_rmp :1 __packed; u32_t tim17_dma_rmp :1 __packed; u32_t rsvd__13_15 :3 __packed; u32_t i2c_pb6_fmp :1 __packed; u32_t i2c_pb7_fmp :1 __packed; u32_t i2c_pb8_fmp :1 __packed; u32_t i2c_pb9_fmp :1 __packed; u32_t i2c1_fmp :1 __packed; u32_t rsvd__21 :1 __packed; u32_t i2c_pa9_fmp :1 __packed; u32_t i2c_pa10_fmp :1 __packed; u32_t rsvd__24_25 :2 __packed; u32_t usart3_dma_rmp :1 __packed; u32_t rsvd__27_31 :5 __packed; } bit; }; union syscfg__exticr { u32_t val; struct { u16_t exti; u16_t rsvd__16_31; } bit; }; struct stm32f0x_syscfg { union syscfg_cfgr1 cfgr1; u32_t rsvd; union syscfg__exticr exticr1; union syscfg__exticr exticr2; union syscfg__exticr exticr3; union syscfg__exticr exticr4; u32_t cfgr2; }; #endif /* _STM32F0X_GPIO_REGISTERS_H_ */