这几天都在看phy芯片AR8035驱动的整体架构。发现还是有点复杂,涉及不少的代码。
由于在 RK 系列的 SoC 中内置了以太网 MAC 控制器,所以只需要搭配一颗以太网 PHY芯片,即可实现以太网卡功能。按照规范,即使是不同厂家的 PHY,仍然有一部分寄存器的定义是通用的,只要配置了这些通用的寄存器,基本上 PHY 就可以正常工作。因此,在 Linux 驱动中有通用的 PHY 驱动,3288 之前的芯片所配套的 SDK 中使用的都是通用驱动,当然 SoC 中的 MAC 驱动是需要实现的。所以理论上,如果不需要使用 PHY 厂家提供的自定义的寄存器配置实现一些个性化的功能,那么 PHY 的驱动就不需要修改。从 3288 之后的 SDK 开始,打开了各个 PHY 厂家在 Linux 上提供驱动的配置,但是基本上,各家的驱动差异很小,基本上也是调用通用驱动的接口。