8 #ifndef _E2P_DEVICE_I2C_H
9 #define _E2P_DEVICE_I2C_H
22 #define HPM_E2P_I2C_DEV_ADDR(family_id, custom_id) ((uint8_t)(family_id) | (uint8_t)(custom_id))
23 #define HPM_E2P_I2C_ADD_CUSTOM_ID_TO_DEV_ID(dev_id, custom_id) ((((uint32_t)(custom_id)) << 16) | ((uint32_t)(dev_id)))
31 void (*pin_init)(void);
e2p_device_i2c_attribute_t * e2p_device_i2c_get_attribute(hpm_eeprom_device_t *device)
Get eeprom i2c device attribute.
Definition: e2p_device_i2c.c:55
hpm_stat_t e2p_device_i2c_register_param(hpm_eeprom_device_t *device, void *host_info, uint32_t dev_id)
Register eeprom i2c device parameter to device structure.
Definition: e2p_device_i2c.c:67
hpm_stat_t e2p_device_i2c_deinit(hpm_eeprom_device_t *device)
De-initialize eeprom i2c device.
Definition: e2p_device_i2c.c:111
hpm_stat_t e2p_device_i2c_write(hpm_eeprom_device_t *device, uint32_t data_addr, uint32_t len, uint8_t *data)
Write data to eeprom i2c device.
Definition: e2p_device_i2c.c:403
hpm_stat_t e2p_device_i2c_init(hpm_eeprom_device_t *device)
Initialize eeprom i2c device, hw init(clock and pin) and i2c master init.
Definition: e2p_device_i2c.c:89
hpm_stat_t e2p_device_i2c_read(hpm_eeprom_device_t *device, uint32_t data_addr, uint32_t len, uint8_t *data)
Read data from eeprom i2c device.
Definition: e2p_device_i2c.c:201
uint32_t hpm_stat_t
Definition: hpm_common.h:135
Definition: hpm_i2c_regs.h:12
eeprom i2c device configuration structure
Definition: e2p_device_i2c.h:37
uint32_t addr_bytes
Definition: e2p_device_i2c.h:39
uint32_t dev_addr
Definition: e2p_device_i2c.h:38
uint8_t borrow_bits
Definition: e2p_device_i2c.h:42
uint32_t timeout
Definition: e2p_device_i2c.h:41
uint32_t page_size
Definition: e2p_device_i2c.h:40
eeprom i2c device board configuration structure
Definition: e2p_device_i2c.h:28
I2C_Type * base
Definition: e2p_device_i2c.h:29
eeprom device structure
Definition: eeprom_device.h:156