Question about LLCE clock in S32G

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Question about LLCE clock in S32G

跳至解决方案
2,157 次查看
youke
Contributor III

Hi NXP,

I am using hardware as S32G274rdb2 and have implemented bootloader to drive 3 M cores + A core according to AN13750 with the following versions of each module:
LLCE:1.0.8, RTD:4.0.2, Linux_BSP:BSP42 (kernel:5.15.158)
I initialized LLCE in the M0 core and configured the llce_pe clock to 40M (FXOSC_CLK) and configured the baud rate of LLCE_can to 250k, but the LLCE_can output clock that I captured through the oscilloscope is incorrect, what could be the reason?
Using clk dump in u-boot to get llce_can_pe clock as 0,as follows:
0                     0   |-- llce_can_pe
200000000   0   |-- llce_sys
80000000     0   |-- llce_per

thanks,

 

标记 (2)
0 项奖励
回复
1 解答
2,082 次查看
Joey_z
NXP Employee
NXP Employee

hi,youke

Have you configured the PLL as shown in the following picture?

Joey_z_0-1739327654840.pngJoey_z_1-1739327666524.png

If you have done, and the tf-a did not start successfully after turning on the PLL clock in McuLockSettings Disable PLL, I thank it is not suitable for you. You can try unchecking the MCU control in Mux7.

Joey_z_2-1739327693123.png

In addition,  you can try turning off the clock operations for llce in tf-a, u-boot, and kernel, using the values configured in bootloader, It's a suggested way for you.

BR

Joey

 

在原帖中查看解决方案

0 项奖励
回复
8 回复数
2,133 次查看
Joey_z
NXP Employee
NXP Employee

Hi,youke

Thank you for contacting us.

Do you have a test  that only start M Core to capture the LLCE_can output clock? Please make sure you correctly configure the mux7 of MC_CGM _0 in MCU clock setting. 

In addition, you can try to enable all LLCE clocks by referring to the attached picture.

Hope it can help you.

BR

Joey

 

 

0 项奖励
回复
2,119 次查看
youke
Contributor III

Hi joey,

1.   I am currently using bootloader to pull up multi-core, and the initial program for M-core is IPCF. I have ported the LLCE code;
2.  I have tried to test the LLCE project of M core separately and it is available.
3.  I saw that the bootloader's sysdal module's powerUp ->SystemPowerUpConfiguration-0->DeinitList has the initialization of Mcu_initClock McuLockSetDisable PLL. I configured McuLockSetDisable PLL for Mcu ->McuLockSettingConfi and modified McuCGm0ClockMux7 as follows
4.  I followed the command in the bootloader you provided and used clk dump. I can see that llce_can_pe is 80000000. After entering the system, I tested that llce_can did not output, and the log showed that it was stuck in the Llce_fFirmware_Load function
5.  I am considering using bootloader to initialize all clocks for llce, and turning off clock operations for llce in tf-a, u-boot, and kernel, using the values configured in bootloader. Is this approach correct?

thanks,

youke_0-1739236580181.png

 

0 项奖励
回复
2,113 次查看
Joey_z
NXP Employee
NXP Employee

hi,youke

Thank you for your reply.

There should be an incompatibility for the llce_can_pe between the M-core and A-core, you can turn off the clock operations for llce in tf-a, u-boot, and kernel, using the values configured in bootloader.

In addition, in order to find the problem, you can try to configure CAN_PE_CLK as 40MHz in TF-A/u-boot, or set M core CAN_PE_CLK as 80Mhz as shown in the following picture.

Joey_z_0-1739252609500.png

BR

Joey

 

0 项奖励
回复
2,109 次查看
youke
Contributor III

Hi joey,

1. I have followed your instructions and configured the CANP_PE-CLK of M7-0 core to 80M, and configured the MCU ->McuLockSettingDnfig.0 CANP_PE-CLK of bootloader to 80M, The CANP_PE-CLK in McuLockSettings Disable PLL is not configured because I found that tf-a did not start successfully after turning on the PLL clock in McuLockSettings Disable PLL;
After this configuration, my llce clock output still doesn't work;
2. I tried to shut down the operation of tf-a, but now the bootloader only starts M7-0/1/2 cores. However, the clock output of LLCE.can in M7-0 is still incorrect. Do you have any other troubleshooting ideas?

thanks,

0 项奖励
回复
2,083 次查看
Joey_z
NXP Employee
NXP Employee

hi,youke

Have you configured the PLL as shown in the following picture?

Joey_z_0-1739327654840.pngJoey_z_1-1739327666524.png

If you have done, and the tf-a did not start successfully after turning on the PLL clock in McuLockSettings Disable PLL, I thank it is not suitable for you. You can try unchecking the MCU control in Mux7.

Joey_z_2-1739327693123.png

In addition,  you can try turning off the clock operations for llce in tf-a, u-boot, and kernel, using the values configured in bootloader, It's a suggested way for you.

BR

Joey

 

0 项奖励
回复
1,953 次查看
youke
Contributor III

Hi joey,

I found through testing that I configured the clock source for McuCGm0ClockMux7 in the bootloader to be FXOSC_CLK 40M. After booting to the M0 core, LLCE.can output correctly;

If the output frequency of M0 core LLCEcan changes after the Linux startup of A core is completed, it is found through calculation that CAN-PE-CLK should be changed to 48M;

I have already commented out all llce clocks in TF-A (see attachment for TF-A modifications). Do you still need to modify u-boot or kernel? How to modify?

thanks

0 项奖励
回复
1,939 次查看
youke
Contributor III

Hi joey,

I found that in tf-a, I did not modify the clock source in the device tree. After modifying it, the LLCE clock is correct. Thank you for your support;

youke_0-1739775375543.png

 

thanks,

0 项奖励
回复
1,933 次查看
Joey_z
NXP Employee
NXP Employee

hi,youke

Thank you for sharing your experience, and I am glad to help you, welcome to ask new ticket when you have other question.

BR

Joey

0 项奖励
回复