[Letux-kernel] X1600: Fixed the UART initialisation

Paul Boddie paul at boddie.org.uk
Mon Feb 26 01:28:29 CET 2024


Hello,

I've pushed another commit to work-x1600-v6 that allows the UART to be 
initialised and remain functioning.

First of all, I removed superfluous UART device node properties, just to avoid 
any potential complications. Then, I changed the naming of extclk (and also 
rtcclk) to observe the conventions employed in other device tree files. Since 
there is some kind of device tree navigation in the driver...

        offset = fdt_path_offset(fdt, "/ext");

...I thought it might influence the situation and that such consistency 
wouldn't be harmful, anyway.

Since the "earlycon" kernel parameter was causing a warning, I looked through 
the documentation about that parameter and found that the "early console" was 
influenced by stdout-path which wasn't being set, so like in the CI20 device 
tree, I set that up in our device tree.

I then found that the UART remained active but wouldn't provide a login 
prompt. This was due to UART2 being assigned to ttyS0 because the other UART 
peripherals were not being enabled - UARTs are presumably assigned from zero 
based on availability - and yet the console boot argument specifies ttyS2. 
Testing with the console specified as ttyS0 yielded a login prompt.

So, I have enabled all the UART peripherals for now, as is done for the CI20. 
Booting with that configuration permits the use of the existing boot 
arguments, ttyS2 as the console.

Hope this helps things along a bit!

Paul




More information about the Letux-kernel mailing list