Lines Matching full:i
215 int i; in xlnx_zynqmp_create_rpu() local
228 for (i = 0; i < num_rpus; i++) { in xlnx_zynqmp_create_rpu()
232 &s->rpu_cpu[i], in xlnx_zynqmp_create_rpu()
235 name = object_get_canonical_path_component(OBJECT(&s->rpu_cpu[i])); in xlnx_zynqmp_create_rpu()
240 object_property_set_bool(OBJECT(&s->rpu_cpu[i]), in xlnx_zynqmp_create_rpu()
243 s->boot_cpu_ptr = &s->rpu_cpu[i]; in xlnx_zynqmp_create_rpu()
246 object_property_set_bool(OBJECT(&s->rpu_cpu[i]), "reset-hivecs", true, in xlnx_zynqmp_create_rpu()
248 if (!qdev_realize(DEVICE(&s->rpu_cpu[i]), NULL, errp)) { in xlnx_zynqmp_create_rpu()
300 int i; in xlnx_zynqmp_create_apu_ctrl() local
306 for (i = 0; i < XLNX_ZYNQMP_NUM_APU_CPUS; i++) { in xlnx_zynqmp_create_apu_ctrl()
307 g_autofree gchar *name = g_strdup_printf("cpu%d", i); in xlnx_zynqmp_create_apu_ctrl()
310 OBJECT(&s->apu_cpu[i]), &error_abort); in xlnx_zynqmp_create_apu_ctrl()
333 int i, irq; in xlnx_zynqmp_create_ttc() local
335 for (i = 0; i < XLNX_ZYNQMP_NUM_TTC; i++) { in xlnx_zynqmp_create_ttc()
336 object_initialize_child(OBJECT(s), "ttc[*]", &s->ttc[i], in xlnx_zynqmp_create_ttc()
338 sbd = SYS_BUS_DEVICE(&s->ttc[i]); in xlnx_zynqmp_create_ttc()
341 sysbus_mmio_map(sbd, 0, TTC0_ADDR + i * 0x10000); in xlnx_zynqmp_create_ttc()
343 sysbus_connect_irq(sbd, irq, gic[TTC0_IRQ + i * 3 + irq]); in xlnx_zynqmp_create_ttc()
378 int i; in xlnx_zynqmp_init() local
385 for (i = 0; i < num_apus; i++) { in xlnx_zynqmp_init()
387 &s->apu_cpu[i], in xlnx_zynqmp_init()
393 for (i = 0; i < XLNX_ZYNQMP_NUM_GEMS; i++) { in xlnx_zynqmp_init()
394 object_initialize_child(obj, "gem[*]", &s->gem[i], TYPE_CADENCE_GEM); in xlnx_zynqmp_init()
396 &s->gem_irq_orgate[i], TYPE_OR_IRQ); in xlnx_zynqmp_init()
399 for (i = 0; i < XLNX_ZYNQMP_NUM_UARTS; i++) { in xlnx_zynqmp_init()
400 object_initialize_child(obj, "uart[*]", &s->uart[i], in xlnx_zynqmp_init()
404 for (i = 0; i < XLNX_ZYNQMP_NUM_CAN; i++) { in xlnx_zynqmp_init()
405 object_initialize_child(obj, "can[*]", &s->can[i], in xlnx_zynqmp_init()
411 for (i = 0; i < XLNX_ZYNQMP_NUM_SDHCI; i++) { in xlnx_zynqmp_init()
412 object_initialize_child(obj, "sdhci[*]", &s->sdhci[i], in xlnx_zynqmp_init()
416 for (i = 0; i < XLNX_ZYNQMP_NUM_SPIS; i++) { in xlnx_zynqmp_init()
417 object_initialize_child(obj, "spi[*]", &s->spi[i], TYPE_XILINX_SPIPS); in xlnx_zynqmp_init()
430 for (i = 0; i < XLNX_ZYNQMP_NUM_GDMA_CH; i++) { in xlnx_zynqmp_init()
431 object_initialize_child(obj, "gdma[*]", &s->gdma[i], TYPE_XLNX_ZDMA); in xlnx_zynqmp_init()
434 for (i = 0; i < XLNX_ZYNQMP_NUM_ADMA_CH; i++) { in xlnx_zynqmp_init()
435 object_initialize_child(obj, "adma[*]", &s->adma[i], TYPE_XLNX_ZDMA); in xlnx_zynqmp_init()
442 for (i = 0; i < XLNX_ZYNQMP_NUM_USB; i++) { in xlnx_zynqmp_init()
443 object_initialize_child(obj, "usb[*]", &s->usb[i], TYPE_USB_DWC3); in xlnx_zynqmp_init()
452 uint8_t i; in xlnx_zynqmp_realize() local
492 for (i = 0; i < XLNX_ZYNQMP_NUM_OCM_BANKS; i++) { in xlnx_zynqmp_realize()
493 char *ocm_name = g_strdup_printf("zynqmp.ocm_ram_bank_%d", i); in xlnx_zynqmp_realize()
495 memory_region_init_ram(&s->ocm_ram[i], NULL, ocm_name, in xlnx_zynqmp_realize()
499 i * XLNX_ZYNQMP_OCM_RAM_SIZE, in xlnx_zynqmp_realize()
500 &s->ocm_ram[i]); in xlnx_zynqmp_realize()
515 for (i = 0; i < num_apus; i++) { in xlnx_zynqmp_realize()
518 name = object_get_canonical_path_component(OBJECT(&s->apu_cpu[i])); in xlnx_zynqmp_realize()
523 object_property_set_bool(OBJECT(&s->apu_cpu[i]), in xlnx_zynqmp_realize()
526 s->boot_cpu_ptr = &s->apu_cpu[i]; in xlnx_zynqmp_realize()
529 object_property_set_bool(OBJECT(&s->apu_cpu[i]), "has_el3", s->secure, in xlnx_zynqmp_realize()
531 object_property_set_bool(OBJECT(&s->apu_cpu[i]), "has_el2", s->virt, in xlnx_zynqmp_realize()
533 object_property_set_int(OBJECT(&s->apu_cpu[i]), "reset-cbar", in xlnx_zynqmp_realize()
535 object_property_set_int(OBJECT(&s->apu_cpu[i]), "core-count", in xlnx_zynqmp_realize()
537 if (!qdev_realize(DEVICE(&s->apu_cpu[i]), NULL, errp)) { in xlnx_zynqmp_realize()
547 for (i = 0; i < XLNX_ZYNQMP_GIC_REGIONS; i++) { in xlnx_zynqmp_realize()
549 const XlnxZynqMPGICRegion *r = &xlnx_zynqmp_gic_regions[i]; in xlnx_zynqmp_realize()
560 MemoryRegion *alias = &s->gic_mr[i][j]; in xlnx_zynqmp_realize()
570 for (i = 0; i < num_apus; i++) { in xlnx_zynqmp_realize()
573 sysbus_connect_irq(SYS_BUS_DEVICE(&s->gic), i, in xlnx_zynqmp_realize()
574 qdev_get_gpio_in(DEVICE(&s->apu_cpu[i]), in xlnx_zynqmp_realize()
576 sysbus_connect_irq(SYS_BUS_DEVICE(&s->gic), i + num_apus, in xlnx_zynqmp_realize()
577 qdev_get_gpio_in(DEVICE(&s->apu_cpu[i]), in xlnx_zynqmp_realize()
579 sysbus_connect_irq(SYS_BUS_DEVICE(&s->gic), i + num_apus * 2, in xlnx_zynqmp_realize()
580 qdev_get_gpio_in(DEVICE(&s->apu_cpu[i]), in xlnx_zynqmp_realize()
582 sysbus_connect_irq(SYS_BUS_DEVICE(&s->gic), i + num_apus * 3, in xlnx_zynqmp_realize()
583 qdev_get_gpio_in(DEVICE(&s->apu_cpu[i]), in xlnx_zynqmp_realize()
586 arm_gic_ppi_index(i, ARM_PHYS_TIMER_PPI)); in xlnx_zynqmp_realize()
587 qdev_connect_gpio_out(DEVICE(&s->apu_cpu[i]), GTIMER_PHYS, irq); in xlnx_zynqmp_realize()
589 arm_gic_ppi_index(i, ARM_VIRT_TIMER_PPI)); in xlnx_zynqmp_realize()
590 qdev_connect_gpio_out(DEVICE(&s->apu_cpu[i]), GTIMER_VIRT, irq); in xlnx_zynqmp_realize()
592 arm_gic_ppi_index(i, ARM_HYP_TIMER_PPI)); in xlnx_zynqmp_realize()
593 qdev_connect_gpio_out(DEVICE(&s->apu_cpu[i]), GTIMER_HYP, irq); in xlnx_zynqmp_realize()
595 arm_gic_ppi_index(i, ARM_SEC_TIMER_PPI)); in xlnx_zynqmp_realize()
596 qdev_connect_gpio_out(DEVICE(&s->apu_cpu[i]), GTIMER_SEC, irq); in xlnx_zynqmp_realize()
600 arm_gic_ppi_index(i, GIC_MAINTENANCE_PPI)); in xlnx_zynqmp_realize()
601 sysbus_connect_irq(SYS_BUS_DEVICE(&s->gic), i + num_apus * 4, irq); in xlnx_zynqmp_realize()
616 for (i = 0; i < GIC_NUM_SPI_INTR; i++) { in xlnx_zynqmp_realize()
617 gic_spi[i] = qdev_get_gpio_in(DEVICE(&s->gic), i); in xlnx_zynqmp_realize()
620 for (i = 0; i < XLNX_ZYNQMP_NUM_GEMS; i++) { in xlnx_zynqmp_realize()
621 qemu_configure_nic_device(DEVICE(&s->gem[i]), true, NULL); in xlnx_zynqmp_realize()
622 object_property_set_int(OBJECT(&s->gem[i]), "revision", GEM_REVISION, in xlnx_zynqmp_realize()
624 object_property_set_int(OBJECT(&s->gem[i]), "phy-addr", 23, in xlnx_zynqmp_realize()
626 object_property_set_int(OBJECT(&s->gem[i]), "num-priority-queues", 2, in xlnx_zynqmp_realize()
628 object_property_set_int(OBJECT(&s->gem_irq_orgate[i]), in xlnx_zynqmp_realize()
630 qdev_realize(DEVICE(&s->gem_irq_orgate[i]), NULL, &error_fatal); in xlnx_zynqmp_realize()
631 qdev_connect_gpio_out(DEVICE(&s->gem_irq_orgate[i]), 0, gic_spi[gem_intr[i]]); in xlnx_zynqmp_realize()
633 if (!sysbus_realize(SYS_BUS_DEVICE(&s->gem[i]), errp)) { in xlnx_zynqmp_realize()
636 sysbus_mmio_map(SYS_BUS_DEVICE(&s->gem[i]), 0, gem_addr[i]); in xlnx_zynqmp_realize()
637 sysbus_connect_irq(SYS_BUS_DEVICE(&s->gem[i]), 0, in xlnx_zynqmp_realize()
638 qdev_get_gpio_in(DEVICE(&s->gem_irq_orgate[i]), 0)); in xlnx_zynqmp_realize()
639 sysbus_connect_irq(SYS_BUS_DEVICE(&s->gem[i]), 1, in xlnx_zynqmp_realize()
640 qdev_get_gpio_in(DEVICE(&s->gem_irq_orgate[i]), 1)); in xlnx_zynqmp_realize()
643 for (i = 0; i < XLNX_ZYNQMP_NUM_UARTS; i++) { in xlnx_zynqmp_realize()
644 qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i)); in xlnx_zynqmp_realize()
645 if (!sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), errp)) { in xlnx_zynqmp_realize()
648 sysbus_mmio_map(SYS_BUS_DEVICE(&s->uart[i]), 0, uart_addr[i]); in xlnx_zynqmp_realize()
649 sysbus_connect_irq(SYS_BUS_DEVICE(&s->uart[i]), 0, in xlnx_zynqmp_realize()
650 gic_spi[uart_intr[i]]); in xlnx_zynqmp_realize()
653 for (i = 0; i < XLNX_ZYNQMP_NUM_CAN; i++) { in xlnx_zynqmp_realize()
654 object_property_set_int(OBJECT(&s->can[i]), "ext_clk_freq", in xlnx_zynqmp_realize()
657 object_property_set_link(OBJECT(&s->can[i]), "canbus", in xlnx_zynqmp_realize()
658 OBJECT(s->canbus[i]), &error_fatal); in xlnx_zynqmp_realize()
660 sysbus_realize(SYS_BUS_DEVICE(&s->can[i]), &err); in xlnx_zynqmp_realize()
665 sysbus_mmio_map(SYS_BUS_DEVICE(&s->can[i]), 0, can_addr[i]); in xlnx_zynqmp_realize()
666 sysbus_connect_irq(SYS_BUS_DEVICE(&s->can[i]), 0, in xlnx_zynqmp_realize()
667 gic_spi[can_intr[i]]); in xlnx_zynqmp_realize()
679 for (i = 0; i < XLNX_ZYNQMP_NUM_SDHCI; i++) { in xlnx_zynqmp_realize()
681 SysBusDevice *sbd = SYS_BUS_DEVICE(&s->sdhci[i]); in xlnx_zynqmp_realize()
682 Object *sdhci = OBJECT(&s->sdhci[i]); in xlnx_zynqmp_realize()
697 sysbus_mmio_map(sbd, 0, sdhci_addr[i]); in xlnx_zynqmp_realize()
698 sysbus_connect_irq(sbd, 0, gic_spi[sdhci_intr[i]]); in xlnx_zynqmp_realize()
701 bus_name = g_strdup_printf("sd-bus%d", i); in xlnx_zynqmp_realize()
706 for (i = 0; i < XLNX_ZYNQMP_NUM_SPIS; i++) { in xlnx_zynqmp_realize()
709 if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), errp)) { in xlnx_zynqmp_realize()
713 sysbus_mmio_map(SYS_BUS_DEVICE(&s->spi[i]), 0, spi_addr[i]); in xlnx_zynqmp_realize()
714 sysbus_connect_irq(SYS_BUS_DEVICE(&s->spi[i]), 0, in xlnx_zynqmp_realize()
715 gic_spi[spi_intr[i]]); in xlnx_zynqmp_realize()
718 bus_name = g_strdup_printf("spi%d", i); in xlnx_zynqmp_realize()
720 OBJECT(&s->spi[i]), "spi0"); in xlnx_zynqmp_realize()
757 for (i = 0; i < XLNX_ZYNQMP_NUM_GDMA_CH; i++) { in xlnx_zynqmp_realize()
758 object_property_set_uint(OBJECT(&s->gdma[i]), "bus-width", 128, in xlnx_zynqmp_realize()
760 object_property_set_link(OBJECT(&s->gdma[i]), "dma", in xlnx_zynqmp_realize()
762 if (!sysbus_realize(SYS_BUS_DEVICE(&s->gdma[i]), errp)) { in xlnx_zynqmp_realize()
766 sysbus_mmio_map(SYS_BUS_DEVICE(&s->gdma[i]), 0, gdma_ch_addr[i]); in xlnx_zynqmp_realize()
767 sysbus_connect_irq(SYS_BUS_DEVICE(&s->gdma[i]), 0, in xlnx_zynqmp_realize()
768 gic_spi[gdma_ch_intr[i]]); in xlnx_zynqmp_realize()
771 for (i = 0; i < XLNX_ZYNQMP_NUM_ADMA_CH; i++) { in xlnx_zynqmp_realize()
772 if (!object_property_set_link(OBJECT(&s->adma[i]), "dma", in xlnx_zynqmp_realize()
776 if (!sysbus_realize(SYS_BUS_DEVICE(&s->adma[i]), errp)) { in xlnx_zynqmp_realize()
780 sysbus_mmio_map(SYS_BUS_DEVICE(&s->adma[i]), 0, adma_ch_addr[i]); in xlnx_zynqmp_realize()
781 sysbus_connect_irq(SYS_BUS_DEVICE(&s->adma[i]), 0, in xlnx_zynqmp_realize()
782 gic_spi[adma_ch_intr[i]]); in xlnx_zynqmp_realize()
812 for (i = 0; i < XLNX_ZYNQMP_NUM_QSPI_BUS; i++) { in xlnx_zynqmp_realize()
813 g_autofree gchar *bus_name = g_strdup_printf("qspi%d", i); in xlnx_zynqmp_realize()
814 g_autofree gchar *target_bus = g_strdup_printf("spi%d", i); in xlnx_zynqmp_realize()
821 for (i = 0; i < XLNX_ZYNQMP_NUM_USB; i++) { in xlnx_zynqmp_realize()
822 object_property_set_link(OBJECT(&s->usb[i].sysbus_xhci), "dma", in xlnx_zynqmp_realize()
825 qdev_prop_set_uint32(DEVICE(&s->usb[i].sysbus_xhci), "intrs", 4); in xlnx_zynqmp_realize()
826 qdev_prop_set_uint32(DEVICE(&s->usb[i].sysbus_xhci), "slots", 2); in xlnx_zynqmp_realize()
828 if (!sysbus_realize(SYS_BUS_DEVICE(&s->usb[i]), errp)) { in xlnx_zynqmp_realize()
832 sysbus_mmio_map(SYS_BUS_DEVICE(&s->usb[i]), 0, usb_addr[i]); in xlnx_zynqmp_realize()
833 sysbus_connect_irq(SYS_BUS_DEVICE(&s->usb[i].sysbus_xhci), 0, in xlnx_zynqmp_realize()
834 gic_spi[usb_intr[i]]); in xlnx_zynqmp_realize()
835 sysbus_connect_irq(SYS_BUS_DEVICE(&s->usb[i].sysbus_xhci), 1, in xlnx_zynqmp_realize()
836 gic_spi[usb_intr[i] + 1]); in xlnx_zynqmp_realize()
837 sysbus_connect_irq(SYS_BUS_DEVICE(&s->usb[i].sysbus_xhci), 2, in xlnx_zynqmp_realize()
838 gic_spi[usb_intr[i] + 2]); in xlnx_zynqmp_realize()
839 sysbus_connect_irq(SYS_BUS_DEVICE(&s->usb[i].sysbus_xhci), 3, in xlnx_zynqmp_realize()
840 gic_spi[usb_intr[i] + 3]); in xlnx_zynqmp_realize()