| edition = "2023"; |
| |
| package milotic_tlbmc; |
| |
| import "resource.proto"; |
| |
| message RawFruTable { |
| map<string, RawFru> key_to_raw_fru = 1; |
| } |
| |
| message FruTable { |
| map<string, Fru> key_to_fru = 1; |
| } |
| |
| message RawFru { |
| // Key in raw fru table. |
| string key = 1; |
| |
| // Transport information. |
| oneof transport { |
| I2CAddress i2c_info = 2; |
| } |
| // FRU data. |
| FruData data = 3; |
| } |
| |
| // FRU information. |
| message Fru { |
| // FRU attributes. |
| Attributes attributes = 1; |
| // Transport information. |
| oneof transport { |
| I2CAddress i2c_info = 2; |
| } |
| // FRU data. |
| FruData data = 3; |
| } |
| |
| // I2C information. |
| message I2CAddress { |
| // I2C bus number. |
| uint64 bus = 1; |
| // I2C address. |
| uint64 address = 2; |
| } |
| |
| message FruI2CInfo { |
| string board_manufacturer = 1; |
| string board_product_name = 2; |
| string board_serial_number = 3; |
| string board_part_number = 4; |
| string product_manufacturer = 5; |
| string product_product_name = 6; |
| string product_serial_number = 7; |
| string product_part_number = 8; |
| } |
| |
| // The relevant asset information for the FRU. An asset information field can |
| // either be derived from FRU, or from the specified string value in config. |
| message AssetInfo { |
| string manufacturer = 1; |
| string product_name = 2; |
| string serial_number = 3; |
| string part_number = 4; |
| } |
| |
| // FRU data. |
| message FruData { |
| map<string, string> fields = 1; |
| FruI2CInfo fru_info = 2; |
| AssetInfo asset_info = 3; |
| } |