XU208 Boot Flash Question Topic is solved

Technical discussions around xCORE processors (e.g. xcore-200 & xcore.ai).
Post Reply
slerpxcq
New User
Posts: 3
Joined: Sun Feb 02, 2020 4:44 pm

XU208 Boot Flash Question

Post by slerpxcq »

Hello everyone! I want to migrate the USB Audio 2.0 reference software to a custom XU208-128-TQ64 board. Since the boot flash interface type in the reference software is QuadSPI, what should I modify in order to boot from a SPI Flash (W25Qxx)? Thank you very much for answering this!


View Solution
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

Hi.

1) download the datasheet for this CPU. Study section 8.1

2) download the xcore-200 hardware manual and review the schematic for the kit. Apply your qspi flash like U2 in this kit. Do also apply the external pull up R1 as shown in the kit.

3) then once the pcb is assembled, you can use xflash tools to enable the external flash device's QE bit so that the cpu can communicate with the flash in Quad SPI mode. If possible, try to apply a flash used by XMOS so you can use default spi definitions for a quick use. From my memory, XMOS prefers to use ISSI brand. Otherwise you may have to create a custom SPI table to use your custom external flash brand.

4) when ready, do post the partial schematic of the power supply, power rail sequencers and reset with flash wiring for a quick review before creating the pcb. Also design must be impedance controlled for the USB traces at 90 ohms and at least 4 layers. Do insert esd protection on the USB lines (Socay / Bourns / Little Fuse).
slerpxcq
New User
Posts: 3
Joined: Sun Feb 02, 2020 4:44 pm

Post by slerpxcq »

Hi mon2,

After reading what you mentioned above, I have still have something need to be figure out. Sorry for bothering you.

1) Refer to the fig.9 in section 8.1, if I want to boot in SPI master, the X0D04 pin needs to be "1", is that mean, this pin needs to be pull-up using a 3.3k resistor, as the datasheet mentioned?

2) Refer to the fig.11, it used pin x0d00, x0d01, x0d10, x0d11 (i.e. 1A0, 1B0, 1C0, 1D0) as the SPI interface. If it's necessary to allocate these pin in the .xn file of the project?

And again, thank you very much for the answer and suggestions!
User avatar
mon2
XCore Legend
Posts: 1913
Joined: Thu Jun 10, 2010 11:43 am
Contact:

Post by mon2 »

Hi.

1) Correct if you wish to change the boot pins to a "1" (HIGH), that you must apply external, strong pull-up resistors which XMOS recommends to be 3k3 to over ride the internal weak pull-down resistor. Any value of 1k-3k3 should be fine to park the value to be a "1" during the reading of these pins. Too low of a resistor value will cause a higher current draw from this widget and may also impact the data flow from the flash.

2) The history of the XCORE-200 devices is based on the use of the QSPI mode which is much faster than standard SPI mode. Any reason why you are considering to use SPI mode for booting? Is it to save on GPIO pins? For what it is worth, you can actually reuse the same flash pins for another purpose AFTER the device boots. It can get tricky but can be done. That is, after a #RESET cycle, allow for say xx seconds to timeout which is ample time for the firmware to boot from this external flash. Then proceed to use the same port pins for another purpose - just be sure to NOT select the external flash during the same time as the external device. It is an idea and best if you can avoid this but in a pinch could be done. Another idea is to use an external bidirectional mux which disables IF the flash is ENABLED and vice-versa.

In summary, suggest if you can to use the QSPI mode but good idea to allow for the external pull-ups for SPI mode, in case you wish to use this mode. Simply do not stuff the 3k3 PU resistor if you are happy with the QSPI boot mode ("000"). Where possible, try to mimic the reference kit design for your own as they have been time tested over very high volumes of audio widgets.
slerpxcq
New User
Posts: 3
Joined: Sun Feb 02, 2020 4:44 pm

Post by slerpxcq »

Hi mon2,

Okay, I will use the QSPI flash. Thanks.
Post Reply