#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

#399 in Hardware support

Download history 288/week @ 2024-07-14 187/week @ 2024-07-21 236/week @ 2024-07-28 77/week @ 2024-08-04 134/week @ 2024-08-11 66/week @ 2024-08-18 81/week @ 2024-08-25 154/week @ 2024-09-01 180/week @ 2024-09-08 160/week @ 2024-09-15 201/week @ 2024-09-22 88/week @ 2024-09-29 252/week @ 2024-10-06 353/week @ 2024-10-13

904 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