最初接口
rtk_init:
hal_init
dal_mgmt_initDevice
hal初始化
hal_init:
/系统初始化,识别phy driver/
| hal_init_sys
| | osal_sem_mutex_create(Phy_sem,Miim_sem,Sds_sem,Tbl_sem)
| | phy_identify_init
| | | _phy_identify_phyctrl_register (supported_int_phys,supported_phys)
| | dal_mgmt_init
| dal_mgmt_mapper_clear
| hal_chipInfo_clear
/获取mac并初始化/
| mac_probe
| | hal_find_device
supported_devices rt_device_t
chip_id,rev_id,family_id,port_info,capacityInfo(各项表容量),macPPInfo,macPPInfo
| | hwp_defaultProfilePort_build
| | hwp_parsedInfo_buildup
| | hal_find_driver
rt_major_driver_table rt_driver_s
type,driver_id,driver_rev_id,reg_list,table_list,portMask_list,macDrv,
reg_idx_max,regField_idx_max,table_idx_max,vendor_id
macDrv = rt_macdrv_t ,init,miim,table,port,mac_serdes,smi,miim_portSmi
| mac_init
| | fMdrv_init
/获取phy初始化/
| phy_probe
| phy_attach_hook_driver
| phy_enable_set
| | fPhydrv_enable_set
| chip_construct
| phy_init
dal层初始化,主要为钩子函数
dal_mgmt_initDevice:
| hal_ctrlInfo_get
| dal_mgmt_mapper_init
| | dal_mgmt_mapper_allocate
| | dal_mgmt_mapper_hook
| | | dal_phyMapper_init
指向hal层初始化获取到的phy driver
| | | dal_macMapper_init
| RT_MAPPER(unit)->_init(unit)
| dal_linkMon_devInit