Prepare for 0.1.0 release

Prepare for 0.1.0 release by adding documentation, updating
dependencies, and updating Cargo.toml.

Change-Id: I0e9a61629d00985a79a663b707d3a5306e5ed0fe
Signed-off-by: Imre Kis <imre.kis@arm.com>
4 files changed
tree: 0b8692ed93a8ee9db66039486b4da94d957d88de
  1. src/
  2. .gitignore
  3. Cargo.lock
  4. Cargo.toml
  5. dco.txt
  6. LICENSE-Apache-2.0
  7. LICENSE-MIT
  8. README.md
README.md

Arm Watchdog Module (SP805) driver

Driver implementation for the SP805 watchdog module.

Implemented features

  • Enable/disable watchdog timer
  • Update timer value

Example

use arm_sp805::{SP805Registers, Watchdog, UniqueMmioPointer};
use core::ptr::NonNull;
# use zerocopy::transmute_mut;
# let mut fake_registers = [0u32; 1024];
# let WATCHDOG_ADDRESS : *mut SP805Registers = transmute_mut!(&mut fake_registers);
# fn handler() {}

// SAFETY: `WATCHDOG_ADDRESS` is the base address of a SP805 watchdog register block. It remains
// valid for the lifetime of the application and nothing else references this address range.
let watchdog_pointer = unsafe { UniqueMmioPointer::new(NonNull::new(WATCHDOG_ADDRESS).unwrap()) };

let mut watchdog = Watchdog::new(watchdog_pointer, 0x0001_0000);
watchdog.enable();

loop {
  handler();
  watchdog.update();
  # break
}

License

The project is MIT and Apache-2.0 dual licensed, see LICENSE-APACHE and LICENSE-MIT.

Maintainers

arm-sp805 is a trustedfirmware.org maintained project. All contributions are ultimately merged by the maintainers listed below.

Contributing

Please follow the directions of the Trusted Firmware Processes

Contributions are handled through review.trustedfirmware.org.

Reporting Security Issues

Please follow the directions of the Trusted Firmware Security Center


Copyright 2025 Arm Limited and/or its affiliates open-source-office@arm.com

Arm is a registered trademark of Arm Limited (or its subsidiaries or affiliates).