硬件原理

OK1046A_C2 原理图上接线实际是PCIE接口的接线,SD2_RX3_N接PERN0,SD2_RX3_P接PERP0,软件上通过控制SATA serdes的寄存器进行了极性翻转,从而实现了mSATA的功能,这样设计的初衷是为了兼容性考虑,同时利用了软件可以控制极性翻转的特点。
实际的mSATA接线应该是SD2_RX3_N接PERP0,SD2_RX3_P接PERN0

软件方案

OK1046A_C2 Serdes2方案用的5A59,如下所示:

代码解析

在RCW中修改寄存器的值,RCW路径:flexbuild/packages/firmware/rcw/ls1046ardb/FORLINX/rcw_1800_qspiboot_1133_5a59.rcw

.pbi
write 0xeb08c4 0x844500aa
.end

解析:
通过修改 General Control Register 1 - Lane D (LNDGCR1) 的寄存器的值来实现,0Xeb08c4 是LNDGCR1的地址,0x844500aa为该寄存器的值
Serdes2的基地址为:0xeb0000,LNDGCR1寄存器的偏移地址为8c4


查看寄存器表可以看到第0位用于翻转rx引脚的极性,当RDAT_INV对应位为1 时, Rx data is inverted before it is decoded;根据寄存器配置表换算成16进制为0xc84500aa


LS1046修改寄存器翻转SATA引脚的N/P极性相关推荐

  1. Debug的T命令在执行修改寄存器SS 的指令时,下一条指令也紧接着被执行。

    为什么会这样呢?要想彻底说清楚这里面的来龙去脉,在这里还为时过早,因为这涉及我们在以后的课程中要深入研究的内容:中断机制,它是我们后半部分课程中的一个主题.现在我们只要知道这一点就可以了: Debug ...

  2. GDB 修改当前判断函数的返回值(即修改寄存器的值)的方法

    工作中遇到的问题: 在GDB调试时要进入下边该判断后边的函数,而m_EtherDecode.Chk_MakeSure_IP_Pkt(pPacket,dwPacketLen)的返回值是false,所以需 ...

  3. Dell poweredge r210进BIOS修改磁盘控制器(SATA Controller)接口模式

    Dell poweredge r210进BIOS修改磁盘控制器(SATA Controller)接口模式 开机后按F2键进入BIOS设置,如下图: BIOS设置主界面: 使用上下键移动光标到" ...

  4. 谈谈修改寄存器默认值的几种方法和实现

    一.DFF的类型介绍 寄存器默认值,也叫复位值,是当reset或者set有效时寄存器输出的值.对于一个DFF来说,如下图,当reset为0时,Q输出0:当set为0时,Q输出为1(外部使用时保证res ...

  5. orcad修改网络名与引脚名一致的一个技巧

    当使用orcad画原理图时,有时候会遇到网络名与引脚名一样的情况,而我们不能通过pins修改,就很气,只能在Aliases中修改,但在Aliases中,我们并不知道这个修改的是哪个引脚,这对于批量修改 ...

  6. 使用debug工具修改寄存器中的值

    学习任何一门高级语言都会好奇计算机内部到底如何进行操作的,在win10系统下,想直接操作cpu内部的各类寄存器可以使用debug加dosbox软件进行操作,首先安装好他们,随后进入调试阶段: 输入一些 ...

  7. SATA引脚定义与硬盘电源电压

    区分:SATA2 与 SATA3 接口定义完全一致,从外观上并不能区分. 总线协议:SATA是接口,SATA也是一种总线(Serial ATA).SATA接口的硬盘使用的总线为 SATA总线,数据传输 ...

  8. AD原理图中如何修改系统库中的引脚

    1.鼠标双击选择所需器件 2. 3.修改所需引脚即可

  9. STM32单片机修改寄存器的位操作方法(全网最全)

    使用 C语言对寄存器赋值时,我们常常要求只修改该寄存器的某几位的值,且其它的寄存器位不变,这个时候我们就需要用到 C 语言的位操作方法了. 1. 把变量的某位清零 此处我们以变量 a代表寄存器,并假设 ...

最新文章

  1. 无法在终端中显示Git树
  2. 图片缩放 算法 matlab,图像放大算法总结及MATLAB源程序.doc
  3. raid 物理盘缓存状态_服务器raid卡、磁盘缓存的配置策略
  4. 【Alpha 冲刺】 1/12
  5. linux timespec 链接库,Linux内核 timespec_sub()
  6. 实现PHP内部的通知机制,如当一个类的属性发生变化时,另外一个类就可以收到通知...
  7. python中的numpy模块和pandas模块的区别_python的numpy模块- 01.pandas基本数据类型
  8. 【李宏毅2020 ML/DL】P13 Backpropagation | 神经网络反向传播到底是怎么计算的
  9. 【深度优先搜索】牛客网:剪绳子
  10. FFMPEG结构体分析:AVIOContext
  11. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第4节 等待唤醒机制_8_等待唤醒机制代码实现_包子类包子铺类...
  12. php 解析字符串编码方式 GB2312 UTF8
  13. 恢复mysql数据--使用frm和ibd文件
  14. 计算机二级资料汇总,包含多个题库
  15. tableau的下载安装及简单使用
  16. NXP推出Icode DNA芯片,助力产品防伪鉴定
  17. ARKit入门到精通-0.0-史小川-专题视频课程
  18. zemax输出ies_ProSource光源模型分析和转换软件
  19. 一文了解啤酒、葡萄酒、黄酒的种类
  20. 截图工具snipaste安装和使用

热门文章

  1. forward 与 redirect 的区别?有哪些方式实现
  2. 苹果cms小程序服务器要求,苹果cmsV10最新版小程序插件
  3. ProcessStartInfo处理方法
  4. 卷积神经网络( CNN)与全卷积神经网络(FCN)
  5. TOPSIS算法(优劣解距离法)的使用举例与matlab实现
  6. Oracle——获取当前系统时间以及插入日期型数据(to_date的用法)
  7. systeminfo命令
  8. 市场上最受欢迎、消费者最爱吃的石锅鱼
  9. 基于ubuntu 20.04与cri-docker 搭建部署高可用k8s 1.25.3
  10. 【IOS】Object-C 中的Selector 概念