riscv: Move virtio scan to board_late_init()
[platform/kernel/u-boot.git] / board / emulation / qemu-riscv / qemu-riscv.c
index ae3b7a3..173245b 100644 (file)
@@ -12,6 +12,7 @@
 #include <log.h>
 #include <spl.h>
 #include <init.h>
+#include <usb.h>
 #include <virtio_types.h>
 #include <virtio.h>
 
@@ -30,40 +31,20 @@ int is_flash_available(void)
 
 int board_init(void)
 {
-       /*
-        * Make sure virtio bus is enumerated so that peripherals
-        * on the virtio bus can be discovered by their drivers
-        */
-       virtio_init();
-
        return 0;
 }
 
 int board_late_init(void)
 {
-       ulong kernel_start;
-       ofnode chosen_node;
-       int ret;
-
-       chosen_node = ofnode_path("/chosen");
-       if (!ofnode_valid(chosen_node)) {
-               debug("No chosen node found, can't get kernel start address\n");
-               return 0;
-       }
+       /* start usb so that usb keyboard can be used as input device */
+       if (CONFIG_IS_ENABLED(USB_KEYBOARD))
+               usb_init();
 
-#ifdef CONFIG_ARCH_RV64I
-       ret = ofnode_read_u64(chosen_node, "riscv,kernel-start",
-                             (u64 *)&kernel_start);
-#else
-       ret = ofnode_read_u32(chosen_node, "riscv,kernel-start",
-                             (u32 *)&kernel_start);
-#endif
-       if (ret) {
-               debug("Can't find kernel start address in device tree\n");
-               return 0;
-       }
-
-       env_set_hex("kernel_start", kernel_start);
+       /*
+        * Make sure virtio bus is enumerated so that peripherals
+        * on the virtio bus can be discovered by their drivers
+        */
+       virtio_init();
 
        return 0;
 }