Message ID | 5fd65a74582558b85d50f35f5593d9d3d45bea1f.1452896266.git.alistair.francis@xilinx.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 15 January 2016 at 22:38, Alistair Francis <alistair.francis@xilinx.com> wrote: > Connect the sst25wf080 SPI flash to the EP108 board. > > Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> > Reviewed-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> > Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> > --- > hw/arm/xlnx-ep108.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/hw/arm/xlnx-ep108.c b/hw/arm/xlnx-ep108.c > index 9099025..4dc21c9 100644 > --- a/hw/arm/xlnx-ep108.c > +++ b/hw/arm/xlnx-ep108.c > @@ -30,6 +30,7 @@ static struct arm_boot_info xlnx_ep108_binfo; > static void xlnx_ep108_init(MachineState *machine) > { > XlnxEP108 *s = g_new0(XlnxEP108, 1); > + int i; > Error *err = NULL; > uint64_t ram_size = machine->ram_size; > > @@ -62,6 +63,20 @@ static void xlnx_ep108_init(MachineState *machine) > exit(1); > } > > + for (i = 0; i < XLNX_ZYNQMP_NUM_SPIS; i++) { > + SSIBus *spi_bus; > + DeviceState *flash_dev; > + qemu_irq cs_line; > + gchar *bus_name = g_strdup_printf("spi%d", i); > + > + spi_bus = (SSIBus *)qdev_get_child_bus(DEVICE(&s->soc), bus_name); > + > + flash_dev = ssi_create_slave(spi_bus, "sst25wf080"); > + cs_line = qdev_get_gpio_in_named(flash_dev, SSI_GPIO_CS, 0); > + > + sysbus_connect_irq(SYS_BUS_DEVICE(&s->soc.spi[i]), 1, cs_line); > + } You forgot to g_free(bus_name). I'll add that to this (and the similar place in the previous patch) when I add these to target-arm.next. thanks -- PMM
On Mon, Jan 18, 2016 at 3:27 AM, Peter Maydell <peter.maydell@linaro.org> wrote: > On 15 January 2016 at 22:38, Alistair Francis > <alistair.francis@xilinx.com> wrote: >> Connect the sst25wf080 SPI flash to the EP108 board. >> >> Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> >> Reviewed-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> >> Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> >> --- >> hw/arm/xlnx-ep108.c | 15 +++++++++++++++ >> 1 file changed, 15 insertions(+) >> >> diff --git a/hw/arm/xlnx-ep108.c b/hw/arm/xlnx-ep108.c >> index 9099025..4dc21c9 100644 >> --- a/hw/arm/xlnx-ep108.c >> +++ b/hw/arm/xlnx-ep108.c >> @@ -30,6 +30,7 @@ static struct arm_boot_info xlnx_ep108_binfo; >> static void xlnx_ep108_init(MachineState *machine) >> { >> XlnxEP108 *s = g_new0(XlnxEP108, 1); >> + int i; >> Error *err = NULL; >> uint64_t ram_size = machine->ram_size; >> >> @@ -62,6 +63,20 @@ static void xlnx_ep108_init(MachineState *machine) >> exit(1); >> } >> >> + for (i = 0; i < XLNX_ZYNQMP_NUM_SPIS; i++) { >> + SSIBus *spi_bus; >> + DeviceState *flash_dev; >> + qemu_irq cs_line; >> + gchar *bus_name = g_strdup_printf("spi%d", i); >> + >> + spi_bus = (SSIBus *)qdev_get_child_bus(DEVICE(&s->soc), bus_name); >> + >> + flash_dev = ssi_create_slave(spi_bus, "sst25wf080"); >> + cs_line = qdev_get_gpio_in_named(flash_dev, SSI_GPIO_CS, 0); >> + >> + sysbus_connect_irq(SYS_BUS_DEVICE(&s->soc.spi[i]), 1, cs_line); >> + } > > You forgot to g_free(bus_name). I'll add that to this (and the > similar place in the previous patch) when I add these to target-arm.next. Thanks! I'm sorry for that I just completely forgot. Thanks, Alistair > > thanks > -- PMM >
diff --git a/hw/arm/xlnx-ep108.c b/hw/arm/xlnx-ep108.c index 9099025..4dc21c9 100644 --- a/hw/arm/xlnx-ep108.c +++ b/hw/arm/xlnx-ep108.c @@ -30,6 +30,7 @@ static struct arm_boot_info xlnx_ep108_binfo; static void xlnx_ep108_init(MachineState *machine) { XlnxEP108 *s = g_new0(XlnxEP108, 1); + int i; Error *err = NULL; uint64_t ram_size = machine->ram_size; @@ -62,6 +63,20 @@ static void xlnx_ep108_init(MachineState *machine) exit(1); } + for (i = 0; i < XLNX_ZYNQMP_NUM_SPIS; i++) { + SSIBus *spi_bus; + DeviceState *flash_dev; + qemu_irq cs_line; + gchar *bus_name = g_strdup_printf("spi%d", i); + + spi_bus = (SSIBus *)qdev_get_child_bus(DEVICE(&s->soc), bus_name); + + flash_dev = ssi_create_slave(spi_bus, "sst25wf080"); + cs_line = qdev_get_gpio_in_named(flash_dev, SSI_GPIO_CS, 0); + + sysbus_connect_irq(SYS_BUS_DEVICE(&s->soc.spi[i]), 1, cs_line); + } + xlnx_ep108_binfo.ram_size = ram_size; xlnx_ep108_binfo.kernel_filename = machine->kernel_filename; xlnx_ep108_binfo.kernel_cmdline = machine->kernel_cmdline;