[PATCH 0/6] nokia_nx51: Attempts to debug keyboard
Pali Rohár
pali at kernel.org
Mon Jul 10 16:02:56 CEST 2023
On Monday 26 June 2023 10:07:35 Simon Glass wrote:
> Hi Pali,
>
> On Sat, 24 Jun 2023 at 09:44, Pali Rohár <pali at kernel.org> wrote:
> >
> > On Saturday 17 June 2023 11:49:47 Simon Glass wrote:
> > > This series is an attempt to get the keyboard working properly with
> > > bootmenu.
> > >
> > > It fixes the board's tstc() function, which should be in drivers/input
> > >
> > > It also adjusts stopping of the menu autodelay - it should only stop when
> > > a whole escape sequence is received, not when the first escape character
> > > is received. That is pretty minor, so we could drop that patch.
> > >
> > > This series also adds some debugging output. This seems to make things
> > > work correctly, suggesting that there is some other problem.
> > >
> > > I also see this message fairly often:
> > >
> > > cyclic function rx51_watchdog took too long: 10000us vs 1000us max
> > >
> > >
> > > Simon Glass (6):
> > > menu: Re-enable the ANSI codes
> > > nokia_rx51: Correct tstc() implementation
> > > bootmenu: Cancel delay only when a real key is pressed
> > > boobtmenu: Add debugging
> > > getch: debugging
> > > menu: Add debugging
> > >
> > > board/nokia/rx51/rx51.c | 3 +++
> > > cmd/bootmenu.c | 19 ++++++++++++-------
> > > common/cli_getch.c | 23 ++++++++++++++++++++---
> > > common/menu.c | 7 ++++++-
> > > 4 files changed, 41 insertions(+), 11 deletions(-)
> > >
> > > --
> > > 2.41.0.162.gfafddb0af9-goog
> > >
> >
> > Hello, it looks like that this patch series is not finish yet (contains
> > some commented code, etc.). Anyway, I have tested it and it makes it
> > even worse. For example PAGE DOWN key in bootmenu on emulated UART
> > terminal completely stopped working and do nothing. So this patch series
> > still does not fix this problem.
>
> Indeed, but I was hoping it would help you to find the problem.
>
> The keyboard driver is currently returning 0 from tst() even when
> characters are available (i.e. a call to getc() will return valid
> chars but tstc() returns 0.
No, look again, rx51 tstc is returning 1 if there is something in SW buffer.
> I attempted to fix this, but perhaps you
> can do a proper fix? With that bug in place, it cannot work properly
> with the menu.
>
> See the docs for tstc:
>
> /**
> * tstc() - check if a key is available
> *
> * @dev: Device to check
> * @return 0 if no key is available, 1 if a key is available, -ve on
> * error
> */
> int (*tstc)(struct udevice *dev);
>
> Regards,
> Simon
I think it matches doc; I do not see issue here.
More information about the U-Boot
mailing list