Lines Matching +full:0 +full:xffa90000

39 #define GEM_REVISION        0x40070106
41 #define GIC_BASE_ADDR 0xf9000000
42 #define GIC_DIST_ADDR 0xf9010000
43 #define GIC_CPU_ADDR 0xf9020000
44 #define GIC_VIFACE_ADDR 0xf9040000
45 #define GIC_VCPU_ADDR 0xf9060000
48 #define SATA_ADDR 0xFD0C0000
51 #define QSPI_ADDR 0xff0f0000
52 #define LQSPI_ADDR 0xc0000000
54 #define QSPI_DMA_ADDR 0xff0f0800
57 #define CRF_ADDR 0xfd1a0000
61 #define SERDES_ADDR 0xfd400000
62 #define SERDES_SIZE 0x20000
64 #define DP_ADDR 0xfd4a0000
65 #define DP_IRQ 0x77
67 #define DPDMA_ADDR 0xfd4c0000
68 #define DPDMA_IRQ 0x7a
70 #define APU_ADDR 0xfd5c0000
73 #define TTC0_ADDR 0xFF110000
76 #define IPI_ADDR 0xFF300000
79 #define RTC_ADDR 0xffa60000
82 #define BBRAM_ADDR 0xffcd0000
85 #define EFUSE_ADDR 0xffcc0000
88 #define SDHCI_CAPABILITIES 0x280737ec6481 /* Datasheet: UG1085 (v1.7) */
91 0xFF0B0000, 0xFF0C0000, 0xFF0D0000, 0xFF0E0000,
99 0xFF000000, 0xFF010000,
107 0xFF060000, 0xFF070000,
115 0xFF160000, 0xFF170000,
123 0xFF040000, 0xFF050000,
131 0xFD500000, 0xFD510000, 0xFD520000, 0xFD530000,
132 0xFD540000, 0xFD550000, 0xFD560000, 0xFD570000
140 0xFFA80000, 0xFFA90000, 0xFFAA0000, 0xFFAB0000,
141 0xFFAC0000, 0xFFAD0000, 0xFFAE0000, 0xFFAF0000
149 0xFE200000, 0xFE300000
166 .region_index = 0,
168 .offset = 0,
176 .offset = 0,
181 .address = GIC_CPU_ADDR + 0x10000,
182 .offset = 0x1000,
190 .offset = 0,
198 .offset = 0,
203 .address = GIC_VCPU_ADDR + 0x10000,
204 .offset = 0x1000,
221 if (num_rpus <= 0) { in xlnx_zynqmp_create_rpu()
230 for (i = 0; i < num_rpus; i++) { in xlnx_zynqmp_create_rpu()
270 sysbus_mmio_map(sbd, 0, BBRAM_ADDR); in xlnx_zynqmp_create_bbram()
271 sysbus_connect_irq(sbd, 0, gic[BBRAM_IRQ]); in xlnx_zynqmp_create_bbram()
283 object_initialize_child_with_props(ctrl, "xlnx-efuse@0", bits, in xlnx_zynqmp_create_efuse()
295 sysbus_mmio_map(sbd, 0, EFUSE_ADDR); in xlnx_zynqmp_create_efuse()
296 sysbus_connect_irq(sbd, 0, gic[EFUSE_IRQ]); in xlnx_zynqmp_create_efuse()
308 for (i = 0; i < XLNX_ZYNQMP_NUM_APU_CPUS; i++) { in xlnx_zynqmp_create_apu_ctrl()
316 sysbus_mmio_map(sbd, 0, APU_ADDR); in xlnx_zynqmp_create_apu_ctrl()
317 sysbus_connect_irq(sbd, 0, gic[APU_IRQ]); in xlnx_zynqmp_create_apu_ctrl()
328 sysbus_mmio_map(sbd, 0, CRF_ADDR); in xlnx_zynqmp_create_crf()
329 sysbus_connect_irq(sbd, 0, gic[CRF_IRQ]); in xlnx_zynqmp_create_crf()
337 for (i = 0; i < XLNX_ZYNQMP_NUM_TTC; i++) { in xlnx_zynqmp_create_ttc()
343 sysbus_mmio_map(sbd, 0, TTC0_ADDR + i * 0x10000); in xlnx_zynqmp_create_ttc()
344 for (irq = 0; irq < 3; irq++) { in xlnx_zynqmp_create_ttc()
361 for (nr = 0; nr < ARRAY_SIZE(unimp_areas); nr++) { in xlnx_zynqmp_create_unimp_mmio()
366 assert(info->name && info->base && info->size > 0); in xlnx_zynqmp_create_unimp_mmio()
372 sysbus_mmio_map(sbd, 0, info->base); in xlnx_zynqmp_create_unimp_mmio()
385 qdev_prop_set_uint32(DEVICE(&s->apu_cluster), "cluster-id", 0); in xlnx_zynqmp_init()
387 for (i = 0; i < num_apus; i++) { in xlnx_zynqmp_init()
395 for (i = 0; i < XLNX_ZYNQMP_NUM_GEMS; i++) { in xlnx_zynqmp_init()
401 for (i = 0; i < XLNX_ZYNQMP_NUM_UARTS; i++) { in xlnx_zynqmp_init()
406 for (i = 0; i < XLNX_ZYNQMP_NUM_CAN; i++) { in xlnx_zynqmp_init()
413 for (i = 0; i < XLNX_ZYNQMP_NUM_SDHCI; i++) { in xlnx_zynqmp_init()
418 for (i = 0; i < XLNX_ZYNQMP_NUM_SPIS; i++) { in xlnx_zynqmp_init()
432 for (i = 0; i < XLNX_ZYNQMP_NUM_GDMA_CH; i++) { in xlnx_zynqmp_init()
436 for (i = 0; i < XLNX_ZYNQMP_NUM_ADMA_CH; i++) { in xlnx_zynqmp_init()
444 for (i = 0; i < XLNX_ZYNQMP_NUM_USB; i++) { in xlnx_zynqmp_init()
457 const char *boot_cpu = s->boot_cpu ? s->boot_cpu : "apu-cpu[0]"; in xlnx_zynqmp_realize()
490 s->ddr_ram, 0, ddr_low_size); in xlnx_zynqmp_realize()
491 memory_region_add_subregion(get_system_memory(), 0, &s->ddr_ram_low); in xlnx_zynqmp_realize()
494 for (i = 0; i < XLNX_ZYNQMP_NUM_OCM_BANKS; i++) { in xlnx_zynqmp_realize()
517 for (i = 0; i < num_apus; i++) { in xlnx_zynqmp_realize()
549 for (i = 0; i < XLNX_ZYNQMP_GIC_REGIONS; i++) { in xlnx_zynqmp_realize()
561 for (j = 0; j < XLNX_ZYNQMP_GIC_ALIASES; j++) { in xlnx_zynqmp_realize()
572 for (i = 0; i < num_apus; i++) { in xlnx_zynqmp_realize()
618 for (i = 0; i < GIC_NUM_SPI_INTR; i++) { in xlnx_zynqmp_realize()
622 for (i = 0; i < XLNX_ZYNQMP_NUM_GEMS; i++) { in xlnx_zynqmp_realize()
633 qdev_connect_gpio_out(DEVICE(&s->gem_irq_orgate[i]), 0, gic_spi[gem_intr[i]]); in xlnx_zynqmp_realize()
638 sysbus_mmio_map(SYS_BUS_DEVICE(&s->gem[i]), 0, gem_addr[i]); in xlnx_zynqmp_realize()
639 sysbus_connect_irq(SYS_BUS_DEVICE(&s->gem[i]), 0, in xlnx_zynqmp_realize()
640 qdev_get_gpio_in(DEVICE(&s->gem_irq_orgate[i]), 0)); in xlnx_zynqmp_realize()
645 for (i = 0; i < XLNX_ZYNQMP_NUM_UARTS; i++) { in xlnx_zynqmp_realize()
650 sysbus_mmio_map(SYS_BUS_DEVICE(&s->uart[i]), 0, uart_addr[i]); in xlnx_zynqmp_realize()
651 sysbus_connect_irq(SYS_BUS_DEVICE(&s->uart[i]), 0, in xlnx_zynqmp_realize()
655 for (i = 0; i < XLNX_ZYNQMP_NUM_CAN; i++) { in xlnx_zynqmp_realize()
667 sysbus_mmio_map(SYS_BUS_DEVICE(&s->can[i]), 0, can_addr[i]); in xlnx_zynqmp_realize()
668 sysbus_connect_irq(SYS_BUS_DEVICE(&s->can[i]), 0, in xlnx_zynqmp_realize()
678 sysbus_mmio_map(SYS_BUS_DEVICE(&s->sata), 0, SATA_ADDR); in xlnx_zynqmp_realize()
679 sysbus_connect_irq(SYS_BUS_DEVICE(&s->sata), 0, gic_spi[SATA_INTR]); in xlnx_zynqmp_realize()
681 for (i = 0; i < XLNX_ZYNQMP_NUM_SDHCI; i++) { in xlnx_zynqmp_realize()
705 sysbus_mmio_map(sbd, 0, sdhci_addr[i]); in xlnx_zynqmp_realize()
706 sysbus_connect_irq(sbd, 0, gic_spi[sdhci_intr[i]]); in xlnx_zynqmp_realize()
714 for (i = 0; i < XLNX_ZYNQMP_NUM_SPIS; i++) { in xlnx_zynqmp_realize()
721 sysbus_mmio_map(SYS_BUS_DEVICE(&s->spi[i]), 0, spi_addr[i]); in xlnx_zynqmp_realize()
722 sysbus_connect_irq(SYS_BUS_DEVICE(&s->spi[i]), 0, in xlnx_zynqmp_realize()
735 sysbus_mmio_map(SYS_BUS_DEVICE(&s->dp), 0, DP_ADDR); in xlnx_zynqmp_realize()
736 sysbus_connect_irq(SYS_BUS_DEVICE(&s->dp), 0, gic_spi[DP_IRQ]); in xlnx_zynqmp_realize()
743 sysbus_mmio_map(SYS_BUS_DEVICE(&s->dpdma), 0, DPDMA_ADDR); in xlnx_zynqmp_realize()
744 sysbus_connect_irq(SYS_BUS_DEVICE(&s->dpdma), 0, gic_spi[DPDMA_IRQ]); in xlnx_zynqmp_realize()
749 sysbus_mmio_map(SYS_BUS_DEVICE(&s->ipi), 0, IPI_ADDR); in xlnx_zynqmp_realize()
750 sysbus_connect_irq(SYS_BUS_DEVICE(&s->ipi), 0, gic_spi[IPI_IRQ]); in xlnx_zynqmp_realize()
755 sysbus_mmio_map(SYS_BUS_DEVICE(&s->rtc), 0, RTC_ADDR); in xlnx_zynqmp_realize()
756 sysbus_connect_irq(SYS_BUS_DEVICE(&s->rtc), 0, gic_spi[RTC_IRQ]); in xlnx_zynqmp_realize()
765 for (i = 0; i < XLNX_ZYNQMP_NUM_GDMA_CH; i++) { in xlnx_zynqmp_realize()
778 sysbus_mmio_map(SYS_BUS_DEVICE(&s->gdma[i]), 0, gdma_ch_addr[i]); in xlnx_zynqmp_realize()
779 sysbus_connect_irq(SYS_BUS_DEVICE(&s->gdma[i]), 0, in xlnx_zynqmp_realize()
783 for (i = 0; i < XLNX_ZYNQMP_NUM_ADMA_CH; i++) { in xlnx_zynqmp_realize()
792 sysbus_mmio_map(SYS_BUS_DEVICE(&s->adma[i]), 0, adma_ch_addr[i]); in xlnx_zynqmp_realize()
793 sysbus_connect_irq(SYS_BUS_DEVICE(&s->adma[i]), 0, in xlnx_zynqmp_realize()
800 qdev_connect_gpio_out(DEVICE(&s->qspi_irq_orgate), 0, gic_spi[QSPI_IRQ]); in xlnx_zynqmp_realize()
810 sysbus_mmio_map(SYS_BUS_DEVICE(&s->qspi_dma), 0, QSPI_DMA_ADDR); in xlnx_zynqmp_realize()
811 sysbus_connect_irq(SYS_BUS_DEVICE(&s->qspi_dma), 0, in xlnx_zynqmp_realize()
812 qdev_get_gpio_in(DEVICE(&s->qspi_irq_orgate), 0)); in xlnx_zynqmp_realize()
821 sysbus_mmio_map(SYS_BUS_DEVICE(&s->qspi), 0, QSPI_ADDR); in xlnx_zynqmp_realize()
823 sysbus_connect_irq(SYS_BUS_DEVICE(&s->qspi), 0, in xlnx_zynqmp_realize()
826 for (i = 0; i < XLNX_ZYNQMP_NUM_QSPI_BUS; i++) { in xlnx_zynqmp_realize()
835 for (i = 0; i < XLNX_ZYNQMP_NUM_USB; i++) { in xlnx_zynqmp_realize()
848 sysbus_mmio_map(SYS_BUS_DEVICE(&s->usb[i]), 0, usb_addr[i]); in xlnx_zynqmp_realize()
849 sysbus_connect_irq(SYS_BUS_DEVICE(&s->usb[i].sysbus_xhci), 0, in xlnx_zynqmp_realize()
866 DEFINE_PROP_LINK("canbus0", XlnxZynqMPState, canbus[0], TYPE_CAN_BUS,