openUBMC Chip Abstract Layer
V0.1
载入中...
搜索中...
未找到
MMC(eMMC驱动)
尽量保持现状,去除和主备分区实现强相关的部分
接口用途
bmc_soc 获取eMMC信息
bmc_upgrade BMC升级
对比
<tt>read</tt>
原接口
using
MMC_REG_INFO_S =
struct
MMC_REG_INFO {
MMC_REG_TYPE_E mmc_reg_type_v;
// emmc颗粒寄存器类型
uint32_t mmc_reg_offset;
// emmc颗粒寄存器的偏移(除了est_csd寄存器其他两个是0)
uint32_t length;
// 需要获取的emmc颗粒寄存器的字节长度
uint8_t *buf;
// 获取的数据
};
string
read(MMC_REG_INFO_S *mmc_opt_s);
新接口
string_t read_reg(int32_t index, MMC_REG_TYPE_E reg_type, uint32_t offset, uint32_t length);
变更说明 名称变更,入参拆分
<tt>get_hynix_health_report</tt>
原接口
string
get_hynix_health_report();
新接口
string_t get_health_report(int32_t index);
用途
bmc_soc 获取hynix厂家的健康报告,实际上不通用
变更说明 名称变更
<tt>get_tbw</tt>
原接口
using
MMC_WRITE_ALLINFO_S =
struct
MMC_WRITE_ALLINFO {
uint32_t mmc_clear_flag;
// 是否清除前一次的统计数据(时间和写入量)
unsigned
long
write_time;
// 统计的总的时间
unsigned
long
long
write_byte;
// 在统计总的时间范围内的写入量
};
void
get_tbw(
const
MMC_WRITE_ALLINFO_S *mmc_write_allinfo_s)
const
;
新接口
tuple<uint32_t, uint32_t> get_write_stat(int32_t index,
bool
clear);
用途
bmc_soc 写入量统计
变更说明 名称修改,参数形式修改
<tt>get_update_area</tt>
原接口
string
get_update_area(uint32_t offset, uint32_t len);
新接口
string_t read(int32_t index, uint32_t offset, uint32_t len);
用途
bmc_upgrade BMC固件写入后回读,用于校验
变更说明 名称修改,参数形式修改
<tt>set_update_area</tt>
原接口
void
set_update_area(uint32_t offset,
const
string_view &val);
新接口
int32_t write(int32_t index, uint32_t offset,
const
string_t &val);
用途
bmc_upgrade BMC固件写入
变更说明 名称修改,参数形式修改
<tt>update_area_protect</tt>
原接口
void
update_area_protect(uint32_t protect_en)
const
;
新接口
void
set_write_protect(int32_t index, uint32_t part_id, uint32_t protect_en);
用途
bmc_upgrade BMC固件写入前关闭写保护,写入后打开写保护
变更说明 增加分区id参数,避免和实际分区划分强绑定
<tt>backup_area_protect</tt>
原接口
void
backup_area_protect(uint32_t protect_en)
const
;
新接口 删除
用途
bmc_upgrade 主备模式,备份分区的写保护
变更说明 避免和实际分区划分方式绑定,不强制要求该接口
制作者
1.9.8