Lines Matching +full:bias +full:- +full:ctrl +full:- +full:value

1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * Header for M-5MOLS 8M Pixel camera sensor with ISP
16 #include <media/v4l2-subdev.h>
20 /* An amount of data transmitted in addition to the value
35 * struct m5mols_resolution - structure for the resolution
39 * @reg: resolution preset register value
49 * struct m5mols_exif - structure for the EXIF information of M-5MOLS
50 * @exposure_time: exposure time register value
51 * @shutter_speed: speed of the shutter register value
52 * @aperture: aperture register value
53 * @exposure_bias: it calls also EV bias
54 * @iso_speed: ISO register value
55 * @flash: status register value of the flash
56 * @sdr: status register value of the Subject Distance Range
72 * struct m5mols_capture - Structure for the capture capability
88 * struct m5mols_scenemode - structure for the scenemode capability
89 * @metering: metering light register value
90 * @ev_bias: EV bias register value
92 * @wb_preset: whitebalance preset register value in the Manual mode
93 * @chroma_en: register value whether the Chroma capability is enabled or not
94 * @chroma_lvl: chroma's level register value
95 * @edge_en: register value Whether the Edge capability is enabled or not
96 * @edge_lvl: edge's level register value
99 * @mcc: Multi-axis Color Conversion which means emotion color
103 * @iso: ISO register value
105 * @wdr: Wide Dynamic Range register value
107 * The each value according to each scenemode is recommended in the documents.
130 * struct m5mols_version - firmware version information
160 * struct m5mols_info - M-5MOLS driver data structure
162 * @sd: v4l-subdev instance
190 * @resolution: register value for current resolution
191 * @mode: register value for current operation mode
203 /* exposure/exposure bias/auto exposure cluster */
242 #define is_available_af(__info) (__info->ver.af)
245 (__info->ver.str[0] == __manufacturer[0] && \
246 __info->ver.str[1] == __manufacturer[1])
248 * I2C operation of the M-5MOLS
250 * The I2C read operation of the M-5MOLS requires 2 messages. The first
256 * +-------+---+----------+-----+-------+ +------+------+------+------+
258 * +-------+---+----------+-----+-------+ +------+------+------+------+
259 * - size1: message data size(5 in this case)
260 * - size2: desired buffer size of the 2nd message
261 * - d[0..3]: according to size2
267 * +-------+---+----------+-----+------+------+------+------+
269 * +-------+---+----------+-----+------+------+------+------+
270 * - d[0..3]: according to size1
277 int m5mols_busy_wait(struct v4l2_subdev *sd, u32 reg, u32 value, u32 mask,
280 /* Mask value for busy waiting until M-5MOLS I2C interface is initialized */
287 * Mode operation of the M-5MOLS
289 * Changing the mode of the M-5MOLS is needed right executing order.
296 * | FLASH | FLASH(only after Stand-by or Power-on) |
297 * | SYSTEM | SYSTEM(only after sensor arm-booting) |
304 * PARAMETER <---> MONITOR <---> CAPTURE
314 int m5mols_set_ctrl(struct v4l2_ctrl *ctrl);
326 static inline struct v4l2_subdev *to_sd(struct v4l2_ctrl *ctrl) in to_sd() argument
328 struct m5mols_info *info = container_of(ctrl->handler, in to_sd()
330 return &info->sd; in to_sd()
333 static inline void m5mols_set_ctrl_mode(struct v4l2_ctrl *ctrl, in m5mols_set_ctrl_mode() argument
336 ctrl->priv = (void *)(uintptr_t)mode; in m5mols_set_ctrl_mode()
339 static inline unsigned int m5mols_get_ctrl_mode(struct v4l2_ctrl *ctrl) in m5mols_get_ctrl_mode() argument
341 return (unsigned int)(uintptr_t)ctrl->priv; in m5mols_get_ctrl_mode()