Enable QPI mode on ls1012afrwy board (with winbond flash)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Enable QPI mode on ls1012afrwy board (with winbond flash)

544 Views
yogeshddave
Contributor II

Hello All,

We have ls1012Afrwy board having winbond flash.(part# - winbond 25M161AWEI1752E752M0011)

Using Linux kernel 5.15 and by doing various changes in SFTP table able to generate 1-4-4 and 1-4-4 signal/opcode.

But same is not working for 4-4-4 signal generation.

I went through specification documentation where I found that to generate command on all 4 lines (4-4-4 signal) need to enter into QPI mode by giving 38h instructions.

Can someone guide me to share the way to execute 38h instructions explicitly on board so I can generate 4-4-4 signal.

Thank you in advance.

Thanks,

Yogesh Dave

Tags (2)
0 Kudos
2 Replies

404 Views
yipingwang
NXP TechSupport
NXP TechSupport

To generate a 4-4-4 signal, you can simply program the Look-Up Table (LUT) with pre-programmed sequences (in which you can select 4 pads for command instructions) and generate commands on all 4 lines (resulting in a 4-4-4 signal). The complete list of instructions and their corresponding operands is given in Table 26-23 of the LS1012RM - 26.6.3.1 Programmable Sequence Engine.

0 Kudos

492 Views
ramprakash08
Contributor IV

Based on the information you've provided, it seems you're trying to enable QPI mode on your ls1012afrwy board with a Winbond flash. You mentioned that you're able to generate 1-4-4 and 1-4-4 signal/opcode but are having trouble with 4-4-4 signal generation. You also mentioned that you need to enter into QPI mode by giving 38h instructions.

According to the application note AN12279, when QSPI is selected as the boot source, PBL accesses QSPI flash in single bit mode and fetches RCW/PBI at a low speed. If the boot loader is also in the QSPI flash, the boot loader instructions will also be fetched at the same speed. This slows down the boot process. By increasing QSPI clock frequency and expanding QSPI bus width at an early stage in boot process, the boot process can be sped up.

Assuming that you're trying to execute the 38h instruction to enter QPI mode, you would typically need to send this instruction to the flash memory. However, the exact method of doing this can depend on the specific flash memory and the board you're using. You may need to write a function in your code that sends this instruction to the flash memory.

Here's a simple example of how you might do this:

 void enter_qpi_mode(void) {     // Send 38h instruction to flash memory     write_instruction_to_flash(0x38); } 

Please note that this is a simplified example and the actual implementation may be more complex, depending on your specific hardware and software environment. You may need to consult the documentation for your specific flash memory and board for more details.

0 Kudos