Crates.io | arm_pl031 |
lib.rs | arm_pl031 |
version | 0.2.1 |
source | src |
created_at | 2024-07-15 15:25:00.206093 |
updated_at | 2024-07-24 16:40:55.066156 |
description | System Real Time Clock (RTC) Drivers for aarch64 based on PL031. |
homepage | https://github.com/arceos-org/arceos |
repository | https://github.com/arceos-org/arm_pl031 |
max_upload_size | |
id | 1303963 |
size | 11,597 |
System Real Time Clock (RTC) Drivers for aarch64 based on PL031.
use arm_pl031::Rtc;
let rtc = unsafe { Rtc::new(0x901_0000 as _) };
let epoch_time = rtc.get_unix_timestamp();
base_addr
needs to be the device virtual address available for mmio, which can be obtained from
the device tree, for example:
/ {
interrupt-parent = <0x8002>;
model = "linux,dummy-virt";
#size-cells = <0x02>;
#address-cells = <0x02>;
compatible = "linux,dummy-virt";
pl031@9010000 {
clock-names = "apb_pclk";
clocks = <0x8000>;
interrupts = <0x00 0x02 0x04>;
reg = <0x00 0x9010000 0x00 0x1000>;
compatible = "arm,pl031\0arm,primecell";
};
...
}