Commit Graph

379 Commits

Author SHA1 Message Date
Pol Henarejos
86674fd6ca Fix build for WS2812 boards.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-25 12:00:50 +02:00
Pol Henarejos
30df1d9202 Fix build for boards with WS2812.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-25 11:33:14 +02:00
Pol Henarejos
839e8244d9 Fix header in Linux. Fixes #63
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-19 18:25:41 +02:00
Pol Henarejos
739e9f1b98 Added ESP32 OTP support.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-16 00:51:43 +02:00
Pol Henarejos
cafb6a4774 Not used
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-16 00:51:43 +02:00
Pol Henarejos
1bf323c367 Fix build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-13 08:47:32 +02:00
Pol Henarejos
3d52921ef5 Add sha256_alt to use sha256 hardware in RP2350.
Other boards and SHA224 use mbedtls implementation.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-13 00:26:44 +02:00
Pol Henarejos
f8a05f4832 Fix maxPower and dwProtocols (recover T=0).
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-12 19:42:49 +02:00
Pol Henarejos
2011cfd35e In Windows, report ID shall start from 1.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-12 19:17:59 +02:00
Pol Henarejos
108cfec47c Enable OTP to store a permanent secret key.
It can be used by HSM or Fido to protect the keys and use it as MKEK.
2024-09-11 23:16:23 +02:00
Pol Henarejos
d3d2f021e7 Use debug header
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-11 23:15:29 +02:00
Pol Henarejos
e70552a298 Move debug to dedicated header
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-11 23:15:09 +02:00
Pol Henarejos
952e7791b0 Add json file to enable Secure Boot in RP2350.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-11 23:13:03 +02:00
Pol Henarejos
76ba851df1 Use internal TRNG of Pico.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-06 15:16:34 +02:00
Pol Henarejos
3cbbb6a16c Add signature and copy_to_ram if supports it
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-05 07:43:56 +02:00
Pol Henarejos
697e2fd263 Add macro to parse version file and set pico_binary_version accordingly.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-04 01:30:23 +02:00
Pol Henarejos
4711ae768a Move some functions to emulation header.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-03 18:07:50 +02:00
Pol Henarejos
ea6303de81 Add new led module to use colors whenever is possible.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-03 18:07:37 +02:00
Pol Henarejos
460111d29e Upgrade to MbedTLS 3.6.1
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-03 10:29:02 +02:00
Pol Henarejos
70622a9a3b Fix emulation build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-03 10:28:50 +02:00
Pol Henarejos
bc34efed5c Fix LED blink when ON/OFF.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-02 18:20:52 +02:00
Pol Henarejos
20099b61e8 Fix ESP32 GPIO led no.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-02 17:28:18 +02:00
Pol Henarejos
9f65a2cfa0 Fix BOOT press with RP2350.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-02 09:48:04 +02:00
Pol Henarejos
294c1fdf41 Fix USB descriptor in case only HID is enabled.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-02 09:46:51 +02:00
Pol Henarejos
83c2eaa0b2 Remove printf.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-02 09:46:32 +02:00
Pol Henarejos
1c16bad83a Remove unusued var.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-02 09:46:12 +02:00
Pol Henarejos
3235cd8595 Use mutex/semaphores for emulation, like in Pico and ESP.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-30 12:42:22 +02:00
Pol Henarejos
f8c4106367 Clear otp report before processing.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-30 00:33:48 +02:00
Pol Henarejos
e8b060abb3 Call reset multicore before launching the thread.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-30 00:33:31 +02:00
Pol Henarejos
4cf8d77609 Fix partition 0 boot.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-29 16:29:11 +02:00
Pol Henarejos
2497b633ae Fix flash initialization for RP2350.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-28 18:47:31 +02:00
Pol Henarejos
0560e49b5c Add PICO_PLATFORM macro.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-28 18:47:07 +02:00
Pol Henarejos
af06fb367e Add partitions to RP2350.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-28 18:46:12 +02:00
Pol Henarejos
6f64a6b5ac Move ESP32 partitions file.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-28 18:44:00 +02:00
Pol Henarejos
2d6545f191 Add support to RP2350.
RP2350 does not support RTC, so we use AON timer instead.
2024-08-28 16:42:46 +02:00
Pol Henarejos
c2eda3ca53 Fix USB/CCID writes when APDU is longer than 64 bytes.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-26 22:41:46 +02:00
Pol Henarejos
23dcc91add Fix vendord usb tx buffer size.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-26 22:40:44 +02:00
Pol Henarejos
e871c52f18 Fix long writes.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-26 02:18:53 +02:00
Pol Henarejos
9ac4ebdaed Fix emulation write offset.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-25 20:57:22 +02:00
Pol Henarejos
85be276915 Fix ccid write with offset.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-25 20:57:00 +02:00
Pol Henarejos
956f476872 Fix emulation build without HID.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-25 18:29:51 +02:00
Pol Henarejos
ac2a6c1052 Init low flash in core1 in emulation mode.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-25 00:11:10 +02:00
Pol Henarejos
e333383a22 Do not use mbedtls crt_dbrg as it it not reliable.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-25 00:10:53 +02:00
Pol Henarejos
7702401caa Do not use pthread_cancel. Instead use EV_EXIT.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-24 23:44:32 +02:00
Pol Henarejos
7a88a2b8e7 Improved multicore synchronization. Now they exchange signals and protect areas atomically.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-23 19:24:18 +02:00
Pol Henarejos
90842bb8f7 Fix emulation build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-23 14:24:17 +02:00
Pol Henarejos
65fea84df1 Fix warnings.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-23 13:17:10 +02:00
Pol Henarejos
b4487892a2 Fix windows build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-23 13:17:00 +02:00
Pol Henarejos
fa6292118d Major refactor of USB CCID and USB HID interfaces. All interfaces are rewritten.
With this new scheme we ensure that:
- memcpy's are reduced.
- no race conditions are performed.
- critical areas are protected.
- callbacks are executed immediately.
- write's are executed after the positive report is received.
- no usb middle interface anymore.
- CCID and HID are totally independent.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-23 10:02:19 +02:00
Pol Henarejos
0745838e3f Fix when receiving a packet in the middle of a transmission. RX shall be always processed.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-20 16:39:44 +02:00