<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Driving high-resolution displays over QSPI</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/96283/driving-high-resolution-displays-over-qspi</link><description>I&amp;#39;m looking to send a very long sequence of data using the QSPI peripheral (ideally many thousands of bytes long) with minimal CPU overhead. With the QSPI peripheral, it seems like after 256 bytes (or 512 bytes if PPSIZE=1), it will end the transaction</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 07 Feb 2023 14:03:37 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/96283/driving-high-resolution-displays-over-qspi" /><item><title>RE: Driving high-resolution displays over QSPI</title><link>https://devzone.nordicsemi.com/thread/408590?ContentTypeID=1</link><pubDate>Tue, 07 Feb 2023 14:03:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4d67c13b-b87e-43e3-b1d4-6d64e92fccb7</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="charliebruce"]Are there any undocumented/test registers that would allow us to change opcodes and/or disable the pagination behaviour?[/quote]
&lt;p&gt;No, unfortunately not.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Driving high-resolution displays over QSPI</title><link>https://devzone.nordicsemi.com/thread/408580?ContentTypeID=1</link><pubDate>Tue, 07 Feb 2023 13:50:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0409d3a0-6088-4710-a3df-2015dd2dbe0b</guid><dc:creator>Charlie</dc:creator><description>&lt;p&gt;On one of our candidate displays, the display driver has no RAM of its own, requiring a full refresh every frame.&amp;nbsp;Regardless of display controller, we will also have rotating elements taking up most of the screen, also requiring a full refresh. So unfortunately updating only a small area of the display isn&amp;#39;t practical.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Are there any undocumented/test registers that would allow us to change opcodes and/or disable the pagination behaviour? If available, this would be a preferable solution, rather than messing around with external muxes, PPI/PWM/GPIOTE, or trying to bit-bang the right output.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Driving high-resolution displays over QSPI</title><link>https://devzone.nordicsemi.com/thread/408569?ContentTypeID=1</link><pubDate>Tue, 07 Feb 2023 13:33:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bcb6efe8-da3f-4fbe-a7e5-4b926634c19d</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="charliebruce"]Single SPI would put significant limits on our maximum frame rate&amp;nbsp;(360x360x16bpp at 32MHz would limit us to 15 FPS, larger resolutions would run even slower), so QSPI is highly preferable.[/quote]
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;What has been done in previous scenarios where a display are being used is to store display data on an external flash using QSPI, and use SPIM for the display communication.&lt;/p&gt;
&lt;p&gt;Is writing the full frame required by your display? Or can you update only the fields that require updating? You normally only change what needs to be changed.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="charliebruce"]One&amp;nbsp;option that could theoretically work without going outside of spec might be to use the PWM peripheral to generate the correct sequence (tightly in step with the QSPI), then mux the pin back to the QSPI pin once the opcode and address has been sent (either internal or external mux) - that&amp;#39;s the&amp;nbsp;level&amp;nbsp;of complexity that we&amp;#39;d be OK with.[/quote]
&lt;p&gt;As mentioned, using the QSPI for other operations than NOR-flash compatible command set is not trivial. I do not know if this will work for your use-case, but you are free to&amp;nbsp;evaluate.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Driving high-resolution displays over QSPI</title><link>https://devzone.nordicsemi.com/thread/408265?ContentTypeID=1</link><pubDate>Mon, 06 Feb 2023 12:03:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3028170b-1757-4840-80d8-0269b849b420</guid><dc:creator>Charlie</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;H&amp;aring;kon,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Single SPI would put significant limits on our maximum frame rate&amp;nbsp;(360x360x16bpp at 32MHz would limit us to 15 FPS, larger resolutions would run even slower), so QSPI is highly preferable.&lt;/p&gt;
&lt;p&gt;We&amp;#39;re potentially OK with complex workarounds (eg test registers/undocumented behaviour), provided that the solution is likely to persist through minor&amp;nbsp;chip revisions.&lt;/p&gt;
&lt;p&gt;One&amp;nbsp;option that could theoretically work without going outside of spec might be to use the PWM peripheral to generate the correct sequence (tightly in step with the QSPI), then mux the pin back to the QSPI pin once the opcode and address has been sent (either internal or external mux) - that&amp;#39;s the&amp;nbsp;level&amp;nbsp;of complexity that we&amp;#39;d be OK with.&lt;/p&gt;
&lt;p&gt;We&amp;#39;d want to avoid solutions with a large BoM cost overhead (eg no FPGAs pretending to be an SPI flash chip!).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Driving high-resolution displays over QSPI</title><link>https://devzone.nordicsemi.com/thread/408191?ContentTypeID=1</link><pubDate>Mon, 06 Feb 2023 08:27:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e55ea66e-4767-4f52-b469-3482281f5207</guid><dc:creator>H&amp;#229;kon Alseth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Using the QSPI for a non-QSPI-NOR device is not trivial, as the peripheral has been designed for&amp;nbsp;NOR operation, as also described in the post that you linked to:&lt;/p&gt;
[quote user=""]The closest post I managed to find is here:&amp;nbsp;&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/59705/qspi-disable-addressing/242684"&gt;RE: QSPI disable addressing&lt;/a&gt;&amp;nbsp;but it seems like that wasn&amp;#39;t resolved.[/quote]
&lt;p&gt;If you have to send large amount of data, I would recommend that you look at the SPIM3 peripheral (SPIM4 on nRF5340), which is a normal SPI peripheral with 32M mode available.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;/p&gt;
&lt;p&gt;Håkon&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>