Hi Niklas,
On 18/02/2019 10:03, Niklas Söderlund wrote:
> Latest datasheet (rev 1.50) clarifies that the FLD register should be
> set after LINKCNT.
>
> Signed-off-by: Niklas Söderlund <[email protected]>
> ---
> drivers/media/platform/rcar-vin/rcar-csi2.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/rcar-vin/rcar-csi2.c
> b/drivers/media/platform/rcar-vin/rcar-csi2.c
> index 50486301c21b4bae..f90b380478775015 100644
> --- a/drivers/media/platform/rcar-vin/rcar-csi2.c
> +++ b/drivers/media/platform/rcar-vin/rcar-csi2.c
> @@ -545,7 +545,6 @@ static int rcsi2_start_receiver(struct rcar_csi2 *priv)
> rcsi2_write(priv, PHTC_REG, 0);
>
> /* Configure */
> - rcsi2_write(priv, FLD_REG, fld);
> rcsi2_write(priv, VCDT_REG, vcdt);
> if (vcdt2)
> rcsi2_write(priv, VCDT2_REG, vcdt2);
> @@ -576,6 +575,7 @@ static int rcsi2_start_receiver(struct rcar_csi2 *priv)
Hrm ... I'm on linux-media/master and I don't see a function named
rcsi2_start_receiver.
What base am I missing? I presume there are rework patches here in flight.
> rcsi2_write(priv, PHYCNT_REG, phycnt);
> rcsi2_write(priv, LINKCNT_REG, LINKCNT_MONITOR_EN |
> LINKCNT_REG_MONI_PACT_EN | LINKCNT_ICLK_NONSTOP);
> + rcsi2_write(priv, FLD_REG, fld);
However, I can see that this matches the flow chart in figures
25.{17,18,19,20}
So
Reviewed-by: Kieran Bingham <[email protected]>
> rcsi2_write(priv, PHYCNT_REG, phycnt | PHYCNT_SHUTDOWNZ);
> rcsi2_write(priv, PHYCNT_REG, phycnt | PHYCNT_SHUTDOWNZ | PHYCNT_RSTZ);
>
>
--
Regards
--
Kieran