Hello Simon, I am trying to get the current U-Boot master working on the PDU001 board. This involves the use of an early debug UART.
With commit 0dba4586 (arm: Init the debug UART) the early debug UART on the AM33XX SoC doesn't work anymore. By looking at the code involved I believe a call to setup_clocks_for_console() implemented in clock_am33xx.c before the call to debug_uart_init() is missing. This is also what happens prior to commit 0dba4586 by a call to early_system_init() which in turn calls setup_early_clocks() which then calls setup_clocks_for_console(). My quick and dirty fix consist of inserting a call in crt0.S to setup_clocks_for_console() just before the call to debug_uart_init() which was added in commit 0dba4586. I have guarded this call with #if/#endif testing for CONFIG_AM33XX. The code sequence in crt0.S now looks like this: #if defined(CONFIG_DEBUG_UART) && CONFIG_IS_ENABLED(SERIAL) #if defined(CONFIG_AM33XX) bl setup_clocks_for_console #endif bl debug_uart_init #endif However, from what I understand the crt0.S is for _all_ ARM boards hence it's probably a bad idea polluting it with such #if/#endif tests for different SoCs. What do you think? If my quick and dirty fix is not that dirty I would be happy to send a patch which would also include the removal of the currently remaining call to debug_uart_init() in am33xx/board.c Please apologize my narrow view of the matter dealing only with AM33XX SoCs. -- Felix