cancel
Showing results for 
Search instead for 
Did you mean: 

Does Linux block USART6 early debug output when starting?

DMårt
Lead

I have an issue were the Linux kernel is booting, then it just stops printing out messages from USART6.

Meanwhile, optee, u-boot and TF-a is printing out messages from USART6. But not Linux after a while.

What can have caused this?

My processor is: STM32MP257F.

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer

STM32MP257FAK3 custom board with STM64-OS as operating system: https://github.com/DanielMartensson/STM64-Computer
6 REPLIES 6
Erwan SZYMANSKI
ST Employee

Hello @DMårt ,
Are you sure you don't have a firmware running on M33 that uses or just reconfigure the USART6 instance ? The fact that you have the logs at the beginning but disappear after some time let me think about a such possibility.

[Edit: if not, the USART6 is certainly well configured in earliest boot stages, and Linux does not keep a good configuration on it, but maybe more logs could help to understand exactly where does it disappear]

Kind regards,
Erwan.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

Hi @Erwan SZYMANSKI 

Here is the log.

As you can see

vddio2: disabling
vddio3: disabling
vddio4: disabling
vddcore: disabling
v1v8: disabling
v3v3: disabling

I don't know why this is happening inside Linux. 

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer

STM32MP257FAK3 custom board with STM64-OS as operating system: https://github.com/DanielMartensson/STM64-Computer

Hello @DMårt ,
I think you have a misalignment between your kernel version and your other OpenSTLinux BSP components.

I just felt on this issue by pure chance when working on another topic. It was due to my BSP on OpenSTLinux v6.2 (OP-TEE, TF-A, U-Boot), while my kernel was in OSTL 6.1.

Please double check this.

The blocking point is not the USART at all, but in your complete log, you see the RCC probe is broken:

[ 6.578092] stm32mp25_rcc 44200000.clock-controller: Can't register clk 2: -17
[ 6.583185] stm32 clock failed to initialize
[ 6.587482] stm32mp25_rcc: probe of 44200000.clock-controller failed with error -17

Kind regards,
Erwan.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

@Erwan SZYMANSKI 

Thank you!

It seems that Linux cannot register he HSE clock!!! Or if it's MSI close clock?

I haven't seen that error message! I will look it up. Giving you a reply later.

 

Edit:

I will look it up what versions I have.

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer

STM32MP257FAK3 custom board with STM64-OS as operating system: https://github.com/DanielMartensson/STM64-Computer

Hi again @Erwan SZYMANSKI 

I'm using the kernel, TF-a, u-boot and optee from meta-st-stm32mp.

So it's currently version 6.6.78.

Also the firmware for MP2 is 1.3 in CubeMX.

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer

STM32MP257FAK3 custom board with STM64-OS as operating system: https://github.com/DanielMartensson/STM64-Computer

Hi again @Erwan SZYMANSKI 

CLK number n = 2 is the CK_BUS_ETHSW. 

See:

 

https://github.com/STMicroelectronics/linux/blob/v6.6-stm32mp/drivers/clk/stm32/clk-stm32mp25.c#L2025

https://github.com/STMicroelectronics/linux/blob/v6.6-stm32mp/drivers/clk/stm32/clk-stm32mp25.c#L2380

https://github.com/STMicroelectronics/linux/blob/v6.6-stm32mp/drivers/clk/stm32/clk-stm32-core.c#L51

https://github.com/STMicroelectronics/linux/blob/v6.6-stm32mp/drivers/clk/stm32/clk-stm32-core.c#L63

 

Notice:

My Ethernet PHY Realtek is not assembled due to over heating in the ETH PHY (caused by bad soldering). I removed it by using hot air.

But this should not stop Linux to boot I guess?

 

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-Computer

STM32MP257FAK3 custom board with STM64-OS as operating system: https://github.com/DanielMartensson/STM64-Computer