media: add motor driver of MP6507 for camera IRIS/FOCUS/ZOOM

Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I03e354473ca5fcbd972adb1f46019f01488872cb
This commit is contained in:
Zefa Chen
2020-08-27 19:19:03 +08:00
committed by Tao Huang
parent 239fd26d32
commit a3907e42d2
4 changed files with 1074 additions and 4 deletions

View File

@@ -1704,6 +1704,12 @@ config VIDEO_RK_IRCUT
To compile this driver as a module, choose M here: the
module will be called rk_ircut.
config VIDEO_MP6507
tristate "MP6507 motor driver for camera iris/focus/zoom"
depends on PWM
help
This a driver used pwm to drive motor
endmenu
menu "Sensors used on soc_camera driver"

View File

@@ -62,6 +62,7 @@ obj-$(CONFIG_VIDEO_CS53L32A) += cs53l32a.o
obj-$(CONFIG_VIDEO_M52790) += m52790.o
obj-$(CONFIG_VIDEO_HALL_DC_MOTOR) += hall-dc-motor.o
obj-$(CONFIG_VIDEO_RK_IRCUT) += rk_ircut.o
obj-$(CONFIG_VIDEO_MP6507) += mp6507.o
obj-$(CONFIG_VIDEO_TLV320AIC23B) += tlv320aic23b.o
obj-$(CONFIG_VIDEO_UDA1342) += uda1342.o
obj-$(CONFIG_VIDEO_WM8775) += wm8775.o

1060
drivers/media/i2c/mp6507.c Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -4,6 +4,7 @@
#ifndef RK_VCM_HEAD_H
#define RK_VCM_HEAD_H
#define RK_VCM_HEAD_VERSION KERNEL_VERSION(0, 0x01, 0x0)
/*
* Focus position values:
* 65 logical positions ( 0 - 64 )
@@ -25,10 +26,12 @@
#define RK_VIDIOC_ZOOM_TIMEINFO \
_IOR('V', BASE_VIDIOC_PRIVATE + 2, struct rk_cam_vcm_tim)
#define RK_VIDIOC_GET_VCM_CFG \
_IOR('V', BASE_VIDIOC_PRIVATE + 3, struct rk_cam_vcm_cfg)
#define RK_VIDIOC_SET_VCM_CFG \
_IOW('V', BASE_VIDIOC_PRIVATE + 4, struct rk_cam_vcm_cfg)
#define RK_VIDIOC_FOCUS_CORRECTION \
_IOR('V', BASE_VIDIOC_PRIVATE + 3, unsigned int)
#define RK_VIDIOC_IRIS_CORRECTION \
_IOR('V', BASE_VIDIOC_PRIVATE + 4, unsigned int)
#define RK_VIDIOC_ZOOM_CORRECTION \
_IOR('V', BASE_VIDIOC_PRIVATE + 5, unsigned int)
#ifdef CONFIG_COMPAT
#define RK_VIDIOC_COMPAT_VCM_TIMEINFO \