sparreal_kernel/driver/
mod.rs

1use crate::{globals::global_val, irq, platform, time};
2use log::debug;
3pub use rdrive::*;
4
5pub fn init() {
6    let info = match &global_val().platform_info {
7        crate::globals::PlatformInfoKind::DeviceTree(fdt) => Platform::Fdt {
8            addr: fdt.get_addr(),
9        },
10    };
11
12    rdrive::init(info).unwrap();
13
14    rdrive::register_append(&platform::module_registers());
15
16    debug!("add registers");
17
18    rdrive::probe_pre_kernel().unwrap();
19
20    irq::init_main_cpu();
21    time::init_current_cpu();
22}
23
24pub fn probe() {
25    rdrive::probe_all(true).unwrap();
26}