nvcsi controller -- THS_SETTLE value and its conditions does not meet

Hi All,

In TRM, page no: 2934, it is mentioned as

THS_SETTLE: Settle time for data lane when moving from LP to HS (LP11->LP01->LP00), this setting determines how
many LP clock cycles (204 MHz lp clock cycles) to wait, after LP00, before starting to look at the data. 85ns + 6 * UI < (Ths-
settle-programmed + 6) * lp clock periods < 145ns + 10 * UI

Our data rate is 1 Gbps, so Mipi Clock is 500 MHz. Our Mipi CSI-2 Tx device requires HS_SETTLE value is 145ns.

As per the register NVCSI_PHY_0_NVCSI_CIL_A_CONTROL_0, the LP clock freq: 204MHz, so the time = 4.9ns.

Register value: THS_SETTLE = Mipi CSI-2 Tx HS-SETTLE / 4.9ns
= 145ns / 4.9ns
= 29.5918
= 30

As per TRM,
85ns + 6 * UI < (Ths-settle-programmed + 6) * lp clock periods < 145ns + 10 * UI
85ns + 6 * 2ns < (30 + 6) * 4.9ns < 145ns + 10 * 2ns
97ns < 176.4 ns < 165ns

The computed value does not meet the condition in registers. How to proceed further??
Any suggestions?

-Thanks.

That’s means the output timing not as MIPI spec. Most of the sensor can config this, it is better to have vendor’s help.

Hi ShaneCCC,

Thanks for the reply.

In comment 1, please review the min and max values, i.e. review the computations and provide
your inputs. Need to confirm the computations.

-Thanks.

The UI should be 1ns and the range of “(Ths-settle-programmed + 6)* csicil_clk_period” is 91ns - 155ns
Then the ths_settle can be 123/4.9 -6 = 19

91ns < (Ths-settle-programmed + 6) * csicil_clk_period < 155ns

Hi ShaneCCC,

Thanks for the reply.

Tx Settle time is: 145ns.
Then ths_settle is 145ns/4.9ns = 30
or
ths_settle is (145ns/4.9ns) -6 = 24

Which value is proper? Why we need to subtract by 6?
In register descriptions, they did not mention about the subtraction.

Here, UI = 1ns, then
91ns < (Ths-settle-programmed + 6) * csicil_clk_period < 155ns

If Ths-settle-programmed is 30, then the condition does not meet as:
91ns < (30 + 6 ) * 4.9ns < 155ns
91ns < 176.4ns < 155ns

Please provide your inputs.

-Thanks.

Should use the intermediate value between 91 and 155.

123 = (ths_settle + 6)* 4.9
ths_settle = (123/4.9) -6