<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Problem enabling I2C3 in Wandboard Quad in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Problem-enabling-I2C3-in-Wandboard-Quad/m-p/690231#M106935</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a wandboard Quad rev B1 with ubuntu and kernel 4.9.35. I need to use 2 I2C different ports. I developed a code that works well in I2C2, but fails in I2C1. I remember having read many people saying that I2C1 is not properly working because of the hdmi CEC (which shouldn't affect me because I am not using a monitor), so I decided to enable I2C3 while I try to figure what is wrong with I2C1. I also want to enable spidev to get /dev/spidev0.0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I must say I am a newbie in the world of embedded systems and device trees.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To do so, I firstly followed &lt;A href="https://eewiki.net/display/linuxonarm/Wandboard"&gt;Robert's Nelson tutorial&lt;/A&gt;, and then I modified imx6q-wandboard-revb1.dts from the files I with the following code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;CODE&gt;/*&lt;BR /&gt;&amp;nbsp;* Copyright 2013 Freescale Semiconductor, Inc.&lt;BR /&gt;&amp;nbsp;*&lt;BR /&gt;&amp;nbsp;* Author: Fabio Estevam &amp;lt;fabio.estevam@freescale.com&amp;gt;&lt;BR /&gt;&amp;nbsp;*&lt;BR /&gt;&amp;nbsp;* This program is free software; you can redistribute it and/or modify&lt;BR /&gt;&amp;nbsp;* it under the terms of the GNU General Public License version 2 as&lt;BR /&gt;&amp;nbsp;* published by the Free Software Foundation.&lt;BR /&gt;&amp;nbsp;*&lt;BR /&gt;&amp;nbsp;*/&lt;BR /&gt;/dts-v1/;&lt;BR /&gt;#include "imx6q.dtsi"&lt;BR /&gt;#include "imx6qdl-wandboard-revb1.dtsi"&lt;BR /&gt;&lt;BR /&gt;/ {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;model = "Wandboard i.MX6 Quad Board rev B1";&lt;BR /&gt;&amp;nbsp; &amp;nbsp;compatible = "wand,imx6q-wandboard", "fsl,imx6q";&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;memory {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;reg = &amp;lt;0x10000000 0x80000000&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;};&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;&amp;amp;sata {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;status = "okay";&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;&amp;amp;ecspi1 {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; fsl,spi-num-chipselects = &amp;lt;1&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;cs-gpios = &amp;lt;&amp;amp;gpio2 30 0&amp;gt;; /* EIM_EB2 */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;pinctrl-names = "default";&lt;BR /&gt;&amp;nbsp; &amp;nbsp;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_ecspi1&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;status = "okay";&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; spidev@0 {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; compatible = "rohm,dh2228fv";&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; spi-max-frequency = &amp;lt;10000000&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; reg = &amp;lt;0&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;amp;i2c3 {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;clock-frequency = &amp;lt;100000&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;pinctrl-names = "default";&lt;BR /&gt;&amp;nbsp; &amp;nbsp;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_i2c3&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;status = "okay";&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;&amp;amp;iomuxc {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;pinctrl-names = "default";&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;imx6q-wandboard-revb1 {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;pinctrl_ecspi1: ecspi1grp-1 {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;fsl,pins = &amp;lt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x100b1&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x100b1&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x100b1&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;MX6QDL_PAD_EIM_EB2__GPIO2_IO30&amp;nbsp; 0x000f0b0&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;MX6QDL_PAD_KEY_COL2__GPIO4_IO10 0x000f0b0&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;};&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;pinctrl_i2c3: i2c3grp {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;fsl,pins = &amp;lt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;MX6QDL_PAD_GPIO_5__I2C3_SCL&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;0x4001b8b1&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;MX6QDL_PAD_GPIO_16__I2C3_SDA&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;0x4001b8b1&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;};&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;};&lt;BR /&gt;};&lt;/CODE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Then I execute&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;CODE&gt;make imx6q-wandboard-revb1.dtb&lt;/CODE&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and I copy it to /boot/dtbs/4.9.35-armv7-x4/imx6q-wandboard-revb1.dtb&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/dev/i2c-2 now appears, but always gives timeout when I try to write on it. With an oscilloscope I don't see any change in the voltage of the lines that theoretically are assigned to the pins I chose. Besides, Ethernet stops working. All this makes me thing I am using the wrong pins, but according to the page 17 on the &lt;A href="http://download.wandboard.org/wandboard-imx6/documentation/wbquad-revb1-userguide.pdf"&gt;schematics&lt;/A&gt;, I2C3 is wired to GPIO5 and GPIO16...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What am I doing wrong?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you very much&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 01 Aug 2017 12:58:41 GMT</pubDate>
    <dc:creator>raulina</dc:creator>
    <dc:date>2017-08-01T12:58:41Z</dc:date>
    <item>
      <title>Problem enabling I2C3 in Wandboard Quad</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Problem-enabling-I2C3-in-Wandboard-Quad/m-p/690231#M106935</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a wandboard Quad rev B1 with ubuntu and kernel 4.9.35. I need to use 2 I2C different ports. I developed a code that works well in I2C2, but fails in I2C1. I remember having read many people saying that I2C1 is not properly working because of the hdmi CEC (which shouldn't affect me because I am not using a monitor), so I decided to enable I2C3 while I try to figure what is wrong with I2C1. I also want to enable spidev to get /dev/spidev0.0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I must say I am a newbie in the world of embedded systems and device trees.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To do so, I firstly followed &lt;A href="https://eewiki.net/display/linuxonarm/Wandboard"&gt;Robert's Nelson tutorial&lt;/A&gt;, and then I modified imx6q-wandboard-revb1.dts from the files I with the following code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;CODE&gt;/*&lt;BR /&gt;&amp;nbsp;* Copyright 2013 Freescale Semiconductor, Inc.&lt;BR /&gt;&amp;nbsp;*&lt;BR /&gt;&amp;nbsp;* Author: Fabio Estevam &amp;lt;fabio.estevam@freescale.com&amp;gt;&lt;BR /&gt;&amp;nbsp;*&lt;BR /&gt;&amp;nbsp;* This program is free software; you can redistribute it and/or modify&lt;BR /&gt;&amp;nbsp;* it under the terms of the GNU General Public License version 2 as&lt;BR /&gt;&amp;nbsp;* published by the Free Software Foundation.&lt;BR /&gt;&amp;nbsp;*&lt;BR /&gt;&amp;nbsp;*/&lt;BR /&gt;/dts-v1/;&lt;BR /&gt;#include "imx6q.dtsi"&lt;BR /&gt;#include "imx6qdl-wandboard-revb1.dtsi"&lt;BR /&gt;&lt;BR /&gt;/ {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;model = "Wandboard i.MX6 Quad Board rev B1";&lt;BR /&gt;&amp;nbsp; &amp;nbsp;compatible = "wand,imx6q-wandboard", "fsl,imx6q";&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;memory {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;reg = &amp;lt;0x10000000 0x80000000&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;};&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;&amp;amp;sata {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;status = "okay";&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;&amp;amp;ecspi1 {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; fsl,spi-num-chipselects = &amp;lt;1&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;cs-gpios = &amp;lt;&amp;amp;gpio2 30 0&amp;gt;; /* EIM_EB2 */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;pinctrl-names = "default";&lt;BR /&gt;&amp;nbsp; &amp;nbsp;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_ecspi1&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;status = "okay";&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; spidev@0 {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; compatible = "rohm,dh2228fv";&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; spi-max-frequency = &amp;lt;10000000&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; reg = &amp;lt;0&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;amp;i2c3 {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;clock-frequency = &amp;lt;100000&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;pinctrl-names = "default";&lt;BR /&gt;&amp;nbsp; &amp;nbsp;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_i2c3&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;status = "okay";&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;&amp;amp;iomuxc {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;pinctrl-names = "default";&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;imx6q-wandboard-revb1 {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;pinctrl_ecspi1: ecspi1grp-1 {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;fsl,pins = &amp;lt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x100b1&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x100b1&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x100b1&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;MX6QDL_PAD_EIM_EB2__GPIO2_IO30&amp;nbsp; 0x000f0b0&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;MX6QDL_PAD_KEY_COL2__GPIO4_IO10 0x000f0b0&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;};&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;pinctrl_i2c3: i2c3grp {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;fsl,pins = &amp;lt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;MX6QDL_PAD_GPIO_5__I2C3_SCL&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;0x4001b8b1&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;MX6QDL_PAD_GPIO_16__I2C3_SDA&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;0x4001b8b1&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;gt;;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;};&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;};&lt;BR /&gt;};&lt;/CODE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Then I execute&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;CODE&gt;make imx6q-wandboard-revb1.dtb&lt;/CODE&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and I copy it to /boot/dtbs/4.9.35-armv7-x4/imx6q-wandboard-revb1.dtb&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/dev/i2c-2 now appears, but always gives timeout when I try to write on it. With an oscilloscope I don't see any change in the voltage of the lines that theoretically are assigned to the pins I chose. Besides, Ethernet stops working. All this makes me thing I am using the wrong pins, but according to the page 17 on the &lt;A href="http://download.wandboard.org/wandboard-imx6/documentation/wbquad-revb1-userguide.pdf"&gt;schematics&lt;/A&gt;, I2C3 is wired to GPIO5 and GPIO16...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What am I doing wrong?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you very much&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Aug 2017 12:58:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Problem-enabling-I2C3-in-Wandboard-Quad/m-p/690231#M106935</guid>
      <dc:creator>raulina</dc:creator>
      <dc:date>2017-08-01T12:58:41Z</dc:date>
    </item>
  </channel>
</rss>

