imx rt1024: no DQS, fexspi at 60 MHz fails

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

imx rt1024: no DQS, fexspi at 60 MHz fails

Jump to solution
583 Views
bp1979
Senior Contributor I

In all my recent posts on this forum I am struggling getting our second flash on our board working properly.

Currently the biggest not understood area is the flexspi clock. As we understand the documentation and the clarifications / confirmations we receive on this forum, we can use flash connected to port A1 and port B1 without DQS, if we follow these rules:

- do not configure DQS in system_MIMXRT1024.c (SystemInit function)

- overwrite FCB with sample clock source set to internally

- overwrite FCB with configured flash speed is 60 MHz

- set the FlexSPI clock to exactly 60 MHz or less

When I follow all these steps, it simple does not work.

I adapted the nor_polling SDK example and attached it to this project.

The clock source for the flexspi clock is set in the app.h as follows:

    CLOCK_InitSysPfd(kCLOCK_Pfd3, 24);    /* Set PLL3 clock 480MHZ. */
    CLOCK_SetMux(kCLOCK_FlexspiMux, 0x1); /* Choose PLL3 clock as flexspi source clock. */
    CLOCK_SetDiv(kCLOCK_FlexspiDiv, 8);   /* flexspi clock 60 MHz. */

As the comments explain, instead of Pdf2 I select Pdf3, and set it to 480 MHz. The set the divider to 8 which gives exactly 60 MHz according to the clock tool in MCUxpresso.

When I run this example, I get a hardfault directly after leaving the calls running in ITC memory. When I set the divider to e.g. 6 (which would give a flexspi clock running at 80 MHz), then everything works fine.

We need to understand why. What are we still doing wrong, or are we still misunderstanding something crucial? Why won't the SDK example work with a flexspi clock running at 60 MHz?

 

 

 

0 Kudos
1 Solution
555 Views
bp1979
Senior Contributor I

Hi @kerryzhou 

This works fine when I enter a valid divider (7 instead of 8).

Thanks a lot for pointing that out!!!

View solution in original post

4 Replies
566 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi @bp1979 ,

  Thank you for your question.

  Do you test the on the NXP MIMXRT1024-EVK board to reproduce the issues or your own customer board?

 Please tell me your test board, thanks.

 

Best Regards,

kerry

0 Kudos
558 Views
bp1979
Senior Contributor I

Hi @kerryzhou ,

I think this is solved with the same solution you already mentioned, I should use the value "7" as divider, not "8".

I will test again and report back here.

In this case I reproduced the problem on the 1024 EVK, but the root cause is clear, I was using a nonsense value for clock divider.

0 Kudos
556 Views
bp1979
Senior Contributor I

Hi @kerryzhou 

This works fine when I enter a valid divider (7 instead of 8).

Thanks a lot for pointing that out!!!

550 Views
kerryzhou
NXP TechSupport
NXP TechSupport

 Hi @bp1979 ,

  You are always welcome!

  Any new issues in the future, welcome to create the new question post and let us know!

 

Best Regards,

Kerry

0 Kudos