OSDN Git Service

ARM: dts: imx6*-apalis/-colibri: mark I2C recovery GPIOs as open drain
authorStefan Agner <stefan@agner.ch>
Fri, 18 Jan 2019 13:31:13 +0000 (14:31 +0100)
committerShawn Guo <shawnguo@kernel.org>
Mon, 11 Feb 2019 01:22:26 +0000 (09:22 +0800)
Since commit d2d0ad2aec4a ("i2c: imx: use open drain for recovery
GPIO") GPIO lib expects this GPIO to be configured as open drain.
Make sure we define this GPIO as open drain in the device tree.
This gets rid of the following warning:
  gpio-81 (scl): enforced open drain please flag it properly in DT/ACPI DSDT/board file

Note that currently the i.MX pinctrl driver does not support
enabling open drain directly, so this patch has no effect in
practice. Open drain is enabled by the fixed pinmux entry.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Reviewed-by: Philippe Schenker <philippe.schenker@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/imx6qdl-apalis.dtsi
arch/arm/boot/dts/imx6qdl-colibri.dtsi
arch/arm/boot/dts/imx6ull-colibri.dtsi

index 8380f1b..5e6cec9 100644 (file)
        pinctrl-names = "default", "recovery";
        pinctrl-0 = <&pinctrl_i2c3>;
        pinctrl-1 = <&pinctrl_i2c3_recovery>;
-       scl-gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>;
-       sda-gpios = <&gpio3 18 GPIO_ACTIVE_HIGH>;
+       scl-gpios = <&gpio3 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+       sda-gpios = <&gpio3 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
        status = "disabled";
 };
 
index 87e15e7..8a27c2a 100644 (file)
        pinctrl-names = "default", "recovery";
        pinctrl-0 = <&pinctrl_i2c3>;
        pinctrl-1 = <&pinctrl_i2c3_recovery>;
-       scl-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
-       sda-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+       scl-gpios = <&gpio1 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+       sda-gpios = <&gpio1 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
        status = "disabled";
 };
 
index 6c63a73..9ad1da1 100644 (file)
        pinctrl-names = "default", "gpio";
        pinctrl-0 = <&pinctrl_i2c1>;
        pinctrl-1 = <&pinctrl_i2c1_gpio>;
-       sda-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
-       scl-gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
+       sda-gpios = <&gpio1 29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+       scl-gpios = <&gpio1 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 };
 
 &i2c2 {
        pinctrl-names = "default", "gpio";
        pinctrl-0 = <&pinctrl_i2c2>;
        pinctrl-1 = <&pinctrl_i2c2_gpio>;
-       sda-gpios = <&gpio1 31 GPIO_ACTIVE_LOW>;
-       scl-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
+       sda-gpios = <&gpio1 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+       scl-gpios = <&gpio1 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
        status = "okay";
 
        ad7879@2c {