diff options
author | Max Krummenacher <max.krummenacher@toradex.com> | 2020-10-08 16:26:11 +0200 |
---|---|---|
committer | Max Krummenacher <max.krummenacher@toradex.com> | 2020-10-15 18:16:03 +0200 |
commit | 6a1797e534a612fc219fca95cc03db190ca013ec (patch) | |
tree | 92eb081f5da3be2d4280fd3fd9f31e2abc5947bc /arch/arm64 | |
parent | 12d9033686f5226527318f88d3d93b9eb7753989 (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-x | arch/arm64/boot/dts/freescale/imx8mm-verdin-v1.1.dtsi | 43 |
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 = < |