From nobody Mon Feb 9 21:21:54 2026 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 5F99730C61B for ; Tue, 6 Jan 2026 09:04:40 +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=1767690282; cv=none; b=lv1pED6AhBkmWINzDcNemrc1py5NGxZAhkZnYPme9zyNxHerQVc0dR+bHlqnj8ojGR5oinqBWVqQY9Ebp9NHBGsmb17tAz7UXdRiB5LsExONuW5RSuKS88VBoEV9f+pNv6exJutMJ1WuVbAaEgQwPUJFDrkGVL1Tcz4DtOVa7NM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767690282; c=relaxed/simple; bh=eFGb2TrknCQ4oikLTHFknx3Qi5PMPqdvlpApiIlyjY4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tS0DeBn8QpJd49YjbID6y8w2K/t+a3rDeOD+bq/6IcpPLLubw1JZh73jyCvSCqfz4QwWkUc0ZCzAcN43lVAlGg+qCL6gAe2Tqyla1EvfETK4UJ4fySA6f9LwsDDfzu0HGuzR7oPQC1+HzSS7yxtYQsyVv8434cUqucgs3iKXvgM= 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=FSggoA/f; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=FkXfAmWh; arc=none smtp.client-ip=205.220.168.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="FSggoA/f"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="FkXfAmWh" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6063QTpE3272112 for ; Tue, 6 Jan 2026 09:04:39 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= H7tBTi3UFmpU32lDW5rDvlycsT4ewfmDg1H09LPYcTc=; b=FSggoA/fSdCbJwcw /Z7Cbgj67bBCy1lb/wtubkBRUAfGC23kgxx4QI+Llhm/bQkjtudG1PhfKpeeHuE9 FViLFYgecrB1wN4Fx/BZXhJokw9zqaPcR6l+cO3SmASQZubC9YmQXcEEtYuazaFp x6So9HarWvrE2W3Zsx8rM9G4kzG5bbBdc7gIw7AGAyrTu8tOfbPig9q8tJIfSVhm 4kLJC3WT50u5c0WQjmVJ1soCm7AeiC8m0vb/4oU2ynJ16FzuHkj6LFtR3exZWqlC w05Ns40iYEnhDWSZcBZV5aWXxwbh9A/m5Q1VDTpYhkREwBfvOvpJLDYsP3gMZ7tI 1b2sxg== 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 4bgfv02p6v-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 06 Jan 2026 09:04:39 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8b2f0be2cf0so270942685a.0 for ; Tue, 06 Jan 2026 01:04:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767690279; x=1768295079; 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=H7tBTi3UFmpU32lDW5rDvlycsT4ewfmDg1H09LPYcTc=; b=FkXfAmWhxPOhc247OyAuxwazRsESuRFZI4kAtk1JtctUmm+V1gR158ANQt9fMnoibP 89ems+Nn1maviBbPmAjVxAXaU/wk5PyGu339mGvwTci7bWQbKZz1Qbuvsqd4U4P+b8DH ztehzfI8tSsBu29QFwF4j9OVU4PVqz/59tCIpNqnuy0kUGGKR8KP0hmvlrgyHjUa/SdP 4Gtgjwcea6ab6ZbuSEiC1BMNgtBm5DBWY+rsuXlsdt3HUBqpfpSDRGfuUK4y5CyYiry5 iQ3ya1S5x8W+lpK1NPSAIpKiOc65upXBDkV7ZRcXplKMXLDBw8rL5hns/ISZ/05NkmzU lFAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767690279; x=1768295079; 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=H7tBTi3UFmpU32lDW5rDvlycsT4ewfmDg1H09LPYcTc=; b=anKkCf0WFIdcWJx1/XFhedv1xgQGN8m2yFK3LrBhpvCHE+xmwc1tD+WLOwKXHxj+iJ c4fQTwXazHN535Q52kRKvIYnrDDJrE4ZB2mqZDBMeqvg9gCdNnWNiToKf1lkJJJKTWaa QMrE6NrkKEtO3N+ukNFrzwmAb/d/SjXWsxsCJUIHmLx+umWzqWw3zNXOatF38S6a2U4u /Zu2D1GRinIFBPrbeNYXheYEkiENhepE42xPp9v80JStRAPEXB9nlj14Md5kXAiTGmQd VVBMvaht4CDD3d4OApdV3j63uSskUzg0D85LwkjW71fnaIAwKIx8L2/EFBSUjOmv0YCM I85w== X-Forwarded-Encrypted: i=1; AJvYcCUxfSNOSZkIK7cQwDFjl8LelSo4smBaknd3En1lkihSAyL/4cx+gbv5wqB3NWsyyloNAfInI4raP1T6/U0=@vger.kernel.org X-Gm-Message-State: AOJu0YzfXxWrToRguR++ME+MX8/NClmBjE42sx+1ZoPPLutP7pq0ZCZ9 HqUJdoNy1PpynTNtLi/Ok17UjbLMosCO8ZDFnHt+mVU7Y/5vHR931g/1Jr0Zlvv0T1CJdugLriF 4RtPBmv2q23xkf9twPkbpQ7k1nmgeTsit6AXn0CH2ziJr6iB3XVDNBN5jhPXnp1OjxKI= X-Gm-Gg: AY/fxX50ouni8oADNXYyk6TqwJS/0SdmZuF/BdTtlZpdJIWFvD1uENrI/6mZUKRvIvS 3vAIbqJPLSvlggQrqTSVQGJ8/v36vjBEwjTkwLzkYHgA13jKBihQEP1RYuV4vZ6VRwfh/y8LNmU p/wzN7XpgW5GrD3mKQpynlKnYorVP8KklNAVdVDpX4VVTfOFZOXpgf7/xoA+sbez5NLThqfvYxP vswv9Cb4pQovftfBJMC5P78L30HwF12sp6W9PaW9nexmLJet8Ex1aR8hDYwjv0ApcwI6bTf3Egq 5Q+5WQtkzW1LUB3zhlYivjS6fD5bO+nGlDVDGXxIYDzYGBnhj3+qR9ZbNG6JL1ZcBZgwcv9yJR2 tJ/AxePfwsl2CqRjMG92VnQ+toA4+RMvV1didZ2DeUYpGR0GsrXGBeYZmTtxdgXDkxgVVbczxSw S8 X-Received: by 2002:a05:620a:2808:b0:8bb:18fe:d1c5 with SMTP id af79cd13be357-8c37eb71eaamr311111985a.9.1767690278488; Tue, 06 Jan 2026 01:04:38 -0800 (PST) X-Google-Smtp-Source: AGHT+IF0LWWySRGTBAKyvTcuKEdY/bom8iXcbwDtrwB4+0geTEYZCGDg69vBXsA3gYbHfU90iCm3UQ== X-Received: by 2002:a05:620a:2808:b0:8bb:18fe:d1c5 with SMTP id af79cd13be357-8c37eb71eaamr311107785a.9.1767690277591; Tue, 06 Jan 2026 01:04:37 -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-8c37f53113fsm134368185a.41.2026.01.06.01.04.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Jan 2026 01:04:37 -0800 (PST) From: Wenmeng Liu Date: Tue, 06 Jan 2026 17:04:17 +0800 Subject: [PATCH v3 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: <20260106-sm6150-camss-v3-2-d1d5c4d02b0b@oss.qualcomm.com> References: <20260106-sm6150-camss-v3-0-d1d5c4d02b0b@oss.qualcomm.com> In-Reply-To: <20260106-sm6150-camss-v3-0-d1d5c4d02b0b@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=1767690260; l=8778; i=wenmeng.liu@oss.qualcomm.com; s=20250925; h=from:subject:message-id; bh=eFGb2TrknCQ4oikLTHFknx3Qi5PMPqdvlpApiIlyjY4=; b=EaGcFVM/y8y1V4/XsniAzNhHdbs397bO+aT7a5u7IVmnO6UcAa2/Be5qTvw6cGuhcpPuStAPh QPd5DOB85UzDKbwPx20DbZaVp7a+XTNKChY6M+3KF+aOaeDGOxicpck X-Developer-Key: i=wenmeng.liu@oss.qualcomm.com; a=ed25519; pk=fQJjf9C3jGDjE1zj2kO3NQLTbQEaZObVcXAzx5WLPX0= X-Authority-Analysis: v=2.4 cv=e9YLiKp/ c=1 sm=1 tr=0 ts=695cd027 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=IkcTkHD0fZMA:10 a=vUbySO9Y5rIA: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-GUID: 8cTz3wtoyeqKXQ2QEZqyrDdjbqqeN_DM X-Proofpoint-ORIG-GUID: 8cTz3wtoyeqKXQ2QEZqyrDdjbqqeN_DM X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTA2MDA3NiBTYWx0ZWRfX7+i67l5t6BgV MWOuaBuCqDrPBFi+rFzYhBZnkOTd+ON7/umOXEBJknFAcwpt/oYCwKxdYYBdMCyeJIkA0i5e0H/ qBaLaXoP/Lb7b7fSVnoOj0bEpVVw1W01rP2DD14eT0M8mjYyyXX0tqcERf4741aG4jvpxdEflTb +trS+cCa95wv+Net88VfMSHNP3/UdLLxs2jVeAJbKNNWJqMTgAjvGUZUyYQbM9B2dCaOE5hkFJp R3T9O8OlmJUowy6lQaE2b8/KAqmkByEn1RynPhM/jBD0tPjzClVXX8RoT2ByVQcblJ2MgXvBs9j qpzgIQBjp6GuQWjBvFrArcN3P36vVJHYbsAkBKZNxdAzEJdDxSbQ2zf1P7uhwH1Dr2vg6R6xR5k cmC9OoLSNR8cqH/7FVYS9dCttjt8lYd89vBehRZiJ/5h6DEXYrWL18raCPitdX0pJvNkykJiq8A +uwFDReglml0yIY99sQ== 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=2026-01-05_02,2026-01-05_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 priorityscore=1501 phishscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 bulkscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601060076 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 Reviewed-by: Bryan O'Donoghue --- .../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..1afc7ac55f662e4ec11955328bc= 9848a5260f2fa 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 "hf_0", + .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