summaryrefslogtreecommitdiffstats
path: root/bsp/meta-rcar/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0180-media-i2c-ov490-add-LI-cameras.patch
diff options
context:
space:
mode:
Diffstat (limited to 'bsp/meta-rcar/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0180-media-i2c-ov490-add-LI-cameras.patch')
-rw-r--r--bsp/meta-rcar/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0180-media-i2c-ov490-add-LI-cameras.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/bsp/meta-rcar/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0180-media-i2c-ov490-add-LI-cameras.patch b/bsp/meta-rcar/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0180-media-i2c-ov490-add-LI-cameras.patch
new file mode 100644
index 00000000..85389113
--- /dev/null
+++ b/bsp/meta-rcar/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0180-media-i2c-ov490-add-LI-cameras.patch
@@ -0,0 +1,61 @@
+From 9611ea32f2db0150cc9d7e69110cb48df05af238 Mon Sep 17 00:00:00 2001
+From: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
+Date: Fri, 28 Jun 2019 00:35:26 +0300
+Subject: [PATCH] media: i2c: ov490: add LI cameras
+
+This adds Leopard Imaging firmware support
+
+Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
+---
+ drivers/media/i2c/soc_camera/ov490_ov10640.c | 3 +++
+ drivers/media/i2c/soc_camera/ov490_ov10640.h | 10 +++++++++-
+ 2 files changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/media/i2c/soc_camera/ov490_ov10640.c b/drivers/media/i2c/soc_camera/ov490_ov10640.c
+index 0ea9a54..0f1a0d4 100644
+--- a/drivers/media/i2c/soc_camera/ov490_ov10640.c
++++ b/drivers/media/i2c/soc_camera/ov490_ov10640.c
+@@ -138,6 +138,9 @@ static int ov490_set_regs(struct i2c_client *client,
+ usleep_range(100, 150); /* wait 100 us */
+ reg16_write(client, regs[i].reg, regs[i].val);
+ }
++
++ if (regs[i].reg == 0xFFFE)
++ usleep_range(100, 150); /* wait 100 us */
+ }
+
+ return 0;
+diff --git a/drivers/media/i2c/soc_camera/ov490_ov10640.h b/drivers/media/i2c/soc_camera/ov490_ov10640.h
+index b22e93e..b00dc3ade 100644
+--- a/drivers/media/i2c/soc_camera/ov490_ov10640.h
++++ b/drivers/media/i2c/soc_camera/ov490_ov10640.h
+@@ -17,6 +17,12 @@ struct ov490_reg {
+ };
+
+ static const struct ov490_reg ov490_regs_wizard[] = {
++/* Firmware start (some firmwares need this to kick processing) */
++{0xfffd, 0x80},
++{0xfffe, 0x19},
++{0x5000, 0x05},
++{0xfffe, 0x80},
++{0x00c0, 0x3f},
+ /* The following registers should match firmware */
+ {0xfffd, 0x80},
+ {0xfffe, 0x82},
+@@ -93,10 +99,12 @@ static const struct ov490_reg ov490_regs_wizard[] = {
+ {0xfffe, 0x80},
+ {0x00c0, 0xdc},
+ #ifdef OV490_DISPLAY_PATTERN
+-{0xfffd, 0x80},
+ {0xfffe, 0x19},
+ {0x5000, 0x02},
+ {0xfffe, 0x80},
+ {0x00c0, 0xd6},
+ #endif
++/* respin register 0x6010 due to added firmware start HOST command */
++{0xfffe, 0x29},
++{0x6010, 0x01},
+ };
+--
+2.7.4
+