Commit graph

127 commits

Author SHA1 Message Date
MageDelfador
85aff9c288 fix 2025-10-15 14:27:18 +08:00
Pol Henarejos
233e6594c6
Add casts to fix warnings.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-12 18:52:07 +02:00
Pol Henarejos
b3b2b67034
Add const to OTP functions.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-06 14:21:41 +02:00
Pol Henarejos
3eff2442c6
Fix is_empty_otp_buffer when a register is invalid.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-06 14:21:41 +02:00
Pol Henarejos
a7e1cf028b
To prevent the PVC attack, MKEK and DEV keys are migrated to another OTP page.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-06 14:21:41 +02:00
Pol Henarejos
e14a12b002
Add OTP chaff to avoid passive voltage contrast (PVC) attacks.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-06 14:21:41 +02:00
Pol Henarejos
56c2ef0cc1
Fix alignment when programming OTP.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-10-06 14:21:41 +02:00
Pol Henarejos
6f6004c57b
Fix build for non-pico boards.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-23 00:02:20 +02:00
Pol Henarejos
4edc506759
Fix build for non-pico boards.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-22 23:35:46 +02:00
Pol Henarejos
da44fd21d4
Add support for led driver in PHY.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-09-01 21:27:15 +02:00
Pol Henarejos
f01aca5518
Flash size is obtained dynamically rather than in build time. It will allow to reduce dramatically the number of builds.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-05-30 12:06:26 +02:00
Pol Henarejos
c185b35ca3
Add enabled USB interfaces in PHY.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-03-22 23:24:36 +01:00
Pol Henarejos
ef9b66f990
Use TLV for PHY serialization/unserialization.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-03-17 11:36:14 +01:00
Pol Henarejos
7191cda6d3
Add PHY option to enable specific curves. It's in the app side the management.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-03-11 18:43:08 +01:00
Pol Henarejos
4992d8e273
Added phy_save() and phy_load() to save and load PHY.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-01-29 17:06:55 +01:00
Pol Henarejos
80fa13a19c
Do not init PHY on unserialize.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-01-29 16:57:53 +01:00
Pol Henarejos
b4c67d2fa5
Add PHY option to keep LED steady.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-01-29 16:27:26 +01:00
Pol Henarejos
18eb3e6ef2
Fixed stack overflow on serializing PHY.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-01-29 15:16:13 +01:00
Pol Henarejos
3d912878f1
Add OTP (dummy value) for emulation.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-01-08 13:25:43 +01:00
Pol Henarejos
68a816895e
Fix build for RP2040.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-30 21:37:38 +01:00
Pol Henarejos
1d89c14268
Compute flash memory bounds depending on the partition if available.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-30 21:27:46 +01:00
Pol Henarejos
5508c082e5
Add padding to align the struct in host build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-30 21:27:27 +01:00
Pol Henarejos
f8cb36c2cf
Use uint16 funcs.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-23 21:23:13 +01:00
Pol Henarejos
8e68e6cae9
Use BE/LE functions for packing uint16.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-23 21:00:38 +01:00
Pol Henarejos
d530ea6979
Add BE/LE functions.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-23 20:39:47 +01:00
Pol Henarejos
f509833a3c
Pack file struct for.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-23 20:39:31 +01:00
Pol Henarejos
ffaf20da5d
Add memory statistics.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-23 19:35:56 +01:00
Pol Henarejos
e627b3fc86
Fix with string termination.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-17 17:06:08 +01:00
Pol Henarejos
7805131d92
Introduce USB product name as a dynamic field.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-17 16:25:47 +01:00
Pol Henarejos
a61f7683b6
Add option to disable power cycle on reset via Commissioner.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-01 01:07:25 +01:00
Pol Henarejos
812f075ee4
Add UP button timeout to PHY.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-25 12:57:17 +01:00
Pol Henarejos
9018ebb55d
Fix secure otp build for non rp2350.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-08 19:45:50 +01:00
Pol Henarejos
621d5553e1
Fix PHY missing headers.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-08 19:25:11 +01:00
Pol Henarejos
daddb7fa57
No options on secure boot and lock in PHY.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-08 19:24:16 +01:00
Pol Henarejos
4da9b89d90
Add function to enable secure boot and secure lock.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-08 19:24:05 +01:00
Pol Henarejos
cf36c2988c
Add DEV key to OTP.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-07 00:15:58 +01:00
Pol Henarejos
f38e0619b8
Remove printf
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-06 23:42:55 +01:00
Pol Henarejos
3dbf969e12
WCID interface is always enabled.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-06 17:02:38 +01:00
Pol Henarejos
6625678c30
Rename CCID_ codes to PICOKEY_
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-05 18:21:24 +01:00
Pol Henarejos
0638409ff8
Refactor PHY to support more flexible and scalable architecture.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-05 00:29:13 +01:00
Pol Henarejos
802df9e705
Add flags to enable secure boot and secure boot lock via firmware on boot.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-04 18:31:34 +01:00
Pol Henarejos
6f7d92a591
Add parse phy byte string.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-04 18:25:05 +01:00
Pol Henarejos
62c3d0c360
Add OTP read raw.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-10-28 00:15:13 +01:00
Pol Henarejos
6216cd24be
Make public read/write RP2350 OTP functions.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-10-13 20:22:16 +02:00
Pol Henarejos
32eed01508
Use non-guarded OTP reads to avoid bus faults.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-10-13 20:21:43 +02:00
Pol Henarejos
cec3b4c7f6
Do not pack file_t to avoid misalignments.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-10-01 13:28:52 +02:00
Pol Henarejos
a816b6f747
Added PHY options to control the brigthness of the LED and its dimming.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-27 20:55:49 +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
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
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