[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