summaryrefslogtreecommitdiff
path: root/include/media
diff options
context:
space:
mode:
authorHu He <hhe@nvidia.com>2013-12-13 10:33:55 -0800
committerSachin Nikam <snikam@nvidia.com>2014-04-09 04:58:01 -0700
commit78073698a4ee5cac1f4c3ce40677508b792b09d2 (patch)
tree1e82f9277e336c138c1c65caabcc382c59d54a56 /include/media
parentb6353dd3a50139dab7c96ca377774836738b1e2a (diff)
media: platform: tegra: IMX135: eeprom read
Read imx135 EEPROM and return it as factory data. Tested with an imx135 camera module with EEPROM burnt with factory data. Bug 1163086 Change-Id: I2f8eeb36d4bb1bad505b8505d074391bff87b4aa Signed-off-by: Hu He <hhe@nvidia.com> Reviewed-on: http://git-master/r/367987 Reviewed-by: Sachin Nikam <snikam@nvidia.com> Tested-by: Sachin Nikam <snikam@nvidia.com>
Diffstat (limited to 'include/media')
-rw-r--r--include/media/imx135.h12
-rw-r--r--include/media/nvc.h2
2 files changed, 14 insertions, 0 deletions
diff --git a/include/media/imx135.h b/include/media/imx135.h
index 81882b1741be..d472df82209e 100644
--- a/include/media/imx135.h
+++ b/include/media/imx135.h
@@ -34,6 +34,12 @@
#define IMX135_IOCTL_SET_FLASH_MODE _IOW('o', 31, \
struct imx135_flash_control)
+#define IMX135_EEPROM_ADDRESS 0x50
+#define IMX135_EEPROM_SIZE 1024
+#define IMX135_EEPROM_BLOCK_SIZE (1 << 8)
+#define IMX135_EEPROM_NUM_BLOCKS \
+ (IMX135_EEPROM_SIZE / IMX135_EEPROM_BLOCK_SIZE)
+
struct imx135_mode {
__u32 xres;
__u32 yres;
@@ -72,6 +78,12 @@ struct imx135_flash_control {
u16 delay_frm;
};
+struct imx135_eeprom_data {
+ struct i2c_client *i2c_client;
+ struct i2c_adapter *adap;
+ struct i2c_board_info brd;
+ struct regmap *regmap;
+};
#ifdef __KERNEL__
struct imx135_power_rail {
diff --git a/include/media/nvc.h b/include/media/nvc.h
index 6a20f5bf45cc..eed0d7dd453c 100644
--- a/include/media/nvc.h
+++ b/include/media/nvc.h
@@ -172,6 +172,8 @@ enum nvc_params_isp {
#define NVC_IOCTL_PARAM_ISP_RD _IOWR('o', 200, struct nvc_param_isp)
#define NVC_IOCTL_PARAM_ISP_WR _IOWR('o', 201, struct nvc_param_isp)
#define NVC_IOCTL_FUSE_ID _IOWR('o', 202, struct nvc_fuseid)
+#define NVC_IOCTL_SET_EEPROM_DATA _IOWR('o', 254, __u8 *)
+#define NVC_IOCTL_GET_EEPROM_DATA _IOWR('o', 255, __u8 *)
/* Expected higher level power calls are:
* 1 = OFF