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

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Thu Jan 6 23:16:27 GMT 2022


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

--- Comment #79 from Andrey Miroshnikov <andrey at technepisteme.xyz> ---
(In reply to Andrey Miroshnikov from comment #78)
> (In reply to Luke Kenneth Casson Leighton from comment #77)
> > do make sure to use the names because i've realised over the past couple
> > of days that create_resources() has to merge with create_pinouts().
> > long story, will explain on IRC.
> Yes, this is still in progress, I'll be implementing it once I get back.
> ...
> Asserts have not been added, but I started writing some code (commented
> out), which will test outputs/inputs by detecting '__o' or '__i' in the
> string of the signal name.
Currently I wrote a function for checking that inputs and outputs match the
expected values for the four test cases I mention in comment #78 . Currently
cleaning up.

> -JTAG register retains data given by TDI, so should be cleared before each
> test case. Leaving it in may affect the system when switching to EX_TEST
> mode.
Added BS chain reset after every test case.

> -Some of the combinatorial logic added in GPIOs/I2C/UART will need to be
> moved to dedicated tests, so that JTAG can fully control all signals.
This is not required, as values of core_input can be deduced from core_output.


After conversation with Luke (starts at 17:34:47,
https://libre-soc.org/irclog/%23libre-soc.2022-01-06.log.html) had the
discussion on the I/O mux block (iomb).

I drew a diagram of the iomb as well as how to build larger bank select muxes
from it. The diagram can be found in the IRC log, however it is a rough and
temporary sketch, so I'll make a better version and put it in the wiki later
(and link it with a new comment).

Now Luke has clarified that I need to extend the simple_gpio
(https://git.libre-soc.org/?p=soc.git;a=blob;f=src/soc/bus/simple_gpio.py;hb=HEAD)
to have:
-Input and oe signals in addition to output
-Direction selection (input/output)
-Add bank select signal
-Add CSR write command to affect the direction and bank of the GPIO

So far I only copied the simple_gpio to the pinmux repo. Tomorrow I will
continue working at it.

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


More information about the libre-soc-bugs mailing list