确定phy驱动代码
libs/phymod/core/phymod.c -> phymod_core_probe() -> __phymod__dispatch__[idx]->f_phymod_core_identify
↓
phymod_tsce16_driver
↓
tsce16_core_identify()
↓
←←←←←←←←←←←←←←←←←←←←
↓
Sundray-SW[Undefine-0/32|LC] /var/tmp #bcmsh phy xe0 PHYID2r
excute : ovs-appctl plugin/bcmsh phy xe0 PHYID2r
Port xe0:
PHYID2r [0x70000002] = 0x600d
REGID1<15:0>=0x600d
Sundray-SW[Undefine-0/32|LC] /var/tmp #bcmsh phy xe0 PHYID3r
excute : ovs-appctl plugin/bcmsh phy xe0 PHYID3r
Port xe0:
PHYID3r [0x70000003] = 0x8770
REGID2<15:0>=0x8770
Sundray-SW[Undefine-0/32|LC] /var/tmp #bcmsh phy xe0 MAIN0_SERDESIDr
excute : ovs-appctl plugin/bcmsh phy xe0 MAIN0_SERDESIDr
Port xe0:
MAIN0_SERDESIDr [0x7010900e] = 0x0312
MODEL_NUMBER<5:0>=0x12
TECH_PROC<8:6>=0x4
BONDING<10:9>=0x1
REV_NUMBER<13:11>=0x0
REV_LETTER<15:14>=0x0
注:一般以ID结尾的寄存器,都是只读的
确定phy驱动可以看代码 src/soc/phy/phyident.c
中的 _standard_phy_table
和 _int_phy_table