[PATCH v2 0/6] Add Starfive Camera Subsystem driver

From: Jack Zhu
Date: Fri Mar 10 2023 - 07:06:13 EST


Hi,

This patch series adds support for the Starfive Camera Subsystem
found on Starfive JH7110 SoC.

The driver implements V4L2, Media controller and V4L2 subdev interfaces.
Camera sensor using V4L2 subdev interface in the kernel is supported.

The driver is tested on VisionFive V2 board with IMX219 camera sensor.
GStreamer 1.18.5 with v4l2src plugin is supported.

Changes since v1:
- Deleted starfive,jh7110-mipi-csi2.yaml.
- Converted cdns,csi2rx.txt to cdns,csi2rx.yaml and added ‘resets’
properties.
- Added ‘cdns,csi2rx.yaml’ in ‘CADENCE MIPI-CSI2 BRIDGES’ entry.
- The following contents were modified in starfive,jh7110-camss.yaml:
dropped quotes from ’id’ and ‘schema’; dropped ‘|’ for ‘description’;
corrected the wrong or redundant words: ‘a ISP’, ‘PD ISP’;
dropped ‘minItems’ for ‘reg’, ‘clocks’, ‘resets’ and ‘interrupts’;
dropped the '_clk' and 'rst_' prefix about the 'clock-names' and
'reset-names';
changed ‘endpoint@1’ to ‘endpoint’; updated examples;
- Updated Subject for some patches.
- Merged patch 6, 7, 8, 9, 10, 11 into one patch.

Jack Zhu (6):
media: dt-bindings: Add bindings for JH7110 Camera Subsystem
media: dt-bindings: cadence-csi2rx: Convert to DT schema
media: admin-guide: Add starfive_camss.rst for Starfive Camera
Subsystem
media: cadence: Add support for external dphy and JH7110 SoC
MAINTAINERS: Add Starfive Camera Subsystem driver
media: starfive: Add Starfive Camera Subsystem driver

.../admin-guide/media/starfive_camss.rst | 68 +
.../media/starfive_camss_graph.dot | 28 +
.../admin-guide/media/v4l-drivers.rst | 1 +
.../devicetree/bindings/media/cdns,csi2rx.txt | 100 --
.../bindings/media/cdns,csi2rx.yaml | 163 ++
.../bindings/media/starfive,jh7110-camss.yaml | 144 ++
MAINTAINERS | 10 +
drivers/media/platform/Kconfig | 1 +
drivers/media/platform/Makefile | 1 +
drivers/media/platform/cadence/cdns-csi2rx.c | 273 +++-
drivers/media/platform/starfive/Kconfig | 18 +
drivers/media/platform/starfive/Makefile | 14 +
drivers/media/platform/starfive/stf_camss.c | 728 +++++++++
drivers/media/platform/starfive/stf_camss.h | 104 ++
drivers/media/platform/starfive/stf_common.h | 149 ++
drivers/media/platform/starfive/stf_isp.c | 1079 ++++++++++++++
drivers/media/platform/starfive/stf_isp.h | 183 +++
.../media/platform/starfive/stf_isp_hw_ops.c | 1286 ++++++++++++++++
drivers/media/platform/starfive/stf_video.c | 1286 ++++++++++++++++
drivers/media/platform/starfive/stf_video.h | 89 ++
drivers/media/platform/starfive/stf_vin.c | 1314 +++++++++++++++++
drivers/media/platform/starfive/stf_vin.h | 194 +++
.../media/platform/starfive/stf_vin_hw_ops.c | 357 +++++
include/uapi/linux/stf_isp_ioctl.h | 127 ++
24 files changed, 7607 insertions(+), 110 deletions(-)
create mode 100644 Documentation/admin-guide/media/starfive_camss.rst
create mode 100644 Documentation/admin-guide/media/starfive_camss_graph.dot
delete mode 100644 Documentation/devicetree/bindings/media/cdns,csi2rx.txt
create mode 100644 Documentation/devicetree/bindings/media/cdns,csi2rx.yaml
create mode 100644 Documentation/devicetree/bindings/media/starfive,jh7110-camss.yaml
create mode 100644 drivers/media/platform/starfive/Kconfig
create mode 100644 drivers/media/platform/starfive/Makefile
create mode 100644 drivers/media/platform/starfive/stf_camss.c
create mode 100644 drivers/media/platform/starfive/stf_camss.h
create mode 100644 drivers/media/platform/starfive/stf_common.h
create mode 100644 drivers/media/platform/starfive/stf_isp.c
create mode 100644 drivers/media/platform/starfive/stf_isp.h
create mode 100644 drivers/media/platform/starfive/stf_isp_hw_ops.c
create mode 100644 drivers/media/platform/starfive/stf_video.c
create mode 100644 drivers/media/platform/starfive/stf_video.h
create mode 100644 drivers/media/platform/starfive/stf_vin.c
create mode 100644 drivers/media/platform/starfive/stf_vin.h
create mode 100644 drivers/media/platform/starfive/stf_vin_hw_ops.c
create mode 100644 include/uapi/linux/stf_isp_ioctl.h

--
2.34.1