Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8f37cf25 authored by Guennadi Liakhovetski's avatar Guennadi Liakhovetski Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (13130): soc-camera: add a new driver for the RJ54N1CB0C camera sensor from Sharp



This adds an soc-camera / v4l2-subdev driver for the RJ54N1CB0C CMOS camera
sensor from Sharp. The sensor is very picky about initialisation and
configuration sequences. The driver limits artificially maximum window size by
800x600, although the sensor supports 1600x1200. Sizes above 800x600 don't seem
to work correctly, besides, examples from the system integrator use sizes above
640x480 only for still photography. Unfortunately, I had to use "magic"
register-value pairs for undocumented and "reserved" registers. This version of
the driver also omits some functionality, like cropping, which hasn't been
sufficiently tested yet and will be added later.

 create mode 100644 drivers/media/video/rj54n1cb0c.c

Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 5cf93f1d
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -847,6 +847,12 @@ config SOC_CAMERA_MT9V022
	help
	  This driver supports MT9V022 cameras from Micron

config SOC_CAMERA_RJ54N1
	tristate "rj54n1cb0c support"
	depends on SOC_CAMERA && I2C
	help
	  This is a rj54n1cb0c video driver

config SOC_CAMERA_TW9910
	tristate "tw9910 support"
	depends on SOC_CAMERA && I2C
+1 −0
Original line number Diff line number Diff line
@@ -78,6 +78,7 @@ obj-$(CONFIG_SOC_CAMERA_MT9T031) += mt9t031.o
obj-$(CONFIG_SOC_CAMERA_MT9V022)	+= mt9v022.o
obj-$(CONFIG_SOC_CAMERA_OV772X)		+= ov772x.o
obj-$(CONFIG_SOC_CAMERA_OV9640)		+= ov9640.o
obj-$(CONFIG_SOC_CAMERA_RJ54N1)		+= rj54n1cb0c.o
obj-$(CONFIG_SOC_CAMERA_TW9910)		+= tw9910.o

# And now the v4l2 drivers:
+1219 −0

File added.

Preview size limit exceeded, changes collapsed.

+3 −0
Original line number Diff line number Diff line
@@ -281,6 +281,9 @@ enum {

	/* module m52790: just ident 52790 */
	V4L2_IDENT_M52790 = 52790,

	/* Sharp RJ54N1CB0C, 0xCB0C = 51980 */
	V4L2_IDENT_RJ54N1CB0C = 51980,
};

#endif