新增gpio和serdes驱动访问资源协作接口

背景

当前沙箱业务组件通过配置特权的方式直接使用gpio,serdes等设备文件,不符合沙箱权限要求。需要支持对沙箱组件调用root权限设备的能力。

关联ISSUE

新增gpio和serdes驱动访问资源协作接口

整体方案

1、soctrl增加gpio,眼图驱动相关接口,沙箱组件通过soctrl接口访问root权限设备

评审点

1、soctrl增加资源协作路径:/bmc/kepler/Managers/:Id/SOC/GPIO,新增资源协作接口:bmc.kepler.Managers.SOC.GPIO,新增方法Read,新增信号ACLost
2、 soctrl在原有眼图接口bmc.kepler.Managers.SOC.SerdesEyeDiagram下新增方法GetFourEyeDiagram

详细描述

评审点1:新增资源协作接口 bmc.kepler.Managers.SOC.GPIO

资源协作Path:/bmc/kepler/Managers/:Id/SOC/GPIO
接口描述:支持业务组件配置GPIO管脚状态,以及获取带内下电中断信号等,gpio不涉及多系统区分,归属于soctrl组件/bmc/kepler/Managers/:Id/SOC/GPIO路径下

方法评审点

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
Read uy ID: 表示gpio管脚编号,用于指定配置的GPIO管脚
Direction:表示获取方式,0: 获取GPIO管脚的电平状态,1:获取输出模式时的管脚状态
y 电平高低状态,0:表示低电平;1:表示高电平 设置对应gpio管脚复用为gpio关系,并读取指定的GPIO管脚电平状态 BasicSetting

信号评审点

信号名称 签名 参数描述 信号描述
ACLost u 掉电信号事件值 掉电信号,当前仅在发生二级闪断时触发信号

接口新增影响

路径 接口新增影响 CSR配置影响 持久化影响 其他影响
/bmc/kepler/Managers/:Id/SOC/GPIO 对外提供GPIO管脚状态读取,GPIO中断配置/获取 不涉及CSR配置 不涉及持久化,无兼容性问题 需实现新增方法

评审点2:变更资源协作接口bmc.kepler.Managers.SOC.Serdes.EyeDiagram

接口描述:接口不涉及多系统区分,归属于soctrl组件/bmc/kepler/Managers/:Id/SOC/BmcDfx 路径下

方法评审点

变更类型 方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限 变更影响
新增 GetFourEyeDiagram (qqqyyyyyuiu) ChipID: 表示芯片标识符,用于区分不同物理芯片
MacroID: 表示宏模块ID,用于标识当前操作的 SerDes 宏单元(如 lane0、lane1 等)
LaneID: 表示起始 SerDes 通道(Lane)ID,用于指定从某一路开始扫描(如从 lane3 开始测试)
ScanMode: 表示 扫描模式,用于指定扫描模式 0:固定点扫描,1:ISI(符号间干扰)扫描,2:仅测量眼图宽度,3:仅测量眼图高度
PreTap: 表示前置码型,评估信号在不同前导模式下的眼图开放度 0:无效值,用于初始化或校验,表示未设置预加重模式,1:前 1 bit 为 0 的码型, 2:前 1 bit 为 1 的码型,3:组合扫描模式
PatternType : 表示测试码型,用于测试信号在不同状态下的稳定性,眼图开放度,0:全零码型,1:全一码型
EyeDiagramType : 表示眼图类型,用于指定眼图分析的模式,0:基本眼图,1:TAP1响应眼图,2:TAP2响应眼图
PathType: 表示信号路径选择,用于区分不同信号通道(I/Q、同相/反相、合成路径)0x1:Q路信号,0x2:I路信号,0x4:Q反相路径,0x5:Q与QB组合路径,0x8:I与IB组合路径,0xF:复合路径(I+IB与Q+QB的组合)
WindowSize: 眼图窗口大小,用于控制扫描范围
Threshold: 眼图判决门限,用于判断“高”/“低”电平的分界点
AvgSamplingCount : 表示眼图平均采样次数,用于提高信噪比
(iiii) Bottom: 眼图底部边界的采样点位置
Top: 眼图顶部边界的采样点位置
Left:眼图左侧边界的采样点位置
Right:眼图右侧边界的采样点位置
查询四点眼图采样点位置 BasicSetting 新增方法,无影响

接口变更影响

路径 接口变更影响 CSR配置影响 持久化影响 其他影响
/bmc/kepler/Managers/:Id/SOC/BmcDfx 新增GetFourEyeDiagram方法,提供查询四点眼图结果 不涉及CSR配置,无影响 不涉及持久化,无兼容性问题 需实现新增方法

评审结论

遗留问题

1、正式内容,不要使用斜体
2、GPIO的Read操作是绑定了驱动初始化处理的,单纯的Read操作不能满足业务诉求(包含init, read, close操作)
3、ACLost信号没有分析触发场景和频率,以及业务及时性的影响(例如通过信号触发是否可能导致业务响应不及时)
4、眼图接口设计不合理,不能采用V2这种毫无意义的接口命名

Read接口已优化描述
AC_Lost信号是就节点而言,电源掉电或者产生二级闪断后,发送信号。所有系统都会受到影响,不区分系统。实际上bmc掉电太快,实际无法接收到信号,只能用来检测二级闪断
眼图接口已修改

已检视OK,同意锁定。