Skip to content

Commit 5e94263

Browse files
cybertalenashif
authored andcommitted
drivers: pinmux: stm32: add pinmux support for ADC of stm32
This commit adds pinmux defines for all the external ADC lines supported by stm32. All defines are named after the datasheet of the corresponding product lines. Signed-off-by: Song Qiang <songqiang1304521@gmail.com>
1 parent da56cad commit 5e94263

File tree

8 files changed

+382
-0
lines changed

8 files changed

+382
-0
lines changed

drivers/pinmux/stm32/pinmux_stm32f0.h

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,4 +108,37 @@
108108
#define STM32F0_PINMUX_FUNC_PD1_CAN_TX \
109109
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUSHPULL_NOPULL)
110110

111+
#define STM32F0_PINMUX_FUNC_PA0_ADC_IN0 \
112+
STM32_MODER_ANALOG_MODE
113+
#define STM32F0_PINMUX_FUNC_PA1_ADC_IN1 \
114+
STM32_MODER_ANALOG_MODE
115+
#define STM32F0_PINMUX_FUNC_PA2_ADC_IN2 \
116+
STM32_MODER_ANALOG_MODE
117+
#define STM32F0_PINMUX_FUNC_PA3_ADC_IN3 \
118+
STM32_MODER_ANALOG_MODE
119+
#define STM32F0_PINMUX_FUNC_PA4_ADC_IN4 \
120+
STM32_MODER_ANALOG_MODE
121+
#define STM32F0_PINMUX_FUNC_PA5_ADC_IN5 \
122+
STM32_MODER_ANALOG_MODE
123+
#define STM32F0_PINMUX_FUNC_PA6_ADC_IN6 \
124+
STM32_MODER_ANALOG_MODE
125+
#define STM32F0_PINMUX_FUNC_PA7_ADC_IN7 \
126+
STM32_MODER_ANALOG_MODE
127+
#define STM32F0_PINMUX_FUNC_PB0_ADC_IN8 \
128+
STM32_MODER_ANALOG_MODE
129+
#define STM32F0_PINMUX_FUNC_PB1_ADC_IN9 \
130+
STM32_MODER_ANALOG_MODE
131+
#define STM32F0_PINMUX_FUNC_PC0_ADC_IN10 \
132+
STM32_MODER_ANALOG_MODE
133+
#define STM32F0_PINMUX_FUNC_PC1_ADC_IN11 \
134+
STM32_MODER_ANALOG_MODE
135+
#define STM32F0_PINMUX_FUNC_PC2_ADC_IN12 \
136+
STM32_MODER_ANALOG_MODE
137+
#define STM32F0_PINMUX_FUNC_PC3_ADC_IN13 \
138+
STM32_MODER_ANALOG_MODE
139+
#define STM32F0_PINMUX_FUNC_PC4_ADC_IN14 \
140+
STM32_MODER_ANALOG_MODE
141+
#define STM32F0_PINMUX_FUNC_PC5_ADC_IN15 \
142+
STM32_MODER_ANALOG_MODE
143+
111144
#endif /* ZEPHYR_DRIVERS_PINMUX_STM32_PINMUX_STM32F0_H_ */

drivers/pinmux/stm32/pinmux_stm32f1.h

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,4 +70,26 @@
7070

7171
#define STM32F1_PINMUX_FUNC_PA8_PWM1_CH1 STM32_PIN_PWM
7272

