apache / apache/nuttx

[FEATURE] Re-usable PL011 UART driver

Open
#18,836 2 comments 2 reactions 1 assignee Claimed by @linguini1 View on GitHub
Type: Enhancement
Dominant language
C
Stars
4k
Forks
1.7k
Avg merge
1d 17h
Merged PRs (30d)
237

Description

### Is your feature request related to a problem? Please describe.

Currently, the PL011 UART driver is not very flexible. All boards that use it must use the common Kconfig options which limit you to 3 UART interfaces. All code is handled within the driver, and expects that each UART interface has its own unique interrupt.

This does not apply to the Pi4B, which has 5 PL011 UART interfaces and they all share one common interrupt handler. In order to use the PL011 driver with the Pi4B, this driver needs to be modified.

### Describe the solution you'd like

Modify the PL011 UART driver so that individual boards can use the C API to:
- Register as many UARTs as they need
- Control interrupt registration
- Define their own Kconfig options for selecting active UART interfaces/options

### Describe alternatives you've considered

_No response_

### Verification

- [x] I have verified before submitting the report.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.