Hello,
I have trouble to enable I2C2 to work on the iMX6 Sabre EVB under Linux and communicate with touch controller. I can’t see any SDA/SCL signals activity from iMX6 on oscilloscope. Communication is doing by i2c_transfer() function.
Already tried change status from “disabled” for i2c2 node into device tree (with no effect).
Is I2C number 2 is turned on by defaults?
HW: MCIMX6QP-SDB + MIPI DSI panel
SW: Yocto and Linux kernel v4.9
UPDATE:
Also found some unknown definitions in device tree for I2C2 pinmux.
It’s only I2C2 specific. I2C1 and I2C3 haven’t this group. I can’t explain what It does mean.
pinctrl-1 = <&pinctrl_i2c2_gpio>;
pinctrl_i2c2_gpio: i2c2_gpio_grp {
fsl,pins = <
MX6QDL_PAD_KEY_COL3__GPIO4_IO12><------>0x1b0b0
MX6QDL_PAD_KEY_ROW3__GPIO4_IO13><------>0x1b0b0
>;
};
How to explain?
Hi Alexey
seems "pinctrl_i2c2_gpio: i2c2_gpio_grp " are used for emulation,
really they are configured as gpios. For comparison true i2c settings
have sion pad bit30 set
pinctrl_i2c3: i2c3grp {
fsl,pins = <
MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
may be useful to check linux/Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------