Commit graph

99 commits

Author SHA1 Message Date
bunnie
8ec08c9c76 fix rust v1.75.0 warnings that are probably benign
a lot of re-import warnings have cropped up. While I appreciate
their studiousness on this, the problem is that removing some
of these exports in the API crate could mean that future users
who want access to some API features that aren't used in this
configuration are now unaccessible.

I think it's not a huge problem at the moment, just spam-cleaning
the warnings because there are too many to deal with carefully
at the moment.
2024-01-04 19:15:28 +08:00
bunnie
7db56d59f9 update generated soc utralib file 2023-09-15 20:45:43 +08:00
bunnie
f04d7bebe7 update latest SVDs to RTL 2023-09-15 20:45:15 +08:00
bunnie
62a424de1b partial progress on udma UART
just a hack-and-slash to get a feel for the peripheral subsystem

currently foiled by instability in loading large binary objects
to the emulated RAM
2023-08-21 03:56:25 +08:00
bunnie
f17ce555f7 sync latest cramium soc defs 2023-08-14 14:22:19 +08:00
bunnie
6fc3745ebd absorb latest cramium artifacts 2023-08-09 23:18:44 +08:00
bunnie
c79edf3fa5 harmonize simulation models to soc description 2023-08-09 03:10:11 +08:00
bunnie
162b87b9b0 update cramium register descriptions 2023-08-08 18:18:48 +08:00
bunnie
53469a68d0 publish package updates, sync to release tag 2023-08-08 14:35:49 +08:00
bunnie
e05c34c6be more fixes on the register space for cramium target 2023-08-04 01:31:28 +08:00
bunnie
b127cd093f bump version pins for change to xous-rs 2023-08-03 13:29:39 +08:00
bunnie
2e3c774604 pull in latest cramium artifacts 2023-08-03 13:28:04 +08:00
bunnie
bead89a6ac update utralib with latest soc model for cramium target 2023-07-29 01:02:19 +08:00
bunnie
51278451a0 update version pins to pull in cramium target 2023-07-19 21:07:56 +08:00
bunnie
56de4c586f bump utralib artifacts 2023-07-18 03:56:52 +08:00
bunnie
2c53eb0508 add cramium targets to utralib 2023-07-17 18:24:10 +08:00
bunnie
069edbc255 support multi-svd file designs
This patch set goes across all the toolchains and brings
in the support for split SVD descriptions of SoCs.

This is helpful for dealing with designs that have multiple
"top" files for the same core IP set. For exmaple, you may have
a SoC that you are developing that targets silicon, but
you have a version that wraps this in additional peripherals
available only in an FPGA emulator that are used for debugging.

In this case, you can have one SVD file be the description of
the SoC itself, and another SVD file describe just the "delta"
introduced by the FPGA wrapper that emulates/controls the SoC.
2023-07-17 16:27:09 +08:00
bunnie
952ba18fba commit vesrion pin bumps 2023-06-16 01:30:18 +08:00
bunnie
1300771a38 fixes to make PR work 2023-06-16 01:29:55 +08:00
bunnie
a8c1ac4d79 forgot to switch out this patch...dangit 2023-05-23 18:17:44 +08:00
bunnie
5a2df4432c technical debt: cleanup UTRA package
- make the "base" field no longer public. It is accessible, but only
through an `unsafe` method, because, it is unsafe.
- add accessors to offest/mask fields. Because, it's not at all
unsafe to access these, and it can be useful for bit-ops that are
not part of the generic set of UTRA.
- add Arc to AtomicCSR, and require `std` for AtomicCSR types.
This should not break anything, I checked inside @foundation-devices
keyOS and they don't seem to be using AtomicCSR anywhere.

The Arc makes it a bit safer to clone the AtomicCSR base pointer
and share it between threads, but it will have an impact on performance.
The USB stack (which requires AtomicCSR) was regression testing and the
impact seems minimal.

