QCA8075: 是有5个端口Gigabit Ethernet PHY 芯片。
PSGMII:连接MAC与PHY芯片的接口, 也称为数据接口。(PSGMII可以配置为5个copper or 4 个copper 1个COMBO)
MDC/MDIO:控制总线接口。
这是一个标准连接图,只是稍加解释,cpu端内置switch,笔者在看驱动的时候,对其中关系比较混乱,故记下跟踪笔记。
设备树关系
switch@A{
compatible = “switchdevice”;
reg = <0x,0x>;//从设备树看,此处的寄存器可以被CPU直接访问,因为是内置switch,故所有的vlan, qinq, isolation等功能都是在这个寄器范围内设置,因为这个功能属于switch的功能。
};
psgmii@B{
compatible=”psgmiiinterface device”;
reg = <0x,0x>; //这个也是,寄存器可以被CPU直接访问,这些寄存器是处于CPU端的关于psgmii接口的设置。
};
mdio@C{
compatible = “midointerface device”;
reg=<0x,0x>;//mdio寄存器也是可以被CPU直接访问,这是一种总线,类似于uart,通过这个接口访问phy寄存器,即QCA8075芯片内的寄存器,这里面的寄存器功能有speed, phy reset, loopback, auto negotiation, duplex mode等等功能,故如果需要控制这个功能,就需要通过mdio接口进行访问,QCA8075芯片内的寄存器还包括MII 寄存器,控制phy 与mac之的连接配置。
}
目前,了解到这个程序,如有错误请指正。