#real-time-clock #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

#620 in Hardware support

Download history 68/week @ 2024-08-03 129/week @ 2024-08-10 80/week @ 2024-08-17 80/week @ 2024-08-24 121/week @ 2024-08-31 187/week @ 2024-09-07 177/week @ 2024-09-14 189/week @ 2024-09-21 110/week @ 2024-09-28 192/week @ 2024-10-05 339/week @ 2024-10-12 318/week @ 2024-10-19 124/week @ 2024-10-26 15/week @ 2024-11-02 78/week @ 2024-11-09 150/week @ 2024-11-16

381 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