ARM: dts: Ux500: fix up TVK sensor data
authorLinus Walleij <linus.walleij@linaro.org>
Mon, 4 Jul 2016 13:10:57 +0000 (15:10 +0200)
committerArnd Bergmann <arnd@arndb.de>
Thu, 7 Jul 2016 12:05:02 +0000 (14:05 +0200)
- Fix the I2C address and supply line names for the AK8974

- Sets up the interrupt lines to the different components as they
  actually are connected, I was confused for some time by the fact
  that several lines were connected with <NM> 0 Ohm resistors, which
  means NOT MOUNTED and is thus not 0 Ohm at all but infinite ohms,
  i.e. not connected at all.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/arm/boot/dts/ste-href-tvk1281618.dtsi

index fc5e8ce..3c9f2f0 100644 (file)
                                vddio-supply = <&db8500_vsmps2_reg>;
                                pinctrl-names = "default";
                                pinctrl-0 = <&accel_tvk_mode>;
-                               interrupt-parent = <&gpio2>;
-                               interrupts = <18 IRQ_TYPE_EDGE_FALLING>,
-                                            <19 IRQ_TYPE_EDGE_FALLING>;
-                       };
-                       lsm303dlh@1e {
                                /*
-                                * This magnetometer is packaged with
-                                * the accelerometer, and has a DRDY line,
-                                * however it is not connected on this
-                                * board so it can not generate interrupts.
+                                * These interrupts cannot be used: the other component
+                                * ST-Micro L3D4200D gyro that is connected to the same lines
+                                * cannot set its DRDY line to open drain, so it cannot be
+                                * shared with other peripherals. The should be defined for
+                                * the falling edge if they could be wired together.
+                                *
+                                * interrupts-extended =
+                                * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
+                                * <&gpio2 19 IRQ_TYPE_EDGE_FALLING>;
                                 */
+                       };
+                       lsm303dlh@1e {
+                               /* Magnetometer */
                                compatible = "st,lsm303dlh-magn";
                                reg = <0x1e>;
                                vdd-supply = <&ab8500_ldo_aux1_reg>;
                                vddio-supply = <&db8500_vsmps2_reg>;
+                               /*
+                                * These interrupts cannot be used: the other component
+                                * ST-Micro L3D4200D gyro that is connected to the same lines
+                                * cannot set its DRDY line to open drain, so it cannot be
+                                * shared with other peripherals. The should be defined for
+                                * the falling edge if they could be wired together.
+                                *
+                                * interrupts-extended =
+                                * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
+                                * <&gpio2 19 IRQ_TYPE_EDGE_FALLING>;
+                                */
                        };
                        lis331dl@1c {
                                /* 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_FALLING>,
-                                            <19 IRQ_TYPE_EDGE_FALLING>;
+                               /* INT2 would need to be open drain */
+                               interrupts = <18 IRQ_TYPE_EDGE_RISING>,
+                                            <19 IRQ_TYPE_EDGE_RISING>;
                        };
                        ak8974@0f {
                                /* Magnetometer */
                                compatible = "asahi-kasei,ak8974";
                                reg = <0x0f>;
-                               vdd-supply = <&ab8500_ldo_aux1_reg>;
-                               vddio-supply = <&db8500_vsmps2_reg>;
+                               avdd-supply = <&ab8500_ldo_aux1_reg>;
+                               dvdd-supply = <&db8500_vsmps2_reg>;
                                pinctrl-names = "default";
                                pinctrl-0 = <&gyro_magn_tvk_mode>;
-                               interrupt-parent = <&gpio1>;
-                               interrupts = <0 IRQ_TYPE_EDGE_RISING>;
+                               /*
+                                * These interrupts cannot be used: the other component
+                                * ST-Micro L3D4200D gyro that is connected to the same lines
+                                * cannot set its DRDY line to open drain, so it cannot be
+                                * shared with other peripherals. The should be defined for
+                                * the falling edge if they could be wired together.
+                                *
+                                * interrupts-extended =
+                                * <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
+                                * <&gpio0 31 IRQ_TYPE_EDGE_FALLING>;
+                                */
                        };
                        l3g4200d@68 {
                                /* Gyroscope */
                                vddio-supply = <&db8500_vsmps2_reg>;
                                pinctrl-names = "default";
                                pinctrl-0 = <&gyro_magn_tvk_mode>;
-                               interrupt-parent = <&gpio1>;
-                               interrupts = <0 IRQ_TYPE_EDGE_RISING>;
+                               interrupts-extended =
+                               <&gpio1 0 IRQ_TYPE_EDGE_RISING>,
+                               <&gpio0 31 IRQ_TYPE_EDGE_RISING>;
                        };
                        lsp001wm@5c {
                                /* Barometer/pressure sensor */
                                        /* Accelerometer interrupt lines 1 & 2 */
                                        tvk_cfg {
                                                pins = "GPIO82_C1", "GPIO83_D3";
-                                               ste,config = <&gpio_in_pu>;
+                                               ste,config = <&gpio_in_pd>;
                                        };
                                };
                        };