Re: [PATCH] userspace API definitions for auto-focus coil
From: Ivaylo Dimitrov <hidden>
Date: 2016-06-06 06:06:42
Also in:
linux-arm-kernel, linux-media, linux-omap, lkml
Hi, On 5.06.2016 22:07, Pavel Machek wrote:
quoted hunk ↗ jump to hunk
Add userspace API definitions. Signed-off-by: Pavel Machek <redacted>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