Thread (35 messages) 35 messages, 5 authors, 2016-12-06

[PATCH v3 5/7] IIO: add bindings for stm32 timer trigger driver

From: Benjamin Gaignard <hidden>
Date: 2016-12-02 14:23:35
Also in: linux-devicetree, linux-iio, linux-pwm, lkml

2016-12-02 14:59 GMT+01:00 Lee Jones [off-list ref]:
On Fri, 02 Dec 2016, Benjamin Gaignard wrote:
quoted
Define bindings for stm32 timer trigger

version 3:
- change file name
- add cross reference with mfd bindings

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 <redacted>
---
 .../bindings/iio/timer/stm32-timer-trigger.txt     | 39 ++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/timer/stm32-timer-trigger.txt
diff --git a/Documentation/devicetree/bindings/iio/timer/stm32-timer-trigger.txt b/Documentation/devicetree/bindings/iio/timer/stm32-timer-trigger.txt
new file mode 100644
index 0000000..858816d
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/timer/stm32-timer-trigger.txt
@@ -0,0 +1,39 @@
+timer trigger bindings for STM32
+
+Must be a sub-node of STM32 general purpose timer driver
+Parent node properties are describe in ../mfd/stm32-general-purpose-timer.txt
+
+Required parameters:
+- compatible:                must be "st,stm32-iio-timer"
+- 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
+
+Possible triggers are defined in include/dt-bindings/iio/timer/st,stm32-timer-trigger.h
+
+Example:
+     gptimer1: gptimer1 at 40010000 {
+             compatible = "st,stm32-gptimer";
+             reg = <0x40010000 0x400>;
+             clocks = <&rcc 0 160>;
+             clock-names = "clk_int";
+
+             timer1 at 0 {
+                     compatible = "st,stm32-timer-trigger";
+                     interrupts = <27>;
+                     st,input-triggers-names = TIM5_TRGO,
+                                               TIM2_TRGO,
+                                               TIM4_TRGO,
+                                               TIM3_TRGO;
+                     st,output-triggers-names = TIM1_TRGO,
+                                                TIM1_CH1,
+                                                TIM1_CH2,
+                                                TIM1_CH3,
+                                                TIM1_CH4;
I see why you've done it like this now ... because it makes things
easier for you in the driver, since the IIO subsystem matches on names
such as these.

BUT, this is a Linux-implementation-ism.  Just use pairs of integers
and create the Linux-ism strings in the driver.
The goal is not to make things easier in driver but to be able to share
the triggers names with other drivers like DAC or ADC.
If each driver have to create it own triggers names it will more difficult
to keep them coherent than it they share the same definitions
quoted
+             };
+     };
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help