devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/6] media: qcom: camss: Add Kaanapali support
@ 2025-10-15  2:56 Hangxiang Ma
  2025-10-15  2:56 ` [PATCH v2 1/6] dt-bindings: i2c: qcom-cci: Document Kaanapali compatible Hangxiang Ma
                   ` (5 more replies)
  0 siblings, 6 replies; 46+ messages in thread
From: Hangxiang Ma @ 2025-10-15  2:56 UTC (permalink / raw)
  To: Loic Poulain, Robert Foss, Andi Shyti, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Todor Tomov,
	Vladimir Zapolskiy, Mauro Carvalho Chehab, Bryan O'Donoghue
  Cc: linux-i2c, linux-arm-msm, devicetree, linux-kernel, linux-media,
	aiqun.yu, tingwei.zhang, trilok.soni, yijie.yang, Jingyi Wang,
	Atiya Kailany, Hangxiang Ma

Add support for the RDI only CAMSS camera driver on Kaanapali. Enabling
RDI path involves adding the support for a set of CSIPHY, CSID and TFE
modules, with each TFE having multiple RDI ports. This hardware
architecture requires 'qdss_debug_xo' clock for CAMNOC to be functional.

Kaanapali camera sub system provides

- 3 x VFE, 5 RDI per VFE
- 2 x VFE Lite, 4 RDI per VFE Lite
- 3 x CSID
- 2 x CSID Lite
- 6 x CSI PHY

This series has been tested using the following commands with a
downstream driver for S5KJN5 sensor.

- media-ctl --reset
- media-ctl -V '"msm_csiphy2":0[fmt:SGBRG10/4096x3072]'
- media-ctl -V '"msm_csid0":0[fmt:SGBRG10/4096x3072]'
- media-ctl -V '"msm_vfe0_rdi0":0[fmt:SGBRG10/4096x3072]'
- media-ctl -l '"msm_csiphy2":1->"msm_csid0":0[1]'
- media-ctl -l '"msm_csid0":1->"msm_vfe0_rdi0":0[1]'
- yavta  --capture=20 -I -n 5 -f SGBRG10P -s 4096x3072 -F  /dev/video0

Dependencies:
- https://lore.kernel.org/all/20251014-use-marco-to-denote-image-buffer-number-v1-1-f782e4cc622d@oss.qualcomm.com/
- https://lore.kernel.org/all/20251014-add-new-clock-in-vfe-matching-list-v1-1-0d965ccc8a3a@oss.qualcomm.com/

Signed-off-by: Hangxiang Ma <hangxiang.ma@oss.qualcomm.com>
---
Changes in v2:
- Aggregate CSI2_RX_CFG0_PHY_SEL_BASE_IDX definition into 'camss-csid.h' - bod
- Remove 'camss-csid-1080.h' and use 'camss-csid-gen3.h' header instead - bod
- Remove redundant code in 'camss-csid-1080.c' and align the namespaces - bod
- Slipt 'camnoc_rt_axi' clock in vfe matching list into a single patch - bod
- Add whole vfe write engine client mappings in comment - bod
- Remove hardcoded image buffer number but use 'CAMSS_INIT_BUF_COUNT' - bod
- Remove SoC specific logic for vfe ops->reg_update and add a new variable
  to determine whether ops->reg_update is deferred or not - bod
- Add description to explain why 'qdss_debug_xo' should be retained - bod
- Add the procss node in csiphy register list comment - bod
- Rename the variable 'cmn_status_offset' to 'common_status_offset' and
  align this with macro in csiphy register structure to avoid ambiguity - bod
- Aggregate Kaanapali items into the definition that introduced by
  'qcom,qcm2290-cci' in cci binding file - Loic
- Format 'kaanpali-camss.yaml' binding file
- Link to v1: https://lore.kernel.org/r/20250924-knp-cam-v1-0-b72d6deea054@oss.qualcomm.com

---
Hangxiang Ma (6):
      dt-bindings: i2c: qcom-cci: Document Kaanapali compatible
      dt-bindings: media: camss: Add qcom,kaanapali-camss binding
      media: qcom: camss: Add Kaanapali compatible camss driver
      media: qcom: camss: csiphy: Add support for v2.4.0 two-phase CSIPHY
      media: qcom: camss: csid: Add support for CSID 1080
      media: qcom: camss: vfe: Add support for VFE 1080

 .../devicetree/bindings/i2c/qcom,i2c-cci.yaml      |   6 +-
 .../bindings/media/qcom,kaanapali-camss.yaml       | 494 +++++++++++++++++++++
 drivers/media/platform/qcom/camss/Makefile         |   2 +
 .../media/platform/qcom/camss/camss-csid-1080.c    | 371 ++++++++++++++++
 drivers/media/platform/qcom/camss/camss-csid-680.c |   1 -
 .../media/platform/qcom/camss/camss-csid-gen3.c    |   1 -
 drivers/media/platform/qcom/camss/camss-csid.h     |  12 +-
 .../platform/qcom/camss/camss-csiphy-3ph-1-0.c     | 147 +++++-
 drivers/media/platform/qcom/camss/camss-csiphy.h   |   1 +
 drivers/media/platform/qcom/camss/camss-vfe-1080.c | 188 ++++++++
 drivers/media/platform/qcom/camss/camss-vfe.c      |  10 +-
 drivers/media/platform/qcom/camss/camss-vfe.h      |   2 +
 drivers/media/platform/qcom/camss/camss.c          | 352 +++++++++++++++
 drivers/media/platform/qcom/camss/camss.h          |   1 +
 14 files changed, 1576 insertions(+), 12 deletions(-)
