Hi Team,
Although we discussed how to get DP role assignment before in following thread, my customer noticed that there is a bug on DPSourceSink bit. This bit doesn't work at all and they can not get DP role from this bit.
Please help us to clarify behavior of Status Register(0x5f) for their EC driver.
For coding EC Driver, It is necessary to understand "access timing" and "how to handle register".
1. Appropriate Read timing to judge DP role and assignment
In the state where nothing is connected, Data status register shows 0x00.
So When just by judging Assignment from the table below, it means DFP_D AssignmentE.
Since there is a possibility that the EC wrongly recognizes the assignment, it is necessary to confirm if the value of these bits are updated by Alt mode communication or not, prior to read DPPinAssignment, DPSourceSink and USB3Connection bits.
DPPinAssignment | USB3Connection | DPSourceSink = 0 | DPSourceSink = 1 |
00 | 0 | DP Source Pin Assignment "E" | DP Source Pin Assignment "E" |
00 | 1 | DP Source Pin Assignment "F" | INVALID |
01 | 0 | DP Source Pin Assignment "C" | DP Source Pin Assignment "C" |
01 | 1 | DP Source Pin Assignment "D" | DP Source Pin Assignment "D" |
10 | 0 | DP Source Pin Assignment "A" | DP Source Pin Assignment "A" |
10 | 1 | DP Source Pin Assignment "B" | DP Source Pin Assignment "B" |
11 | 0 | INVALID | INVALID |
11 | 1 | INVALID | INVALID |
Which timing should EC read read register?
And What is the trigger for updating this Date status register(0x5f) internally?
They are wandering if they can use IRQ event or DPconnection bit in the Data status register to get the timing.
2. Data status behavior and its reference
Which register values do the following bits refer to?
‐ DPPinAssignment
‐ DPSourceSink (Bug exist, this information is never updated at FW Version 3.10)
‐ DPConnection
‐ USB3Connection
Please tell me in detail which bit of which register consists the values of Data Status register. it looks that these bit values are created from 0x58 DP SID Status's value but I’m not sure. Especially, my customer is requiring workaround for a bug in DPSourceSink.
In other words, which register should we refer to judge DP role instead of DPSourceSink register in Data status register(0x5f)?
Regards,
Takashi Onawa
Regards,
Takashi Onawa