73+
#define STM32F1_PINMUX_FUNC_PF6_ADC3_IN4 STM32_CNF_IN_ANALOG
74+
#define STM32F1_PINMUX_FUNC_PF7_ADC3_IN5 STM32_CNF_IN_ANALOG
75+
#define STM32F1_PINMUX_FUNC_PF8_ADC3_IN6 STM32_CNF_IN_ANALOG
76+
#define STM32F1_PINMUX_FUNC_PF9_ADC3_IN7 STM32_CNF_IN_ANALOG
77+
#define STM32F1_PINMUX_FUNC_PF10_ADC3_IN8 STM32_CNF_IN_ANALOG
78+
#define STM32F1_PINMUX_FUNC_PC0_ADC123_IN10 STM32_CNF_IN_ANALOG
79+
#define STM32F1_PINMUX_FUNC_PC1_ADC123_IN11 STM32_CNF_IN_ANALOG
80+
#define STM32F1_PINMUX_FUNC_PC2_ADC123_IN12 STM32_CNF_IN_ANALOG
81+
#define STM32F1_PINMUX_FUNC_PC3_ADC123_IN13 STM32_CNF_IN_ANALOG
82+
#define STM32F1_PINMUX_FUNC_PA0_ADC123_IN0 STM32_CNF_IN_ANALOG
83+
#define STM32F1_PINMUX_FUNC_PA1_ADC123_IN1 STM32_CNF_IN_ANALOG
84+
#define STM32F1_PINMUX_FUNC_PA2_ADC123_IN2 STM32_CNF_IN_ANALOG
85+
#define STM32F1_PINMUX_FUNC_PA3_ADC123_IN3 STM32_CNF_IN_ANALOG
86+
#define STM32F1_PINMUX_FUNC_PA4_ADC12_IN4 STM32_CNF_IN_ANALOG
87+
#define STM32F1_PINMUX_FUNC_PA5_ADC12_IN5 STM32_CNF_IN_ANALOG
88+
#define STM32F1_PINMUX_FUNC_PA6_ADC12_IN6 STM32_CNF_IN_ANALOG
89+
#define STM32F1_PINMUX_FUNC_PA7_ADC12_IN7 STM32_CNF_IN_ANALOG
90+
#define STM32F1_PINMUX_FUNC_PC4_ADC12_IN14 STM32_CNF_IN_ANALOG
91+
#define STM32F1_PINMUX_FUNC_PC4_ADC12_IN15 STM32_CNF_IN_ANALOG
92+
#define STM32F1_PINMUX_FUNC_PB0_ADC12_IN8 STM32_CNF_IN_ANALOG
93+
#define STM32F1_PINMUX_FUNC_PB1_ADC12_IN9 STM32_CNF_IN_ANALOG
94+
7395
#endif /* ZEPHYR_DRIVERS_PINMUX_STM32_PINMUX_STM32F1_H_ */

drivers/pinmux/stm32/pinmux_stm32f2.h

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,25 +24,44 @@
2424
#define STM32F2_PINMUX_FUNC_PA1_ETH \
2525
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
2626
STM32_OSPEEDR_VERY_HIGH_SPEED)
27+
#define STM32F2_PINMUX_FUNC_PA0_ADC123_IN0 \
28+
STM32_MODER_ANALOG_MODE
2729

2830
#define STM32F2_PINMUX_FUNC_PA1_UART4_RX \
2931
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_NOPULL)
32+
#define STM32F2_PINMUX_FUNC_PA1_ADC123_IN1 \
33+
STM32_MODER_ANALOG_MODE
3034

3135
#define STM32F2_PINMUX_FUNC_PA2_USART2_TX \
3236
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
3337
#define STM32F2_PINMUX_FUNC_PA2_ETH \
3438
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
3539
STM32_OSPEEDR_VERY_HIGH_SPEED)
40+
#define STM32F2_PINMUX_FUNC_PA2_ADC123_IN2 \
41+
STM32_MODER_ANALOG_MODE
3642

3743
#define STM32F2_PINMUX_FUNC_PA3_USART2_RX \
3844
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_NOPULL)
3945
#define STM32F2_PINMUX_FUNC_PA3_ETH \
4046
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
4147
STM32_OSPEEDR_VERY_HIGH_SPEED)
48+
#define STM32F2_PINMUX_FUNC_PA3_ADC123_IN3 \
49+
STM32_MODER_ANALOG_MODE
50+
51+
#define STM32F2_PINMUX_FUNC_PA4_ADC12_IN4 \
52+
STM32_MODER_ANALOG_MODE
53+
54+
#define STM32F2_PINMUX_FUNC_PA5_ADC12_IN5 \
55+
STM32_MODER_ANALOG_MODE
56+
57+
#define STM32F2_PINMUX_FUNC_PA6_ADC12_IN6 \
58+
STM32_MODER_ANALOG_MODE
4259

4360
#define STM32F2_PINMUX_FUNC_PA7_ETH \
4461
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
4562
STM32_OSPEEDR_VERY_HIGH_SPEED)
63+
#define STM32F2_PINMUX_FUNC_PA7_ADC12_IN7 \
64+
STM32_MODER_ANALOG_MODE
4665

4766
#define STM32F2_PINMUX_FUNC_PA9_USART1_TX \
4867
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
@@ -57,6 +76,12 @@
5776
(STM32_PINMUX_ALT_FUNC_10 | STM32_PUSHPULL_NOPULL)
5877

5978
/* Port B */
79+
#define STM32F2_PINMUX_FUNC_PB0_ADC12_IN8 \
80+
STM32_MODER_ANALOG_MODE
81+
82+
#define STM32F2_PINMUX_FUNC_PB1_ADC12_IN9 \
83+
STM32_MODER_ANALOG_MODE
84+
6085
#define STM32F2_PINMUX_FUNC_PB6_USART1_TX \
6186
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
6287

@@ -81,17 +106,32 @@
81106
STM32_OSPEEDR_VERY_HIGH_SPEED)
82107

