summaryrefslogtreecommitdiff
path: root/Platform/Intel/AdvancedFeaturePkg/Ipmi/BmcAcpi/BmcSsdt/IpmiOprRegions.asi
blob: 7d01f74f016360b0a7cd2606d788e15d78f1ee50 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/** @file
  IPMI ACPI SSDT.

Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that accompanies this distribution.
The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php.

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

**/

Device(IPMC)
{
    // Config DWord, modified during POST
    // Bit definitions are the same as PPMFlags:
    // [00]    = Plug and Play BMC Detection enabled in setup
    // [31:01] = Reserved    = 0
  
    Name(ECFL, 0x80000000)
  
    // Return the interface specification revision
    Method(_SRV)
    {
        // IPMI Specification Revision v2.0
        Return(0x0200)                  
    }

    Method(_STA, 0) 
    { 
        //
        // Assume OK
        //
          Store (0xF, Local0)

        Return(Local0)

        // Bit 0 - Set if the device is present.
        // Bit 1 - Set if the device is enabled and decoding its resources.
        // Bit 2 - Set if the device should be shown in the UI.
        // Bit 3 - Set if the device is functioning properly (cleared if the device failed its diagnostics).
        // Bit 4 - Set if the battery is present.
        // Bit 5 - Reserved (must be cleared).
    }   // end of _STA

    // Return the x86 resources consumed by BMC
    Name(_CRS, ResourceTemplate()
    {
        // Uses 8-bit ports 0xCA2-0xCA5
        IO(Decode16, 0xCA2, 0xCA2, 0, 2)
    })

    Name(_HID, "IPI0001")           // IPMI device
    Name(_IFT, 0x1)                 // KCS system interface type
    Name(_STR, Unicode("IPMI_KCS"))

    Name(_UID, 0)  // First interface.


} // end of  Device(IPMC)