大家好,
尽管我们在接下来的线程中讨论了如何获得DP角色分配,但我的客户注意 到DPSourceSink位上存在一个错误。 此位根本不起作用,他们无法 从该位获得DP角色。
请帮助我们澄清 其EC驱动程序的状态寄存器(0x5f)的行为。
要对EC驱动程序进行编码,必须了解"访问计时"和"如何处理寄存器"。
1. 判断DP角色和任务的适当阅读时间
在未连接任何内容的状态中,数据状态寄存器显示0x00。
因此,如果仅从下表判断"任务",则表示DFP_D分配E。
由于EC可能会错误地识别分配, 因此在 读取DPPinAssignment, DPSourceSink和 USB3Connection位之前,必须确认这些位的值是否由Alt模式通信更新。
| DPPinAssignment | USB3Connection | DPSourceSink = 0 | DPSourceSink = 1. |
| 00 | 0 | DP源针脚分配"E" | DP源针脚分配"E" |
| 00 | 1. | DP源引脚分配"F" | 无效 |
| 01. | 0 | DP源针脚分配"C" | DP源针脚分配"C" |
| 01. | 1. | DP源针脚分配"D" | DP源针脚分配"D" |
| 10. | 0 | DP源引脚分配"A" | DP源引脚分配"A" |
| 10. | 1. | DP源针脚分配"B" | DP源针脚分配"B" |
| 11. | 0 | 无效 | 无效 |
| 11. | 1. | 无效 | 无效 |
EC应读取寄存器的哪个时间?
在内部更新此日期状态寄存器(0x5f)的触发器是什么?
如果他们可以使用IRQ事件或数据状态寄存器中的DPconnection位来获取计时,则他们正在漫游。
2.数据状态行为及其参考
以下位引用哪些寄存器值?
‐DPPinAssignment
‐DPSourceSink (存在错误,在FW版本3.10 中此信息从未更新)
‐DPConnection
‐USB3Connection
请详细说明哪个寄存器位由数据状态寄存器的值组成。看起来这些位值是从 0x58 DP SID状态的值创建的,但我不确定。 特别是,我的客户需要解决 DPSourceSink中的错误。
换言之, 在数据状态寄存器(0x5f)中,我们应该引用哪个寄存器来判断DP角色而不是DPSourceSink寄存器?
此致,
Takashi Onawa
此致,
Takashi Onawa