[Libre-soc-bugs] [Bug 846] Pinmux Pinspec Interconnect Auto-Generation
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Sat Oct 1 16:09:04 BST 2022
https://bugs.libre-soc.org/show_bug.cgi?id=846
--- Comment #7 from Andrey Miroshnikov <andrey at technepisteme.xyz> ---
(In reply to Luke Kenneth Casson Leighton from comment #6)
> that's a file, not a commit diff.
Ah yes, there:
https://git.libre-soc.org/?p=pinmux.git;a=commitdiff;h=ceaf5478c9ee3b824c00396beb67dc414cb9b2d3
>
> 48 self.periph_ports = Array(temp)
> 49
>
> that's extremely unlikely to need Array(). just = temp.
Without Array() I can't use another signal as the index for setting the mux,
this is the error I get:
TypeError: list indices must be integers or slices, not Signal
Unless there's another method, this is the only one I know.
> to make it look like the standard python "dict" using Liskov Substitution
> Principle, yes.
Ah, nice to see an example of this!
>
> > There seems to be a strange recursive duplication.
> > ps.items() gives the pin information (as ps is PinSpec and inherits Pinouts),
> > but the same dict is returned by ps.gpio.pinouts.items()
>
> good. one data structure is easily accessible from the other.
By why does it work down to so many levels (presumably 'infinitely', barring
memory limits)?
Is there a name for this mechanism (to save you time explaining) so I can read
about it at some point?
>
> link?
I apologise, forgot to include:
https://libre-soc.org/docs/pinmux/
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list