Wladimir J. van der Laan
dd801e6ecc
Merge pull request #8 from Forty-Bot/pll
...
k210-shared: Rewrite compute_params to use fixed-point
2020-06-17 09:07:04 +02:00
Wladimir J. van der Laan
70d200a03c
rust: Resurrect interrupt test for second core
...
It was disabled at some point because something in riscv-rt changed
and it no longer worked. Restore the testing in a more robust way.
2020-06-03 16:10:41 +00:00
Wladimir J. van der Laan
f4888ee0ef
rust: Add MMU test
2020-06-02 21:13:23 +00:00
Wladimir J. van der Laan
5af12f9582
rust: Add simple debug macros
...
Add simple debug!() and debugln!() macros that can be used for everywhere
to print stuff to UARTHS.
2020-06-02 21:07:54 +00:00
Wladimir J. van der Laan
67078f6242
rust: Fixes for newer dependencies
2020-06-02 21:07:54 +00:00
Wladimir J. van der Laan
d7245693a7
rust: Add peripheral-side GCM tag checking (and testing)
2020-05-02 08:27:30 +00:00
Wladimir J. van der Laan
8b07675b33
rust: Implement Drop for AES iterator
...
Implement drop for the AES iterator to automatically finish
the hardware operation when the iterator goes out of scope.
2020-05-01 12:46:28 +00:00
Wladimir J. van der Laan
10561369b1
rust: Add benchmark output to README.md
2020-05-01 12:38:44 +00:00
Wladimir J. van der Laan
6b907fd033
rust: add AES benchmark against soft_aes
2020-05-01 12:25:24 +00:00
Wladimir J. van der Laan
e080a03821
rust: Split AES into three parts, setup, process data and finish
...
Might want to re-use the setup/finish code for streaming data and/or DMA.
2020-04-30 15:36:14 +00:00
Wladimir J. van der Laan
68ddf3b1bc
rust: Add function that directly hashes 32-bit units
...
This is almost two times as fast, apparently, however it requires
the input to be aligned to 32 bit and be a multiple of 32 bits.
This should be special-cased.
2020-04-29 20:39:29 +00:00
Wladimir J. van der Laan
9d9f67692b
rust: Add benchmark comparing to software implementation
2020-04-29 16:51:03 +00:00
Wladimir J. van der Laan
b695136eaa
rust: Add SHA256 benchmark
2020-04-29 16:36:16 +00:00
Wladimir J. van der Laan
cf8b81c391
rust: Large SHA256 test vectors
2020-04-29 16:24:01 +00:00
Wladimir J. van der Laan
924af6ca23
rust: Add AES192 test vectors
2020-04-27 22:00:01 +00:00
Wladimir J. van der Laan
fbe528d8b6
rust: Add assertion that input length is at least 0 for AES
...
It doesn't look like the AES engine can handle 0-sized input. This makes
sense, in a way, as it is an edge case and in most cases a no-op. Only
in GCM mode, where there one might want to compute a tag over a 0-byte
input, would this come up.
2020-04-27 21:04:38 +00:00
Wladimir J. van der Laan
217b00227e
rust: Add a few more AES-GCM test vectors
2020-04-27 20:10:14 +00:00
Wladimir J. van der Laan
a5b6c64903
rust: more AES128GCM test vectors
2020-04-27 20:01:18 +00:00
Wladimir J. van der Laan
7cc906d349
rust: Don't require resetting AES engine before every use
...
When using the AES engine in GCM mode, the hardware *requires*
verifying a tag even if we don't care about the result. Otherwise it
will hang in unfinished state, and needs a reset every time.
By going through these motions (like the SDK does) this costly reset can
be avoided.
2020-04-27 19:47:32 +00:00
Wladimir J. van der Laan
e8dc6282e8
rust: Add more test vectors for AES128/256
2020-04-27 19:00:35 +00:00
Wladimir J. van der Laan
4aef921276
rust: add AES and SHA256 peripheral drivers to k210-shared
...
And expand crypto engines test with more test vectors.
2020-04-26 10:37:41 +00:00
Wladimir J. van der Laan
7a3f75b922
doc: Add k210.dtsi from u-boot
...
Proposed u-boot k210.dtsi from Sean Anderson has a much more complete
overview of devices then Linux's.
2020-04-23 14:48:11 +00:00
Sean Anderson
f1680533e4
k210-shared: Rewrite compute_params to use fixed-point
...
This code is adapted from a patch I wrote for U-Boot "clk: Add K210 pll
support" Forty-Bot/u-boot@7d95737a93 .
Significant reference was made to the datasheet for the PLL, which may be
found by searching for "tcitsmcn40ggpmplla1". For testing, I use a "brute
force" version of the algorithm which is significantly simpler code-wise.
Signed-off-by: Sean Anderson <seanga2@gmail.com>
2020-04-19 20:17:33 -04:00
Wladimir J. van der Laan
378f08da8e
rust: Test sha256 accelerator too
2020-04-13 18:02:52 +00:00
Wladimir J. van der Laan
b0bcfec157
rust: Add cryptest
2020-04-13 16:31:09 +00:00
Wladimir J. van der Laan
488f308e57
rust: Bump rust-secp256k1 version
2020-03-08 18:26:36 +00:00
Wladimir J. van der Laan
185a977ff4
linux: Minor code cleanups
2020-03-06 21:17:12 +00:00
Wladimir J. van der Laan
a2d4fc3445
rust: Use aligned_as
macro in voxel
...
Use updated macro by ExpHP from
https://users.rust-lang.org/t/can-i-conveniently-compile-bytes-into-a-rust-program-with-a-specific-alignment/24049/2
2020-03-06 21:12:57 +00:00
Wladimir J. van der Laan
e7de60ebbc
linux: Reduce esptun default baudrate more
...
Changed to `115200 * 4`.
It's hard to get this stable...
2020-02-23 20:22:40 +00:00
Wladimir J. van der Laan
ab95e18ba8
linux: Handle "SEND FAIL" response
...
UDP sends can fail and then the ESP module returns "SEND FAIL";
we need to handle this, otherwise we'll never consider the send finished.
2020-02-23 20:02:42 +00:00
Wladimir J. van der Laan
7220737241
linux: Use my_err consistently in esptun
...
Use my_err instead of perror.
Also fix some printf format type mismatches.
2020-02-23 15:00:22 +00:00
Wladimir J. van der Laan
6a5f43b411
linux: Fix false error condition with back-to-back packets
...
Correct "no progress" check in `esp_read_responses` to avoid issues with
back-to-back packets crashing the tunnel.
2020-02-23 12:48:42 +00:00
Wladimir J. van der Laan
d1981173f7
rust: Use command names from ST7789V datasheet in LCD driver
...
Use the command names from the ST7789V datasheet instead of the
arbitrary ones borrowed from the SDK.
2020-02-22 23:34:36 +00:00
Wladimir J. van der Laan
a241403058
linux: Add note about esptun baudrates
2020-02-22 15:01:08 +00:00
Wladimir J. van der Laan
0ebae26c05
linux: Optimize binaries for size
2020-02-22 14:37:06 +00:00
Wladimir J. van der Laan
2819afaae5
linux: Mention mtu setting in esptun doc
...
The standard tunnel mtu of 1500 will cause packets to be dropped,
causing transferring larger files to fail.
2020-02-22 14:26:29 +00:00
Wladimir J. van der Laan
ce9505e670
linux: Unify logging function in esptun
2020-02-22 13:17:40 +00:00
Wladimir J. van der Laan
afde09e6cc
linux: Don't set VTIME in UART configuration for esptun
...
`read(esp_fd)` should wait for 1 or more characters to be available in
the UART FIFO, no timing required.
2020-02-22 13:01:58 +00:00
Wladimir J. van der Laan
c261d4dcc7
linux: Simplify esptun by getting rid of some helper functions
...
`cread` and `cwrite` are trivial and only called in one place, so just
integrate them.
2020-02-22 12:55:31 +00:00
Wladimir J. van der Laan
7cbb10693e
linux: Set timeout argument on poll() properly
...
`0` for the timeout means *return immediately* instead of
*wait forever*. This is absolutely unnecessary, so change
the argument to `-1` which does mean *wait until something happens*.
2020-02-22 12:22:25 +00:00
Wladimir J. van der Laan
aab7c0a84b
linux: Solve an issue with incomplete packets
...
esp_read_responses was throwing away the buffer contents between
invocations, which is not a good idea if there might be a (partial)
async notification such a a received packet in there.
2020-02-22 11:40:58 +00:00
Wladimir J. van der Laan
526e9683c2
linux: Tune baudrate in esptun
...
The maximum baudrate seems unstable at times, tune it down a bit.
2020-02-22 11:24:42 +00:00
Wladimir J. van der Laan
885357f22f
linux: deduplicate esp receive logic in esptun
...
Unify the two similar serial receive loops.
(as a bonus we'll no longer lose packets that come in through the ESP during
esp_tx_packet)
2020-02-22 11:24:42 +00:00
Wladimir J. van der Laan
d9750dcf73
Add k210 linux utilities
2020-02-21 15:42:04 +00:00
Wladimir J. van der Laan
78fb83fe50
rust: Add comment for sysctl set_spi0_dvp_data
2020-02-18 06:23:50 +00:00
Wladimir J. van der Laan
4d987f0d7d
rust: Important correction to board definition comment
...
WIFI_RX and WIFI_TX are named from the perspective of the ESP8285,
so they need to be connected RX<->TX and TX<->RX to be used.
2020-02-17 12:32:32 +00:00
Wladimir J. van der Laan
0445bc55ee
doc: Add some information about UART1/2/3
2020-02-16 15:11:47 +00:00
Wladimir J. van der Laan
5d20ac05a0
rust: k210-console: Fixes for colorfont generation script
2020-02-16 15:01:05 +00:00
Wladimir J. van der Laan
0636964b39
rust: weather: Show UART1 info at start
2020-02-16 14:57:13 +00:00
Wladimir J. van der Laan
34761dc4b6
rust: k210-console: allow utf to map to color font
...
- allow utf map function to map to color font (by making it return
cell-flags too)
- gencolorfont.py accepts multiple input images
2020-02-09 14:30:05 +00:00