<?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 Re: SC16IS752 driver linux in Other NXP Products</title>
    <link>https://community.nxp.com/t5/Other-NXP-Products/SC16IS752-driver-linux/m-p/1172575#M9691</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;the microcontroller can select one of the two methods for communicating to the Bridge IC. The first method is polling the Bridge IC status register regularly. The second method is using an interrupt handler in the interrupt service routine until the Bridge IC generates an interrupt. If using the interrupt handler, the interrupt pins of the Bridge IC must be connected to the microcontroller and the interrupt bits register must be enabled.&lt;/P&gt;
&lt;P&gt;Make sure the interrupt bits register are properly enabled in the Interrupt Enable Register (IER).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Table 3 on page 8 of the AN10587 (&lt;A href="https://www.nxp.com/docs/en/application-note/AN10587.pdf" target="_blank"&gt;https://www.nxp.com/docs/en/application-note/AN10587.pdf&lt;/A&gt;) shows the interrupt handler read the interrupt identity register to check the interrupt sources such as receiver interrupt. If the receiver interrupt is detected, the interrupt handler will read data from the receiver FIFO of the Bridge IC and store the data.&lt;/P&gt;</description>
    <pubDate>Fri, 23 Oct 2020 17:29:16 GMT</pubDate>
    <dc:creator>reyes</dc:creator>
    <dc:date>2020-10-23T17:29:16Z</dc:date>
    <item>
      <title>SC16IS752 driver linux</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/SC16IS752-driver-linux/m-p/1168493#M9612</link>
      <description>&lt;P&gt;I am using SC16is752 UART driver in i2c mode. The part is interfaced to microcontroller running linux yocto build and uses i2c. I have dts updated as per the linux documentation. I have them connected under i2c dts node as follows.I see all SC0&amp;nbsp; to SC7 ports under /dev and I can send message thru the serial port and can receive it on PC. But from PC to the device will not work.In short rx wont work at all.&lt;/P&gt;&lt;P&gt;After debugging the linux kernel driver, I see rxISR is not called. Infact its not even called during SC16is7xx driver probe. In my hardware the messages are polled via i2c., then what is the significance of the interrupt parent and interrupts in the dts? My hardware has the IRQ(pin 15) tied to 3V. pin 13/14 has i2c clock and data. pls see dts below&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class="line"&gt;&lt;SPAN class="n"&gt;sc16is752_0&lt;/SPAN&gt;&lt;SPAN class="p"&gt;:&lt;/SPAN&gt; &lt;SPAN class="n"&gt;sc16is752&lt;/SPAN&gt;&lt;SPAN class="p"&gt;@&lt;/SPAN&gt;&lt;SPAN class="m"&gt;4&lt;/SPAN&gt;&lt;SPAN class="n"&gt;d&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;compatible&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="s2"&gt;"nxp,sc16is752"&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;reg&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;0x4d&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt; &lt;SPAN class="p"&gt;//&lt;/SPAN&gt; &lt;SPAN class="n"&gt;i2c&lt;/SPAN&gt; &lt;SPAN class="n"&gt;address&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;clocks&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;sc16is752_clk_0&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;interrupt&lt;/SPAN&gt;&lt;SPAN class="p"&gt;-&lt;/SPAN&gt;&lt;SPAN class="n"&gt;parent&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;gpio2&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;  &lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;interrupts&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;7&lt;/SPAN&gt; &lt;SPAN class="m"&gt;0x2&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;

&lt;SPAN class="line"&gt;    &lt;SPAN class="p"&gt;};&lt;/SPAN&gt;&lt;/SPAN&gt;
  
&lt;SPAN class="line"&gt;	&lt;SPAN class="n"&gt;sc16is752_1&lt;/SPAN&gt;&lt;SPAN class="p"&gt;:&lt;/SPAN&gt; &lt;SPAN class="n"&gt;sc16is752&lt;/SPAN&gt;&lt;SPAN class="p"&gt;@&lt;/SPAN&gt;&lt;SPAN class="m"&gt;48&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;compatible&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="s2"&gt;"nxp,sc16is752"&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;reg&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;0x48&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt; &lt;SPAN class="p"&gt;//&lt;/SPAN&gt; &lt;SPAN class="n"&gt;i2c&lt;/SPAN&gt; &lt;SPAN class="n"&gt;address&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;clocks&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;sc16is752_clk_1&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;interrupt&lt;/SPAN&gt;&lt;SPAN class="p"&gt;-&lt;/SPAN&gt;&lt;SPAN class="n"&gt;parent&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;gpio3&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;interrupts&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;7&lt;/SPAN&gt; &lt;SPAN class="m"&gt;0x2&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt; &lt;SPAN class="p"&gt;//&lt;/SPAN&gt;&lt;SPAN class="n"&gt;GPIO&lt;/SPAN&gt; &lt;SPAN class="k"&gt;and&lt;/SPAN&gt; &lt;SPAN class="n"&gt;falling&lt;/SPAN&gt; &lt;SPAN class="n"&gt;edge&lt;/SPAN&gt;&lt;/SPAN&gt;

