diff options
Diffstat (limited to 'src/mainboard/via/epia-n/dsdt.asl')
-rw-r--r-- | src/mainboard/via/epia-n/dsdt.asl | 545 |
1 files changed, 321 insertions, 224 deletions
diff --git a/src/mainboard/via/epia-n/dsdt.asl b/src/mainboard/via/epia-n/dsdt.asl index b1b791d5f2..50d18131fd 100644 --- a/src/mainboard/via/epia-n/dsdt.asl +++ b/src/mainboard/via/epia-n/dsdt.asl @@ -1,255 +1,352 @@ /* - * Minimalist ACPI DSDT table for EPIA-M / MII + * Minimalist ACPI DSDT table for EPIA-N / NL + * (C) Copyright 2009 Jon Harrison <jon.harrison@blueyonder.co.uk> + * Heavily based on EPIA-M dstd.asl * (C) Copyright 2004 Nick Barker <Nick.Barker9@btinternet.com> - * * */ - -DefinitionBlock ("DSDT.aml", "DSDT", 1, "LXBIOS", "LXB-DSDT", 1) +DefinitionBlock ("dsdt.aml", "DSDT", 1, "CBT-V2", "CBT-DSDT", 1) { - /* - * Define the main processor - */ - Scope (\_PR) - { - Processor (\_PR.CPU0, 0x00, 0x00000410, 0x06) {} - } + Scope (\_PR) + { + Processor (\_PR.CPU0, 0x00, 0x00000000, 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 }) + Name (\_S0, Package (0x04) + { + 0x00, + 0x00, + 0x00, + 0x00 + }) + Name (\_S5, Package (0x04) + { + 0x02, + 0x02, + 0x02, + 0x02 + }) + + /* Global Flag Used to Indicate State of */ + /* ATA Interface */ + Name (ATFL, 0x00) /* Root of the bus hierarchy */ Scope (\_SB) - { - /* Define how interrupt Link A is plumbed in */ - Device (LNKA) - { - Name (_HID, EisaId ("PNP0C0F")) - Name (_UID, 0x01) - /* Status - always return ready */ - Method (_STA, 0, NotSerialized) - { - Return (0x0B) - } - /* Current Resources - return irq set up in BIOS */ - Method (_CRS, 0, NotSerialized) - { - Name (BUFF, ResourceTemplate () - { - IRQ (Level, ActiveLow, Shared) {5} - }) - Return (BUFF) - } - /* Possible Resources - return the range of irqs - * we are using for PCI - only here to keep Linux ACPI - * happy - */ - Method (_PRS, 0, NotSerialized) - { - Name (BUFF, ResourceTemplate () - { - IRQ (Level, ActiveLow, Shared) {5,9,10} - }) - Return (BUFF) - } - /* Set Resources - dummy function to keep Linux ACPI happy - * Linux is more than happy not to tinker with irq - * assignments as long as the CRS and STA functions - * return good values - */ - Method (_SRS, 1, NotSerialized ) {} - /* Disable - dummy function to keep Linux ACPI happy */ - Method (_DIS, 0, NotSerialized ) {} - - } // End of LNKA + { + + Device (PCI0) + { + Name (_HID, EisaId ("PNP0A03")) + Name (_ADR, 0x00) + Name (_UID, 0x01) + Name (_BBN, 0x00) + + /* PCI Routing Table */ + Name (_PRT, Package () { + + Package (0x04) {0x000FFFFF, 0x00, ATAI, 0x00}, // SATA Link A + Package (0x04) {0x000FFFFF, 0x01, ATAI, 0x00}, // SATA Link B + Package (0x04) {0x000FFFFF, 0x02, ATAI, 0x00}, // SATA Link C + Package (0x04) {0x000FFFFF, 0x03, ATAI, 0x00}, // SATA Link D + + Package (0x04) {0x0010FFFF, 0x00, USBI, 0x00}, // USB Link A + Package (0x04) {0x0010FFFF, 0x01, USBI, 0x00}, // USB Link B + Package (0x04) {0x0010FFFF, 0x02, USBI, 0x00}, // USB Link C + Package (0x04) {0x0010FFFF, 0x03, USBI, 0x00}, // USB Link D + + Package (0x04) {0x0011FFFF, 0x00, VT8I, 0x00}, // VT8237 Link A + Package (0x04) {0x0011FFFF, 0x01, VT8I, 0x00}, // VT8237 Link B + Package (0x04) {0x0011FFFF, 0x02, VT8I, 0x00}, // VT8237 Link C + Package (0x04) {0x0011FFFF, 0x03, VT8I, 0x00}, // VT8237 Link D + + Package (0x04) {0x0012FFFF, 0x00, NICI, 0x00}, // LAN Link A + Package (0x04) {0x0012FFFF, 0x01, NICI, 0x00}, // LAN Link B + Package (0x04) {0x0012FFFF, 0x02, NICI, 0x00}, // LAN Link C + Package (0x04) {0x0012FFFF, 0x03, NICI, 0x00}, // LAN Link D + + Package (0x04) {0x0001FFFF, 0x00, 0, 0x10}, // VGA Link A (GSI) + Package (0x04) {0x0001FFFF, 0x01, 0, 0x11}, // VGA Link B (GSI) + Package (0x04) {0x0001FFFF, 0x02, 0, 0x12}, // VGA Link C (GSI) + Package (0x04) {0x0001FFFF, 0x03, 0, 0x13}, // VGA Link D (GSI) + + Package (0x04) {0x0014FFFF, 0x00, 0, 0x12}, // Slot 1 Link C (GSI) + Package (0x04) {0x0014FFFF, 0x01, 0, 0x13}, // Slot 1 Link D (GSI) + Package (0x04) {0x0014FFFF, 0x02, 0, 0x10}, // Slot 1 Link A (GSI) + Package (0x04) {0x0014FFFF, 0x03, 0, 0x11}, // Slot 1 Link B (GSI) + + Package (0x04) {0x0013FFFF, 0x00, 0, 0x13}, // Riser Slot Link D (GSI) + Package (0x04) {0x0013FFFF, 0x01, 0, 0x12}, // Riser Slot Link C (GSI) + Package (0x04) {0x0013FFFF, 0x02, 0, 0x11}, // Riser Slot Link B (GSI) + Package (0x04) {0x0013FFFF, 0x03, 0, 0x10} // Riser Slot Link A (GSI) + + }) + + /* PCI Devices Included Here */ + Include("sb_physical.asl") - /* Define how interrupt Link B is plumbed in */ - Device (LNKB) - { - Name (_HID, EisaId ("PNP0C0F")) - Name (_UID, 0x02) - /* Status - always return ready */ - Method (_STA, 0, NotSerialized) - { - Return (0x0B) - } - /* Current Resources - return irq set up in BIOS */ - Method (_CRS, 0, NotSerialized) - { - Name (BUFF, ResourceTemplate () - { - IRQ (Level, ActiveLow, Shared) {9} - }) - Return (BUFF) - } - /* Possible Resources - return the range of irqs - * we are using for PCI - only here to keep Linux ACPI - * happy - */ - Method (_PRS, 0, NotSerialized) - { - Name (BUFF, ResourceTemplate () - { - IRQ (Level, ActiveLow, Shared) {5,9,10} - }) - Return (BUFF) - } - /* Set Resources - dummy function to keep Linux ACPI happy - * Linux is more than happy not to tinker with irq - * assignments as long as the CRS and STA functions - * return good values - */ - Method (_SRS, 1, NotSerialized ) {} - /* Disable - dummy function to keep Linux ACPI happy */ - Method (_DIS, 0, NotSerialized ) {} - - } // End of LNKB + /* Legacy PNP Devices Defined Here */ - /* Define how interrupt Link C is plumbed in */ - Device (LNKC) - { - Name (_HID, EisaId ("PNP0C0F")) - Name (_UID, 0x03) - /* Status - always return ready */ - Method (_STA, 0, NotSerialized) - { - Return (0x0B) - } - /* Current Resources - return irq set up in BIOS */ - Method (_CRS, 0, NotSerialized) - { - Name (BUFF, ResourceTemplate () - { - IRQ (Level, ActiveLow, Shared) {9} - }) - Return (BUFF) - } - /* Possible Resources - return the range of irqs - * we are using for PCI - only here to keep Linux ACPI - * happy - */ - Method (_PRS, 0, NotSerialized) - { - Name (BUFF, ResourceTemplate () - { - IRQ (Level, ActiveLow, Shared) {5,9,10} - }) - Return (BUFF) - } - /* Set Resources - dummy function to keep Linux ACPI happy - * Linux is more than happy not to tinker with irq - * assignments as long as the CRS and STA functions - * return good values - */ - Method (_SRS, 1, NotSerialized ) {} - /* Disable - dummy function to keep Linux ACPI happy */ - Method (_DIS, 0, NotSerialized ) {} - - } // End of LNKC + /* Disable PS2 Mouse Support */ + Device (PS2M) + { + Name (_HID, EisaId ("PNP0F13")) + Method (_STA, 0, NotSerialized) + { + Return (0x09) + } - /* Define how interrupt Link D is plumbed in */ - Device (LNKD) - { - Name (_HID, EisaId ("PNP0C0F")) - Name (_UID, 0x04) - /* Status - always return ready */ - Method (_STA, 0, NotSerialized) - { - Return (0x0B) - } - /* Current Resources - return irq set up in BIOS */ - Method (_CRS, 0, NotSerialized) - { - Name (BUFF, ResourceTemplate () - { - IRQ (Level, ActiveLow, Shared) {5} - }) - Return (BUFF) - } - /* Possible Resources - return the range of irqs - * we are using for PCI - only here to keep Linux ACPI - * happy - */ - Method (_PRS, 0, NotSerialized) - { - Name (BUFF, ResourceTemplate () - { - IRQ (Level, ActiveLow, Shared) {5,9,10} - }) - Return (BUFF) - } - /* Set Resources - dummy function to keep Linux ACPI happy - * Linux is more than happy not to tinker with irq - * assignments as long as the CRS and STA functions - * return good values - */ - Method (_SRS, 1, NotSerialized ) {} - /* Disable - dummy function to keep Linux ACPI happy */ - Method (_DIS, 0, NotSerialized ) {} - - } // End of LNKD + Method (_CRS, 0, NotSerialized) + { + Name (BUF1, ResourceTemplate () + { + IRQNoFlags () + {12} + }) + Return (BUF1) + } + } - - /* top PCI device */ - Device (PCI0) - { - Name (_HID, EisaId ("PNP0A03")) - Name (_ADR, 0x00) - Name (_UID, 0x00) - Name (_BBN, 0x00) + /* Disable Legacy PS2 Keyboard Support */ + Device (PS2K) + { + Name (_HID, EisaId ("PNP0303")) + Name (_CID, 0x0B03D041) + Method (_STA, 0, NotSerialized) + { + Return (0x09) + } - /* PCI Routing Table */ - Name (_PRT, Package () { - /* Epia-MII 6000e cardbus: */ - Package () {0x000AFFFF, 0x00, LNKA, 0x00}, // Cardbus Link A - Package () {0x000AFFFF, 0x01, LNKB, 0x00}, // Cardbus Link B - Package () {0x000AFFFF, 0x02, LNKC, 0x00}, // Cardbus Link C - Package () {0x000AFFFF, 0x03, LNKD, 0x00}, // Cardbus Link D + Name (_CRS, ResourceTemplate () + { + IO (Decode16, + 0x0060, // Range Minimum + 0x0060, // Range Maximum + 0x01, // Alignment + 0x01, // Length + ) + IO (Decode16, + 0x0064, // Range Minimum + 0x0064, // Range Maximum + 0x01, // Alignment + 0x01, // Length + ) + IRQNoFlags () + {1} + }) + } - Package () {0x000DFFFF, 0x00, LNKB, 0x00}, // Firewire Link B - Package () {0x000DFFFF, 0x01, LNKC, 0x00}, // Firewire Link C - Package () {0x000DFFFF, 0x02, LNKD, 0x00}, // Firewire Linc D - Package () {0x000DFFFF, 0x03, LNKA, 0x00}, // Firewire Link A + /* Legacy PIC Description */ + Device (PIC) + { + Name (_HID, EisaId ("PNP0000")) + Name (_CRS, ResourceTemplate () + { + IO (Decode16, + 0x0020, // Range Minimum + 0x0020, // Range Maximum + 0x01, // Alignment + 0x02, // Length + ) + IO (Decode16, + 0x00A0, // Range Minimum + 0x00A0, // Range Maximum + 0x01, // Alignment + 0x02, // Length + ) + IRQNoFlags () + {2} + }) + } - Package () {0x0010FFFF, 0x00, LNKA, 0x00}, // USB Link A - Package () {0x0010FFFF, 0x01, LNKB, 0x00}, // USB Link B - Package () {0x0010FFFF, 0x02, LNKC, 0x00}, // USB Link C - Package () {0x0010FFFF, 0x03, LNKD, 0x00}, // USB Link D + /* Legacy DMA Description */ + Device (DMA1) + { + Name (_HID, EisaId ("PNP0200")) + Name (_CRS, ResourceTemplate () + { + DMA (Compatibility, BusMaster, Transfer8, ) + {4} + IO (Decode16, + 0x0000, // Range Minimum + 0x0000, // Range Maximum + 0x01, // Alignment + 0x10, // Length + ) + IO (Decode16, + 0x0080, // Range Minimum + 0x0080, // Range Maximum + 0x01, // Alignment + 0x11, // Length + ) + IO (Decode16, + 0x0094, // Range Minimum + 0x0094, // Range Maximum + 0x01, // Alignment + 0x0C, // Length + ) + IO (Decode16, + 0x00C0, // Range Minimum + 0x00C0, // Range Maximum + 0x01, // Alignment + 0x20, // Length + ) + }) + } - Package () {0x0011FFFF, 0x00, LNKA, 0x00}, // vt8623 Link A - Package () {0x0011FFFF, 0x01, LNKB, 0x00}, // vt8623 Link B - Package () {0x0011FFFF, 0x02, LNKC, 0x00}, // vt8623 Link C - Package () {0x0011FFFF, 0x03, LNKD, 0x00}, // vt8623 Link D + /* Legacy Timer Description */ + Device (TMR) + { + Name (_HID, EisaId ("PNP0100")) + Name (_CRS, ResourceTemplate () + { + IO (Decode16, + 0x0040, // Range Minimum + 0x0040, // Range Maximum + 0x01, // Alignment + 0x04, // Length + ) + IRQNoFlags () + {0} + }) + } - Package () {0x0012FFFF, 0x00, LNKA, 0x00}, // LAN Link A - Package () {0x0012FFFF, 0x01, LNKB, 0x00}, // LAN Link B - Package () {0x0012FFFF, 0x02, LNKC, 0x00}, // LAN Link C - Package () {0x0012FFFF, 0x03, LNKD, 0x00}, // LAN Link D + /* Legacy RTC Description */ + Device (RTC) + { + Name (_HID, EisaId ("PNP0B00")) + Name (_CRS, ResourceTemplate () + { + IO (Decode16, + 0x0070, // Range Minimum + 0x0070, // Range Maximum + 0x04, // Alignment + 0x04, // Length + ) + IRQNoFlags () + {8} + }) + } - Package () {0x0013FFFF, 0x00, LNKA, 0x00}, // Riser slot LinkA - Package () {0x0013FFFF, 0x01, LNKB, 0x00}, // Riser slot LinkB - Package () {0x0013FFFF, 0x02, LNKC, 0x00}, // Riser slot LinkC - Package () {0x0013FFFF, 0x03, LNKD, 0x00}, // Riser slot LinkD + /* Legacy Speaker Description */ + Device (SPKR) + { + Name (_HID, EisaId ("PNP0800")) + Name (_CRS, ResourceTemplate () + { + IO (Decode16, + 0x0061, // Range Minimum + 0x0061, // Range Maximum + 0x01, // Alignment + 0x01, // Length + ) + }) + } - Package () {0x0014FFFF, 0x00, LNKB, 0x00}, // Slot 1, Link B - Package () {0x0014FFFF, 0x01, LNKC, 0x00}, // Slot 1, Link C - Package () {0x0014FFFF, 0x02, LNKD, 0x00}, // Slot 1, Link D - Package () {0x0014FFFF, 0x03, LNKA, 0x00}, // Slot 1, Link A - - Package () {0x0001FFFF, 0x00, LNKA, 0x00}, // VGA Link A - Package () {0x0001FFFF, 0x01, LNKB, 0x00}, // VGA Link B - Package () {0x0001FFFF, 0x02, LNKC, 0x00}, // VGA Link C - Package () {0x0001FFFF, 0x03, LNKD, 0x00} // VGA Link D + /* Legacy Math Co-Processor Description */ + Device (COPR) + { + Name (_HID, EisaId ("PNP0C04")) + Name (_CRS, ResourceTemplate () + { + IO (Decode16, + 0x00F0, // Range Minimum + 0x00F0, // Range Maximum + 0x01, // Alignment + 0x10, // Length + ) + IRQNoFlags () + {13} + }) + } - }) + /* General Legacy IO Reservations */ + /* Covering items that are not explicitly reserved */ + /* from coreboot. */ + Device (SYSR) + { + Name (_HID, EisaId ("PNP0C02")) + Name (_UID, 0x01) + Name (_CRS, ResourceTemplate () + { + IO (Decode16, + 0x0010, // Range Minimum + 0x0010, // Range Maximum + 0x01, // Alignment + 0x10, // Length + ) + IO (Decode16, + 0x0022, // Range Minimum + 0x0022, // Range Maximum + 0x01, // Alignment + 0x1E, // Length + ) + IO (Decode16, + 0x0044, // Range Minimum + 0x0044, // Range Maximum + 0x01, // Alignment + 0x1C, // Length + ) + IO (Decode16, + 0x0062, // Range Minimum + 0x0062, // Range Maximum + 0x01, // Alignment + 0x02, // Length + ) + IO (Decode16, + 0x0065, // Range Minimum + 0x0065, // Range Maximum + 0x01, // Alignment + 0x0B, // Length + ) + IO (Decode16, + 0x0074, // Range Minimum + 0x0074, // Range Maximum + 0x01, // Alignment + 0x0C, // Length + ) + IO (Decode16, + 0x0091, // Range Minimum + 0x0091, // Range Maximum + 0x01, // Alignment + 0x03, // Length + ) + IO (Decode16, + 0x00A2, // Range Minimum + 0x00A2, // Range Maximum + 0x01, // Alignment + 0x1E, // Length + ) + IO (Decode16, + 0x00E0, // Range Minimum + 0x00E0, // Range Maximum + 0x01, // Alignment + 0x10, // Length + ) + IO (Decode16, + 0x04D0, // Range Minimum + 0x04D0, // Range Maximum + 0x01, // Alignment + 0x02, // Length + ) + IO (Decode16, + 0x0294, // Range Minimum + 0x0294, // Range Maximum + 0x01, // Alignment + 0x04, // Length + ) + }) + } + Include("irq_links.asl") + Include("pci_init.asl") - } // End of PCI0 + } //End of PCI0 } // End of _SB |