-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi again,
I'm attaching my ACPI/IRQ related files, ACPI on my machine works (I'm getting power button events) and all IRQ are working too. I'm not supporting the PIC at all.
You need to compile the dsdt.asl with iasl -tc and then rename it from dsdt.hex to dsdt.c.
You need to have PMIO at 0x500 and free IRQ9.
Please consider those files as work in progress, they may lack correct copyright header, or expose some no good mess ;) Good news is that they DO work.
I will release them all in some point in the future, now I'm fixing the AMD K8 DDR setup.
For example I dont know if vt8237_lpc.c is clean enough to be released? (I think all it needs is just indent -kr -i8)
Rudolf
/* * Minimalist ACPI DSDT table for EPIA-M / MII * (C) Copyright 2004 Nick Barker Nick.Barker9@btinternet.com * (C) Rudolf Marek r.marek@assembler.cz * * ISA portions taken from QEMU acpi-dsdt.dsl * GPLv2 */
DefinitionBlock ("DSDT.aml", "DSDT", 1, "LXBIOS", "LXB-DSDT", 1) { /* * Define the main processor */ Scope (_PR) { Processor (_PR.CPU0, 0x00, 0x000000, 0x00) {} Processor (_PR.CPU1, 0x01, 0x000000, 0x00) {} }
/* For now only define 2 power states: * - S0 which is fully on * - S5 which is soft off * any others would involve declaring the wake up methods */ Name (_S0, Package () {0x00, 0x00, 0x00, 0x00 }) Name (_S5, Package () {0x02, 0x02, 0x00, 0x00 })
/* Root of the bus hierarchy */ Scope (_SB) { /* top PCI device */ Device (PCI0) { Name (_HID, EisaId ("PNP0A03")) Name (_ADR, 0x00) Name (_UID, 0x00) Name (_BBN, 0x00) /* PCI Routing Table */ //aaa Name (_PRT, Package () { Package (0x04) { 0x000BFFFF, 0x00, 0x00, 0x10 }, //slot 0xB Package (0x04) { 0x000BFFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x000BFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x000BFFFF, 0x03, 0x00, 0x13 }, Package (0x04) { 0x000CFFFF, 0x00, 0x00, 0x11 }, //Slot 0xC Package (0x04) { 0x000CFFFF, 0x01, 0x00, 0x12 }, Package (0x04) { 0x000CFFFF, 0x02, 0x00, 0x13 }, Package (0x04) { 0x000CFFFF, 0x03, 0x00, 0x10 }, Package (0x04) { 0x000DFFFF, 0x00, 0x00, 0x12 }, //Slot 0xD Package (0x04) { 0x000DFFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0x000DFFFF, 0x02, 0x00, 0x10 }, Package (0x04) { 0x000DFFFF, 0x03, 0x00, 0x11 }, Package (0x04) { 0x000F0000, 0x01, 0x00, 0x14 }, //0xf SATA IRQ 20 Package (0x04) { 0x000F0001, 0x00, 0x00, 0x14 }, //0xf NAtive IDE IRQ 20 Package (0x04) { 0x0010FFFF, 0x00, 0x00, 0x15 }, //USB routing Package (0x04) { 0x0010FFFF, 0x01, 0x00, 0x15 }, Package (0x04) { 0x0010FFFF, 0x02, 0x00, 0x15 }, Package (0x04) { 0x0010FFFF, 0x03, 0x00, 0x15 }, Package (0x04) { 0x0011FFFF, 0x02, 0x00, 0x16 }, //AC97 MC97 Package (0x04) { 0x0002FFFF, 0x00, 0x00, 0x1B }, //PCIE16 bridge IRQ27 Package (0x04) { 0x0002FFFF, 0x01, 0x00, 0x1B }, Package (0x04) { 0x0002FFFF, 0x02, 0x00, 0x1B }, Package (0x04) { 0x0002FFFF, 0x03, 0x00, 0x1B }, Package (0x04) { 0x0003FFFF, 0x00, 0x00, 0x1F }, //PCIE bridge IRQ31 Package (0x04) { 0x0003FFFF, 0x01, 0x00, 0x23 }, //IRQ36 Package (0x04) { 0x0003FFFF, 0x02, 0x00, 0x27 }, //IRQ39 Package (0x04) { 0x0003FFFF, 0x03, 0x00, 0x2B } //IRQ43 })
Device (PEGG) { Name (_ADR, 0x00020000) Name (_UID, 0x00) Name (_BBN, 0x02) Name (_PRT, Package () { Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x18 }, //PCIE IRQ24-IRQ27 Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x19 }, Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x1A }, Package (0x04) { 0x0000FFFF, 0x03, 0x00, 0x1B }, }) } //end of PCIEG
Device (PEX0) { Name (_ADR, 0x00030000) Name (_UID, 0x00) Name (_BBN, 0x03) Name (_PRT, Package () { Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x1C }, //PCIE IRQ28-IRQ31 Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x1D }, Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x1E }, Package (0x04) { 0x0000FFFF, 0x03, 0x00, 0x1F }, }) } //end of PEX0
Device (PEX1) { Name (_ADR, 0x00030001) Name (_UID, 0x00) Name (_BBN, 0x04) Name (_PRT, Package () { Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x20 }, //PCIE IRQ32-IRQ35 Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x21 }, Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x22 }, Package (0x04) { 0x0000FFFF, 0x03, 0x00, 0x23 }, }) } //end f PEX1
Device (PEX2) { Name (_ADR, 0x00030002) Name (_UID, 0x00) Name (_BBN, 0x05) Name (_PRT, Package () { Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x24 }, //PCIE IRQ36-IRQ39 Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x25 }, Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x26 }, Package (0x04) { 0x0000FFFF, 0x03, 0x00, 0x27 }, }) } //end f PEX2
Device (PEX3) { Name (_ADR, 0x00030003) Name (_UID, 0x00) Name (_BBN, 0x06) Name (_PRT, Package () { Package (0x04) { 0x0000FFFF, 0x00, 0x00, 0x28 }, //PCIE IRQ40-IRQ43 Package (0x04) { 0x0000FFFF, 0x01, 0x00, 0x29 }, Package (0x04) { 0x0000FFFF, 0x02, 0x00, 0x2A }, Package (0x04) { 0x0000FFFF, 0x03, 0x00, 0x2B }, }) } //end f PEX3
Device (ISA) { Name (_ADR, 0x00110000)
/* Keyboard seems to be important for WinXP install */ Device (KBD) { Name (_HID, EisaId ("PNP0303")) Method (_STA, 0, NotSerialized) { Return (0x0f) }
Method (_CRS, 0, NotSerialized) { Name (TMP, ResourceTemplate () { IO (Decode16, 0x0060, // Address Range Minimum 0x0060, // Address Range Maximum 0x01, // Address Alignment 0x01, // Address Length ) IO (Decode16, 0x0064, // Address Range Minimum 0x0064, // Address Range Maximum 0x01, // Address Alignment 0x01, // Address Length ) IRQNoFlags () {1} }) Return (TMP) } }
/* PS/2 mouse */ Device (MOU) { Name (_HID, EisaId ("PNP0F13")) Method (_STA, 0, NotSerialized) { Return (0x0f) }
Method (_CRS, 0, NotSerialized) { Name (TMP, ResourceTemplate () { IRQNoFlags () {12} }) Return (TMP) } }
/* PS/2 floppy controller */ Device (FDC0) { Name (_HID, EisaId ("PNP0700")) Method (_STA, 0, NotSerialized) { Return (0x0F) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x03F2, 0x03F2, 0x00, 0x04) IO (Decode16, 0x03F7, 0x03F7, 0x00, 0x01) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} }) Return (BUF0) } } //FD END
} //ISA END
} // End of PCI0 } // End of _SB
} // End of Definition Block