[coreboot] [RFC] ACPI for ASUS P2B/P2B-LS (Intel 440BX/82371EB)

Idwer Vollering vidwer at gmail.com
Thu Apr 15 03:20:55 CEST 2010


2010/4/14 Keith Hui <buurin at gmail.com>

> Hi all,
>
> Based on Idwer's RFC I tried adding ACPI to P2B-LS plus completing the
> rest of the PIIX4 function 3 initialization.
>
> This is a summary of what I did:
>
> * I used the DSDT table from the final vendor BIOS. Not provided here
> for obvious reasons, but I can tell you how to extract it.
> * I also replicated the content of the PIIX4 function 3 config space
> after booting with vendor BIOS, as below:
>
> 00:04.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02)
> 00: 86 80 13 71 03 00 80 02 02 00 80 06 00 00 00 00
> 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 40: 01 e4 00 00 00 00 00 20 1e 30 00 01 00 00 00 00
> 50: 00 58 19 00 c0 c8 3b 02 37 40 40 03 00 00 00 00
> 60: 90 02 e7 00 00 00 00 10 04 e4 11 00 00 00 00 00
> 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 80: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 90: 01 e8 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> d0: 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
> e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> f0: 00 00 00 00 00 00 00 00 30 0f 00 00 00 00 00 00
>
> One exception is 0x90-0x91 which has the SMBus host base address. I
> kept it as 0x0f00.
>
> * Idwer is trying to build ACPI 4.0 (!) tables. Since P2B-LS is
> shipped when ACPI was still at 1.0, that's what I did. For booting XP,
> even ACPI 2.0 compliance is sufficient.
>

Fixed the ACPI version, althought I'm not booting Windows.


> This is a summary of what happens:
>
> * I can no longer get POST codes on the PCI bus. POST codes still
> appear on the ISA bus. Glad I picked a POST card that works on both
> buses.
>

What about POST codes on the serial port ? See
http://www.coreboot.org/Coreboot_Options


> * Power off does not work. The last POST code to show before complete
> kernel shutdown and hard drive spinning down is 0xF5.
> * I don't how how to enter soft suspend in Linux (silly me -_-! ), so
> I have not tested it.
>

http://acpi.sourceforge.net/documentation/sleep.html


> * the sensor appears on ISA bus port 0x290, just like vendor BIOS.
> * My SB AWE64 ISA card still got initialized and driver loaded, but no
> sound. In fact ALSA can't even do I/O to the card. That apparently is
> because PIIX4 needs to be configured to forward certain I/O port
> ranges to ISA, and some of those port ranges can be further
> configured. This would require detecting in runtime what ISA cards are
> installed, what are they, and what I/O port ranges they would use.
> Where in the source tree should I place such code? Southbridge?
>
> The changes I made are described in two attached patches, one to
> southbridge/intel/i82371eb, one to mainboard/asus/p2bls. My coreboot
> and linux boot log is also attached.
>

Attached patch: coreboot_r5439_asus_p2b_ram+keithhui-pm+acpi-wip.patch
coreboot's serial port log + dmesg and an incomplete bootlog from linux:
http://coreboot.pastebin.com/x0QTfji7


> This is also RFC and is not signed off at this point, but comments are
> welcome.
>

When is it okay to sign off :) probably when the major functions like
standby and soft poweroff/reset work like they should and the ACPI tables
are created. Oh, and irq routing..

Self quote:

> Todo:
> - create PRT objects
> - finish/fix FADT
> - finish all other ACPI tables (RSDT, RSDP, DSDT etcetera)
>

[    0.000000] ACPI: RSDP 000f7b20 00014 (v00 CORE  )
[    0.000000] ACPI: RSDT 0fff1424 00034 (v01 CORE   COREBOOT 00000000 CORE
00000000)
[    0.000000] ACPI: FACP 0fff1aa2 000F4 (v01 COREBO COREBOOT 00000000 CORE
0000002A)
[    0.000000] ACPI: DSDT 0fff1508 0059A (v01 LXBIOS LXB-DSDT 00000001 INTL
20090521)
[    0.000000] ACPI: FACS 0fff14c8 00040
[    0.000000] ACPI: APIC 0fff1b96 0003E (v01 CORE   COREBOOT 00000000 CORE
00000000)
[    0.000000] ACPI: MCFG 0fff1bd4 0002C (v01 CORE   COREBOOT 00000000 CORE
00000000)
[    0.000000] ACPI: SRAT 0fff1c00 00030 (v01 CORE   COREBOOT 00000000 CORE
00000000)


> - PIRQ routing
>

[    1.378731] irq 9: nobody cared (try booting with the "irqpoll" option)
[    1.380003] Pid: 1, comm: swapper Not tainted 2.6.32-21-generic
#31-Ubuntu
[    1.380003] Call Trace:
<snip>
[    1.380003] Disabling IRQ #9

[    1.435077] ACPI: PCI Interrupt Link [LNKA] (IRQs) *15, disabled.
[    1.441889] ACPI: PCI Interrupt Link [LNKB] (IRQs 11) *15, disabled.
[    1.448908] ACPI: PCI Interrupt Link [LNKC] (IRQs 10) *15, disabled.
[    1.456644] ACPI: PCI Interrupt Link [LNKD] (IRQs 11) *15, disabled.
[    2.477092] ACPI: PCI Interrupt Link [LNKD] disabled and referenced, BIOS
bug

[    3.173723] irq 11: nobody cared (try booting with the "irqpoll" option)
[    3.176017] Pid: 1, comm: swapper Not tainted 2.6.32-21-generic
#31-Ubuntu
[    3.176017] Call Trace:
<snip>
[    3.176017] Disabling IRQ #11


> - standby/suspend
>

[    2.010407] input: Power Button as
/devices/LNXSYSTM:00/LNXPWRBN:00/input/input0
[    2.025108] ACPI: Power Button [PWRF]


> - ?
>



> Regards
> Keith
>

Idwer


>
> --
> coreboot mailing list: coreboot at coreboot.org
> http://www.coreboot.org/mailman/listinfo/coreboot
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20100415/d042e43d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: coreboot_r5439_asus_p2b_ram+keithhui-pm+acpi-wip.patch
Type: text/x-diff
Size: 29835 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20100415/d042e43d/attachment.bin>


More information about the coreboot mailing list