mbox series

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

Message ID 20230310120553.60586-1-jack.zhu@starfivetech.com (mailing list archive)
Headers show
Series Add Starfive Camera Subsystem driver | expand

Message

Jack Zhu March 10, 2023, 12:05 p.m. UTC
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