53 lines
2.0 KiB
Diff
53 lines
2.0 KiB
Diff
|
|
From 33994eff45e75e91acf0a4753fec77ad0027e4dd Mon Sep 17 00:00:00 2001
|
||
|
|
From: Song Gao <gaosong@loongson.cn>
|
||
|
|
Date: Fri, 26 Apr 2024 17:15:50 +0800
|
||
|
|
Subject: [PATCH 15/78] hw/loongarch: Add cells missing from uart node
|
||
|
|
|
||
|
|
uart node need interrupts and interrupt-parent cells.
|
||
|
|
|
||
|
|
Signed-off-by: Song Gao <gaosong@loongson.cn>
|
||
|
|
Reviewed-by: Bibo Mao <maobibo@loongson.cn>
|
||
|
|
Message-Id: <20240426091551.2397867-17-gaosong@loongson.cn>
|
||
|
|
Signed-off-by: Xianglai Li <lixianglai@loongson.cn>
|
||
|
|
---
|
||
|
|
hw/loongarch/virt.c | 9 +++++++--
|
||
|
|
1 file changed, 7 insertions(+), 2 deletions(-)
|
||
|
|
|
||
|
|
diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c
|
||
|
|
index ff9513034b..a6aea52ebb 100644
|
||
|
|
--- a/hw/loongarch/virt.c
|
||
|
|
+++ b/hw/loongarch/virt.c
|
||
|
|
@@ -272,7 +272,8 @@ static void fdt_add_rtc_node(LoongArchMachineState *lams)
|
||
|
|
g_free(nodename);
|
||
|
|
}
|
||
|
|
|
||
|
|
-static void fdt_add_uart_node(LoongArchMachineState *lams)
|
||
|
|
+static void fdt_add_uart_node(LoongArchMachineState *lams,
|
||
|
|
+ uint32_t *pch_pic_phandle)
|
||
|
|
{
|
||
|
|
char *nodename;
|
||
|
|
hwaddr base = VIRT_UART_BASE;
|
||
|
|
@@ -285,6 +286,10 @@ static void fdt_add_uart_node(LoongArchMachineState *lams)
|
||
|
|
qemu_fdt_setprop_cells(ms->fdt, nodename, "reg", 0x0, base, 0x0, size);
|
||
|
|
qemu_fdt_setprop_cell(ms->fdt, nodename, "clock-frequency", 100000000);
|
||
|
|
qemu_fdt_setprop_string(ms->fdt, "/chosen", "stdout-path", nodename);
|
||
|
|
+ qemu_fdt_setprop_cells(ms->fdt, nodename, "interrupts",
|
||
|
|
+ VIRT_UART_IRQ - VIRT_GSI_BASE, 0x4);
|
||
|
|
+ qemu_fdt_setprop_cell(ms->fdt, nodename, "interrupt-parent",
|
||
|
|
+ *pch_pic_phandle);
|
||
|
|
g_free(nodename);
|
||
|
|
}
|
||
|
|
|
||
|
|
@@ -657,7 +662,7 @@ static void loongarch_devices_init(DeviceState *pch_pic,
|
||
|
|
qdev_get_gpio_in(pch_pic,
|
||
|
|
VIRT_UART_IRQ - VIRT_GSI_BASE),
|
||
|
|
115200, serial_hd(0), DEVICE_LITTLE_ENDIAN);
|
||
|
|
- fdt_add_uart_node(lams);
|
||
|
|
+ fdt_add_uart_node(lams, pch_pic_phandle);
|
||
|
|
|
||
|
|
/* Network init */
|
||
|
|
for (i = 0; i < nb_nics; i++) {
|
||
|
|
--
|
||
|
|
2.39.1
|
||
|
|
|