Hi Todor, On 22/06/18 17:33, Todor Tomov wrote: > This patchset adds support for the Qualcomm Camera Subsystem found > on Qualcomm MSM8996 and APQ8096 SoC to the existing driver which > used to support MSM8916 and APQ8016. > > The camera subsystem hardware on 8x96 is similar to 8x16 but > supports more cameras and features. More details are added in the > driver document by the last patch. > > The first 3 patches are dependencies which have already been on > the mainling list but I'm adding them here for completeness. > > The following 11 patches add general updates and fixes to the driver. > Then the rest add the support for the new hardware. > > The driver is tested on Dragonboard 410c (APQ8016) and Dragonboard 820c > (APQ8096) with OV5645 camera sensors. media-ctl [1], yavta [2] and > GStreamer were used for testing. > > [1] https://git.linuxtv.org//v4l-utils.git > [2] http://git.ideasonboard.org/yavta.git I did a quick review of this series and it looked good to me. So once I have Acked-by's for the bindings changes I can make a pull request. One thing I would like to have before I do that is the output of 'v4l2-compliance -m /dev/mediaX -v' (probably media0) for both 8x16 and the new 8x96. Make sure you use the latest v4l2-compliance since I have been adding new tests for the media controller. Thanks! Hans > > > Sakari Ailus (1): > doc-rst: Add packed Bayer raw14 pixel formats > > Todor Tomov (31): > media: v4l: Add new 2X8 10-bit grayscale media bus code > media: v4l: Add new 10-bit packed grayscale format > media: Rename CAMSS driver path > media: camss: Use SPDX license headers > media: camss: Fix OF node usage > media: camss: csiphy: Ensure clock mux config is done before the rest > media: camss: Unify the clock names > media: camss: csiphy: Update settle count calculation > media: camss: csid: Configure data type and decode format properly > media: camss: vfe: Fix to_vfe() macro member name > media: camss: vfe: Get line pointer as container of video_out > media: camss: vfe: Do not disable CAMIF when clearing its status > media: dt-bindings: media: qcom,camss: Fix whitespaces > media: dt-bindings: media: qcom,camss: Add 8996 bindings > media: camss: Add 8x96 resources > media: camss: Add basic runtime PM support > media: camss: csiphy: Split to hardware dependent and independent > parts > media: camss: csiphy: Unify lane handling > media: camss: csiphy: Add support for 8x96 > media: camss: csid: Add support for 8x96 > media: camss: ispif: Add support for 8x96 > media: camss: vfe: Split to hardware dependent and independent parts > media: camss: vfe: Add support for 8x96 > media: camss: Format configuration per hardware version > media: camss: vfe: Different format support on source pad > media: camss: vfe: Add support for UYVY output from VFE on 8x96 > media: camss: csid: Different format support on source pad > media: camss: csid: MIPI10 to Plain16 format conversion > media: camss: Add support for RAW MIPI14 on 8x96 > media: camss: Add support for 10-bit grayscale formats > media: doc: media/v4l-drivers: Update Qualcomm CAMSS driver document > for 8x96 > > .../devicetree/bindings/media/qcom,camss.txt | 128 +- > Documentation/media/uapi/v4l/pixfmt-rgb.rst | 1 + > Documentation/media/uapi/v4l/pixfmt-srggb14p.rst | 127 + > Documentation/media/uapi/v4l/pixfmt-y10p.rst | 33 + > Documentation/media/uapi/v4l/subdev-formats.rst | 72 + > Documentation/media/uapi/v4l/yuv-formats.rst | 1 + > Documentation/media/v4l-drivers/qcom_camss.rst | 93 +- > .../media/v4l-drivers/qcom_camss_8x96_graph.dot | 104 + > MAINTAINERS | 2 +- > drivers/media/platform/Kconfig | 2 +- > drivers/media/platform/Makefile | 2 +- > drivers/media/platform/qcom/camss-8x16/Makefile | 11 - > .../media/platform/qcom/camss-8x16/camss-csid.c | 1094 ------- > .../media/platform/qcom/camss-8x16/camss-csid.h | 82 - > .../media/platform/qcom/camss-8x16/camss-csiphy.c | 893 ------ > .../media/platform/qcom/camss-8x16/camss-csiphy.h | 77 - > .../media/platform/qcom/camss-8x16/camss-ispif.c | 1178 -------- > .../media/platform/qcom/camss-8x16/camss-ispif.h | 85 - > drivers/media/platform/qcom/camss-8x16/camss-vfe.c | 3093 -------------------- > drivers/media/platform/qcom/camss-8x16/camss-vfe.h | 123 - > .../media/platform/qcom/camss-8x16/camss-video.c | 859 ------ > .../media/platform/qcom/camss-8x16/camss-video.h | 70 - > drivers/media/platform/qcom/camss-8x16/camss.c | 751 ----- > drivers/media/platform/qcom/camss-8x16/camss.h | 106 - > drivers/media/platform/qcom/camss/Makefile | 15 + > drivers/media/platform/qcom/camss/camss-csid.c | 1376 +++++++++ > drivers/media/platform/qcom/camss/camss-csid.h | 77 + > .../platform/qcom/camss/camss-csiphy-2ph-1-0.c | 177 ++ > .../platform/qcom/camss/camss-csiphy-3ph-1-0.c | 256 ++ > drivers/media/platform/qcom/camss/camss-csiphy.c | 761 +++++ > drivers/media/platform/qcom/camss/camss-csiphy.h | 89 + > drivers/media/platform/qcom/camss/camss-ispif.c | 1367 +++++++++ > drivers/media/platform/qcom/camss/camss-ispif.h | 78 + > drivers/media/platform/qcom/camss/camss-vfe-4-1.c | 1018 +++++++ > drivers/media/platform/qcom/camss/camss-vfe-4-7.c | 1140 ++++++++ > drivers/media/platform/qcom/camss/camss-vfe.c | 2341 +++++++++++++++ > drivers/media/platform/qcom/camss/camss-vfe.h | 183 ++ > drivers/media/platform/qcom/camss/camss-video.c | 958 ++++++ > drivers/media/platform/qcom/camss/camss-video.h | 62 + > drivers/media/platform/qcom/camss/camss.c | 1027 +++++++ > drivers/media/platform/qcom/camss/camss.h | 115 + > drivers/media/v4l2-core/v4l2-ioctl.c | 1 + > include/uapi/linux/media-bus-format.h | 3 +- > include/uapi/linux/videodev2.h | 6 + > 44 files changed, 11530 insertions(+), 8507 deletions(-) > create mode 100644 Documentation/media/uapi/v4l/pixfmt-srggb14p.rst > create mode 100644 Documentation/media/uapi/v4l/pixfmt-y10p.rst > create mode 100644 Documentation/media/v4l-drivers/qcom_camss_8x96_graph.dot > delete mode 100644 drivers/media/platform/qcom/camss-8x16/Makefile > delete mode 100644 drivers/media/platform/qcom/camss-8x16/camss-csid.c > delete mode 100644 drivers/media/platform/qcom/camss-8x16/camss-csid.h > delete mode 100644 drivers/media/platform/qcom/camss-8x16/camss-csiphy.c > delete mode 100644 drivers/media/platform/qcom/camss-8x16/camss-csiphy.h > delete mode 100644 drivers/media/platform/qcom/camss-8x16/camss-ispif.c > delete mode 100644 drivers/media/platform/qcom/camss-8x16/camss-ispif.h > delete mode 100644 drivers/media/platform/qcom/camss-8x16/camss-vfe.c > delete mode 100644 drivers/media/platform/qcom/camss-8x16/camss-vfe.h > delete mode 100644 drivers/media/platform/qcom/camss-8x16/camss-video.c > delete mode 100644 drivers/media/platform/qcom/camss-8x16/camss-video.h > delete mode 100644 drivers/media/platform/qcom/camss-8x16/camss.c > delete mode 100644 drivers/media/platform/qcom/camss-8x16/camss.h > create mode 100644 drivers/media/platform/qcom/camss/Makefile > create mode 100644 drivers/media/platform/qcom/camss/camss-csid.c > create mode 100644 drivers/media/platform/qcom/camss/camss-csid.h > create mode 100644 drivers/media/platform/qcom/camss/camss-csiphy-2ph-1-0.c > create mode 100644 drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c > create mode 100644 drivers/media/platform/qcom/camss/camss-csiphy.c > create mode 100644 drivers/media/platform/qcom/camss/camss-csiphy.h > create mode 100644 drivers/media/platform/qcom/camss/camss-ispif.c > create mode 100644 drivers/media/platform/qcom/camss/camss-ispif.h > create mode 100644 drivers/media/platform/qcom/camss/camss-vfe-4-1.c > create mode 100644 drivers/media/platform/qcom/camss/camss-vfe-4-7.c > create mode 100644 drivers/media/platform/qcom/camss/camss-vfe.c > create mode 100644 drivers/media/platform/qcom/camss/camss-vfe.h > create mode 100644 drivers/media/platform/qcom/camss/camss-video.c > create mode 100644 drivers/media/platform/qcom/camss/camss-video.h > create mode 100644 drivers/media/platform/qcom/camss/camss.c > create mode 100644 drivers/media/platform/qcom/camss/camss.h >