in arch/arm/src/stm32/stm32_capture.c [172:513]
uint32_t stm32_cap_gpio(const struct stm32_cap_priv_s *priv,
int channel)
{
switch (priv->base)
{
#ifdef CONFIG_STM32_TIM1_CAP
case STM32_TIM1_BASE:
switch (channel)
{
#ifdef GPIO_TIM1_EXT_CLK_IN
case STM32_CAP_CHANNEL_COUNTER:
return GPIO_TIM1_EXT_CLK_IN;
#endif
#ifdef GPIO_TIM1_CH1IN
case 1:
return GPIO_TIM1_CH1IN;
#endif
#ifdef GPIO_TIM1_CH2IN
case 2:
return GPIO_TIM1_CH2IN;
#endif
#ifdef GPIO_TIM1_CH3IN
case 3:
return GPIO_TIM1_CH3IN;
#endif
#ifdef GPIO_TIM1_CH4IN
case 4:
return GPIO_TIM1_CH4IN;
#endif
}
break;
#endif
#ifdef CONFIG_STM32_TIM2_CAP
case STM32_TIM2_BASE:
switch (channel)
{
#ifdef GPIO_TIM2_EXT_CLK_IN
case STM32_CAP_CHANNEL_COUNTER:
return GPIO_TIM2_EXT_CLK_IN;
#endif
#ifdef GPIO_TIM2_CH1IN
case 1:
return GPIO_TIM2_CH1IN;
#endif
#ifdef GPIO_TIM2_CH2IN
case 2:
return GPIO_TIM2_CH2IN;
#endif
#ifdef GPIO_TIM2_CH3IN
case 3:
return GPIO_TIM2_CH3IN;
#endif
#ifdef GPIO_TIM2_CH4IN
case 4:
return GPIO_TIM2_CH4IN;
#endif
}
break;
#endif
#ifdef CONFIG_STM32_TIM3_CAP
case STM32_TIM3_BASE:
switch (channel)
{
#ifdef GPIO_TIM3_EXT_CLK_IN
case STM32_CAP_CHANNEL_COUNTER:
return GPIO_TIM3_EXT_CLK_IN;
#endif
#ifdef GPIO_TIM3_CH1IN
case 1:
return GPIO_TIM3_CH1IN;
#endif
#ifdef GPIO_TIM3_CH2IN
case 2:
return GPIO_TIM3_CH2IN;
#endif
#ifdef GPIO_TIM3_CH3IN
case 3:
return GPIO_TIM3_CH3IN;
#endif
#ifdef GPIO_TIM3_CH4IN
case 4:
return GPIO_TIM3_CH4IN;
#endif
}
break;
#endif
#ifdef CONFIG_STM32_TIM4_CAP
case STM32_TIM4_BASE:
switch (channel)
{
#ifdef GPIO_TIM4_EXT_CLK_IN
case STM32_CAP_CHANNEL_COUNTER:
return GPIO_TIM4_EXT_CLK_IN;
#endif
#ifdef GPIO_TIM4_CH1IN
case 1:
return GPIO_TIM4_CH1IN;
#endif
#ifdef GPIO_TIM4_CH2IN
case 2:
return GPIO_TIM4_CH2IN;
#endif
#ifdef GPIO_TIM4_CH3IN
case 3:
return GPIO_TIM4_CH3IN;
#endif
#ifdef GPIO_TIM4_CH4IN
case 4:
return GPIO_TIM4_CH4IN;
#endif
}
break;
#endif
#ifdef CONFIG_STM32_TIM5_CAP
case STM32_TIM5_BASE:
switch (channel)
{
#ifdef GPIO_TIM5_EXT_CLK_IN
case STM32_CAP_CHANNEL_COUNTER:
return GPIO_TIM5_EXT_CLK_IN;
#endif
#ifdef GPIO_TIM5_CH1IN
case 1:
return GPIO_TIM5_CH1IN;
#endif
#ifdef GPIO_TIM5_CH2IN
case 2:
return GPIO_TIM5_CH2IN;
#endif
#ifdef GPIO_TIM5_CH3IN
case 3:
return GPIO_TIM5_CH3IN;
#endif
#ifdef GPIO_TIM5_CH4IN
case 4:
return GPIO_TIM5_CH4IN;
#endif
}
break;
#endif
/* TIM6 and TIM7 cannot be used in capture */
#ifdef CONFIG_STM32_TIM8_CAP
case STM32_TIM8_BASE:
switch (channel)
{
#ifdef GPIO_TIM8_EXT_CLK_IN
case STM32_CAP_CHANNEL_COUNTER:
return GPIO_TIM8_EXT_CLK_IN;
#endif
#ifdef GPIO_TIM8_CH1IN
case 1:
return GPIO_TIM8_CH1IN;
#endif
#ifdef GPIO_TIM8_CH2IN
case 2:
return GPIO_TIM8_CH2IN;
#endif
#ifdef GPIO_TIM8_CH3IN
case 3:
return GPIO_TIM8_CH3IN;
#endif
#ifdef GPIO_TIM8_CH4IN
case 4:
return GPIO_TIM8_CH4IN;
#endif
}
break;
#endif
#ifdef CONFIG_STM32_TIM9_CAP
case STM32_TIM9_BASE:
switch (channel)
{
#ifdef GPIO_TIM9_EXT_CLK_IN
case STM32_CAP_CHANNEL_COUNTER:
return GPIO_TIM9_EXT_CLK_IN;
#endif
#ifdef GPIO_TIM9_CH1IN
case 1:
return GPIO_TIM9_CH1IN;
#endif
#ifdef GPIO_TIM9_CH2IN
case 2:
return GPIO_TIM9_CH2IN;
#endif
#ifdef GPIO_TIM9_CH3IN
case 3:
return GPIO_TIM9_CH3IN;
#endif
#ifdef GPIO_TIM9_CH4IN
case 4:
return GPIO_TIM9_CH4IN;
#endif
}
break;
#endif
#ifdef CONFIG_STM32_TIM10_CAP
case STM32_TIM10_BASE:
switch (channel)
{
#ifdef GPIO_TIM10_EXT_CLK_IN
case STM32_CAP_CHANNEL_COUNTER:
return GPIO_TIM10_EXT_CLK_IN;
#endif
#ifdef GPIO_TIM10_CH1IN
case 1:
return GPIO_TIM10_CH1IN;
#endif
#ifdef GPIO_TIM10_CH2IN
case 2:
return GPIO_TIM10_CH2IN;
#endif
#ifdef GPIO_TIM10_CH4IN
case 3:
return GPIO_TIM10_CH4IN;
#endif
#ifdef GPIO_TIM10_CH5IN
case 4:
return GPIO_TIM10_CH5IN;
#endif
}
break;
#endif
#ifdef CONFIG_STM32_TIM11_CAP
case STM32_TIM11_BASE:
switch (channel)
{
#ifdef GPIO_TIM11_EXT_CLK_IN
case STM32_CAP_CHANNEL_COUNTER:
return GPIO_TIM11_EXT_CLK_IN;
#endif
#ifdef GPIO_TIM11_CH1IN
case 1:
return GPIO_TIM11_CH1IN;
#endif
#ifdef GPIO_TIM11_CH2IN
case 2:
return GPIO_TIM11_CH2IN;
#endif
#ifdef GPIO_TIM11_CH4IN
case 3:
return GPIO_TIM11_CH4IN;
#endif
#ifdef GPIO_TIM11_CH5IN
case 4:
return GPIO_TIM11_CH5IN;
#endif
}
break;
#endif
#ifdef CONFIG_STM32_TIM12_CAP
case STM32_TIM12_BASE:
switch (channel)
{
#ifdef GPIO_TIM12_EXT_CLK_IN
case STM32_CAP_CHANNEL_COUNTER:
return GPIO_TIM12_EXT_CLK_IN;
#endif
#ifdef GPIO_TIM12_CH1IN
case 1:
return GPIO_TIM12_CH1IN;
#endif
#ifdef GPIO_TIM12_CH2IN
case 2:
return GPIO_TIM12_CH2IN;
#endif
#ifdef GPIO_TIM12_CH4IN
case 3:
return GPIO_TIM12_CH4IN;
#endif
#ifdef GPIO_TIM12_CH5IN
case 4:
return GPIO_TIM12_CH5IN;
#endif
}
break;
#endif
#ifdef CONFIG_STM32_TIM13_CAP
case STM32_TIM13_BASE:
switch (channel)
{
#ifdef GPIO_TIM13_EXT_CLK_IN
case STM32_CAP_CHANNEL_COUNTER:
return GPIO_TIM13_EXT_CLK_IN;
#endif
#ifdef GPIO_TIM13_CH1IN
case 1:
return GPIO_TIM13_CH1IN;
#endif
#ifdef GPIO_TIM13_CH2IN
case 2:
return GPIO_TIM13_CH2IN;
#endif
#ifdef GPIO_TIM13_CH4IN
case 3:
return GPIO_TIM13_CH4IN;
#endif
#ifdef GPIO_TIM13_CH5IN
case 4:
return GPIO_TIM13_CH5IN;
#endif
}
break;
#endif
#ifdef CONFIG_STM32_TIM14_CAP
case STM32_TIM14_BASE:
switch (channel)
{
#ifdef GPIO_TIM14_EXT_CLK_IN
case STM32_CAP_CHANNEL_COUNTER:
return GPIO_TIM14_EXT_CLK_IN;
#endif
#ifdef GPIO_TIM14_CH1IN
case 1:
return GPIO_TIM14_CH1IN;
#endif
#ifdef GPIO_TIM14_CH2IN
case 2:
return GPIO_TIM14_CH2IN;
#endif
#ifdef GPIO_TIM14_CH4IN
case 3:
return GPIO_TIM14_CH4IN;
#endif
#ifdef GPIO_TIM14_CH5IN
case 4:
return GPIO_TIM14_CH5IN;
#endif
}
break;
#endif
}
return 0;
}