[PATCH v5 0/6] Add Toshiba Visconti Video Input Interface driver

From: Yuji Ishikawa
Date: Tue Jan 10 2023 - 21:30:30 EST


The v4 patchset was sent with an incomplete recipient list.
Please ignore the v4 patchset.

This series is the Video Input Interface driver
for Toshiba's ARM SoC, Visconti[0].
This provides DT binding documentation,
device driver, documentation and MAINTAINER files.

A visconti VIIF driver instance exposes
1 media control device file and 3 video device files
for a VIIF hardware.
Detailed HW/SW are described in documentation directory.
The VIIF hardware has CSI2 receiver,
image signal processor and DMAC inside.
The subdevice for image signal processor provides
vendor specific V4L2 controls.

The device driver depends on two other drivers under development;
clock framework driver and IOMMU driver.
Corresponding features will be added later.

Best regards,
Yuji

Changelog v2:
- Resend v1 because a patch exceeds size limit.

Changelog v3:
- Add documentation to describe SW and HW
- Adapted to media control framework
- Introduced ISP subdevice, capture device
- Remove private IOCTLs and add vendor specific V4L2 controls
- Change function name avoiding camelcase and uppercase letters

Changelog v4:
- Split patches because a patch exceeds size limit
- fix dt-bindings document
- stop specifying ID numbers for driver instance explicitly at device tree
- use pm_runtime to trigger initialization of HW
along with open/close of device files.
- add a entry for a header file at MAINTAINERS file

Changelog v5:
- Fix coding style problem in viif.c (patch 2/6)

Yuji Ishikawa (6):
dt-bindings: media: platform: visconti: Add Toshiba Visconti Video
Input Interface bindings
media: platform: visconti: Add Toshiba Visconti Video Input Interface
driver
media: platform: visconti: Add Toshiba Visconti Video Input Interface
driver user interace
media: platform: visconti: Add Toshiba Visconti Video Input Interface
driver v4l2 controls handler
documentation: media: add documentation for Toshiba Visconti Video
Input Interface driver
MAINTAINERS: Add entries for Toshiba Visconti Video Input Interface

.../bindings/media/toshiba,visconti-viif.yaml | 98 +
.../driver-api/media/drivers/index.rst | 1 +
.../media/drivers/visconti-viif.rst | 455 +++
MAINTAINERS | 4 +
drivers/media/platform/Kconfig | 1 +
drivers/media/platform/Makefile | 1 +
drivers/media/platform/visconti/Kconfig | 9 +
drivers/media/platform/visconti/Makefile | 9 +
drivers/media/platform/visconti/hwd_viif.c | 1690 ++++++++++
drivers/media/platform/visconti/hwd_viif.h | 710 +++++
.../media/platform/visconti/hwd_viif_csi2rx.c | 610 ++++
.../platform/visconti/hwd_viif_internal.h | 340 ++
.../media/platform/visconti/hwd_viif_l1isp.c | 2674 ++++++++++++++++
.../media/platform/visconti/hwd_viif_reg.h | 2802 +++++++++++++++++
drivers/media/platform/visconti/viif.c | 545 ++++
drivers/media/platform/visconti/viif.h | 203 ++
.../media/platform/visconti/viif_capture.c | 1201 +++++++
.../media/platform/visconti/viif_controls.c | 1153 +++++++
drivers/media/platform/visconti/viif_isp.c | 848 +++++
include/uapi/linux/visconti_viif.h | 1724 ++++++++++
20 files changed, 15078 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/toshiba,visconti-viif.yaml
create mode 100644 Documentation/driver-api/media/drivers/visconti-viif.rst
create mode 100644 drivers/media/platform/visconti/Kconfig
create mode 100644 drivers/media/platform/visconti/Makefile
create mode 100644 drivers/media/platform/visconti/hwd_viif.c
create mode 100644 drivers/media/platform/visconti/hwd_viif.h
create mode 100644 drivers/media/platform/visconti/hwd_viif_csi2rx.c
create mode 100644 drivers/media/platform/visconti/hwd_viif_internal.h
create mode 100644 drivers/media/platform/visconti/hwd_viif_l1isp.c
create mode 100644 drivers/media/platform/visconti/hwd_viif_reg.h
create mode 100644 drivers/media/platform/visconti/viif.c
create mode 100644 drivers/media/platform/visconti/viif.h
create mode 100644 drivers/media/platform/visconti/viif_capture.c
create mode 100644 drivers/media/platform/visconti/viif_controls.c
create mode 100644 drivers/media/platform/visconti/viif_isp.c
create mode 100644 include/uapi/linux/visconti_viif.h

--
2.25.1