From 6418ad4ac156ceea50fb3fc3cb82b634f1dd8848 Mon Sep 17 00:00:00 2001 From: Frank Chen Date: Wed, 2 Oct 2013 19:10:01 -0700 Subject: media: platform: tegra: update ov5693 driver. Update the ov5693 driver to reflect changes made during tegranote development on serperate branch. Fixing the following issues: - Sluggish preview - Pink preview in video mode Bug 1373309 Bug 1367317 Change-Id: Ic0de85a6b783678cebfc328e38cf84c30e6bf316 Signed-off-by: Frank Chen Signed-off-by: David Wang Reviewed-on: http://git-master/r/298692 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani --- include/media/ov5693.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'include/media') diff --git a/include/media/ov5693.h b/include/media/ov5693.h index ea4f062c866f..23299562cf50 100644 --- a/include/media/ov5693.h +++ b/include/media/ov5693.h @@ -34,6 +34,13 @@ #define OV5693_IOCTL_SET_CAMERA_MODE _IOW('o', 10, __u32) #define OV5693_IOCTL_SYNC_SENSORS _IOW('o', 11, __u32) #define OV5693_IOCTL_GET_FUSEID _IOR('o', 12, struct nvc_fuseid) +#define OV5693_IOCTL_SET_HDR_COARSE_TIME _IOW('o', 13, struct ov5693_hdr) +#define OV5693_IOCTL_READ_OTP_BANK _IOWR('o', 14, \ + struct ov5693_otp_bank) +#define OV5693_IOCTL_SET_CAL_DATA _IOW('o', 15, \ + struct ov5693_cal_data) + +#define OV5693_INVALID_COARSE_TIME -1 struct ov5693_mode { @@ -42,18 +49,45 @@ struct ov5693_mode { int fps; __u32 frame_length; __u32 coarse_time; + __u32 coarse_time_short; __u16 gain; + __u8 hdr_en; }; struct ov5693_ae { __u32 frame_length; __u8 frame_length_enable; __u32 coarse_time; + __u32 coarse_time_short; __u8 coarse_time_enable; __s32 gain; __u8 gain_enable; }; +struct ov5693_fuseid { + __u32 size; + __u8 id[16]; +}; + +struct ov5693_hdr { + __u32 coarse_time_long; + __u32 coarse_time_short; +}; + +struct ov5693_otp_bank { + __u32 id; + __u8 buf[16]; +}; + +struct ov5693_cal_data { + int loaded; + int rg_ratio; + int bg_ratio; + int rg_ratio_typical; + int bg_ratio_typical; + __u8 lenc[62]; +}; + /* See notes in the nvc.h file on the GPIO usage */ enum ov5693_gpio_type { OV5693_GPIO_TYPE_PWRDN = 0, -- cgit v1.2.3