Lines Matching refs:fdt

370     g_autofree void *fdt = g_malloc0(fdt_sz);  in boston_fdt_filter()  local
373 err = fdt_open_into(fdt_orig, fdt, fdt_sz); in boston_fdt_filter()
380 qemu_fdt_setprop(fdt, "/chosen", "rng-seed", rng_seed, sizeof(rng_seed)); in boston_fdt_filter()
384 err = qemu_fdt_setprop_string(fdt, "/chosen", "bootargs", cmdline); in boston_fdt_filter()
392 qemu_fdt_setprop_sized_cells(fdt, "/memory@0", "reg", in boston_fdt_filter()
397 fdt = g_realloc(fdt, fdt_totalsize(fdt)); in boston_fdt_filter()
398 qemu_fdt_dumpdtb(fdt, fdt_sz); in boston_fdt_filter()
402 return g_steal_pointer(&fdt); in boston_fdt_filter()
458 static void fdt_create_pcie(void *fdt, int gic_ph, int irq, hwaddr reg_base, in fdt_create_pcie() argument
466 intc_ph = qemu_fdt_alloc_phandle(fdt); in fdt_create_pcie()
468 qemu_fdt_add_subnode(fdt, name); in fdt_create_pcie()
469 qemu_fdt_setprop_string(fdt, name, "compatible", in fdt_create_pcie()
471 qemu_fdt_setprop_string(fdt, name, "device_type", "pci"); in fdt_create_pcie()
472 qemu_fdt_setprop_cells(fdt, name, "reg", reg_base, reg_size); in fdt_create_pcie()
474 qemu_fdt_setprop_cell(fdt, name, "#address-cells", 3); in fdt_create_pcie()
475 qemu_fdt_setprop_cell(fdt, name, "#size-cells", 2); in fdt_create_pcie()
476 qemu_fdt_setprop_cell(fdt, name, "#interrupt-cells", 1); in fdt_create_pcie()
478 qemu_fdt_setprop_cell(fdt, name, "interrupt-parent", gic_ph); in fdt_create_pcie()
479 qemu_fdt_setprop_cells(fdt, name, "interrupts", FDT_GIC_SHARED, irq, in fdt_create_pcie()
482 qemu_fdt_setprop_cells(fdt, name, "ranges", 0x02000000, 0, mmio_base, in fdt_create_pcie()
484 qemu_fdt_setprop_cells(fdt, name, "bus-range", 0x00, 0xff); in fdt_create_pcie()
489 qemu_fdt_add_subnode(fdt, intc_name); in fdt_create_pcie()
490 qemu_fdt_setprop(fdt, intc_name, "interrupt-controller", NULL, 0); in fdt_create_pcie()
491 qemu_fdt_setprop_cell(fdt, intc_name, "#address-cells", 0); in fdt_create_pcie()
492 qemu_fdt_setprop_cell(fdt, intc_name, "#interrupt-cells", 1); in fdt_create_pcie()
493 qemu_fdt_setprop_cell(fdt, intc_name, "phandle", intc_ph); in fdt_create_pcie()
495 qemu_fdt_setprop_cells(fdt, name, "interrupt-map-mask", 0, 0, 0, 7); in fdt_create_pcie()
506 qemu_fdt_setprop(fdt, name, "interrupt-map", in fdt_create_pcie()
516 void *fdt; in create_fdt() local
525 fdt = create_device_tree(dt_size); in create_fdt()
526 if (!fdt) { in create_fdt()
531 platreg_ph = qemu_fdt_alloc_phandle(fdt); in create_fdt()
532 gic_ph = qemu_fdt_alloc_phandle(fdt); in create_fdt()
533 clk_ph = qemu_fdt_alloc_phandle(fdt); in create_fdt()
535 qemu_fdt_setprop_string(fdt, "/", "model", "img,boston"); in create_fdt()
536 qemu_fdt_setprop_string(fdt, "/", "compatible", "img,boston"); in create_fdt()
537 qemu_fdt_setprop_cell(fdt, "/", "#size-cells", 0x1); in create_fdt()
538 qemu_fdt_setprop_cell(fdt, "/", "#address-cells", 0x1); in create_fdt()
541 qemu_fdt_add_subnode(fdt, "/cpus"); in create_fdt()
542 qemu_fdt_setprop_cell(fdt, "/cpus", "#size-cells", 0x0); in create_fdt()
543 qemu_fdt_setprop_cell(fdt, "/cpus", "#address-cells", 0x1); in create_fdt()
547 qemu_fdt_add_subnode(fdt, name); in create_fdt()
548 qemu_fdt_setprop_string(fdt, name, "compatible", "img,mips"); in create_fdt()
549 qemu_fdt_setprop_string(fdt, name, "status", "okay"); in create_fdt()
550 qemu_fdt_setprop_cell(fdt, name, "reg", cpu); in create_fdt()
551 qemu_fdt_setprop_string(fdt, name, "device_type", "cpu"); in create_fdt()
552 qemu_fdt_setprop_cells(fdt, name, "clocks", clk_ph, FDT_BOSTON_CLK_CPU); in create_fdt()
556 qemu_fdt_add_subnode(fdt, "/soc"); in create_fdt()
557 qemu_fdt_setprop(fdt, "/soc", "ranges", NULL, 0); in create_fdt()
558 qemu_fdt_setprop_string(fdt, "/soc", "compatible", "simple-bus"); in create_fdt()
559 qemu_fdt_setprop_cell(fdt, "/soc", "#size-cells", 0x1); in create_fdt()
560 qemu_fdt_setprop_cell(fdt, "/soc", "#address-cells", 0x1); in create_fdt()
562 fdt_create_pcie(fdt, gic_ph, 2, in create_fdt()
566 fdt_create_pcie(fdt, gic_ph, 1, in create_fdt()
570 fdt_create_pcie(fdt, gic_ph, 0, in create_fdt()
577 qemu_fdt_add_subnode(fdt, gic_name); in create_fdt()
578 qemu_fdt_setprop_string(fdt, gic_name, "compatible", "mti,gic"); in create_fdt()
579 qemu_fdt_setprop_cells(fdt, gic_name, "reg", memmap[BOSTON_GIC].base, in create_fdt()
581 qemu_fdt_setprop(fdt, gic_name, "interrupt-controller", NULL, 0); in create_fdt()
582 qemu_fdt_setprop_cell(fdt, gic_name, "#interrupt-cells", 3); in create_fdt()
583 qemu_fdt_setprop_cell(fdt, gic_name, "phandle", gic_ph); in create_fdt()
586 qemu_fdt_add_subnode(fdt, name); in create_fdt()
587 qemu_fdt_setprop_string(fdt, name, "compatible", "mti,gic-timer"); in create_fdt()
588 qemu_fdt_setprop_cells(fdt, name, "interrupts", FDT_GIC_LOCAL, 1, in create_fdt()
590 qemu_fdt_setprop_cells(fdt, name, "clocks", clk_ph, FDT_BOSTON_CLK_CPU); in create_fdt()
596 qemu_fdt_add_subnode(fdt, name); in create_fdt()
597 qemu_fdt_setprop_string(fdt, name, "compatible", "mti,mips-cdmm"); in create_fdt()
598 qemu_fdt_setprop_cells(fdt, name, "reg", memmap[BOSTON_CDMM].base, in create_fdt()
604 qemu_fdt_add_subnode(fdt, name); in create_fdt()
605 qemu_fdt_setprop_string(fdt, name, "compatible", "mti,mips-cpc"); in create_fdt()
606 qemu_fdt_setprop_cells(fdt, name, "reg", memmap[BOSTON_CPC].base, in create_fdt()
613 qemu_fdt_add_subnode(fdt, platreg_name); in create_fdt()
614 qemu_fdt_setprop_string_array(fdt, platreg_name, "compatible", in create_fdt()
617 qemu_fdt_setprop_cells(fdt, platreg_name, "reg", in create_fdt()
620 qemu_fdt_setprop_cell(fdt, platreg_name, "phandle", platreg_ph); in create_fdt()
623 qemu_fdt_add_subnode(fdt, name); in create_fdt()
624 qemu_fdt_setprop_string(fdt, name, "compatible", "img,boston-clock"); in create_fdt()
625 qemu_fdt_setprop_cell(fdt, name, "#clock-cells", 1); in create_fdt()
626 qemu_fdt_setprop_cell(fdt, name, "phandle", clk_ph); in create_fdt()
632 qemu_fdt_add_subnode(fdt, name); in create_fdt()
633 qemu_fdt_setprop_string(fdt, name, "compatible", "syscon-reboot"); in create_fdt()
634 qemu_fdt_setprop_cell(fdt, name, "regmap", platreg_ph); in create_fdt()
635 qemu_fdt_setprop_cell(fdt, name, "offset", 0x10); in create_fdt()
636 qemu_fdt_setprop_cell(fdt, name, "mask", 0x10); in create_fdt()
641 qemu_fdt_add_subnode(fdt, name); in create_fdt()
642 qemu_fdt_setprop_string(fdt, name, "compatible", "ns16550a"); in create_fdt()
643 qemu_fdt_setprop_cells(fdt, name, "reg", memmap[BOSTON_UART].base, in create_fdt()
645 qemu_fdt_setprop_cell(fdt, name, "reg-shift", 0x2); in create_fdt()
646 qemu_fdt_setprop_cell(fdt, name, "interrupt-parent", gic_ph); in create_fdt()
647 qemu_fdt_setprop_cells(fdt, name, "interrupts", FDT_GIC_SHARED, 3, in create_fdt()
649 qemu_fdt_setprop_cells(fdt, name, "clocks", clk_ph, FDT_BOSTON_CLK_SYS); in create_fdt()
651 qemu_fdt_add_subnode(fdt, "/chosen"); in create_fdt()
653 qemu_fdt_setprop_string(fdt, "/chosen", "stdout-path", stdout_name); in create_fdt()
659 qemu_fdt_add_subnode(fdt, name); in create_fdt()
660 qemu_fdt_setprop_string(fdt, name, "compatible", "img,boston-lcd"); in create_fdt()
661 qemu_fdt_setprop_cells(fdt, name, "reg", memmap[BOSTON_LCD].base, in create_fdt()
666 qemu_fdt_add_subnode(fdt, name); in create_fdt()
667 qemu_fdt_setprop_string(fdt, name, "device_type", "memory"); in create_fdt()
670 return fdt; in create_fdt()