1/**************************************************************************; 2;* *; 3;* *; 4;* Intel Corporation - ACPI Reference Code for the Baytrail *; 5;* Family of Customer Reference Boards. *; 6;* *; 7;* *; 8;* Copyright (c) 2012 - 2014, Intel Corporation. All rights reserved *; 9; 10; This program and the accompanying materials are licensed and made available under 11; the terms and conditions of the BSD License that accompanies this distribution. 12; The full text of the license may be found at 13; http://opensource.org/licenses/bsd-license.php. 14; 15; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 16; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 17; 18;* *; 19;* *; 20;**************************************************************************/ 21 22Device(FWHD) // Firmware Hub Device 23{ 24 Name(_HID,EISAID("INT0800")) 25 26 Name(_CRS,ResourceTemplate() 27 { 28 Memory32Fixed(ReadOnly,0xFF000000,0x1000000) 29 }) 30} 31 32Device(IPIC) // 8259 PIC 33{ 34 Name(_HID,EISAID("PNP0000")) 35 36 Name(_CRS,ResourceTemplate() 37 { 38 IO(Decode16,0x20,0x20,0x01,0x02) 39 IO(Decode16,0x24,0x24,0x01,0x02) 40 IO(Decode16,0x28,0x28,0x01,0x02) 41 IO(Decode16,0x2C,0x2C,0x01,0x02) 42 IO(Decode16,0x30,0x30,0x01,0x02) 43 IO(Decode16,0x34,0x34,0x01,0x02) 44 IO(Decode16,0x38,0x38,0x01,0x02) 45 IO(Decode16,0x3C,0x3C,0x01,0x02) 46 IO(Decode16,0xA0,0xA0,0x01,0x02) 47 IO(Decode16,0xA4,0xA4,0x01,0x02) 48 IO(Decode16,0xA8,0xA8,0x01,0x02) 49 IO(Decode16,0xAC,0xAC,0x01,0x02) 50 IO(Decode16,0xB0,0xB0,0x01,0x02) 51 IO(Decode16,0xB4,0xB4,0x01,0x02) 52 IO(Decode16,0xB8,0xB8,0x01,0x02) 53 IO(Decode16,0xBC,0xBC,0x01,0x02) 54 IO(Decode16,0x4D0,0x4D0,0x01,0x02) 55 IRQNoFlags() {2} 56 }) 57} 58 59Device(LDRC) // LPC Device Resource Consumption 60{ 61 Name(_HID,EISAID("PNP0C02")) 62 63 Name(_UID,2) 64 65 Name(_CRS,ResourceTemplate() 66 { 67 IO(Decode16,0x4E,0x4E,0x1,0x02) // LPC Slot Access. 68 IO(Decode16,0x61,0x61,0x1,0x1) // NMI Status. 69 IO(Decode16,0x63,0x63,0x1,0x1) // Processor I/F. 70 IO(Decode16,0x65,0x65,0x1,0x1) // Processor I/F. 71 IO(Decode16,0x67,0x67,0x1,0x1) // Processor I/F. 72 IO(Decode16,0x70,0x70,0x1,0x1) // NMI Enable. 73 IO(Decode16,0x80,0x80,0x1,0x10) // Postcode. 74 IO(Decode16,0x92,0x92,0x1,0x1) // Processor I/F. 75 IO(Decode16,0xB2,0xB2,0x01,0x02) // Software SMI. 76 IO(Decode16,0x680,0x680,0x1,0x20) // 32 Byte I/O. 77 IO(Decode16,0x400,0x400,0x1,0x80) // ACPI Base. 78 IO(Decode16,0x500,0x500,0x1,0xFF) // GPIO Base. 79 }) 80} 81 82Device(TIMR) // 8254 Timer 83{ 84 Name(_HID,EISAID("PNP0100")) 85 86 Name(_CRS,ResourceTemplate() 87 { 88 IO(Decode16,0x40,0x40,0x01,0x04) 89 IO(Decode16,0x50,0x50,0x10,0x04) 90 IRQNoFlags() {0} 91 }) 92} 93 94Device(IUR3) // Internal UART 95{ 96 Name(_HID, EISAID("PNP0501")) 97 98 Name(_UID,1) 99 100 // Status Method for internal UART 101 102 Method(_STA,0,Serialized) 103 { 104 // Only report resources to the OS if internal UART is 105 // not set to Disabled in BIOS Setup. 106 107 If(LEqual(USEL,0)) 108 { 109 If(LEqual(PU1E,1)) 110 { 111 Store(1,UI3E) // Enable IRQ3 for UART 112 Store(1,UI4E) // Enable IRQ4 for UART 113 Store(1,C1EN) // Enable UART 114 Return(0x000F) 115 } 116 } 117 118 Return(0x0000) 119 } 120 121 // Disable Method for internal UART 122 123 Method(_DIS,0,Serialized) 124 { 125 Store(0,UI3E) 126 Store(0,UI4E) 127 Store(0,C1EN) 128 } 129 130 // Current Resource Setting Method for internal UART 131 132 Method(_CRS,0,Serialized) 133 { 134 // Create the Buffer that stores the Resources to 135 // be returned. 136 137 Name(BUF0,ResourceTemplate() 138 { 139 IO(Decode16,0x03F8,0x03F8,0x01,0x08) 140 IRQNoFlags() {3} 141 }) 142 143 Name(BUF1,ResourceTemplate() 144 { 145 IO(Decode16,0x03F8,0x03F8,0x01,0x08) 146 IRQNoFlags() {4} 147 }) 148 149 If (LLessEqual(SRID, 0x04)) 150 { 151 Return(BUF0) 152 } Else 153 { 154 Return(BUF1) 155 } 156 } 157} 158