Commit graph

7350 commits

Author SHA1 Message Date
bunnie
d87f950da1 intermediate debug 2024-06-06 22:26:35 +08:00
bunnie
41d0364cf4 more debug 2024-06-06 22:26:16 +08:00
bunnie
9f43e1df0a fix edgecase in nocopy section
do not try to decrypt data for sections that are nocopy,
this can lead to spurious decryption errors
2024-06-06 22:19:42 +08:00
bunnie
529cdcc67d regenerate svd files for other targets 2024-06-06 18:07:08 +08:00
bunnie
2e2d4d423c compatibility cleanup 2024-06-06 18:05:51 +08:00
bunnie
07cc4f5f4c strip out unecessary dependencies 2024-06-06 18:02:56 +08:00
bunnie
89a8809bbb update lockfile to reflect the changes necessary for USB integration 2024-06-06 17:58:58 +08:00
bunnie
a5e45a2078 beginnings of cramium hardware target integration
the hardware driver is compile-clean, but everything is just
a stub. But at least we have the API thunks laid bare which
gives us a roadmap for the next steps.
2024-06-06 17:58:11 +08:00
bunnie
bc626f46aa add the std feature for cramium-hal
dependencies will need the `std` decorator in xous to
compile properly
2024-06-06 17:57:32 +08:00
bunnie
397596c8e9 regenerate the cramium-soc utralib to contain the additional debug access methods 2024-06-06 17:56:52 +08:00
bunnie
ed42ee0be7 add functions necessary to create a compatibility shim
We don't have Arc in machine mode (no-std), but we want to be
able to run our USB driver in machine mode for fast debugging
of certain problems.

Add some thunks that allow us to do some slightly unholy things
which facilitate such debug access.
2024-06-06 17:56:00 +08:00
bunnie
519ae31485 loader mods to harmonize with driver bounds 2024-06-06 17:55:10 +08:00
bunnie
e9217b7eb6 convert HAL to be driver-friendly
rewrite so the driver obeys the type bounds necessary for
USB stack integration, in particular, Sync requires all raw pointers
to be AtomicPtr
2024-06-06 17:54:24 +08:00
bunnie
8ef46fd081 move usb driver to a common location 2024-06-06 03:58:35 +08:00
bunnie
4261e70d3f update usb test 2024-06-05 22:54:27 +08:00
bunnie
65df5b3066 remove uccr structure
the ram-mapped uccr structure does not guarantee synchronization
well enough. go back to UTRA functions. This gets us to the point
of setup packets!
2024-06-05 22:50:48 +08:00
bunnie
545b51e8d3 rote port of C driver into Rust
lots of terrible stuff going on, nothing tested, but we have
a baseline of whatever they put in C directly forced into Rust.

A lot of really naughty things going on with raw pointers in this
driver -- it's going to be a challenge to oxidize.
2024-06-05 02:24:12 +08:00
bunnie
df6528edcf refactor to use structured usb object 2024-06-03 17:04:47 +08:00
bunnie
9673624a4e add usb register model and basic init structs 2024-06-03 17:04:21 +08:00
bunnie
34079ec180
Merge branch 'main' into cram-usb 2024-06-03 01:16:46 +05:30
bunnie
c67030b892
Merge pull request #549 from betrusted-io/bio
working branch for BIO tests
2024-06-03 01:15:36 +05:30
bunnie
907b0c543a move order of tests 2024-06-03 03:43:57 +08:00
bunnie
c4d787356b add aclk unit test 2024-06-02 20:20:06 +08:00
bunnie
a721c60d45 add bio to project workspace 2024-06-02 19:17:46 +08:00
bunnie
5c9b91d22a integrate i2c driver and update test log 2024-06-02 19:17:27 +08:00
bunnie
cc7b1158f3 create a "proper" i2c driver for BIO
this is an actually usable driver for end applications.
maybe some massaging needs to be done on shared resources, but
from the i2c standpoint this can do SMB, I2C transactions with
a fairly "normal" API.
2024-06-02 19:16:27 +08:00
bunnie
3e263c1974 update docs to match small change to spec 2024-06-02 06:21:42 +08:00
bunnie
559be323b7 i2c demo about working 2024-06-02 06:21:29 +08:00
bunnie
935857a675 add basic i2c concept 2024-06-02 02:39:45 +08:00
bunnie
23f2b117ab dont use report_api inside the generation macro - just for debugging 2024-06-02 02:39:30 +08:00
bunnie
9fe1933611 minor cleanup 2024-06-02 02:39:06 +08:00
bunnie
41e636bb8c fix formatting 2024-06-01 22:00:30 +08:00
bunnie
c113c4e9bd incorporate i2c module, pretty prints 2024-06-01 22:00:07 +08:00
bunnie
24bd9da6ab pretty-print unit tests 2024-06-01 21:58:18 +08:00
bunnie
e0f3ee8e49 pretty-print spi 2024-06-01 21:58:05 +08:00
bunnie
ccc342d9f3 add debug pretty-printing to test 2024-06-01 21:53:54 +08:00
bunnie
3cad44e6a1 add flags for usb testing 2024-06-01 13:35:56 +08:00
bunnie
e415fd44e7 start to lay in foundations for USB integration 2024-06-01 13:35:31 +08:00
bunnie
ac95f9a6df
Merge branch 'main' into bio 2024-06-01 11:03:53 +05:30
bunnie
97110cd231
Merge pull request #548 from betrusted-io/cramium-testing
Working branch for cramium integration
2024-05-31 22:53:54 +05:30
bunnie
94cd88c49a bump release note 2024-06-01 01:21:59 +08:00
bunnie
f20687540b
Merge branch 'main' into cramium-testing 2024-05-31 20:13:08 +05:30
bunnie
5f42ee6ecf move PFD into happy zone
apparently we were not running it in its recommended band before.
2024-05-31 22:34:28 +08:00
bunnie
17a3ed6adb move graphics server to the resident set
this improves responsivitiy quite a bit
2024-05-31 20:45:07 +08:00
bunnie
73b075716b add cramium panic display support 2024-05-31 20:44:46 +08:00
bunnie
a40466b7b4 heap-allocate the framebuffer
this will make memory utilization a bit more efficient than
a heap-allocated page where a portion is wasted
2024-05-31 20:43:53 +08:00
bunnie
fba2736fff fix typo 2024-05-31 20:43:44 +08:00
bunnie
ea5e57bbc9 add cramium's version of the panic handler 2024-05-31 20:42:54 +08:00
bunnie
b175ffaddf add Precursor's panic handler 2024-05-31 20:42:33 +08:00
bunnie
4e347c3ad6 split panic handler into hardware-specific versions 2024-05-31 20:42:11 +08:00