openUBMC Chip Abstract Layer
V0.1
载入中...
搜索中...
未找到
Localbus(异步静态存储器接口)
保持现状
接口用途
runtime_accessor MDS对象访问
对比
<tt>init</tt>
原接口
void
init(uint32_t
id
);
新接口
void
config(int32_t index,
void
*config, uint32_t size);
变更说明
id
用于指定设备锁的初始化,新的架构不需要
<tt>read</tt>
原接口
using
LOCAL_BUS_OPT_S =
struct
{
uint32_t cs;
/* 片选, L_BUS_CS_E */
uint32_t type;
/* 0为按字节访问,1为按比特位访问 */
uint32_t offset;
/* 偏移位置,以片选器件的访问位宽对齐 */
uint32_t len;
/* 读/写数据的长度, 单位:字节;大于等于1,小于等于0x1000,以片选器件的访问位宽对齐;
按照bit访问时,长度值必须等于位宽的字节数 */
uint32_t mask;
/* 比特掩码,1有效,按比特访问时有效,驱动只取与器件位宽一致的位数,其他的比特位不关注 */
uint8_t *data;
/* 读/写数据 */
};
string
read(LOCAL_BUS_OPT_S *l_bus_opt);
新接口
string_t read(int32_t index, uint32_t type, uint32_t offset, uint32_t len, uint32_t mask);
变更说明 拆分
LOCAL_BUS_OPT_S
结构
cs
指Localbus片选,这里使用
index
统一管理
<tt>write</tt>
原接口
void
write(LOCAL_BUS_OPT_S *l_bus_opt,
const
string_view &val);
新接口
int32_t write(int32_t index, uint32_t type, uint32_t offset, uint32_t len, uint32_t mask,
const
string_t &val);
变更说明 拆分
LOCAL_BUS_OPT_S
结构
<tt>set_timing</tt>
原接口
struct
LOCAL_BUS_TIMING_S {
uint32_t cs;
/* 要写入的片选 */
uint32_t type;
/* 要配置的时序参数类型 */
uint8_t value;
/* 要写的时序值 */
};
void
set_timing(
const
LOCAL_BUS_TIMING_S *timing)
const
;
新接口
void
set_timing(int32_t index, uint32_t type, uint8_t value);
变更说明 拆分
LOCAL_BUS_TIMING_S
结构
用途 初始化生效,用于Localbus.LALE, Addr2DataNum属性生效
<tt>set_timing</tt>
原接口
void
set_bitwide_and_offset(uint8_t cs, uint8_t cf_addr_offset, uint8_t bit_wide)
const
;
新接口
void
set_bitwidth_and_offset(int32_t index, uint8_t addr_offset, uint8_t width);
变更说明 参数重命名
用途 初始化生效,用于Localbus.AddrOffset属性生效
制作者
1.9.8