【已评审】Uart对象的Id、BusType属性变更为资源协作接口属性 新增Reset方法

背景

  1. 对于uart over hisport无法发送break信号,导致魔术键功能丢失,rmcpd需要获得sol当前连接到的端口的类型去做规避

  2. 对于支持动态串口参数配置的机型,sol串口参数改配统一由bmc_soc操作,rmcpd内部直接使用open_port会将bmc_soc的参数设置覆盖。rmcpd需要调用新增方法维护参数原有配置。

关联ISSUE

暂无

整体方案

  1. 位于bmc_soc组件下的Uart对象的Id、BusType属性变更为资源协作接口属性。Rmcpd通过sol连接到的端口Id判断连接到的系统串口BusType是否为uart over hisport
  2. rmcpd调用新增的Reset方法,该rpc方法替换掉rmcpd中的_open_sol的调用。bmc_soc的这个函数内部的channel_init包含了打开设备以及对设备根据当前Uart配置的初始化

评审点

UartPort 对象新增资源协作接口属性和方法

详细描述

评审点一:UartPort 资源协作接口新增属性和方法

path(新增): /bmc/kepler/Managers/${ManagerId}/UartPorts/${Id}
interface(新增): bmc.kepler.Managers.UartPort

新增属性详情如下:

属性名称 变化类型 签名 读写&权限 持久化 变化通知 接口说明 属性值来源 设计约束
Id 新增属性 U8 R:ReadOnly 端口Id CSR
BusType 新增属性 String R:ReadOnly 串口协议类型类型,取值如下:
Uart :Uart 通用端口
UartOverHisport:基于Hisport通道的Uart端口
UartOverEspi:基于ESPI通道的Uart端口
CSR

新增方法详情如下:

方法名称 变化类型 请求签名 请求参数说明 响应签名 响应参数说明 访问权限 说明 备注
Reset 新增方法 不涉及 不涉及 Basicsetting 打开启动Uart设备,并对设备进行参数设置等初始化

评审结论

通过,同意新增资源路径 /bmc/kepler/Managers/${ManagerId}/UartPorts/${Id} 和新增资源协作接口 bmc.kepler.Managers.UartPort;同意资源协作接口下新增属性 IdBusType 和新增方法 Reset;新增属性和方法的描述见议题材料。

遗留问题