There is only one QSPI on the NXP MCU in normal mode (and 2 QSPI in boot mode), right?
I want to program a BIOS flash after the booting process has ended.
Are the QSPI pins in the normal mode (ALT 5) : P3, P5, P4, N4, L4 and L3?
How can we control the QSPI voltage? 3.3V/1.8V?
Hi @sapirbuz ,
Welcome to use the NXP MIMXRT product, I would like to provide service for you.
I find you are a fresh user.
Now, talk about your issues, in fact, you can refer to our NXP MIMXRT1050-EVKB board, it will make you more clear about it.
Answer your questions:
There is only one QSPI on the NXP MCU in normal mode (and 2 QSPI in boot mode), right?
=>Normally, one QSPI for boot.
For the detail boot pins, check the RT1050RM Chapter 9 System Boot
I want to program a BIOS flash after the booting process has ended.
=> if you want to program the flash after boot, you can refer to this code:
SDK_2_11_1_EVKB-IMXRT1050\boards\evkbimxrt1050\driver_examples\fsl_romapi
This will help you to do the flash program.
Are the QSPI pins in the normal mode (ALT 5) : P3, P5, P4, N4, L4 and L3?
=>Check my above boot pin table, it contains the ALT number and detail pin.
How can we control the QSPI voltage? 3.3V/1.8V?
=>You can refer to the MIMXRT1050-EVKB schematic, it is determined by the FLASH_VCC
Wish it helps you!
Best Regards,
Kerry
Thank you for your answers
Sorry but I didn't understand, are the QSPI pins only for boot? how can we use QSPI for another purpose after the boot?
what is the function of the following code?
SDK_2_11_1_EVKB-IMXRT1050\boards\evkbimxrt1050\driver_examples\fsl_romapi
Hi @sapirbuz
Just one question for you, whether your mentioned QSPI pins are connected to the flash which is used to run the code or not?
As you know, the RT support the XIP, if your code is running in the QSPI flash and that flash is the related QSPI pin, even after you boot, the related pin still be used by the code QSPI flash.
Best Regards,
Kerry
Hi,
In order to use the QSPI for another purpose, I have considered using the LPSPI for boot and the QSPI for another purpose. is that make sense?
Hi @sapirbuz ,
LPSPI is normally used for the recovery:
What is recovery, just the primary boot is failed, then it will recovery from the related deivce.
So, I suggest you still use the normal one for the normal boot.
Your another QSPI, you can connect to the flexSPI B port:
Wish it helps you!
Best Regards,
Kerry
Can flexspi port A be connected to 1.8V flash while flexspi port B is connected to 3.3V flash? (port A will be connected to the gpio_ad pins and port B to the gpio_sd pins)
Hi @sapirbuz
The voltage is determined by your used pin group NVCC, eg, the sd pins is determined by the NVCC_SD0, SD1.
If you use the AD pins, it is determined by NVCC_GPIO_n:
Wish it helps you!
Best Regards,
Kerry
thank you
We can use serial Nand 3.3V Flash for boot, right?
In case no, can we use port B for booting and port A for another purpose?
Hi @sapirbuz ,
As I know, normally, boot is from the A port, or the octal A+B port.
So, you need to use A port for boot.
Answer your questions:
We can use serial Nand 3.3V Flash for boot, right?
=>yes, you can use this method:
In case no, can we use port B for booting and port A for another purpose?
=>You need to use A port boot.
Wish it helps you!
Best Regards,
Kerry
I want to define ALT0 for boot flexspi A (GPIO_AD_). will that be ok?
Hi @sapirbuz ,
All the boot pin list in the RT1050 RM, Table 9-1. ROM Bootloader Peripheral PinMux.
Please check it by yourself.
Best Regards,
Kerry
hi,
"
These pins are a secondary pinout option for FlexSPI serial NOR flash boot |
"
what is that mean? are the secondary pins function as the primary pins? can I use port A GPIO_AD as the only boot pins?
Hi @sapirbuz ,
This is the 2nd option which is also used for the boot.
This method, you need to burn eFuse 0x450 or set the related BOOT_CFG pin, set FLASH_TYPE[2:0] = 111 - QSPI device supports 3B read by default on secondary pinmux option , then your chip can boot from the secondary pin.
Yes, this is also the flexSPI A port.
Wish it helps you!
Best Regards,
kerry
Thank you!
"you need to burn eFuse 0x450 or set the related BOOT_CFG pin, set FLASH_TYPE[2:0] = 111"
Which tool or program can we use to do it? detailed instructions will be very helpful
We saw that it's possible to burn fuses by mfg tool and U-Boot, we don't know how.
What is the meaning of 3B and 4B?
Hi @sapirbuz
When you not familiar with it, you can use the BOOT_CFG pin at first.
Fuse bit just can write from 0 to 1, can't be back.
If you need to burn the fuse, you also can use the MCUBootUtility tool:
https://github.com/JayHeng/NXP-MCUBootUtility/releases/tag/v3.5.0
the related user manual is:
https://github.com/JayHeng/NXP-MCUBootUtility
mfg tool is a little difficult to you ,you can use my above tool, very easy.
But I don't recommend you burn the fuse when you are not familiar with it, use the BOOT_CFG pin at first.
3B,4B is the address length, 3B=24bit, 4B=32bit.
Eg:
Wish it helps you!
Best Regards,
Kerry