Re: [PATCH v4 0/8] Add StarFive Camera Subsystem driver

From: Jack Zhu
Date: Mon Apr 24 2023 - 07:19:26 EST




On 2023/4/13 11:55, Jack Zhu wrote:
> 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 v3:
> Patch 1:
> - Modified port@0 and port@1 properties.
> - Extended the port@0 example with appropriate properties.
> - Added 'port@0' for 'required'
> Patch 2:
> - Modified spelling errors.
> Patch 3:
> - Merged patch 5 into the patch with an explanation for compatible in
> commit msg.
> Patch 6:
> - Asserted pixel_rst[i] reset in the loop after the err_disable_pixclk
> label.
> - Modified Code Style for getting sys_rst and p_rst.
> - Renamed clk_name to name and modified the relevant code.
> Patch 9:
> - Added static for stfcamss_get_mem_res function.
> - Added static for isp_close function.
> - Fixed implicit conversion warning for stf_vin_map_isp_pad function.
> - Dropped unused variables.
>
> v3: https://lore.kernel.org/all/20230331121826.96973-1-jack.zhu@xxxxxxxxxxxxxxxx/
>

Hello everyone,

>From the current review status, the patches related to the CSI module
have 'reviewed-by' tags. I would like to know if it is okay to add
patches 1-5 from this series to a PR first.

Thank you!

Jack

> Changes since v2:
> - Rebased on v6.3-rc1.
> Patch 1:
> - Modified spelling errors.
> - Added port@0.
> - Modified '$ref' of port.
> - Added 'ports' to 'required'.
> - Dropped 'stfcamss' label in example.
> - Added port@0 in example.
> - Added MAINTAINERS file.
> Patch 2:
> - Split this patch into three new patches.
> - Modified compatible property.
> - Replaced clock names with the existing names.
> - Modified 'bus-type' and 'clock-lanes'
> - Added port@2 - port@4
> - Dropped 'csi2rx' label in example.
> Patch 3:
> - Updated rst and dot file as three pipelines were deleted.
> Patch 4:
> - Split this patch into three new patches.
> - Dropped .s_power() and .get_fmt().
> - Dropped CSI-2 DT support.
> - Dropped v4l2_device_register_subdev_nodes().
> - Used assigned-clock-rates in DT to set clk value.
> - Modified 'compatible' field.
> Patch 5:
> - Deleted three pipelines.
> - Modified 'stfcamss_clocks'/'stfcamss_resets' struct.
> - Dropped stfcamss_find_sensor() function.
> - Removed redundant code from stfcamss_of_parse_endpoint_node().
> - Modified spelling errors.
> - Rewrote stfcamss_reg_media_subdev_node() function.
> - Modified stfcamss_subdev_notifier_bound().
> - Modified stfcamss_probe() function.
> - Dropped stfcamss_suspend() and stfcamss_resume().
> - Dropped dev_info() in stfcamss_remove() function.
> - Added 'stf_' prefix for enum subdev_type.
> - Moved all includes to the top in stf_camss.h file.
> - Dropped unused fields in stfcamss struct.
> - Replaced Custom logging macros with regular macros.
> - Rewrote register read and write functions.
> - Used lowercase for all hex constants.
> - Used macro to name registers.
> - Dropped unused ioctl and stf_isp_ioctl.h file.
>
> v2: https://lore.kernel.org/all/20230310120553.60586-1-jack.zhu@xxxxxxxxxxxxxxxx/
>
> 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 (8):
> media: dt-bindings: cadence-csi2rx: Convert to DT schema
> media: dt-bindings: cadence-csi2rx: Add resets property
> media: cadence: Add operation on reset
> media: cadence: Add support for external dphy
> media: cadence: Add support for JH7110 SoC
> media: dt-bindings: Add bindings for JH7110 Camera Subsystem
> media: admin-guide: Add starfive_camss.rst for Starfive Camera
> Subsystem
> media: starfive: Add Starfive Camera Subsystem driver
>
> .../admin-guide/media/starfive_camss.rst | 57 +
> .../media/starfive_camss_graph.dot | 16 +
> .../admin-guide/media/v4l-drivers.rst | 1 +
> .../devicetree/bindings/media/cdns,csi2rx.txt | 100 --
> .../bindings/media/cdns,csi2rx.yaml | 201 +++
> .../bindings/media/starfive,jh7110-camss.yaml | 164 +++
> MAINTAINERS | 10 +
> drivers/media/platform/Kconfig | 1 +
> drivers/media/platform/Makefile | 1 +
> drivers/media/platform/cadence/cdns-csi2rx.c | 107 +-
> drivers/media/platform/starfive/Kconfig | 18 +
> drivers/media/platform/starfive/Makefile | 14 +
> drivers/media/platform/starfive/stf_camss.c | 477 +++++++
> drivers/media/platform/starfive/stf_camss.h | 150 +++
> drivers/media/platform/starfive/stf_common.h | 18 +
> drivers/media/platform/starfive/stf_isp.c | 737 +++++++++++
> drivers/media/platform/starfive/stf_isp.h | 999 +++++++++++++++
> .../media/platform/starfive/stf_isp_hw_ops.c | 715 +++++++++++
> drivers/media/platform/starfive/stf_video.c | 989 ++++++++++++++
> drivers/media/platform/starfive/stf_video.h | 89 ++
> drivers/media/platform/starfive/stf_vin.c | 1138 +++++++++++++++++
> drivers/media/platform/starfive/stf_vin.h | 174 +++
> .../media/platform/starfive/stf_vin_hw_ops.c | 211 +++
> 23 files changed, 6272 insertions(+), 115 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
>