[Libre-soc-bugs] [Bug 50] nmigen pinmux

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Sat Nov 13 00:01:05 GMT 2021


https://bugs.libre-soc.org/show_bug.cgi?id=50

--- Comment #10 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
diagram explaining JTAG redirection:
https://libre-soc.org/shakti/m_class/JTAG/jtag-block.jpg

3 phases needed here:

* phase 1 - simple dummy_pinset Resource list

a function is needed which turns the results of dummy_pinset()
into:

[UARTResource("uart", 0, tx=..., rx=..),
 I2CResource("i2c", 0, scl=..., sda=...),
 Resource("gpio", 0, Subsignal("i"...), Subsignal("o"...)
 Resource("gpio", 1, Subsignal("i"...), Subsignal("o"...)
 ...
]

and to create a Platform instance with that list, and build
something random

   p=Platform()
   p.resources=listofstuff
   p.build(Blinker())

* phase 2 - read an arbitrary pinset (from a JSON file)

will edit tomorrow

* phase 3 - finally create an ASICPlatform with JTAG scan.



phase 1 should literally be no more than 20 lines of code.

phase 2 is a little more involved, some Resource peripherals
need to be created, wrapping class Pin and creating Resource
lists

phase 3 is quite straightforward.

more tomorrow

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list