diff options
| author | Tom Rini <[email protected]> | 2020-01-25 12:04:59 -0500 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2020-01-25 12:04:59 -0500 |
| commit | d31dd3b596190bdecbd109e404f16bd208fe32ba (patch) | |
| tree | d862bd67736079799b474d876f38b75032ade5b6 /drivers/serial | |
| parent | 2c871f9e084b2c03d1961884228a6901387ab8d6 (diff) | |
| parent | 683b7c2a170a71bded99bb9e7dfd26372427ca1c (diff) | |
Merge branch '2020-01-24-master-imports'
- Enable fastboot on some MediaTek platforms
- DMA enchancements
- Assorted bugfixes
Diffstat (limited to 'drivers/serial')
| -rw-r--r-- | drivers/serial/ns16550.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c index a92d2b1de88..9851663dc54 100644 --- a/drivers/serial/ns16550.c +++ b/drivers/serial/ns16550.c @@ -171,6 +171,13 @@ void NS16550_init(NS16550_t com_port, int baud_divisor) == UART_LSR_THRE) { if (baud_divisor != -1) NS16550_setbrg(com_port, baud_divisor); + else { + // Re-use old baud rate divisor to flush transmit reg. + const int dll = serial_in(&com_port->dll); + const int dlm = serial_in(&com_port->dlm); + const int divisor = dll | (dlm << 8); + NS16550_setbrg(com_port, divisor); + } serial_out(0, &com_port->mdr1); } #endif |
