]> git.proxmox.com Git - mirror_qemu.git/commit
hw/char/imx_serial: Implement receive FIFO and ageing timer
authorRayhan Faizel <rayhan.faizel@gmail.com>
Thu, 25 Jan 2024 15:19:32 +0000 (20:49 +0530)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 26 Jan 2024 11:34:21 +0000 (11:34 +0000)
commit988f244297199402dc4a0230b7aed208e85a918e
tree9ddfdb1c4dd2112c1dc1fcc5859bd18e0f1317da
parent1acf21599859cf2a23a7c9a839f8be7ad555e351
hw/char/imx_serial: Implement receive FIFO and ageing timer

This patch implements a 32 half word FIFO as per imx serial device
specifications.  If a non empty FIFO is below the trigger level, an
ageing timer will tick for a duration of 8 characters.  On expiry,
AGTIM will be set triggering an interrupt.  AGTIM timer resets when
there is activity in the receive FIFO.

Otherwise, RRDY is set when trigger level is exceeded.  The receive
trigger level is 8 in newer kernel versions and 1 in older ones.

This change will break migration compatibility for the imx boards.

Signed-off-by: Rayhan Faizel <rayhan.faizel@gmail.com>
Message-id: 20240125151931.83494-1-rayhan.faizel@gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
[PMM: commit message tidyups]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/char/imx_serial.c
include/hw/char/imx_serial.h