\r
} //End Scope(I2C7)\r
\r
- //\r
- // Device for Message Bus Interface\r
- //\r
- Device(MBID)\r
- {\r
- Name(_HID, "INT33BD")\r
- Name(_CID, "INT33BD")\r
- Name(_HRV, 2)//different from CLT's\r
- Name(_UID, 1)\r
-\r
- Method (_CRS, 0, Serialized)\r
- {\r
- Name (RBUF, ResourceTemplate ()\r
- {\r
- Memory32Fixed (\r
- ReadWrite,\r
- 0xE00000D0, // Address Base\r
- 0xC, // Address Length (MCR/MDR/MCRX)\r
- )\r
- })\r
- Return (RBUF)\r
- }\r
-\r
-\r
- //\r
- // custom opregion for MBI access\r
- //\r
- OperationRegion (REGS, 0x87, 0x0, 0x30)\r
- Field (REGS, DWordAcc, NoLock, Preserve)\r
- {\r
- PORT, 32, // Message Port\r
- REG, 32, // Message Target Register Address\r
- DATA, 32, // Message Data\r
- MASK, 32, // Mask bits for modify operation\r
- BE, 32, // Message Write Byte enables: 0 - BYTE; 1 - WORD; 2 - DWORD\r
- OP, 32 // Operations: 0 - read; 1 - write; 2 - modify\r
- }\r
-\r
- //\r
- // availability of the custom opregion\r
- //\r
- Name (AVBL, 0)\r
- Method(_REG,2)\r
- {\r
- If (Lequal(Arg0, 0x87))\r
- {\r
- Store(Arg1, ^AVBL)\r
- }\r
- }\r
-\r
- //\r
- // Method Name: READ\r
- // Arguments:\r
- // Arg0: PORT\r
- // Arg1: REG\r
- // Arg2: BE\r
- // Return Value:\r
- // DATA\r
- //\r
- Method(READ, 3, Serialized)\r
- {\r
- Store(0xFFFFFFFF , Local0)\r
- If (Lequal (AVBL, 1))\r
- {\r
- Store(0, OP) // must be set at first, do not change!\r
- Store(Arg0, PORT)\r
- Store(Arg1, REG)\r
- Store(Arg2, BE)\r
- Store(DATA, Local0)\r
- }\r
- return(Local0)\r
- }\r
-\r
- //\r
- // Method Name: WRIT\r
- // Arguments:\r
- // Arg0: PORT\r
- // Arg1: REG\r
- // Arg2: BE\r
- // Arg3: DATA\r
- // Return Value:\r
- // NONE\r
- //\r
- Method(WRIT, 4, Serialized)\r
- {\r
- If (Lequal (AVBL, 1))\r
- {\r
- Store(1, OP) // must be set at first, do not change!\r
- Store(Arg0, PORT)\r
- Store(Arg1, REG)\r
- Store(Arg2, BE)\r
- Store(Arg3, DATA)\r
- }\r
- }\r
-\r
- //\r
- // Method Name: MODI\r
- // Arguments:\r
- // Arg0: PORT\r
- // Arg1: REG\r
- // Arg2: BE\r
- // Arg3: DATA\r
- // Arg4: MASK\r
- // Return Value:\r
- // NONE\r
- //\r
- Method(MODI, 5, Serialized)\r
- {\r
- If (Lequal (AVBL, 1))\r
- {\r
- Store(2, OP) // must be set at first, do not change!\r
- Store(Arg0, PORT)\r
- Store(Arg1, REG)\r
- Store(Arg2, BE)\r
- Store(Arg3, DATA)\r
- Store(Arg4, MASK)\r
- }\r
- }\r
- }\r
-\r
-\r
} // end Scope(\_SB)\r
\r
Name(PICM, 0) // Global Name, returns current Interrupt controller mode; updated from _PIC control method\r