Recall that the main purpose of AtomicCSR is to provide a CSR accessor
that does not require a mutable reference to the base object. This
can make certain Rust idioms a bit cleaner. We wrap the base accessor
in Arc+Atomic to try and improve the safety of throwing the borrow
checker under the bus, but it's still not perfect because hardware
mutable state can have side-effects within hardware itself that cannot
be modeled or checked by Rust's borrow checker.
2023-05-23 18:11:24 +08:00
bunnie
697d44de3d bump version pins to absorb changes to svd2utra etc. 2023-05-03 23:11:12 +08:00
bunnie
8357ab31a5 bump all pins because utralib got updated 2023-04-09 00:48:35 +08:00
bunnie
f3dc258a6a reinstate app-uart into the svd tree 2023-04-09 00:46:28 +08:00
bunnie
e469eba167 bump version for utralib patch 2023-04-04 02:13:02 +08:00
bunnie
3ca8f669a3 breaking change in svd2utra: fix deprecation of quick-xml
quick-xml 0.19.0, a dependency of svd2utra, uses features
that Rust will deprecate.

Unfortunately, the only versions of quick-xml that do not
use the deprecated language features also break a portion
of the API. In particular, quick-xml will no longer take
a `File` as an input: it will only take a `Path`.

This means that the API for svd2utra is also broken, because
originally it was designed to take a `File`

This patch refactors svd2utra to work with the latest quick-xml,
but also breaks any code that calls svd2utra's generate
APIs.

Fortunately this is fairly easy to fix, the calling code
will typically already have the Path somewhere in it, so
instead of opening the Path and passing it into the function,
one may simply pass in the Path.
2023-04-04 02:03:35 +08:00
bunnie
5574744e14 commit lockfiles and verifiers 2023-03-14 16:46:04 +08:00
bunnie
f3c1b148ab note about publishing svd2utra first 2023-03-14 16:41:49 +08:00
bunnie
7749a6a5c1 add maintainer notes on how to publish the package 2023-03-14 16:41:07 +08:00
bunnie
dc58abfa04 commit latest renode.rs version 2023-03-14 16:37:45 +08:00
bunnie
303f595d6f bump versions to cleanup renode.rs sync issue 2023-03-14 16:34:53 +08:00
bunnie
7af6749877 harmonize renode.rs *again* 2023-03-14 16:18:12 +08:00
bunnie
1c67712912 fix renode harmonization issue 2023-03-08 04:37:21 +08:00
bunnie
dc5b844d02 commit lockfiles after publish bump 2023-03-08 04:09:08 +08:00
bunnie
b36290fd79 update the precursor_pvt.rs file with the autogen version to avoid errors on publish 2023-03-08 04:02:36 +08:00
bunnie
82e3aa322f bump toml files in prep for publish 2023-03-08 03:54:37 +08:00
bunnie
555c682ac9 cleanup hosted mode warning 2023-03-08 03:53:48 +08:00
bunnie
396c99b0a6 this was supposed to be renamed, not deleted 2023-03-08 03:48:29 +08:00
bunnie
dc75d8cd54 these were supposed to be renamed, not deleted 2023-03-08 03:48:06 +08:00
bunnie
0dd74fe7b3 remove gitrev from precursor soc type
in practice this has not been a useful indicator, and we
have stabilized the SVD format so that changes in the code don't
cause the SVD files to go incompatible anymore.

this should make maintenance a bit easier going forward, hopefully.

also merge in cramium support to harmonize the forks for easier
cross-patches in the future.
2023-03-08 03:46:03 +08:00
eupn
de296fb6c0
utralib: add SAMA5D27 svd and cargo feature 2023-03-05 16:39:23 +04:00
bunnie
5370ce396d bump all revs due to SoC artifact update 2022-12-12 16:07:20 +08:00
bunnie
08cf863ff5 update SoC artifacts for 0.9.11 build 2022-12-12 16:05:15 +08:00
bunnie
1d1b3a35b7 commit version bump 2022-11-26 10:00:44 +08:00
bunnie
aa9977cc58 bump all the things because we changed utralib again 2022-11-17 22:13:40 +08:00
bunnie
156e60d1dd fix regressions from litex 2022.08 2022-11-17 22:12:32 +08:00
bunnie
dabbfd6c35 bump all the things to absorb the SoC change 2022-11-17 19:39:18 +08:00
bunnie
280d61db34 trial commit latest soc artifacts
updating Litex, seems to have broken things. trying to see
if a rebuild with new SVD file helps.
2022-11-17 19:37:17 +08:00
bunnie
ba28dd8795 bump to absorb utralib straggler configs 2022-10-28 15:11:17 +08:00
bunnie
b5f4814bb4 cleanup some stragglers in utralib push 2022-10-28 15:10:00 +08:00