sparreal_kernel/driver/
mod.rs1use 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}