#risc-v #rtc #arceos #driver

no-std riscv_goldfish

System Real Time Clock (RTC) Drivers for riscv based on goldfish

2 releases

0.1.1 Jul 15, 2024
0.1.0 Jul 15, 2024

#579 in Hardware support

Download history 213/week @ 2024-07-10 150/week @ 2024-07-17 211/week @ 2024-07-24 194/week @ 2024-07-31 85/week @ 2024-08-07 83/week @ 2024-08-14 108/week @ 2024-08-21 58/week @ 2024-08-28

342 downloads per month

GPL-3.0-or-later OR Apache-2…

5KB

riscv_goldfish

Crates.io

System Real Time Clock (RTC) Drivers for riscv based on goldfish.

Examples

use riscv_goldfish::Rtc;

let epoch_time = Rtc::new(0x10_1000).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:

soc {
    #address-cells = <0x02>;
    #size-cells = <0x02>;
    compatible = "simple-bus";
    ranges;

    rtc@101000 {
        interrupts = <0x0b>;
        interrupt-parent = <0x03>;
        reg = <0x00 0x101000 0x00 0x1000>;
        compatible = "google,goldfish-rtc";
    };

    ...
}

lib.rs:

System Real Time Clock (RTC) Drivers for riscv based on goldfish. Ref: https://github.com/torvalds/linux/blob/master/drivers/rtc/rtc-goldfish.c

No runtime deps