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

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Fri Jan 7 19:56:05 GMT 2022


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

--- Comment #80 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Andrey Miroshnikov from comment #79)
> (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,

please put it in the wiki straight away

> o I'll make a better version and put it in the
> wiki later (and link it with a new comment).

don't worry about "better". this prevents understanding because
of a forced and false dependency, waiting for "better".  judgement of
quality ahould never be a deciding factor in whether to publish.

you might find soneone else writes the diagram and saves time.

if however you fail to publish the "s***" version that cannot happen

this is why you see hand drawn diagrams in the wiki.  6 months later
someone upgrades them.

> 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.

great.

if you can start a wiki page describing the bits and how they will be
addressed this will greatly help review and understanding.

also can refer to the page in the source code.

there is an ericsson linux gpio presentation on elinux.org about what
i talked about yesterday, it should go in the wiki as well

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


More information about the libre-soc-bugs mailing list