<?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: Question about 3 SPI Device Control.... in MQX Software Solutions</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174323#M2149</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That's really what I want.&lt;/P&gt;&lt;P&gt;Your comments are really helpful&amp;nbsp;to save my time.&lt;/P&gt;&lt;P&gt;Thank you so much.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 11 Feb 2010 23:15:23 GMT</pubDate>
    <dc:creator>OOLife</dc:creator>
    <dc:date>2010-02-11T23:15:23Z</dc:date>
    <item>
      <title>Question about 3 SPI Device Control....</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174319#M2145</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm new and using MQX3.4 &amp;amp; MCF52259.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My MCF52259 board has 3 SPI devices which&amp;nbsp;are connected to MCF52259.&lt;/P&gt;&lt;P&gt;each device has their own CHIP Select pin. (QSPI_CS0, QSPI_CS2, QSPI_CS3)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My code&amp;nbsp;is based on the mqx/example/spi example from Freescale.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There is &lt;FONT color="#0000ff"&gt;set_CS()&lt;/FONT&gt; function for controling CS pin.&lt;/P&gt;&lt;P&gt;But, I wondering about that this function really need for me?&lt;/P&gt;&lt;P&gt;Because, all I used pins are default pin.&lt;/P&gt;&lt;P&gt;MQX_IO_Driver_User_Guide described IO_IOCTL_SPI_SET_CS_CALLBACK function&lt;/P&gt;&lt;P&gt;is used for only for MCF51 family.&lt;/P&gt;&lt;P&gt;Is that right?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And, one more question...&lt;/P&gt;&lt;P&gt;How to&amp;nbsp;fill the param&amp;nbsp;when using&amp;nbsp;IO_IOCTL_SPI_SET_CS function?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff"&gt;param = ????;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;if(ioctl(spi_fd, IO_IOCTL_SPI_SET_CS, &lt;FONT color="#0000ff"&gt;&amp;amp;param&lt;/FONT&gt;) == SPI_OK) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;printf ("OK\n");&lt;BR /&gt;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;printf ("ERROR\n");&lt;BR /&gt;&amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What's the best way to control 3 SPI devices simultaneously?&lt;/P&gt;&lt;P&gt;Thanks in advance&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="message-edit-history"&gt;&lt;SPAN class="edit-author"&gt;Message Edited by OOLife on&lt;/SPAN&gt; &lt;SPAN class="local-date"&gt;2010-02-09&lt;/SPAN&gt; &lt;SPAN class="local-time"&gt;02:32 PM&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Feb 2010 22:28:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174319#M2145</guid>
      <dc:creator>OOLife</dc:creator>
      <dc:date>2010-02-09T22:28:47Z</dc:date>
    </item>
    <item>
      <title>Re: Question about 3 SPI Device Control....</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174320#M2146</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;no, you don't need to use callbacks for CS handling when using QSPI. This functionality was added just for compatibility reasons. By default, chip selects are driven by HW here.&lt;/P&gt;&lt;P&gt;You&amp;nbsp;have to&amp;nbsp;include spi_mcf5xxx_qspi.h header and then you can use macros MCF5XXX_QSPI_QDR_QSPI_CSx (any combination, it's bitmask) to set proper chip selects.&lt;/P&gt;&lt;P&gt;Remember that the CS change takes place during next read/write in polled mode and during next byte transfer in interrupt mode. In interrupt mode, use flush command to wait/delimit communication (and then switch CS).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PetrM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Feb 2010 19:48:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174320#M2146</guid>
      <dc:creator>PetrM</dc:creator>
      <dc:date>2010-02-10T19:48:06Z</dc:date>
    </item>
    <item>
      <title>Re: Question about 3 SPI Device Control....</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174321#M2147</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your comment.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tested several cases according to your comments.&lt;BR /&gt;But, I can't control QSPI_PCS2 and QSPI_PCS3 on MCF52259EVB.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Followings are my code snippet.&lt;/P&gt;&lt;P&gt;Is there any missing from my source code?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;