83108
/* Port C */
109+
#define STM32F2_PINMUX_FUNC_PC0_ADC123_IN10 \
110+
STM32_MODER_ANALOG_MODE
111+
84112
#define STM32F2_PINMUX_FUNC_PC1_ETH \
85113
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
86114
STM32_OSPEEDR_VERY_HIGH_SPEED)
115+
#define STM32F2_PINMUX_FUNC_PC1_ADC123_IN11 \
116+
STM32_MODER_ANALOG_MODE
117+
118+
#define STM32F2_PINMUX_FUNC_PC2_ADC123_IN12 \
119+
STM32_MODER_ANALOG_MODE
120+
121+
#define STM32F2_PINMUX_FUNC_PC3_ADC123_IN13 \
122+
STM32_MODER_ANALOG_MODE
87123

88124
#define STM32F2_PINMUX_FUNC_PC4_ETH \
89125
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
90126
STM32_OSPEEDR_VERY_HIGH_SPEED)
127+
#define STM32F2_PINMUX_FUNC_PC4_ADC12_IN14 \
128+
STM32_MODER_ANALOG_MODE
91129

92130
#define STM32F2_PINMUX_FUNC_PC5_ETH \
93131
(STM32_PINMUX_ALT_FUNC_11 | STM32_PUSHPULL_NOPULL | \
94132
STM32_OSPEEDR_VERY_HIGH_SPEED)
133+
#define STM32F2_PINMUX_FUNC_PC5_ADC12_IN15 \
134+
STM32_MODER_ANALOG_MODE
95135

96136
#define STM32F2_PINMUX_FUNC_PC6_USART6_TX \
97137
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
@@ -131,6 +171,22 @@
131171
/* Port E */
132172

133173
/* Port F */
174+
#define STM32F2_PINMUX_FUNC_PF3_ADC3_IN9 \
175+
STM32_MODER_ANALOG_MODE
176+
#define STM32F2_PINMUX_FUNC_PF4_ADC3_IN14 \
177+
STM32_MODER_ANALOG_MODE
178+
#define STM32F2_PINMUX_FUNC_PF5_ADC3_IN15 \
179+
STM32_MODER_ANALOG_MODE
180+
#define STM32F2_PINMUX_FUNC_PF6_ADC3_IN4 \
181+
STM32_MODER_ANALOG_MODE
182+
#define STM32F2_PINMUX_FUNC_PF7_ADC3_IN5 \
183+
STM32_MODER_ANALOG_MODE
184+
#define STM32F2_PINMUX_FUNC_PF8_ADC3_IN6 \
185+
STM32_MODER_ANALOG_MODE
186+
#define STM32F2_PINMUX_FUNC_PF9_ADC3_IN7 \
187+
STM32_MODER_ANALOG_MODE
188+
#define STM32F2_PINMUX_FUNC_PF10_ADC3_IN8 \
189+
STM32_MODER_ANALOG_MODE
134190

135191
/* Port G */
136192
#define STM32F2_PINMUX_FUNC_PG9_USART6_RX \

drivers/pinmux/stm32/pinmux_stm32f3.h

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,4 +115,85 @@
115115
#define STM32F3_PINMUX_FUNC_PB15_SPI2_MOSI \
116116
(STM32_PINMUX_ALT_FUNC_5 | STM32_PUSHPULL_NOPULL)
117117

