amaranth
amaranth copied to clipboard
Decouple pin direction overrides, XDRs, etc from request()
Right now, platform.request() must include every parameter with which the IO buffers will be instantiated. This is unfortunate, because the act of calling platform.request() with a specific name is firmly in the domain of user code, but everything else is just as firmly in the domain of library (peripheral) code.
@jeanthom has hit this in Gram (#413). @ktemkin also hit this in LUNA. It is certain that most advanced peripherals (XDR>0, anything with IOB instances) will also hit this. We should do something about it.