The latest development version of this page may be more current than this released 3.7.0 version.

I2C EEPROM Target

Overview

API Reference

group i2c_eeprom_target_api

I2C EEPROM Target Driver API.

Since

1.13

Version

1.0.0

Functions

int eeprom_target_program(const struct device *dev, const uint8_t *eeprom_data, unsigned int length)

Program memory of the virtual EEPROM.

Parameters:
  • dev – Pointer to the device structure for the driver instance.

  • eeprom_data – Pointer of data to program into the virtual eeprom memory

  • length – Length of data to program into the virtual eeprom memory

Return values:
  • 0 – If successful.

  • -EINVAL – Invalid data size

int eeprom_target_read(const struct device *dev, uint8_t *eeprom_data, unsigned int offset)

Read single byte of virtual EEPROM memory.

Parameters:
  • dev – Pointer to the device structure for the driver instance.

  • eeprom_data – Pointer of byte where to store the virtual eeprom memory

  • offset – Offset into EEPROM memory where to read the byte

Return values:
  • 0 – If successful.

  • -EINVAL – Invalid data pointer or offset

int eeprom_target_set_addr(const struct device *dev, uint8_t addr)

Change the address of eeprom target at runtime.

Parameters:
  • dev – Pointer to the device structure for the driver instance.

  • addr – New address to assign to the eeprom target device

Return values:
  • 0 – Is successful

  • -EINVAL – If parameters are invalid

  • -EIO – General input / output error during i2c_taget_register

  • -ENOSYS – If target mode is not implemented