From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BB6903A382E for ; Tue, 17 Mar 2026 10:05:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773741961; cv=none; b=Z90rvNtXI214aGW1lvwjyJsjFKgB7i8XGWfyEhEp3khQ6K/fkuE+OeUYEW0t2qX0SsB/hOp15pOO5zUnaQiG999/8KyI5lSHKVQCiCZum9+nTiMukwOU1MtrF49q7faUzWa78XKm8gCKHI6L9YyCGWOhFmX66Bc8GKL4CxZjYEA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773741961; c=relaxed/simple; bh=VAZhdg+zVss/xE+WERUH4w/ELcCaISL+YhNMQXFHIU4=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=u+3yPGg1cIN3A+oRReFNxdj1sBZjRNKkfjXQkjXRO84DvkG4DHPguuCFrfwTdGhuAY7eERgUVZLiyMSWnCypvflRpxXk6z9odH5o7Sj/KUwlnhlVaXhhtI2ho9WJA82mHpT/QfgiPrc+N/pHRDsCJH7AXu9lJsqxbE8CRDW0fOU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=iSH1CKBw; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Yi1iYPeW; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="iSH1CKBw"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Yi1iYPeW" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62H9H1PS4022233 for ; Tue, 17 Mar 2026 10:05:58 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=2vuUgZ4TxHnG4OMEIKO5YN b3ELbxi8ENT9IyImnX120=; b=iSH1CKBwO5dvLc6grAePEoyn6PTQVz4k0C5li4 0rj+iCryHMgI0cJHuwBnu3vl2ifnumg7w1nHB/1d4AGQmo2ZQJeqzP9WY+TbUeuo vFpL/RcZLTDO1Say9bxS/50DdmUWJ700cdBpxWixB9tQ9db3hC1bkayg7X2mmXCt 5p/t4JdPz8UkNnnlbC80YNKQBDFHI/JcM1H49SBZ3jqMJ7rNQp1pmpn8lonABU5F 2qOIqxsZ9vLvIEVxNibgKVxAO607erReOqcPLfBczdvbEcuZHJ8ay0sSKjk5DG/h PVB09HX1+2Iaa0LZoQ6/b/qOLm4l6tKXW8pnCKvrljnwI2WQ== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cxn3fk805-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 17 Mar 2026 10:05:58 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8cd81ce6fdcso5477954485a.3 for ; Tue, 17 Mar 2026 03:05:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773741957; x=1774346757; darn=vger.kernel.org; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=2vuUgZ4TxHnG4OMEIKO5YNb3ELbxi8ENT9IyImnX120=; b=Yi1iYPeWzHjQ3KyA/2FQhTwYnu0bTWQRs7583ewRLoHLfOJYg9FXCb8mWjkpHvYni8 C4J/edXAQdmuML1qE1ZWBX6be8j5sSzkh2H2Oi/NMVsa45VUVKYVAPf+bqwCdoiJsG/v jrz9GSUxphNgka1BMr/EINYyrl3Y7bJ+iIWjHv6C+PX/l51X/QkwGLEyiagADgJdHzhK T7M0WRVNksgZYwFS/AFtcG0necYVaWXqyJOjuFncyOv4vFdbn4LFg7aXSy0zfvlnY4O1 zyP++u+o4YnoskcBxaO8PT+t+a1Z3rMPL9FcsX5jr6pvOfUlm0tMX5GHNPCBljKsI0b2 bv0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773741957; x=1774346757; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=2vuUgZ4TxHnG4OMEIKO5YNb3ELbxi8ENT9IyImnX120=; b=OWY+KJu/cUMHZSg32VMqERdrJ6a5l2DCqbSGOzGOr+dkE+gtj9ARhb1OyWm/gbhncC SCfk2ITAoTSnyFgYC/HC+z82JIjjGvsZH1hLekLWVMcHbEtdoCuwDXk070SjTVqyRcar 21mjQweBkCZ5SrR16WVlNQ87NxYO41Cq7gbxrRvIPxcLhlLcCGXmx3kOLzuVkWuReTut ZGLAASmxV9GGDRghGT15Whd88sxQTrFBsicGy6pcA41L+zKoPDv7irCsTRL+6BIddFHW 8i7UoXfYFkMIzLzPmJ6NgF6jTOsMzB89p9QYWFDo6ZY0zbpBlUJtipcpnOsVs6/zopgh DS8w== X-Gm-Message-State: AOJu0YwWVuFr+VrgrIyBXToikZNpVvyFra1URF2NKWHBzHjMUszPdYFZ LlQTUKavD5D4LMjEc3t2Mki5SwEnBuKdqBa1yDO7dQFaAe9VSB4mb+UVNCi593fcGi94vY1i4ko s/Ue55kr5y6QpcZrpaTtE9841QLSKx7mYNCcZkHDj67uouX+N8pBd9zBzzFqUaL0SQIc= X-Gm-Gg: ATEYQzyAn80TrS4P9sWvpkzKSrtJ+kEmmVqToDJAIVOBbQ1n08irNLwCCG1gZswBfka e6YFaVxHVutOw3yDXd28quyBlqTUEA1krpcc85M5fYVFo1hjDLlZAYsMBYYzAaJZWaQqK5oRrVy 4k6PQjtcPix38pJkYnlPONZtIUdytMPMvAghpSffpdcmY53kKOdGId44znyEtnneRInngSBTnMB L15qW8eoPm05TigXsZJ+UNTMiSj+fhULzrRZhpI6D0HLdxuWUS19gAOWtr7n6rmplImT04Inn/C OFYW0jnrF4AbHNPB/SwnZ0CjCyJ5gMac3w4sLN97Nlu2+rX2kTaQMI0EkndbGeF2o+1ZOsn/s+U VVX50xWfUzQE4MoLtt0u7NSu2Q7V8k6DQBQr26aYGDc806DL4xYc3MYHX+NA2HM0gU63B+ZIPMO 3Peu/GiNJh40Wc X-Received: by 2002:a05:620a:198a:b0:8cd:8072:86f4 with SMTP id af79cd13be357-8cdb5a6076bmr2072615985a.25.1773741957180; Tue, 17 Mar 2026 03:05:57 -0700 (PDT) X-Received: by 2002:a05:620a:198a:b0:8cd:8072:86f4 with SMTP id af79cd13be357-8cdb5a6076bmr2072611785a.25.1773741956709; Tue, 17 Mar 2026 03:05:56 -0700 (PDT) Received: from WENMLIU-LAB01.ap.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8cda1fd9d38sm1375129285a.17.2026.03.17.03.05.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2026 03:05:56 -0700 (PDT) From: Wenmeng Liu Subject: [PATCH v10 0/3] media: qcom: camss: Add camss TPG support for multiple targets Date: Tue, 17 Mar 2026 18:05:44 +0800 Message-Id: <20260317-camss_tpg-v10-0-b4cfa85c2e1b@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIAHgnuWkC/3XQ3WoCMRAF4FeRXDeSyZhs4pXvIaUk2awGuq4ma 2iRfXfHn6JCvRk4w/AxnBMrMadY2HJ2YjnWVNKwowDiY8bC1u02kaeWFkwKqUBKzYPrS/ka9xv uJTq0xnutHKP7fY5d+rli60/K21TGIf9e7QqX7U0BWDwpVXPB0bTY2s5HRLsaSpkfju47DH0/p 8EuWG0ewOsbtSEgBK9QN7gwQr0BzB+gBQA+A4aAzsngwWgnwLwB7APAV8AS4K2wqo1aSeX/AaZ bQTkejlTyeG9pms7Wl2WPggEAAA== X-Change-ID: 20251226-camss_tpg-b23a398bb65a To: Robert Foss , Todor Tomov , Bryan O'Donoghue , Vladimir Zapolskiy , Mauro Carvalho Chehab Cc: linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, Wenmeng Liu X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773741952; l=5022; i=wenmeng.liu@oss.qualcomm.com; s=20250925; h=from:subject:message-id; bh=VAZhdg+zVss/xE+WERUH4w/ELcCaISL+YhNMQXFHIU4=; b=R5NpAmmAZaRgCG++gpxLCeWseeHohvlL/mjgxi0oyuNmN1ssRNUV77uuIwWfEElXx4pB/mBG7 ibVNKrbpYo3C0oMjq68OysvQZYXrpP3tdwo3GSm1q+ifqUsMaufqw80 X-Developer-Key: i=wenmeng.liu@oss.qualcomm.com; a=ed25519; pk=fQJjf9C3jGDjE1zj2kO3NQLTbQEaZObVcXAzx5WLPX0= X-Authority-Analysis: v=2.4 cv=C5bkCAP+ c=1 sm=1 tr=0 ts=69b92786 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=COk6AnOGAAAA:8 a=9YuegPnT3h674dkZU1QA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-GUID: w2dvVyF1wsUb5l75mNNVaOckCJRoB3a3 X-Proofpoint-ORIG-GUID: w2dvVyF1wsUb5l75mNNVaOckCJRoB3a3 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzE3MDA4OSBTYWx0ZWRfX0rA5oCJqwvcW 0/ADzItGEHSL3qbDv8REYK/ZQNeyvBsQi4rqFMLyofjwpdcGw9jpHCbSMrnllc8JTPXIs4kss3u vHh2gxj26CKxO2J2KmeO0/zEYHqFuHMlAwtWrAxOOYX/uH5Zi1AJqbQRkAXTtzAikPaciSt4ODe vDEpqTrQdCb86iNbScfykODPAuifQdt0eQWysBq8lY9V4PE23cgdXgxsUXkNDTX+6l+ibwgaZxF SPGmDb3cQBv6vjIKaCMb8DLbZ2cRW3tTYeICu9fQUr9RvWo3p+iHCq1RRHunuRrVlBSBQUIcvD3 41FfKiFKnmPNs6+EunYQIW4vk7prCFtMlR95lqel93n+j/1Sehazz7xgL8daCcnz2tdnduZobbJ 5MSXPyYUba0/z8fKnoUUyl1wCnynbqqIn7bDkjwqe4zKMbShdyIuwrZQ2cmTiTY24EglPcHCu4L FAuFVCwEEBasEAjuXFA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-17_01,2026-03-16_06,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 suspectscore=0 priorityscore=1501 spamscore=0 lowpriorityscore=0 clxscore=1015 malwarescore=0 impostorscore=0 bulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603170089 This series adds driver changes to bring up the TPG interfaces in LeMans, Monaco, Hamoa. Have tested this on LeMans EVK board and qcs8300-ride board and Hamoa EVK board with 'Test Pattern Generator' and sensor. 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-subdev1 -c test_pattern=9 - yavta -B capture-mplane -n 5 -f SRGGB10P -s 4608x2592 /dev/video2 --capture=7 Changes in v10: - Fix the code alignment issue. - Link to v9: https://lore.kernel.org/r/20260313-camss_tpg-v9-0-b9095de6525b@oss.qualcomm.com Changes in v9: - Fix typo: rename TPG_GUP_ID to TPG_GRP_ID and CSIPHY_GUP_ID to CSIPHY_GRP_ID. - Replace DATA_TYPE_RAW_*BIT with MIPI_CSI2_DT_RAW* in format table. - Simplify camss-tpg.c: remove kernel-doc comments, TPG now has only one source pad. - Rename CSI2_RX_CFG0_TPG_NUM_EN/SEL to CSI2_RX_CFG0_TPG_MUX_EN/SEL and use if-else with phy_num_sel as they are mutually exclusive. - Add TPG mode validity check when tpg_linked is true. - Refactor tpg_stream_on() to use MSM_TPG_ACTIVE_VC/DT constants. - Make tpg_stream_off() reuse tpg_reset(). - Rename TPG_V2_* macros to TPG_V2_0_* for better readability. - Add register section comments in camss-tpg-gen1.c to segregate global, VC-based and DT-based registers. - Clean up resource tables: remove vc_cnt, camnoc_rt_axi clock and interrupt entries. - Sort Makefile entries in alphabetical order. - Link to v8: https://lore.kernel.org/r/20260113-camss_tpg-v8-0-fa2cb186a018@oss.qualcomm.com Changes in v8: - Fix error bit operation. -- Bryan - Add tpg link check for tpg enable/disable in csid node stream on. - Link to v7: https://lore.kernel.org/r/20251226-camss_tpg-v7-0-ccb536734805@oss.qualcomm.com Changes in V7: - Add TPG support for Hamoa - Add differentiation of register bitfields based on hardware version number. - Fix the null pointer issue when TPG clock is 0. - Correct the clock dependency for TPG. - Link to V6: https://lore.kernel.org/all/20251114-camss_tpg-v6-0-38d3d9fbe339@oss.qualcomm.com/ 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 multiple targets drivers/media/platform/qcom/camss/Makefile | 12 +- drivers/media/platform/qcom/camss/camss-csid-680.c | 14 +- .../media/platform/qcom/camss/camss-csid-gen3.c | 14 +- drivers/media/platform/qcom/camss/camss-csid.c | 45 +- drivers/media/platform/qcom/camss/camss-csid.h | 1 + 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 | 231 +++++++++ drivers/media/platform/qcom/camss/camss-tpg.c | 519 +++++++++++++++++++++ drivers/media/platform/qcom/camss/camss-tpg.h | 118 +++++ drivers/media/platform/qcom/camss/camss.c | 172 ++++++- drivers/media/platform/qcom/camss/camss.h | 5 + 12 files changed, 1109 insertions(+), 25 deletions(-) --- base-commit: ec4c8f012802e4654892379f627ce7a1b95f8ba7 change-id: 20251226-camss_tpg-b23a398bb65a Best regards, -- Wenmeng Liu