// SPDX-License-Identifier: GPL-2.0+ /* * Copyright (C) 2018, Bin Meng */ #include #include #include #include #include #include #include #include #include #include #include #include DECLARE_GLOBAL_DATA_PTR; #if IS_ENABLED(CONFIG_MTD_NOR_FLASH) int is_flash_available(void) { if (!ofnode_equal(ofnode_by_compatible(ofnode_null(), "cfi-flash"), ofnode_null())) return 1; return 0; } #endif 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) { /* start usb so that usb keyboard can be used as input device */ if (CONFIG_IS_ENABLED(USB_KEYBOARD)) usb_init(); return 0; } #ifdef CONFIG_SPL u32 spl_boot_device(void) { /* RISC-V QEMU only supports RAM as SPL boot device */ return BOOT_DEVICE_RAM; } #endif #ifdef CONFIG_SPL_LOAD_FIT int board_fit_config_name_match(const char *name) { /* boot using first FIT config */ return 0; } #endif void *board_fdt_blob_setup(int *err) { *err = 0; /* Stored the DTB address there during our init */ return (void *)(ulong)gd->arch.firmware_fdt_addr; }