---
base-commit: b09b832c719df5e10f2560771fd38146f2b3fd7c
change-id: 20251008-add-support-for-camss-on-kaanapali-e5b6dbd5209e
prerequisite-change-id: 20251012-use-marco-to-denote-image-buffer-number-cbec071b8436:v1
prerequisite-patch-id: 3ac5d6703a9530eda884720c146b9444f90cf56b
prerequisite-change-id: 20251012-add-new-clock-in-vfe-matching-list-25fb1e378c49:v1
prerequisite-patch-id: aacb03b359fdf95977805f42918c0b6c39889e32

Best regards,
-- 
Hangxiang Ma <hangxiang.ma@oss.qualcomm.com>


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

end of thread, other threads:[~2025-10-24  8:49 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-15  2:56 [PATCH v2 0/6] media: qcom: camss: Add Kaanapali support Hangxiang Ma
2025-10-15  2:56 ` [PATCH v2 1/6] dt-bindings: i2c: qcom-cci: Document Kaanapali compatible Hangxiang Ma
2025-10-15 19:30   ` Vladimir Zapolskiy
2025-10-16  1:56     ` Hangxiang Ma
2025-10-16  7:54       ` Vladimir Zapolskiy
2025-10-16  7:56       ` Konrad Dybcio
2025-10-20  4:13         ` Hangxiang Ma
2025-10-20 18:38           ` Vijay Kumar Tumati
2025-10-16 10:40       ` Krzysztof Kozlowski
2025-10-15  2:56 ` [PATCH v2 2/6] dt-bindings: media: camss: Add qcom,kaanapali-camss binding Hangxiang Ma
2025-10-15  4:37   ` Rob Herring (Arm)
2025-10-16  5:51     ` Krzysztof Kozlowski
2025-10-15 19:45   ` Vladimir Zapolskiy
2025-10-15 21:43     ` Bryan O'Donoghue
2025-10-15 23:32       ` Vladimir Zapolskiy
2025-10-16  3:46         ` Vijay Kumar Tumati
2025-10-16  8:03           ` Vladimir Zapolskiy
2025-10-16  5:50     ` Krzysztof Kozlowski
2025-10-16 23:53     ` Vijay Kumar Tumati
2025-10-17  0:27       ` Vladimir Zapolskiy
2025-10-23  4:52         ` Vijay Kumar Tumati
2025-10-23 11:13           ` Vladimir Zapolskiy
2025-10-23 18:06             ` Vijay Kumar Tumati
2025-10-24  8:49               ` Bryan O'Donoghue
2025-10-16  5:52   ` Krzysztof Kozlowski
2025-10-15  2:56 ` [PATCH v2 3/6] media: qcom: camss: Add Kaanapali compatible camss driver Hangxiang Ma
2025-10-16  8:55   ` Bryan O'Donoghue
2025-10-20  6:45     ` Hangxiang Ma
2025-10-20 13:38       ` Vijay Kumar Tumati
2025-10-20 18:18         ` Bryan O'Donoghue
2025-10-15  2:56 ` [PATCH v2 4/6] media: qcom: camss: csiphy: Add support for v2.4.0 two-phase CSIPHY Hangxiang Ma
2025-10-16  8:59   ` Bryan O'Donoghue
2025-10-16 23:10     ` Vijay Kumar Tumati
2025-10-17 10:55       ` Bryan O'Donoghue
2025-10-15  2:56 ` [PATCH v2 5/6] media: qcom: camss: csid: Add support for CSID 1080 Hangxiang Ma
2025-10-16  9:12   ` Bryan O'Donoghue
2025-10-20  5:59     ` Hangxiang Ma
2025-10-16 10:04   ` Bryan O'Donoghue
2025-10-16 10:18     ` Bryan O'Donoghue
2025-10-16 22:03       ` Vijay Kumar Tumati
2025-10-16 22:55     ` Vijay Kumar Tumati
2025-10-15  2:56 ` [PATCH v2 6/6] media: qcom: camss: vfe: Add support for VFE 1080 Hangxiang Ma
2025-10-16 10:09   ` Bryan O'Donoghue
2025-10-16 10:33     ` Hangxiang Ma
2025-10-16 10:54       ` Bryan O'Donoghue
2025-10-16 23:28         ` Vijay Kumar Tumati

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).