Skip to main content
Lead
August 7, 2024
Question

Op-tee Debug message: print_probe_list:409 Failed list: 0 elements

  • August 7, 2024
  • 2 replies
  • 3832 views

It's fun to debugging the output when I flashing the processor/eMMC from CubeProgrammer via USB. But it's less fun to not knowing the cause of the error.

What can it be in this case?

Do I have forgot the sett the board ID, is the unknown VDD the error?

What I have done, is to copy the most of stm32mp15xx-dk1.dtsi into stm32mp15x-<your project device tree>-mx.dts because my custom made bord is the same as STM32MP157D-DK1 + eMMC boot. 

 

See the post here: Debug Output UART
My device tree .dts files: Device Tree STM32MP151AAC3 

 

 

 

2 replies

Erwan SZYMANSKI
Technical Moderator
August 8, 2024

Hello @DMårt ,
Sorry but I cannot access your logs, can you put it here ?
Concerning the log you put in title, this is not an error log. It just says that the number of Failed probed item is 0.

I will need the info of your first link to go deeper.

Can you also precise me your software version ? 

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.
DMårtAuthor
Lead
August 8, 2024

Hello @Erwan SZYMANSKI 

I upload the log here as a text file: https://easyupload.io/ykdhui

 

Yes. I can give you the whole software: https://github.com/DanielMartensson/STM32-Computer/tree/main/Firmware/STM32-Computer-Firmware

 

I'm running CubeIDE 1.16.0 version with latest SDK and Sources. 

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-ComputerSTM32MP257FAK3 custom board with STM64-OS as operating system: https://github.com/DanielMartensson/STM64-Computer
Erwan SZYMANSKI
Technical Moderator
August 8, 2024

@DMårt ,
I see PMIC configuration under I2C4 node in your TF-A DTS and no PMIC configuration in OP-TEE device tree. Moreover I see TF-A logs showing PMIC version so I guess your PCB is not power discrete. Please align the different information between your component device trees.

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.
DMårtAuthor
Lead
August 8, 2024

@Erwan SZYMANSKI 

I tried to add &uart4 inside the .dts file (here) of Op-tee folder inside the Device Tree folder.

I don't know if uart4 should be there. It's not generated by CubeIDE.

 

 

 

/* USER CODE BEGIN addons */
&uart4 {
	pinctrl-names = "default", "sleep", "idle";
	pinctrl-0 = <&uart4_pins_a>;
	pinctrl-1 = <&uart4_sleep_pins_a>;
	pinctrl-2 = <&uart4_idle_pins_a>;
	/delete-property/dmas;
	/delete-property/dma-names;
	status = "okay";
};
/* USER CODE END addons */

 

 

 

 

Here is the code snippet where it fails.

 

 

 

#ifdef CFG_EMBED_DTB
static TEE_Result init_console_from_dt(void)
{
	struct stm32_uart_pdata *pd = NULL;
	void *fdt = NULL;
	int node = 0;
	TEE_Result res = TEE_ERROR_GENERIC;

	fdt = get_embedded_dt();
	res = get_console_node_from_dt(fdt, &node, NULL, NULL);
	if (res == TEE_ERROR_ITEM_NOT_FOUND) {
		fdt = get_external_dt();
		res = get_console_node_from_dt(fdt, &node, NULL, NULL);
		if (res == TEE_ERROR_ITEM_NOT_FOUND)
			return TEE_SUCCESS;
		if (res != TEE_SUCCESS)
			return res;
	}

	pd = stm32_uart_init_from_dt_node(fdt, node); <----- Error


struct stm32_uart_pdata *stm32_uart_init_from_dt_node(void *fdt, int node)
{
	TEE_Result res = TEE_ERROR_GENERIC;
	struct stm32_uart_pdata *pd = NULL;
	struct dt_node_info info = { };
	uint32_t cfg8 = 0;

	_fdt_fill_device_info(fdt, &info, node);

	if (info.status == DT_STATUS_DISABLED)
		return NULL;

	assert(info.reg != DT_INFO_INVALID_REG &&
	 info.reg_size != DT_INFO_INVALID_REG_SIZE); <--- Error

 

 

 

https://github.com/DanielMartensson/STM32-Computer/blob/9a0f8e83b27077a08cff3159adaf190d92d70526/Firmware/STM32-Computer-Firmware/CA7/optee-os-3.19.0-r2/optee-os-stm32mp-3.19.0-stm32mp-r2/core/drivers/stm32_uart.c#L156

If we are looking at the stm32mp151.dtsi here ,of Op-tee, we can see it contains reg.

 

		uart4: serial@40010000 {
			compatible = "st,stm32h7-uart";
			reg = <0x40010000 0x400>;
			interrupts-extended = <&exti 30 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&rcc UART4_K>;
			wakeup-source;
			dmas = <&dmamux1 63 0x400 0x15>,
			 <&dmamux1 64 0x400 0x11>;
			dma-names = "rx", "tx";
			resets = <&rcc UART4_R>;
			status = "disabled";
		};

 

 

In this case, reg must be 0x4001000 and reg_size must be 0x400 I guess.

So why does this error occurs?

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