<?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 Implement SC18IM700 i2c controller function on platform MSM8996 (kernel 3.18.20) ? in Other NXP Products</title>
    <link>https://community.nxp.com/t5/Other-NXP-Products/Implement-SC18IM700-i2c-controller-function-on-platform-MSM8996/m-p/648959#M4458</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/3871i6AE49994AEE2B891/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Hi everyone:&lt;/P&gt;&lt;P&gt;I'm using the sc18im700 (uart to i2c master) function on the platform msm8996. Now i have some questions&amp;nbsp;during the&amp;nbsp; implement process.&lt;/P&gt;&lt;P&gt;Q1:&amp;nbsp;&amp;nbsp;I found an i2c algorith&amp;nbsp; support for nxp sc18im700(&lt;A href="https://lkml.org/lkml/2014/6/9/571"&gt;https://lkml.org/lkml/2014/6/9/571&lt;/A&gt;).&amp;nbsp;&amp;nbsp;So&amp;nbsp;i need an&amp;nbsp;&amp;nbsp;i2c controller code, Did someone have some experience about using the sc18im700 chip on Linux kernel？&lt;/P&gt;&lt;P&gt;Q2:&amp;nbsp; when i modify the device tree files on kernel , the sc18im700 should be described as an i2c controller or an uart device？ then&amp;nbsp; how to deal with the parameter( i2c address irq clock and so on )?&lt;/P&gt;&lt;P&gt;&amp;nbsp;eg:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;i2c_uart12: &lt;A href="mailto:uart-nxp-i2c@75b4000"&gt;uart-nxp-i2c@75b4000&lt;/A&gt; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;compatible = "nxp,uart-nxp-i2c";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;#address-cells = &amp;lt;1&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;#size-cells = &amp;lt;0&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;reg-names = "qup_phys_addr";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;reg = &amp;lt;0x75b4000 0x1000&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;interrupt-names = "qup_irq";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;interrupts = &amp;lt;0 118 0&amp;gt;;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;clock-names = "iface_clk", "core_clk";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;clocks = &amp;lt;&amp;amp;clock_gcc clk_gcc_blsp2_ahb_clk&amp;gt;,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;amp;clock_gcc clk_gcc_blsp2_qup6_i2c_apps_clk&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;pinctrl-names = "i2c_uart12_active", "i2c_uart12_sleep";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;pinctrl-0 = &amp;lt;&amp;amp;i2c_uart12_active&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;pinctrl-1 = &amp;lt;&amp;amp;i2c_uart12_sleep&amp;gt;;&lt;BR /&gt;&amp;nbsp;};&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 19 Oct 2016 02:56:24 GMT</pubDate>
    <dc:creator>yuhang_zhang</dc:creator>
    <dc:date>2016-10-19T02:56:24Z</dc:date>
    <item>
      <title>Implement SC18IM700 i2c controller function on platform MSM8996 (kernel 3.18.20) ?</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/Implement-SC18IM700-i2c-controller-function-on-platform-MSM8996/m-p/648959#M4458</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/3871i6AE49994AEE2B891/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Hi everyone:&lt;/P&gt;&lt;P&gt;I'm using the sc18im700 (uart to i2c master) function on the platform msm8996. Now i have some questions&amp;nbsp;during the&amp;nbsp; implement process.&lt;/P&gt;&lt;P&gt;Q1:&amp;nbsp;&amp;nbsp;I found an i2c algorith&amp;nbsp; support for nxp sc18im700(&lt;A href="https://lkml.org/lkml/2014/6/9/571"&gt;https://lkml.org/lkml/2014/6/9/571&lt;/A&gt;).&amp;nbsp;&amp;nbsp;So&amp;nbsp;i need an&amp;nbsp;&amp;nbsp;i2c controller code, Did someone have some experience about using the sc18im700 chip on Linux kernel？&lt;/P&gt;&lt;P&gt;Q2:&amp;nbsp; when i modify the device tree files on kernel , the sc18im700 should be described as an i2c controller or an uart device？ then&amp;nbsp; how to deal with the parameter( i2c address irq clock and so on )?&lt;/P&gt;&lt;P&gt;&amp;nbsp;eg:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;i2c_uart12: &lt;A href="mailto:uart-nxp-i2c@75b4000"&gt;uart-nxp-i2c@75b4000&lt;/A&gt; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;compatible = "nxp,uart-nxp-i2c";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;#address-cells = &amp;lt;1&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;#size-cells = &amp;lt;0&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;reg-names = "qup_phys_addr";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;reg = &amp;lt;0x75b4000 0x1000&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;interrupt-names = "qup_irq";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;interrupts = &amp;lt;0 118 0&amp;gt;;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;clock-names = "iface_clk", "core_clk";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;clocks = &amp;lt;&amp;amp;clock_gcc clk_gcc_blsp2_ahb_clk&amp;gt;,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;amp;clock_gcc clk_gcc_blsp2_qup6_i2c_apps_clk&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;pinctrl-names = "i2c_uart12_active", "i2c_uart12_sleep";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;pinctrl-0 = &amp;lt;&amp;amp;i2c_uart12_active&amp;gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;pinctrl-1 = &amp;lt;&amp;amp;i2c_uart12_sleep&amp;gt;;&lt;BR /&gt;&amp;nbsp;};&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Oct 2016 02:56:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/Implement-SC18IM700-i2c-controller-function-on-platform-MSM8996/m-p/648959#M4458</guid>
      <dc:creator>yuhang_zhang</dc:creator>
      <dc:date>2016-10-19T02:56:24Z</dc:date>
    </item>
    <item>
      <title>Re: Implement SC18IM700 i2c controller function on platform MSM8996 (kernel 3.18.20) ?</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/Implement-SC18IM700-i2c-controller-function-on-platform-MSM8996/m-p/648960#M4459</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Kenio Zhang,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For your first question, you may find more helpful the following code, than the other one.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="http://lxr.free-electrons.com/source/drivers/i2c/algos/i2c-algo-bit.c#L57"&gt;http://lxr.free-electrons.com/source/drivers/i2c/algos/i2c-algo-bit.c#L57&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For your second question, the sc18im700 needs to be described as a UART device. Because, the sc18im700 serves as an interface between the standard UART port and the serial I2C port.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this information could be helpful for you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Diego.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Oct 2016 16:32:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/Implement-SC18IM700-i2c-controller-function-on-platform-MSM8996/m-p/648960#M4459</guid>
      <dc:creator>diegoadrian</dc:creator>
      <dc:date>2016-10-20T16:32:52Z</dc:date>
    </item>
    <item>
      <title>Re: Implement SC18IM700 i2c controller function on platform MSM8996 (kernel 3.18.20) ?</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/Implement-SC18IM700-i2c-controller-function-on-platform-MSM8996/m-p/648961#M4460</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Diego,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Thanks for you usefull advice, but i feel confused about the main chip communicate with the sc18im700.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; I thought two methods to do it .&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fristly,&amp;nbsp;&amp;nbsp;&amp;nbsp;uart driver + i2c controller driver + i2c algorithm&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set_data(){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Ttyfd =&amp;nbsp;&amp;nbsp;&amp;nbsp;open(TtyName, O_RDWR | O_NDELAY, 0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;write(Ttyfd,"****", length);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; close(Ttyfd);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get_data(){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ttyfd =&amp;nbsp;&amp;nbsp;&amp;nbsp;open(TtyName, O_RDWR | O_NDELAY, 0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; read(Ttyfd, buffer, length);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; close(Ttyfd);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Secondly,&amp;nbsp;serio driver + i2c controller driver + i2c algorithm ,&amp;nbsp; i haven't found the usefull serio information.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; So which method should i choose ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Kenio&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Oct 2016 08:14:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/Implement-SC18IM700-i2c-controller-function-on-platform-MSM8996/m-p/648961#M4460</guid>
      <dc:creator>yuhang_zhang</dc:creator>
      <dc:date>2016-10-26T08:14:55Z</dc:date>
    </item>
  </channel>
</rss>

