Keith Hui wrote:
Hi guys,

Today I switched out my P2B-LS mainboard for a P2B-L. Same circuit
board without the SCSI components. Same W83977EF super I/O. As I have
seen in all my boot logs having described the onboard LAN component in
the -LS files doesn't really mean much, so I am testing as if it's a
P2B-F.

And I got it to boot all the way into the Fedora 11 login prompt,
meaning I have a chance to run a superiotool dump. Here's the output:

[r...@ojisan superiotool]# ./superiotool -d
superiotool r
Found Winbond W83977EF/EG (id=0x52, rev=0xf4) at 0x3f0
Register dump:
idx 02 20 21 22 23 24 25 26  28 2a 2b 2c 2d 2e 2f
val ff 52 f4 ff fe 80 00 00  00 00 00 00 00 00 ff
def RR 52 MM ff fe MM 00 MM  00 00 00 00 RR RR RR
LDN 0x00 (Floppy)
idx 30 60 61 70 74 f0 f1 f2  f4 f5
val 01 03 f0 06 02 0e 00 ff  00 00
def 01 03 f0 06 02 0e 00 ff  00 00
LDN 0x01 (Parallel port)
idx 30 60 61 70 74 f0
val 01 03 78 07 04 3f
def 01 03 78 07 04 3f
LDN 0x02 (COM1)
idx 30 60 61 70 f0
val 01 03 f8 04 00
def 01 03 f8 04 00
LDN 0x03 (COM2)
idx 30 60 61 70 f0 f1
val 01 02 f8 03 00 00
def 01 02 f8 03 00 00
LDN 0x05 (Keyboard)
idx 30 60 61 62 63 70 72 f0
val 00 00 60 00 64 01 0c 83
def 01 00 60 00 64 01 0c 83
LDN 0x07 (GPIO 1)
idx 30 60 61 62 63 64 65 70  72 e0 e1 e2 e3 e4 e5 e6  e7 f1
val 00 00 00 00 00 00 00 00  00 01 01 01 01 01 01 01  01 00
def 00 00 00 00 00 00 00 00  00 01 01 01 01 01 01 01  01 00
LDN 0x08 (GPIO 2)
idx 30 60 61 70 72 e8 e9 ea  eb ec ed f0 f1 f2 f3 f4
val 00 00 00 00 00 01 01 01  01 01 01 00 ff 00 00 00
def 00 00 00 00 00 01 01 01  01 01 01 00 RR 00 00 00
LDN 0x0a (ACPI)
idx 30 70 e0 e1 e2 e3 e4 e5  e6 e7 f0 f1 f3 f4 f6 f7  f9 fe ff
val 00 00 60 00 76 0b 00 00  00 00 00 8f 33 00 00 00  00 00 00
def 00 00 00 00 MM MM MM 00  00 00 00 00 00 00 00 00  00 RR RR
[r...@ojisan superiotool]#

The keyboard logical device isn't enabled. This is why PS/2 keyboard
doesn't work with the P2B family. But coreboot itself thinks it's
being enabled - see log at end of email.

I am suspecting that no PnP devices are actually being enabled, as
FDC,LPT,COM1,COM2 could all be enabled by hardware strapping.

I had the same problem with a P2B.

news://news.gmane.org:119/[email protected]

I never got a reply :-(

The function "pnp_enable" only ever disables functions, yet the keyboard function of the superio starts off disabled. This is documented behavior in the Winbond data sheet.

The simplest fix is to change this function to actually do the enable / disable. I don't have the code to hand, but if you grep for this function name it should be obvious.

MM

PS.
The internet has the source:

http://tracker.coreboot.org/trac/coreboot/browser/trunk/src/devices/pnp_device.c

Change

152     void pnp_enable(device_t dev)
153     {
154             if (!dev->enabled) {
155                     pnp_set_logical_device(dev);
156                     pnp_set_enable(dev, 0);
157             }
158     }

To

152     void pnp_enable(device_t dev)
153     {
155             pnp_set_logical_device(dev);
156             pnp_set_enable(dev, dev->enabled);
158     }

(This is from memory. I don't really understand all of this code, this might not be the best fix.)



--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to