On 27/11/16 15:45, Benjamin Gaignard wrote:
2016-11-27 15:25 GMT+01:00 Jonathan Cameron jic23@kernel.org:
On 24/11/16 15:14, Benjamin Gaignard wrote:
Define bindings for stm32 IIO timer
version 2:
- only keep one compatible
- add DT parameters to set lists of the triggers: one list describe the triggers created by the device another one give the triggers accepted by the device
Signed-off-by: Benjamin Gaignard benjamin.gaignard@st.com
.../bindings/iio/timer/stm32-iio-timer.txt | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/timer/stm32-iio-timer.txt
diff --git a/Documentation/devicetree/bindings/iio/timer/stm32-iio-timer.txt b/Documentation/devicetree/bindings/iio/timer/stm32-iio-timer.txt new file mode 100644 index 0000000..840b417 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/timer/stm32-iio-timer.txt @@ -0,0 +1,41 @@ +timer IIO trigger bindings for STM32
+Must be a sub-node of STM32 general purpose timer driver
Add a cross reference...
I will add it in v3
+Required parameters: +- compatible: must be "st,stm32-iio-timer"
st,stm32-adc-timer or something like that.
I would prefer use st,stm32-timer-trigger because triggers can be used for multiple other devices (dac, adc, timers)
+- interrupts: Interrupt for this device
See ../interrupt-controller/st,stm32-exti.txt
+Optional parameters: +- st,input-triggers-names: List of the possible input triggers for
the device
+- st,output-triggers-names: List of the possible output triggers for
the device
What are input / output triggers?
each hardware block can be the source of triggers (output triggers) or customer of some other trigger (input triggers).That what I have tried to describe in those two parameters
So this is really about using one timer as a prescaler for another?
I'd be tempted in the first instance to drop that functionality and just describe the ones that drive the device sampling.
It's complex to describe and there is enough complexity in here already to keep things busy for a while!
+Possible triggers are defined in include/dt-bindings/iio/timer/st,stm32-iio-timer.h
+Example:
gptimer1: gptimer1@40010000 {
compatible = "st,stm32-gptimer";
reg = <0x40010000 0x400>;
clocks = <&rcc 0 160>;
clock-names = "clk_int";
pwm1@0 {
compatible = "st,stm32-pwm";
st,pwm-num-chan = <4>;
st,breakinput;
st,complementary;
};
iiotimer1@0 {
compatible = "st,stm32-iio-timer";
interrupts = <27>;
st,input-triggers-names = TIM5_TRGO,
TIM2_TRGO,
TIM4_TRGO,
TIM3_TRGO;
st,output-triggers-names = TIM1_TRGO;
};
};
-- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html