<?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 I2C through FlexIO doesn't work right in S32K</title>
    <link>https://community.nxp.com/t5/S32K/I2C-through-FlexIO-doesn-t-work-right/m-p/907888#M4649</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've configured I2C through FlexIO, connected it to a logic analyzer, and I send slave address plus two bytes. No slave is connected so it always gets NAK. When I use LPI2C it stops after sending the slave address and getting the NAK on it - this correct behavior. When I use the FlexIO - it continues to send the data bytes too (which also get NAK). This is wrong. After getting NAK on the slave address it should not continue.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 24 May 2019 20:16:47 GMT</pubDate>
    <dc:creator>freddy_ben-zeev</dc:creator>
    <dc:date>2019-05-24T20:16:47Z</dc:date>
    <item>
      <title>I2C through FlexIO doesn't work right</title>
      <link>https://community.nxp.com/t5/S32K/I2C-through-FlexIO-doesn-t-work-right/m-p/907888#M4649</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've configured I2C through FlexIO, connected it to a logic analyzer, and I send slave address plus two bytes. No slave is connected so it always gets NAK. When I use LPI2C it stops after sending the slave address and getting the NAK on it - this correct behavior. When I use the FlexIO - it continues to send the data bytes too (which also get NAK). This is wrong. After getting NAK on the slave address it should not continue.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 May 2019 20:16:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/I2C-through-FlexIO-doesn-t-work-right/m-p/907888#M4649</guid>
      <dc:creator>freddy_ben-zeev</dc:creator>
      <dc:date>2019-05-24T20:16:47Z</dc:date>
    </item>
    <item>
      <title>Re: I2C through FlexIO doesn't work right</title>
      <link>https://community.nxp.com/t5/S32K/I2C-through-FlexIO-doesn-t-work-right/m-p/907889#M4650</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Unlike LPI2C which sends STOP condition upon NACK (MSR[NDF]), the FlexIO&amp;nbsp;receive shift register will assert an error interrupt if a NACK is detected, but software&amp;nbsp;is responsible for generating the STOP or repeated START condition (52.5.5 I2C Master, S32K1xx RM rev.9).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR, Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 May 2019 18:23:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/I2C-through-FlexIO-doesn-t-work-right/m-p/907889#M4650</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2019-05-30T18:23:16Z</dc:date>
    </item>
    <item>
      <title>Re: I2C through FlexIO doesn't work right</title>
      <link>https://community.nxp.com/t5/S32K/I2C-through-FlexIO-doesn-t-work-right/m-p/907890#M4651</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When you say "software is responsible" doesn't it mean that the driver should handle it?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 May 2019 19:43:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/I2C-through-FlexIO-doesn-t-work-right/m-p/907890#M4651</guid>
      <dc:creator>freddy_ben-zeev</dc:creator>
      <dc:date>2019-05-30T19:43:34Z</dc:date>
    </item>
    <item>
      <title>Re: I2C through FlexIO doesn't work right</title>
      <link>https://community.nxp.com/t5/S32K/I2C-through-FlexIO-doesn-t-work-right/m-p/907891#M4652</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;Due to device limitations it is not possible to tell the difference between NACK and receiver overflow (the same flag asserts in both cases). The driver attempts to detect NACK by checking the Tx shifter flag, but this is not a bullet-proof method, any delays in processing the Flexio interrupt can lead to the NACK condition not being recognized. In these cases the driver will consider that there was an overflow and not abort the transfer, because aborting a transfer while there is an active slave on the line can lead to the I2C bus getting stuck. It is safer to let the transfer finish, this will just produce a little delay.&lt;/P&gt;&lt;P&gt;Please check the driver documentation, these limitations are described in the "Important Notes" section.&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Cristian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Jun 2019 14:03:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/I2C-through-FlexIO-doesn-t-work-right/m-p/907891#M4652</guid>
      <dc:creator>cristianzamfire</dc:creator>
      <dc:date>2019-06-06T14:03:04Z</dc:date>
    </item>
    <item>
      <title>Re: I2C through FlexIO doesn't work right</title>
      <link>https://community.nxp.com/t5/S32K/I2C-through-FlexIO-doesn-t-work-right/m-p/907892#M4653</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the detailed explanation! I was suspecting h/w limitations but didn't have time to hunt down the issue when functionality is fine.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Jun 2019 17:05:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/I2C-through-FlexIO-doesn-t-work-right/m-p/907892#M4653</guid>
      <dc:creator>freddy_ben-zeev</dc:creator>
      <dc:date>2019-06-06T17:05:28Z</dc:date>
    </item>
  </channel>
</rss>

