[PATCH] userspace API definitions for auto-focus coil
Ivaylo Dimitrov
ivo.g.dimitrov.75 at gmail.com
Sun Jun 5 23:06:29 PDT 2016
Hi,
On 5.06.2016 22:07, Pavel Machek wrote:
> Add userspace API definitions.
>
> Signed-off-by: Pavel Machek <pavel at ucw.cz>
>
> diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h
> index b6a357a..23011cc 100644
> --- a/include/uapi/linux/v4l2-controls.h
> +++ b/include/uapi/linux/v4l2-controls.h
> @@ -974,4 +975,9 @@ enum v4l2_detect_md_mode {
> #define V4L2_CID_DETECT_MD_THRESHOLD_GRID (V4L2_CID_DETECT_CLASS_BASE + 3)
> #define V4L2_CID_DETECT_MD_REGION_GRID (V4L2_CID_DETECT_CLASS_BASE + 4)
>
> +/* Control IDs specific to the AD5820 driver as defined by V4L2 */
> +#define V4L2_CID_FOCUS_AD5820_BASE (V4L2_CTRL_CLASS_CAMERA | 0x10af)
> +#define V4L2_CID_FOCUS_AD5820_RAMP_TIME (V4L2_CID_FOCUS_AD5820_BASE+0)
> +#define V4L2_CID_FOCUS_AD5820_RAMP_MODE (V4L2_CID_FOCUS_AD5820_BASE+1)
> +
> #endif
>
Sakari, what about adding those as standard camera controls? It seems
ad5820 is not the only VCM driver to implement "antiringing" controls,
http://rohmfs.rohm.com/en/products/databook/datasheet/ic/motor/mobile_module/bu64241gwz-e.pdf
is another example I found by quick search.
What about:
#define V4L2_CID_FOCUS_STEP_MODE xxx
enum v4l2_cid_focus_step_mode {
V4L2_CID_FOCUS_STEP_MODE_DIRECT,
V4L2_CID_FOCUS_STEP_MODE_LINEAR,
V4L2_CID_FOCUS_STEP_MODE_AUTO
};
#define V4L2_CID_FOCUS_STEP_TIME xxx+1
Also, how the userspace(or the kernel) is notified by v4l that there is
an event? The point is - I think it is a good idea to notify when VCM
has completed its movement, we can start a timer based on the current
position, mode, step time etc and notify after the pre-calculated
movement time.
Here ftp://ftp.analog.com/pub/evalcd/AD5820_v1_0/AD5820_Quickstart.pdf
can be found the modes/timings description for ad5820 along with the
equations needed to calculate timings etc.
Ivo
More information about the linux-arm-kernel
mailing list