[Libre-soc-bugs] [Bug 490] Complete peripheral set including litex for first functional POWER9 Core
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Sat Oct 3 21:31:35 BST 2020
https://bugs.libre-soc.org/show_bug.cgi?id=490
--- Comment #27 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
these are now defined by pinmux ls180 spec
https://git.libre-soc.org/?p=pinmux.git;a=blob;f=src/spec/ls180.py;hb=HEAD
the nmigen JTAG module sets up IOconn instances and also takes a pinset.
https://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/debug/jtag.py;hb=HEAD
the pinset dictionary currently hardcoded as dummy_pinset() is now
autogenerated by the pinmux
Issuer creates one of these JTAG modules and through the pinset creates a suite
of ports (JTAG core and io pads) which end up in the public interface in the
verilog module.
https://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/simple/issuer.py;hb=HEAD#l83
using the EXACT same pinmux Pin definitions, Litex LS180Platform creates two
sets of IO resources, one for JTAG pads one for JTAG core and connects up the
core ones to the test_issuer verilog with make_jtag_conn
https://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/litex/florent/libresoc/core.py;hb=HEAD#l236
where a "normal" litex core would connect direct to the *platform* IO resource,
because JTAG has been connected to that litex instead connects to the *CPU* IO
resource(s) which were routed via the JTAG IOconn MUXes and back out again
through test_issuer
https://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/litex/florent/ls180soc.py;hb=HEAD#l431
in the coriolis2 layout the ioring is created by using once again the EXACT
same pinmux spec to create a JSON file with the mappings between LITEX
peripheral names and coriolis2 IO pin names
https://git.libre-soc.org/?p=soclayout.git;a=blob;f=experiments9/coriolis2/ioring.py;hb=HEAD
in this way we get automated centrally specified IO without getting into a
manual duplication mess.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list