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 * @brightness: brightness register value
54 * @exposure_bias: it calls also EV bias
55 * @iso_speed: ISO register value
56 * @flash: status register value of the flash
57 * @sdr: status register value of the Subject Distance Range
73 * struct m5mols_capture - Structure for the capture capability
89 * struct m5mols_scenemode - structure for the scenemode capability
90 * @metering: metering light register value
91 * @ev_bias: EV bias register value
93 * @wb_preset: whitebalance preset register value in the Manual mode
94 * @chroma_en: register value whether the Chroma capability is enabled or not
95 * @chroma_lvl: chroma's level register value
96 * @edge_en: register value Whether the Edge capability is enabled or not
97 * @edge_lvl: edge's level register value
100 * @mcc: Multi-axis Color Conversion which means emotion color
104 * @iso: ISO register value
106 * @wdr: Wide Dynamic Range register value
108 * The each value according to each scenemode is recommended in the documents.
133 * struct m5mols_version - firmware version information
162 * struct m5mols_info - M-5MOLS driver data structure
164 * @sd: v4l-subdev instance
192 * @resolution: register value for current resolution
193 * @mode: register value for current operation mode
205 /* exposure/exposure bias/auto exposure cluster */
244 #define is_available_af(__info) (__info->ver.af)
247 (__info->ver.str[0] == __manufacturer[0] && \
248 __info->ver.str[1] == __manufacturer[1])
250 * I2C operation of the M-5MOLS
252 * The I2C read operation of the M-5MOLS requires 2 messages. The first
258 * +-------+---+----------+-----+-------+ +------+------+------+------+
260 * +-------+---+----------+-----+-------+ +------+------+------+------+
261 * - size1: message data size(5 in this case)
262 * - size2: desired buffer size of the 2nd message
263 * - d[0..3]: according to size2
269 * +-------+---+----------+-----+------+------+------+------+
271 * +-------+---+----------+-----+------+------+------+------+
272 * - d[0..3]: according to size1
279 int m5mols_busy_wait(struct v4l2_subdev *sd, u32 reg, u32 value, u32 mask,
282 /* Mask value for busy waiting until M-5MOLS I2C interface is initialized */
289 * Mode operation of the M-5MOLS
291 * Changing the mode of the M-5MOLS is needed right executing order.
298 * | FLASH | FLASH(only after Stand-by or Power-on) |
299 * | SYSTEM | SYSTEM(only after sensor arm-booting) |
306 * PARAMETER <---> MONITOR <---> CAPTURE
316 int m5mols_set_ctrl(struct v4l2_ctrl *ctrl);
328 static inline struct v4l2_subdev *to_sd(struct v4l2_ctrl *ctrl) in to_sd() argument
330 struct m5mols_info *info = container_of(ctrl->handler, in to_sd()
332 return &info->sd; in to_sd()
335 static inline void m5mols_set_ctrl_mode(struct v4l2_ctrl *ctrl, in m5mols_set_ctrl_mode() argument
338 ctrl->priv = (void *)(uintptr_t)mode; in m5mols_set_ctrl_mode()
341 static inline unsigned int m5mols_get_ctrl_mode(struct v4l2_ctrl *ctrl) in m5mols_get_ctrl_mode() argument
343 return (unsigned int)(uintptr_t)ctrl->priv; in m5mols_get_ctrl_mode()