Re: [PATCH 2/3] media: i2c: ds90ub960: Add DS90UB954 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 11/09/2024 09:15, Alexander Shiyan wrote:
Hello.

вт, 10 сент. 2024 г. в 11:40, Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>:
On 30/08/2024 10:00, Alexander Shiyan wrote:
Add support for TI DS90UB954 FPD-Link III Deserializer.
...
@@ -1419,7 +1427,7 @@ static void ub960_rxport_config_eq(struct ub960_data *priv, unsigned int nport)

       if (priv->strobe.manual)
               ub960_rxport_set_strobe_pos(priv, nport, rxport->eq.strobe_pos);
-     else
+     else if (priv->hw_data->chip_type != UB954)
               ub960_rxport_set_strobe_pos(priv, nport, 0);

This looks odd. Manually set strobe pos is ok, but not the default?
What is the reason for this if?

In fact, these registers are described as reserved in the datasheet.

Yes, but my point was that in your patch you disable the call to ub960_rxport_set_strobe_pos() if manual strobe is not set, but still allow it if manual strobe is set.

(We are speaking about indirect page 1).
Here is an excerpt from datasheet UB960:
Indirect Access Register Select:
Selects target for register access
0000: Pattern Generator and CSI-2 Timing (PATGEN_AND_CSI-2) Registers
xxxx: RESERVED

In UB954 datasheet this area is described as "FPD-Link III Channel 0
Reserved Registers: Test and Debug registers".

They're marked reserved in the UB960 datasheet too.

I tested the UB954 and when writing to this area an error occurs and
the chip no longer responds.
When disabling ub960_rxport_set_strobe_pos() everything works as expected.

"Margin Analysis Program (MAP) and strobe positions for DS90UB954-Q1 and DS90UB960-Q1" describes the registers:

https://www.ti.com/lit/pdf/snla301

It's been a while since I worked on this, but I remember having some trouble fitting the docs to what actually worked. And there was some small diff between UB954 and UB960, if I'm not mistaken.

You might be able to sort it out with the doc above, but if not or if you're not interested, I'm fine with marking the relevant code for UB960 only. But be careful to disable the code in all the code paths.

 Tomi





[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux