Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux serial tty driver for Raspberry Pi firmware UART #6502

Merged
merged 5 commits into from
Dec 3, 2024

Commits on Dec 2, 2024

  1. raspberrypi-firmware: Add the RPI firmware UART APIs

    Add VideoCore mailbox definitions for the new RPi firmware UART.
    
    Signed-off-by: Tim Gover <[email protected]>
    timg236 committed Dec 2, 2024
    Configuration menu
    Copy the full SHA
    8f9c4fc View commit details
    Browse the repository at this point in the history
  2. serial: core: Add the Raspberry Pi firmware UART id

    Assign a new serial core number for the RPi firmware UART.
    
    Signed-off-by: Tim Gover <[email protected]>
    timg236 committed Dec 2, 2024
    Configuration menu
    Copy the full SHA
    adb7163 View commit details
    Browse the repository at this point in the history
  3. serial: tty: Add a driver for the RPi firmware UART

    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 <[email protected]>
    timg236 committed Dec 2, 2024
    Configuration menu
    Copy the full SHA
    eaeb419 View commit details
    Browse the repository at this point in the history
  4. configs: Enable the RPi FW UART driver

    Enable the RPi firmware driver for Raspberry Pi4 and
    earlier models.
    
    Signed-off-by: Tim Gover <[email protected]>
    timg236 committed Dec 2, 2024
    Configuration menu
    Copy the full SHA
    339953f View commit details
    Browse the repository at this point in the history
  5. dtoverlay: Add an overlay for the Raspberry Pi firmware UART

    Add a device-tree overlay to configure the GPIOs for the
    Raspberry Pi firmware UART.
    
    Example config.txt
    dtoverlay=rpi-fw-uart,txd0_pin=20,rxd0_pin=21
    
    Signed-off-by: Phil Elwell <[email protected]>
    Signed-off-by: Tim Gover <[email protected]>
    timg236 committed Dec 2, 2024
    Configuration menu
    Copy the full SHA
    0f46014 View commit details
    Browse the repository at this point in the history