Package: u-boot-rpi Version: 2020.10+dfsg-1+b1 Severity: important Appears "standard" device trees for the Raspberry PI 4B connect the serial pins to the mini-UART. This is troublesome due to the mini-UART's baud rate changing when the processor clock changes.
Often Raspberry PI devices have an initial boot phase where the processor clock is locked at maximum for a period, and then decreased. If/when that decrease occurs, the baud rate changes and suddenly serial communication becomes corrupt. 3 strategies come to mind for U-Boot: 1> Dynamically modify the baud rate register as the processor clock changes. If the processor clock is increased, decrease the baud rate register. If the processor clock is decreased, increase the baud rate register. 2> Peg the processor clock at maximum until EFI boot mode is exited. 3> Peg the processor clock at minimum until EFI boot mode is exited. The first is ideal, but requires U-Boot to monitor the processor clock as it changes dynamically. The next two are suboptimal, but not too likely to cause problems. The likely cause for a bootloader (GRUB) to remain active is user interaction via the serial port. In this case a stable baud rate is crucial. GRUB is likely to issue halt instructions while waiting and this should keep processor temperature down. As such I feel pegging the processor clock to max is better than pegging to minimum. Once an OS takes over, EFI boot services should be exited and then it is no longer a U-Boot issue. -- (\___(\___(\______ --=> 8-) EHM <=-- ______/)___/)___/) \BS ( | ehem+sig...@m5p.com PGP 87145445 | ) / \_CS\ | _____ -O #include <stddisclaimer.h> O- _____ | / _/ 8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445