// SPDX-License-Identifier: GPL-2.0+ /* * Copyright (C) 2018, Bin Meng */ #include #include #include #include #include #include #include DECLARE_GLOBAL_DATA_PTR; int board_init(void) { return 0; } unsigned long get_board_sys_clk(void) { return gd->cpu_clk ? gd->cpu_clk : 40000000; } int dram_init(void) { return fdtdec_setup_mem_size_base(); } int board_early_init_f(void) { struct cpu_plat *cpu_plat; struct udevice *cpu = cpu_get_current_dev(); if (!cpu) return -ENODEV; cpu_plat = dev_get_parent_plat(cpu); if (!cpu_plat) return -ENODEV; gd->cpu_clk = cpu_plat->timebase_freq; 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(); /* * Make sure virtio bus is enumerated so that peripherals * on the virtio bus can be discovered by their drivers */ virtio_init(); return 0; }