Linux uboot下新增phy的生效流程解析(Zynq平台)

本文详细介绍了PHY芯片的初始化过程,包括如何通过宏CONFIG_PHY_MARVELL在phy.c文件中选择具体的PHY芯片进行初始化,以及如何在marvell.c文件中使用phy_register函数注册特定型号的PHY芯片。同时,还深入探讨了phy_device_create等关键函数的调用流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

driver/net/phy/phy.c:phy_init()里通过宏CONFIG_PHY_MARVELL来初始化具体phy芯片,宏的定义在xxx_config.h中;
driver/net/phy/marvell.c:phy_marvell_init()中phy_register(&M88E1518_driver)来注册具体型号的phy芯片;
phy_register()的定义在phy.c,struct phy_driver的定义在include/phy.h中;



phy_device_create
	create_phy_by_mask
		get_phy_device_by_mask
			get_phy_device
				miiphy_reset
			phy_find_by_mask
				phy_connect
					zynq_gem_init(driver/net/zynq_gem.c,其中struct eth_device定义在include/net.h)
						zynq_gem_initialize
							board_eth_init(board/xilinx/zynq/board.c)
	get_phy_device_by_mask


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值