From: Christoph Niedermaier <cniedermaier@dh-electronics.com>
To: <linux-arm-kernel@lists.infradead.org>
Cc: Christoph Niedermaier <cniedermaier@dh-electronics.com>,
Shawn Guo <shawnguo@kernel.org>,
Fabio Estevam <festevam@gmail.com>, Marek Vasut <marex@denx.de>,
NXP Linux Team <linux-imx@nxp.com>, <kernel@dh-electronics.com>
Subject: [PATCH 03/20] ARM: dts: imx6q-dhcom: Add gpios pinctrl for i2c bus recovery
Date: Wed, 26 May 2021 12:54:00 +0200 [thread overview]
Message-ID: <20210526105417.52996-4-cniedermaier@dh-electronics.com> (raw)
In-Reply-To: <20210526105417.52996-1-cniedermaier@dh-electronics.com>
The i2c bus can freeze at the end of transaction so the bus can no longer work.
This scenario is improved by adding scl/sda gpios definitions to implement the
i2c bus recovery mechanism.
Fixes: 52c7a088badd ("ARM: dts: imx6q: Add support for the DHCOM iMX6 SoM and PDK2")
Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Marek Vasut <marex@denx.de>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: kernel@dh-electronics.com
To: linux-arm-kernel@lists.infradead.org
---
arch/arm/boot/dts/imx6q-dhcom-som.dtsi | 36 +++++++++++++++++++++++++++++++---
1 file changed, 33 insertions(+), 3 deletions(-)
diff --git a/arch/arm/boot/dts/imx6q-dhcom-som.dtsi b/arch/arm/boot/dts/imx6q-dhcom-som.dtsi
index 6043be73a1a8..e3de2b487cf4 100644
--- a/arch/arm/boot/dts/imx6q-dhcom-som.dtsi
+++ b/arch/arm/boot/dts/imx6q-dhcom-som.dtsi
@@ -105,22 +105,31 @@
&i2c1 {
clock-frequency = <100000>;
- pinctrl-names = "default";
+ pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c1>;
+ pinctrl-1 = <&pinctrl_i2c1_gpio>;
+ scl-gpios = <&gpio3 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ sda-gpios = <&gpio3 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
status = "okay";
};
&i2c2 {
clock-frequency = <100000>;
- pinctrl-names = "default";
+ pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c2>;
+ pinctrl-1 = <&pinctrl_i2c2_gpio>;
+ scl-gpios = <&gpio4 12 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ sda-gpios = <&gpio4 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
status = "okay";
};
&i2c3 {
clock-frequency = <100000>;
- pinctrl-names = "default";
+ pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c3>;
+ pinctrl-1 = <&pinctrl_i2c3_gpio>;
+ scl-gpios = <&gpio1 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ sda-gpios = <&gpio1 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
status = "okay";
ltc3676: pmic@3c {
@@ -286,6 +295,13 @@
>;
};
+ pinctrl_i2c1_gpio: i2c1-gpio-grp {
+ fsl,pins = <
+ MX6QDL_PAD_EIM_D21__GPIO3_IO21 0x4001b8b1
+ MX6QDL_PAD_EIM_D28__GPIO3_IO28 0x4001b8b1
+ >;
+ };
+
pinctrl_i2c2: i2c2-grp {
fsl,pins = <
MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
@@ -293,6 +309,13 @@
>;
};
+ pinctrl_i2c2_gpio: i2c2-gpio-grp {
+ fsl,pins = <
+ MX6QDL_PAD_KEY_COL3__GPIO4_IO12 0x4001b8b1
+ MX6QDL_PAD_KEY_ROW3__GPIO4_IO13 0x4001b8b1
+ >;
+ };
+
pinctrl_i2c3: i2c3-grp {
fsl,pins = <
MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
@@ -300,6 +323,13 @@
>;
};
+ pinctrl_i2c3_gpio: i2c3-gpio-grp {
+ fsl,pins = <
+ MX6QDL_PAD_GPIO_3__GPIO1_IO03 0x4001b8b1
+ MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x4001b8b1
+ >;
+ };
+
pinctrl_pmic_hw300: pmic-hw300-grp {
fsl,pins = <
MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x1B0B0
--
2.11.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-05-26 13:28 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-26 10:53 [PATCH 00/20] ARM: dts: imx6q-dhcom: Fix/update PDK2 board and adding PicoITX and DRC02 board Christoph Niedermaier
2021-05-26 10:53 ` [PATCH 01/20] ARM: dts: imx6q-dhcom: Fix ethernet reset time properties Christoph Niedermaier
2021-06-12 4:14 ` Shawn Guo
2021-05-26 10:53 ` [PATCH 02/20] ARM: dts: imx6q-dhcom: Fix ethernet plugin detection problems Christoph Niedermaier
2021-06-12 4:14 ` Shawn Guo
2021-05-26 10:54 ` Christoph Niedermaier [this message]
2021-06-12 4:15 ` [PATCH 03/20] ARM: dts: imx6q-dhcom: Add gpios pinctrl for i2c bus recovery Shawn Guo
2021-05-26 10:54 ` [PATCH 04/20] ARM: dts: imx6q-dhcom: Add aliases for i2c, serial and rtc Christoph Niedermaier
2021-06-12 4:16 ` Shawn Guo
2021-05-26 10:54 ` [PATCH 05/20] ARM: dts: imx6q-dhcom: Add ethernet VIO regulator Christoph Niedermaier
2021-06-12 4:17 ` Shawn Guo
2021-05-26 10:54 ` [PATCH 06/20] ARM: dts: imx6q-dhcom: Add the parallel system bus Christoph Niedermaier
2021-06-12 4:19 ` Shawn Guo
2021-06-16 13:20 ` Christoph Niedermaier
2021-05-26 10:54 ` [PATCH 07/20] ARM: dts: imx6q-dhcom: Add interrupt and compatible to the ethernet PHY Christoph Niedermaier
2021-05-26 10:54 ` [PATCH 08/20] ARM: dts: imx6q-dhcom: Fill GPIO line names on DHCOM SoM Christoph Niedermaier
2021-05-26 10:54 ` [PATCH 09/20] ARM: dts: imx6q-dhcom: Adding Wake pin to the PCIe pinctrl Christoph Niedermaier
2021-05-26 10:54 ` [PATCH 10/20] ARM: dts: imx6q-dhcom: Align stdout-path with other DHCOM SoMs Christoph Niedermaier
2021-05-26 10:54 ` [PATCH 11/20] ARM: dts: imx6q-dhcom: Add keys and leds to the PDK2 board Christoph Niedermaier
2021-05-26 10:54 ` [PATCH 12/20] ARM: dts: imx6q-dhcom: Use 1G ethernet on " Christoph Niedermaier
2021-05-26 10:54 ` [PATCH 13/20] ARM: dts: imx6q-dhcom: Rework of the DHCOM GPIO pinctrls Christoph Niedermaier
2021-05-26 10:54 ` [PATCH 14/20] ARM: dts: imx6q-dhcom: Remove ddc-i2c-bus property Christoph Niedermaier
2021-05-26 10:54 ` [PATCH 15/20] ARM: dts: imx6q-dhcom: Set minimum memory size of all DHCOM i.MX6 variants Christoph Niedermaier
2021-05-26 10:54 ` [PATCH 16/20] ARM: dts: imx6q-dhcom: Rearrange of iomux Christoph Niedermaier
2021-05-26 10:54 ` [PATCH 17/20] ARM: dts: imx6q-dhcom: Cleanup of the devicetrees Christoph Niedermaier
2021-05-26 10:54 ` [PATCH 18/20] ARM: dts: imx6qdl-dhcom: Split SoC-independent parts of DHCOM SOM and PDK2 Christoph Niedermaier
2021-05-26 10:54 ` [PATCH 19/20] ARM: dts: imx6qdl-dhcom: Add DHCOM based PicoITX board Christoph Niedermaier
2021-05-26 10:54 ` [PATCH 20/20] ARM: dts: imx6qdl-dhcom: Add DHSOM based DRC02 board Christoph Niedermaier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210526105417.52996-4-cniedermaier@dh-electronics.com \
--to=cniedermaier@dh-electronics.com \
--cc=festevam@gmail.com \
--cc=kernel@dh-electronics.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-imx@nxp.com \
--cc=marex@denx.de \
--cc=shawnguo@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.