aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Beschow <shentey@gmail.com>2025-01-11 19:37:00 +0100
committerPeter Maydell <peter.maydell@linaro.org>2025-01-27 13:50:14 +0000
commitb6cd77fbddf020d4dad23476b286fbeb22d4c334 (patch)
treed6a2e8494307152767a9dae87f8e88787c29255a
parentdeeb9969357d377110ac61fe3c6482c7303313ae (diff)
downloadqemu-b6cd77fbddf020d4dad23476b286fbeb22d4c334.zip
qemu-b6cd77fbddf020d4dad23476b286fbeb22d4c334.tar.gz
qemu-b6cd77fbddf020d4dad23476b286fbeb22d4c334.tar.bz2
hw/char/imx_serial: Fix reset value of UFCR register
The value of the UCFR register is respected when echoing characters to the terminal, but its reset value is reserved. Fix the reset value to the one documented in the datasheet. While at it move the related attribute out of the section of unimplemented registers since its value is actually respected. Signed-off-by: Bernhard Beschow <shentey@gmail.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--hw/char/imx_serial.c1
-rw-r--r--include/hw/char/imx_serial.h2
2 files changed, 2 insertions, 1 deletions
diff --git a/hw/char/imx_serial.c b/hw/char/imx_serial.c
index 7c353fd..cb6761d 100644
--- a/hw/char/imx_serial.c
+++ b/hw/char/imx_serial.c
@@ -160,6 +160,7 @@ static void imx_serial_reset(IMXSerialState *s)
s->ucr3 = 0x700;
s->ubmr = 0;
s->ubrc = 4;
+ s->ufcr = BIT(11) | BIT(0);
fifo32_reset(&s->rx_fifo);
timer_del(&s->ageing_timer);
diff --git a/include/hw/char/imx_serial.h b/include/hw/char/imx_serial.h
index 65f0e97..90ba3ff 100644
--- a/include/hw/char/imx_serial.h
+++ b/include/hw/char/imx_serial.h
@@ -109,13 +109,13 @@ struct IMXSerialState {
uint32_t ucr1;
uint32_t ucr2;
uint32_t uts1;
+ uint32_t ufcr;
/*
* The registers below are implemented just so that the
* guest OS sees what it has written
*/
uint32_t onems;
- uint32_t ufcr;
uint32_t ubmr;
uint32_t ubrc;
uint32_t ucr3;