mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 11:26:02 +09:00
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:
@@ -1704,6 +1704,12 @@ config VIDEO_RK_IRCUT
|
|||||||
To compile this driver as a module, choose M here: the
|
To compile this driver as a module, choose M here: the
|
||||||
module will be called rk_ircut.
|
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
|
endmenu
|
||||||
|
|
||||||
menu "Sensors used on soc_camera driver"
|
menu "Sensors used on soc_camera driver"
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ obj-$(CONFIG_VIDEO_CS53L32A) += cs53l32a.o
|
|||||||
obj-$(CONFIG_VIDEO_M52790) += m52790.o
|
obj-$(CONFIG_VIDEO_M52790) += m52790.o
|
||||||
obj-$(CONFIG_VIDEO_HALL_DC_MOTOR) += hall-dc-motor.o
|
obj-$(CONFIG_VIDEO_HALL_DC_MOTOR) += hall-dc-motor.o
|
||||||
obj-$(CONFIG_VIDEO_RK_IRCUT) += rk_ircut.o
|
obj-$(CONFIG_VIDEO_RK_IRCUT) += rk_ircut.o
|
||||||
|
obj-$(CONFIG_VIDEO_MP6507) += mp6507.o
|
||||||
obj-$(CONFIG_VIDEO_TLV320AIC23B) += tlv320aic23b.o
|
obj-$(CONFIG_VIDEO_TLV320AIC23B) += tlv320aic23b.o
|
||||||
obj-$(CONFIG_VIDEO_UDA1342) += uda1342.o
|
obj-$(CONFIG_VIDEO_UDA1342) += uda1342.o
|
||||||
obj-$(CONFIG_VIDEO_WM8775) += wm8775.o
|
obj-$(CONFIG_VIDEO_WM8775) += wm8775.o
|
||||||
|
|||||||
1060
drivers/media/i2c/mp6507.c
Normal file
1060
drivers/media/i2c/mp6507.c
Normal file
File diff suppressed because it is too large
Load Diff
@@ -4,6 +4,7 @@
|
|||||||
#ifndef RK_VCM_HEAD_H
|
#ifndef RK_VCM_HEAD_H
|
||||||
#define RK_VCM_HEAD_H
|
#define RK_VCM_HEAD_H
|
||||||
|
|
||||||
|
#define RK_VCM_HEAD_VERSION KERNEL_VERSION(0, 0x01, 0x0)
|
||||||
/*
|
/*
|
||||||
* Focus position values:
|
* Focus position values:
|
||||||
* 65 logical positions ( 0 - 64 )
|
* 65 logical positions ( 0 - 64 )
|
||||||
@@ -25,10 +26,12 @@
|
|||||||
#define RK_VIDIOC_ZOOM_TIMEINFO \
|
#define RK_VIDIOC_ZOOM_TIMEINFO \
|
||||||
_IOR('V', BASE_VIDIOC_PRIVATE + 2, struct rk_cam_vcm_tim)
|
_IOR('V', BASE_VIDIOC_PRIVATE + 2, struct rk_cam_vcm_tim)
|
||||||
|
|
||||||
#define RK_VIDIOC_GET_VCM_CFG \
|
#define RK_VIDIOC_FOCUS_CORRECTION \
|
||||||
_IOR('V', BASE_VIDIOC_PRIVATE + 3, struct rk_cam_vcm_cfg)
|
_IOR('V', BASE_VIDIOC_PRIVATE + 3, unsigned int)
|
||||||
#define RK_VIDIOC_SET_VCM_CFG \
|
#define RK_VIDIOC_IRIS_CORRECTION \
|
||||||
_IOW('V', BASE_VIDIOC_PRIVATE + 4, struct rk_cam_vcm_cfg)
|
_IOR('V', BASE_VIDIOC_PRIVATE + 4, unsigned int)
|
||||||
|
#define RK_VIDIOC_ZOOM_CORRECTION \
|
||||||
|
_IOR('V', BASE_VIDIOC_PRIVATE + 5, unsigned int)
|
||||||
|
|
||||||
#ifdef CONFIG_COMPAT
|
#ifdef CONFIG_COMPAT
|
||||||
#define RK_VIDIOC_COMPAT_VCM_TIMEINFO \
|
#define RK_VIDIOC_COMPAT_VCM_TIMEINFO \
|
||||||
|
|||||||
Reference in New Issue
Block a user