1. Introducción
Para la configuración del árbol de dispositivos, consulte el capítulo anterior. Esta explicación todavía toma como ejemplo el chip YT8511 de Yutai.
2 Los archivos y las rutas que deben configurarse
a. Agregue el archivo yt_phy.c en el directorio ../drivers/net/phy (generalmente, el archivo del controlador lo proporciona el fabricante);
b. Modifique el archivo Kconfig en el directorio ../drivers/net/phy, como se muestra en la siguiente figura.
c. Modifique el archivo Makefile en el directorio ../drivers/net/phy, como se muestra en la siguiente figura.
3 conductor añadido
Después de completar el contenido anterior, ingrese al directorio del kernel de Linux y ejecute make menuconfig para configurar el kernel y agregar el controlador YT PHY, como se muestra en la figura a continuación.
4. Análisis de preocupaciones de trasplante
a. La portabilidad de los controladores PHY del kernel de Linux y u-boot se basa en el marco de software estándar. Tanto el kernel de u-boot como el del kernel de Linux completan la coincidencia del dispositivo PHY y el controlador del controlador a través de la ID de PHY. Después de que la coincidencia sea exitosa , se completa llamando a la función (ytphy8511_config) Operación de análisis de árbol de dispositivos y configuración de PHY;
b. Durante el proceso de trasplante de u-boot, preste atención a phy_device->dev (struct udevice *dev, que se muestra en la Figura 1) no es su propio udevice sino la información del dispositivo de gmac (como se muestra en la Figura 2), y preste atención al analizar el nodo del árbol de dispositivos!
Figura 1
Figura 2
C. Hay dos canales de gmac (gmac0, gmac1) en los nodos de dispositivo gmac, mdio, phy y el lado del atributo PS del árbol de dispositivos, y un canal de mdio (mdio0, mdio1) en gamc respectivamente. El método de configuración de los nodos del árbol de dispositivos relacionados con la red es el siguiente: el nodo raíz contiene nodos gmac, el nodo gamc contiene subnodos mdio y el nodo mdio contiene subnodos phy, entre los cuales los nodos mdio pueden contener múltiples subnodos phy.