[PATCH v2] ARM: dts: ux500: configure the accelerometers open drain
Jonathan Cameron
jic23 at kernel.org
Sun Apr 17 04:28:38 PDT 2016
On 14/04/16 09:48, Linus Walleij wrote:
> Configure the two accelerometers sharing GPIO line 82 as:
>
> - Open drain so that they can share the same interrupt line.
>
> Configure the corresponding interrupt pin:
>
> - Trigger on the falling edge since open drain implies that we
> do not actively drive the line high, but we will actively drive
> it low to generate interrupts and then it moves from high to low
> i.e. a falling edge.
>
> - Pulled up so the line will be biased to high unless an IRQ
> is active on any device on the line, and thus it goes high
> again after the interrupt is deasserted.
>
> Cc: linux-iio at vger.kernel.org
> Cc: Jonathan Cameron <jic23 at cam.ac.uk>
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
I have just applied the patch supporting this to the iio tree
for the next merge window.
Jonathan
> ---
> ChangeLog v1->v2:
> - Switch to using the drive-mode-open-drain; setting
> ---
> arch/arm/boot/dts/ste-href-tvk1281618.dtsi | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm/boot/dts/ste-href-tvk1281618.dtsi b/arch/arm/boot/dts/ste-href-tvk1281618.dtsi
> index 55f9d0cc90f3..aec816c8ecb6 100644
> --- a/arch/arm/boot/dts/ste-href-tvk1281618.dtsi
> +++ b/arch/arm/boot/dts/ste-href-tvk1281618.dtsi
> @@ -93,14 +93,15 @@
> /* Accelerometer */
> compatible = "st,lsm303dlh-accel";
> st,drdy-int-pin = <1>;
> + drive-open-drain;
> reg = <0x18>;
> vdd-supply = <&ab8500_ldo_aux1_reg>;
> vddio-supply = <&db8500_vsmps2_reg>;
> pinctrl-names = "default";
> pinctrl-0 = <&accel_tvk_mode>;
> interrupt-parent = <&gpio2>;
> - interrupts = <18 IRQ_TYPE_EDGE_RISING>,
> - <19 IRQ_TYPE_EDGE_RISING>;
> + interrupts = <18 IRQ_TYPE_EDGE_FALLING>,
> + <19 IRQ_TYPE_EDGE_FALLING>;
> };
> lsm303dlh at 1e {
> /*
> @@ -118,14 +119,15 @@
> /* Accelerometer */
> compatible = "st,lis331dl-accel";
> st,drdy-int-pin = <1>;
> + drive-open-drain;
> reg = <0x1c>;
> vdd-supply = <&ab8500_ldo_aux1_reg>;
> vddio-supply = <&db8500_vsmps2_reg>;
> pinctrl-names = "default";
> pinctrl-0 = <&accel_tvk_mode>;
> interrupt-parent = <&gpio2>;
> - interrupts = <18 IRQ_TYPE_EDGE_RISING>,
> - <19 IRQ_TYPE_EDGE_RISING>;
> + interrupts = <18 IRQ_TYPE_EDGE_FALLING>,
> + <19 IRQ_TYPE_EDGE_FALLING>;
> };
> ak8974 at 0f {
> /* Magnetometer */
> @@ -216,7 +218,7 @@
> /* Accelerometer interrupt lines 1 & 2 */
> tvk_cfg {
> pins = "GPIO82_C1", "GPIO83_D3";
> - ste,config = <&gpio_in_pd>;
> + ste,config = <&gpio_in_pu>;
> };
> };
> };
>
More information about the linux-arm-kernel
mailing list