<div dir="ltr">The rpi1 and rpi2 use the PL011 UART, whereas, with RPI's equipped with wireless/Bluetooth module, the PL011 is connected to the Bluetooth module, and the mini UART is used as the primary UART.<div><br></div><div><a href="https://www.raspberrypi.org/app/uploads/2012/02/BCM2835-ARM-Peripherals.pdf">https://www.raspberrypi.org/app/uploads/2012/02/BCM2835-ARM-Peripherals.pdf</a></div><div><div>But from the above doc (PAGE 10), the mini uart has 16550 like registers and RTEMS already has the driver for it bsps/shared/dev/serial/ns16550.c. But I am not sure how compatible they are? Should a new driver be implemented from scratch or use ns16550 if possible?</div></div><div><br></div><div>Also, the core clock on which the PL011 is based on is changed in rpi3. Rpi1 and 2 use 250Mhz as the default clock but it was changed to 400Mhz in Rpi3 and newer</div><div><br></div><div>Few differences between PL011 and Mini uart</div><div><div>The mini UART has smaller FIFOs. Combined with the lack of flow control, this makes it more prone to losing characters at higher baud rates. It is also generally less capable than the PL011, mainly due to its baud rate link to the VPU clock speed.<br><br>The particular deficiencies of the mini UART compared to the PL011 are :<br><br>No break detection<br>No framing errors detection<br>No parity bit<br>No receive timeout interrupt<br>No DCD, DSR, DTR or RI signals</div><div><br></div></div></div>