Skip to contentSkip to conversation

Add support for M-5MOLS 8 Mega Pixel camera

PATCH Superseded Kim, HeungJun 1 participant 1 message Feb 24, 2011 Media (V4L/DVB)

v5 of 9 Superseded Latest is v9 →

lore
Share & tools
lore
#0 lore raw

PATCH v5 1/1 Add support for M-5MOLS 8 Mega Pixel camera

Add I2C/V4L2 subdev driver for M-5MOLS camera sensor with integrated image signal processor.

---

Hello,

This is fifth version of M-5MOLS 8 Mega Pixel camera sensor.
I missed one file at the just previous version fifth patch. I hope the previous one ignored, and I re-send the patch adding the missing file. And this patch would maintain as the same name, version and contents.

Sorry to make coufusing.

The fifth version changes are below:
1. remove dynmic regulator consumer name array
2. rename M5MOLS to M-5MOLS in the comments. M-5MOLS is original name.
3. remove unused type and register address definition
4. fix some typos.

The fourth version changes are below:
1. combine splitted i2c_transfer functions to single I2C operation
2. remove unneeded checking for control values
3. fix some typos and code clean

The third version changes are below:
1. the method to writing register accordint to state value
2. changing mdelay to usleep_range because of not hogging

The second versions changes are below:
1. remove I2C function macro, and use static inline for type-safe.
2. use the v4l2 control framework documented at v4l2-control.txt.
3. Add regulator enable/disable functions
4. fix any coding problems

The first version patch is here:
http://www.spinics.net/lists/linux-media/msg26246.html

This driver is tested on s5pc210 board using s5p-fimc driver.

Thanks for any ideas.

Regards,
Heungjun Kim
Samsung Electronics DMC R&D Center

---
 drivers/media/video/Kconfig                  |    2 +
 drivers/media/video/Makefile                 |    1 +
 drivers/media/video/m5mols/Kconfig           |    6 +
 drivers/media/video/m5mols/Makefile          |    3 +
 drivers/media/video/m5mols/m5mols.h          |  200 ++++++
 drivers/media/video/m5mols/m5mols_controls.c |  163 +++++
 drivers/media/video/m5mols/m5mols_core.c     |  882 ++++++++++++++++++++++++++
 drivers/media/video/m5mols/m5mols_reg.h      |  103 +++
 include/media/m5mols.h                       |   33 +
 9 files changed, 1393 insertions(+), 0 deletions(-)
 create mode 100644 drivers/media/video/m5mols/Kconfig
 create mode 100644 drivers/media/video/m5mols/Makefile
 create mode 100644 drivers/media/video/m5mols/m5mols.h
 create mode 100644 drivers/media/video/m5mols/m5mols_controls.c
 create mode 100644 drivers/media/video/m5mols/m5mols_core.c
 create mode 100644 drivers/media/video/m5mols/m5mols_reg.h
 create mode 100644 include/media/m5mols.h
drivers/media/video/Kconfig +2 -0
index d40a8fc..6a03aad 100644
@@ -746,6 +746,8 @@ config VIDEO_NOON010PC30
 	---help---
 	  This driver supports NOON010PC30 CIF camera from Siliconfile
 
+source "drivers/media/video/m5mols/Kconfig"
+
 config SOC_CAMERA
 	tristate "SoC camera support"
 	depends on VIDEO_V4L2 && HAS_DMA && I2C
drivers/media/video/Makefile +1 -0
index 251b7ca..adb9361 100644
@@ -68,6 +68,7 @@ obj-$(CONFIG_VIDEO_TVEEPROM) += tveeprom.o
 obj-$(CONFIG_VIDEO_MT9V011) += mt9v011.o
 obj-$(CONFIG_VIDEO_SR030PC30)	+= sr030pc30.o
 obj-$(CONFIG_VIDEO_NOON010PC30)	+= noon010pc30.o
+obj-$(CONFIG_VIDEO_M5MOLS)	+= m5mols/
 
 obj-$(CONFIG_SOC_CAMERA_IMX074)		+= imx074.o
 obj-$(CONFIG_SOC_CAMERA_MT9M001)	+= mt9m001.o
drivers/media/video/m5mols/Kconfig new file +6 -0
new file mode 100644
index 0000000..a4ac129
@@ -0,0 +1,6 @@
+config VIDEO_M5MOLS
+	tristate "Fujitsu M-5MOLS 8MP sensor support"
+	depends on I2C && VIDEO_V4L2
+	---help---
+	  This driver supports Fujitsu M-5MOLS camera sensor with ISP
+
drivers/media/video/m5mols/Makefile new file +3 -0
new file mode 100644
index 0000000..b5d19bf
@@ -0,0 +1,3 @@
+m5mols-objs	:= m5mols_core.o m5mols_controls.o
+
+obj-$(CONFIG_VIDEO_M5MOLS)		+= m5mols.o
drivers/media/video/m5mols/m5mols.h new file +200 -0

200 lines not on this page · raw message

drivers/media/video/m5mols/m5mols_controls.c new file +163 -0

163 lines not on this page · raw message

drivers/media/video/m5mols/m5mols_core.c new file +882 -0

882 lines not on this page · raw message

drivers/media/video/m5mols/m5mols_reg.h new file +103 -0

103 lines not on this page · raw message

include/media/m5mols.h new file +33 -0
new file mode 100644
index 0000000..c73af5e
@@ -0,0 +1,33 @@
+/*
+ * Driver for M-5MOLS 8M Pixel camera sensor with ISP
+ *
+ * Copyright (C) 2011 Samsung Electronics Co., Ltd
+ * Author: HeungJun Kim, [email protected]
+ *
+ * Copyright (C) 2009 Samsung Electronics Co., Ltd
+ * Author: Dongsoo Nathaniel Kim, [email protected]
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#ifndef MEDIA_M5MOLS_H
+#define MEDIA_M5MOLS_H
+
+/**
+* struct m5mols_platform_data - platform data for M-5MOLS driver
+* @gpio_rst:	GPIO driving the reset pin of M-5MOLS
+* @enable_rst:	in the negative or positive, which value is enabled the reset
+* @set_power:	an additional callback to a board setup code
+*		to be called after enabling and before disabling
+*		the sensor device supply regulators		
+*/
+struct m5mols_platform_data {
+	int	gpio_rst;
+	bool	enable_rst;
+	int (*set_power)(struct device *dev, int on);
+};
+
+#endif	/* MEDIA_M5MOLS_H */
Signature · 1 line
1.7.0.4