Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
serial: 8250_dw: Add support for RZ/N1 DMA
The Renesas RZ/N1 devices have a modified Synopsys DW UART. The modifications are mostly related to the DMA handlnig, and so this patch adds support for DMA. The RZ/N1 UART must be used with the peripheral as the flow controller. This means the DMA length should also be programmed into UART registers. Aside from this, there are some points to note about DMA burst sizes. First, DMA must not remove all of the data from the rx FIFO. Otherwise, we do not get a 'character timeout' interrupt, and so do not know that we should push data up the serial stack. Therefore, we have the rx threshold for generating an interrupt set to half the FIFO depth (this is the default for 16550A), and set the DMA burst size when reading the FIFO to a quarter of the FIFO depth. Second, when transmitting data using DMA, the burst size must be limited to 1 byte to handle then case when transmitting just 1 byte. Otherwise the DMA doesn't complete the burst, and nothing happens. Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
- Loading branch information
1 parent
217b9a9
commit 27904fc
Showing
3 changed files
with
40,097 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.