I am trying to enable i2c1 in udoo quad. The pins are 20 and 21 which translates to EIM_D21, EIM_D28. I edited imx6qdl-udoo.dtsi to enable i2c1. Code: &i2c1 { // sensors clock-frequency = <100000>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c1>; status = "okay"; ... }; Then I edited imx6qdl-udoo-externalpins.dtsi to disable exporting as GPIO. I commented out those lines Code: //MX6QDL_PAD_EIM_D28__GPIO3_IO28 0x80000000 // {{external-gpio-20}} //MX6QDL_PAD_EIM_D21__GPIO3_IO21 0x80000000 // {{external-gpio-21}} //&i2c1 { // clock-frequency = <100000>; // pinctrl-names = "default"; // pinctrl-0 = <&pinctrl_i2c1>; // status = "disabled"; //}; pinctrl_spdif: spdifgrp { fsl,pins = < MX6QDL_PAD_GPIO_19__SPDIF_OUT 0x1b0b0 // MX6QDL_PAD_EIM_D21__SPDIF_IN 0x1b0b0 >; }; Is this correct? Am I missing something? I get a lot of messages complaining about audio in logcat. Can you help?
You can enable i2c1 much easier with the Device tree editor: https://www.udoo.org/docs/Cookbook_Linux/Device_Tree_Editor.html It is available on Udoobuntu2.
I am not completely sure, but you cannot have and SPDIF and I2C functionality on the same pin on the same time, you have to choose. Perhaps use the other I2C bus (SDA1, SDL1) on the Arduino side?
See also post #21, SOLVED-ish - getting i2c_1 working There is also an I2C-3 that can be used on the IMX6 side
I think SDA1, SCL1 are not available for use on the i.MX6. The post you sent me is contains outdated information. The device tree/kernel has changed since then. Also I am running Android and the problem I noted before is related to Android. Maybe I got i2c1 working but Android is expecting there something that it can find, like spdif.
The post I linked to is outdated but stll valid. What do you need? An I2C connection? Then you probably (I am not an expert on PinMuxing) have to switch of SPDIF in imx6qdl-udoo.dtsi and imx6qdl-udoo-externalpins.dtsi completely (not just outcomment 1 pin)