Re: [PATCH 4/4] iio: lps331ap: Add support for DT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/02/2013 02:56 PM, Lars-Peter Clausen wrote:
On 07/02/2013 02:15 PM, Lukasz Czerwinski wrote:
From: Jacek Anaszewski<j.anaszewski@xxxxxxxxxxx>

This patch adds DT support for the lps331ap barometer
sensor.

Signed-off-by: Jacek Anaszewski<j.anaszewski@xxxxxxxxxxx>
Signed-off-by: Kyungmin Park<kyungmin.park@xxxxxxxxxxx>
---
  .../bindings/iio/pressure/st_pressure.txt          |   41 ++++++++++++++++++++
  drivers/iio/pressure/st_pressure_i2c.c             |    9 +++++
  drivers/iio/pressure/st_pressure_spi.c             |    9 +++++
  3 files changed, 59 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/iio/pressure/st_pressure.txt

diff --git a/Documentation/devicetree/bindings/iio/pressure/st_pressure.txt b/Documentation/devicetree/bindings/iio/pressure/st_pressure.txt
new file mode 100644
index 0000000..73a4b7d
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/pressure/st_pressure.txt
@@ -0,0 +1,41 @@
+* STMicroelectronics LPS331AP barometer sensor
+
+Required properties:
+
+  - compatible : should be "lps331ap"

Needs the vendor prefix.

+  - reg : the I2C address of the barometer
+
+Optional properties:
+
+  - drdy-int-pin : redirect DRDY on pin INT1 (1) or pin INT2 (2) (u8)
+  - interrupt-parent : phandle to the interrupt map subnode
+  - interrupts : interrupt mapping for LPS331AP interrupt sources:
+		2 sources: 0 - INT1, 1 - INT2
+  - irq-map : irq sub-node defining interrupt map
+	      (all properties listed below are required):
+      - #interrupt-cells : should be 1
+      - #address-cells : should be 0
+      - #size-cells : should be 0
+      - interrupt-map : table of entries consisting of three child elements:
+	  - unit_interrupt_specifier - 0 : INT1, 1 : INT2
+	  - interrupt parent phandle
+	  - parent unit interrupt specifier consisiting of two elements:
+	      - index of the interrupt within the controller
+	      - flags : should be 0

While this works I wonder why you choose such a complicated example for setting
up the IRQ? Why not just reference the IRQ directly using the interrupts property?

Hi Lars,

I will try to clarify the reasons why the interrupt map was exploited:

1) The device exposes two interrupt pins: INT1 and INT2.
2) Both of them can be configured either to generate data ready
   interrupts or event interrupts.
3) drdy-int-pin property conveys the information about the interrupt
   pin routed to the CPU and allows the driver to configure
   the device to generate data ready interrupts on the connected pin.
4) The lps331ap barometer sensor handles only data ready interrupts
   but it depends on the st_sensors library which expects interrupt map
   in the device tree node.
5) Because of the support for events added to the library in this
   series it should be possible to pass two irq's to the driver. From
   what I know it can't be accomplished with interrupts property if
   the interrupts originate from different interrupt parents (which is
   the case I deal with, where device int sources are routed to the
   GPIOs in different banks).
6) I agree that map filled with only one element may confuse the reader
   but it is required for the st_common library to successfully parse
   the node.

If you know better solution please let me know.
Of course I agree with your remaining remarks.

Thanks,
Jacek

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux