mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
On Raspberry Pi 4 and earlier models the firmware provides a low speed (up to 115200 baud) bit-bashed UART on arbitrary GPIOs using the second VPU core. The firmware driver is designed to support 19200 baud. Higher rates up to 115200 seem to work but there may be more jitter. This can be useful for debug or managing additional low speed peripherals if the hardware PL011 and 8250 hardware UARTs are already used for console / bluetooth. The firmware driver requires a fixed core clock frequency and also requires the VPU PWM audio driver to be disabled (dtparam=audio=off) Runtime configuration is handled via the vc-mailbox APIs with the FIFO buffers being allocated in uncached VPU addressable memory. The FIFO pointers are stored in spare VideoCore multi-core sync registers in order to reduce the number of uncached SDRAM accesses thereby reducing jitter. Signed-off-by: Tim Gover <tim.gover@raspberrypi.com> serial: rpi-fw-uart: Demote debug log messages A dev_info call in rpi_fw_uart_configure causes kernel log output every time one opens the UART. Demote it to dev_dbg. Signed-off-by: Phil Elwell <phil@raspberrypi.com>