1.3 px30驱动移植

您所在的位置:网站首页 rtl8367rbi参数 1.3 px30驱动移植

1.3 px30驱动移植

2023-11-25 07:04| 来源: 网络整理| 查看: 265

文章目录 写在前面一 、驱动框架二、驱动调用流程

写在前面

移植瑞芯微px30 网卡RTL8363的时候,不能识别到网卡 日志打印No found PHY, 只能调试一下代码,调试完成后,梳理网卡框架如下

一 、驱动框架

此框架是很老的linux kernel 4.4内核思路,我看最新内核的GMAC结构体略有不同

在这里插入图片描述

匹配过程如下

1 在phy_device.c中,通过get_phy_device 函数拿到设备的id号 2 phy_device_register 将设备节点挂到phy_map中 3 通过mii_bus 注册的函数操作设备读写 二、驱动调用流程 kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c rk_gmac_probe() //探测px30 gmac kernel/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c stmmac_dvr_probe() kernel/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c stmmac_mdio_register() kernel/drivers/of/of_mdio.c of_mdiobus_register() mdiobus_register() kernel/drivers/net/phy/mdio_bus.c // __mdiobus_register() mdiobus_scan() kernel/drivers/net/phy/phy_device.c get_phy_device() rtl8367rb_init() rtk_switch_init() get_phy_device() a、通过bus->id区别rtl8363 phy设备与fixed phy设备 b、rtl8363NB 扫描端口1 3 16 // 测试函数,读取到的默认数据为 0x0432 mdio读取没问题 rtk_switch_reg1b03() drivers/net/ethernet/stmicro/stmmac/rtl8367c/rtk_switch.c smi_readreg1b03() drivers/net/ethernet/stmicro/stmmac/rtl8367c/smi.c MDC_MDIO_READ drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c stmmac_mdio_write_switch()// 真正调用mdio的地方 stmmac_mdio_read_switch()//所有的通信都是通过这两个函数去通信的 这是rk平台自定的,正常通过mii_bus->stmmac_read_switch/mii_bus->stmmac_write_switch


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3