From nobody Sun Oct 5 07:26:08 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 3C22C246BCD; Thu, 7 Aug 2025 12:11:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754568705; cv=none; b=oqmprkhniNnKsMC1eD5h2ZSuPT/Ppftx5VoxSq7FDr2SrEuD3Y2oAfNF8PcdSz6acValpbISH4bW+eehOZRTWbEc/L2NeJp4qhZ7LwGXTul9nU5T5TcMg7bN4safFxZr9ZHtxZGfgPY5G90N4Eb2UJwJpdniN2KLxyeHQzJI3H0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754568705; c=relaxed/simple; bh=vGtcGmqLXORU/EFR47QLn9An4W5po68LHvTztj41/d0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Sd9tlrN1f/fVUj7pI8oSNiZ7Loi8i+3wi3yUjN3wY4ek8jWbok2FG5X7gB/8BH+KtLstF4Yj3qKwtKPXOnuPvp2q6UeF7cswNuSKA3p1n9tdAH1G4WeOqldUI1Ng8THhuZZbcVNkhSIdPVmAuxcPm6tzdoUHc2qQQ/171lN1tjk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=OzS4ep0z; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="OzS4ep0z" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5779DDjg003806; Thu, 7 Aug 2025 12:11:31 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= BmHTyOBHfQ7FrtdDDjAhtDrzz6aqy8AJ1xVe+BhyDsM=; b=OzS4ep0z0N0TG2E5 7aLe5OKNOpo5OPPMpGjx/ZRUhaPp4Y18sn4eHG0ivYwLvTt1lcnfNN1mjxX/HLYT Ttq7yqVXPWBO7x2EVGKi/JAJpf+QaAi93Nlyh2DjI+vrN+ftxn7UJxcXXmLuLTer tgH0fkMfivRVVixz7eIteB7X8ORHwJlFGicZSNVZT5Ajji2GePCj7Am1bhCwMAvl kn2X6LqnJBx2htG7EhSMlcfy4lLG5opqzCSaInKNesRZuDOVak2L8M0P/1ebpIfN tKU8TL9JBaRgRHgYIqEAYW9KxtQIk6kfpw8JBOs4RWxgJ5NMuJFUBCuhdfQ6K3QW 4+w7Vw== Received: from nasanppmta04.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48bpyae66x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 07 Aug 2025 12:11:31 +0000 (GMT) Received: from nasanex01b.na.qualcomm.com (nasanex01b.na.qualcomm.com [10.46.141.250]) by NASANPPMTA04.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 577CBUa6024031 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 7 Aug 2025 12:11:30 GMT Received: from hu-vikramsa-hyd.qualcomm.com (10.80.80.8) by nasanex01b.na.qualcomm.com (10.46.141.250) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.10; Thu, 7 Aug 2025 05:11:25 -0700 From: Vikram Sharma To: , , , , , , , , , , , , CC: , , , , , Subject: [PATCH v4 1/9] media: qcom: camss: Rename camss-csid-780.c to camss-csid-gen3.c Date: Thu, 7 Aug 2025 17:40:57 +0530 Message-ID: <20250807121105.710072-2-quic_vikramsa@quicinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250807121105.710072-1-quic_vikramsa@quicinc.com> References: <20250807121105.710072-1-quic_vikramsa@quicinc.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nasanex01b.na.qualcomm.com (10.46.141.250) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: I37lKQisFHFizVj2PXfExsaQo_cTTHab X-Authority-Analysis: v=2.4 cv=MrlS63ae c=1 sm=1 tr=0 ts=689497f3 cx=c_pps a=JYp8KDb2vCoCEuGobkYCKw==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17 a=GEpy-HfZoHoA:10 a=2OwXVqhp2XgA:10 a=COk6AnOGAAAA:8 a=KKAkSRfTAAAA:8 a=WaFXn7faHerf0vuhdFYA:9 a=TjNXssC_j7lpFel5tvFf:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA2MDAwOSBTYWx0ZWRfX+VxiAn9xt/SD LwsEDjpSDaolQQV2cb3/57IayRhIEb7rKyh96wbPL6r2vAjWPBKpSEang6ErTV7IgNKDe2GgYdu u2QGE2sf9N1TIIO/zKAbO6P9CrvbAkTMYL4oBMMIlkRbFMPZfWtZQQsRtr+gjrUamDULHKbtwXu k/PjiWtBRraFijMMI1dwQHNzN7Hoxjo0Er0YY8T6S1vIMnQ36D4R2F2fN5OhupkYUzqBOSTKQh1 vQhRVt+Edf2D4eeXW7IIMEST8LxXXXsxi69d7vZF7SA+I8d5Z4R10i4MOIt1h7xc44FpFldK2XL qyDEcRm3GTS5Fzz/BP5oSTwKI7RuypicDRwEMvaY+ywCdAE+hlxZp1u/hFt1qqjcsbkj+uDA+xi nvgVAFvr X-Proofpoint-GUID: I37lKQisFHFizVj2PXfExsaQo_cTTHab X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-07_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 adultscore=0 priorityscore=1501 phishscore=0 spamscore=0 bulkscore=0 clxscore=1015 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508060009 Content-Type: text/plain; charset="utf-8" Rename the file camss-csid-780.c to camss-csid-gen3.c to enable reuse of CSID logic across multiple SoCs. The SA8775P SoC includes CSID 690, which is functionally very similar to CSID 780, with only minor differences in register bitfields. This rename prepares the codebase for supporting additional SoCs without duplicating CSID logic. Signed-off-by: Vikram Sharma Reviewed-by: Bryan O'Donoghue --- drivers/media/platform/qcom/camss/Makefile | 2 +- .../qcom/camss/{camss-csid-780.c =3D> camss-csid-gen3.c} | 6 +++--- .../qcom/camss/{camss-csid-780.h =3D> camss-csid-gen3.h} | 8 ++++---- drivers/media/platform/qcom/camss/camss-csid.h | 2 +- drivers/media/platform/qcom/camss/camss.c | 10 +++++----- 5 files changed, 14 insertions(+), 14 deletions(-) rename drivers/media/platform/qcom/camss/{camss-csid-780.c =3D> camss-csid= -gen3.c} (98%) rename drivers/media/platform/qcom/camss/{camss-csid-780.h =3D> camss-csid= -gen3.h} (84%) diff --git a/drivers/media/platform/qcom/camss/Makefile b/drivers/media/pla= tform/qcom/camss/Makefile index d26a9c24a430..ee869e69521a 100644 --- a/drivers/media/platform/qcom/camss/Makefile +++ b/drivers/media/platform/qcom/camss/Makefile @@ -8,7 +8,7 @@ qcom-camss-objs +=3D \ camss-csid-4-7.o \ camss-csid-680.o \ camss-csid-gen2.o \ - camss-csid-780.o \ + camss-csid-gen3.o \ camss-csiphy-2ph-1-0.o \ camss-csiphy-3ph-1-0.o \ camss-csiphy.o \ diff --git a/drivers/media/platform/qcom/camss/camss-csid-780.c b/drivers/m= edia/platform/qcom/camss/camss-csid-gen3.c similarity index 98% rename from drivers/media/platform/qcom/camss/camss-csid-780.c rename to drivers/media/platform/qcom/camss/camss-csid-gen3.c index 4c720d177731..433908a54baa 100644 --- a/drivers/media/platform/qcom/camss/camss-csid-780.c +++ b/drivers/media/platform/qcom/camss/camss-csid-gen3.c @@ -13,7 +13,7 @@ =20 #include "camss.h" #include "camss-csid.h" -#include "camss-csid-780.h" +#include "camss-csid-gen3.h" =20 #define CSID_IO_PATH_CFG0(csid) (0x4 * (csid)) #define OUTPUT_IFE_EN 0x100 @@ -259,7 +259,7 @@ static irqreturn_t csid_isr(int irq, void *dev) =20 if (buf_done_val & BIT(BUF_DONE_IRQ_STATUS_RDI_OFFSET + i)) { /* - * For Titan 780, bus done and RUP IRQ have been moved to + * For Titan Gen3, bus done and RUP IRQ have been moved to * CSID from VFE. Once CSID received bus done, need notify * VFE of this event. Trigger VFE to handle bus done process. */ @@ -325,7 +325,7 @@ static void csid_subdev_init(struct csid_device *csid) csid->testgen.nmodes =3D CSID_PAYLOAD_MODE_DISABLED; } =20 -const struct csid_hw_ops csid_ops_780 =3D { +const struct csid_hw_ops csid_ops_gen3 =3D { .configure_stream =3D csid_configure_stream, .configure_testgen_pattern =3D csid_configure_testgen_pattern, .hw_version =3D csid_hw_version, diff --git a/drivers/media/platform/qcom/camss/camss-csid-780.h b/drivers/m= edia/platform/qcom/camss/camss-csid-gen3.h similarity index 84% rename from drivers/media/platform/qcom/camss/camss-csid-780.h rename to drivers/media/platform/qcom/camss/camss-csid-gen3.h index a990c66a60ff..6ee62da770c1 100644 --- a/drivers/media/platform/qcom/camss/camss-csid-780.h +++ b/drivers/media/platform/qcom/camss/camss-csid-gen3.h @@ -1,13 +1,13 @@ /* SPDX-License-Identifier: GPL-2.0 */ /* - * camss-csid-780.h + * camss-csid-gen3.h * * Qualcomm MSM Camera Subsystem - CSID (CSI Decoder) Module Generation 3 * * Copyright (c) 2024 Qualcomm Technologies, Inc. */ -#ifndef __QC_MSM_CAMSS_CSID_780_H__ -#define __QC_MSM_CAMSS_CSID_780_H__ +#ifndef __QC_MSM_CAMSS_CSID_GEN3_H__ +#define __QC_MSM_CAMSS_CSID_GEN3_H__ =20 #define DECODE_FORMAT_UNCOMPRESSED_8_BIT 0x1 #define DECODE_FORMAT_UNCOMPRESSED_10_BIT 0x2 @@ -22,4 +22,4 @@ #define PLAIN_FORMAT_PLAIN16 0x1 /* supports DPCM, UNCOMPRESSED_10/16_BIT = */ #define PLAIN_FORMAT_PLAIN32 0x2 /* supports UNCOMPRESSED_20_BIT */ =20 -#endif /* __QC_MSM_CAMSS_CSID_780_H__ */ +#endif /* __QC_MSM_CAMSS_CSID_GEN3_H__ */ diff --git a/drivers/media/platform/qcom/camss/camss-csid.h b/drivers/media= /platform/qcom/camss/camss-csid.h index 9dc826d8c8f6..62273ca9f199 100644 --- a/drivers/media/platform/qcom/camss/camss-csid.h +++ b/drivers/media/platform/qcom/camss/camss-csid.h @@ -215,7 +215,7 @@ extern const struct csid_hw_ops csid_ops_4_1; extern const struct csid_hw_ops csid_ops_4_7; extern const struct csid_hw_ops csid_ops_680; extern const struct csid_hw_ops csid_ops_gen2; -extern const struct csid_hw_ops csid_ops_780; +extern const struct csid_hw_ops csid_ops_gen3; =20 /* * csid_is_lite - Check if CSID is CSID lite. diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index e08e70b93824..97f8e2bb6d81 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -2285,7 +2285,7 @@ static const struct camss_subdev_resources csid_res_8= 550[] =3D { .csid =3D { .is_lite =3D false, .parent_dev_ops =3D &vfe_parent_dev_ops, - .hw_ops =3D &csid_ops_780, + .hw_ops =3D &csid_ops_gen3, .formats =3D &csid_formats_gen2 } }, @@ -2300,7 +2300,7 @@ static const struct camss_subdev_resources csid_res_8= 550[] =3D { .csid =3D { .is_lite =3D false, .parent_dev_ops =3D &vfe_parent_dev_ops, - .hw_ops =3D &csid_ops_780, + .hw_ops =3D &csid_ops_gen3, .formats =3D &csid_formats_gen2 } }, @@ -2315,7 +2315,7 @@ static const struct camss_subdev_resources csid_res_8= 550[] =3D { .csid =3D { .is_lite =3D false, .parent_dev_ops =3D &vfe_parent_dev_ops, - .hw_ops =3D &csid_ops_780, + .hw_ops =3D &csid_ops_gen3, .formats =3D &csid_formats_gen2 } }, @@ -2330,7 +2330,7 @@ static const struct camss_subdev_resources csid_res_8= 550[] =3D { .csid =3D { .is_lite =3D true, .parent_dev_ops =3D &vfe_parent_dev_ops, - .hw_ops =3D &csid_ops_780, + .hw_ops =3D &csid_ops_gen3, .formats =3D &csid_formats_gen2 } }, @@ -2345,7 +2345,7 @@ static const struct camss_subdev_resources csid_res_8= 550[] =3D { .csid =3D { .is_lite =3D true, .parent_dev_ops =3D &vfe_parent_dev_ops, - .hw_ops =3D &csid_ops_780, + .hw_ops =3D &csid_ops_gen3, .formats =3D &csid_formats_gen2 } } --=20 2.25.1 From nobody Sun Oct 5 07:26:08 2025 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 03E2E24728B; Thu, 7 Aug 2025 12:11:45 +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=1754568707; cv=none; b=RKd2uJqmCJFzX4EYa1+NXHK8vaZNz2VnRdGCpsw8/DBobs8JWv6pGhuxg4CF0tarnzCfK7KYtE7tLfcYgtc5tl5q/OiNKuknXNHPqTp7VGu3DtQo6pFTq1R27JxlQ5lbcDH7QYOKlvPb+CJ2WmI5LI/QkG5WqaOphz5DpUaWUSI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754568707; c=relaxed/simple; bh=st9nWA4NExetMqG//3mDmoK6GhjB1sOHtGv1pzvyzxM=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=XbhWht5BAsSCkp7PYaidWig5Tsk4WiaWGOr12nq7NHpJtn0XYH8bx7i48zWVULXRTTaTnSz4Pdkq1hXAvwpGvuOKv/MnUmktnDB9jZoUVKfqax0jazA+9G1gC38ChIKnj7WsTbLf/CsQO/ozIYDhTh3YR+h55XBd1rsrinu8UNY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=Igvhm4hX; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="Igvhm4hX" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5779DCAP001951; Thu, 7 Aug 2025 12:11:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= CoHT2Dikt2Zt4dRmaEq410LK4Yb3iyGv0o9o5lGsA2Q=; b=Igvhm4hXZ4dF+zCM bHXK6p5ORUUkaUZeLTf2TDw3rhS1/qOA/Ct2iU1wFM892FBHqk2iWxjM4wLmCYLG kQUWTFp2AWLmoHTrkcHP+fHssIhtYfC0+QHvShtiHFqYl/x3lybVpxBRuSivi2t4 NwbISyUaWzNKi1N1D8QAlBORFhvTnTDTtOmylKCN7yM8PWGyS8yt30gBuMXuUIAl Kva83QnP0ZWLLMP+olbNioQ9MfbNRZSjoli64fqUVG2odPwICfXwlzh065JUkSUy erB8g+oso+s51B9bk0ut/fn2q8b5wIyMg2HDhmZPstonL+bf8O0CYQ0vmHcRYroJ Hkc0ew== Received: from nasanppmta02.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48bpw3664v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 07 Aug 2025 12:11:37 +0000 (GMT) Received: from nasanex01b.na.qualcomm.com (nasanex01b.na.qualcomm.com [10.46.141.250]) by NASANPPMTA02.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 577CBang028131 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 7 Aug 2025 12:11:36 GMT Received: from hu-vikramsa-hyd.qualcomm.com (10.80.80.8) by nasanex01b.na.qualcomm.com (10.46.141.250) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.10; Thu, 7 Aug 2025 05:11:30 -0700 From: Vikram Sharma To: , , , , , , , , , , , , CC: , , , , , Subject: [PATCH v4 2/9] media: qcom: camss: Rename camss-vfe-780.c to camss-vfe-gen3.c Date: Thu, 7 Aug 2025 17:40:58 +0530 Message-ID: <20250807121105.710072-3-quic_vikramsa@quicinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250807121105.710072-1-quic_vikramsa@quicinc.com> References: <20250807121105.710072-1-quic_vikramsa@quicinc.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nasanex01b.na.qualcomm.com (10.46.141.250) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA2MDAwOCBTYWx0ZWRfXwLS2hsLBe0wN 487nfLiw4hXc/hrcmz9kU/iRh7SPo7JLjQH50ZDvyRS4B6jGGRNVESN6bB013+zLXb7uzHAulKA 8zgnKesMhOgpn3H7ElaXarRP621/XMuna5lW7Z7p/2B2O3sa2/jffO5yFXXA3MM7q+M8FjEcC+0 Bo/UhAc1kacluaizyV7q0MHlT9vRrYtkVhokWHx2pDi3QiDcK0V36AkYyXy3ySyuklUxaAtR/1R qMJJBGYs9y8N+ai9uAxzfh518yrEm7+QHv8Fwa+pUEM8WES6WA6rcc7Dk8CPMcajpoILFGC0REu GZIs6ZDTm32LPIlxX5yaEACyjWGBhJnY9+eW2yy7W4HQoBH652otO8VwHQbVRNQQt40h+TQDRGt M4UdZK9m X-Authority-Analysis: v=2.4 cv=J8Cq7BnS c=1 sm=1 tr=0 ts=689497f9 cx=c_pps a=JYp8KDb2vCoCEuGobkYCKw==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17 a=GEpy-HfZoHoA:10 a=2OwXVqhp2XgA:10 a=COk6AnOGAAAA:8 a=KKAkSRfTAAAA:8 a=m-t3JITvBdmPMbOQ9dkA:9 a=TjNXssC_j7lpFel5tvFf:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: zisnEmu08dHaJ2zdHKFMdK9NxPipx3Bj X-Proofpoint-ORIG-GUID: zisnEmu08dHaJ2zdHKFMdK9NxPipx3Bj X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-07_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 bulkscore=0 priorityscore=1501 adultscore=0 malwarescore=0 clxscore=1015 impostorscore=0 suspectscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508060008 Content-Type: text/plain; charset="utf-8" Rename the file camss-vfe-780.c to camss-vfe-gen3.c to enable reuse of VFE logic across multiple SoCs. The SA8775P SoC includes VFE 690, which is very similar to VFE 780, with only minor differences in register bitfields. Rename prepares the codebase for supporting additional SoCs without duplicating VFE logic. Signed-off-by: Vikram Sharma Reviewed-by: Bryan O'Donoghue --- drivers/media/platform/qcom/camss/Makefile | 2 +- .../qcom/camss/{camss-vfe-780.c =3D> camss-vfe-gen3.c} | 8 ++++---- drivers/media/platform/qcom/camss/camss-vfe.h | 2 +- drivers/media/platform/qcom/camss/camss.c | 10 +++++----- 4 files changed, 11 insertions(+), 11 deletions(-) rename drivers/media/platform/qcom/camss/{camss-vfe-780.c =3D> camss-vfe-g= en3.c} (96%) diff --git a/drivers/media/platform/qcom/camss/Makefile b/drivers/media/pla= tform/qcom/camss/Makefile index ee869e69521a..76845a456c45 100644 --- a/drivers/media/platform/qcom/camss/Makefile +++ b/drivers/media/platform/qcom/camss/Makefile @@ -19,7 +19,7 @@ qcom-camss-objs +=3D \ camss-vfe-17x.o \ camss-vfe-480.o \ camss-vfe-680.o \ - camss-vfe-780.o \ + camss-vfe-gen3.o \ camss-vfe-gen1.o \ camss-vfe.o \ camss-video.o \ diff --git a/drivers/media/platform/qcom/camss/camss-vfe-780.c b/drivers/me= dia/platform/qcom/camss/camss-vfe-gen3.c similarity index 96% rename from drivers/media/platform/qcom/camss/camss-vfe-780.c rename to drivers/media/platform/qcom/camss/camss-vfe-gen3.c index b9812d70f91b..93d16b0951e9 100644 --- a/drivers/media/platform/qcom/camss/camss-vfe-780.c +++ b/drivers/media/platform/qcom/camss/camss-vfe-gen3.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 /* - * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module v780 (SM85= 50) + * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module gen3 * * Copyright (c) 2024 Qualcomm Technologies, Inc. */ @@ -113,14 +113,14 @@ static inline void vfe_reg_update_clear(struct vfe_de= vice *vfe, camss_reg_update(vfe->camss, vfe->id, port_id, true); } =20 -static const struct camss_video_ops vfe_video_ops_780 =3D { +static const struct camss_video_ops vfe_video_ops_gen3 =3D { .queue_buffer =3D vfe_queue_buffer_v2, .flush_buffers =3D vfe_flush_buffers, }; =20 static void vfe_subdev_init(struct device *dev, struct vfe_device *vfe) { - vfe->video_ops =3D vfe_video_ops_780; + vfe->video_ops =3D vfe_video_ops_gen3; } =20 static void vfe_global_reset(struct vfe_device *vfe) @@ -140,7 +140,7 @@ static int vfe_halt(struct vfe_device *vfe) return 0; } =20 -const struct vfe_hw_ops vfe_ops_780 =3D { +const struct vfe_hw_ops vfe_ops_gen3 =3D { .global_reset =3D vfe_global_reset, .hw_version =3D vfe_hw_version, .isr =3D vfe_isr, diff --git a/drivers/media/platform/qcom/camss/camss-vfe.h b/drivers/media/= platform/qcom/camss/camss-vfe.h index a23f666be753..02d9162ffd93 100644 --- a/drivers/media/platform/qcom/camss/camss-vfe.h +++ b/drivers/media/platform/qcom/camss/camss-vfe.h @@ -244,7 +244,7 @@ extern const struct vfe_hw_ops vfe_ops_4_8; extern const struct vfe_hw_ops vfe_ops_170; extern const struct vfe_hw_ops vfe_ops_480; extern const struct vfe_hw_ops vfe_ops_680; -extern const struct vfe_hw_ops vfe_ops_780; +extern const struct vfe_hw_ops vfe_ops_gen3; =20 int vfe_get(struct vfe_device *vfe); void vfe_put(struct vfe_device *vfe); diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index 97f8e2bb6d81..346cfc4fb392 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -2371,7 +2371,7 @@ static const struct camss_subdev_resources vfe_res_85= 50[] =3D { .is_lite =3D false, .has_pd =3D true, .pd_name =3D "ife0", - .hw_ops =3D &vfe_ops_780, + .hw_ops =3D &vfe_ops_gen3, .formats_rdi =3D &vfe_formats_rdi_845, .formats_pix =3D &vfe_formats_pix_845 } @@ -2395,7 +2395,7 @@ static const struct camss_subdev_resources vfe_res_85= 50[] =3D { .is_lite =3D false, .has_pd =3D true, .pd_name =3D "ife1", - .hw_ops =3D &vfe_ops_780, + .hw_ops =3D &vfe_ops_gen3, .formats_rdi =3D &vfe_formats_rdi_845, .formats_pix =3D &vfe_formats_pix_845 } @@ -2419,7 +2419,7 @@ static const struct camss_subdev_resources vfe_res_85= 50[] =3D { .is_lite =3D false, .has_pd =3D true, .pd_name =3D "ife2", - .hw_ops =3D &vfe_ops_780, + .hw_ops =3D &vfe_ops_gen3, .formats_rdi =3D &vfe_formats_rdi_845, .formats_pix =3D &vfe_formats_pix_845 } @@ -2441,7 +2441,7 @@ static const struct camss_subdev_resources vfe_res_85= 50[] =3D { .vfe =3D { .line_num =3D 4, .is_lite =3D true, - .hw_ops =3D &vfe_ops_780, + .hw_ops =3D &vfe_ops_gen3, .formats_rdi =3D &vfe_formats_rdi_845, .formats_pix =3D &vfe_formats_pix_845 } @@ -2463,7 +2463,7 @@ static const struct camss_subdev_resources vfe_res_85= 50[] =3D { .vfe =3D { .line_num =3D 4, .is_lite =3D true, - .hw_ops =3D &vfe_ops_780, + .hw_ops =3D &vfe_ops_gen3, .formats_rdi =3D &vfe_formats_rdi_845, .formats_pix =3D &vfe_formats_pix_845 } --=20 2.25.1 From nobody Sun Oct 5 07:26:08 2025 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 457E525393B; Thu, 7 Aug 2025 12:11: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=1754568722; cv=none; b=JUSvERoZjTOOr+Vsu2Uqyd8qfw2Tjci66xZFCktn7HoodPig17VTeL6fkZAWXps/yVuB0yTvlASuoE7VF80QM7xpNLuJjuotjYevSuUfEEZcibvl7n2SBwkewXf/VAh/3nq1140llCpIxSMRmR/7308y25/2OHCqTYywMumTeIc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754568722; c=relaxed/simple; bh=UdMLZj0FIanJjkEx4Xi1PkmIn8+qgPJpl17wzp2JAn4=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=hONVadEv2dA0YDpUSUb0NU/NUHSMauuuRUaAYGcLG6Ga0COnvqwBtAr7fkK1T5icwwO1J/aIFm6ybngY6zTIgRHJ0B4KNPetWoqzy+2gZnDBluYAkux3wGPY3+e7+/z8h8GLh15EiFYHXfNxEAdMKsZ1nFad2mIrBPnatBDH7R0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=IYwaB9wa; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="IYwaB9wa" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5779DCun012830; Thu, 7 Aug 2025 12:11:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= BhcB55yDj3TYiNloUxJPyP3pVMYuv0EZkQnx9a/THfM=; b=IYwaB9waKNxkwvyk dpgmSexYUXLABAu3FzILtft/G6Mr/5ACuZWxKCzfMSPnF2twymeoAwjZsJhSVyoC ZfcmW9GsRbzq6YuDFc6U9zQnHE0EKlZW/ncJxSvDjpqjIB/9LPSeQs293XcB7Xhk ght1MdWjFBT3+Y08ciF/X1f7pcI/s9CdoI8WXVaYeWlr8JdgkH7e70pcg1QIG6cM Zh/kWE8ZIUUaNKTfEAJAf4dy1zLoHBS1PZwQppVnUDc91oaK7jB8qG6EtYrDg/8f /YpFr4+Jxdf2zkSGUr/TpLxMi80xo43Q0SKWo8HyKRmtJ/52OZZRlzvyNiCPzm0c P94QwQ== Received: from nasanppmta04.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48bpybea4q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 07 Aug 2025 12:11:50 +0000 (GMT) Received: from nasanex01b.na.qualcomm.com (nasanex01b.na.qualcomm.com [10.46.141.250]) by NASANPPMTA04.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 577CBgH2024431 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 7 Aug 2025 12:11:42 GMT Received: from hu-vikramsa-hyd.qualcomm.com (10.80.80.8) by nasanex01b.na.qualcomm.com (10.46.141.250) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.10; Thu, 7 Aug 2025 05:11:36 -0700 From: Vikram Sharma To: , , , , , , , , , , , , CC: , , , , , , Wenmeng Liu , Krzysztof Kozlowski Subject: [PATCH v4 3/9] media: dt-bindings: Add qcom,sa8775p-camss compatible Date: Thu, 7 Aug 2025 17:40:59 +0530 Message-ID: <20250807121105.710072-4-quic_vikramsa@quicinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250807121105.710072-1-quic_vikramsa@quicinc.com> References: <20250807121105.710072-1-quic_vikramsa@quicinc.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nasanex01b.na.qualcomm.com (10.46.141.250) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA2MDAwOSBTYWx0ZWRfX3UT/elUAt25V rE1UdDTT9vik0+Q/whNnH+oA/7T7SIYmcxKdkDPfxnG2IRa5SotMRv6QLYgkuHA0ggPh8Az0GhT XQBLPvHhMan27gRDNWOd+QRlWog4gxMsBF3839assXj89wCXmkbZEfQfxjLk8JYskgvGsYAspEV IIfcYBI/zXBZCWgiRxOCJebRa4qtgODMkqMOn0uDl9JB2zq8B6eAd/NipJDvEzydG0oIkQ0hXEW N01wn1tM6Wj37P4iYgVn5ufStI0bwQO6tSD62TwMFG8HNlM2zW6larFWsBkmbgmS/5XZ49UAQ6a jF7x9p+UT3B2wcER3Q3lgbLxsCtIEqhYVlmY0CGdlAKDGbBrh37f3fD5xTC9Z2OVAa2w9kclRZ5 Ul+8I0ap X-Proofpoint-GUID: V46utYZ32rqlZcrueaBuUN766DxCNDOp X-Authority-Analysis: v=2.4 cv=EavIQOmC c=1 sm=1 tr=0 ts=68949806 cx=c_pps a=JYp8KDb2vCoCEuGobkYCKw==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17 a=GEpy-HfZoHoA:10 a=2OwXVqhp2XgA:10 a=gEfo2CItAAAA:8 a=COk6AnOGAAAA:8 a=KKAkSRfTAAAA:8 a=RQ1WPPV2gZYAH0lKadAA:9 a=sptkURWiP4Gy88Gu7hUp:22 a=TjNXssC_j7lpFel5tvFf:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: V46utYZ32rqlZcrueaBuUN766DxCNDOp X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-07_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 clxscore=1015 priorityscore=1501 adultscore=0 bulkscore=0 phishscore=0 spamscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508060009 Content-Type: text/plain; charset="utf-8" Add the compatible string "qcom,sa8775p-camss" to support the Camera Subsystem (CAMSS) on the Qualcomm SA8775P platform. The SA8775P platform provides: - 2 x VFE (version 690), each with 3 RDI - 5 x VFE Lite (version 690), each with 6 RDI - 2 x CSID (version 690) - 5 x CSID Lite (version 690) - 4 x CSIPHY (version 690) - 3 x TPG SA8775P is the first Qualcomm SoC to introduce a CSIPHY-based Test Pattern Generator (TPG). Co-developed-by: Wenmeng Liu Signed-off-by: Wenmeng Liu Signed-off-by: Vikram Sharma Reviewed-by: Krzysztof Kozlowski Reviewed-by: Bryan O'Donoghue --- .../bindings/media/qcom,sa8775p-camss.yaml | 361 ++++++++++++++++++ 1 file changed, 361 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/qcom,sa8775p-ca= mss.yaml diff --git a/Documentation/devicetree/bindings/media/qcom,sa8775p-camss.yam= l b/Documentation/devicetree/bindings/media/qcom,sa8775p-camss.yaml new file mode 100644 index 000000000000..019caa2b09c3 --- /dev/null +++ b/Documentation/devicetree/bindings/media/qcom,sa8775p-camss.yaml @@ -0,0 +1,361 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/qcom,sa8775p-camss.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm SA8775P CAMSS ISP + +maintainers: + - Vikram Sharma + +description: + The CAMSS IP is a CSI decoder and ISP present on Qualcomm platforms. + +properties: + compatible: + const: qcom,sa8775p-camss + + reg: + maxItems: 22 + + reg-names: + items: + - const: csid_wrapper + - const: csid0 + - const: csid1 + - const: csid_lite0 + - const: csid_lite1 + - const: csid_lite2 + - const: csid_lite3 + - const: csid_lite4 + - const: csiphy0 + - const: csiphy1 + - const: csiphy2 + - const: csiphy3 + - const: tpg0 + - const: tpg1 + - const: tpg2 + - const: vfe0 + - const: vfe1 + - const: vfe_lite0 + - const: vfe_lite1 + - const: vfe_lite2 + - const: vfe_lite3 + - const: vfe_lite4 + + clocks: + maxItems: 28 + + clock-names: + items: + - const: camnoc_axi + - const: core_ahb + - const: cpas_ahb + - const: cpas_fast_ahb_clk + - const: cpas_vfe_lite + - const: cpas_vfe0 + - const: cpas_vfe1 + - const: csid + - const: csiphy0 + - const: csiphy0_timer + - const: csiphy1 + - const: csiphy1_timer + - const: csiphy2 + - const: csiphy2_timer + - const: csiphy3 + - const: csiphy3_timer + - const: csiphy_rx + - const: gcc_axi_hf + - const: gcc_axi_sf + - const: icp_ahb + - const: vfe0 + - const: vfe0_fast_ahb + - const: vfe1 + - const: vfe1_fast_ahb + - const: vfe_lite + - const: vfe_lite_ahb + - const: vfe_lite_cphy_rx + - const: vfe_lite_csid + + interrupts: + maxItems: 21 + + interrupt-names: + items: + - const: csid0 + - const: csid1 + - const: csid_lite0 + - const: csid_lite1 + - const: csid_lite2 + - const: csid_lite3 + - const: csid_lite4 + - const: csiphy0 + - const: csiphy1 + - const: csiphy2 + - const: csiphy3 + - const: tpg0 + - const: tpg1 + - const: tpg2 + - const: vfe0 + - const: vfe1 + - const: vfe_lite0 + - const: vfe_lite1 + - const: vfe_lite2 + - const: vfe_lite3 + - const: vfe_lite4 + + interconnects: + maxItems: 2 + + interconnect-names: + items: + - const: ahb + - const: hf_0 + + iommus: + maxItems: 1 + + power-domains: + items: + - description: Titan GDSC - Titan ISP Block, Global Distributed Swit= ch Controller. + + power-domain-names: + items: + - const: top + + vdda-phy-supply: + description: + Phandle to a regulator supply to PHY core block. + + vdda-pll-supply: + description: + Phandle to 1.8V regulator supply to PHY refclk pll block. + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + description: + CSI input ports. + + patternProperties: + "^port@[0-3]+$": + $ref: /schemas/graph.yaml#/$defs/port-base + unevaluatedProperties: false + description: + Input port for receiving CSI data on CSIPHY 0-3. + + properties: + endpoint: + $ref: video-interfaces.yaml# + unevaluatedProperties: false + + properties: + data-lanes: + minItems: 1 + maxItems: 4 + + required: + - data-lanes + +required: + - compatible + - reg + - reg-names + - clocks + - clock-names + - interrupts + - interrupt-names + - interconnects + - interconnect-names + - iommus + - power-domains + - power-domain-names + - vdda-phy-supply + - vdda-pll-supply + - ports + +additionalProperties: false + +examples: + - | + #include + #include + #include + #include + #include + #include + + soc { + #address-cells =3D <2>; + #size-cells =3D <2>; + + isp@ac78000 { + compatible =3D "qcom,sa8775p-camss"; + + reg =3D <0x0 0xac78000 0x0 0x1000>, + <0x0 0xac7a000 0x0 0x0f00>, + <0x0 0xac7c000 0x0 0x0f00>, + <0x0 0xac84000 0x0 0x0f00>, + <0x0 0xac88000 0x0 0x0f00>, + <0x0 0xac8c000 0x0 0x0f00>, + <0x0 0xac90000 0x0 0x0f00>, + <0x0 0xac94000 0x0 0x0f00>, + <0x0 0xac9c000 0x0 0x2000>, + <0x0 0xac9e000 0x0 0x2000>, + <0x0 0xaca0000 0x0 0x2000>, + <0x0 0xaca2000 0x0 0x2000>, + <0x0 0xacac000 0x0 0x0400>, + <0x0 0xacad000 0x0 0x0400>, + <0x0 0xacae000 0x0 0x0400>, + <0x0 0xac4d000 0x0 0xd000>, + <0x0 0xac5a000 0x0 0xd000>, + <0x0 0xac85000 0x0 0x0d00>, + <0x0 0xac89000 0x0 0x0d00>, + <0x0 0xac8d000 0x0 0x0d00>, + <0x0 0xac91000 0x0 0x0d00>, + <0x0 0xac95000 0x0 0x0d00>; + reg-names =3D "csid_wrapper", + "csid0", + "csid1", + "csid_lite0", + "csid_lite1", + "csid_lite2", + "csid_lite3", + "csid_lite4", + "csiphy0", + "csiphy1", + "csiphy2", + "csiphy3", + "tpg0", + "tpg1", + "tpg2", + "vfe0", + "vfe1", + "vfe_lite0", + "vfe_lite1", + "vfe_lite2", + "vfe_lite3", + "vfe_lite4"; + + clocks =3D <&camcc CAM_CC_CAMNOC_AXI_CLK>, + <&camcc CAM_CC_CORE_AHB_CLK>, + <&camcc CAM_CC_CPAS_AHB_CLK>, + <&camcc CAM_CC_CPAS_FAST_AHB_CLK>, + <&camcc CAM_CC_CPAS_IFE_LITE_CLK>, + <&camcc CAM_CC_CPAS_IFE_0_CLK>, + <&camcc CAM_CC_CPAS_IFE_1_CLK>, + <&camcc CAM_CC_CSID_CLK>, + <&camcc CAM_CC_CSIPHY0_CLK>, + <&camcc CAM_CC_CSI0PHYTIMER_CLK>, + <&camcc CAM_CC_CSIPHY1_CLK>, + <&camcc CAM_CC_CSI1PHYTIMER_CLK>, + <&camcc CAM_CC_CSIPHY2_CLK>, + <&camcc CAM_CC_CSI2PHYTIMER_CLK>, + <&camcc CAM_CC_CSIPHY3_CLK>, + <&camcc CAM_CC_CSI3PHYTIMER_CLK>, + <&camcc CAM_CC_CSID_CSIPHY_RX_CLK>, + <&gcc GCC_CAMERA_HF_AXI_CLK>, + <&gcc GCC_CAMERA_SF_AXI_CLK>, + <&camcc CAM_CC_ICP_AHB_CLK>, + <&camcc CAM_CC_IFE_0_CLK>, + <&camcc CAM_CC_IFE_0_FAST_AHB_CLK>, + <&camcc CAM_CC_IFE_1_CLK>, + <&camcc CAM_CC_IFE_1_FAST_AHB_CLK>, + <&camcc CAM_CC_IFE_LITE_CLK>, + <&camcc CAM_CC_IFE_LITE_AHB_CLK>, + <&camcc CAM_CC_IFE_LITE_CPHY_RX_CLK>, + <&camcc CAM_CC_IFE_LITE_CSID_CLK>; + clock-names =3D "camnoc_axi", + "core_ahb", + "cpas_ahb", + "cpas_fast_ahb_clk", + "cpas_vfe_lite", + "cpas_vfe0", + "cpas_vfe1", + "csid", + "csiphy0", + "csiphy0_timer", + "csiphy1", + "csiphy1_timer", + "csiphy2", + "csiphy2_timer", + "csiphy3", + "csiphy3_timer", + "csiphy_rx", + "gcc_axi_hf", + "gcc_axi_sf", + "icp_ahb", + "vfe0", + "vfe0_fast_ahb", + "vfe1", + "vfe1_fast_ahb", + "vfe_lite", + "vfe_lite_ahb", + "vfe_lite_cphy_rx", + "vfe_lite_csid"; + + interrupts =3D , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + interrupt-names =3D "csid0", + "csid1", + "csid_lite0", + "csid_lite1", + "csid_lite2", + "csid_lite3", + "csid_lite4", + "csiphy0", + "csiphy1", + "csiphy2", + "csiphy3", + "tpg0", + "tpg1", + "tpg2", + "vfe0", + "vfe1", + "vfe_lite0", + "vfe_lite1", + "vfe_lite2", + "vfe_lite3", + "vfe_lite4"; + + interconnects =3D <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACT= IVE_ONLY + &config_noc SLAVE_CAMERA_CFG QCOM_ICC_TAG_ACT= IVE_ONLY>, + <&mmss_noc MASTER_CAMNOC_HF QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "ahb", + "hf_0"; + + iommus =3D <&apps_smmu 0x3400 0x20>; + + power-domains =3D <&camcc CAM_CC_TITAN_TOP_GDSC>; + power-domain-names =3D "top"; + + vdda-phy-supply =3D <&vreg_l4a_0p88>; + vdda-pll-supply =3D <&vreg_l1c_1p2>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + }; + }; + }; --=20 2.25.1 From nobody Sun Oct 5 07:26:08 2025 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 D2F81246761; Thu, 7 Aug 2025 12:11:57 +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=1754568719; cv=none; b=EesGIbshUyyaCc9PDPKciMKHvoqHlcZN6Jm+UyFXTt0aXWM4ASUZdBFAegJ1QR31rQ8L4poG5AzYLSFlILdhbf7ShZpBlGjo605hbaxHsNPWmOcFBU0DDRZXjYozRhhe72eIPZMORhUbQrTmc6hmuMuzQzQbAdl44Ok2X3kpSlI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754568719; c=relaxed/simple; bh=hqlE0XckVoUgsvHmM7UX7nbAabm9mlf3eWocFV7W3mU=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=SjqZ3k10UVb54doIVkL4UwLrVlLaX9zIyt0oJJpb6lTx8ZV2dbI7QMXZF5Ep2SvL6G7J5XR/UDGA32sFLeiZdDe1uAeLP5HXOqn32QujaUrC2g6KJNLuVplbC1hvL2vA/vttIAaIOlsWlM0N/vNPQkjBz262/D78VuuYbM9cpho= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=JR3KFNMu; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="JR3KFNMu" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5779Cvol018054; Thu, 7 Aug 2025 12:11:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= qAvJ9BU4lGcGgfLzMFd4cNDHaR/UvnJIKRQafMp6WQw=; b=JR3KFNMu/Bvr7ZIi mJB0ctsomKSyKkOzcVV7QIjL7PQsXZ7U35A0lRCwtpiV0iTdLSVAb8kEpCXfiEl8 XKqJcMv1tI9LLVD1ShnzMPmR6rzyuOoUDJkK/QTPUQy9TLJgq+TKqui4i69mlFUK IJcpVirdtMB5r0PaurPWgGO5SfEFpvJZoFkodpEno2ECyvsfqqrXVJigJVwqFycp yReL7pI4CELC4FOLQb2LkNqQJ9EWOGC2AHUfACiCxHArRTMZW20vktWi4akaxON7 avOm7BpeAuSOZoeTcDGWk1aYtxK4kxQUfHgGjUatVkccH1QWyAjfawSYPo87lwCG JjV2sw== Received: from nasanppmta02.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48c586bt9m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 07 Aug 2025 12:11:48 +0000 (GMT) Received: from nasanex01b.na.qualcomm.com (nasanex01b.na.qualcomm.com [10.46.141.250]) by NASANPPMTA02.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 577CBlsV028445 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 7 Aug 2025 12:11:47 GMT Received: from hu-vikramsa-hyd.qualcomm.com (10.80.80.8) by nasanex01b.na.qualcomm.com (10.46.141.250) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.10; Thu, 7 Aug 2025 05:11:42 -0700 From: Vikram Sharma To: , , , , , , , , , , , , CC: , , , , , Subject: [PATCH v4 4/9] media: qcom: camss: Add sa8775p compatible Date: Thu, 7 Aug 2025 17:41:00 +0530 Message-ID: <20250807121105.710072-5-quic_vikramsa@quicinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250807121105.710072-1-quic_vikramsa@quicinc.com> References: <20250807121105.710072-1-quic_vikramsa@quicinc.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nasanex01b.na.qualcomm.com (10.46.141.250) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: BkT3NDwMRqn-OA-69lhBR8mD5Zcd5Vkb X-Authority-Analysis: v=2.4 cv=MZpsu4/f c=1 sm=1 tr=0 ts=68949804 cx=c_pps a=JYp8KDb2vCoCEuGobkYCKw==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17 a=GEpy-HfZoHoA:10 a=2OwXVqhp2XgA:10 a=COk6AnOGAAAA:8 a=KKAkSRfTAAAA:8 a=gE60Ov1lhapgyOv8Ur0A:9 a=TjNXssC_j7lpFel5tvFf:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: BkT3NDwMRqn-OA-69lhBR8mD5Zcd5Vkb X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA2MDA2NCBTYWx0ZWRfXztSsVdC9yFHC mzHmBy1B3j1wDjAnMYgSCw63KaQRFaZySvQQWCSfKpzX0RLch1TCJgVBRDr7N3GfYxcb/LiFr0o frifWQ/SesYBWdtJxlCAFRlVMX65lAeuszOumMkvykh6A1pSqdC+4ilGNu0mFmCdnvKF2vvZmFm mfK/Kh/d17AyYeF1G4y2AaPHVZpmayMtrLq3D2b+mEZhFWKyEj8vcxzm4KxT8DGEfiKCaGnwDcy vWy44uNhys0Dmmxj7PCzTFkOTyUsfZU6CSVqMy9qlmqgyNYOH3M9Mr3x5CaHk+tAJoMk/vzGnpV 2I2CntskK1E0UKlJ37leMw2pu9lVacLJUzEV2k8yXyEoy7hWljyNRnOfi5iyN+kxFNKKg3FJXaJ CzhWObWU X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-07_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 spamscore=0 clxscore=1015 bulkscore=0 adultscore=0 suspectscore=0 phishscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508060064 Content-Type: text/plain; charset="utf-8" Add CAMSS_8775P enum, SA8775P compatible and sa8775p camss driver private data, the private data just include some basic information now, later changes will enumerate with csiphy, tpg, csid and vfe resources. Co-developed-by: Suresh Vankadara Signed-off-by: Suresh Vankadara Signed-off-by: Vikram Sharma Reviewed-by: Bryan O'Donoghue --- drivers/media/platform/qcom/camss/camss.c | 23 +++++++++++++++++++++++ drivers/media/platform/qcom/camss/camss.h | 1 + 2 files changed, 24 insertions(+) diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index 346cfc4fb392..98efc373a694 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -2483,6 +2483,19 @@ static const struct resources_icc icc_res_sm8550[] = =3D { }, }; =20 +static const struct resources_icc icc_res_sa8775p[] =3D { + { + .name =3D "ahb", + .icc_bw_tbl.avg =3D 38400, + .icc_bw_tbl.peak =3D 76800, + }, + { + .name =3D "hf_0", + .icc_bw_tbl.avg =3D 2097152, + .icc_bw_tbl.peak =3D 2097152, + }, +}; + static const struct camss_subdev_resources csiphy_res_x1e80100[] =3D { /* CSIPHY0 */ { @@ -3752,6 +3765,15 @@ static const struct camss_resources msm8996_resource= s =3D { .link_entities =3D camss_link_entities }; =20 + +static const struct camss_resources sa8775p_resources =3D { + .version =3D CAMSS_8775P, + .pd_name =3D "top", + .icc_res =3D icc_res_sa8775p, + .icc_path_num =3D ARRAY_SIZE(icc_res_sa8775p), + .link_entities =3D camss_link_entities +}; + static const struct camss_resources sdm660_resources =3D { .version =3D CAMSS_660, .csiphy_res =3D csiphy_res_660, @@ -3864,6 +3886,7 @@ static const struct of_device_id camss_dt_match[] =3D= { { .compatible =3D "qcom,msm8916-camss", .data =3D &msm8916_resources }, { .compatible =3D "qcom,msm8953-camss", .data =3D &msm8953_resources }, { .compatible =3D "qcom,msm8996-camss", .data =3D &msm8996_resources }, + { .compatible =3D "qcom,sa8775p-camss", .data =3D &sa8775p_resources }, { .compatible =3D "qcom,sc7280-camss", .data =3D &sc7280_resources }, { .compatible =3D "qcom,sc8280xp-camss", .data =3D &sc8280xp_resources }, { .compatible =3D "qcom,sdm660-camss", .data =3D &sdm660_resources }, diff --git a/drivers/media/platform/qcom/camss/camss.h b/drivers/media/plat= form/qcom/camss/camss.h index 63c0afee154a..345479f6feba 100644 --- a/drivers/media/platform/qcom/camss/camss.h +++ b/drivers/media/platform/qcom/camss/camss.h @@ -86,6 +86,7 @@ enum camss_version { CAMSS_8280XP, CAMSS_845, CAMSS_8550, + CAMSS_8775P, CAMSS_X1E80100, }; =20 --=20 2.25.1 From nobody Sun Oct 5 07:26:08 2025 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 3763D2550AD; Thu, 7 Aug 2025 12:12:02 +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=1754568725; cv=none; b=Qyo2Fol7ZKOwSiIoUlP11A0AFJfO24gZod9BDlA6MNgZanRnl+AZFEGR56RZr4rUeJU7vrF/YmbHYI4tfELZSQcijMASjV7rKXYH7tlWBcyVg+qcpteFKZKmY255YAqAVTpRiKbPvQpM1PB/18KapTNEd3PnJC1rnmF1+A+DdHY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754568725; c=relaxed/simple; bh=PwJu+naTUpdMTXgw5LcXPjW9qxM1JJfT5RpLnxW+wmI=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=XwVWr/yTPTRHI+Qg9yatJbf5PcHwrvjt6GZI824rIjWPXG+boarzwYfGbAXmbFn6023g5OITLtYUTQ4S+AqgsjE7KYfIF2fbVA8YvBpvBUZc4X/zTPI5pc5TQS6zYzhuX/ZaRh5Z+mWzOJFgbPD6guk/5nlegOOsbNxBqoijqh0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=HOTfRaBX; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="HOTfRaBX" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5779D32q024848; Thu, 7 Aug 2025 12:11:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 2e7lDOJAVb3vJwtp+kFnliqGrJqkpJO8mM6pt6XWW0w=; b=HOTfRaBXSJ87P6ko 7bDIuL7VfXAImfEwpk2wji6SzIsteKgDYKUKRJrJZYlYmD7nZKeTmHdtZrLC4IIN 91GGl+qqwSE0C93cNc8DIuew3nb5Hp6ZDuNEDhU2Whi7qQl5NwVUaCsIYvEerMF6 pWzxtJvRWYC5dcwS6lndn9zdit8yGF4jkRVFXnxKY9X89o4qnSfLZ94lrnvwzflN EbOaeMNI/3zQqoo91/+1DvxIHDFrE43I3uJ3odhKgTSlrIBBhJIrHcoDXZnr+h9m nENG+EiYOAuCAZaoim92rQhSBsGE9K9/0P4nAjyH0yjZ5FA1khuwkjJq/eo8UHrF ENzvMQ== Received: from nasanppmta05.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48bpw1e5um-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 07 Aug 2025 12:11:54 +0000 (GMT) Received: from nasanex01b.na.qualcomm.com (nasanex01b.na.qualcomm.com [10.46.141.250]) by NASANPPMTA05.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 577CBrEe025556 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 7 Aug 2025 12:11:53 GMT Received: from hu-vikramsa-hyd.qualcomm.com (10.80.80.8) by nasanex01b.na.qualcomm.com (10.46.141.250) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.10; Thu, 7 Aug 2025 05:11:47 -0700 From: Vikram Sharma To: , , , , , , , , , , , , CC: , , , , , , Wenmeng Liu Subject: [PATCH v4 5/9] media: qcom: camss: Add support for CSIPHY 690 Date: Thu, 7 Aug 2025 17:41:01 +0530 Message-ID: <20250807121105.710072-6-quic_vikramsa@quicinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250807121105.710072-1-quic_vikramsa@quicinc.com> References: <20250807121105.710072-1-quic_vikramsa@quicinc.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nasanex01b.na.qualcomm.com (10.46.141.250) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA2MDAwOSBTYWx0ZWRfX8Jkq27e3MNe5 OfF5HLLm7LwkwR3WO4goswHsvW/t+IotvBrX7b2nWy4rpy8amCuzFyRtn5qxRBdQprljIz+CHoo JkhF2Fk29nviUk5CF47IByv4wdKiJ2yH2Xt/jCJs+sR9tLIvp4af3uLDxFZvKZDlf/BNgAuTwwj NophjR/t/uishau9N9XgMCgw5hNAnQb6G5v4l7li9QBkNQvzPqQl62GKlJX2W8b6LM5oLewdEki mEf8qGC8hwmVDPMWa4ppcCGDrAHpy3lbvayQ5VbuEOwzH/y4Mm+rlIbq94cVLu6yR8ZZ9ESuYdd Vi1wA4TjoqT+gICWFs3xm4Cpz77dc0aL0cc1qgGBxmdhkE04ldUtJDXoQQolCSc/xU3SJmdLzwZ hTI0f+eQ X-Authority-Analysis: v=2.4 cv=Ha4UTjE8 c=1 sm=1 tr=0 ts=6894980a cx=c_pps a=JYp8KDb2vCoCEuGobkYCKw==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17 a=GEpy-HfZoHoA:10 a=2OwXVqhp2XgA:10 a=COk6AnOGAAAA:8 a=KKAkSRfTAAAA:8 a=fK0l7MaaGrBJy32dX0YA:9 a=TjNXssC_j7lpFel5tvFf:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: MXgAHa5NkEKKzZgLJDk83-ekeF2q6kS9 X-Proofpoint-GUID: MXgAHa5NkEKKzZgLJDk83-ekeF2q6kS9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-07_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 phishscore=0 bulkscore=0 adultscore=0 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508060009 Content-Type: text/plain; charset="utf-8" Add support for CSIPHY found on SA8775P (Titan 690). This implementation is based on the titan 690 implementation. Co-developed-by: Wenmeng Liu Signed-off-by: Wenmeng Liu Signed-off-by: Vikram Sharma Reviewed-by: Bryan O'Donoghue --- .../qcom/camss/camss-csiphy-3ph-1-0.c | 84 +++++++++++++++++++ drivers/media/platform/qcom/camss/camss.c | 71 ++++++++++++++++ 2 files changed, 155 insertions(+) diff --git a/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c b/dri= vers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c index 88c0ba495c32..a610504359d0 100644 --- a/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c +++ b/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c @@ -64,6 +64,85 @@ struct csiphy_lane_regs { u32 csiphy_param_type; }; =20 +/* 5nm 2PH v 1.3.0 2p5Gbps 4 lane DPHY mode */ +static const struct +csiphy_lane_regs lane_regs_sa8775p[] =3D { + {0x0724, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0728, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0700, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x070C, 0xFF, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0738, 0x1F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x072C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0734, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0710, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x071C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0714, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x073C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0704, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0720, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0708, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0024, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0000, 0x8D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0038, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x002C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0034, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0010, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x001C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0014, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x003C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0004, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0008, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0224, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0200, 0x8D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0238, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x022C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0234, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0210, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x021C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0214, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x023C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0204, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0220, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0208, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0424, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0400, 0x8D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0438, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x042C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0434, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0410, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x041C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0414, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x043C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0404, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0420, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0408, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x0624, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0600, 0x8D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0638, 0xFE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x062C, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0634, 0x0F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0610, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x061C, 0x0A, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0614, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x063C, 0xB8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0604, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0620, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0608, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, + {0x005C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0060, 0xFD, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0064, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x025C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0260, 0xFD, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0264, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x045C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0460, 0xFD, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0464, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x065C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0660, 0xFD, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x0664, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + /* GEN2 1.0 2PH */ static const struct csiphy_lane_regs lane_regs_sdm845[] =3D { @@ -749,6 +828,7 @@ static bool csiphy_is_gen2(u32 version) case CAMSS_8280XP: case CAMSS_845: case CAMSS_8550: + case CAMSS_8775P: case CAMSS_X1E80100: ret =3D true; break; @@ -848,6 +928,10 @@ static int csiphy_init(struct csiphy_device *csiphy) regs->lane_array_size =3D ARRAY_SIZE(lane_regs_sm8550); regs->offset =3D 0x1000; break; + case CAMSS_8775P: + regs->lane_regs =3D &lane_regs_sa8775p[0]; + regs->lane_array_size =3D ARRAY_SIZE(lane_regs_sa8775p); + break; default: break; } diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index 98efc373a694..4767d4e7c306 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -2483,6 +2483,77 @@ static const struct resources_icc icc_res_sm8550[] = =3D { }, }; =20 +static const struct camss_subdev_resources csiphy_res_8775p[] =3D { + /* CSIPHY0 */ + { + .regulators =3D { "vdda-phy", "vdda-pll" }, + .clock =3D { "csiphy_rx", "csiphy0", "csiphy0_timer"}, + .clock_rate =3D { + { 400000000 }, + { 0 }, + { 400000000 }, + }, + .reg =3D { "csiphy0" }, + .interrupt =3D { "csiphy0" }, + .csiphy =3D { + .id =3D 0, + .hw_ops =3D &csiphy_ops_3ph_1_0, + .formats =3D &csiphy_formats_sdm845 + } + }, + /* CSIPHY1 */ + { + .regulators =3D { "vdda-phy", "vdda-pll" }, + .clock =3D { "csiphy_rx", "csiphy1", "csiphy1_timer"}, + .clock_rate =3D { + { 400000000 }, + { 0 }, + { 400000000 }, + }, + .reg =3D { "csiphy1" }, + .interrupt =3D { "csiphy1" }, + .csiphy =3D { + .id =3D 1, + .hw_ops =3D &csiphy_ops_3ph_1_0, + .formats =3D &csiphy_formats_sdm845 + } + }, + /* CSIPHY2 */ + { + .regulators =3D { "vdda-phy", "vdda-pll" }, + .clock =3D { "csiphy_rx", "csiphy2", "csiphy2_timer"}, + .clock_rate =3D { + { 400000000 }, + { 0 }, + { 400000000 }, + }, + .reg =3D { "csiphy2" }, + .interrupt =3D { "csiphy2" }, + .csiphy =3D { + .id =3D 2, + .hw_ops =3D &csiphy_ops_3ph_1_0, + .formats =3D &csiphy_formats_sdm845 + } + }, + /* CSIPHY3 */ + { + .regulators =3D { "vdda-phy", "vdda-pll" }, + .clock =3D { "csiphy_rx", "csiphy3", "csiphy3_timer"}, + .clock_rate =3D { + { 400000000 }, + { 0 }, + { 400000000 }, + }, + .reg =3D { "csiphy3" }, + .interrupt =3D { "csiphy3" }, + .csiphy =3D { + .id =3D 3, + .hw_ops =3D &csiphy_ops_3ph_1_0, + .formats =3D &csiphy_formats_sdm845 + } + }, +}; + static const struct resources_icc icc_res_sa8775p[] =3D { { .name =3D "ahb", --=20 2.25.1 From nobody Sun Oct 5 07:26:08 2025 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 8FE8A2571DD; Thu, 7 Aug 2025 12:12:07 +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=1754568729; cv=none; b=fIIRI2CPU5fgaKJ54Ug54nDIBw2eIiSQySdW72xlctihOYlbWwLscHXwzJweVA9TeI+BNWkpVAN+EEvklRuJH9GHmE6aibMSArw9iPBym6FeKviNBQbB3TqU2ZoHbQ5Bwk+ybeMYY73axb87SBf5aQq+nMSljO7J3jX/LSDMQww= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754568729; c=relaxed/simple; bh=h9yAZiled05gNJB9cIUDqxhdja/Liuv5Fzx8JZCGZ7Y=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=dFYexGUAV5Z2UDMoNwnNxtyRGfnM1nnZBaqerjxiJDVLY6rTwMLMudc0hmZxCrZ1xutq83NHLiBIL+yjWOAdy+sJa4KmHiVRz8GrJJMNvzLCIY6EBC/PFRoUoqDXVa410Jdt8lJE8T5ITrhjjZceMVnCw5jriAShDFquHi0DuOI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=WRyQdegD; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="WRyQdegD" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5779DA0O025036; Thu, 7 Aug 2025 12:11:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 5cNQTbanw9ysVuDAyk0Q3wVAM7x04oSq5dpdpJd7jsc=; b=WRyQdegDhdSYqGxl YJWgzEpoCG8LNm16t1zkagyMU0XRxr1B3Mzrvk1FzgRSPhHtd9e5aNGpF8+uzNFr p5/YmaZE8G8XIbkszjiZy9xlXxjdBVrRdMqHF7p/DTKOUg1R5KMG95iNNU72hbOr uX2r7fzCKBjPsijX/+EjlAe3/h9LleYQ2ZPoFlWFSPcrTXnihNx2+23qW4jSqv+L VmzFr9a0U7uTWOIrEna+7A6GclAqEkKcAJQSd7Dts+PjRQ9oashBrmCqRuFYg41M ltgOILlDI/98TMRAmzijAgpRG4DoGmGvaO60NVcfNI6vaGP28h6efFSZEyLHCXrO ArJbiQ== Received: from nasanppmta03.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48bpw1e5us-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 07 Aug 2025 12:11:59 +0000 (GMT) Received: from nasanex01b.na.qualcomm.com (nasanex01b.na.qualcomm.com [10.46.141.250]) by NASANPPMTA03.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 577CBwfi006068 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 7 Aug 2025 12:11:58 GMT Received: from hu-vikramsa-hyd.qualcomm.com (10.80.80.8) by nasanex01b.na.qualcomm.com (10.46.141.250) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.10; Thu, 7 Aug 2025 05:11:53 -0700 From: Vikram Sharma To: , , , , , , , , , , , , CC: , , , , , Subject: [PATCH v4 6/9] media: qcom: camss: Add support for CSID for sa8775p Date: Thu, 7 Aug 2025 17:41:02 +0530 Message-ID: <20250807121105.710072-7-quic_vikramsa@quicinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250807121105.710072-1-quic_vikramsa@quicinc.com> References: <20250807121105.710072-1-quic_vikramsa@quicinc.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nasanex01b.na.qualcomm.com (10.46.141.250) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA2MDAwOSBTYWx0ZWRfX/zw1+XDyug/D 6sK4McrlXfdnRuRzdUm03bRidbzK1xiPVk3iy5tLFOeIuCx29vY27skDyytz7Abmj3PIGFGLU4L /LNnDuWMYuB2y1kPsXyUpV3GuxWRAiPStYaeSMSUx4axSd2YU66q/vBd0o96GNcbOU+13CKyFl7 0H6dj8213mdR5tQIc0cUUKrGcPlFfNBWKtIa3MVH/4VUN4V2DQyACH1w2lZ7ydmaFjwGvbu2IBg Dzpjo3gFRLYqJkPxrPSAQZBNnoaAG6723EVu3P4M24aIpue8KRBuEmPuk4cis/W4Z4sg1JcYyjC CidSdS7hQsKsIwzPo9L954thvPMNNk+jnF+VdppuY+e1v0ylBYFj9j332AKpNKg3MnN9eK576oQ jMkKft7C X-Authority-Analysis: v=2.4 cv=Ha4UTjE8 c=1 sm=1 tr=0 ts=6894980f cx=c_pps a=JYp8KDb2vCoCEuGobkYCKw==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17 a=GEpy-HfZoHoA:10 a=2OwXVqhp2XgA:10 a=COk6AnOGAAAA:8 a=8yVpw4eTn7GS_Gpo2AoA:9 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-ORIG-GUID: S4R8FH9RY59tggK9_LIg0j55l9enlqZi X-Proofpoint-GUID: S4R8FH9RY59tggK9_LIg0j55l9enlqZi X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-07_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 phishscore=0 bulkscore=0 adultscore=0 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508060009 Content-Type: text/plain; charset="utf-8" The CSID in sa8775p is version 690, This csid is different from csid 780 w.r.t few bit-fields. Signed-off-by: Suresh Vankadara Signed-off-by: Vikram Sharma Reviewed-by: Bryan O'Donoghue --- .../platform/qcom/camss/camss-csid-gen3.c | 27 +++- drivers/media/platform/qcom/camss/camss.c | 133 ++++++++++++++++++ 2 files changed, 153 insertions(+), 7 deletions(-) diff --git a/drivers/media/platform/qcom/camss/camss-csid-gen3.c b/drivers/= media/platform/qcom/camss/camss-csid-gen3.c index 433908a54baa..fc6a9787febe 100644 --- a/drivers/media/platform/qcom/camss/camss-csid-gen3.c +++ b/drivers/media/platform/qcom/camss/camss-csid-gen3.c @@ -45,8 +45,11 @@ #define CSID_CSI2_RX_IRQ_CLEAR 0xA4 #define CSID_CSI2_RX_IRQ_SET 0xA8 =20 +#define IS_CSID_690(csid) (csid->camss->res->version =3D=3D CAMSS_8775P) #define CSID_BUF_DONE_IRQ_STATUS 0x8C -#define BUF_DONE_IRQ_STATUS_RDI_OFFSET (csid_is_lite(csid) ? 1 : 14) +#define BUF_DONE_IRQ_STATUS_RDI_OFFSET (csid_is_lite(csid) ?\ + 1 : (IS_CSID_690(csid) ?\ + 13 : 14)) #define CSID_BUF_DONE_IRQ_MASK 0x90 #define CSID_BUF_DONE_IRQ_CLEAR 0x94 #define CSID_BUF_DONE_IRQ_SET 0x98 @@ -59,6 +62,7 @@ =20 #define CSID_CSI2_RX_CFG0 0x200 #define CSI2_RX_CFG0_NUM_ACTIVE_LANES 0 +#define CSI2_RX_CFG0_VC_MODE 3 #define CSI2_RX_CFG0_DL0_INPUT_SEL 4 #define CSI2_RX_CFG0_PHY_NUM_SEL 20 =20 @@ -66,7 +70,9 @@ #define CSI2_RX_CFG1_ECC_CORRECTION_EN BIT(0) #define CSI2_RX_CFG1_VC_MODE BIT(2) =20 -#define CSID_RDI_CFG0(rdi) (0x500 + 0x100 * (rdi)) +#define CSID_RDI_CFG0(rdi) (csid_is_lite(csid) && IS_CSID_690(csid) ?\ + (0x300 + 0x100 * (rdi)) :\ + (0x500 + 0x100 * (rdi))) #define RDI_CFG0_TIMESTAMP_EN BIT(6) #define RDI_CFG0_TIMESTAMP_STB_SEL BIT(8) #define RDI_CFG0_DECODE_FORMAT 12 @@ -75,10 +81,14 @@ #define RDI_CFG0_DT_ID 27 #define RDI_CFG0_EN BIT(31) =20 -#define CSID_RDI_CTRL(rdi) (0x504 + 0x100 * (rdi)) +#define CSID_RDI_CTRL(rdi) (csid_is_lite(csid) && IS_CSID_690(csid) ?\ + (0x304 + 0x100 * (rdi)) :\ + (0x504 + 0x100 * (rdi))) #define RDI_CTRL_START_CMD BIT(0) =20 -#define CSID_RDI_CFG1(rdi) (0x510 + 0x100 * (rdi)) +#define CSID_RDI_CFG1(rdi) (csid_is_lite(csid) && IS_CSID_690(csid) ?\ + (0x310 + 0x100 * (rdi)) :\ + (0x510 + 0x100 * (rdi))) #define RDI_CFG1_DROP_H_EN BIT(5) #define RDI_CFG1_DROP_V_EN BIT(6) #define RDI_CFG1_CROP_H_EN BIT(7) @@ -86,9 +96,12 @@ #define RDI_CFG1_PIX_STORE BIT(10) #define RDI_CFG1_PACKING_FORMAT_MIPI BIT(15) =20 -#define CSID_RDI_IRQ_SUBSAMPLE_PATTERN(rdi) (0x548 + 0x100 * (rdi)) -#define CSID_RDI_IRQ_SUBSAMPLE_PERIOD(rdi) (0x54C + 0x100 * (rdi)) - +#define CSID_RDI_IRQ_SUBSAMPLE_PATTERN(rdi) (csid_is_lite(csid) && IS_CSID= _690(csid) ?\ + (0x348 + 0x100 * (rdi)) :\ + (0x548 + 0x100 * (rdi))) +#define CSID_RDI_IRQ_SUBSAMPLE_PERIOD(rdi) (csid_is_lite(csid) && IS_CSID_= 690(csid) ?\ + (0x34C + 0x100 * (rdi)) :\ + (0x54C + 0x100 * (rdi))) #define CSI2_RX_CFG0_PHY_SEL_BASE_IDX 1 =20 static void __csid_configure_rx(struct csid_device *csid, diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index 4767d4e7c306..5f1e267045cb 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -2554,6 +2554,139 @@ static const struct camss_subdev_resources csiphy_r= es_8775p[] =3D { }, }; =20 +static const struct camss_subdev_resources csid_res_8775p[] =3D { + /* CSID0 */ + { + .regulators =3D {}, + .clock =3D { "csid", "csiphy_rx"}, + .clock_rate =3D { + { 400000000, 400000000}, + { 400000000, 400000000} + }, + .reg =3D { "csid0" }, + .interrupt =3D { "csid0" }, + .csid =3D { + .is_lite =3D false, + .hw_ops =3D &csid_ops_gen3, + .parent_dev_ops =3D &vfe_parent_dev_ops, + .formats =3D &csid_formats_gen2 + } + }, + /* CSID1 */ + { + .regulators =3D {}, + .clock =3D { "csid", "csiphy_rx"}, + .clock_rate =3D { + { 400000000, 400000000}, + { 400000000, 400000000} + }, + .reg =3D { "csid1" }, + .interrupt =3D { "csid1" }, + .csid =3D { + .is_lite =3D false, + .hw_ops =3D &csid_ops_gen3, + .parent_dev_ops =3D &vfe_parent_dev_ops, + .formats =3D &csid_formats_gen2 + } + }, + + /* CSID2 (lite) */ + { + .regulators =3D {}, + .clock =3D { "cpas_vfe_lite", "vfe_lite_ahb", + "vfe_lite_csid", "vfe_lite_cphy_rx", + "vfe_lite"}, + .clock_rate =3D { + { 0, 0, 400000000, 400000000, 0}, + { 0, 0, 400000000, 480000000, 0} + }, + .reg =3D { "csid_lite0" }, + .interrupt =3D { "csid_lite0" }, + .csid =3D { + .is_lite =3D true, + .hw_ops =3D &csid_ops_gen3, + .parent_dev_ops =3D &vfe_parent_dev_ops, + .formats =3D &csid_formats_gen2 + } + }, + /* CSID3 (lite) */ + { + .regulators =3D {}, + .clock =3D { "cpas_vfe_lite", "vfe_lite_ahb", + "vfe_lite_csid", "vfe_lite_cphy_rx", + "vfe_lite"}, + .clock_rate =3D { + { 0, 0, 400000000, 400000000, 0}, + { 0, 0, 400000000, 480000000, 0} + }, + .reg =3D { "csid_lite1" }, + .interrupt =3D { "csid_lite1" }, + .csid =3D { + .is_lite =3D true, + .hw_ops =3D &csid_ops_gen3, + .parent_dev_ops =3D &vfe_parent_dev_ops, + .formats =3D &csid_formats_gen2 + } + }, + /* CSID4 (lite) */ + { + .regulators =3D {}, + .clock =3D { "cpas_vfe_lite", "vfe_lite_ahb", + "vfe_lite_csid", "vfe_lite_cphy_rx", + "vfe_lite"}, + .clock_rate =3D { + { 0, 0, 400000000, 400000000, 0}, + { 0, 0, 400000000, 480000000, 0} + }, + .reg =3D { "csid_lite2" }, + .interrupt =3D { "csid_lite2" }, + .csid =3D { + .is_lite =3D true, + .hw_ops =3D &csid_ops_gen3, + .parent_dev_ops =3D &vfe_parent_dev_ops, + .formats =3D &csid_formats_gen2 + } + }, + /* CSID5 (lite) */ + { + .regulators =3D {}, + .clock =3D { "cpas_vfe_lite", "vfe_lite_ahb", + "vfe_lite_csid", "vfe_lite_cphy_rx", + "vfe_lite"}, + .clock_rate =3D { + { 0, 0, 400000000, 400000000, 0}, + { 0, 0, 400000000, 480000000, 0} + }, + .reg =3D { "csid_lite3" }, + .interrupt =3D { "csid_lite3" }, + .csid =3D { + .is_lite =3D true, + .hw_ops =3D &csid_ops_gen3, + .parent_dev_ops =3D &vfe_parent_dev_ops, + .formats =3D &csid_formats_gen2 + } + }, + /* CSID6 (lite) */ + { + .regulators =3D {}, + .clock =3D { "cpas_vfe_lite", "vfe_lite_ahb", + "vfe_lite_csid", "vfe_lite_cphy_rx", + "vfe_lite"}, + .clock_rate =3D { + { 0, 0, 400000000, 400000000, 0}, + { 0, 0, 400000000, 480000000, 0} + }, + .reg =3D { "csid_lite4" }, + .interrupt =3D { "csid_lite4" }, + .csid =3D { + .is_lite =3D true, + .hw_ops =3D &csid_ops_gen3, + .parent_dev_ops =3D &vfe_parent_dev_ops, + .formats =3D &csid_formats_gen2 + } + }, +}; + static const struct resources_icc icc_res_sa8775p[] =3D { { .name =3D "ahb", --=20 2.25.1 From nobody Sun Oct 5 07:26:08 2025 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 C082124DD01; Thu, 7 Aug 2025 12:12:19 +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=1754568741; cv=none; b=HM4VDy7+4whEhSmJ14IMbXyxQLPnzBJTcqsnNu/MsCW15zVn8dNZmSdDYJ6E/Akc4NBdVLomU6kp3uZCU2gmazJi5HRXCNgOqawcUsZDMfjoCRhN4ydm1b3+5dW5XpVyqmMHLzd8JODFXrZ9PV1qWv38CY7Pvtb8NmKWtclX/y4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754568741; c=relaxed/simple; bh=OgHtndbooBAimDoFmMcjQ5PqQi6tTuf1xbk5eSNydpc=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=k3PWQlDrgmWO6h14aUCnbCgtoOSdBPdqoC4z9oZjEybfffLFgE30hfLB5vfgz2R2fk8U3CqHPt0fwnFUpt8sy+ObUa3Hr+bi5lcASzndgLig8eeahrSd+tNhn6HaUnAcEcJqgAm/JksBAZvnfZr0PS552g8Ulz13Z/k4mRG55yM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=Qep22W8Y; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="Qep22W8Y" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5779Cvfq024705; Thu, 7 Aug 2025 12:12:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= CLSE97XQJA0GYTi5Z7tWhSaP/3jwhyZ1sSpf75mMc9g=; b=Qep22W8Y4OETrufI aORGXCgv/bLkzfqTpuNgGxRZ3g6Vbz4VobSevAIolkkRDpwS5mvhW2Cd6a6nj6ls +BTwhJN2vLKEnyJECSrhbebRT0dhc5cVxXtoZVeTIFPjMdHosTIKK66Iac4USieB uhpG5onDOl+gFAkjBv7+XJ3nk+wJGLlMM/uY9T6J8lfhq0b3YZE2Q3ukEBUfArZw Ami20XDMNmlEjdujiqA1CU5QsfpaP5ja2EDunjyKTG64uQ9ykXEZKkBKLTPuhQ2y 07owW0rkr/68niWMpBxgQXT8ireEGLLVWi1bxpl5Dk1LIMkS4RqaPUNjnaV1te3T gPh2ew== Received: from nasanppmta05.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48bpw1e5v5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 07 Aug 2025 12:12:05 +0000 (GMT) Received: from nasanex01b.na.qualcomm.com (nasanex01b.na.qualcomm.com [10.46.141.250]) by NASANPPMTA05.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 577CC4s8025750 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 7 Aug 2025 12:12:04 GMT Received: from hu-vikramsa-hyd.qualcomm.com (10.80.80.8) by nasanex01b.na.qualcomm.com (10.46.141.250) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.10; Thu, 7 Aug 2025 05:11:58 -0700 From: Vikram Sharma To: , , , , , , , , , , , , CC: , , , , , , Wenmeng Liu Subject: [PATCH v4 7/9] media: qcom: camss: Add support for VFE 690 Date: Thu, 7 Aug 2025 17:41:03 +0530 Message-ID: <20250807121105.710072-8-quic_vikramsa@quicinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250807121105.710072-1-quic_vikramsa@quicinc.com> References: <20250807121105.710072-1-quic_vikramsa@quicinc.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nasanex01b.na.qualcomm.com (10.46.141.250) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA2MDAwOSBTYWx0ZWRfX6Ms/VhkVPHgK g7cOULcI3GHwbJdkDrdt27F/FAHXHYDRHfF4IGdF1e/ou/2cERtqxaUknlFnrgymBPnK2LiNx5+ Lm/a4sPjgywh+vXrWO8H9EEOZvd3fkmfJJg0GiTyFl/E0ark/P6E3qhK9/Aw5BCRBW3rLu4HTED t6ZxH8s1ACmU+hCZFilCSrjE/CFzV5L6SqcgitQJF+bSuMQ5dMwloEnk41N+HWolZp3dpMBXZGf aeFSkwP0sptfu7WEk2M6wYABWK2cGPKNE08FKqIQCKrNULsLGsfHVr8EdLIhgPqE+5Vn1V0opLQ dc6gNnITKbLuH5ueKN9lXpdMNp5CWpZM1W0eEp9gec+tDYGy8OJXLy1JSfEUtU4Lnr9y0SCiHCM 5u1hOVyr X-Authority-Analysis: v=2.4 cv=Ha4UTjE8 c=1 sm=1 tr=0 ts=68949815 cx=c_pps a=JYp8KDb2vCoCEuGobkYCKw==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17 a=GEpy-HfZoHoA:10 a=2OwXVqhp2XgA:10 a=COk6AnOGAAAA:8 a=365kDP01LW04tWo7BCMA:9 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-ORIG-GUID: 0gHkT4sh-TA_S_mpjST6QsqWsDIUveKL X-Proofpoint-GUID: 0gHkT4sh-TA_S_mpjST6QsqWsDIUveKL X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-07_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 phishscore=0 bulkscore=0 adultscore=0 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508060009 Content-Type: text/plain; charset="utf-8" Add support for VFE found on SA8775P (Titan 690). This VFE is different from vfe 780 w.r.t few register offsets. It supports two full and five lite VFE. Co-developed-by: Suresh Vankadara Signed-off-by: Suresh Vankadara Co-developed-by: Wenmeng Liu Signed-off-by: Wenmeng Liu Signed-off-by: Vikram Sharma Reviewed-by: Bryan O'Donoghue --- .../platform/qcom/camss/camss-vfe-gen3.c | 67 +++++-- drivers/media/platform/qcom/camss/camss-vfe.c | 5 +- drivers/media/platform/qcom/camss/camss.c | 174 ++++++++++++++++++ 3 files changed, 228 insertions(+), 18 deletions(-) diff --git a/drivers/media/platform/qcom/camss/camss-vfe-gen3.c b/drivers/m= edia/platform/qcom/camss/camss-vfe-gen3.c index 93d16b0951e9..f2001140ead1 100644 --- a/drivers/media/platform/qcom/camss/camss-vfe-gen3.c +++ b/drivers/media/platform/qcom/camss/camss-vfe-gen3.c @@ -12,13 +12,43 @@ #include "camss.h" #include "camss-vfe.h" =20 -#define BUS_REG_BASE (vfe_is_lite(vfe) ? 0x200 : 0xC00) +#define IS_VFE_690(vfe) \ + (vfe->camss->res->version =3D=3D CAMSS_8775P) + +#define BUS_REG_BASE_690 \ + (vfe_is_lite(vfe) ? 0x480 : 0x400) +#define BUS_REG_BASE_780 \ + (vfe_is_lite(vfe) ? 0x200 : 0xC00) +#define BUS_REG_BASE \ + (IS_VFE_690(vfe) ? BUS_REG_BASE_690 : BUS_REG_BASE_780) + +#define VFE_TOP_CORE_CFG (0x24) +#define VFE_DISABLE_DSCALING_DS4 BIT(21) +#define VFE_DISABLE_DSCALING_DS16 BIT(22) + +#define VFE_BUS_WM_TEST_BUS_CTRL_690 (BUS_REG_BASE + 0xFC) +#define VFE_BUS_WM_TEST_BUS_CTRL_780 (BUS_REG_BASE + 0xDC) +#define VFE_BUS_WM_TEST_BUS_CTRL \ + (IS_VFE_690(vfe) ? VFE_BUS_WM_TEST_BUS_CTRL_690 \ + : VFE_BUS_WM_TEST_BUS_CTRL_780) +/* + * Bus client mapping: + * + * Full VFE: + * VFE_690: 16 =3D RDI0, 17 =3D RDI1, 18 =3D RDI2 + * VFE_780: 23 =3D RDI0, 24 =3D RDI1, 25 =3D RDI2 + * + * VFE LITE: + * VFE_690 : 0 =3D RDI0, 1 =3D RDI1, 2 =3D RDI2, 3 =3D RDI3, 4 =3D RDI4, 5= =3D RDI5 + * VFE_780 : 0 =3D RDI0, 1 =3D RDI1, 2 =3D RDI2, 3 =3D RDI3, 4 =3D RDI4 + */ +#define RDI_WM_690(n) ((vfe_is_lite(vfe) ? 0x0 : 0x10) + (n)) +#define RDI_WM_780(n) ((vfe_is_lite(vfe) ? 0x0 : 0x17) + (n)) +#define RDI_WM(n) (IS_VFE_690(vfe) ? RDI_WM_690(n) : RDI_WM_780(n)) =20 #define VFE_BUS_WM_CGC_OVERRIDE (BUS_REG_BASE + 0x08) #define WM_CGC_OVERRIDE_ALL (0x7FFFFFF) =20 -#define VFE_BUS_WM_TEST_BUS_CTRL (BUS_REG_BASE + 0xDC) - #define VFE_BUS_WM_CFG(n) (BUS_REG_BASE + 0x200 + (n) * 0x100) #define WM_CFG_EN BIT(0) #define WM_VIR_FRM_EN BIT(1) @@ -39,17 +69,6 @@ #define VFE_BUS_WM_MMU_PREFETCH_CFG(n) (BUS_REG_BASE + 0x260 + (n) * 0x10= 0) #define VFE_BUS_WM_MMU_PREFETCH_MAX_OFFSET(n) (BUS_REG_BASE + 0x264 + (n) = * 0x100) =20 -/* - * Bus client mapping: - * - * Full VFE: - * 23 =3D RDI0, 24 =3D RDI1, 25 =3D RDI2 - * - * VFE LITE: - * 0 =3D RDI0, 1 =3D RDI1, 2 =3D RDI3, 4 =3D RDI4 - */ -#define RDI_WM(n) ((vfe_is_lite(vfe) ? 0x0 : 0x17) + (n)) - static void vfe_wm_start(struct vfe_device *vfe, u8 wm, struct vfe_line *l= ine) { struct v4l2_pix_format_mplane *pix =3D @@ -62,14 +81,24 @@ static void vfe_wm_start(struct vfe_device *vfe, u8 wm,= struct vfe_line *line) =20 writel(0x0, vfe->base + VFE_BUS_WM_TEST_BUS_CTRL); =20 - writel(ALIGN(pix->plane_fmt[0].bytesperline, 16) * pix->height >> 8, - vfe->base + VFE_BUS_WM_FRAME_INCR(wm)); + if (IS_VFE_690(vfe)) + writel(ALIGN(pix->plane_fmt[0].bytesperline, 16) * pix->height, + vfe->base + VFE_BUS_WM_FRAME_INCR(wm)); + else + writel(ALIGN(pix->plane_fmt[0].bytesperline, 16) * pix->height >> 8, + vfe->base + VFE_BUS_WM_FRAME_INCR(wm)); + writel((WM_IMAGE_CFG_0_DEFAULT_WIDTH & 0xFFFF), vfe->base + VFE_BUS_WM_IMAGE_CFG_0(wm)); writel(WM_IMAGE_CFG_2_DEFAULT_STRIDE, vfe->base + VFE_BUS_WM_IMAGE_CFG_2(wm)); writel(0, vfe->base + VFE_BUS_WM_PACKER_CFG(wm)); =20 + /* TOP CORE CFG */ + if (IS_VFE_690(vfe)) + writel(VFE_DISABLE_DSCALING_DS4 | VFE_DISABLE_DSCALING_DS16, + vfe->base + VFE_TOP_CORE_CFG); + /* no dropped frames, one irq per frame */ writel(0, vfe->base + VFE_BUS_WM_FRAMEDROP_PERIOD(wm)); writel(1, vfe->base + VFE_BUS_WM_FRAMEDROP_PATTERN(wm)); @@ -92,7 +121,11 @@ static void vfe_wm_update(struct vfe_device *vfe, u8 wm= , u32 addr, struct vfe_line *line) { wm =3D RDI_WM(wm); - writel((addr >> 8) & 0xFFFFFFFF, vfe->base + VFE_BUS_WM_IMAGE_ADDR(wm)); + + if (IS_VFE_690(vfe)) + writel(addr, vfe->base + VFE_BUS_WM_IMAGE_ADDR(wm)); + else + writel((addr >> 8), vfe->base + VFE_BUS_WM_IMAGE_ADDR(wm)); =20 dev_dbg(vfe->camss->dev, "wm:%d, image buf addr:0x%x\n", wm, addr); diff --git a/drivers/media/platform/qcom/camss/camss-vfe.c b/drivers/media/= platform/qcom/camss/camss-vfe.c index 4bca6c3abaff..99cbe09343f2 100644 --- a/drivers/media/platform/qcom/camss/camss-vfe.c +++ b/drivers/media/platform/qcom/camss/camss-vfe.c @@ -346,6 +346,7 @@ static u32 vfe_src_pad_code(struct vfe_line *line, u32 = sink_code, case CAMSS_8280XP: case CAMSS_845: case CAMSS_8550: + case CAMSS_8775P: case CAMSS_X1E80100: switch (sink_code) { case MEDIA_BUS_FMT_YUYV8_1X16: @@ -910,7 +911,8 @@ static int vfe_match_clock_names(struct vfe_device *vfe, =20 return (!strcmp(clock->name, vfe_name) || !strcmp(clock->name, vfe_lite_name) || - !strcmp(clock->name, "vfe_lite")); + !strcmp(clock->name, "vfe_lite") || + !strcmp(clock->name, "camnoc_axi")); } =20 /* @@ -1974,6 +1976,7 @@ static int vfe_bpl_align(struct vfe_device *vfe) case CAMSS_8280XP: case CAMSS_845: case CAMSS_8550: + case CAMSS_8775P: case CAMSS_X1E80100: ret =3D 16; break; diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index 5f1e267045cb..08763d92f659 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -2687,6 +2687,180 @@ static const struct camss_subdev_resources csid_res= _8775p[] =3D { }, }; =20 +static const struct camss_subdev_resources vfe_res_8775p[] =3D { + /* VFE0 */ + { + .regulators =3D {}, + .clock =3D { "cpas_vfe0", "vfe0", "vfe0_fast_ahb", + "cpas_ahb", "gcc_axi_hf", + "cpas_fast_ahb_clk", + "camnoc_axi"}, + .clock_rate =3D { + { 0 }, + { 480000000 }, + { 300000000, 400000000 }, + { 300000000, 400000000 }, + { 0 }, + { 300000000, 400000000 }, + { 400000000 }, + }, + .reg =3D { "vfe0" }, + .interrupt =3D { "vfe0" }, + .vfe =3D { + .line_num =3D 3, + .is_lite =3D false, + .has_pd =3D false, + .pd_name =3D NULL, + .hw_ops =3D &vfe_ops_gen3, + .formats_rdi =3D &vfe_formats_rdi_845, + .formats_pix =3D &vfe_formats_pix_845 + } + }, + /* VFE1 */ + { + .regulators =3D {}, + .clock =3D { "cpas_vfe1", "vfe1", "vfe1_fast_ahb", + "cpas_ahb", "gcc_axi_hf", + "cpas_fast_ahb_clk", + "camnoc_axi"}, + .clock_rate =3D { + { 0 }, + { 480000000 }, + { 300000000, 400000000 }, + { 300000000, 400000000 }, + { 0 }, + { 300000000, 400000000 }, + { 400000000 }, + }, + .reg =3D { "vfe1" }, + .interrupt =3D { "vfe1" }, + .vfe =3D { + .line_num =3D 3, + .is_lite =3D false, + .has_pd =3D false, + .pd_name =3D NULL, + .hw_ops =3D &vfe_ops_gen3, + .formats_rdi =3D &vfe_formats_rdi_845, + .formats_pix =3D &vfe_formats_pix_845 + } + }, + /* VFE2 (lite) */ + { + .regulators =3D {}, + .clock =3D { "cpas_vfe_lite", "vfe_lite_ahb", + "vfe_lite_csid", "vfe_lite_cphy_rx", + "vfe_lite"}, + .clock_rate =3D { + { 0, 0, 0, 0 }, + { 300000000, 400000000, 400000000, 400000000 }, + { 400000000, 400000000, 400000000, 400000000 }, + { 400000000, 400000000, 400000000, 400000000 }, + { 480000000, 600000000, 600000000, 600000000 }, + }, + .reg =3D { "vfe_lite0" }, + .interrupt =3D { "vfe_lite0" }, + .vfe =3D { + .line_num =3D 4, + .is_lite =3D true, + .hw_ops =3D &vfe_ops_gen3, + .formats_rdi =3D &vfe_formats_rdi_845, + .formats_pix =3D &vfe_formats_pix_845 + } + }, + /* VFE3 (lite) */ + { + .regulators =3D {}, + .clock =3D { "cpas_vfe_lite", "vfe_lite_ahb", + "vfe_lite_csid", "vfe_lite_cphy_rx", + "vfe_lite"}, + .clock_rate =3D { + { 0, 0, 0, 0 }, + { 300000000, 400000000, 400000000, 400000000 }, + { 400000000, 400000000, 400000000, 400000000 }, + { 400000000, 400000000, 400000000, 400000000 }, + { 480000000, 600000000, 600000000, 600000000 }, + }, + .reg =3D { "vfe_lite1" }, + .interrupt =3D { "vfe_lite1" }, + .vfe =3D { + .line_num =3D 4, + .is_lite =3D true, + .hw_ops =3D &vfe_ops_gen3, + .formats_rdi =3D &vfe_formats_rdi_845, + .formats_pix =3D &vfe_formats_pix_845 + } + }, + /* VFE4 (lite) */ + { + .regulators =3D {}, + .clock =3D { "cpas_vfe_lite", "vfe_lite_ahb", + "vfe_lite_csid", "vfe_lite_cphy_rx", + "vfe_lite"}, + .clock_rate =3D { + { 0, 0, 0, 0 }, + { 300000000, 400000000, 400000000, 400000000 }, + { 400000000, 400000000, 400000000, 400000000 }, + { 400000000, 400000000, 400000000, 400000000 }, + { 480000000, 600000000, 600000000, 600000000 }, + }, + .reg =3D { "vfe_lite2" }, + .interrupt =3D { "vfe_lite2" }, + .vfe =3D { + .line_num =3D 4, + .is_lite =3D true, + .hw_ops =3D &vfe_ops_gen3, + .formats_rdi =3D &vfe_formats_rdi_845, + .formats_pix =3D &vfe_formats_pix_845 + } + }, + /* VFE5 (lite) */ + { + .regulators =3D {}, + .clock =3D { "cpas_vfe_lite", "vfe_lite_ahb", + "vfe_lite_csid", "vfe_lite_cphy_rx", + "vfe_lite"}, + .clock_rate =3D { + { 0, 0, 0, 0 }, + { 300000000, 400000000, 400000000, 400000000 }, + { 400000000, 400000000, 400000000, 400000000 }, + { 400000000, 400000000, 400000000, 400000000 }, + { 480000000, 600000000, 600000000, 600000000 }, + }, + .reg =3D { "vfe_lite3" }, + .interrupt =3D { "vfe_lite3" }, + .vfe =3D { + .line_num =3D 4, + .is_lite =3D true, + .hw_ops =3D &vfe_ops_gen3, + .formats_rdi =3D &vfe_formats_rdi_845, + .formats_pix =3D &vfe_formats_pix_845 + } + }, + /* VFE6 (lite) */ + { + .regulators =3D {}, + .clock =3D { "cpas_vfe_lite", "vfe_lite_ahb", + "vfe_lite_csid", "vfe_lite_cphy_rx", + "vfe_lite"}, + .clock_rate =3D { + { 0, 0, 0, 0 }, + { 300000000, 400000000, 400000000, 400000000 }, + { 400000000, 400000000, 400000000, 400000000 }, + { 400000000, 400000000, 400000000, 400000000 }, + { 480000000, 600000000, 600000000, 600000000 }, + }, + .reg =3D { "vfe_lite4" }, + .interrupt =3D { "vfe_lite4" }, + .vfe =3D { + .line_num =3D 4, + .is_lite =3D true, + .hw_ops =3D &vfe_ops_gen3, + .formats_rdi =3D &vfe_formats_rdi_845, + .formats_pix =3D &vfe_formats_pix_845 + } + }, +}; + static const struct resources_icc icc_res_sa8775p[] =3D { { .name =3D "ahb", --=20 2.25.1 From nobody Sun Oct 5 07:26:08 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 3A1A424337B; Thu, 7 Aug 2025 12:12:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754568742; cv=none; b=qobWDZhJdB9M7omYQL+O85r+61X8CP3zXSAPqirltJPPbTcqhoHcmx6shp4iGbsMhgIftt+D0ayPcgY76jSObG+DDr2UolvaAJwSgM94Q/mmTohXw6VHuGkVjXze2mpWquUIxzR4wkGXrOsE2EIcOoLNkXmvomRMJhEWGRTF3HY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754568742; c=relaxed/simple; bh=CVdIPNP64ljAWGPQF8+rk6+oUs+sw84U/Lmh/9hp6Uc=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=TvhGBa+0nx8jaRGoef5R1CzCHDJtYSYH+xFPeRDgnULmN11wHsWwqq0DcYD7NyiluSDR57Ya2S/l7HDYzyKryzOnrCOwus4B4zpTSAo4zmMNNQCYawEP2bE0OtIchhms24ivRRfp5ekHdiB/7US30lEBL2G3kEErc1o0xFUnhX4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=G9OJuT0P; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="G9OJuT0P" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5779D1s5022553; Thu, 7 Aug 2025 12:12:10 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= w4ijHQo2kkVEZ396tAKTupRykvweGenr6CQ+Be4pbQc=; b=G9OJuT0PmCsJO2lN uVSik4tajG6SvTEOAvWY10vS+hluvArOEh7euKDAr0qBFxsXe2IF6mNelbjT01UF 9R/0wEhVx8c4WAtHpm7UjoFQzHdG8n82u1OidGdWuJdM8CRWRejUtGKdQLBjfd4C eDRhR4VS+Ah62dKVmptnxeQq7AcYBAI3nlP9Mrn2ufbc3/+OpjIvFOF/5QFXTAS7 c6ANmOkmihcJG9r5ww0yxChck3t836zyswnJXgy/6hqm+gAwTV27JAINiISGx9hj 90jDaIL/lTvwFml7dpKLNks8IJUFP2kPOCMrup+RFH60O3W4SaAxwsIkBUyuxNmb Jyn5hQ== Received: from nasanppmta04.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48cs5n8fpt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 07 Aug 2025 12:12:10 +0000 (GMT) Received: from nasanex01b.na.qualcomm.com (nasanex01b.na.qualcomm.com [10.46.141.250]) by NASANPPMTA04.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 577CC9Cp024827 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 7 Aug 2025 12:12:09 GMT Received: from hu-vikramsa-hyd.qualcomm.com (10.80.80.8) by nasanex01b.na.qualcomm.com (10.46.141.250) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.10; Thu, 7 Aug 2025 05:12:04 -0700 From: Vikram Sharma To: , , , , , , , , , , , , CC: , , , , , Subject: [PATCH v4 8/9] media: qcom: camss: Enumerate resources for SA8775P Date: Thu, 7 Aug 2025 17:41:04 +0530 Message-ID: <20250807121105.710072-9-quic_vikramsa@quicinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250807121105.710072-1-quic_vikramsa@quicinc.com> References: <20250807121105.710072-1-quic_vikramsa@quicinc.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nasanex01b.na.qualcomm.com (10.46.141.250) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Authority-Analysis: v=2.4 cv=Q+XS452a c=1 sm=1 tr=0 ts=6894981a cx=c_pps a=JYp8KDb2vCoCEuGobkYCKw==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17 a=GEpy-HfZoHoA:10 a=2OwXVqhp2XgA:10 a=COk6AnOGAAAA:8 a=KKAkSRfTAAAA:8 a=SWFg1dtF3-VgytXPzhIA:9 a=TjNXssC_j7lpFel5tvFf:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: AM4JwCImmzz1DQYJgZKYrOCC9DwuJwNA X-Proofpoint-ORIG-GUID: AM4JwCImmzz1DQYJgZKYrOCC9DwuJwNA X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA3MDA2OSBTYWx0ZWRfX27ZbXnLADTWr djYCrtZZENQ4Z3eqgeE7LbAKrGH9hbGCPG5mn4R6MFud6fFRcIgGZDShsNKC7KcgQOTl33AqsXO J0tO2Ob9sM+Y9M4huiZAmyfVRtEXYdIdSL+sofP3eBZyDNrFPjkenoFfDSWUw1A+tIyViWOviLH 2ykWmuFDDnVQ/eYH1bE3bT1S5JsggTmoHyoUZqfwvdN0coJHVG8c5Owx1M9MI94cZ+R5mQqPPOU Bmz3za2CccxLBC28ffOKHd35lZ2o+KyZZ2JU4Yd5HGF2ZSHs541mfT2aYut2APzM31HT32PgE46 6qr7G6wwdhzGcbuy8drCD6P+0b31srwPbehVyjZh7Tz5N7zkeNEH1xwDgOovmeFb1/OTdJlAkt0 OEwLho+m X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-07_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 suspectscore=0 malwarescore=0 spamscore=0 impostorscore=0 phishscore=0 priorityscore=1501 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508070069 Content-Type: text/plain; charset="utf-8" Enumerate csiphy, csid and vfe resources for SA8775P. Signed-off-by: Vikram Sharma Reviewed-by: Bryan O'Donoghue --- drivers/media/platform/qcom/camss/camss.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index 08763d92f659..020cb2d608b6 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -4147,7 +4147,14 @@ static const struct camss_resources msm8996_resource= s =3D { static const struct camss_resources sa8775p_resources =3D { .version =3D CAMSS_8775P, .pd_name =3D "top", + .csiphy_res =3D csiphy_res_8775p, + .csid_res =3D csid_res_8775p, + .csid_wrapper_res =3D &csid_wrapper_res_sm8550, + .vfe_res =3D vfe_res_8775p, .icc_res =3D icc_res_sa8775p, + .csiphy_num =3D ARRAY_SIZE(csiphy_res_8775p), + .csid_num =3D ARRAY_SIZE(csid_res_8775p), + .vfe_num =3D ARRAY_SIZE(vfe_res_8775p), .icc_path_num =3D ARRAY_SIZE(icc_res_sa8775p), .link_entities =3D camss_link_entities }; --=20 2.25.1 From nobody Sun Oct 5 07:26:08 2025 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 9A34225B2FA; Thu, 7 Aug 2025 12:12:24 +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=1754568746; cv=none; b=LWJqGK780zdKqbAg4ozjLch895RO/IqzDdUVLTQcBaOBhyBuki/q2QM3OLdfmPfexmxnxEVRqYgLw7dPRamN4fNkpYyiYADBHSyYIyqPN9uuaoDrJFDCtpEJhyLcFsT6kJzCbujpT03XQpIWNBRD9le3KWiLBr8QPgF3DJ3W/R4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754568746; c=relaxed/simple; bh=G1sm+ZMu8iGGT/sN1pZ1XM3DA0YpakPxPEp5Hb3jFY8=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=hfAp8YYCaQRk3z6nHKFwSeDGc8eAoHQWSdHdNzpPMR9bEQmHK7qbOVRE2P+dn2NkITuYf4klJe2NWij2JDVnQ5m3UZpNCZJWJ5BBNxthW9jtrijfSkwGd2S/vs6vSYfApFwe/PGxNVnF2p5B4/6CbxN1dfPnywk8hgIHWQX5ZQc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=Faju2d4d; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="Faju2d4d" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5779D57N018265; Thu, 7 Aug 2025 12:12:16 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 4YrLOTkqE3QEWcOAyA4m9m71Fb5aGZ2Vvy8c1lVxnz4=; b=Faju2d4dFQ3WBoFO 5v9efXQAwLb7fh2TKS2GkyTds7SppD12UoQd2wYfSeeScfuEDEXioHvq7LV/guIf CfBMTltjQqvNRFcyKAEqBW07NG4lnJlxt6tk+BtVZUKhE43YtHjzFYyONGxK36cZ xwcSVteonWPbGGUI3mMeNTW/tt3OwM0eHvosWEl6mUSncL0j5i5Dyw73jCAjTL9R BM7wcwwRlIkSOO3QvcFSMKtVxOrPdUCBYoU/V1YMyHIp2tGY+ZVIXMVzi+HWkcTI uZjVvROKNb0181IVYQMntH74kMVhaE3mHGAhdx5LI/kdHVdndEVGuP9XhIqOpakg bscKAw== Received: from nasanppmta02.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48c586btay-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 07 Aug 2025 12:12:16 +0000 (GMT) Received: from nasanex01b.na.qualcomm.com (nasanex01b.na.qualcomm.com [10.46.141.250]) by NASANPPMTA02.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTPS id 577CCFA5028881 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 7 Aug 2025 12:12:15 GMT Received: from hu-vikramsa-hyd.qualcomm.com (10.80.80.8) by nasanex01b.na.qualcomm.com (10.46.141.250) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.10; Thu, 7 Aug 2025 05:12:09 -0700 From: Vikram Sharma To: , , , , , , , , , , , , CC: , , , , , , Konrad Dybcio Subject: [PATCH v4 9/9] arm64: dts: qcom: sa8775p: Add support for camss Date: Thu, 7 Aug 2025 17:41:05 +0530 Message-ID: <20250807121105.710072-10-quic_vikramsa@quicinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250807121105.710072-1-quic_vikramsa@quicinc.com> References: <20250807121105.710072-1-quic_vikramsa@quicinc.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nasanex01b.na.qualcomm.com (10.46.141.250) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: K7wKqoO5ZwSwQYhICUYJupskqafvbZmg X-Authority-Analysis: v=2.4 cv=MZpsu4/f c=1 sm=1 tr=0 ts=68949820 cx=c_pps a=JYp8KDb2vCoCEuGobkYCKw==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17 a=GEpy-HfZoHoA:10 a=2OwXVqhp2XgA:10 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=ffUvFpYhAsioIrtRiZgA:9 a=TjNXssC_j7lpFel5tvFf:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: K7wKqoO5ZwSwQYhICUYJupskqafvbZmg X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODA2MDA2NCBTYWx0ZWRfX2klEnJlA8Gkj CGgNTm1Ptj1le6HW5wrdrlfq/Yhwa3yGWh5EiC8CpeI+jL9KmD9VWuFFoQWxt5wRwe3I/DZeiKL gZyWE/Tk/GjhOEolnlAs0tRMW8HMXaIIVTBzMveFtMRxwf48zy+dpljtJCgKODC077jR/jaj16a TTcHJLJk7hH13Y3mz7bgUjtYroT8kqkSsgcRqiai6ONcb4CoP1FxSbu+M7epyBgULXNultOvZ1j Bkz4sPCKsRybFoLTjBgvdAcj/A74FXzptpyS+CnRtmgcNYZ1it1DyF5MjoS54AfRBANewRI54cG oK6253e2hIL6IhQOK2oTXE3HIRc60P6OvJMYqBSYUUsSZeR6Nw29wPn1O20tL9YJtmUqYC9eHWN lJw/6nNM X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-07_02,2025-08-06_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 spamscore=0 clxscore=1015 bulkscore=0 adultscore=0 suspectscore=0 phishscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508060064 Content-Type: text/plain; charset="utf-8" Add changes to support the camera subsystem on the SA8775P. Co-developed-by: Suresh Vankadara Signed-off-by: Suresh Vankadara Signed-off-by: Vikram Sharma Reviewed-by: Konrad Dybcio Reviewed-by: Bryan O'Donoghue --- arch/arm64/boot/dts/qcom/sa8775p.dtsi | 185 ++++++++++++++++++++++++++ 1 file changed, 185 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sa8775p.dtsi b/arch/arm64/boot/dts/qc= om/sa8775p.dtsi index 9997a29901f5..510831765c54 100644 --- a/arch/arm64/boot/dts/qcom/sa8775p.dtsi +++ b/arch/arm64/boot/dts/qcom/sa8775p.dtsi @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -4345,6 +4346,190 @@ videocc: clock-controller@abf0000 { #power-domain-cells =3D <1>; }; =20 + camss: isp@ac78000 { + compatible =3D "qcom,sa8775p-camss"; + + reg =3D <0x0 0xac78000 0x0 0x1000>, + <0x0 0xac7a000 0x0 0x0f00>, + <0x0 0xac7c000 0x0 0x0f00>, + <0x0 0xac84000 0x0 0x0f00>, + <0x0 0xac88000 0x0 0x0f00>, + <0x0 0xac8c000 0x0 0x0f00>, + <0x0 0xac90000 0x0 0x0f00>, + <0x0 0xac94000 0x0 0x0f00>, + <0x0 0xac9c000 0x0 0x2000>, + <0x0 0xac9e000 0x0 0x2000>, + <0x0 0xaca0000 0x0 0x2000>, + <0x0 0xaca2000 0x0 0x2000>, + <0x0 0xacac000 0x0 0x0400>, + <0x0 0xacad000 0x0 0x0400>, + <0x0 0xacae000 0x0 0x0400>, + <0x0 0xac4d000 0x0 0xd000>, + <0x0 0xac5a000 0x0 0xd000>, + <0x0 0xac85000 0x0 0x0d00>, + <0x0 0xac89000 0x0 0x0d00>, + <0x0 0xac8d000 0x0 0x0d00>, + <0x0 0xac91000 0x0 0x0d00>, + <0x0 0xac95000 0x0 0x0d00>; + reg-names =3D "csid_wrapper", + "csid0", + "csid1", + "csid_lite0", + "csid_lite1", + "csid_lite2", + "csid_lite3", + "csid_lite4", + "csiphy0", + "csiphy1", + "csiphy2", + "csiphy3", + "tpg0", + "tpg1", + "tpg2", + "vfe0", + "vfe1", + "vfe_lite0", + "vfe_lite1", + "vfe_lite2", + "vfe_lite3", + "vfe_lite4"; + + clocks =3D <&camcc CAM_CC_CAMNOC_AXI_CLK>, + <&camcc CAM_CC_CORE_AHB_CLK>, + <&camcc CAM_CC_CPAS_AHB_CLK>, + <&camcc CAM_CC_CPAS_FAST_AHB_CLK>, + <&camcc CAM_CC_CPAS_IFE_LITE_CLK>, + <&camcc CAM_CC_CPAS_IFE_0_CLK>, + <&camcc CAM_CC_CPAS_IFE_1_CLK>, + <&camcc CAM_CC_CSID_CLK>, + <&camcc CAM_CC_CSIPHY0_CLK>, + <&camcc CAM_CC_CSI0PHYTIMER_CLK>, + <&camcc CAM_CC_CSIPHY1_CLK>, + <&camcc CAM_CC_CSI1PHYTIMER_CLK>, + <&camcc CAM_CC_CSIPHY2_CLK>, + <&camcc CAM_CC_CSI2PHYTIMER_CLK>, + <&camcc CAM_CC_CSIPHY3_CLK>, + <&camcc CAM_CC_CSI3PHYTIMER_CLK>, + <&camcc CAM_CC_CSID_CSIPHY_RX_CLK>, + <&gcc GCC_CAMERA_HF_AXI_CLK>, + <&gcc GCC_CAMERA_SF_AXI_CLK>, + <&camcc CAM_CC_ICP_AHB_CLK>, + <&camcc CAM_CC_IFE_0_CLK>, + <&camcc CAM_CC_IFE_0_FAST_AHB_CLK>, + <&camcc CAM_CC_IFE_1_CLK>, + <&camcc CAM_CC_IFE_1_FAST_AHB_CLK>, + <&camcc CAM_CC_IFE_LITE_CLK>, + <&camcc CAM_CC_IFE_LITE_AHB_CLK>, + <&camcc CAM_CC_IFE_LITE_CPHY_RX_CLK>, + <&camcc CAM_CC_IFE_LITE_CSID_CLK>; + clock-names =3D "camnoc_axi", + "core_ahb", + "cpas_ahb", + "cpas_fast_ahb_clk", + "cpas_vfe_lite", + "cpas_vfe0", + "cpas_vfe1", + "csid", + "csiphy0", + "csiphy0_timer", + "csiphy1", + "csiphy1_timer", + "csiphy2", + "csiphy2_timer", + "csiphy3", + "csiphy3_timer", + "csiphy_rx", + "gcc_axi_hf", + "gcc_axi_sf", + "icp_ahb", + "vfe0", + "vfe0_fast_ahb", + "vfe1", + "vfe1_fast_ahb", + "vfe_lite", + "vfe_lite_ahb", + "vfe_lite_cphy_rx", + "vfe_lite_csid"; + + interrupts =3D , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + interrupt-names =3D "csid0", + "csid1", + "csid_lite0", + "csid_lite1", + "csid_lite2", + "csid_lite3", + "csid_lite4", + "csiphy0", + "csiphy1", + "csiphy2", + "csiphy3", + "tpg0", + "tpg1", + "tpg2", + "vfe0", + "vfe1", + "vfe_lite0", + "vfe_lite1", + "vfe_lite2", + "vfe_lite3", + "vfe_lite4"; + + interconnects =3D <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY + &config_noc SLAVE_CAMERA_CFG QCOM_ICC_TAG_ACTIVE_ONLY>, + <&mmss_noc MASTER_CAMNOC_HF QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "ahb", + "hf_0"; + + iommus =3D <&apps_smmu 0x3400 0x20>; + + power-domains =3D <&camcc CAM_CC_TITAN_TOP_GDSC>; + power-domain-names =3D "top"; + + status =3D "disabled"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + }; + + port@1 { + reg =3D <1>; + }; + + port@2 { + reg =3D <2>; + }; + + port@3 { + reg =3D <3>; + }; + }; + }; + camcc: clock-controller@ade0000 { compatible =3D "qcom,sa8775p-camcc"; reg =3D <0x0 0x0ade0000 0x0 0x20000>; --=20 2.25.1