<?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: T2080RDB SPI Flash in T-Series</title>
    <link>https://community.nxp.com/t5/T-Series/T2080RDB-SPI-Flash/m-p/451615#M403</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Pavel,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for the response.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And I understand your point. In my opinion, we shouldn't have to do any reset to the SPI flash.&lt;/P&gt;&lt;P&gt;But with vanilla SDK 1.7, if I mount SPI flash as JFFS2 file system, then reboot, I see SPI probing error &lt;BR /&gt;as shown in the kernel log above. And yes this doesn't always happen. Sometimes it does, sometimes it doesn't.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I really wonder what's really going wrong.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;H.Kim&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 08 May 2015 04:23:20 GMT</pubDate>
    <dc:creator>hawkkim</dc:creator>
    <dc:date>2015-05-08T04:23:20Z</dc:date>
    <item>
      <title>T2080RDB SPI Flash</title>
      <link>https://community.nxp.com/t5/T-Series/T2080RDB-SPI-Flash/m-p/451611#M399</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;While evaluating &lt;SPAN style="font-size: 13.3333330154419px;"&gt;T2080RDB&lt;/SPAN&gt;, I came across an issue related with SPI flash.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The thing is , upon power up, it works quite well. I can probe, create JFFS2 file system, mount it, and use it.&lt;BR /&gt;But when I reboot (not power off/power on), the system fails to read JEDEC ID of the SPI flash.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;And if this happens, no matter what I do, the SPI flash doesn't work. But if I power off/on again, the flash starts working again.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Adding one more thing, while investigating this issue suspecting chip reset upon reboot, I found out that there is no RESET pin on the n25q512ax3 flash chip.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using V1.7 SDK with DTB patch on n25q512ax3 flash chip.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any idea will be appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;H.Kim&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Apr 2015 22:35:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/T2080RDB-SPI-Flash/m-p/451611#M399</guid>
      <dc:creator>hawkkim</dc:creator>
      <dc:date>2015-04-28T22:35:41Z</dc:date>
    </item>
    <item>
      <title>Re: T2080RDB SPI Flash</title>
      <link>https://community.nxp.com/t5/T-Series/T2080RDB-SPI-Flash/m-p/451612#M400</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In my experiment,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;adding a chip reset logic as described in Micron's TN (&lt;A href="https://www.google.co.kr/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0CBwQFjAA&amp;amp;url=https%3A%2F%2Fwww.micron.com%2F~%2Fmedia%2Fdocuments%2Fproducts%2Ftechnical-note%2Fnor-flash%2Ftn1229_n25q_n25w_reset_configs.pdf&amp;amp;ei=lNhBVbqDGcXDmwXgo4GQCA&amp;amp;usg=AFQjCNF2u_BhTUSKQ4dR0-Ck7sdqU0bM8w&amp;amp;bvm=bv.92189499,d.dGY" title="https://www.google.co.kr/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0CBwQFjAA&amp;amp;url=https%3A%2F%2Fwww.micron.com%2F~%2Fmedia%2Fdocuments%2Fproducts%2Ftechnical-note%2Fnor-flash%2Ftn1229_n25q_n25w_reset_configs.pdf&amp;amp;ei=lNhBVbqDGcXDmwXgo4GQCA&amp;amp;usg=AFQjCNF2u_BhTUSKQ4dR0-Ck7sdqU0bM8w&amp;amp;bvm=bv.92189499,d.dGY"&gt;https://www.google.co.kr/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0CBwQFjAA&amp;amp;url=https%3A%2F%2Fwww.mic…)&lt;/A&gt;&lt;/P&gt;&lt;P&gt;seems to solve the problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I just added the following chip reset code to spi_nor.c before JEDEC probing and haven't seen any probing failure for a day.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#define SPINOR_OP_RSTEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x66&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Reset enable command */&lt;/P&gt;&lt;P&gt;#define SPINOR_OP_RSTMEM&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x99&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Reset device, follows reset enable */&lt;/P&gt;&lt;P&gt;static void&lt;/P&gt;&lt;P&gt;spi_nor_soft_reset(struct spi_nor* nor)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dev_err(nor-&amp;gt;dev, "XXX hkim back: performing reset\n");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 8 clock cycle, DQ0 high, DQ3 is already high through VCC.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; nor-&amp;gt;write_reg(nor, 0xff, NULL, 0, 0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // soft-reset command&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; nor-&amp;gt;write_reg(nor, SPINOR_OP_RSTEN, NULL, 0, 0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; nor-&amp;gt;write_reg(nor, SPINOR_OP_RSTMEM, NULL, 0, 0);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // XXX FSR or just SR???&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //(void)wait_till_ready(nor);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; spi_nor_wait_till_fsr_ready(nor);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int spi_nor_scan(struct spi_nor *nor, const struct spi_device_id *id,&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; enum read_mode mode)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct flash_info&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; *info;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct flash_platform_data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *data;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct device *dev = nor-&amp;gt;dev;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct mtd_info *mtd = nor-&amp;gt;mtd;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct device_node *np = dev-&amp;gt;of_node;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int ret;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret = spi_nor_check(nor);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ret)&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; return ret;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spi_nor_soft_reset(nor);&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I know this is just an experiment and not a clean solution.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Apr 2015 07:28:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/T2080RDB-SPI-Flash/m-p/451612#M400</guid>
      <dc:creator>hawkkim</dc:creator>
      <dc:date>2015-04-30T07:28:26Z</dc:date>
    </item>
    <item>
      <title>Re: T2080RDB SPI Flash</title>
      <link>https://community.nxp.com/t5/T-Series/T2080RDB-SPI-Flash/m-p/451613#M401</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;for the sake of saving evidence, here is the kernel log for SPI probing failure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.537185] fsl_espi ffe110000.spi: master is unqueued, this is deprecated&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.542990] m25p80 spi32766.0: unrecognized JEDEC id ffffff&lt;/P&gt;&lt;P&gt;[&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.547271] fsl_espi ffe110000.spi: at 0x80000800801a6000 (irq = 53)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This happens when I reboot the system after I mount SPI flash as JFFS2 file system.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 May 2015 22:47:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/T2080RDB-SPI-Flash/m-p/451613#M401</guid>
      <dc:creator>hawkkim</dc:creator>
      <dc:date>2015-05-07T22:47:58Z</dc:date>
    </item>
    <item>
      <title>Re: T2080RDB SPI Flash</title>
      <link>https://community.nxp.com/t5/T-Series/T2080RDB-SPI-Flash/m-p/451614#M402</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt;"&gt;It looks like that problem can be solved using &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt; font-family: 'Courier New';"&gt;TN from Micron (&lt;A href="https://www.micron.com/~/media/documents/products/technical-note/nor-flash/tn1229_n25q_n25w_reset_configs.pdf"&gt;https://www.micron.com/~/media/documents/products/technical-note/nor-flash/tn1229_n25q_n25w_reset_configs.pdf&lt;/A&gt;).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt;"&gt;The TN from Micron shows that hard or soft reset is needed for &lt;/SPAN&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt;"&gt;N25Q and N25W Flash Memory Devices.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-size: 10.0pt;"&gt;Usually SPI Flashes do not require hard or soft reset. Freescale SDK 1.7 contains common driver for SPI Flash.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 May 2015 03:24:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/T2080RDB-SPI-Flash/m-p/451614#M402</guid>
      <dc:creator>Pavel</dc:creator>
      <dc:date>2015-05-08T03:24:31Z</dc:date>
    </item>
    <item>
      <title>Re: T2080RDB SPI Flash</title>
      <link>https://community.nxp.com/t5/T-Series/T2080RDB-SPI-Flash/m-p/451615#M403</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Pavel,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for the response.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And I understand your point. In my opinion, we shouldn't have to do any reset to the SPI flash.&lt;/P&gt;&lt;P&gt;But with vanilla SDK 1.7, if I mount SPI flash as JFFS2 file system, then reboot, I see SPI probing error &lt;BR /&gt;as shown in the kernel log above. And yes this doesn't always happen. Sometimes it does, sometimes it doesn't.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I really wonder what's really going wrong.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;H.Kim&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 May 2015 04:23:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/T-Series/T2080RDB-SPI-Flash/m-p/451615#M403</guid>
      <dc:creator>hawkkim</dc:creator>
      <dc:date>2015-05-08T04:23:20Z</dc:date>
    </item>
  </channel>
</rss>

