diff options
author | Ming Wong <miwong@nvidia.com> | 2013-12-08 18:45:40 -0800 |
---|---|---|
committer | Sachin Nikam <snikam@nvidia.com> | 2013-12-20 06:04:26 -0800 |
commit | 35f17ec4807a39b3cbbfc2d214c64c01a0face2b (patch) | |
tree | 62de4c0942b85247c841145abbec9b270e54ba53 /include/media | |
parent | 92a4cd23c368b8f6dfab6a0419c4e3f25d75eed2 (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.h | 60 |
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__ */ |