diff options
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.patch | 61 |
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 + |