Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gpio_lld.h « Inc « Core « BLE_LLD_Lowpower « BLE_LLD « Applications « P-NUCLEO-WB55.Nucleo « Projects - github.com/Flipper-Zero/STM32CubeWB.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: e9ceb78c0bb3e1fac174f505956d806e11e72544 (plain)
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
/*
 * gpio_lld.h
 *
 */

#ifndef GPIO_LLD_H_
#define GPIO_LLD_H_

#define GPIO_HARD_FAULT_PIN    GPIO_PIN_4
#define GPIO_HARD_FAULT_PORT   GPIOA

// External PA TX/RX pin is fixed by the chip
#define GPIO_EXT_PA_TX_PIN     GPIO_PIN_0
#define GPIO_EXT_PA_TX_PORT    GPIOB
// External PA enable pin is chosen by user
#define GPIO_EXT_PA_EN_PIN     GPIO_PIN_9
#define GPIO_EXT_PA_EN_PORT    GPIOB

void gpio_lld_phy_init( void );
void gpio_lld_phy_gpioTx_up(void);
void gpio_lld_phy_gpioTx_down(void);
void gpio_lld_phy_gpioHardFault_up(void);
void gpio_lld_phy_gpioHardFault_down(void);
void gpio_lld_phy_gpio1_up(void);
void gpio_lld_phy_gpio1_down(void);
void gpio_lld_phy_gpio2_up(void);
void gpio_lld_phy_gpio2_down(void);
void gpio_lld_phy_deInit(void);

void gpio_lld_mco_init(uint32_t mcoSource, uint32_t mcoDiv);
void gpio_lld_mco_deInit(void);

void gpio_lld_extPa_init(void);
void gpio_lld_extPa_deInit(void);

#ifdef USE_SIMU
void gpio_lld_SimuMaster_init(void);
void gpio_lld_SimuSlave_init(void);
#endif

void gpio_lld_lpuart_init(void);
void gpio_lld_lpuart_deInit(void);

void gpio_lld_usart_init(void);
void gpio_lld_usart_deInit(void);

#if !defined (USE_SIMU) && !defined(USE_FPGA)
void gpio_lld_pa2_init(uint8_t mode);
void gpio_lld_pa2_deInit(void);

void gpio_lld_dtb_init(uint8_t dtbMode);
void gpio_lld_dtb_deInit(void);
#endif

void gpio_lld_led1_toggle(void);
void gpio_lld_led2_toggle(void);
void gpio_lld_led3_toggle(void);

#ifdef STM32WB15xx
#define BUTTON_SW1_EXTI_IRQHandler              EXTI0_IRQHandler
#define BUTTON_SW2_EXTI_IRQHandler              EXTI4_IRQHandler
#define BUTTON_SW3_EXTI_IRQHandler              EXTI9_5_IRQHandler

/**
  * @brief  USART pins
  */
#define USART_CLK_ENABLE()                    __HAL_RCC_USART1_CLK_ENABLE()

#define USART_TX_AF                           GPIO_AF7_USART1
#define USART_TX_GPIO_PORT                    GPIOA
#define USART_TX_PIN                          GPIO_PIN_9
#define USART_TX_GPIO_CLK_ENABLE()            __HAL_RCC_GPIOA_CLK_ENABLE()
#define USART_TX_GPIO_CLK_DISABLE()           __HAL_RCC_GPIOA_CLK_DISABLE()

#define USART_RX_AF                           GPIO_AF7_USART1
#define USART_RX_GPIO_PORT                    GPIOA
#define USART_RX_PIN                          GPIO_PIN_10
#define USART_RX_GPIO_CLK_ENABLE()            __HAL_RCC_GPIOA_CLK_ENABLE()
#define USART_RX_GPIO_CLK_DISABLE()           __HAL_RCC_GPIOA_CLK_DISABLE()

/**
  * @brief  LPUART pins
  */
#define LPUART_CLK_ENABLE()                    __HAL_RCC_LPUART1_CLK_ENABLE()

#define LPUART_TX_AF                          GPIO_AF8_LPUART1
#define LPUART_TX_GPIO_PORT                   GPIOA
#define LPUART_TX_PIN                         GPIO_PIN_2
#define LPUART_TX_GPIO_CLK_ENABLE()           __HAL_RCC_GPIOA_CLK_ENABLE()
#define LPUART_TX_GPIO_CLK_DISABLE()          __HAL_RCC_GPIOA_CLK_DISABLE()

#define LPUART_RX_AF                          GPIO_AF8_LPUART1
#define LPUART_RX_GPIO_PORT                   GPIOA
#define LPUART_RX_PIN                         GPIO_PIN_3
#define LPUART_RX_GPIO_CLK_ENABLE()           __HAL_RCC_GPIOA_CLK_ENABLE()
#define LPUART_RX_GPIO_CLK_DISABLE()          __HAL_RCC_GPIOA_CLK_DISABLE()
#endif

