You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RFC #49: address some feedback from the 2024-04-01 Amaranth meeting.
- Add support for an ALTERNATE mode.
- Use interleaved set/clear bits in the SetClr register.
- Remove upper bound on the input_stage parameter.
- Add hints towards a policy for backward-compatible peripheral extensions.
*`addr_width`, `data_width` and `name` are passed to a `csr.Builder`
156
171
- a `.signature` property, that returns a `wiring.Signature` with the following members:
157
172
@@ -188,7 +203,11 @@ While they can be found in most microcontollers, the design of GPIOs in STM32 ha
188
203
## Unresolved questions
189
204
[unresolved-questions]: #unresolved-questions
190
205
191
-
-~~Should we support synchronizing a pin input on falling edges of the clock ?~~ Users can synchronize pin inputs on falling edges by instantiating a `gpio.Peripheral` with `input_stages=0`, and providing their own synchronization mechanism.
206
+
-~~Should we support synchronizing a pin input on falling edges of the clock ?~~ (@whitequark) Users can synchronize pin inputs on falling edges by instantiating a `gpio.Peripheral` with `input_stages=0`, and providing their own synchronization mechanism.
207
+
208
+
- What is our policy for backward-compatible extensions of the peripheral ? (@whitequark) If or when we add registers for new optional features, such as pull-ups, switchable schmitt triggers, switchable output driver strengths, etc, each register will always reside at the same fixed (for a given pin count) address regardless of which features are enabled, and each of these registers will be all-0s after reset, where such all-0s value will provide behavior identical to the behavior of the peripheral without the optional feature. Slots in the address space will never be reallocated with a different meaning once allocated upstream in Amaranth SoC.
209
+
* This will be important to industry users caring about forward and cross-family/cross-configuration compatibility.
210
+
* In a perfect world this would be our policy for every peripheral. Realistically, we'll only be able to provide this strongest guarantee for only a subset of peripherals.
0 commit comments