SDK疑问 - RMII0以太网接口配置咨询

各位好,

请问下官方出的社区SDK 里面,针对RMII0这块的配置的话,

1、默认是工作在什么模式呀?默认就设置的支持NCSI功能吗?

2、还有就是RMII0_CLK 的默认设置是输入还是输出引脚呀? 如果默认是输出的话,设置的默认输出50Mhz?

答案内容由AI生成,仅供参考:

总结

问题 当前信息结论
1. RMII0 是否默认支持 NCSI? 系统架构支持 NCSI over RMII,Eth0 可作为承载接口,但 NCSI 功能是否默认启用未知,由 NcsiEnable 配置决定。建议检查 SDK 中 EthernetInterfaces 的默认配置。
2. RMII0_CLK 默认为输入还是输出? 无明确信息。根据 RMII 标准,通常由外部 PHY 提供 50MHz 时钟(SoC 输入),但若 SoC 驱动时钟则为输出。SDK 默认配置需查硬件抽象层或设备树。
3. 是否默认输出 50MHz? 若为输出模式,则应为 50MHz,符合 RMII 规范。但 无证据表明 SDK 默认开启此输出
点击此处查看详细分析解答

关于 RMII0 模式与引脚配置的说明

根据您提出的关于社区 SDK 中 RMII0 配置的问题,结合现有信息进行如下解答:

1. RMII0 默认工作模式及 NCSI 支持情况

默认网络模式

  • RMII NCSI 协议用于管理:系统设计中,RMII NCSI 是一种用于通过 NCSI(Network Controller Sideband Interface)协议 采集 SDI 卡日志的网络接口配置方式。
  • Eth0 接口承载 NCSIEth0 接口被指定为运行 RMII NCSI 协议的基础网络接口。在该配置下,NCSI 通过 RMII 物理层与 Eth0 结合实现带外管理功能。

NCSI 功能是否默认启用

  • NCSI 功能可配置但非强制默认开启
    • 系统通过 EthernetInterfaces 组件管理所有以太网接口配置,其中包含一个布尔属性 NcsiEnable,用于控制是否启用 NCSI 功能。
    • 知识图中 未明确说明 该标志在默认配置中为 truefalse
    • 存在文档(如文档 #2)提到“Eth0 始终无法配置 IP”,表明 即使硬件支持,NCSI over RMII 的配置可能未完成或依赖额外设置
  • 因此,不能确定 RMII0 在 SDK 中是否默认启用 NCSI 功能,需查阅具体 SDK 配置文件或 D-Bus 默认值确认。

:warning: 结论:RMII0 的逻辑设计目标是支持 NCSI,但 是否默认启用需视平台配置而定,可能需要用户手动启用 NcsiEnable 并完成相关初始化流程。


2. RMII0_CLK 引脚方向与频率设置

CLK 引脚方向(输入/输出)

  • 现有资料未提供直接答案
    • 知识库中未包含 RMII0_CLK 引脚方向的具体定义。
    • Rmii 被描述为一种用于连接以太网控制器和物理层(PHY)的 Reduced Media Independent Interface,通常情况下:
      • 在 SoC 为主控端时,RMII 接口的时钟(REF_CLK)一般由外部 PHY 提供(即 输入)。
      • 但也存在 SoC 自行生成时钟输出给 PHY 的情况(即 输出),取决于硬件设计。

:warning: 结论:从通用 RMII 规范来看,REF_CLK 通常为输入(由 PHY 提供),但 SDK 是否默认配置为输出取决于芯片厂商和板级设计。当前信息不足以判定 SDK 中 RMII0_CLK 默认为输出

是否默认输出 50MHz

  • 无直接证据支持 50MHz 输出
    • RMII 标准时钟频率为 50MHz,这是标准要求。
    • 若系统设计为 SoC 输出时钟,则预期频率应为 50MHz。
    • 但知识库中 没有任何实体或文档说明 SDK 中对该引脚配置了 50MHz 输出

:warning: 结论:虽然 50MHz 是 RMII 标准时钟频率,但无法确认 SDK 是否将其设为默认输出及其驱动能力配置。


总结

问题 当前信息结论
1. RMII0 是否默认支持 NCSI? 系统架构支持 NCSI over RMII,Eth0 可作为承载接口,但 NCSI 功能是否默认启用未知,由 NcsiEnable 配置决定。建议检查 SDK 中 EthernetInterfaces 的默认配置。
2. RMII0_CLK 默认为输入还是输出? 无明确信息。根据 RMII 标准,通常由外部 PHY 提供 50MHz 时钟(SoC 输入),但若 SoC 驱动时钟则为输出。SDK 默认配置需查硬件抽象层或设备树。
3. 是否默认输出 50MHz? 若为输出模式,则应为 50MHz,符合 RMII 规范。但 无证据表明 SDK 默认开启此输出

:white_check_mark: 建议操作

  1. 查阅 SDK 提供的 设备树(DTS)文件板级配置文件,查找 ethernet@... 节点下的 phy-mode = "rmii"ncsi 相关配置。
  2. 检查 bmc.kepler.EthernetInterfaces 在 D-Bus 上的默认属性值,特别是 NcsiEnable
  3. 查看 SoC 数据手册原理图,确认 RMII0_REFCLK 引脚是接至 PHY 输入还是由 SoC 驱动。
  4. 可尝试在系统启动后使用 cat /sys/kernel/debug/clk/clk_summary 查看时钟状态。

如需进一步验证,请提供更多硬件平台信息或 SDK 版本细节。

你好:
1、NCSI驱动不需要配置
2、rmii0_clk时钟默认是使用外部50M时钟

你好,那有个问题,我们硬件上的接法默认是从BMC内部出的时钟接到PHY那边的,这个引脚驱动那边默认配置的就是会输出50Mhz的时钟吗?还是说这种硬件接法有问题?

好的,懂了,就是默认驱动里面没有配置RMII0_CLK 引脚输出50Mhz的时钟的。我们目前这种硬件的接法就得是配合改驱动或者是设备树才行,不然就得是用外部的50Mhz时钟吧

NCSI这个主要是我看OpenBMC中有些厂商设备树这块会针对某个MAC在设备树里配置类似use_ncsi这种标识位,表示该MAC开启NCSI功能

是的