1af873fceSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
293fbe91bSBenjamin Gaignard /*
393fbe91bSBenjamin Gaignard  * Copyright (C) STMicroelectronics 2016
493fbe91bSBenjamin Gaignard  *
593fbe91bSBenjamin Gaignard  * Author: Benjamin Gaignard <[email protected]>
693fbe91bSBenjamin Gaignard  */
793fbe91bSBenjamin Gaignard 
893fbe91bSBenjamin Gaignard #ifndef _STM32_TIMER_TRIGGER_H_
993fbe91bSBenjamin Gaignard #define _STM32_TIMER_TRIGGER_H_
1093fbe91bSBenjamin Gaignard 
1193fbe91bSBenjamin Gaignard #define TIM1_TRGO	"tim1_trgo"
126fb34812SFabrice Gasnier #define TIM1_TRGO2	"tim1_trgo2"
1393fbe91bSBenjamin Gaignard #define TIM1_CH1	"tim1_ch1"
1493fbe91bSBenjamin Gaignard #define TIM1_CH2	"tim1_ch2"
1593fbe91bSBenjamin Gaignard #define TIM1_CH3	"tim1_ch3"
1693fbe91bSBenjamin Gaignard #define TIM1_CH4	"tim1_ch4"
1793fbe91bSBenjamin Gaignard 
1893fbe91bSBenjamin Gaignard #define TIM2_TRGO	"tim2_trgo"
1993fbe91bSBenjamin Gaignard #define TIM2_CH1	"tim2_ch1"
2093fbe91bSBenjamin Gaignard #define TIM2_CH2	"tim2_ch2"
2193fbe91bSBenjamin Gaignard #define TIM2_CH3	"tim2_ch3"
2293fbe91bSBenjamin Gaignard #define TIM2_CH4	"tim2_ch4"
2393fbe91bSBenjamin Gaignard 
2493fbe91bSBenjamin Gaignard #define TIM3_TRGO	"tim3_trgo"
2593fbe91bSBenjamin Gaignard #define TIM3_CH1	"tim3_ch1"
2693fbe91bSBenjamin Gaignard #define TIM3_CH2	"tim3_ch2"
2793fbe91bSBenjamin Gaignard #define TIM3_CH3	"tim3_ch3"
2893fbe91bSBenjamin Gaignard #define TIM3_CH4	"tim3_ch4"
2993fbe91bSBenjamin Gaignard 
3093fbe91bSBenjamin Gaignard #define TIM4_TRGO	"tim4_trgo"
3193fbe91bSBenjamin Gaignard #define TIM4_CH1	"tim4_ch1"
3293fbe91bSBenjamin Gaignard #define TIM4_CH2	"tim4_ch2"
3393fbe91bSBenjamin Gaignard #define TIM4_CH3	"tim4_ch3"
3493fbe91bSBenjamin Gaignard #define TIM4_CH4	"tim4_ch4"
3593fbe91bSBenjamin Gaignard 
3693fbe91bSBenjamin Gaignard #define TIM5_TRGO	"tim5_trgo"
3793fbe91bSBenjamin Gaignard #define TIM5_CH1	"tim5_ch1"
3893fbe91bSBenjamin Gaignard #define TIM5_CH2	"tim5_ch2"
3993fbe91bSBenjamin Gaignard #define TIM5_CH3	"tim5_ch3"
4093fbe91bSBenjamin Gaignard #define TIM5_CH4	"tim5_ch4"
4193fbe91bSBenjamin Gaignard 
4293fbe91bSBenjamin Gaignard #define TIM6_TRGO	"tim6_trgo"
4393fbe91bSBenjamin Gaignard 
4493fbe91bSBenjamin Gaignard #define TIM7_TRGO	"tim7_trgo"
4593fbe91bSBenjamin Gaignard 
4693fbe91bSBenjamin Gaignard #define TIM8_TRGO	"tim8_trgo"
476fb34812SFabrice Gasnier #define TIM8_TRGO2	"tim8_trgo2"
4893fbe91bSBenjamin Gaignard #define TIM8_CH1	"tim8_ch1"
4993fbe91bSBenjamin Gaignard #define TIM8_CH2	"tim8_ch2"
5093fbe91bSBenjamin Gaignard #define TIM8_CH3	"tim8_ch3"
5193fbe91bSBenjamin Gaignard #define TIM8_CH4	"tim8_ch4"
5293fbe91bSBenjamin Gaignard 
5393fbe91bSBenjamin Gaignard #define TIM9_TRGO	"tim9_trgo"
5493fbe91bSBenjamin Gaignard #define TIM9_CH1	"tim9_ch1"
5593fbe91bSBenjamin Gaignard #define TIM9_CH2	"tim9_ch2"
5693fbe91bSBenjamin Gaignard 
5725892d6eSFabrice Gasnier #define TIM10_OC1	"tim10_oc1"
5825892d6eSFabrice Gasnier 
5925892d6eSFabrice Gasnier #define TIM11_OC1	"tim11_oc1"
6025892d6eSFabrice Gasnier 
6193fbe91bSBenjamin Gaignard #define TIM12_TRGO	"tim12_trgo"
6293fbe91bSBenjamin Gaignard #define TIM12_CH1	"tim12_ch1"
6393fbe91bSBenjamin Gaignard #define TIM12_CH2	"tim12_ch2"
6493fbe91bSBenjamin Gaignard 
6525892d6eSFabrice Gasnier #define TIM13_OC1	"tim13_oc1"
6625892d6eSFabrice Gasnier 
6725892d6eSFabrice Gasnier #define TIM14_OC1	"tim14_oc1"
6825892d6eSFabrice Gasnier 
6945fff14bSFabrice Gasnier #define TIM15_TRGO	"tim15_trgo"
7045fff14bSFabrice Gasnier 
7125892d6eSFabrice Gasnier #define TIM16_OC1	"tim16_oc1"
7225892d6eSFabrice Gasnier 
7325892d6eSFabrice Gasnier #define TIM17_OC1	"tim17_oc1"
7425892d6eSFabrice Gasnier 
75*e2f9d754SFabrice Gasnier #define TIM20_OC1	"tim20_oc1"
76*e2f9d754SFabrice Gasnier #define TIM20_OC2	"tim20_oc2"
77*e2f9d754SFabrice Gasnier #define TIM20_OC3	"tim20_oc3"
78*e2f9d754SFabrice Gasnier #define TIM20_TRGO	"tim20_trgo"
79*e2f9d754SFabrice Gasnier #define TIM20_TRGO2	"tim20_trgo2"
80*e2f9d754SFabrice Gasnier 
8120c89b4dSFabrice Gasnier #if IS_REACHABLE(CONFIG_IIO_STM32_TIMER_TRIGGER)
8293fbe91bSBenjamin Gaignard bool is_stm32_timer_trigger(struct iio_trigger *trig);
8320c89b4dSFabrice Gasnier #else
is_stm32_timer_trigger(struct iio_trigger * trig)8420c89b4dSFabrice Gasnier static inline bool is_stm32_timer_trigger(struct iio_trigger *trig)
8520c89b4dSFabrice Gasnier {
8620c89b4dSFabrice Gasnier #if IS_ENABLED(CONFIG_IIO_STM32_TIMER_TRIGGER)
8720c89b4dSFabrice Gasnier 	pr_warn_once("stm32-timer-trigger not linked in\n");
8820c89b4dSFabrice Gasnier #endif
8920c89b4dSFabrice Gasnier 	return false;
9020c89b4dSFabrice Gasnier }
9120c89b4dSFabrice Gasnier #endif
9293fbe91bSBenjamin Gaignard #endif
93