完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
k2 的Gigabit Ethernet (GbE) Switch Subsystem文档 关于 Serializer/Deserializer (SerDes) SGMII Boot Configuration Registers的偏移地址和基地址
让看数据手册,无法找到相关的详细文档。导致D:TIpdk_keystone2_3_00_03_15packagestiplatformevmk2hplatform_libsrcevmc66x_phy.c的CSL_SgmiiDefSerdesSetup函数全是寄存和偏移量的操作,不知道对应哪一个寄存器。 问题1:关于 Serializer/Deserializer (SerDes) SGMII Boot Configuration Registers的偏移地址和基地址是多少? 问题2:CSL_SgmiiDefSerdesSetup下对应的寄存器文档 问题3:我需要修改sgmii的PLL输入值,其控制寄存器的偏移地址和基地址是多少? |
|
相关推荐
2 个讨论
|
|
|
Table 3-169是KeyStone I的寄存器,你用的K2H 是KeyStone II. KeyStone II Serdes有专门的user guide.
K2上的SGMII SerDes只支持156.25MHz和125MHz的输入时钟,相应的PLL配置也是固定的。直接调用CSL函数就可以了,不需要去研究具体的PLL寄存器. 下面是一段代码供您参考: typedef struct[ CSL_SERDES_REF_CLOCK inputRefClock; float linkSpeed_GHz; /*the max link speed of all lanes at GHz*/ /*bit 0~3 control the endable/disable of 4 lanes. 0: disable; 1: enable*/ Uint32 laneEnableMask; Uint32 internalLoopbackDisableMask;] K2_GE_SerdesConfig;char * SerdesErrorStr[]=[ "SERDES no error", "SERDES error: invalid input reference clock speed!", "SERDES error: invalid link speed!"];/*Serdes initialization for Giga bit ethernet*/void K2_GE_Serdes_init(K2_GE_SerdesConfig * serdes_cfg, Uint32 uiBase_addr)[ int i; CSL_SERDES_LINK_RATE linkSpeed; CSL_SERDES_LANE_CTRL_RATE laneRateScale; Uint32 uiResult; // Disable pll before configuring the SerDes registers CSL_EthernetSerdesShutdown(uiBase_addr); if(serdes_cfg->linkSpeed_GHz== 1.25f) [ linkSpeed= CSL_SERDES_LINK_RATE_1p25G; laneRateScale = CSL_SERDES_LANE_QUARTER_RATE; //??? ] else printf("Error: link speed %.3fGbps is not supported by SGMIIn",serdes_cfg->linkSpeed_GHz); uiResult= CSL_EthernetSerdesInit(uiBase_addr, serdes_cfg->inputRefClock, linkSpeed); if(uiResult) printf(" %sn", SerdesErrorStr[uiResult]); for(i=0; i<4; i++) [ if((serdes_cfg->laneEnableMask>>i)&1) [ CSL_EthernetSerdesLaneConfig(uiBase_addr, serdes_cfg->inputRefClock, linkSpeed, i); ] ] CSL_EthernetSerdesComEnable(uiBase_addr); for(i=0; i<4; i++) [ if((serdes_cfg->laneEnableMask>>i)&1) [ uiResult= CSL_EthernetSerdesLaneEnable(uiBase_addr, i, (serdes_cfg->internalLoopbackDisableMask>>i)&1, laneRateScale); if(uiResult) printf(" lane %d error: invalid rate scalen", i); ] ] // Enable pll via the pll_ctrl 0x0014 CSL_EthernetSerdesPllEnable(uiBase_addr); // Wait the SerDes PLL lock while(CSL_SERDES_STATUS_PLL_NOT_LOCKED==K2_SerdesPLLGetStatus(uiBase_addr));#if 0 for(i=0; i<4; i++) [ if(((serdes_cfg->laneEnableMask>>i)&1)&&((serdes_cfg->internalLoopbackDisableMask>>i)&1)) [ while(CSL_SERDES_STATUS_PLL_NOT_LOCKED==K2_SerdesLaneGetStatus(uiBase_addr, i)); ] ]#endif] K2_GE_Serdes_init(&serdes_cfg, CSL_NETCP_SERDES_CFG_REGS); |
|
|
|
|
|
|
|
lkjljljlj 发表于 2018-7-24 10:35 您好,我使用的是K2e的评估板,运行的是masdk中的hello world例程,我运行后出现 Registration of the EMAC successful,waiting for link up .. Service status:DHCPC :Enables : :000 Service status DHCPC :Enables: :000 此后,console中就再也没有任何提示,程序一直在运行,不会自动停止。相关的寄存器中是error,无法读取。 请问,我需要修改哪些参数,才能正确运行程序,传输数据? 此外,如何修改DSP的IP配置模式(DHCP 或是手动)? 谢谢,期待您的回答 hitzhaoliangyu@126.com |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
553 浏览 0 评论
1616 浏览 0 评论
2049 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1516 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1343 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1759浏览 29评论
2787浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1726浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1637浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1647浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 08:10 , Processed in 0.752767 second(s), Total 60, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2697