....#include &amp;lt;spi_mcf5xxx_qspi.h&amp;gt;#include &amp;lt;mcf5xxx_qspi.h&amp;gt;....FILE_PTR spi_fd;...... spi_fd = fopen("spi0:", NULL); if (spi_fd==NULL ) {  TRACE(1, "SPI_DriverOpen() Failed. Exiting...\n");  _time_delay(200L);  _mqx_exit(-1); }uint_32  param;...... // I want to select the appropriate CS_PIN in HERE. //  // MCF52259 pin assign is following from MCF52259DS.pdf //     ----------------------------------------------- //     Pramary    Secondary    Tertiary      Quaternary //     ----------------------------------------------- //     QSPI_CS3   SYNCA        USB_DP_PDOWN  PQS6 //     QSPI_CS2   SYNCB        USB_DM_PDOWN  PQS5 //     QSPI_CS0   I2C_SDA0     UCTS1         PQS3 //     ----------------------------------------------- // param = (GPIO_PORT_QS | GPIO_PIN3);  // Works fine with QSPI_CS0 // param = (GPIO_PORT_QS | GPIO_PIN5);  // Works fine with QSPI_CS0 --&amp;gt; Why CS0? // param = (MCF5XXX_QSPI_QDR_QSPI_CS0);  // Works fine with QSPI_CS0 //  // param = (MCF5XXX_QSPI_QDR_QSPI_CS2);  // Not Working with QSPI_CS0. It's good. But, Not working with CS2 // param = (MCF5XXX_QSPI_QDR_QSPI_CS3);  // Not Working with QSPI_CS0. It's good. But, Not working with CS3 //  // param = (GPIO_PORT_QS | MCF5XXX_QSPI_QDR_QSPI_CS0); // Works fine with CS0. // param = (GPIO_PORT_QS | MCF5XXX_QSPI_QDR_QSPI_CS2); // Works fine with CS0. // if(ioctl(spi_fd, IO_IOCTL_SPI_SET_CS, &amp;amp;param) == SPI_OK) {  TRACE(3, "IO_IOCTL_SPI_SET_CS----OK %d\n", param); } else {  TRACE(3, "IO_IOCTL_SPI_SET_CS----ERROR %d\n", param); } // Set Baud rate param = 2000000; if (SPI_OK == ioctl (spi_fd, IO_IOCTL_SPI_SET_BAUD, &amp;amp;param))  {  TRACE(3, "Changing the baud rate to %d Hz ... OK\n", param); } else {  TRACE(3, "Changing the baud rate to %d Hz ... ERROR\n", param); } // Set Clock Mode param = SPI_CLK_POL_PHA_MODE0; if (SPI_OK == ioctl (spi_fd, IO_IOCTL_SPI_SET_MODE, &amp;amp;param))  {  TRACE(3, "Setting clock mode to %d ... OK\n", param); } else {  TRACE(3, "Setting clock mode to %d ... ERROR\n", param); } // Set Transfer Mode param = SPI_DEVICE_MASTER_MODE; if (SPI_OK == ioctl (spi_fd, IO_IOCTL_SPI_SET_TRANSFER_MODE, &amp;amp;param))  {  TRACE(3, "Setting transfer mode to %d ... OK\n", param); } else {  TRACE(3, "Setting transfer mode to %d ... ERROR\n", param); } // Write instruction result = fwrite(send_buffer, 1, 1, spi_fd); if(result != 1) {  // Stop transfer  TRACE(3, "First SPI Dev ... FAILED (1)!\n");  return status; } // Read SPI #1 status result = fread(&amp;amp;status, 1, 1, spi_fd); if(result != 1) {  TRACE(3, "First SPI Dev status ... FAILED (2)!\n"); } else {  TRACE(3, "First SPI Dev status ... OK ............ Status = 0x%02X\n", status); } // Wait till transfer end (and deactivate CS) fflush(spi_fd);&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:23:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174321#M2147</guid>
      <dc:creator>OOLife</dc:creator>
      <dc:date>2020-10-29T09:23:02Z</dc:date>
    </item>
    <item>
      <title>Re: Question about 3 SPI Device Control....</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174322#M2148</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry for confusion. In IO_IOCTL_SPI_SET_CS command, you can use only macros MCF5XXX_QSPI_QDR_QSPI_CSx (any combination, so you can assert/deassert multiple CS signals at a time), e.g. param = (MCF5XXX_QSPI_QDR_QSPI_CS3) is correct.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The other thing is proper GPIO setting, to enable&amp;nbsp;the processor pins as QSPI chip selects. This is by default done only for CS0. You can find it in BSP function _bsp_qspi_io_init() in gpio_init.c file.&amp;nbsp;You must add&amp;nbsp;MCF5225_GPIO_PQSPAR_PQSPA5 and MCF5225_GPIO_PQSPAR_PQSPA6, which control CS2 and CS3 signals. Warning: this setting conflicts with USB.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PetrM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Feb 2010 19:04:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174322#M2148</guid>
      <dc:creator>PetrM</dc:creator>
      <dc:date>2010-02-11T19:04:07Z</dc:date>
    </item>
    <item>
      <title>Re: Question about 3 SPI Device Control....</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174323#M2149</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That's really what I want.&lt;/P&gt;&lt;P&gt;Your comments are really helpful&amp;nbsp;to save my time.&lt;/P&gt;&lt;P&gt;Thank you so much.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Feb 2010 23:15:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174323#M2149</guid>
      <dc:creator>OOLife</dc:creator>
      <dc:date>2010-02-11T23:15:23Z</dc:date>
    </item>
    <item>
      <title>Re: Question about 3 SPI Device Control....</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174324#M2150</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi PetrM,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to use multiple spi devices following your comments in this thread.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, whenever qspi_cs2 is enabled ( logic low), qspi_cs0 is also enabled, below is the code snip.&lt;/P&gt;&lt;P&gt;Do I miss something in configuration?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;eGuy.&lt;/P&gt;&lt;P&gt;----------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; param = MCF5XXX_QSPI_QDR_QSPI_CS2;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if(ioctl(spi_fd, IO_IOCTL_SPI_SET_CS, &amp;amp;param) == SPI_OK) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;printf("x");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Write instruction&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;result = fwrite(send_buffer, 1, 1, spi_fd);&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;_mqx_int _bsp_qspi_io_init (&amp;nbsp;&amp;nbsp;&amp;nbsp; uint_8 dev_num )&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VMCF5225_STRUCT_PTR reg_ptr = _PSP_GET_IPSBAR();&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (0 != dev_num) return -1;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_ptr-&amp;gt;GPIO.PQSPAR &amp;amp;= (~ (MCF5225_GPIO_PQSPAR_PQSPA0(3) | MCF5225_GPIO_PQSPAR_PQSPA1(3) | MCF5225_GPIO_PQSPAR_PQSPA2(3) | MCF5225_GPIO_PQSPAR_PQSPA3(3) | MCF5225_GPIO_PQSPAR_PQSPA5(3)| MCF5225_GPIO_PQSPAR_PQSPA6(3)));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; reg_ptr-&amp;gt;GPIO.PQSPAR |= (MCF5225_GPIO_PQSPAR_PQSPA0(1) | MCF5225_GPIO_PQSPAR_PQSPA1(1) | MCF5225_GPIO_PQSPAR_PQSPA2(1) | MCF5225_GPIO_PQSPAR_PQSPA3(1) | MCF5225_GPIO_PQSPAR_PQSPA5(1)| MCF5225_GPIO_PQSPAR_PQSPA6(1));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;BR /&gt;} /* Endbody */&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Jun 2010 20:49:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174324#M2150</guid>
      <dc:creator>eGuy</dc:creator>
      <dc:date>2010-06-09T20:49:18Z</dc:date>
    </item>
    <item>
      <title>Bug in QSPI driver?????</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174325#M2151</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Look deep into the driver code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I found in spi_pol_mcf5xxx_qspi.c&amp;nbsp; _mcf5xxx_qspi_polled_tx_rx()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This statement causes all QSPI_CSx active low:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* CS inactive low for tranfers longer than 16 words */&lt;BR /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp; qspi_ptr-&amp;gt;QWR &amp;amp;= (~ MCF5XXX_QSPI_QWR_CSIV);&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My code works by commenting it out.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any problems here?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Jeff&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Jun 2010 02:08:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174325#M2151</guid>
      <dc:creator>eGuy</dc:creator>
      <dc:date>2010-06-10T02:08:35Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in QSPI driver?????</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174326#M2152</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jeff&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I can confirm you the problem you saw, because I've had the same problem when I started to work with the SPI driver in my application.&lt;BR /&gt;&lt;BR /&gt;I've solved the problem in this way:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if((qspi_ptr-&amp;gt;QMR&amp;amp;MCF5XXX_QSPI_QMR_CPOL)==0x00)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* CS inactive low for tranfers longer than 16 words */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qspi_ptr-&amp;gt;QWR &amp;amp;= (~ MCF5XXX_QSPI_QWR_CSIV);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;else&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;qspi_ptr-&amp;gt;QWR |= MCF5XXX_QSPI_QWR_CSIV;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In this way the chip select returns always in the idle state you have setted at the end of a trasmission.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Stefano&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Jun 2010 22:45:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174326#M2152</guid>
      <dc:creator>elel</dc:creator>
      <dc:date>2010-06-11T22:45:12Z</dc:date>
    </item>
    <item>
      <title>Re: Bug in QSPI driver?????</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174327#M2153</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;Hi Stefano,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for your reply.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Jeff&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 12 Jun 2010 00:17:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174327#M2153</guid>
      <dc:creator>eGuy</dc:creator>
      <dc:date>2010-06-12T00:17:10Z</dc:date>
    </item>
    <item>
      <title>Re: Question about 3 SPI Device Control....</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174328#M2154</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi PetrM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm so sorry, but, how can you know&amp;nbsp;MCF5225_GPIO_PQSPAR_PQSPA5 is controlling CS2. Where did you find that? The last two hours I've been looking for that data in the documents and I found nothing.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;PetrM wrote:&lt;BR /&gt;&lt;P&gt;Sorry for confusion. In IO_IOCTL_SPI_SET_CS command, you can use only macros MCF5XXX_QSPI_QDR_QSPI_CSx (any combination, so you can assert/deassert multiple CS signals at a time), e.g. param = (MCF5XXX_QSPI_QDR_QSPI_CS3) is correct.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The other thing is proper GPIO setting, to enable&amp;nbsp;the processor pins as QSPI chip selects. This is by default done only for CS0. You can find it in BSP function _bsp_qspi_io_init() in gpio_init.c file.&amp;nbsp;You must add&amp;nbsp;MCF5225_GPIO_PQSPAR_PQSPA5 and MCF5225_GPIO_PQSPAR_PQSPA6, which control CS2 and CS3 signals. Warning: this setting conflicts with USB.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PetrM&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Jun 2012 18:18:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Question-about-3-SPI-Device-Control/m-p/174328#M2154</guid>
      <dc:creator>Ardoster</dc:creator>
      <dc:date>2012-06-25T18:18:39Z</dc:date>
    </item>
  </channel>
</rss>

