RT1176 boot from FlexSPI2

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

RT1176 boot from FlexSPI2

198 Views
yosri_c
Contributor III

dear NXP support 

 

we're currently working on a custom iMX RT1176 board (MIMXRT1176CVMBA) and an IS25LP128 NOR flash.

we discovered latly that we cannot reach 133Mhz freq while booting with FlexSPI1 secondary pin group so we switched to FlexSPI2 primary group since we have that choice  , 

while we were on FlexSPI1 we used to burn fuses for a successfull boot flow  normally it would be like in the screenshot , no the question is if we switch to Flexspi2 primary pin group ; what fuses should we burn and what fuses to keep and is there anything else to change besides the fuses like DQS pin . if any your help would be highly appreciated .

 

Kind regards 

yosri_c_0-1720107768737.png

yosri_c_1-1720107780209.png

 

Tags (1)
0 Kudos
Reply
4 Replies

141 Views
yosri_c
Contributor III

also i noticed that the first bit ( FLASH_AUTO_PROBE_EN) in the eFuse 0x940 region has some data to it can you please explain that bit further 

yosri_c_0-1720528597932.png

 

0 Kudos
Reply

147 Views
yosri_c
Contributor III

hello @Habib_MS ,

Thank you for your response , alright so in my case i'll be booting from eFuse , and as far as i'm concerned i have to burn the right fuses since the OP is not reversible , now i get that i have to use efuses 0x9A0 , 0x940 , but what i don't understand is that eFuse 0x9A0 region will be set all to zeros since i'm using default FlexSPI2 (PORTA , Primary group , primary DQS pin (GPIO_EMC_B2_12) ) the question is should i burn that fuse anyway or not ?

 second question is about the eFuse 0x960 BT_FUSE_SEL , to my understanding that we have to use that eFuse also to chose the boot mode from fuse is that correct or not ?

PS : in my previous boot , i only  used FUSE 0x9A0 with 0x400 value and 0x960 with 0x10 value (using FlexSPI1 secondary pin group no DQS pin  ) 

0 Kudos
Reply

131 Views
Habib_MS
NXP Employee
NXP Employee

Hello again @yosri_c,
Answering your first question, if you do not see necessary to burn the fuses in the 0x940 region, you can use the default configuration.

Respect the second question, the BT_FUSE_SEL is a security measure that it would be activated if you will boot from fuses, however before checking this fuse, the boot mode pins will be previously configurated in "boot from fuses".  In the case that the boot mode is correctly configurated in "Boot From Fuses" but the BT_FUSE_SEL It hasn't been burned, the boot mode is going to use "Serial Downloader". As shown the next image:

Habib_MS_0-1720556930712.png

 

BR

Habib.

 

156 Views
Habib_MS
NXP Employee
NXP Employee

Hello @yosri_c,
In order to use FlexSPI2 primary pin group you can use two boot modes, Internal boot and boot from fuses:

In the case that you would use the Internal boot, the BOOT_CFG [11] needs to be in 1, this in order to configure the FLEXSPI_INSTANCE in "FLEXSPI2", as shown the image below:

Habib_MS_0-1720478084869.png

On the other hand, in the case where you would boot from fuses, consider these fuse regions:

-eFuse 0x940 FLEXSPI_INSTANCE: Used to select which FLEXSPI instance is going to use:

Habib_MS_1-1720478084870.png

-eFuse 0x9A0 FLEXSPI_PIN_GROUP_SEL: Select which PORT connection are going to use.

-eFuse 0x9A0 FLEXSPI_DQS_PIN_SEL: Select which DQS pin is going to use.

-eFuse 0x9A0 FLEXSPI_CONNECTION_SEL: Select which pin group are going to use:

Habib_MS_2-1720478084871.png

Remember that DQS pin variates depending on the used PORT. Complementing the idea, this post has more information about DQS pin that could be helps. Additionally, the memory map of the FLEXSPI2 starts in the address 6000_0000, as shown the memory map in the RM:

Habib_MS_3-1720478084872.png

Also, if you experience any issue, do not hesitate to let me know.

BR

Habib.