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
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
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
Harry Brooke
096d147dce
stm32: add disable_ucpdx_dead_battery
2024-03-11 11:42:04 +00:00
Dario Nieuwenhuis
ac06ca2fa0
Merge pull request #2680 from caleb-garrett/dma-priority
...
Configurable DMA Request Priority
2024-03-10 22:42:03 +00:00
Caleb Garrett
4a5b6e05fb
Correct more CI build issues.
2024-03-10 17:33:40 -04:00
Caleb Garrett
50a7ada0bb
Fixed DMA CI build issues.
2024-03-10 17:28:53 -04:00
Caleb Garrett
e92094986d
Add DMA request priority as transfer option.
2024-03-10 16:53:37 -04:00
Dario Nieuwenhuis
a58891891b
Merge pull request #2676 from adamgreig/bump-metapac
...
stm32: bump metapac version
2024-03-10 15:33:01 +00:00
Adam Greig
b456addb2b
stm32: bump metapac version
2024-03-09 20:13:20 +00:00
Dario Nieuwenhuis
1b4d3e1e29
Merge pull request #2675 from msrd0/no-personal-prefs
...
Remove personal preferences regarding editor settings
2024-03-09 11:16:03 +00:00
Dominic
842f90e324
No personal preferences in public repository
2024-03-09 12:11:09 +01:00
Dario Nieuwenhuis
1366c278b3
Merge pull request #2518 from msrd0/issue-2445
...
Fix incorrect D1CPRE max for STM32H7 RM0468
2024-03-09 11:02:58 +00:00
Dominic
71179fa818
Check for CPU_FREQ_BOOST
2024-03-09 11:55:09 +01:00
Dominic
fadffc5061
Fix incorrect D1CPRE max for STM32H7 RM0468
2024-03-09 11:55:09 +01:00
Dario Nieuwenhuis
7718d66053
Merge pull request #2670 from jr-oss/fix_regression_simple_pwm_output_enable
...
STM32 SimplePwm: Fix regression and re-enable output pin
2024-03-08 13:05:20 +00:00
Ralf
b7bb4b23f8
STM32 SimplePwm: Fix regression and re-enable output pin
...
PR #2499 implemented timer hierarchy, but removed enable_outputs()
from trait CaptureCompare16bitInstance and from SimplePwm.
This functions is required for advanced timers to set bit BDTR.MOE
and to enable the output signal.
2024-03-08 11:18:45 +01:00
Dario Nieuwenhuis
b2d236ee39
Merge pull request #2667 from timokroeger/stm32-anychannel-fix
...
stm32: Implement `Channel` trait for `AnyChannel`
2024-03-07 15:18:32 +00:00
Dario Nieuwenhuis
5d4bcaebcf
Merge pull request #2668 from tomasbarton-stemcell/patch-1
...
Update stm32c0 HSI frequency
2024-03-07 15:01:46 +00:00
Tomas Barton
bb3711bbf9
update stm32c0 HSI frequency
2024-03-07 06:51:32 -08:00
Timo Kröger
bbc06458a3
stm32: Implement Channel
trait for AnyChannel
2024-03-07 15:05:28 +01:00
Dario Nieuwenhuis
5e92973136
Merge pull request #2658 from MaxiluxSystems/fdcan-buffered-read-consistent
...
stm32: fdcan: merge read impls, add setter for TxBufferMode, rename Queue -> Priority
2024-03-06 20:44:48 +00:00
Dario Nieuwenhuis
aaea056ed1
Merge pull request #2664 from eZioPan/build-target-fix
...
ci stm32: build target fix
2024-03-06 18:51:25 +00:00
Dario Nieuwenhuis
f3efa4ee3b
stm32/rtc: remove use of deprecated .timestamp()
2024-03-06 19:45:57 +01:00