mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
media: i2c: Add driver of Arducam 64MP camera
Add a driver for the Arducam 64MP camera sensor. Whilst the sensor supports 2 or 4 CSI2 data lanes, this driver currently only supports 2 lanes. The following Bayer modes are currently available: 9152x6944 10-bit @ 2.7fps 4624x3472 10-bit (binned) @ 10fps 3840x2160 10-bit (cropped/binned) @ 20fps 2312x1736 10-bit (binned) @ 30fps 1920x1080 10-bit (cropped/binned) @ 60fps 1280x720 10-bit (cropped/binned) @ 120fps Signed-off-by: Lee Jackson <info@arducam.com> media: i2c: arducam_64mp: Advertise embedded data node on media pad 1 This commit updates the arducam_64mp driver to adverise support for embedded data streams. The arducam_64mp sensor subdevice overloads the media pad to differentiate between image stream (pad 0) and embedded data stream (pad 1) when performing the v4l2_subdev_pad_ops functions. Signed-off-by: Lee Jackson <info@arducam.com> media: i2c: arducam_64mp: Modify the line length of 1280x720 resolution Arducam 64MP has specific requirements for the line length, and if these conditions are not met, the camera will not function properly. Under the previous configuration, once a stream off operation is performed, the camera will not output any data, even if a stream on operation is performed. This prevents us from switching from 1280x720 to another resolution. Signed-off-by: Lee Jackson <lee.jackson@arducam.com> media: i2c: arducam_64mp: Add 8000x6000 resolution Added 8000x6000 10-bit (cropped) @ 3fps mode for Arducam 64MP Signed-off-by: Lee Jackson <lee.jackson@arducam.com> media: i2c: arducam_64mp: Add PDAF support Enable PDAF output for all modes, and also need to modify Embedded Line Width to 11560 * 3 (two lines of Embedded Data + one line of PDAF). Signed-off-by: Lee Jackson <lee.jackson@arducam.com> drivers: media: arducam_64mp: Add V4L2_CID_LINK_FREQ control Add V4L2_CID_LINK_FREQ as a read-only control with a value of 456 Mhz. This will be used by the CFE driver to corretly setup the DPHY timing parameters in the CSI-2 block. Signed-off-by: Lee Jackson <lee.jackson@arducam.com> media: i2c: Modify the datatype of PDAF data in the arducam_64mp driver Modify the PDAF Datatype of the Arducam 64MP camera from 0x30 to 0x12 so that the Raspberry Pi 5 cfe driver can receive PDAF data. Signed-off-by: Lee Jackson <info@arducam.com>
This commit is contained in:
@@ -110,6 +110,17 @@ config VIDEO_GC2145
|
|||||||
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 gc2145.
|
module will be called gc2145.
|
||||||
|
|
||||||
|
config VIDEO_ARDUCAM_64MP
|
||||||
|
tristate "Arducam 64MP sensor support"
|
||||||
|
depends on I2C && VIDEO_DEV
|
||||||
|
select VIDEO_V4L2_SUBDEV_API
|
||||||
|
help
|
||||||
|
This is a Video4Linux2 sensor driver for the Arducam
|
||||||
|
64MP camera.
|
||||||
|
|
||||||
|
To compile this driver as a module, choose M here: the
|
||||||
|
module will be called arducam_64mp.
|
||||||
|
|
||||||
config VIDEO_ARDUCAM_PIVARIETY
|
config VIDEO_ARDUCAM_PIVARIETY
|
||||||
tristate "Arducam Pivariety sensor support"
|
tristate "Arducam Pivariety sensor support"
|
||||||
depends on I2C && VIDEO_DEV
|
depends on I2C && VIDEO_DEV
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ obj-$(CONFIG_VIDEO_AK881X) += ak881x.o
|
|||||||
obj-$(CONFIG_VIDEO_ALVIUM_CSI2) += alvium-csi2.o
|
obj-$(CONFIG_VIDEO_ALVIUM_CSI2) += alvium-csi2.o
|
||||||
obj-$(CONFIG_VIDEO_APTINA_PLL) += aptina-pll.o
|
obj-$(CONFIG_VIDEO_APTINA_PLL) += aptina-pll.o
|
||||||
obj-$(CONFIG_VIDEO_AR0521) += ar0521.o
|
obj-$(CONFIG_VIDEO_AR0521) += ar0521.o
|
||||||
|
obj-$(CONFIG_VIDEO_ARDUCAM_64MP) += arducam_64mp.o
|
||||||
obj-$(CONFIG_VIDEO_ARDUCAM_PIVARIETY) += arducam-pivariety.o
|
obj-$(CONFIG_VIDEO_ARDUCAM_PIVARIETY) += arducam-pivariety.o
|
||||||
obj-$(CONFIG_VIDEO_BT819) += bt819.o
|
obj-$(CONFIG_VIDEO_BT819) += bt819.o
|
||||||
obj-$(CONFIG_VIDEO_BT856) += bt856.o
|
obj-$(CONFIG_VIDEO_BT856) += bt856.o
|
||||||
|
|||||||
2618
drivers/media/i2c/arducam_64mp.c
Normal file
2618
drivers/media/i2c/arducam_64mp.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user