QSPI Initialization code for TC23x

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Not applicable
Hello All,
I need Initialization code for QSPI on TC23x. I don't intend to use DMA. I need to communicate with or without Interrupts. Thanks.
0 Likes
10 Replies
cbonfigl
Employee
Employee
Hello Farazo,
Glad to hear that you are using the AURIX and want to get things up and running!

Do you have access to the AURIX documentation, SW Framework, and iLLD on myinfineon.com?

The SW Framework and iLLD have QSPI initialization code which you can use to accomplish your task.

If you need help getting your myinfineon.com account, please let me know.

Carl Bonfiglio
Infineon Marketing Manager
carl.bonfiglio@Infineon.com
0 Likes
Not applicable
Hi Do you got any updates on this. Even am looking for this .
0 Likes
lock attach
Attachments are accessible only for community members.
Not applicable
Hope you will find my example helpful.

0 Likes
Not applicable
Thanks for your sample code.. its helped me in better understanding.
0 Likes
User14049
Level 3
Level 3
Hi,
Can anyone help me to understand it.

uint16 endinit_pw = IfxScuWdt_getCpuWatchdogPassword();
IfxScuWdt_clearCpuEndinit(endinit_pw);
((Ifx_QSPI*)spiModule)->CLC.U = 0;
volatile uint32 dummy = ((Ifx_QSPI*)spiModule)->CLC.U;
IfxScuWdt_setCpuEndinit(endinit_pw);
0 Likes
cwunder
Employee
Employee
5 likes given 50 likes received 50 solutions authored
When you write to any special function register (SFR) there are write attributes associated with them. For example do you need to be in supervisor or user mode and if it is a critical register it could be CPU or Safety ENDINIT protected.

The CLC register in the QSPI peripheral has the following write attributes (Supervisor mode and it is CPU ENDINIT protected).
3649.attach

The first line gets the current password being used by the CPU.
The second line opens temporary CPU access by this CPU to an ENDINIT (“End of initialization”) protected register
The third line is writing 0 to the QSPI CLC (clock control register) which enables the clock at the peripheral and allow further access to other registers. If the CLC is not enabled for a peripheral you cannot write other registers in that peripheral.
The forth line read back the value from the peripheral, What you need to know is the CPU has a write buffer, and a read from the same location will force the write to occur before the read.
The fifth line closes that temporary CPU access to ENDINIT
0 Likes
User14049
Level 3
Level 3
Hi ,

I think only enabling clock do't work, there must be some other setting also. Can you help me to understand that or can you share if you have any document on it.


I have configure QSPI, but not able to see any output on data or clock bus either chip select working.
0 Likes
teoBits
Employee
Employee
5 sign-ins 100 replies posted 50 replies posted
Hello farazo,

You can find a code example project for the QSPI module here: QSPI training code example.
this example also comes with a tutorial, which can be found here: QSPI tutorial.

If you are interested in other modules and you want to start programming for AURIX™, you can get the new Integrated Development Environment (IDE) here: AURIX™ Development Studio and get inspired by numerous trainings from here: AURIX™ Trainings.

If you are not familiar with Eclipse based IDE’s checkout the Getting Started guide!

Hope it helps,
teoBits
0 Likes
User21730
Level 1
Level 1
5 replies posted 5 questions asked First reply posted
Hi All,

Me as well if someone can give a hint.

Thank you
0 Likes
User21730
Level 1
Level 1
5 replies posted 5 questions asked First reply posted
KDN wrote:
Hi ,

I think only enabling clock do't work, there must be some other setting also. Can you help me to understand that or can you share if you have any document on it.


I have configure QSPI, but not able to see any output on data or clock bus either chip select working.


Hi KDN,

Did you find the issue or where the read data are stored?

Best regards,
BADR
0 Likes