media: i2c: Add MAX9286 driver
The MAX9286 is a 4-channel GMSL deserializer with coax or STP input and
CSI-2 output. The device supports multicamera streaming applications,
and features the ability to synchronise the attached cameras.
CSI-2 output can be configured with 1 to 4 lanes, and a control channel
is supported over I2C, which implements an I2C mux to facilitate
communications with connected cameras across the reverse control
channel.
Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
--
v2:
- Fix MAINTAINERS entry
This posting is released with the following modifications to work
without Sakari's VC developments:
- max9286_g_mbus_config() re-instated
- max9286_get_frame_desc() is not bus/csi aware
- max9286_{get,set}_routing() removed
v3:
- Initialise notifier with v4l2_async_notifier_init
- Update for new mbus csi2 format V4L2_MBUS_CSI2_DPHY
v4: - Re-introduce required code to function with the VC series.
- Implement max9286_get_routing, max9286_set_routing
- Remove max9286_g_mbus_config
v5:
- Fix printk formatting for hex value
- max9286->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE (add |)
- MEDIA_ENT_F_PROC_VIDEO_PIXEL_FORMATTER -> MEDIA_ENT_F_VID_IF_BRIDGE
- Remove 'device is bound' workaround
4 files changed