LCOV - code coverage report
Current view: top level - zephyr/drivers/i2c/target - eeprom.h Hit Total Coverage
Test: new.info Lines: 4 4 100.0 %
Date: 2024-12-21 18:13:37

          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 1.14