From nobody Mon Feb 9 19:53:41 2026 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 6EA533370EA for ; Mon, 22 Dec 2025 08:29: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=1766392144; cv=none; b=JxQKee3q1AagaZU0joOrLSN6oho7MPfnqPuyFl+Vqmbxm3zOX3AoeZ4XIfxj+Dm3IzS6GsTOmXv2KNtYkDQE11uGAX3NKqP6zX1juGD+kkbm164BmRglZlNnOYX6F4KJhOr7YUPaYn67A1VB2xLbwHNkXy39utKUUx91MFO52ys= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766392144; c=relaxed/simple; bh=8u7u/1vnAB5rKXtpMZy9VZFpxEC+YOIC3MNIB5+3dR0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=T0qpWGotMtu/WEIGNMLNqGyxo+GZ+vfMJij80ONnaIUCJLnGHkH7zHd+etiMDgV/8Li2bIG94tS7uGZikyyvMDNgNcR9NgNBan7DJn6vsaqTZCS6FTRvksEPvDDKCJhqHGASLKVn6eF0Z5G1BqC9W0QQ/m6JfWyPkkjrTRu6uxk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=TIHnKKqs; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Sur6qJVe; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="TIHnKKqs"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Sur6qJVe" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BM0HaOI3965513 for ; Mon, 22 Dec 2025 08:29:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 2/KedcKiYBpmhhIPjzKqjszbbxYz8UY1cahT0v5dzQ8=; b=TIHnKKqslZlf9idq cZ1VIM8qcFat1FAKWtqK4up5XI67nGwJ+Zv5KErivbt3RDTBY9dafosZ3uqYZk5A 1S/DVE0l+NXhHpw9Jq7Yj1ye8QPBvVVL2VSU+eirIaPiriIdtR7orVypJ4Qtt0GP 4JdDvF+A7MMiTwiWbpXn6yh79keJoHV3SlGsAceHXn3UkIWdXvXfB8KdkuxXgw9v xXrfiwiDrnF+oqECqJL/oB7RuXkpFGqGICKRzwXB4GGh5sVvsC/7Ha/qZ+SAQxOz jcuV6ahvLZCLmjtMOL1fPY6MCcaxYow4LOL0LjoBc+G1Xx8E/Dof6r+mJBkDaBMJ YrLYkQ== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b5mry48s5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 22 Dec 2025 08:29:01 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8b2e2342803so952366385a.3 for ; Mon, 22 Dec 2025 00:29:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766392141; x=1766996941; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=2/KedcKiYBpmhhIPjzKqjszbbxYz8UY1cahT0v5dzQ8=; b=Sur6qJVenXePc9h80md2i7yqV9ezTgpv5E1Rkr5TplWEmHS/fqUIenkCZ8Y4zCCQZ0 pZU8BD6r/IMnyOD1RBasHBc0nf3ZRnwy/huF/wRd6tk77Oet5IACdIUGZuOUGGW6R9Jp eERF9XS+padj1XW91MqVMTwuB6MbhihhUgYMyQxw7io4lF5Esgywfd1A5RjrCt2giyoh 9gXIsSpLiJr7TYLoPMoGX/s7nMcRDroPrJR9wzJSbMbu9ACL8lPEmTvVJjaC+aiNoks4 OB1iCYUpEmlElhcsX43VMUF8esHt594o0fenzzr7XoTN+3ySCNrKEGf8mtaEdrrpHIsj c52Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766392141; x=1766996941; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=2/KedcKiYBpmhhIPjzKqjszbbxYz8UY1cahT0v5dzQ8=; b=YsMDcFf2woYCxdvL3BWrqPjYv2rO+ZInZirm7g/o6yUr2EYDZXg5vZjR6LuuXJKp43 in/oTqqr9tMeE05JUa5sT/lYuIUtcRpQSjw+FvWkkBb18xtPvw4OkqAxREuq+Dc7Yrc8 DZcYq/vki41oQ7qrk52lWtxpgpCMCl6ydXTXVqbQrGLJUula/9i0Rvbyk7zHGsHLdPxM ZGr3nepEqrFf68dJuQ6N+WEHzW7eOKjHvwuzev8TJT/2je3iAgYiYvjnv5YfLSmDDiJS b2cxrOHkea3J8v0Ha5AzSFnhJvAVU9EpEOld1I8pN4U5P+71KPClB/5rTBU9mqoFTv4r VmcQ== X-Forwarded-Encrypted: i=1; AJvYcCVbx7lL3BOerfSRrg9rDFiM+zhceFqRRpGy9QhgTgLwwMD5sHM2BqE41ga/JyuV9WM/bvg9h0MFgJgy9Ug=@vger.kernel.org X-Gm-Message-State: AOJu0YytnIYQ7B9YJJkoOSC2qB3N9GhV6h+IKUJqtIiGDV/iMgvK11rw e0pNQ+u62M57wikNr1kxuV425wSirwhnuZxijIi1s4Vonqr+OkZtaFwCS11pbYh1DGzAsGEBq6n Fqux6wrjh9O/fMeMY6SNhbBkRpAKCFCqr4yKjy8xrI5u3DSs9FpCJ+nKcXle2sL0cFFM= X-Gm-Gg: AY/fxX6dEo5RVQLqAk/WEaq3d+9CbQMTstk+/9oPv+vrkXV8iAckHTBPYdXlJ/6sRg5 ly6ryrrM6dvTEwxuSHC4kYvVbS5GCe7ZRloXO01yCv8IowE+0RXkktxJRSPPFxxUBiX6A9SB37x EYZnC4AoG44x8nYLkrMPXpE+xZyrSgGT/nNHXaN10oM3LcHf3M/DJAMCLCnELCYEUnOXGDYdEC8 FVo6GvwNsZUs1SX/tFkhy5cmtrl3ob5yFf84Vdka/29nL0lcuiQAT/Zjmo3kn2NJKiZSjS/QEEh TfymXIc1TPd9izOJig27tvXS0lfBOzoiGGzh8k9EdliZcTJ0tUFh68vrA3Bkyddb4ILeN7u8M3c +/6aR7v+EcpMFAQtWcI9ml18GHdgpOUd6CIao4If88Bmm3h2/Qbzd6Czxw7T//NHyPt04dge45j sr X-Received: by 2002:a05:620a:1a8b:b0:8b2:6121:5aff with SMTP id af79cd13be357-8c08f65514cmr1805435385a.8.1766392140583; Mon, 22 Dec 2025 00:29:00 -0800 (PST) X-Google-Smtp-Source: AGHT+IHJgWHHqKprysCqWUOCESLMXjMmgYaJufFP/NQrWP32hQVvY5frBGmxoWieHAYMKk+yXdTRSg== X-Received: by 2002:a05:620a:1a8b:b0:8b2:6121:5aff with SMTP id af79cd13be357-8c08f65514cmr1805433285a.8.1766392140117; Mon, 22 Dec 2025 00:29:00 -0800 (PST) Received: from WENMLIU-LAB01.ap.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8c0970f8572sm764046585a.25.2025.12.22.00.28.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Dec 2025 00:28:59 -0800 (PST) From: Wenmeng Liu Date: Mon, 22 Dec 2025 16:28:40 +0800 Subject: [PATCH v2 2/3] media: qcom: camss: add support for SM6150 camss Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251222-sm6150-camss-v2-2-df8469a8343a@oss.qualcomm.com> References: <20251222-sm6150-camss-v2-0-df8469a8343a@oss.qualcomm.com> In-Reply-To: <20251222-sm6150-camss-v2-0-df8469a8343a@oss.qualcomm.com> To: Robert Foss , Todor Tomov , Bryan O'Donoghue , Vladimir Zapolskiy , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Wenmeng Liu , Bjorn Andersson , Konrad Dybcio Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766392123; l=8782; i=wenmeng.liu@oss.qualcomm.com; s=20250925; h=from:subject:message-id; bh=8u7u/1vnAB5rKXtpMZy9VZFpxEC+YOIC3MNIB5+3dR0=; b=OROMnGm88gKVBb0bMT14iVcPXmyp9wTS1SHd9ROqHS6+P5gGyl+U2ZhlnyT6r8ldhjwms4jVJ 2WYexBiI3mwD29EdL0qZP1BV3jzymnzo5OXUZN7MgRDKIQx91ji2ufM X-Developer-Key: i=wenmeng.liu@oss.qualcomm.com; a=ed25519; pk=fQJjf9C3jGDjE1zj2kO3NQLTbQEaZObVcXAzx5WLPX0= X-Authority-Analysis: v=2.4 cv=cbbfb3DM c=1 sm=1 tr=0 ts=6949014d cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=OCzWwVoLxjedvhaVoqAA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjIyMDA3NSBTYWx0ZWRfX3LinAdhEvnrY oOvaIGo0aA37c2TpAGqAAxZvhLhF3cVyWwCVBGOI+rK+t8Ct/vgwdnVQ4gU7jVOm2ddy8l61+rM RxYHxUqV/HyHJdQKhdYTCJFBywC4Mut57aEyZIZdE24yubhqmEoAP3lsK9iTI0oD7ciZr1gzr+Z eqM39c/VzwIPy5qMihT4z4V0ytj0TMlxKdGv23J3XTNOCAXPhmB80pbsoZe72e1jZyYmo7yH2ZN nObxpvpUpahF2VPI5juKbpRo1zCt22gJI6xT5wBxuTPmeGwR2n2SnGd1ZEnDMWkwu1QRYk79E8z 9Uxl5ahb8Sf4g4rdEKkGN/hvXpCIfAz0+mNl0FxgyUsublYxNGIxS3wM+dfGz1r8HshUmkdNbi+ 5HGRpGkTKklc+fCk0gLnJX8+T0aBlmYnHf8KRJ9Yvh4hZv6INyBwGbvi45JcGmczGdt/dB0cz/l btETnY5h3YgRD8cb0qA== X-Proofpoint-GUID: TwAZXQX39dns1r9DcQqrnfuKpaZ2Swp- X-Proofpoint-ORIG-GUID: TwAZXQX39dns1r9DcQqrnfuKpaZ2Swp- X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-21_05,2025-12-19_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 clxscore=1015 phishscore=0 malwarescore=0 adultscore=0 lowpriorityscore=0 impostorscore=0 bulkscore=0 suspectscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512220075 The camera subsystem for SM6150 which is based on Spectra 230. For SM6150: - VFE and CSID version: 170 (vfe170, csid170) - CSIPHY version: csiphy-v2.0.1 (14nm) Reviewed-by: Vladimir Zapolskiy Signed-off-by: Wenmeng Liu --- .../platform/qcom/camss/camss-csiphy-3ph-1-0.c | 2 + drivers/media/platform/qcom/camss/camss-vfe.c | 2 + drivers/media/platform/qcom/camss/camss.c | 189 +++++++++++++++++= ++++ drivers/media/platform/qcom/camss/camss.h | 1 + 4 files changed, 194 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 619abbf6078130bb6f036eac3ab369cdf4841054..0bd9e1f0cd82347dc6b9d11b2d3= 179e4c95aa287 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 @@ -1004,6 +1004,7 @@ static bool csiphy_is_gen2(u32 version) =20 switch (version) { case CAMSS_2290: + case CAMSS_6150: case CAMSS_7280: case CAMSS_8250: case CAMSS_8280XP: @@ -1093,6 +1094,7 @@ static int csiphy_init(struct csiphy_device *csiphy) regs->lane_array_size =3D ARRAY_SIZE(lane_regs_sdm845); break; case CAMSS_2290: + case CAMSS_6150: regs->lane_regs =3D &lane_regs_qcm2290[0]; regs->lane_array_size =3D ARRAY_SIZE(lane_regs_qcm2290); break; diff --git a/drivers/media/platform/qcom/camss/camss-vfe.c b/drivers/media/= platform/qcom/camss/camss-vfe.c index 9c7ad8aa405888ccea283ffd5cb038fc5bc4ee79..5baf0e3d4bc461df28d8dcf97a9= 8dec04fa17ceb 100644 --- a/drivers/media/platform/qcom/camss/camss-vfe.c +++ b/drivers/media/platform/qcom/camss/camss-vfe.c @@ -342,6 +342,7 @@ static u32 vfe_src_pad_code(struct vfe_line *line, u32 = sink_code, break; case CAMSS_660: case CAMSS_2290: + case CAMSS_6150: case CAMSS_7280: case CAMSS_8x96: case CAMSS_8250: @@ -2001,6 +2002,7 @@ static int vfe_bpl_align(struct vfe_device *vfe) int ret =3D 8; =20 switch (vfe->camss->res->version) { + case CAMSS_6150: case CAMSS_7280: case CAMSS_8250: case CAMSS_8280XP: diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index fcc2b2c3cba076e598bc8aacd34efce5d71713ca..3ef4be1bf851280a4df2578223c= c683978e65bb2 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -1461,6 +1461,181 @@ static const struct camss_subdev_resources vfe_res_= 845[] =3D { } }; =20 +static const struct camss_subdev_resources csiphy_res_sm6150[] =3D { + /* CSIPHY0 */ + { + .regulators =3D { "vdd-csiphy-1p2", "vdd-csiphy-1p8" }, + .clock =3D { "csiphy0", "csiphy0_timer" }, + .clock_rate =3D { { 269333333, 384000000 }, + { 269333333 } }, + .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 { "vdd-csiphy-1p2", "vdd-csiphy-1p8" }, + .clock =3D { "csiphy1", "csiphy1_timer" }, + .clock_rate =3D { { 269333333, 384000000 }, + { 269333333 } }, + .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 { "vdd-csiphy-1p2", "vdd-csiphy-1p8" }, + .clock =3D { "csiphy2", "csiphy2_timer" }, + .clock_rate =3D { { 269333333, 384000000 }, + { 269333333 } }, + .reg =3D { "csiphy2" }, + .interrupt =3D { "csiphy2" }, + .csiphy =3D { + .id =3D 2, + .hw_ops =3D &csiphy_ops_3ph_1_0, + .formats =3D &csiphy_formats_sdm845 + } + }, +}; + +static const struct camss_subdev_resources csid_res_sm6150[] =3D { + /* CSID0 */ + { + .regulators =3D {}, + .clock =3D { "vfe0_cphy_rx", "vfe0_csid" }, + .clock_rate =3D { { 269333333, 384000000 }, + { 320000000, 540000000 } }, + .reg =3D { "csid0" }, + .interrupt =3D { "csid0" }, + .csid =3D { + .is_lite =3D false, + .hw_ops =3D &csid_ops_gen2, + .parent_dev_ops =3D &vfe_parent_dev_ops, + .formats =3D &csid_formats_gen2 + } + }, + /* CSID1 */ + { + .regulators =3D {}, + .clock =3D { "vfe1_cphy_rx", "vfe1_csid" }, + .clock_rate =3D { { 269333333, 384000000 }, + { 320000000, 540000000 } }, + .reg =3D { "csid1" }, + .interrupt =3D { "csid1" }, + .csid =3D { + .is_lite =3D false, + .hw_ops =3D &csid_ops_gen2, + .parent_dev_ops =3D &vfe_parent_dev_ops, + .formats =3D &csid_formats_gen2 + } + }, + /* CSID2 */ + { + .regulators =3D {}, + .clock =3D { "vfe_lite_cphy_rx", "vfe_lite_csid" }, + .clock_rate =3D { { 269333333, 384000000 }, + { 320000000, 540000000 } }, + .reg =3D { "csid_lite" }, + .interrupt =3D { "csid_lite" }, + .csid =3D { + .is_lite =3D true, + .hw_ops =3D &csid_ops_gen2, + .parent_dev_ops =3D &vfe_parent_dev_ops, + .formats =3D &csid_formats_gen2 + } + }, +}; + +static const struct camss_subdev_resources vfe_res_sm6150[] =3D { + /* VFE0 */ + { + .regulators =3D {}, + .clock =3D { "gcc_axi_hf", "camnoc_axi", "cpas_ahb", "soc_ahb", + "vfe0", "vfe0_axi"}, + .clock_rate =3D { { 0 }, + { 0 }, + { 80000000 }, + { 37500000, 40000000 }, + { 360000000, 432000000, 540000000, 600000000 }, + { 265000000, 426000000 } }, + .reg =3D { "vfe0" }, + .interrupt =3D { "vfe0" }, + .vfe =3D { + .line_num =3D 3, + .is_lite =3D false, + .has_pd =3D true, + .pd_name =3D "ife0", + .hw_ops =3D &vfe_ops_170, + .formats_rdi =3D &vfe_formats_rdi_845, + .formats_pix =3D &vfe_formats_pix_845 + } + }, + /* VFE1 */ + { + .regulators =3D {}, + .clock =3D { "gcc_axi_hf", "camnoc_axi", "cpas_ahb", "soc_ahb", + "vfe1", "vfe1_axi"}, + .clock_rate =3D { { 0 }, + { 0 }, + { 80000000 }, + { 37500000, 40000000 }, + { 360000000, 432000000, 540000000, 600000000 }, + { 265000000, 426000000 } }, + .reg =3D { "vfe1" }, + .interrupt =3D { "vfe1" }, + .vfe =3D { + .line_num =3D 3, + .is_lite =3D false, + .has_pd =3D true, + .pd_name =3D "ife1", + .hw_ops =3D &vfe_ops_170, + .formats_rdi =3D &vfe_formats_rdi_845, + .formats_pix =3D &vfe_formats_pix_845 + } + }, + /* VFE2 */ + { + .regulators =3D {}, + .clock =3D { "gcc_axi_hf", "camnoc_axi", "cpas_ahb", "soc_ahb", + "vfe_lite" }, + .clock_rate =3D { { 0 }, + { 0 }, + { 80000000 }, + { 37500000, 40000000 }, + { 360000000, 432000000, 540000000, 600000000 } }, + .reg =3D { "vfe_lite" }, + .interrupt =3D { "vfe_lite" }, + .vfe =3D { + .line_num =3D 4, + .is_lite =3D true, + .hw_ops =3D &vfe_ops_170, + .formats_rdi =3D &vfe_formats_rdi_845, + .formats_pix =3D &vfe_formats_pix_845 + } + }, +}; + +static const struct resources_icc icc_res_sm6150[] =3D { + { + .name =3D "ahb", + .icc_bw_tbl.avg =3D 38400, + .icc_bw_tbl.peak =3D 76800, + }, + { + .name =3D "hf0_mnoc", + .icc_bw_tbl.avg =3D 2097152, + .icc_bw_tbl.peak =3D 2097152, + }, +}; + static const struct camss_subdev_resources csiphy_res_8250[] =3D { /* CSIPHY0 */ { @@ -4864,6 +5039,19 @@ static const struct camss_resources sdm845_resources= =3D { .vfe_num =3D ARRAY_SIZE(vfe_res_845), }; =20 +static const struct camss_resources sm6150_resources =3D { + .version =3D CAMSS_6150, + .pd_name =3D "top", + .csiphy_res =3D csiphy_res_sm6150, + .csid_res =3D csid_res_sm6150, + .vfe_res =3D vfe_res_sm6150, + .icc_res =3D icc_res_sm6150, + .icc_path_num =3D ARRAY_SIZE(icc_res_sm6150), + .csiphy_num =3D ARRAY_SIZE(csiphy_res_sm6150), + .csid_num =3D ARRAY_SIZE(csid_res_sm6150), + .vfe_num =3D ARRAY_SIZE(vfe_res_sm6150), +}; + static const struct camss_resources sm8250_resources =3D { .version =3D CAMSS_8250, .pd_name =3D "top", @@ -4959,6 +5147,7 @@ static const struct of_device_id camss_dt_match[] =3D= { { .compatible =3D "qcom,sdm660-camss", .data =3D &sdm660_resources }, { .compatible =3D "qcom,sdm670-camss", .data =3D &sdm670_resources }, { .compatible =3D "qcom,sdm845-camss", .data =3D &sdm845_resources }, + { .compatible =3D "qcom,sm6150-camss", .data =3D &sm6150_resources }, { .compatible =3D "qcom,sm8250-camss", .data =3D &sm8250_resources }, { .compatible =3D "qcom,sm8550-camss", .data =3D &sm8550_resources }, { .compatible =3D "qcom,sm8650-camss", .data =3D &sm8650_resources }, diff --git a/drivers/media/platform/qcom/camss/camss.h b/drivers/media/plat= form/qcom/camss/camss.h index 9d9a62640e25dce0e8d45af9df01bbfd64b9bb4b..8f635879cccca9426c512f8582a= 2aedaed63f8a7 100644 --- a/drivers/media/platform/qcom/camss/camss.h +++ b/drivers/media/platform/qcom/camss/camss.h @@ -80,6 +80,7 @@ enum pm_domain { enum camss_version { CAMSS_660, CAMSS_2290, + CAMSS_6150, CAMSS_7280, CAMSS_8x16, CAMSS_8x39, --=20 2.34.1