linux/Documentation/driver-api/media
Hans de Goede 613cbb91e9 media: Add MIPI CCI register access helper functions
The CSI2 specification specifies a standard method to access camera sensor
registers called "Camera Control Interface (CCI)".

This uses either 8 or 16 bit (big-endian wire order) register addresses
and supports 8, 16, 24 or 32 bit (big-endian wire order) register widths.

Currently a lot of Linux camera sensor drivers all have their own custom
helpers for this, often copy and pasted from other drivers.

Add a set of generic helpers for this so that all sensor drivers can
switch to a single common implementation.

These helpers take an extra optional "int *err" function parameter,
this can be used to chain a bunch of register accesses together with
only a single error check at the end, rather than needing to error
check each individual register access. The first failing call will
set the contents of err to a non 0 value and all other calls will
then become no-ops.

Link: https://lore.kernel.org/linux-media/59aefa7f-7bf9-6736-6040-39551329cd0a@redhat.com/

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Tested-by: Tommaso Merciai <tomm.merciai@gmail.com>
Reviewed-by: Tommaso Merciai <tomm.merciai@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2023-08-10 07:58:38 +02:00
..
drivers media: ccs: Document CCS static data file names 2023-04-11 18:54:02 +02:00
camera-sensor.rst Documentation: v4l: Document rotation and orientation for sensor drivers 2023-05-25 16:21:21 +02:00
cec-core.rst media: Documentation: media: cec: describe new callbacks 2023-08-10 07:58:32 +02:00
dtv-ca.rst
dtv-common.rst
dtv-core.rst
dtv-demux.rst Documentation: driver-api: correct spelling 2023-02-02 11:05:16 -07:00
dtv-frontend.rst media: Documentation/driver-api: media/dtv-frontend: drop doubled word 2020-11-27 13:03:46 +01:00
dtv-net.rst
index.rst media: Documentation: media: Improve camera sensor documentation 2021-08-04 14:43:50 +02:00
maintainer-entry-profile.rst media: remove myself from dvb media maintainers 2021-10-08 13:56:25 +02:00
mc-core.rst media: mc: entity: Fix minor issues in comments and documentation 2023-02-06 08:37:12 +01:00
rc-core.rst
tx-rx.rst media: Documentation: v4l: Rework LP-11 documentation, add callbacks 2021-08-04 14:43:50 +02:00
v4l2-async.rst
v4l2-cci.rst media: Add MIPI CCI register access helper functions 2023-08-10 07:58:38 +02:00
v4l2-common.rst
v4l2-controls.rst media: Documentation/driver-api: media/v4l2-controls: drop doubled words 2020-11-27 13:01:54 +01:00
v4l2-core.rst media: Add MIPI CCI register access helper functions 2023-08-10 07:58:38 +02:00
v4l2-dev.rst media: Documentation/driver-api: media/v4l2-dev: drop doubled word 2020-11-27 13:02:46 +01:00
v4l2-device.rst docs: get rid of :c:type explicit declarations for structs 2020-10-15 07:49:40 +02:00
v4l2-dv-timings.rst
v4l2-event.rst media: platform: rename omap3isp/ to ti/omap3isp/ 2022-03-18 05:58:34 +01:00
v4l2-fh.rst docs: get rid of :c:type explicit declarations for structs 2020-10-15 07:49:40 +02:00
v4l2-flash-led-class.rst
v4l2-fwnode.rst
v4l2-intro.rst
v4l2-mc.rst
v4l2-mediabus.rst
v4l2-mem2mem.rst
v4l2-rect.rst
v4l2-subdev.rst media: Documentation: v4l: Document sub-device notifiers 2023-08-10 07:58:32 +02:00
v4l2-tuner.rst
v4l2-tveeprom.rst
v4l2-videobuf2.rst
v4l2-videobuf.rst media: Documentation/media: drop/fix vivi references 2020-04-16 10:37:49 +02:00