51 lines
2.3 KiB
Diff
51 lines
2.3 KiB
Diff
|
|
From 322f39889ff60a6fda87d7d95a6f233efb558e8a Mon Sep 17 00:00:00 2001
|
||
|
|
From: Marco Palumbi <Marco.Palumbi@tii.ae>
|
||
|
|
Date: Thu, 1 Aug 2024 10:15:02 +0100
|
||
|
|
Subject: [PATCH] hw/arm/mps2-tz.c: fix RX/TX interrupts order
|
||
|
|
|
||
|
|
The order of the RX and TX interrupts are swapped.
|
||
|
|
This commit fixes the order as per the following documents:
|
||
|
|
* https://developer.arm.com/documentation/dai0505/latest/
|
||
|
|
* https://developer.arm.com/documentation/dai0521/latest/
|
||
|
|
* https://developer.arm.com/documentation/dai0524/latest/
|
||
|
|
* https://developer.arm.com/documentation/dai0547/latest/
|
||
|
|
|
||
|
|
Cc: qemu-stable@nongnu.org
|
||
|
|
Signed-off-by: Marco Palumbi <Marco.Palumbi@tii.ae>
|
||
|
|
Message-id: 20240730073123.72992-1-marco@palumbi.it
|
||
|
|
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
|
||
|
|
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
|
||
|
|
(cherry picked from commit 5a558be93ad628e5bed6e0ee062870f49251725c)
|
||
|
|
Signed-off-by: zhujun2 <zhujun2_yewu@cmss.chinamobile.com>
|
||
|
|
---
|
||
|
|
hw/arm/mps2-tz.c | 6 +++---
|
||
|
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||
|
|
|
||
|
|
diff --git a/hw/arm/mps2-tz.c b/hw/arm/mps2-tz.c
|
||
|
|
index 668db5ed61..9d9c263ef8 100644
|
||
|
|
--- a/hw/arm/mps2-tz.c
|
||
|
|
+++ b/hw/arm/mps2-tz.c
|
||
|
|
@@ -435,7 +435,7 @@ static MemoryRegion *make_uart(MPS2TZMachineState *mms, void *opaque,
|
||
|
|
const char *name, hwaddr size,
|
||
|
|
const int *irqs, const PPCExtraData *extradata)
|
||
|
|
{
|
||
|
|
- /* The irq[] array is tx, rx, combined, in that order */
|
||
|
|
+ /* The irq[] array is rx, tx, combined, in that order */
|
||
|
|
MPS2TZMachineClass *mmc = MPS2TZ_MACHINE_GET_CLASS(mms);
|
||
|
|
CMSDKAPBUART *uart = opaque;
|
||
|
|
int i = uart - &mms->uart[0];
|
||
|
|
@@ -447,8 +447,8 @@ static MemoryRegion *make_uart(MPS2TZMachineState *mms, void *opaque,
|
||
|
|
qdev_prop_set_uint32(DEVICE(uart), "pclk-frq", mmc->apb_periph_frq);
|
||
|
|
sysbus_realize(SYS_BUS_DEVICE(uart), &error_fatal);
|
||
|
|
s = SYS_BUS_DEVICE(uart);
|
||
|
|
- sysbus_connect_irq(s, 0, get_sse_irq_in(mms, irqs[0]));
|
||
|
|
- sysbus_connect_irq(s, 1, get_sse_irq_in(mms, irqs[1]));
|
||
|
|
+ sysbus_connect_irq(s, 0, get_sse_irq_in(mms, irqs[1]));
|
||
|
|
+ sysbus_connect_irq(s, 1, get_sse_irq_in(mms, irqs[0]));
|
||
|
|
sysbus_connect_irq(s, 2, qdev_get_gpio_in(orgate_dev, i * 2));
|
||
|
|
sysbus_connect_irq(s, 3, qdev_get_gpio_in(orgate_dev, i * 2 + 1));
|
||
|
|
sysbus_connect_irq(s, 4, get_sse_irq_in(mms, irqs[2]));
|
||
|
|
--
|
||
|
|
2.41.0.windows.1
|
||
|
|
|