HPM SDK
HPMicro Software Development Kit
e2p_emulation.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2025 HPMicro
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef _E2P_EMULATION_H
9 #define _E2P_EMULATION_H
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 #include "board.h"
16 #include "eeprom_emulation.h"
17 #include "eeprom_device.h"
18 
22 typedef struct {
23  XPI_Type *base; /* xpi base */
25 
29 typedef struct {
30  uint32_t flash_base_addr; /* flash base address */
31  uint32_t version; /* version 'E''S' */
32  uint32_t opt_header; /* option header */
33  uint32_t opt0; /* option0 */
34  uint32_t opt1; /* option1 */
35  uint32_t start_addr; /* eeprom emulation start address */
36  uint32_t erase_size; /* erase size */
37  uint32_t sector_cnt; /* sector count */
39 
46 
53 
62 hpm_stat_t e2p_emulation_xpi_read(hpm_eeprom_device_t *device, uint32_t data_addr, uint32_t len, uint8_t *data);
63 
72 hpm_stat_t e2p_emulation_xpi_write(hpm_eeprom_device_t *device, uint32_t data_addr, uint32_t len, uint8_t *data);
73 
74 #ifdef __cplusplus
75 }
76 #endif
77 
78 #endif
hpm_stat_t e2p_emulation_xpi_read(hpm_eeprom_device_t *device, uint32_t data_addr, uint32_t len, uint8_t *data)
Read data from eeprom xpi emulation device.
Definition: e2p_emulation.c:138
hpm_stat_t e2p_emulation_xpi_register_param(hpm_eeprom_device_t *device)
Register eeprom xpi emulation device parameter to device structure.
Definition: e2p_emulation.c:81
hpm_stat_t e2p_emulation_xpi_write(hpm_eeprom_device_t *device, uint32_t data_addr, uint32_t len, uint8_t *data)
Write data to eeprom xpi emulation device.
Definition: e2p_emulation.c:156
hpm_stat_t e2p_emulation_xpi_init(hpm_eeprom_device_t *device)
Initialize eeprom xpi emulation device.
Definition: e2p_emulation.c:108
uint32_t hpm_stat_t
Definition: hpm_common.h:135
uint32_t XPI_Type
XPI_Type definitions for.
Definition: hpm_romapi_xpi_def.h:22
eeprom emulation xpi flash configuration structure
Definition: e2p_emulation.h:29
uint32_t opt0
Definition: e2p_emulation.h:33
uint32_t flash_base_addr
Definition: e2p_emulation.h:30
uint32_t sector_cnt
Definition: e2p_emulation.h:37
uint32_t opt1
Definition: e2p_emulation.h:34
uint32_t opt_header
Definition: e2p_emulation.h:32
uint32_t erase_size
Definition: e2p_emulation.h:36
uint32_t start_addr
Definition: e2p_emulation.h:35
uint32_t version
Definition: e2p_emulation.h:31
eeprom emulation xpi board configuration structure
Definition: e2p_emulation.h:22
XPI_Type * base
Definition: e2p_emulation.h:23
eeprom device structure
Definition: eeprom_device.h:156