openUBMC Chip Abstract Layer V0.1
载入中...
搜索中...
未找到
mmc.h
浏览该文件的文档.
1/*
2 * Copyright (c) Huawei Technologies Co., Ltd. 2025. All rights reserved.
3 *
4 * this file licensed under the Mulan PSL v2.
5 * You can use this software according to the terms and conditions of the Mulan PSL v2.
6 * You may obtain a copy of Mulan PSL v2 at:
7 * http://license.coscl.org.cn/MulanPSL2
8 *
9 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
10 * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
11 * PURPOSE.
12 * See the Mulan PSL v2 for more details.
13 */
14
19#ifndef DRIVER_MMC_H
20#define DRIVER_MMC_H
21
22#include "driver.h"
23
24namespace DRIVER_MMC {
25using namespace bcal;
26
31using MMC_REG_TYPE_E = enum class MMC_REG_TYPE {
32 MMC_EXT_CSD,
33 MMC_CID,
34 MMC_CSD
35};
36
41class Mmc : public IDriver {
42public:
51 virtual string_t read_reg(int32_t index, MMC_REG_TYPE_E reg_type, uint32_t offset, uint32_t length) = 0;
52
59 virtual string_t get_health_report(int32_t index) = 0;
60
68 virtual tuple<uint32_t, uint32_t> get_write_stat(int32_t index, bool clear) = 0;
69
78 virtual string_t read(int32_t index, uint32_t offset, uint32_t len) = 0;
79
88 virtual int32_t write(int32_t index, uint32_t offset, const string_view_t &val) = 0;
89
97 virtual void set_write_protect(int32_t index, uint32_t part_id, uint32_t protect_en) = 0;
98};
99} // namespace
100#endif
MMC接口类
Definition mmc.h:41
virtual string_t get_health_report(int32_t index)=0
获取健康报告
virtual string_t read_reg(int32_t index, MMC_REG_TYPE_E reg_type, uint32_t offset, uint32_t length)=0
读取寄存器
virtual int32_t write(int32_t index, uint32_t offset, const string_view_t &val)=0
写MMC数据
virtual void set_write_protect(int32_t index, uint32_t part_id, uint32_t protect_en)=0
使能/取消特定分区的写保护
virtual string_t read(int32_t index, uint32_t offset, uint32_t len)=0
读MMC数据
virtual tuple< uint32_t, uint32_t > get_write_stat(int32_t index, bool clear)=0
获取写入统计信息
BCAL层驱动公共接口
Definition driver.h:41
BCAL 驱动公共接口定义