How to read/write i.MX8MP SOM's EEPROM?

I am using Hummingboard Pulse evaluation board + IMX8MP SOM with Yocto Kirkstone.

I can see EEPROM IC on i2c address 0x50 and a binary file with it’s content on path:
sys/class/i2c-dev/i2c-0/device/0-0050/eeprom.

Binary file content:
b’TlvInfo\x00\x01\x00\x8e!\x1ci.MX8M Plus System on Module"\x17SRMP8QDWB1D02GE008V12C0#\x10IP00041223700071%\x132022-10-20 03:15:22&\x01\x00'\x011(\x0bi.MX8M Plus*\x02\x00\x01+\x03IMI,\x02PH-\x08SolidRun\xfe\x04P\xe0\\xa6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00’

I can’t find a way how to parse it’s contents to readable format. I checked the TLV info format:
https://opencomputeproject.github.io/onie/design-spec/hw_requirements.html#board-eeprom-information-format

I can’t find any of the code values in the binary file:

Is there a API or any other user friendly way to read/write the values from EEPROM? We would like to write our own serial number into SOM’s EEPROM and read it at runtime.

it is not as simple as reading the binary data from the eeprom. You can verify the data in u-boot with the tlv_eeprom command. Alternatively you would need to adapt onie’s patches for i2c-tools, or reference something like Sonic’s python module to parse the data from eeprom, https://github.com/sonic-net/sonic-platform-common/tree/master/sonic_platform_base/sonic_eeprom