ci: Use stable Rust for building svd2rust
all: Drop unnecessary access mode patches
Due to a change in atdf2svd [1], all these access mode patches are no
longer required - they are now translated correctly from the vendor
source file.
Drop all patches which no longer change the output (the code before and
after this change is equivalent when using the new atdf2svd).
[1]: https://github.com/Rahix/atdf2svd/commit/a189276b3540b647fab832946edf0acf39730a0e
Improve error message when no device is selected
Introduce a new `device-selected` feature to simpilify the logic for
showing an error when no device was selected.
atmega328p, pb: Split EIMSK INT field into 2
The INT0 and INT1 fields in the EIMSK register were incorrectly
combined into a 2 bit field, split into individual bits.
Also allow write access to PRR0 and PRR1 in ATmega328PB.
ci: Switch to GitHub Actions
atmega328p: Make PRR register writable
Add attiny84 and atmega644 to `src/lib.rs`
Add attiny841 and attiny861
Replace gen-intr-lut.sh sed hack with svdtools
svdtools comes with a command to list all interrupts
from an SVD file. Use this instead of fragile sed magic
which parses the generated rust code.
Add basic support for ATmega4809
ci: Use latest version of svd2rust
The latest git version of svd2rust contains some important fixes that we
depend on. Use it instead of the latest version from crates.io.
Signed-off-by: Rahix <rahix@rahix.de>
Update instructions for adding a new chip
Mention that it is currently required to add a (possibly empty) patch
file for a new chip.
Fixes: #65
Signed-off-by: Rahix <rahix@rahix.de>