刚开始写博客,刚开始学习OpenBMC,文章中可能有的地方写的不正确,还请大家指正。
1.PHY简介
Media Independent Interface(MII)[1],介质独立接口,起初是定义100M以太网(Fast Ethernet)的 MAC 层与 PHY 芯片之间的传输标准。
MAC与PHY之间的MII连接可以是可插拔的连接器,也可以是同一块PCB上MAC与PHY之间的走线。
MDIO与MDCLK是MII接口的一部分,二者可称为SMI(Serial Management Interface)串行管理接口,用于在MAC和PHY之间传递配置信息。
在MDIO(Management Data Input/Output)规范中定义PHY地址为5bit,即同一组MDIO最多可配置2^5=32个PHY。
MAC控制器将收到的数据通过MII、SMII、GMII、RGMII等接口将数据传递给CPU。向下PHY将MAC将数据转换成模拟信号通过RJ45向外传输、或者通光模块将PHY的模拟信号转换成光信息传输[2]。
2.适配需求
参考网上OpenBMC环境搭建的文章,完成开发环境搭建后,选择meta-evb-ast2600作为基础代码,通过配置和编译,可以编译生成OpenBMC镜像:obmc-phosphor-image-evb-ast2600-xxx.static.mtd,将该镜像刷入带有ast2600芯片的机器中,通过串口打印,可以看到镜像是可以运行起来的。但是发现u-boot无法获取到IP地址,初步判断是u-boot没有针对机器的PHY芯片进行适配。
3.适配过程
目前是直接提取u-boot代码,通过修改提取代码的方式进行适配,后期按照更合理的方式去适配。
(1)使用devtool工具提取u-boot代码
de