2010년 5월 31일 월요일

Insert and modify ov3640.c, Kconfig and Makefile under kernel/drivers/media/video/ of omap's linux

I want to use ov3640 camera module in devkit8000 operated by android (0xdroid of 0xlab) powered by linux 2.6.29-omap1, but there is not ov3640 device driver. In googling, I found that in rowboat's kernel; it is google's another distribution based on beagleboard of omap3. Therefore, it need some changes.

1. copy ov3640.c and ov3640.h to drivers/media/video

2. Edit Kconfig under drivers/media/video
...
config VIDEO_LV8093
tristate "Piezo Actuator Lens driver for LV8093"
depends on I2C && VIDEO_V4L2
---help---
This is a Video4Linux2 lens driver for the Sanyo LV8093.
It is currently working with the TI OMAP3 camera controller
and Sony IMX046 sensor.

config VIDEO_SAA7110
tristate "Philips SAA7110 video decoder"
depends on VIDEO_V4L1 && I2C
---help---
Support for the Philips SAA7110 video decoders.
...

to

...
config VIDEO_LV8093
tristate "Piezo Actuator Lens driver for LV8093"
depends on I2C && VIDEO_V4L2
---help---
This is a Video4Linux2 lens driver for the Sanyo LV8093.
It is currently working with the TI OMAP3 camera controller
and Sony IMX046 sensor.

config VIDEO_OV3640
tristate "OmniVision ov3640 smart sensor driver (3MP)"
depends on I2C && VIDEO_V4L2
---help---
This is a Video4Linux2 sensor-level driver for the OmniVision
OV3640 camera. It is currently working with the TI OMAP3
camera controller.

config VIDEO_OV3640_CSI2
bool "CSI2 bus support for OmniVision ov3640 sensor"
depends on I2C && VIDEO_V4L2 && VIDEO_OV3640
---help---
This enables the use of the CSI2 serial bus for the ov3640
camera.

config VIDEO_SAA7110
tristate "Philips SAA7110 video decoder"
depends on VIDEO_V4L1 && I2C
---help---
Support for the Philips SAA7110 video decoders.

To compile this driver as a module, choose M here: the
module will be called saa7110.
...

3. Edit Makefile under drivers/media/video/

...
obj-$(CONFIG_VIDEO_CAFE_CCIC) += cafe_ccic.o
obj-$(CONFIG_VIDEO_OV7670) += ov7670.o

obj-y += isp/
...

to

...
obj-$(CONFIG_VIDEO_CAFE_CCIC) += cafe_ccic.o
obj-$(CONFIG_VIDEO_OV7670) += ov7670.o

obj-$(CONFIG_VIDEO_OV3640) += ov3640.o

obj-y += isp/
...

4. Configure linux kernel

* make ARCH=arm devkit8000_defconfig

* make menuconfig
Device Drivers ---> Multimedia Devices ---> [*] Video Capture adaptors ---> [ ] Autoselect pertinent encoders/decoders and other helper chips , Encoders / Decoders and other helper chips ---> [*] Omnivision ov3640 smart sensor driver (3MP) (NEW), ... , Save an Alternate Configuration file, ..., devkit8k_ov3640_defconfig

* make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- uImage

댓글 없음:

댓글 쓰기