[Trac #242] EC code in v20 does not work properly
Zarro Boogs per Child
bugtracker at laptop.org
Sat Oct 28 21:05:19 EDT 2006
#242: EC code in v20 does not work properly
---------------------+------------------------------------------------------
Reporter: jg | Owner: ray.tseng at quantatw.com
Type: defect | Status: new
Priority: blocker | Milestone: BTest-1
Component: distro | Keywords:
---------------------+------------------------------------------------------
With the v20 EC code we are still hitting some PS/2 port issues.
One appears to be a fried port, so it can hopefully be ignored for now.
Another is intermittant, I still can't find it.
The third is definite, and seems to be caused by the EC capturing events
to do multiplexing.
Specificly, the first time i8042 in the linux kernel attempts to detect
the PS/2 ports it is unable to tell that the AUX port even exists.
This is completely cleared up by setting the FC83h register in the EC to
FFh, as we had in EC v19. This also causes the multiplexer to go away.
At this point, as far as I've been able to tell from all of the problems
we have seen lately, the hardware is perfectly capiable of handling the
two PS/2 ports itself with no problem at all, and every time we've had
things set to have the EC code handle it we've had problems that go away
when we tell the hardware to cope itself.
We're out of time to keep messing with the EC code here, the hardware
has been tested to function properly with that register set to FF, and
we gain nothing at all from the multiplexer, due to the hardware
involved.
So, unless someone at Quanta understands this issue much better, and can
explain why the EC code needs to handle this, I believe that we need to
disable that handling and put it back in the hands of the hardware for
the B1 build.
Below is a log of what happens when we try and fail to probe the AUX
port with the registers set to allow the EC code to handle the various
commands.
Zephaniah E. Hull.
{{{
PM: Adding info for platform:i8042
drivers/input/serio/i8042.c: 20 -> i8042 (command) [1]
drivers/input/serio/i8042.c: 70 <- i8042 (return) [1]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [1]
drivers/input/serio/i8042.c: 70 -> i8042 (parameter) [1]
drivers/input/serio/i8042.c: d3 -> i8042 (command) [1]
drivers/input/serio/i8042.c: 5a -> i8042 (parameter) [1]
drivers/input/serio/i8042.c: -- i8042 (auxerr) [1]
drivers/input/serio/i8042.c: a9 -> i8042 (command) [1]
drivers/input/serio/i8042.c: aa <- i8042 (return) [1]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [1]
drivers/input/serio/i8042.c: 61 -> i8042 (parameter) [1]
serio: i8042 KBD port at 0x60,0x64 irq 1
PM: Adding info for serio:serio0
drivers/input/serio/i8042.c: 00 <- i8042 (interrupt, 0, 1) [2]
drivers/input/serio/i8042.c: f2 -> i8042 (kbd-data) [20]
drivers/input/serio/i8042.c: ed -> i8042 (kbd-data) [40]
}}}
--
Ticket URL: <http://dev.laptop.org/ticket/242>
One Laptop Per Child <http://laptop.org/>
More information about the Bugs
mailing list