summaryrefslogtreecommitdiff
path: root/include/media
diff options
context:
space:
mode:
authorMing Wong <miwong@nvidia.com>2013-12-08 18:45:40 -0800
committerSachin Nikam <snikam@nvidia.com>2013-12-20 06:04:26 -0800
commit35f17ec4807a39b3cbbfc2d214c64c01a0face2b (patch)
tree62de4c0942b85247c841145abbec9b270e54ba53 /include/media
parent92a4cd23c368b8f6dfab6a0419c4e3f25d75eed2 (diff)
media: add imx179 driver support
Bug 1415077 Change-Id: I34f8969a726e9c069fbf239352c952a8e68fb2ff Signed-off-by: Ming Wong <miwong@nvidia.com> Reviewed-on: http://git-master/r/347764 Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Diffstat (limited to 'include/media')
-rw-r--r--include/media/imx179.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/include/media/imx179.h b/include/media/imx179.h
new file mode 100644
index 000000000000..b152f038c344
--- /dev/null
+++ b/include/media/imx179.h
@@ -0,0 +1,60 @@
+/*
+* imx179.h
+*
+* Copyright (c) 2013, NVIDIA CORPORATION, All rights reserved.
+*
+* This file is licensed under the terms of the GNU General Public License
+* version 2. This program is licensed "as is" without any warranty of any
+* kind, whether express or implied.
+*/
+
+#ifndef __IMX179_H__
+#define __IMX179_H__
+
+#include <media/nvc.h>
+#include <media/nvc_image.h>
+
+/* See notes in the nvc.h file on the GPIO usage */
+enum imx179_gpio {
+ IMX179_GPIO_RESET = 0,
+ IMX179_GPIO_PWDN,
+ IMX179_GPIO_GP1,
+};
+
+/* The enumeration must be in the order the regulators are to be enabled */
+/* See Power Requirements note in the driver */
+enum imx179_vreg {
+ IMX179_VREG_DVDD = 0,
+ IMX179_VREG_AVDD,
+ IMX179_VREG_IOVDD,
+};
+
+struct imx179_flash_config {
+ u8 xvs_trigger_enabled;
+ u8 sdo_trigger_enabled;
+ u8 adjustable_flash_timing;
+ u16 pulse_width_uS;
+};
+
+struct imx179_platform_data {
+ unsigned cfg;
+ unsigned num;
+ unsigned sync;
+ const char *dev_name;
+ unsigned gpio_count; /* see nvc.h GPIO notes */
+ struct nvc_gpio_pdata *gpio; /* see nvc.h GPIO notes */
+ struct imx179_flash_config flash_cap;
+ struct nvc_imager_cap *cap;
+ unsigned lens_focal_length; /* / _INT2FLOAT_DIVISOR */
+ unsigned lens_max_aperture; /* / _INT2FLOAT_DIVISOR */
+ unsigned lens_fnumber; /* / _INT2FLOAT_DIVISOR */
+ unsigned lens_view_angle_h; /* / _INT2FLOAT_DIVISOR */
+ unsigned lens_view_angle_v; /* / _INT2FLOAT_DIVISOR */
+ struct edp_client edpc_config;
+ const char *mclk_name; /* NULL for default default_mclk */
+ int (*probe_clock)(unsigned long);
+ int (*power_on)(struct nvc_regulator *);
+ int (*power_off)(struct nvc_regulator *);
+};
+
+#endif /* __IMX179_H__ */