Dario Nieuwenhuis
0f03018434
tests/stm32: run ucpd only on g0.
2024-03-15 19:47:05 +01:00
Timo Kröger
067e677ae5
[UCPD] Add unit test for stm32g071rb board
...
One test for changing the CC line pull-up resistor is skipped for now.
2024-03-15 17:49:15 +01:00
Timo Kröger
21e2499f35
[UCPD] Fix dead-battery disable for G0
...
Inverted flag got missed in the original PR.
2024-03-15 17:44:27 +01:00
Dario Nieuwenhuis
a92a73abe4
Merge pull request #2699 from HaoboGu/main
...
Impl `MultiwriteNorFlash` for `BlockingAsync`
2024-03-15 13:45:10 +00:00
Haobo Gu
47b9758151
feat: impl MultiwriteNorFlash
for BlockingAsync
...
Signed-off-by: Haobo Gu <haobogu@outlook.com>
2024-03-15 21:38:32 +08:00
Dario Nieuwenhuis
963fda2404
Merge pull request #2652 from timokroeger/stm32-ucpd
...
STM32 USB Type-C/USB Power Delivery Interface (UCPD)
2024-03-14 21:21:33 +00:00
Timo Kröger
7b80de5e3d
[UCPD] Enable dead-battery support in example
2024-03-14 22:14:20 +01:00
Timo Kröger
57ca072dc3
[UCPD] Enable RX PHY only when receiving
2024-03-14 22:05:22 +01:00
Timo Kröger
62b0410e86
[UCPD] Set CC pins to analog mode
...
Example: On STM32G431 CC2 has a pull-up (default JTAG signal) which needs to be disabled.
2024-03-14 21:55:05 +01:00
Timo Kröger
88d1d38be7
[UCPD] RXORDSETEN can only be modified when disabled
2024-03-14 21:55:05 +01:00
Timo Kröger
b634f8f511
[UCPD] Fix hard reset interrupt disable flags
2024-03-14 21:55:05 +01:00
Timo Kröger
6e5bb8003a
[UCPD] Adjust TX clock divider
2024-03-14 21:55:05 +01:00
Timo Kröger
e95e95ac7a
[UCPD] Take interrupt in constructor and enable it
2024-03-14 21:55:05 +01:00
Dario Nieuwenhuis
23e8fd8337
Merge pull request #2695 from votrungchi/main
...
stm32: add usb_hid_keyboard example
2024-03-14 20:39:58 +00:00
Vo Trung Chi
9f699e5772
stm32: add usb_hid_keyboard example
...
Signed-off-by: Vo Trung Chi <votrungchi_108@live.com>
2024-03-14 23:14:43 +07:00
Dario Nieuwenhuis
bbcab556c8
Merge pull request #2693 from cschuhen/feature/bxcan_use_frame
...
Use the same Frame struct for BXCAN and FDCAN.
2024-03-14 09:34:40 +00:00
Corey Schuhen
535e4c20e8
Remove unused methods including incorrect #[must_use...
2024-03-14 08:21:45 +10:00
Corey Schuhen
242759a600
Use Result instead of Option for Frame creation.
2024-03-13 17:46:50 +10:00
Corey Schuhen
12a3af5043
Shared frame types.
...
Remove BXCAN speciffic id and frame modules
Remove SizedClassicData
2024-03-13 17:46:50 +10:00
Dario Nieuwenhuis
35f284ec22
Merge pull request #2691 from caleb-garrett/cryp-dma
...
STM32 CRYP DMA
2024-03-12 19:30:20 +00:00
Caleb Garrett
b1ba272987
rustfmt
2024-03-12 15:13:06 -04:00
Dario Nieuwenhuis
9101b9eb01
Merge pull request #2650 from cschuhen/feature/bxcan_pac
...
Use stm32-metapac for BXCAN.
2024-03-12 19:05:22 +00:00
Caleb Garrett
2634a57098
Correct cryp CI build issues.
2024-03-12 15:05:22 -04:00
Caleb Garrett
1ec9fc58f4
Add async CRYP to test.
2024-03-12 14:52:34 -04:00
Caleb Garrett
61050a16d5
Add CRYP DMA support. Updated example.
2024-03-12 12:01:14 -04:00
Ulf Lilleengen
7c82583d56
Merge pull request #2689 from embassy-rs/dyn-channel-futures
...
Add conversion into dyn variants for channel futures
2024-03-12 15:50:02 +00:00
Ulf Lilleengen
c0d91600ea
rustfmt
2024-03-12 15:37:53 +01:00
Ulf Lilleengen
8bb1fe1f65
Add conversion into dyn variants for channel futures
2024-03-12 15:27:52 +01:00
Timo Kröger
30cdc6c9c5
[UCPD] Disable dead-battery resistor for all families
...
Using the code from PR #2683 , thank you @ExplodingWaffle
Removes the dead-battery as selectable option because its unclear if
it can be re-enabled. Also there is no use case for it because the same
resistor can be configured with the sink option.
2024-03-12 08:49:27 +01:00
Timo Kröger
eeb033caf0
[UCPD] Disable RCC clock on drop
2024-03-12 08:14:42 +01:00
Timo Kröger
89504f5162
[UCPD] Split into CC and PD phy
...
PD3.0 spec requires concurrent control of CC resistors for collision avoidance.
Needed to introduce some "ref counting" (its just a bool) for drop code.
2024-03-12 08:14:42 +01:00
Timo Kröger
99854ff840
[UCPD] Fix build for devices with GPDMA
...
Do not use a flag that is DMA/BDMA only, not required anyway
the transfer should run in the background nevertheless
2024-03-12 08:14:42 +01:00
Timo Kröger
ff8129a6a6
[UCPD] Implement hard reset transmission
2024-03-12 08:14:42 +01:00
Timo Kröger
c1efcbba2d
[UCPD] Receive hard resets
2024-03-12 08:14:42 +01:00
Timo Kröger
b7972048a1
[UCPD] Improve example and defmt Format for enums
2024-03-12 08:14:42 +01:00
Timo Kröger
5e271ff31b
[UCPD] Combine RX and TX
...
`select(rx.receive(), tx.transmit()` had subtle interrupt enable race conditions.
Combine receiver and transmitter into one new `PdPhy` struct to disallow the
problematic pattern.
Scanning through the USB PD 2.0 specification there is no need to have RX and TX
running concurrently (after all the USB PD communication is half-duplex).
2024-03-12 08:14:42 +01:00
Timo Kröger
36a9918921
[UCPD] Implement PD transmitter
2024-03-12 08:14:42 +01:00
Timo Kröger
984d5bbc72
[UCPD] Implement PD receiver
2024-03-12 08:14:42 +01:00
Timo Kröger
4d0e383816
[UCPD] Prepare for PD communication implementation
2024-03-12 08:14:42 +01:00
Timo Kröger
a3b1222617
[UCPD] Improve Type-C CC handling
...
* Improved interrupt handling: Clear flags in ISR, check state change in future
* Disable pull-up/pull-down resistors and voltage monitor on drop
* nightly rustfmt
2024-03-12 08:14:42 +01:00
Timo Kröger
d99fcfd0c2
[UCPD] Configuration Channel (CC) handling
2024-03-12 08:14:42 +01:00
Timo Kröger
aa1411e2c7
[UCPD] Prepare interrupt handle
2024-03-12 08:14:41 +01:00
Timo Kröger
8a255b375b
[UCPD] Instance and Pin Traits
...
Skip FRSTX pin for now. Its available twice in the device JSON as
FRSTX1 and FRSTX2 both with the same pins as targets.
I don’t know enough about the FRS (fast role switch) feature to
understand if that is correct and how to handle the pins.
2024-03-12 08:14:41 +01:00
Dario Nieuwenhuis
1ef02e5384
Merge pull request #2683 from ExplodingWaffle/ucpd-dbdis
...
stm32: add disable_ucpdx_dead_battery
2024-03-11 23:36:15 +00:00
Harry Brooke
d4869b83fc
disable -> enable. also extracted to function for easy refactoring later
2024-03-11 23:03:09 +00:00
Dario Nieuwenhuis
b8be126a47
Merge pull request #2685 from msrd0/spi-br-0-not-unreachable
...
Improve panic message when requesting frequency higher than clock
2024-03-11 18:12:15 +01:00
Dominic
b6a383811a
Improve panic message when requesting frequency higher than clock
...
Previously it would panic with message "unreachable", which isn't
particularly clear about what the problem is and how to fix it.
2024-03-11 17:52:18 +01:00
Caleb Garrett
6e9e8eeb5f
Refactored cryp din/dout into functions.
2024-03-11 11:08:02 -04:00
Harry Brooke
096d147dce
stm32: add disable_ucpdx_dead_battery
2024-03-11 11:42:04 +00:00
Harry Brooke
f761f721bc
fix ci
2024-03-10 22:51:42 +00:00