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

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


你可能感兴趣的:(Linux uboot下新增phy的生效流程解析(Zynq平台))