Using secondary UART for board initialization

Alexander Koch akoch at initse.com
Tue Nov 12 14:42:31 CET 2024


Hi all,

I need to write to (and read from) a UART during board initialization that is
not the same UART the U-Boot serial console is running on.

I'm using CONFIG_DM_SERIAL so I've extended my .dts to enable the additional
UART (including pinmux registers). In my board init code I can find the serial
driver instance of this additional interface via `uclass_get_device_by_name()`
but now I'm stuck finding a way to actually do I/O with this device.

All `serial_putc()`-like functions that I could find are either static to the
actual driver and thus not accessible from `board_init()` or do not accept a
`struct udevice *` as a parameter and seem to work on the main U-Boot serial
console device only.

I could of course copy the functionality of the implementing driver but that
seems wrong to me, given we already have the concept of driver instances.

Could somebody give me a quick hint as to how this is supposed to be done?

The target is an i.MX8MM (thus serial_mxc), in case it matters.

Thanks in advance!


Best regards,

Alex


More information about the U-Boot mailing list