[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251114-camss_tpg-v6-0-38d3d9fbe339@oss.qualcomm.com>
Date: Fri, 14 Nov 2025 15:11:17 +0800
From: Wenmeng Liu <wenmeng.liu@....qualcomm.com>
To: Robert Foss <rfoss@...nel.org>, Todor Tomov <todor.too@...il.com>,
Bryan O'Donoghue <bryan.odonoghue@...aro.org>,
Vladimir Zapolskiy <vladimir.zapolskiy@...aro.org>,
Mauro Carvalho Chehab <mchehab@...nel.org>
Cc: linux-kernel@...r.kernel.org, linux-media@...r.kernel.org,
linux-arm-msm@...r.kernel.org,
Wenmeng Liu <wenmeng.liu@....qualcomm.com>
Subject: [PATCH v6 0/3] media: qcom: camss: Add LeMans and Monaco camss TPG
support
This series adds driver changes to bring up the TPG interfaces
in LeMans and Monaco.
We have tested this on LeMans EVK board and qcs8300-ride board with
'Test Pattern Generator'. Unlike CSID TPG, this TPG can be seen as
a combination of CSIPHY and sensor.
Tested with following commands:
- media-ctl --reset
- media-ctl -V '"msm_tpg0":0[fmt:SRGGB10/4608x2592 field:none]'
- media-ctl -V '"msm_csid0":0[fmt:SRGGB10/4608x2592 field:none]'
- media-ctl -V '"msm_vfe0_rdi0":0[fmt:SRGGB10/4608x2592 field:none]'
- media-ctl -l '"msm_tpg0":1->"msm_csid0":0[1]'
- media-ctl -l '"msm_csid0":1->"msm_vfe0_rdi0":0[1]'
- v4l2-ctl -d /dev/v4l-subdev4 -c test_pattern=9
- yavta -B capture-mplane -n 5 -f SRGGB10P -s 4608x2592 /dev/video2
--capture=7
Changes in V6:
- Addressed comments from Bryan and Konrad.
- Add exception handling for the streamon format.
- Link to V5: https://lore.kernel.org/all/20251017-camss_tpg-v5-0-cafe3ad42163@oss.qualcomm.com/
Changes in V5:
- Modify the commit message and change the chip names to LeMans and Monaco.
- Add the header file to resolve the compilation error.
- Remove the definition where tpg_num is 0.
- Link to v4: https://lore.kernel.org/all/20250925-camss_tpg-v4-0-d2eb099902c8@oss.qualcomm.com/
Changes in V4:
- Rebase changes
- Use GENMASK to define bit fields and avoid using tabs. Use FIELD_PREP and FIELD_GET uniformly to access bit fields.
- Link to V3: https://lore.kernel.org/all/20250822-camss_tpg-v3-0-c7833a5f10d0@quicinc.com/
Changes in V3:
- Change the payload mode string
- Change the method for setting the TPG clock rate
- Remove the TPG IRQ
- Format correction
- Remove unused variables
- Merge functions and eliminate redundancy
- Modify the register write method
- Change TPG matching method to use grp_id
- Encapsulate magic numbers as macros
- Link to V2: https://lore.kernel.org/all/20250717-lemans_tpg-v2-0-a2538659349c@quicinc.com/
Changes in V2:
- rebase tpg changes based on new versions of sa8775p and qcs8300 camss patches
- Link to V1: https://lore.kernel.org/all/20250211-sa8775p_tpg-v1-0-3f76c5f8431f@quicinc.com/
---
Wenmeng Liu (3):
media: qcom: camss: Add common TPG support
media: qcom: camss: Add link support for TPG
media: qcom: camss: tpg: Add TPG support for LeMans and Monaco
drivers/media/platform/qcom/camss/Makefile | 2 +
.../media/platform/qcom/camss/camss-csid-gen3.c | 16 +
drivers/media/platform/qcom/camss/camss-csid.c | 43 +-
drivers/media/platform/qcom/camss/camss-csiphy.c | 1 +
drivers/media/platform/qcom/camss/camss-csiphy.h | 2 +
drivers/media/platform/qcom/camss/camss-tpg-gen1.c | 235 +++++++
drivers/media/platform/qcom/camss/camss-tpg.c | 710 +++++++++++++++++++++
drivers/media/platform/qcom/camss/camss-tpg.h | 126 ++++
drivers/media/platform/qcom/camss/camss.c | 122 ++++
drivers/media/platform/qcom/camss/camss.h | 5 +
10 files changed, 1248 insertions(+), 14 deletions(-)
---
base-commit: 6d7e7251d03f98f26f2ee0dfd21bb0a0480a2178
change-id: 20251114-camss_tpg-d28d75e745b3
Best regards,
--
Wenmeng <wenmeng.liu@....qualcomm.com>
Powered by blists - more mailing lists