On Tue Dec 10 16:54:00 2024 +0100, Niklas Söderlund wrote:
> The latest datasheet (Rev.0.70) updates the D-PHY start-up sequence for
> D-PHY operation. Unfortunately the datasheet do not add any additional
> documentation on the magic values.
> 
> This have been tested together with the MAX96724 available on the single
> board test platform and it works as expected.
> 
> Signed-off-by: Niklas Söderlund <niklas.soderlund+rene...@ragnatech.se>
> Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+hua...@kernel.org>

Patch committed.

Thanks,
Mauro Carvalho Chehab

 drivers/media/platform/renesas/rcar-csi2.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

---

diff --git a/drivers/media/platform/renesas/rcar-csi2.c 
b/drivers/media/platform/renesas/rcar-csi2.c
index 8a0b6a68e194..0a53dd47d7bf 100644
--- a/drivers/media/platform/renesas/rcar-csi2.c
+++ b/drivers/media/platform/renesas/rcar-csi2.c
@@ -1406,15 +1406,15 @@ static int rcsi2_init_common_v4m(struct rcar_csi2 
*priv, unsigned int mbps)
        static const struct phtw_value step2[] = {
                { .data = 0x00, .code = 0x00 },
                { .data = 0x80, .code = 0xe0 },
-               { .data = 0x01, .code = 0xe1 },
+               { .data = 0x31, .code = 0xe1 },
                { .data = 0x06, .code = 0x00 },
-               { .data = 0x0f, .code = 0x11 },
+               { .data = 0x11, .code = 0x11 },
                { .data = 0x08, .code = 0x00 },
-               { .data = 0x0f, .code = 0x11 },
+               { .data = 0x11, .code = 0x11 },
                { .data = 0x0a, .code = 0x00 },
-               { .data = 0x0f, .code = 0x11 },
+               { .data = 0x11, .code = 0x11 },
                { .data = 0x0c, .code = 0x00 },
-               { .data = 0x0f, .code = 0x11 },
+               { .data = 0x11, .code = 0x11 },
                { .data = 0x01, .code = 0x00 },
                { .data = 0x31, .code = 0xaa },
                { .data = 0x05, .code = 0x00 },
@@ -1427,6 +1427,11 @@ static int rcsi2_init_common_v4m(struct rcar_csi2 *priv, 
unsigned int mbps)
                { .data = 0x05, .code = 0x09 },
        };
 
+       static const struct phtw_value step3[] = {
+               { .data = 0x01, .code = 0x00 },
+               { .data = 0x06, .code = 0xab },
+       };
+
        if (priv->info->hsfreqrange) {
                ret = rcsi2_set_phypll(priv, mbps);
                if (ret)
@@ -1457,7 +1462,7 @@ static int rcsi2_init_common_v4m(struct rcar_csi2 *priv, 
unsigned int mbps)
                        return ret;
        }
 
-       return ret;
+       return rcsi2_phtw_write_array(priv, step3, ARRAY_SIZE(step3));
 }
 
 static int rcsi2_start_receiver_v4m(struct rcar_csi2 *priv,

Reply via email to