About enabling SCU in uboot

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

About enabling SCU in uboot

258 Views
shiyiheng
Contributor I

Due to some verification tests, I need to run multi-core in uboot. Now I can run multi-core in uboot, but there are some consistency issues due to the configuration of SCU (Snoop Control Unit). Should I configure SCU in uboot, or is there any guidance document for reference?

0 Kudos
Reply
5 Replies

227 Views
Daniel-Aguirre
NXP TechSupport
NXP TechSupport

Hi,

It seems that this same inquiry has also being opened under the NXP online services. We have already provided an update under the internal case.

Can you confirm that you did open this same request under the NXP online services?

Please, let us know.

0 Kudos
Reply

218 Views
shiyiheng
Contributor I

Thank you for your answer
If there are similar questions in other places and the problem has been solved, could you please provide me with the connection

0 Kudos
Reply

198 Views
Daniel-Aguirre
NXP TechSupport
NXP TechSupport

Hi,

It seems that we might have confused the request.

Can you help us share which S32G product you are using? Also, which BSP version are you working with?

In general, we are seeing that there is no documentation specific to SCU enablement under uboot. We do apologize.

Please, let us know.

0 Kudos
Reply

244 Views
shiyiheng
Contributor I

In addition, I read the ubootd code and found that core0 will use the flush_dcache_range function when sending outgoing messages through pfe, theoretically opening ncore should no longer require flush, because uboot SCU does not take effect.

shiyiheng_0-1719388749796.png

 

0 Kudos
Reply

250 Views
shiyiheng
Contributor I

When I operate,core0 and core1 of cluster0 both open cache and mmu,core0 writes the address 0x34180000-0x34180400 to 0x66666666, and then core1 writes 0x34180200-0x34180400 to 0x9999999 Finally, core0 reads back 0x34180200-0x34180400, and the result is as follows

This is the state of core0 of cluster0 and the same address operation between core0 and core1, core0 0x34180200 is E, core1 0x34180200 is M, obviously the state is not matched

shiyiheng_0-1719386869968.png

shiyiheng_1-1719386903165.png

Also core0 0x341803c0 is M, core1dcahce L1 has no information, but this address content is written by core1, and then core0 to read

shiyiheng_2-1719387120247.png

 

 

0 Kudos
Reply