2-lan8720a的kernel驱动

来源:互联网 发布:360修复网络失败 编辑:程序博客网 时间:2024/04/29 19:39

1.iomux部分
arch/arm/plat-mxc/include/mach/iomux-mx6q.h定义iomux值
arch/arm/mach-mx6/board-mx6q-sabresd.h 定义 iomux
static iomux_v3_cfg_t mx6q_sabresd_pads[] ={}
arch/arm/mach-mx6/board-mx6q-sabresd.c的mx6_sabresd_board_init()执行iomux
{
mxc_iomux_v3_setup_multiple_pads(mx6q_sabresd_pads,
ARRAY_SIZE(mx6q_sabresd_pads));
}

2.平台设备部分
arch/arm/mach-mx6/board-mx6q-sabresd.c
定义了平台设备的平台数据
static struct fec_platform_data fec_data __initdata = {
.init = mx6q_sabresd_fec_phy_init,
.phy = PHY_INTERFACE_MODE_RGMII,
.gpio_irq = MX6_ENET_IRQ,
};
并在mx6_sabresd_board_init()中执行imx6_init_fec(fec_data);此函数最终会创建平台设备并注册到系统中。

3.平台驱动部分
drivers/net/fec.c的fec_enet_module_init()函数注册平台驱动
平台驱动的fec_probe函数中注册网络接口alloc_etherdev

数据发送fec_enet_start_xmit
0 0
原创粉丝点击