&lt;SPAN class="line"&gt;    &lt;SPAN class="p"&gt;};&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;	&lt;SPAN class="n"&gt;sc16is752_2&lt;/SPAN&gt;&lt;SPAN class="p"&gt;:&lt;/SPAN&gt; &lt;SPAN class="n"&gt;sc16is752&lt;/SPAN&gt;&lt;SPAN class="p"&gt;@&lt;/SPAN&gt;&lt;SPAN class="m"&gt;49&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;compatible&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="s2"&gt;"nxp,sc16is752"&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;reg&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;0x49&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt; &lt;SPAN class="p"&gt;//&lt;/SPAN&gt; &lt;SPAN class="n"&gt;i2c&lt;/SPAN&gt; &lt;SPAN class="n"&gt;address&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;clocks&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;sc16is752_clk_2&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;interrupt&lt;/SPAN&gt;&lt;SPAN class="p"&gt;-&lt;/SPAN&gt;&lt;SPAN class="n"&gt;parent&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;gpio1&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;interrupts&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;7&lt;/SPAN&gt; &lt;SPAN class="m"&gt;0x2&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt; &lt;SPAN class="p"&gt;//&lt;/SPAN&gt;&lt;SPAN class="n"&gt;GPIO&lt;/SPAN&gt; &lt;SPAN class="k"&gt;and&lt;/SPAN&gt; &lt;SPAN class="n"&gt;falling&lt;/SPAN&gt; &lt;SPAN class="n"&gt;edge&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;    &lt;SPAN class="p"&gt;};&lt;/SPAN&gt;&lt;/SPAN&gt;
    
&lt;SPAN class="line"&gt;	&lt;SPAN class="n"&gt;sc16is752_3&lt;/SPAN&gt;&lt;SPAN class="p"&gt;:&lt;/SPAN&gt; &lt;SPAN class="n"&gt;sc16is752&lt;/SPAN&gt;&lt;SPAN class="p"&gt;@&lt;/SPAN&gt;&lt;SPAN class="m"&gt;4&lt;/SPAN&gt;&lt;SPAN class="n"&gt;c&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;compatible&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="s2"&gt;"nxp,sc16is752"&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;reg&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;0x4c&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt; &lt;SPAN class="p"&gt;//&lt;/SPAN&gt; &lt;SPAN class="n"&gt;i2c&lt;/SPAN&gt; &lt;SPAN class="n"&gt;address&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;clocks&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;sc16is752_clk_3&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;interrupt&lt;/SPAN&gt;&lt;SPAN class="p"&gt;-&lt;/SPAN&gt;&lt;SPAN class="n"&gt;parent&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;gpio0&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;interrupts&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;7&lt;/SPAN&gt; &lt;SPAN class="m"&gt;0x2&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt; &lt;SPAN class="p"&gt;//&lt;/SPAN&gt;&lt;SPAN class="n"&gt;GPIO&lt;/SPAN&gt; &lt;SPAN class="k"&gt;and&lt;/SPAN&gt; &lt;SPAN class="n"&gt;falling&lt;/SPAN&gt; &lt;SPAN class="n"&gt;edge&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;    &lt;SPAN class="p"&gt;};&lt;/SPAN&gt;&lt;/SPAN&gt;

