Hi, nxp
We are using the S32G2 with the linux_bsp_42 version, booting the M7_0 and A53 cores using the M-core bootloader;
We are currently encountering an issue where the M7_0 core requires access to the ADC and LSPI functions. During the power-on process leading to the U-Boot boot, the ADC and LSPI are available. However, after U-Boot jumps to the kernel, these two modules become unavailable for a period of time. After the kernel has been executing for approximately 2 seconds, the two modules become available again. How can this issue be resolved?
We are currently considering that the kernel may have disabled the ADC and LSPI modules' clocks during startup. After the kernel initialises the ADC and LSPI, these two modules become available. How can this issue be resolved?
thanks,
解決済! 解決策の投稿を見る。
hi,youke
Thank you for your information.
I have understood your question and discussed it with the internal experts. I will reply to you as soon as there is a result.
BR
Joey
hi,youke
Thank you for contacting us.
There might be the reinitialization of the clock or peripherals related to ADC and LSPI modules, resulting in the suspension of ADC and LSPI. Should you avoid these operations in the kernel as much as possible, or does running ADC and LSPI functions after the Kernel starts meet the requirements?
BR
Joey
Hi,joey
Please disregard my previous description and correct it again.
Hardware-wise, the llce_can0 peripheral is connected to the CAN transceiver (LSPI-controlled). This morning, I noticed that there were no messages for 1.5 seconds after the kernel booted up, and I mistakenly assumed that the LSPI-controlled CAN transceiver was faulty. This was incorrect. I found that the llce_can4 without the LSPI CAN transceiver was also unavailable, and the CAN-to-CAN forwarding logic configured on the M core was also disconnected.
This indicates that the entire llce_can functionality is unavailable within the first 1.5 seconds after kernel boot;
Do you have any solutions for this? We believe this is a fundamental issue related to multi-core boot for the LLCE module. Please assist in troubleshooting this issue;
thanks,
hi,youke
Thank you for your information.
I have understood your question and discussed it with the internal experts. I will reply to you as soon as there is a result.
BR
Joey
Hi,joey
Thanks for your help. I've solved the problem.
I found that u-boot closed some modules before jumping to the kernel. After modifying that part of the code, it works fine now.
Thanks again.
hi,youke
Thank you for sharing the experience.
BR
Joey
Hi,joey
The UART used in u-boot can be used directly in the kernel jump (clk: 125M). Can my ADC and LSPI modules be configured in the same way? How should they be configured?
thanks,
Hi,joey
Thank you for your reply.
These modules are used by the M core and cannot wait for the kernel to start before being used, as this takes too long.
These modules are available during the u-boot stage. How can we reuse these states when the kernel starts up so that they do not have to be initialised from scratch? Do you have any suggestions?