嵌入式爱好者

1028关于SATA的TX/RX硬件接反,通过软件进行极性翻转

2022-5-20 09:41| 发布者: djh| 查看: 712| 评论: 0|原作者: djh

类目: 知识库  >  LS1012A/LS1043A/LS1046A系列产品     文档编号: 640

问题背景:在日常处理客户问题过程中遇到一客户自己设计底板将SATA的TX/RX引脚硬件接反了,该文章主要介绍通过软件配置寄存器的方法实现极性翻转,这样的话就省去客户重新制版的麻烦,提高客户的研发速度。下面开始进行软件配置:
解决方法是通过修改SATA  serdes寄存器General Control Register 1 - Lane D (LNDGCR1) 配置实现SD1_RX3_N/P与SD1_TX3_N/P极性翻转;
修改RCW:OK1028-linux-fs/packages/firmware/rcw/ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600.rcw

.pbi

//sata serdes

write 0xea08c4  0xc44500aa

.end

解析:
0xea08c4LNDGCR1的地址。SerDes的基地址为0xea0000LNDGCR1寄存器的偏移地址为8c4

 

查看寄存器表可以看到第31位用于翻转rx引脚的极性,第30位用于翻转tx引脚的极性,当RDAT_INV对应位为1 时, Rx data is inverted before it is decoded

TDAT_INV对应位为1时,Tx data is inverted before it is transmitted。根据寄存器配置表换算成16进制为0xc44500aa


已解决

未解决

只是看看

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-11-22 16:39

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部