summaryrefslogtreecommitdiff
path: root/arch/arm64
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2020-10-08 16:26:11 +0200
committerMax Krummenacher <max.krummenacher@toradex.com>2020-10-15 18:16:03 +0200
commit6a1797e534a612fc219fca95cc03db190ca013ec (patch)
tree92eb081f5da3be2d4280fd3fd9f31e2abc5947bc /arch/arm64
parent12d9033686f5226527318f88d3d93b9eb7753989 (diff)
arm64: dts: freescale: fsl-imx8mm-verdin: add i2c gpio recovery
Add a gpio pinmuxing to the i2c nodes which will allows the I2C driver to recover from stuck communication signals. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Diffstat (limited to 'arch/arm64')
-rwxr-xr-xarch/arm64/boot/dts/freescale/imx8mm-verdin-v1.1.dtsi43
1 files changed, 40 insertions, 3 deletions
diff --git a/arch/arm64/boot/dts/freescale/imx8mm-verdin-v1.1.dtsi b/arch/arm64/boot/dts/freescale/imx8mm-verdin-v1.1.dtsi
index e647f4cddc31..83de7ed289e8 100755
--- a/arch/arm64/boot/dts/freescale/imx8mm-verdin-v1.1.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mm-verdin-v1.1.dtsi
@@ -326,8 +326,11 @@
/* On-module I2C */
&i2c1 {
clock-frequency = <400000>;
- pinctrl-names = "default";
+ pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c1>;
+ pinctrl-1 = <&pinctrl_i2c1_gpio>;
+ scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
status = "okay";
pmic: pca9450@25 {
@@ -463,15 +466,21 @@
/* Verdin I2C_4_CSI */
&i2c3 {
clock-frequency = <400000>;
- pinctrl-names = "default";
+ pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c3>;
+ pinctrl-1 = <&pinctrl_i2c3_gpio>;
+ scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
};
/* Verdin I2C_1 */
&i2c4 {
clock-frequency = <400000>;
- pinctrl-names = "default";
+ pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c4>;
+ pinctrl-1 = <&pinctrl_i2c4_gpio>;
+ scl-gpios = <&gpio5 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ sda-gpios = <&gpio5 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
/* Audio Codec */
wm8904_1a: codec@1a {
@@ -865,6 +874,13 @@
>;
};
+ pinctrl_i2c1_gpio: i2c1gpiogrp {
+ fsl,pins = <
+ MX8MM_IOMUXC_I2C1_SCL_GPIO5_IO14 0x400001c6 /* PMIC_I2C_SCL */
+ MX8MM_IOMUXC_I2C1_SDA_GPIO5_IO15 0x400001c6 /* PMIC_I2C_SDA */
+ >;
+ };
+
/* Verdin I2C_4_CSI */
pinctrl_i2c2: i2c2grp {
fsl,pins = <
@@ -873,6 +889,13 @@
>;
};
+ pinctrl_i2c2_gpio: i2c2gpiogrp {
+ fsl,pins = <
+ MX8MM_IOMUXC_I2C2_SCL_GPIO5_IO16 0x400001c6 /* SODIMM 55 */
+ MX8MM_IOMUXC_I2C2_SDA_GPIO5_IO17 0x400001c6 /* SODIMM 53 */
+ >;
+ };
+
/* Verdin I2C_2_DSI */
pinctrl_i2c3: i2c3grp {
fsl,pins = <
@@ -881,6 +904,13 @@
>;
};
+ pinctrl_i2c3_gpio: i2c3gpiogrp {
+ fsl,pins = <
+ MX8MM_IOMUXC_I2C3_SCL_GPIO5_IO18 0x400001c6 /* SODIMM 95 */
+ MX8MM_IOMUXC_I2C3_SDA_GPIO5_IO19 0x400001c6 /* SODIMM 93 */
+ >;
+ };
+
/* Verdin I2C_1 */
pinctrl_i2c4: i2c4grp {
fsl,pins = <
@@ -889,6 +919,13 @@
>;
};
+ pinctrl_i2c4_gpio: i2c4gpiogrp {
+ fsl,pins = <
+ MX8MM_IOMUXC_I2C4_SCL_GPIO5_IO20 0x400001c6 /* SODIMM 14 */
+ MX8MM_IOMUXC_I2C4_SDA_GPIO5_IO21 0x400001c6 /* SODIMM 12 */
+ >;
+ };
+
/* Verdin MEZ_DSI_1_BKL_EN */
pinctrl_mez_dsi_1_bkl_en: mezdsi1bklengrp {
fsl,pins = <