All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 00/17] Add support for SDM845 Camera Subsystem
@ 2021-01-08 12:04 ` Robert Foss
  0 siblings, 0 replies; 65+ messages in thread
From: Robert Foss @ 2021-01-08 12:04 UTC (permalink / raw)
  To: agross, bjorn.andersson, robert.foss, todor.too, mchehab,
	robh+dt, catalin.marinas, will, shawnguo, leoyang.li,
	geert+renesas, arnd, Anson.Huang, michael, agx, max.oss.09,
	linux-arm-msm, linux-media, devicetree, linux-kernel,
	linux-arm-kernel, AngeloGioacchino Del Regno, Andrey Konovalov
  Cc: Tomasz Figa, Azam Sadiq Pasha Kapatrala Syed, Sarvesh Sridutt,
	Laurent Pinchart

This series implements support for the camera subsystem found in
the SDM845 SOCs and the Titan 170 ISP. The support is partial
in that it implements CSIPHY, CSID, and partial VFE support.

The Titan generation of the ISP diverges a fair amount from the
design of the previous architecture generation, CAMSS. As a result
some pretty invasive refactoring is done in this series. It also
means that at this time we're unable to implement support for all
of the IP blocks contained. This is due to a combination of legal
considerations with respect to the IP and its owner Qualcomm and
time & man hour constrains on the Linaro side.

The CSIPHY (CSI Physical Layer) & CSID (CSI Decoder) support is
complete, but the VFE (Video Front End, which is referred to as IFE
(Image Front End) in the Titan generation of ISPs) only has support
for the RDI (Raw Dump Interface) which allows the raw output of
the CSID to be written to memory.

The 2nd interface implemented in the VFE silicon is the PIX
interface, and camss does not support it for this generation of ISPs.
The reason for this is that the PIX interface is used for sending
image data to the BPS (Bayer Processing Section) & IPE (Image
Processing Engine), but both of these units are beyond the scope
of enabling basic ISP functionality for the SDM845.

Since the Titan architecture generation diverges quite a bit from
the CAMSS generation, a lot of pretty major refactoring is carried
out in this series. Both the CSID & VFE core paths are made more
general and hardware version specific parts are broken out.
The CSIPHY didn't require quite as radical changes and therefore
keeps its current form.

Tested on:
 - Qcom RB3 / db845c + camera mezzanine, which is SDM845 based
 - db410c + D3 Camera mezzanine, which is APQ8016 based
 
Branch:
 - https://git.linaro.org/people/robert.foss/linux.git/log/?h=camss_sdm845_v1


Robert Foss (17):
  media: camss: Fix comment using wrong function name
  media: camss: Fix vfe_isr comment typo
  media: camss: Add CAMSS_845 camss version
  media: camss: Make ISPIF subdevice optional
  media: camss: Refactor VFE HW version support
  media: camss: Add support for VFE hardware version Titan 170
  media: camss: Add missing format identifiers
  media: camss: Refactor CSID HW version support
  media: camss: Add support for CSID hardware version Titan 170
  media: camss: Add support for CSIPHY hardware version Titan 170
  media: camss: Remove per VFE power domain toggling
  media: dt-bindings: media: qcom,camss: Add bindings for SDM845 camss
  media: camss: Enable SDM845
  arm64: defconfig: Build Qcom CAMSS as module
  arm64: dts: sdm845: Add CAMSS ISP node
  arm64: dts: sdm845-db845c: Add CAMSS ISP node
  arm64: dts: sdm845-db845c: Enable ov8856 sensor and connect to ISP

 .../devicetree/bindings/media/qcom,camss.txt  |   51 +-
 arch/arm64/boot/dts/qcom/sdm845-db845c.dts    |   28 +-
 arch/arm64/boot/dts/qcom/sdm845.dtsi          |  151 +++
 arch/arm64/configs/defconfig                  |    1 +
 drivers/media/platform/qcom/camss/Makefile    |    6 +
 .../platform/qcom/camss/camss-csid-170.c      |  602 +++++++++
 .../platform/qcom/camss/camss-csid-4-1.c      |  338 +++++
 .../platform/qcom/camss/camss-csid-4-7.c      |  406 ++++++
 .../media/platform/qcom/camss/camss-csid.c    |  620 +--------
 .../media/platform/qcom/camss/camss-csid.h    |  177 ++-
 .../qcom/camss/camss-csiphy-3ph-1-0.c         |  182 ++-
 .../media/platform/qcom/camss/camss-csiphy.c  |   66 +-
 .../media/platform/qcom/camss/camss-ispif.c   |  147 ++-
 .../media/platform/qcom/camss/camss-ispif.h   |    3 +-
 .../media/platform/qcom/camss/camss-vfe-170.c |  808 ++++++++++++
 .../media/platform/qcom/camss/camss-vfe-4-1.c |  119 +-
 .../media/platform/qcom/camss/camss-vfe-4-7.c |  240 ++--
 .../media/platform/qcom/camss/camss-vfe-4-8.c | 1166 +++++++++++++++++
 .../platform/qcom/camss/camss-vfe-gen1.c      |  760 +++++++++++
 .../platform/qcom/camss/camss-vfe-gen1.h      |  110 ++
 drivers/media/platform/qcom/camss/camss-vfe.c |  838 +-----------
 drivers/media/platform/qcom/camss/camss-vfe.h |  118 +-
 .../media/platform/qcom/camss/camss-video.c   |  100 ++
 drivers/media/platform/qcom/camss/camss.c     |  421 ++++--
 drivers/media/platform/qcom/camss/camss.h     |   17 +-
 25 files changed, 5630 insertions(+), 1845 deletions(-)
 create mode 100644 drivers/media/platform/qcom/camss/camss-csid-170.c
 create mode 100644 drivers/media/platform/qcom/camss/camss-csid-4-1.c
 create mode 100644 drivers/media/platform/qcom/camss/camss-csid-4-7.c
 create mode 100644 drivers/media/platform/qcom/camss/camss-vfe-170.c
 create mode 100644 drivers/media/platform/qcom/camss/camss-vfe-4-8.c
 create mode 100644 drivers/media/platform/qcom/camss/camss-vfe-gen1.c
 create mode 100644 drivers/media/platform/qcom/camss/camss-vfe-gen1.h

-- 
2.27.0


^ permalink raw reply	[flat|nested] 65+ messages in thread

end of thread, other threads:[~2021-01-14 12:09 UTC | newest]

Thread overview: 65+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-08 12:04 [PATCH v1 00/17] Add support for SDM845 Camera Subsystem Robert Foss
2021-01-08 12:04 ` Robert Foss
2021-01-08 12:04 ` [PATCH v1 01/17] media: camss: Fix comment using wrong function name Robert Foss
2021-01-08 12:04   ` Robert Foss
2021-01-08 18:51   ` Bjorn Andersson
2021-01-08 18:51     ` Bjorn Andersson
2021-01-13 10:04     ` Robert Foss
2021-01-13 10:04       ` Robert Foss
2021-01-08 12:04 ` [PATCH v1 02/17] media: camss: Fix vfe_isr comment typo Robert Foss
2021-01-08 12:04   ` Robert Foss
2021-01-08 18:51   ` Bjorn Andersson
2021-01-08 18:51     ` Bjorn Andersson
2021-01-13 10:04     ` Robert Foss
2021-01-13 10:04       ` Robert Foss
2021-01-08 12:04 ` [PATCH v1 03/17] media: camss: Add CAMSS_845 camss version Robert Foss
2021-01-08 12:04   ` Robert Foss
2021-01-08 12:04 ` [PATCH v1 04/17] media: camss: Make ISPIF subdevice optional Robert Foss
2021-01-08 12:04   ` Robert Foss
2021-01-08 19:07   ` Bjorn Andersson
2021-01-08 19:07     ` Bjorn Andersson
2021-01-13 15:02     ` Robert Foss
2021-01-13 15:02       ` Robert Foss
2021-01-13 22:28   ` Andrey Konovalov
2021-01-13 22:28     ` Andrey Konovalov
2021-01-14  9:55     ` Robert Foss
2021-01-14  9:55       ` Robert Foss
2021-01-08 12:04 ` [PATCH v1 05/17] media: camss: Refactor VFE HW version support Robert Foss
2021-01-08 16:51   ` kernel test robot
2021-01-13 22:38   ` Andrey Konovalov
2021-01-14 10:07     ` Robert Foss
2021-01-08 12:04 ` [PATCH v1 06/17] media: camss: Add support for VFE hardware version Titan 170 Robert Foss
2021-01-08 12:04   ` Robert Foss
2021-01-14 10:48   ` Andrey Konovalov
2021-01-14 10:48     ` Andrey Konovalov
2021-01-14 12:07     ` Robert Foss
2021-01-14 12:07       ` Robert Foss
2021-01-08 12:04 ` [PATCH v1 07/17] media: camss: Add missing format identifiers Robert Foss
2021-01-08 12:04   ` Robert Foss
2021-01-08 12:04 ` [PATCH v1 08/17] media: camss: Refactor CSID HW version support Robert Foss
2021-01-08 12:04   ` Robert Foss
2021-01-08 18:02   ` kernel test robot
2021-01-08 12:04 ` [PATCH v1 09/17] media: camss: Add support for CSID hardware version Titan 170 Robert Foss
2021-01-08 12:04   ` Robert Foss
2021-01-08 12:04 ` [PATCH v1 10/17] media: camss: Add support for CSIPHY " Robert Foss
2021-01-08 12:04   ` Robert Foss
2021-01-08 12:04 ` [PATCH v1 11/17] media: camss: Remove per VFE power domain toggling Robert Foss
2021-01-08 12:04   ` Robert Foss
2021-01-08 12:04 ` [PATCH v1 12/17] media: dt-bindings: media: qcom,camss: Add bindings for SDM845 camss Robert Foss
2021-01-08 12:04   ` [PATCH v1 12/17] media: dt-bindings: media: qcom, camss: " Robert Foss
2021-01-09  1:44   ` [PATCH v1 12/17] media: dt-bindings: media: qcom,camss: " Laurent Pinchart
2021-01-09  1:44     ` Laurent Pinchart
2021-01-08 12:04 ` [PATCH v1 13/17] media: camss: Enable SDM845 Robert Foss
2021-01-08 12:04   ` Robert Foss
2021-01-08 12:04 ` [PATCH v1 14/17] arm64: defconfig: Build Qcom CAMSS as module Robert Foss
2021-01-08 12:04   ` Robert Foss
2021-01-08 12:04 ` [PATCH v1 15/17] arm64: dts: sdm845: Add CAMSS ISP node Robert Foss
2021-01-08 12:04   ` Robert Foss
2021-01-08 12:04 ` [PATCH v1 16/17] arm64: dts: sdm845-db845c: " Robert Foss
2021-01-08 12:04   ` Robert Foss
2021-01-09  1:47   ` Laurent Pinchart
2021-01-09  1:47     ` Laurent Pinchart
2021-01-13 10:03     ` Robert Foss
2021-01-13 10:03       ` Robert Foss
2021-01-08 12:04 ` [PATCH v1 17/17] arm64: dts: sdm845-db845c: Enable ov8856 sensor and connect to ISP Robert Foss
2021-01-08 12:04   ` Robert Foss

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.