[PATCH v4 0/6] Allwinner A31/A83T MIPI CSI-2 and A31 ISP / ISP Driver

From: Paul Kocialkowski
Date: Wed May 25 2022 - 15:13:00 EST


This new version is an offspring from the big "Allwinner A31/A83T
MIPI CSI-2 Support and A31 ISP Support" series, which was split into
individual series for better clarity and handling.

This part only concerns the introduction of the new ISP driver.

Changes since v3:
- Removed the v4l2 controls handler from the driver;
- Added variant structure for table sizes;
- Removed the info message about video device registration;
- Removed comments in uAPI header;
- Used '/schemas/graph.yaml#/properties/port' whenever possible in bindings;
- Added CSI patches dependent on the ISP driver;
- Rebased on the latest media tree;


Changes since all-in-one v2:
- Updated Kconfig to follow the latest media-wide changes;
- Reworked async subdev handling with a dedicated structure holding the
corresponding source to avoid matching in the driver;
- Switched to clock-managed regmap mmio;
- Used helper to get a single enabled link for an entity's pad, to replace
source selection at link_validate time and select the remote source at
stream on time instead;
- Added mutex for mbus format serialization;
- Used endpoint-base instead of video-interface for "internal" endpoints
in device-tree schema;
- Added TODO with unstaging requirements;
- Various cosmetic cleanups;
- Updated copyright years;

Paul Kocialkowski (6):
dt-bindings: media: Add Allwinner A31 ISP bindings documentation
dt-bindings: media: sun6i-a31-csi: Add ISP output port
staging: media: Add support for the Allwinner A31 ISP
MAINTAINERS: Add entry for the Allwinner A31 ISP driver
media: sun6i-csi: Detect the availability of the ISP
media: sun6i-csi: Add support for hooking to the isp devices

.../media/allwinner,sun6i-a31-csi.yaml | 4 +
.../media/allwinner,sun6i-a31-isp.yaml | 97 +++
MAINTAINERS | 9 +
.../platform/sunxi/sun6i-csi/sun6i_csi.c | 74 +-
.../platform/sunxi/sun6i-csi/sun6i_csi.h | 10 +
.../sunxi/sun6i-csi/sun6i_csi_bridge.c | 32 +-
.../sunxi/sun6i-csi/sun6i_csi_capture.c | 19 +-
.../sunxi/sun6i-csi/sun6i_csi_capture.h | 1 +
drivers/staging/media/sunxi/Kconfig | 1 +
drivers/staging/media/sunxi/Makefile | 1 +
drivers/staging/media/sunxi/sun6i-isp/Kconfig | 15 +
.../staging/media/sunxi/sun6i-isp/Makefile | 4 +
.../staging/media/sunxi/sun6i-isp/TODO.txt | 6 +
.../staging/media/sunxi/sun6i-isp/sun6i_isp.c | 555 +++++++++++++
.../staging/media/sunxi/sun6i-isp/sun6i_isp.h | 90 +++
.../media/sunxi/sun6i-isp/sun6i_isp_capture.c | 742 ++++++++++++++++++
.../media/sunxi/sun6i-isp/sun6i_isp_capture.h | 78 ++
.../media/sunxi/sun6i-isp/sun6i_isp_params.c | 566 +++++++++++++
.../media/sunxi/sun6i-isp/sun6i_isp_params.h | 52 ++
.../media/sunxi/sun6i-isp/sun6i_isp_proc.c | 578 ++++++++++++++
.../media/sunxi/sun6i-isp/sun6i_isp_proc.h | 66 ++
.../media/sunxi/sun6i-isp/sun6i_isp_reg.h | 275 +++++++
.../sunxi/sun6i-isp/uapi/sun6i-isp-config.h | 43 +
23 files changed, 3305 insertions(+), 13 deletions(-)
create mode 100644 Documentation/devicetree/bindings/media/allwinner,sun6i-a31-isp.yaml
create mode 100644 drivers/staging/media/sunxi/sun6i-isp/Kconfig
create mode 100644 drivers/staging/media/sunxi/sun6i-isp/Makefile
create mode 100644 drivers/staging/media/sunxi/sun6i-isp/TODO.txt
create mode 100644 drivers/staging/media/sunxi/sun6i-isp/sun6i_isp.c
create mode 100644 drivers/staging/media/sunxi/sun6i-isp/sun6i_isp.h
create mode 100644 drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_capture.c
create mode 100644 drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_capture.h
create mode 100644 drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_params.c
create mode 100644 drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_params.h
create mode 100644 drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_proc.c
create mode 100644 drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_proc.h
create mode 100644 drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_reg.h
create mode 100644 drivers/staging/media/sunxi/sun6i-isp/uapi/sun6i-isp-config.h

--
2.36.1