LCOV - code coverage report
Current view: top level - zephyr/drivers/i2c/target - eeprom.h Coverage Total Hit
Test: new.info Lines: 100.0 % 4 4
Test Date: 2025-09-05 20:47:19

            Line data    Source code
       1            1 : /**
       2              :  * @file
       3              :  *
       4              :  * @brief Public APIs for the I2C EEPROM Target driver.
       5              :  */
       6              : 
       7              : /*
       8              :  * Copyright (c) 2017 BayLibre, SAS
       9              :  *
      10              :  * SPDX-License-Identifier: Apache-2.0
      11              :  */
      12              : #ifndef ZEPHYR_INCLUDE_DRIVERS_I2C_TARGET_EEPROM_H_
      13              : #define ZEPHYR_INCLUDE_DRIVERS_I2C_TARGET_EEPROM_H_
      14              : 
      15              : /**
      16              :  * @brief I2C EEPROM Target Driver API
      17              :  * @defgroup i2c_eeprom_target_api I2C EEPROM Target Driver API
      18              :  * @since 1.13
      19              :  * @version 1.0.0
      20              :  * @ingroup io_interfaces
      21              :  * @{
      22              :  */
      23              : 
      24              : /**
      25              :  * @brief Program memory of the virtual EEPROM
      26              :  *
      27              :  * @param dev Pointer to the device structure for the driver instance.
      28              :  * @param eeprom_data Pointer of data to program into the virtual eeprom memory
      29              :  * @param length Length of data to program into the virtual eeprom memory
      30              :  *
      31              :  * @retval 0 If successful.
      32              :  * @retval -EINVAL Invalid data size
      33              :  */
      34            1 : int eeprom_target_program(const struct device *dev, const uint8_t *eeprom_data,
      35              :                          unsigned int length);
      36              : 
      37              : /**
      38              :  * @brief Read single byte of virtual EEPROM memory
      39              :  *
      40              :  * @param dev Pointer to the device structure for the driver instance.
      41              :  * @param eeprom_data Pointer of byte where to store the virtual eeprom memory
      42              :  * @param offset Offset into EEPROM memory where to read the byte
      43              :  *
      44              :  * @retval 0 If successful.
      45              :  * @retval -EINVAL Invalid data pointer or offset
      46              :  */
      47            1 : int eeprom_target_read(const struct device *dev, uint8_t *eeprom_data,
      48              :                       unsigned int offset);
      49              : 
      50              : /**
      51              :  * @brief Change the address of eeprom target at runtime
      52              :  *
      53              :  * @param dev Pointer to the device structure for the driver instance.
      54              :  * @param addr New address to assign to the eeprom target device
      55              :  *
      56              :  * @retval 0 Is successful
      57              :  * @retval -EINVAL If parameters are invalid
      58              :  * @retval -EIO General input / output error during i2c_taget_register
      59              :  * @retval -ENOSYS If target mode is not implemented
      60              :  */
      61            1 : int eeprom_target_set_addr(const struct device *dev, uint8_t addr);
      62              : 
      63              : /**
      64              :  * @}
      65              :  */
      66              : 
      67              : #endif /* ZEPHYR_INCLUDE_DRIVERS_I2C_TARGET_EEPROM_H_ */
        

Generated by: LCOV version 2.0-1