How to configure the clock module?

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

How to configure the clock module?

749 Views
Siyan
Contributor III

Hi, NXP,

On S32G399, we run one instance of Classic AutoSAR on M7-0, one instance of Classic AutoSAR on M7-2 and one instance of Linux on A53.

We expect all of these instances could run independently, so all of them configured the clock module. And there's no problem when they run independently. But when we use Bootloader to load and run all of these instances, some functions can't work and even system reset occurs.

How to configure the clock module in above case, all instance need configure the clock and no conflict when work together.

Tags (1)
0 Kudos
5 Replies

726 Views
Daniel-Aguirre
NXP TechSupport
NXP TechSupport

Hi,

The clock module is shared between the different cores of the S32G3. If all n cores initialize the clock module, you will be n times configuring the clock module. If 1 one core is running its application, another core could be configuring the clock module, which is not expected.

This initialization should be done just once, with the core that the developer requires/selects. Some guidelines are provided under the following link:

S32G Bootloader Customzition - NXP Community

Maybe not be the exact platform nor BSP, but it provides an insight on how the clock module can be modified to prevent the conflicts you might be experiencing. This is just one possibility.

Please, let us know.

0 Kudos

714 Views
Siyan
Contributor III

Hi, Daniel,

I have looked through the guidance document you provided.

It suggests to configure all shared modules that may have conflicts in the Bootloader.

However, there are still some peripherals that need to reconfigure clock module, such as the Serdes module.

We only use Serdes in our Application software and it is strange to move the configuration of Serdes to Bootloader.

Is there any other way to deal with this issue. Thanks.

Siyan_0-1685062007852.png

 

0 Kudos

678 Views
Daniel-Aguirre
NXP TechSupport
NXP TechSupport

Hi,

The following update is provided from the internal team:

"We strongly recommend that the clock configuration be managed by the bootloader and not by other modules. Managing clocks separately may lead to unpredictable situations when encountering problems.

For SerDes, it is not strange to move the configuration of Serdes to Bootloader.

Many customers implement the clock/port initialization to Bootloader, it is a safe way to management the resource."

Please, let us know.

0 Kudos

662 Views
Siyan
Contributor III

Hi, Daniel,

Thanks for your quick feedback.

We'll try to initialize share modules in Bootloader.

 

0 Kudos

700 Views
Daniel-Aguirre
NXP TechSupport
NXP TechSupport

Hi,

Thanks for your feedback.

The configuration that should be moved to Bootloader is the one that all cores will require (i.e. clocking module). If you are using a module which is only used by 1 core, and no other core, then it should only be initialized once, hence there should be no problem.

The idea of moving some initializations to bootloader is to only configure it once.

As for the SerDes situation, let us confirm what is the recommended scheme of initialization. We have both A53 and M7 running using the NXP provided bootloader and see no problem on the execution of both applications, even though uboot/Linux initializes the SerDes module.

Please, let us know.

0 Kudos