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 主备模式,备份分区的写保护
  • 变更说明 避免和实际分区划分方式绑定,不强制要求该接口