
Dear Wolfgang,
From: Wolfgang Denk wd@denx.de Sent: jeudi 23 avril 2020 22:40
Dear Patrick,
In message 8970fb86c1374d1999ff656c2a3272da@SFHDAG6NODE3.st.com you wrote:
[...]
/* enable console uart printing */ preloader_console_init();
- if (clk || reset || pinctrl)
printf("%s: probe failed clk=%d reset=%d pinctrl=%d\n",
__func__, clk, reset, pinctrl);
This change makes little sense to me/ If you want error messages, then just turn above debug() into printf(), and be done with it. As an additional benefit so see at once which step failed.
In this patch, I try to display error as soon as console is available (after preloader_console_init) , if after one driver initialization (clk, reset, pincontrol) failing.
Change debug to printf only works only if CONFIG_DEBUG_UART is activated (not by default) and board_debug_uart_init() exist to configure the needed UART TX pins.
Maybe you can remember an error code so you can tell the user which of the steps failed? That would be more useful, then.
After check, I agree with you first comment.
Because console over serial can work only if the driver required for uart driver (clk, reset, pincontrol) can probe.
So CONFIG_DEBUG_UART is mandatory to identify the failing step and debug() is enough in this case.
In fact my initial issue was only the simple return (and SPL boot continue) when a error was detected: I replace them by hang() calls.
That simplify the implementation in V2:
[PATCH v2 02/12] arm: stm32mp: spl: update error management in board_init_f http://patchwork.ozlabs.org/project/uboot/patch/20200422142834.v2.2.I703cbd8...
Regards
Best regards,
Wolfgang Denk
-- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de I know engineers. They love to change things. - Dr. McCoy
Patrick