- // Select Port 5\r
- //\r
- Length = 2;\r
- Buffer[0] = 0x18;\r
- Buffer[1] = 0x05;\r
- Status = I2cWriteMultipleByte (\r
- I2CSlaveAddress,\r
- EfiI2CSevenBitAddrMode,\r
- &Length,\r
- &Buffer\r
- );\r
- ASSERT_EFI_ERROR (Status);\r
-\r
- //\r
- // Read "Pin Direction" of Port 5\r
- //\r
- Length = 1;\r
- ReadLength = 1;\r
- Buffer[1] = 0x1C;\r
- Status = I2cReadMultipleByte (\r
- I2CSlaveAddress,\r
- EfiI2CSevenBitAddrMode,\r
- &Length,\r
- &ReadLength,\r
- &Buffer[1]\r
- );\r
- ASSERT_EFI_ERROR (Status);\r
-\r
- //\r
- // Set "Pin Direction" of Port 5, Bit 0 as input\r
- //\r
- Length = 2;\r
- Buffer[0] = 0x1C;\r
- Buffer[1] = Buffer[1] | BIT0;\r
-\r
- Status = I2cWriteMultipleByte (\r
- I2CSlaveAddress,\r
- EfiI2CSevenBitAddrMode,\r
- &Length,\r
- &Buffer\r
- );\r
- ASSERT_EFI_ERROR (Status);\r
-\r
- //\r
- // Read Port 5\r