mpfs-pac

Crates.iompfs-pac
lib.rsmpfs-pac
version0.3.0
created_at2024-12-08 20:58:18.798714+00
updated_at2025-03-02 23:51:03.392106+00
descriptionPeripheral Access Crate for PolarFire SoC
homepage
repositoryhttps://github.com/AlexCharlton/mpfs-hal
max_upload_size
id1476672
size6,838,568
Alex Charlton (AlexCharlton)

documentation

README

mpfs-pac

This is a Peripheral Access Crate (PAC) for the Microchip PolarFire SoC. It is build on the Mirochip-provided platform and bindgen.

Because of this approach, this is a fairly gnarly PAC, with no structure to speak of. On the flip side, there's a lot of advanced functionality available. See https://github.com/polarfire-soc/polarfire-soc-bare-metal-examples for usage examples for the platform.

Currently only the BeagleV-Fire board is supported, but adding new boards is a matter of adding the board-specific files to the mpfs-platform/boards directory and enabling it through a feature flag in build.rs.

Usage

You should almost certainly use this with the mpfs-hal crate, which - if nothing else - provides macros for entrypoints. If you don't want to use the HAL, you must define of the following entrypoints yourself (one for each hart):

  • u54_1

  • u54_2

  • u54_3

  • u54_4

TODO

There's lots of functionality in platform that isn't yet exposed, either because they are static functions, or defines that aren't recognized by bindgen. I also haven't added all headers to the wrapper, since I've been adding them as I need them.

The docs for this crate are a broken, presumably due to some bindgen issue.

Commit count: 115

cargo fmt