@@ -218,3 +218,27 @@ static void xilinx_uart_register(void)
}
device_init(xilinx_uart_register)
+
+#ifdef CONFIG_FDT
+
+#include "fdt_generic_util.h"
+
+static int xilinx_uartlite_fdt_init(char *node_path, FDTMachineInfo *fdti,
+ void *unused)
+{
+ target_phys_addr_t base;
+ qemu_irq irqline;
+ char irq_info[1024];
+
+ base = qemu_devtree_getprop(fdti->fdt, NULL, node_path, "reg", 0, 0);
+ irqline = fdt_get_irq_info(fdti, node_path, 0, NULL, irq_info);
+ printf("FDT: UARTLITE: baseaddr: 0x" TARGET_FMT_plx ", irq: %s\n", base,
+ irq_info);
+ sysbus_create_simple("xilinx,uartlite", base, irqline);
+ return 0;
+}
+
+fdt_register_compatibility(xilinx_uartlite_fdt_init,
+ "xlnx,xps-uartlite-1.00.a");
+
+#endif /* CONFIG_FDT */
Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com> --- hw/xilinx_uartlite.c | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-)