oemcommands: Add command to get FRU ID

During the BIOS boot process, the BIOS issues the IPMI command
"Read FRU Data" (NetFn = Storage / 0x0A, Command = 0x11; IPMI v2.0
§34.2) to read FRU contents. Per the "Read FRU Data" request format:
byte 1 = FRU Device ID;
bytes 2–3 = FRU inventory offset (LSB then MSB);
byte 4 = count to read (count is 1-based).
See IPMI v2.0 (Intel) linked below.

When the BIOS reads the FRU, there are two Bianca entries, and the
BIOS cannot tell which FRU ID corresponds to the first or the second
Bianca FRU because FRU IDs are dynamic based on entity-manager
probing order. This OEM command uses the I2C bus and slave address as
parameters to clearly map which FRU ID comes from which Bianca.

netfn 0x30, cmd 0x84: CMD_OEM_GET_FRU_ID
This command allows BIOS to retrieve a specific FRU ID using
the bus and slave address during POST.

Parameters:
 - param 0: bus
 - param 1: slave address

References:
[1] https://www.intel.la/content/dam/www/public/us/en/documents/specification-updates/ipmi-intelligent-platform-mgt-interface-spec-2nd-gen-v2-0-spec-update.pdf

Change-Id: I1684afac02cfecec98036951701e856e886aa8fa
Signed-off-by: Alex Wang <alex.ts.wang@fii-foxconn.com>
2 files changed