Re: [PATCH] ARM: dts: imx6*-apalis/-colibri: mark I2C recovery GPIOs as open drain

From: Philippe Schenker
Date: Mon Jan 21 2019 - 03:43:50 EST


On Fri, 2019-01-18 at 14:31 +0100, Stefan Agner wrote:
> 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@xxxxxxxx>

Reviewed-by: Philippe Schenker <philippe.schenker@xxxxxxxxxxx>

> ---
> arch/arm/boot/dts/imx6qdl-apalis.dtsi | 4 ++--
> arch/arm/boot/dts/imx6qdl-colibri.dtsi | 4 ++--
> arch/arm/boot/dts/imx6ull-colibri.dtsi | 8 ++++----
> 3 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/arch/arm/boot/dts/imx6qdl-apalis.dtsi
> b/arch/arm/boot/dts/imx6qdl-apalis.dtsi
> index cf66f9ececbd..2d0ed199ed20 100644
> --- a/arch/arm/boot/dts/imx6qdl-apalis.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-apalis.dtsi
> @@ -429,8 +429,8 @@
> 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";
> };
>
> diff --git a/arch/arm/boot/dts/imx6qdl-colibri.dtsi
> b/arch/arm/boot/dts/imx6qdl-colibri.dtsi
> index 87e15e7cb32b..8a27c2a05678 100644
> --- a/arch/arm/boot/dts/imx6qdl-colibri.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-colibri.dtsi
> @@ -298,8 +298,8 @@
> 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";
> };
>
> diff --git a/arch/arm/boot/dts/imx6ull-colibri.dtsi
> b/arch/arm/boot/dts/imx6ull-colibri.dtsi
> index 6c63a7384611..9ad1da159768 100644
> --- a/arch/arm/boot/dts/imx6ull-colibri.dtsi
> +++ b/arch/arm/boot/dts/imx6ull-colibri.dtsi
> @@ -94,16 +94,16 @@
> 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 {