| From: |
| Wenmeng Liu <wenmeng.liu-AT-oss.qualcomm.com> |
| To: |
| Robert Foss <rfoss-AT-kernel.org>, Todor Tomov <todor.too-AT-gmail.com>, Bryan O'Donoghue <bryan.odonoghue-AT-linaro.org>, Vladimir Zapolskiy <vladimir.zapolskiy-AT-linaro.org>, Mauro Carvalho Chehab <mchehab-AT-kernel.org> |
| Subject: |
| [PATCH v5 0/3] media: qcom: camss: Add LeMans and Monaco camss TPG support |
| Date: |
| Fri, 17 Oct 2025 13:06:00 +0800 |
| Message-ID: |
| <20251017-camss_tpg-v5-0-cafe3ad42163@oss.qualcomm.com> |
| Cc: |
| linux-kernel-AT-vger.kernel.org, linux-media-AT-vger.kernel.org, linux-arm-msm-AT-vger.kernel.org, Wenmeng Liu <wenmeng.liu-AT-oss.qualcomm.com> |
| Archive-link: |
| Article |
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/video0
--capture=7
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-d2eb0...
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-c7833...
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-a253...
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-3f7...
---
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 | 17 +
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 | 220 +++++++
drivers/media/platform/qcom/camss/camss-tpg.c | 696 +++++++++++++++++++++
drivers/media/platform/qcom/camss/camss-tpg.h | 125 ++++
drivers/media/platform/qcom/camss/camss.c | 119 ++++
drivers/media/platform/qcom/camss/camss.h | 5 +
10 files changed, 1216 insertions(+), 14 deletions(-)
---
base-commit: 2433b84761658ef123ae683508bc461b07c5b0f0
change-id: 20251017-camss_tpg-320e21f05dc7
Best regards,
--
Wenmeng <wenmeng.liu@oss.qualcomm.com>