[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[qemu-s390x] [PATCH v3 33/33] Connect the uart reset gpios in the zynq p
From: |
Damien Hedde |
Subject: |
[qemu-s390x] [PATCH v3 33/33] Connect the uart reset gpios in the zynq platform |
Date: |
Mon, 29 Jul 2019 16:56:54 +0200 |
Connect the two uart reset inputs to the slcr corresponding outputs.
Signed-off-by: Damien Hedde <address@hidden>
---
hw/arm/xilinx_zynq.c | 14 ++++++++------
include/hw/char/cadence_uart.h | 10 +++++++++-
2 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c
index 89da34808b..bb56f1e03c 100644
--- a/hw/arm/xilinx_zynq.c
+++ b/hw/arm/xilinx_zynq.c
@@ -165,7 +165,7 @@ static void zynq_init(MachineState *machine)
MemoryRegion *address_space_mem = get_system_memory();
MemoryRegion *ext_ram = g_new(MemoryRegion, 1);
MemoryRegion *ocm_ram = g_new(MemoryRegion, 1);
- DeviceState *dev;
+ DeviceState *dev, *slcr;
SysBusDevice *busdev;
qemu_irq pic[64];
int n;
@@ -210,9 +210,9 @@ static void zynq_init(MachineState *machine)
1, 0x0066, 0x0022, 0x0000, 0x0000, 0x0555, 0x2aa,
0);
- dev = qdev_create(NULL, "xilinx,zynq_slcr");
- qdev_init_nofail(dev);
- sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, 0xF8000000);
+ slcr = qdev_create(NULL, "xilinx,zynq_slcr");
+ qdev_init_nofail(slcr);
+ sysbus_mmio_map(SYS_BUS_DEVICE(slcr), 0, 0xF8000000);
dev = qdev_create(NULL, TYPE_A9MPCORE_PRIV);
qdev_prop_set_uint32(dev, "num-cpu", 1);
@@ -233,8 +233,10 @@ static void zynq_init(MachineState *machine)
sysbus_create_simple("xlnx,ps7-usb", 0xE0002000, pic[53-IRQ_OFFSET]);
sysbus_create_simple("xlnx,ps7-usb", 0xE0003000, pic[76-IRQ_OFFSET]);
- cadence_uart_create(0xE0000000, pic[59 - IRQ_OFFSET], serial_hd(0));
- cadence_uart_create(0xE0001000, pic[82 - IRQ_OFFSET], serial_hd(1));
+ cadence_uart_create(0xE0000000, pic[59 - IRQ_OFFSET], serial_hd(0),
+ slcr, "uart0_rst", 0);
+ cadence_uart_create(0xE0001000, pic[82 - IRQ_OFFSET], serial_hd(1),
+ slcr, "uart1_rst", 0);
sysbus_create_varargs("cadence_ttc", 0xF8001000,
pic[42-IRQ_OFFSET], pic[43-IRQ_OFFSET], pic[44-IRQ_OFFSET], NULL);
diff --git a/include/hw/char/cadence_uart.h b/include/hw/char/cadence_uart.h
index e1cf33e94c..c03c61a1f2 100644
--- a/include/hw/char/cadence_uart.h
+++ b/include/hw/char/cadence_uart.h
@@ -52,7 +52,10 @@ typedef struct {
static inline DeviceState *cadence_uart_create(hwaddr addr,
qemu_irq irq,
- Chardev *chr)
+ Chardev *chr,
+ DeviceState *rst_dev,
+ const char *rst_name,
+ int rst_n)
{
DeviceState *dev;
SysBusDevice *s;
@@ -64,6 +67,11 @@ static inline DeviceState *cadence_uart_create(hwaddr addr,
sysbus_mmio_map(s, 0, addr);
sysbus_connect_irq(s, 0, irq);
+ if (rst_dev) {
+ qdev_connect_gpio_out_named(rst_dev, rst_name, rst_n,
+ qdev_get_gpio_in_named(dev, "rst", 0));
+ }
+
return dev;
}
--
2.22.0
- [qemu-s390x] [PATCH v3 14/33] hw/s390x/s390-virtio-ccw.c: remove qdev_reset_all call, (continued)
- [qemu-s390x] [PATCH v3 14/33] hw/s390x/s390-virtio-ccw.c: remove qdev_reset_all call, Damien Hedde, 2019/07/29
- [qemu-s390x] [PATCH v3 22/33] hw/ppc/pnv_psi.c: remove device_legacy_reset call, Damien Hedde, 2019/07/29
- [qemu-s390x] [PATCH v3 27/33] hw/ide/microdrive.c: remove device_legacy_reset calls, Damien Hedde, 2019/07/29
- [qemu-s390x] [PATCH v3 32/33] Add uart reset support in zynq_slcr, Damien Hedde, 2019/07/29
- [qemu-s390x] [PATCH v3 20/33] hw/hyperv/hyperv.c: remove device_legacy_reset call, Damien Hedde, 2019/07/29
- [qemu-s390x] [PATCH v3 13/33] hw/scsi/: remove qdev/qbus_reset_all call, Damien Hedde, 2019/07/29
- [qemu-s390x] [PATCH v3 23/33] hw/scsi/vmw_pvscsi.c: remove device_legacy_reset call, Damien Hedde, 2019/07/29
- [qemu-s390x] [PATCH v3 31/33] Convert zynq's slcr to 3-phases reset, Damien Hedde, 2019/07/29
- [qemu-s390x] [PATCH v3 28/33] qdev: Remove unused deprecated reset functions, Damien Hedde, 2019/07/29
- [qemu-s390x] [PATCH v3 30/33] convert cadence_uart to 3-phases reset, Damien Hedde, 2019/07/29
- [qemu-s390x] [PATCH v3 33/33] Connect the uart reset gpios in the zynq platform,
Damien Hedde <=
- [qemu-s390x] [PATCH v3 07/33] automatically add vmstate for reset support in devices, Damien Hedde, 2019/07/29
- [qemu-s390x] [PATCH v3 10/33] vl.c: remove qbus_reset_all registration, Damien Hedde, 2019/07/29
- [qemu-s390x] [PATCH v3 08/33] Add function to control reset with gpio inputs, Damien Hedde, 2019/07/29
- [qemu-s390x] [PATCH v3 09/33] add doc about Resettable interface, Damien Hedde, 2019/07/29
- [qemu-s390x] [PATCH v3 18/33] hw/audio/intel-hda.c: remove device_legacy_reset call, Damien Hedde, 2019/07/29
- [qemu-s390x] [PATCH v3 21/33] hw/intc/spapr_xive.c: remove device_legacy_reset call, Damien Hedde, 2019/07/29