118+
#define STM32F3_PINMUX_FUNC_PF2_ADC12_IN10 \
119+
STM32_MODER_ANALOG_MODE
120+
#define STM32F3_PINMUX_FUNC_PF4_ADC1_IN5 \
121+
STM32_MODER_ANALOG_MODE
122+
#define STM32F3_PINMUX_FUNC_PC0_ADC12_IN6 \
123+
STM32_MODER_ANALOG_MODE
124+
#define STM32F3_PINMUX_FUNC_PC1_ADC12_IN7 \
125+
STM32_MODER_ANALOG_MODE
126+
#define STM32F3_PINMUX_FUNC_PC2_ADC12_IN8 \
127+
STM32_MODER_ANALOG_MODE
128+
#define STM32F3_PINMUX_FUNC_PC3_ADC12_IN9 \
129+
STM32_MODER_ANALOG_MODE
130+
#define STM32F3_PINMUX_FUNC_PA0_ADC1_IN1 \
131+
STM32_MODER_ANALOG_MODE
132+
#define STM32F3_PINMUX_FUNC_PA1_ADC1_IN2 \
133+
STM32_MODER_ANALOG_MODE
134+
#define STM32F3_PINMUX_FUNC_PA2_ADC1_IN3 \
135+
STM32_MODER_ANALOG_MODE
136+
#define STM32F3_PINMUX_FUNC_PA3_ADC1_IN4 \
137+
STM32_MODER_ANALOG_MODE
138+
#define STM32F3_PINMUX_FUNC_PA4_ADC2_IN1 \
139+
STM32_MODER_ANALOG_MODE
140+
#define STM32F3_PINMUX_FUNC_PA5_ADC2_IN2 \
141+
STM32_MODER_ANALOG_MODE
142+
#define STM32F3_PINMUX_FUNC_PA6_ADC2_IN3 \
143+
STM32_MODER_ANALOG_MODE
144+
#define STM32F3_PINMUX_FUNC_PA7_ADC2_IN4 \
145+
STM32_MODER_ANALOG_MODE
146+
#define STM32F3_PINMUX_FUNC_PC4_ADC2_IN5 \
147+
STM32_MODER_ANALOG_MODE
148+
#define STM32F3_PINMUX_FUNC_PC5_ADC2_IN11 \
149+
STM32_MODER_ANALOG_MODE
150+
#define STM32F3_PINMUX_FUNC_PB0_ADC3_IN12 \
151+
STM32_MODER_ANALOG_MODE
152+
#define STM32F3_PINMUX_FUNC_PB1_ADC3_IN1 \
153+
STM32_MODER_ANALOG_MODE
154+
#define STM32F3_PINMUX_FUNC_PB2_ADC2_IN12 \
155+
STM32_MODER_ANALOG_MODE
156+
#define STM32F3_PINMUX_FUNC_PE7_ADC3_IN13 \
157+
STM32_MODER_ANALOG_MODE
158+
#define STM32F3_PINMUX_FUNC_PE8_ADC34_IN6 \
159+
STM32_MODER_ANALOG_MODE
160+
#define STM32F3_PINMUX_FUNC_PE9_ADC3_IN2 \
161+
STM32_MODER_ANALOG_MODE
162+
#define STM32F3_PINMUX_FUNC_PE10_ADC3_IN14 \
163+
STM32_MODER_ANALOG_MODE
164+
#define STM32F3_PINMUX_FUNC_PE11_ADC3_IN15 \
165+
STM32_MODER_ANALOG_MODE
166+
#define STM32F3_PINMUX_FUNC_PE12_ADC3_IN16 \
167+
STM32_MODER_ANALOG_MODE
168+
#define STM32F3_PINMUX_FUNC_PE13_ADC3_IN3 \
169+
STM32_MODER_ANALOG_MODE
170+
#define STM32F3_PINMUX_FUNC_PE14_ADC4_IN1 \
171+
STM32_MODER_ANALOG_MODE
172+
#define STM32F3_PINMUX_FUNC_PE15_ADC4_IN12 \
173+
STM32_MODER_ANALOG_MODE
174+
#define STM32F3_PINMUX_FUNC_PB11_ADC12_IN14 \
175+
STM32_MODER_ANALOG_MODE
176+
#define STM32F3_PINMUX_FUNC_PB12_ADC4_IN3 \
177+
STM32_MODER_ANALOG_MODE
178+
#define STM32F3_PINMUX_FUNC_PB13_ADC3_IN5 \
179+
STM32_MODER_ANALOG_MODE
180+
#define STM32F3_PINMUX_FUNC_PB14_ADC4_IN4 \
181+
STM32_MODER_ANALOG_MODE
182+
#define STM32F3_PINMUX_FUNC_PB15_ADC4_IN5 \
183+
STM32_MODER_ANALOG_MODE
184+
#define STM32F3_PINMUX_FUNC_PD8_ADC4_IN12 \
185+
STM32_MODER_ANALOG_MODE
186+
#define STM32F3_PINMUX_FUNC_PD9_ADC4_IN13 \
187+
STM32_MODER_ANALOG_MODE
188+
#define STM32F3_PINMUX_FUNC_PD10_ADC34_IN7 \
189+
STM32_MODER_ANALOG_MODE
190+
#define STM32F3_PINMUX_FUNC_PD11_ADC12_IN8 \
191+
STM32_MODER_ANALOG_MODE
192+
#define STM32F3_PINMUX_FUNC_PD12_ADC34_IN9 \
193+
STM32_MODER_ANALOG_MODE
194+
#define STM32F3_PINMUX_FUNC_PD13_ADC34_IN10 \
195+
STM32_MODER_ANALOG_MODE
196+
#define STM32F3_PINMUX_FUNC_PD14_ADC34_IN11 \
197+
STM32_MODER_ANALOG_MODE
198+
118199
#endif /* ZEPHYR_DRIVERS_PINMUX_STM32_PINMUX_STM32F3_H_ */

0 commit comments

Comments
 (0)