#ifdef STM32WB35xx
#define BUTTON_SW1_EXTI_IRQHandler              EXTI0_IRQHandler
#define BUTTON_SW2_EXTI_IRQHandler              EXTI4_IRQHandler
#define BUTTON_SW3_EXTI_IRQHandler              EXTI9_5_IRQHandler

/**
  * @brief  USART pins
  */
#define USART_CLK_ENABLE()                    __HAL_RCC_USART1_CLK_ENABLE()

#define USART_TX_AF                           GPIO_AF7_USART1
#define USART_TX_GPIO_PORT                    GPIOB
#define USART_TX_PIN                          GPIO_PIN_6
#define USART_TX_GPIO_CLK_ENABLE()            __HAL_RCC_GPIOB_CLK_ENABLE()
#define USART_TX_GPIO_CLK_DISABLE()           __HAL_RCC_GPIOB_CLK_DISABLE()

#define USART_RX_AF                           GPIO_AF7_USART1
#define USART_RX_GPIO_PORT                    GPIOB
#define USART_RX_PIN                          GPIO_PIN_7
#define USART_RX_GPIO_CLK_ENABLE()            __HAL_RCC_GPIOB_CLK_ENABLE()
#define USART_RX_GPIO_CLK_DISABLE()           __HAL_RCC_GPIOB_CLK_DISABLE()

/**
  * @brief  LPUART pins
  */
#define LPUART_CLK_ENABLE()                    __HAL_RCC_LPUART1_CLK_ENABLE()

#define LPUART_TX_AF                          GPIO_AF8_LPUART1
#define LPUART_TX_GPIO_PORT                   GPIOB
#define LPUART_TX_PIN                         GPIO_PIN_5
#define LPUART_TX_GPIO_CLK_ENABLE()           __HAL_RCC_GPIOB_CLK_ENABLE()
#define LPUART_TX_GPIO_CLK_DISABLE()          __HAL_RCC_GPIOB_CLK_DISABLE()

#define LPUART_RX_AF                          GPIO_AF8_LPUART1
#define LPUART_RX_GPIO_PORT                   GPIOA
#define LPUART_RX_PIN                         GPIO_PIN_3
#define LPUART_RX_GPIO_CLK_ENABLE()           __HAL_RCC_GPIOA_CLK_ENABLE()
#define LPUART_RX_GPIO_CLK_DISABLE()          __HAL_RCC_GPIOA_CLK_DISABLE()
#endif

#ifdef STM32WB55xx
#define BUTTON_SW1_EXTI_IRQHandler              EXTI4_IRQHandler
#define BUTTON_SW2_EXTI_IRQHandler              EXTI0_IRQHandler
#define BUTTON_SW3_EXTI_IRQHandler              EXTI1_IRQHandler

/**
  * @brief  USART pins
  */
#define USART_CLK_ENABLE()                    __HAL_RCC_USART1_CLK_ENABLE()

#define USART_TX_AF                           GPIO_AF7_USART1
#define USART_TX_GPIO_PORT                    GPIOB
#define USART_TX_PIN                          GPIO_PIN_6
#define USART_TX_GPIO_CLK_ENABLE()            __HAL_RCC_GPIOB_CLK_ENABLE()
#define USART_TX_GPIO_CLK_DISABLE()           __HAL_RCC_GPIOB_CLK_DISABLE()

#define USART_RX_AF                           GPIO_AF7_USART1
#define USART_RX_GPIO_PORT                    GPIOB
#define USART_RX_PIN                          GPIO_PIN_7
#define USART_RX_GPIO_CLK_ENABLE()            __HAL_RCC_GPIOB_CLK_ENABLE()
#define USART_RX_GPIO_CLK_DISABLE()           __HAL_RCC_GPIOB_CLK_DISABLE()

/**
  * @brief  LPUART pins
  */
#define LPUART_CLK_ENABLE()                    __HAL_RCC_LPUART1_CLK_ENABLE()

#define LPUART_TX_AF                          GPIO_AF8_LPUART1
#define LPUART_TX_GPIO_PORT                   GPIOC
#define LPUART_TX_PIN                         GPIO_PIN_1
#define LPUART_TX_GPIO_CLK_ENABLE()           __HAL_RCC_GPIOC_CLK_ENABLE()
#define LPUART_TX_GPIO_CLK_DISABLE()          __HAL_RCC_GPIOC_CLK_DISABLE()

#define LPUART_RX_AF                          GPIO_AF8_LPUART1
#define LPUART_RX_GPIO_PORT                   GPIOC
#define LPUART_RX_PIN                         GPIO_PIN_0
#define LPUART_RX_GPIO_CLK_ENABLE()           __HAL_RCC_GPIOC_CLK_ENABLE()
#define LPUART_RX_GPIO_CLK_DISABLE()          __HAL_RCC_GPIOC_CLK_DISABLE()
#endif

#endif /* GPIO_LLD_H_ */