&lt;SPAN class="line"&gt;    &lt;SPAN class="n"&gt;sc16is752_clk_0&lt;/SPAN&gt;&lt;SPAN class="p"&gt;:&lt;/SPAN&gt; &lt;SPAN class="n"&gt;sc16is752_clk_0&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;compatible&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="s2"&gt;"fixed-clock"&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="p"&gt;#&lt;/SPAN&gt;&lt;SPAN class="n"&gt;clock&lt;/SPAN&gt;&lt;SPAN class="p"&gt;-&lt;/SPAN&gt;&lt;SPAN class="n"&gt;cells&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;0&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;reg&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;0&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;clock&lt;/SPAN&gt;&lt;SPAN class="p"&gt;-&lt;/SPAN&gt;&lt;SPAN class="n"&gt;frequency&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;14745600&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;    &lt;SPAN class="p"&gt;};&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;    &lt;SPAN class="n"&gt;sc16is752_clk_1&lt;/SPAN&gt;&lt;SPAN class="p"&gt;:&lt;/SPAN&gt; &lt;SPAN class="n"&gt;sc16is752_clk_1&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;compatible&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="s2"&gt;"fixed-clock"&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="p"&gt;#&lt;/SPAN&gt;&lt;SPAN class="n"&gt;clock&lt;/SPAN&gt;&lt;SPAN class="p"&gt;-&lt;/SPAN&gt;&lt;SPAN class="n"&gt;cells&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;0&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;reg&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;0&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;clock&lt;/SPAN&gt;&lt;SPAN class="p"&gt;-&lt;/SPAN&gt;&lt;SPAN class="n"&gt;frequency&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;14745600&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;    &lt;SPAN class="p"&gt;};&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;    &lt;SPAN class="n"&gt;sc16is752_clk_2&lt;/SPAN&gt;&lt;SPAN class="p"&gt;:&lt;/SPAN&gt; &lt;SPAN class="n"&gt;sc16is752_clk_2&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;compatible&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="s2"&gt;"fixed-clock"&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="p"&gt;#&lt;/SPAN&gt;&lt;SPAN class="n"&gt;clock&lt;/SPAN&gt;&lt;SPAN class="p"&gt;-&lt;/SPAN&gt;&lt;SPAN class="n"&gt;cells&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;0&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;reg&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;0&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;clock&lt;/SPAN&gt;&lt;SPAN class="p"&gt;-&lt;/SPAN&gt;&lt;SPAN class="n"&gt;frequency&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;14745600&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;    &lt;SPAN class="p"&gt;};&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;    &lt;SPAN class="n"&gt;sc16is752_clk_3&lt;/SPAN&gt;&lt;SPAN class="p"&gt;:&lt;/SPAN&gt; &lt;SPAN class="n"&gt;sc16is752_clk_3&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;compatible&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="s2"&gt;"fixed-clock"&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="p"&gt;#&lt;/SPAN&gt;&lt;SPAN class="n"&gt;clock&lt;/SPAN&gt;&lt;SPAN class="p"&gt;-&lt;/SPAN&gt;&lt;SPAN class="n"&gt;cells&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;0&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;reg&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;0&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;        &lt;SPAN class="n"&gt;clock&lt;/SPAN&gt;&lt;SPAN class="p"&gt;-&lt;/SPAN&gt;&lt;SPAN class="n"&gt;frequency&lt;/SPAN&gt; &lt;SPAN class="p"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="m"&gt;14745600&lt;/SPAN&gt;&lt;SPAN class="p"&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;    &lt;SPAN class="p"&gt;};&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;P&gt;. I&amp;nbsp; dont think in the linux&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class="line"&gt;&lt;SPAN class="n"&gt;kthread_init_worker&lt;/SPAN&gt;&lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="o"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;s&lt;/SPAN&gt;&lt;SPAN class="o"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;kworker&lt;/SPAN&gt;&lt;SPAN class="p"&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="line"&gt;	&lt;SPAN class="n"&gt;kthread_init_work&lt;/SPAN&gt;&lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="o"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;s&lt;/SPAN&gt;&lt;SPAN class="o"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;irq_work&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt; &lt;SPAN class="n"&gt;sc16is7xx_ist&lt;/SPAN&gt;&lt;SPAN class="p"&gt;);&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;sc16is7xx_ist call back is setup, guessing probably the dts parsing for interrupt node is wrong.&lt;/P&gt;&lt;P&gt;And never see any calls from ISR&lt;/P&gt;&lt;P&gt;infact the transmission is happening from &lt;SPAN class="n"&gt;kthread_init_work&lt;/SPAN&gt;&lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="o"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;s&lt;/SPAN&gt;&lt;SPAN class="o"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="n"&gt;p&lt;/SPAN&gt;&lt;SPAN class="p"&gt;[&lt;/SPAN&gt;&lt;SPAN class="n"&gt;i&lt;/SPAN&gt;&lt;SPAN class="p"&gt;].&lt;/SPAN&gt;&lt;SPAN class="n"&gt;tx_work&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt; &lt;SPAN class="n"&gt;sc16is7xx_tx_proc&lt;/SPAN&gt;&lt;SPAN class="p"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;The call to &lt;SPAN class="nf"&gt;sc16is7xx_handle_tx&lt;/SPAN&gt;&amp;nbsp; is only happening from the sc16is7xx_tx_proc. Never see it called from&lt;/P&gt;&lt;P&gt;&lt;SPAN class="k"&gt;static&lt;/SPAN&gt; &lt;SPAN class="n"&gt;bool&lt;/SPAN&gt; &lt;SPAN class="nf"&gt;sc16is7xx_port_irq&lt;/SPAN&gt;&lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="k"&gt;struct&lt;/SPAN&gt; &lt;SPAN class="n"&gt;sc16is7xx_port&lt;/SPAN&gt; &lt;SPAN class="o"&gt;*&lt;/SPAN&gt;&lt;SPAN class="n"&gt;s&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt; &lt;SPAN class="kt"&gt;int&lt;/SPAN&gt; &lt;SPAN class="n"&gt;portno&lt;/SPAN&gt;&lt;SPAN class="p"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Had been spending a good amount of time trouble shooting this!!! Any help appreciated&lt;/P&gt;</description>
      <pubDate>Fri, 16 Oct 2020 01:52:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/SC16IS752-driver-linux/m-p/1168493#M9612</guid>
      <dc:creator>aneesnorthwales</dc:creator>
      <dc:date>2020-10-16T01:52:03Z</dc:date>
    </item>
    <item>
      <title>Re: SC16IS752 driver linux</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/SC16IS752-driver-linux/m-p/1168495#M9613</link>
      <description>&lt;P&gt;Also i have checked the hardware, i can see messages correctly rxed at the SC16is752 rx pin&lt;/P&gt;</description>
      <pubDate>Fri, 16 Oct 2020 01:53:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/SC16IS752-driver-linux/m-p/1168495#M9613</guid>
      <dc:creator>aneesnorthwales</dc:creator>
      <dc:date>2020-10-16T01:53:42Z</dc:date>
    </item>
    <item>
      <title>Re: SC16IS752 driver linux</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/SC16IS752-driver-linux/m-p/1169829#M9645</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My first recommendation would be to check if the Software flow control is configured as your system requirements. Different combinations of software flow control can be enabled by setting different combinations of EFR[3:0]. Section 7.3 of the datasheet explains how to configure the device: &lt;A href="https://www.nxp.com/docs/en/data-sheet/SC16IS752_SC16IS762.pdf" target="_blank"&gt;https://www.nxp.com/docs/en/data-sheet/SC16IS752_SC16IS762.pdf&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 19 Oct 2020 19:41:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/SC16IS752-driver-linux/m-p/1169829#M9645</guid>
      <dc:creator>reyes</dc:creator>
      <dc:date>2020-10-19T19:41:13Z</dc:date>
    </item>
    <item>
      <title>Re: SC16IS752 driver linux</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/SC16IS752-driver-linux/m-p/1172468#M9689</link>
      <description>&lt;P&gt;No it didnt help. I have the flow control set correctly.While debuggin open source linux kernel what i find is that ISR services do not get called for either Tx or Rx. There is a separate Tx worker thread that keeps running and it enabled to send message from device to PC. But Rx always comes via interrupt and havent seen it happening. There is correct message coming to rx pin of chip for sure. I scoped it and verified.&lt;/P&gt;</description>
      <pubDate>Fri, 23 Oct 2020 13:03:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/SC16IS752-driver-linux/m-p/1172468#M9689</guid>
      <dc:creator>aneesnorthwales</dc:creator>
      <dc:date>2020-10-23T13:03:37Z</dc:date>
    </item>
    <item>
      <title>Re: SC16IS752 driver linux</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/SC16IS752-driver-linux/m-p/1172575#M9691</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;the microcontroller can select one of the two methods for communicating to the Bridge IC. The first method is polling the Bridge IC status register regularly. The second method is using an interrupt handler in the interrupt service routine until the Bridge IC generates an interrupt. If using the interrupt handler, the interrupt pins of the Bridge IC must be connected to the microcontroller and the interrupt bits register must be enabled.&lt;/P&gt;
&lt;P&gt;Make sure the interrupt bits register are properly enabled in the Interrupt Enable Register (IER).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Table 3 on page 8 of the AN10587 (&lt;A href="https://www.nxp.com/docs/en/application-note/AN10587.pdf" target="_blank"&gt;https://www.nxp.com/docs/en/application-note/AN10587.pdf&lt;/A&gt;) shows the interrupt handler read the interrupt identity register to check the interrupt sources such as receiver interrupt. If the receiver interrupt is detected, the interrupt handler will read data from the receiver FIFO of the Bridge IC and store the data.&lt;/P&gt;</description>
      <pubDate>Fri, 23 Oct 2020 17:29:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/SC16IS752-driver-linux/m-p/1172575#M9691</guid>
      <dc:creator>reyes</dc:creator>
      <dc:date>2020-10-23T17:29:16Z</dc:date>
    </item>
  </channel>
</rss>

