评审背景
当前支持的I3cOverLocalBus总线兼容I3c协议和I2c协议,通用chip配置在I3cOverLocalbus下时无法区分使用I3c协议还是使用I2c协议。因此新增I3cChip类型,该类型继承通用chip,该I3cChip类在I3cOverLocalbus下时通过I3c协议进行读写访问,原通用chip类在I3cOverLocalbus下通过I2c协议进行读写访问。
触发原因:需求
当前差距/问题分析:
当前通用chip配置在I3cOverLocalbus下时,无法区分使用I2c协议还是I3c协议进行读写。需要新增一种方式来显性的指定通过I3c协议进行读写。
决策点
通用器件支持通过I3cOverlocalbus总线访问,兼容I2c和I3c实现方案评审
详细描述
方案1:新增资源协作接口路径/bmc/kepler/Chip/I3cChip/:Id
path:/bmc/kepler/Chip/I3cChip/:Id(新增)
interface:bmc.kepler.Chip
变化类型:新增资源path
应用场景:I3cOverLocalbus上使用I3c协议进行读写
持久化类型: 不持久化
操作权限:BasicSetting
详细描述:私有属性继承通用chip
chip命名备选: DualBusChip、MultiBusChip、DualModeChip来代表支持多总线协议的chip
方案2:在通用chip中增加私有属性来区分该chip使用I3c协议还是I2c协议
path:/bmc/kepler/Chip/Complex/:Id
interface:bmc.kepler.Chip
变化类型:新增私有属性
应用场景:用于区分I3cOverLocalbus下的chip访问使用I3c协议或使用I2c协议
持久化类型: 不持久化
操作权限:BasicSetting
详细描述:新增私有属性
评审结论
结论:采用方案2,不新增资源协作接口路径,在原资源协作接口路径/bmc/kepler/Chip/Complex/:Id下新增私有属性BusType
遗留问题及确认结论:
1、BusType的默认值含义和取值含义描述需要变更
结论:BusType含义变更如下,默认值0
- 0:自动选择
- 1:i2c协议
- 2:i3c协议