From nobody Sat Jul 25 04:54:45 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 F1639394EB0 for ; Fri, 17 Jul 2026 23:13:37 +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=1784330021; cv=none; b=BOEiDNvR4YuTAPfBKrSTScy6copEz96i6RHQQuCm0W8evzgPZss13yJ+Hcx73CTDdq27YnB+ZzYmKfxrJCTYvqygyEz/hkzs5WQjXu42xm3eF1qeVANkOGUIx/vT6TcmJxP4DPX1f8G7UrvggTmooKvCWjiwTkJ2jE0HmYFyPO8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784330021; c=relaxed/simple; bh=iD1q+F7BjgRMha/yheJBvIJueqgEGCIt6wU+9bFjPqM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=UcspdBxxSWIMwr6AFksB98ziIsOk8kVta5M33wK0n1VFZEeBkq4Bt6F8+rwXbAd8BKLk3dlYaWEsywOxfVwCxUVYWSL+IwPAI1ao5ddP4k3T71MzhIPFcHWED7K4lmbET7jXxS6014mxrCIE1z0GSe1H8lul23dKTHbBwZgN8C8= 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=Smpws/1P; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=GZOE8RGo; 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="Smpws/1P"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="GZOE8RGo" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJtrvG2753312 for ; Fri, 17 Jul 2026 23:13:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=w2WQ9/SNZxy 47rjQmxSoI+Od33bxAxG8ubkvwzkZDDk=; b=Smpws/1P+5o87QZi1bgva4gIlxq 6cRJVC63WSHjitm4eYkjr7jC5GNnpwbz9LpS+tbypwlyDVEY/Cn4IWjpKJL64lgR bO/+sDlUpECCU6B4Pob+yp7ISFZd2tuDwXNDQiYl4bzfRME1H5FP1qloLL4X0VeJ 5JF+rx57Bmq2NEst7t2pm2KSwSYT8ws3oiVQkrD8bIpPvSmw+86KiLk6dKKxXCCS dZ5vVk17SoZaWBdsIxxA/Hqf3SegHjcbSmwdBrkDehn2SPjNhiTITy4Dqtn1abiZ Yt2yy9zmOrslYmus7HBziZO2IXF2FIjrLK2aXbSw1k2Otrt6zRYMXMdWxqg== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ffpug1px0-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 23:13:35 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-38e25e4b41cso4035753a91.0 for ; Fri, 17 Jul 2026 16:13:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784330014; x=1784934814; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=w2WQ9/SNZxy47rjQmxSoI+Od33bxAxG8ubkvwzkZDDk=; b=GZOE8RGoYTrs6e8RSjFVQqptw1iQQQuOSG8/nIS1hvMG/oWPB3cVLEJW+qU6gwb1Ni JKnJmBF5lSBR+ojHa/H4O60vm7aaOM27GNK+9G6kkYnHqc7wth7k743PDqNVvzubd7bJ O2halkWZNPlgNWk+lbcAuTfTYUnq66tO8P2ov0wr+S9n+1VRUyk/NDbig7+iF5tmmZCZ 4V56dO/9rmeQZ2mlDCR2fGyQunl2vDZgUEFc9qdlYF8Wb2lVz8QubJSzBIGlyszzMLWN tW4t7b/X2DQl2F2wgBArrLG7Dfl/M4u5ww6s9xtCZgJZyDolGkgTpoXTpTRNTxqyJ/NX 4gYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784330014; x=1784934814; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=w2WQ9/SNZxy47rjQmxSoI+Od33bxAxG8ubkvwzkZDDk=; b=W1pnnZ0J9es15ap9dfeXMlVTUodWEs4r/iwDZr8aObEln+ndPnOY4pFFGfJaq3o+gT b5jPeqoBpfdfk4UIrATq4tfwSH3+Oa7i0M8puKTAOoe3qObS0POvN8boFzM70qdpos5O EIbzO2BFGWuc3yWhlXCcPmoplj1dfPkGuYPodgRHqnuYwmYM97xkGZoi2vvE7MBopHAR 4P9YceG6QhPVsEKzq8Y7i/7XyQzTO7gt41hCcYuET/OFJUp0AbueWrswwQ8whGeU4Do9 gXLidUi9BwK4eT2UfUmtrMgd12IYb4oUph4/q0R1qWJvZBt1/SKCVA7DrV9R8D7VjJ3n nNFA== X-Forwarded-Encrypted: i=1; AHgh+RqrK0tq3DvpoEmU4oijHl6ZwJYB+gzakp04oFa0Kc6YRH4eDPsBMccoJ/fC3cA8dDxUjEF+e7b+pUtGD78=@vger.kernel.org X-Gm-Message-State: AOJu0YwcC0lZD91nVgAkHXRrLe0sBTpiWlOJMTiMaapsBHJFEOR9XFdp zuWWzAkBXOV+8Y9x42+haUGhAtcB5aJdiXwrtsTDX9NZTfecrTM10aWqSxcHOzMvKDDe8zPxs2p GY7Rb/49NK66QZYT4uWPpc2Z1ari3OaMWkGbfV1/5DKsgfTKYOG1ZAaDykni14ox1v5g= X-Gm-Gg: AfdE7clmHWKfbuLMpom4yL/KVeLPy6tixTFXrCpYQfvV0Ovo/tBNn6PrLkQnJwvfZWf ykp12SwXdZeuAdlhp4z9pQpnYYvuklvK1LtuLtqfK/RT6uBNBRRpcw3wkFWrczPu+mnEfipelGZ VFmZdDlRDW60A64Ip/pnnE0VWM3mMVQnfzZKJUYL6PlTXJZvYO2iTcQZtpn8r2K1RhF27XFiMLe TYvUehQxhZI3Wpi53QfmwpWI1lhQS2glu2PxQuLe3YJyvsX+8a+Fx6xAEPCA6kEpot2kxLcA0b+ ia9Wsk3qZ+MYVpJ2b9+/Fj2s5ErlUPa0DGJhls+7e54KMneVT2c6CHl6OESzioBjrcwD9E4Ctc0 c/XgO+eemfN7Ez7Npwxa+cM+tfuyNZPBr3JXgDcdUlFi6CW3l1QeF/JU= X-Received: by 2002:a17:90b:53c7:b0:36a:c4b:76cf with SMTP id 98e67ed59e1d1-38e4b56eabfmr5187746a91.23.1784330014300; Fri, 17 Jul 2026 16:13:34 -0700 (PDT) X-Received: by 2002:a17:90b:53c7:b0:36a:c4b:76cf with SMTP id 98e67ed59e1d1-38e4b56eabfmr5187717a91.23.1784330013713; Fri, 17 Jul 2026 16:13:33 -0700 (PDT) Received: from hu-aarunnan-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13ce2a18a47sm8145264c88.8.2026.07.17.16.13.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 16:13:33 -0700 (PDT) From: Anusha Arun Nandi To: linux-media@vger.kernel.org Cc: anusha.nandi@oss.qualcomm.com, bryan.odonoghue@linaro.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, jigarkumar.zala@oss.qualcomm.com, gjorgji.rosikopulos@oss.qualcomm.com Subject: [PATCH 1/6] media: qcom: camss: Program CSIPHY common control registers Date: Fri, 17 Jul 2026 16:13:26 -0700 Message-Id: <20260717231331.1229693-2-anusha.nandi@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260717231331.1229693-1-anusha.nandi@oss.qualcomm.com> References: <20260717231331.1229693-1-anusha.nandi@oss.qualcomm.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-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIzOCBTYWx0ZWRfX4+GbMl2put7g pFC7UnYxoWyNSQEqFXVCotqFeCNbqFU/eyC8yYRTvgPUTc3KMSpbmwmHuQbdHLt6uDZfv9DM5Hf Po5uA0AUGYBqM4dDDcoWgkYOOPxKc2zePgGo+FC/1KoOJmkaTSNRIO7SAqCe//ndUq5D5NrExz/ w7uBJaVX86wlEkfol1waA1VgkXCKyDNw5PGwvvBkn6t/Ewg1ObkIvAbxwSZZ1PaaTMYLjSMFtYr 1wwCw89en06JvAtnd0AHSMgOB1qk31kA/WVxzzmyyiZc/CeIcHWDUaTOgZQXHd+Q93yhI2F1ySC 6DxyFYZpCfjD1eKNiePVlM3tzTkbCI1l1Cgkkkp+CDemeg89NLfMO35k1VwVfkoYL3wOlpdNW+P eJJzBUJKQ650CqYBjQHIo/OICoB7Z6n5awauNrV/Y9zHaWWYJJ9b080NzmUp3Soye9U9OmrJDpe IAOfBo12Rei4ahk+Zdw== X-Proofpoint-GUID: LQPHr1ZIRN6c-2c0WysDEdZMWloePezN X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIzOCBTYWx0ZWRfX/LFzUrQdiZjc X+Oc4RNothvBZvbeN90OOIg+dOCQ84mqpEUykt3l+itChqtIE7Z/2SBXh0u7h5n2QYyhTZFziuT 9nSZdrRuJW+FWSnJFQVitTY55ASMn9g= X-Proofpoint-ORIG-GUID: LQPHr1ZIRN6c-2c0WysDEdZMWloePezN X-Authority-Analysis: v=2.4 cv=Q63iJY2a c=1 sm=1 tr=0 ts=6a5ab71f cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=tkrKIiBMfSoC4ikKGA4A:9 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_06,2026-07-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1011 phishscore=0 spamscore=0 bulkscore=0 suspectscore=0 impostorscore=0 priorityscore=1501 malwarescore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170238 Content-Type: text/plain; charset="utf-8" From: Jigarkumar Zala Program the CSIPHY common-control registers during lane enable so SA8775P uses the required 3-phase 1.5 Gsps reset-release values for both C-PHY and D-PHY. Keep the existing reset-release value for the other CAMSS variants. Co-developed-by: Anusha Arun Nandi Signed-off-by: Anusha Arun Nandi Signed-off-by: Jigarkumar Zala --- .../qcom/camss/camss-csiphy-3ph-1-0.c | 36 ++++++++++++++++--- 1 file changed, 31 insertions(+), 5 deletions(-) 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 25a3554ef201..11b7a236e607 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 @@ -1031,8 +1031,6 @@ static void csiphy_reset(struct csiphy_device *csiphy) writel_relaxed(0x1, csiphy->base + CSIPHY_3PH_CMN_CSI_COMMON_CTRLn(regs->offset, 0)); usleep_range(5000, 8000); - writel_relaxed(0x0, csiphy->base + - CSIPHY_3PH_CMN_CSI_COMMON_CTRLn(regs->offset, 0)); } =20 static irqreturn_t csiphy_isr(int irq, void *dev) @@ -1343,9 +1341,37 @@ static void csiphy_lanes_enable(struct csiphy_device= *csiphy, writel_relaxed(val, csiphy->base + CSIPHY_3PH_CMN_CSI_COMMON_CTRLn(regs->offset, 6)); =20 - val =3D 0x02; - writel_relaxed(val, csiphy->base + - CSIPHY_3PH_CMN_CSI_COMMON_CTRLn(regs->offset, 7)); + switch (csiphy->camss->res->version) { + case CAMSS_8300: + case CAMSS_8775P: + if (c->phy_cfg =3D=3D V4L2_MBUS_CSI2_CPHY) { + val =3D 0x5A; + writel_relaxed(val, csiphy->base + + CSIPHY_3PH_CMN_CSI_COMMON_CTRLn(regs->offset, 7)); + val =3D 0xE; + writel_relaxed(val, csiphy->base + + CSIPHY_3PH_CMN_CSI_COMMON_CTRLn(regs->offset, 0)); + } else { + val =3D 0x02; + writel_relaxed(val, csiphy->base + + CSIPHY_3PH_CMN_CSI_COMMON_CTRLn(regs->offset, 7)); + writel_relaxed(val, csiphy->base + + CSIPHY_3PH_CMN_CSI_COMMON_CTRLn(regs->offset, 0)); + } + break; + case CAMSS_7280: + case CAMSS_8250: + case CAMSS_8280XP: + case CAMSS_845: + default: + val =3D 0x02; + writel_relaxed(val, csiphy->base + + CSIPHY_3PH_CMN_CSI_COMMON_CTRLn(regs->offset, 7)); + val =3D 0x0; + writel_relaxed(val, csiphy->base + + CSIPHY_3PH_CMN_CSI_COMMON_CTRLn(regs->offset, 0)); + break; + } =20 val =3D 0x00; writel_relaxed(val, csiphy->base + --=20 2.34.1 From nobody Sat Jul 25 04:54:45 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 519593D564B for ; Fri, 17 Jul 2026 23:13:37 +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=1784330021; cv=none; b=fO1JPiwWcDy538rg8zjRgGE0CvCyOPYFk2a3ztiOJpuKmVuSoS1XWpcvixq6XgDOsmhfQkIxvHqlf1FiO1Nj77QoS2/Ufs1QloRw/+Simebf02avHkvi56fHFV/23SWae4c8sdtPEl80Se6mtP3u96W0ye6jPOesZEL4XQOTFpg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784330021; c=relaxed/simple; bh=f+S+lTku3sMWv1vhJi2pQtFh8vgJTbufT0NBxuZfHg0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=S2G/VxsfD5I0ZTwMxEhIs4M+FHDZY24MOx2zLGc7WIFPjtIK2Slnm1VN1IfbNBD55WLtK6dxS2KyWGtLmaGpv0eItP5TvLlQFEO7Zn2l0znDoXQJG8Dfd1NzMMgKgQFjDCwZPvP036UI76UVmU1l+Tj65C1T5y+DJOTkogZYlAc= 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=FzO5YQ1U; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=emTOOoNw; 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="FzO5YQ1U"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="emTOOoNw" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJtXsA2652977 for ; Fri, 17 Jul 2026 23:13:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=bvnvMxhIcK/ +trxvNdj3SRCr8OaLPB5Lxo46Tk1x2T0=; b=FzO5YQ1U51k//B8MnyloRr6QVYm IFSmwaOt7YofwJ3DZnO9jH9BvXMWj+ZEk7hFYf+326aKLT41H8Dhgef+wLjGbxlw lKfyUP5PiJojboDxVNhw4vq5Nggk9wClNctcejWzWKkhtS4Uxt19QtEdjNMkWyr2 Tg3h7t0BetNDxZjheIMLgwM1ltL7ZZE6YdeHVRbAEbrPUjzpW6IG+QW2mf07NwQS kufRbTGJGORHH/vjpOZA+NeEtzYRF1/asZyqF3+VL6F1mNw2N5n9tkbajj/H4XJX zsGf8Tk5NXg7waRszF1HcFB10ZZlW484JGuSp8+iI7wBUA3wzncsx2JB3qw== Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fff9pbnu1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 23:13:35 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-384419c6c74so10567407a91.1 for ; Fri, 17 Jul 2026 16:13:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784330015; x=1784934815; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=bvnvMxhIcK/+trxvNdj3SRCr8OaLPB5Lxo46Tk1x2T0=; b=emTOOoNwoLzsg6cCb3ylyaeQwaKUX5evM3h1YBcL22As+VqY7PiCqBQ7ZMdtP2TmDy tw/hoaBUZ5EA7fY4VnF3Y8ImQ23uLZnM0wzzsSVJCBwuyZChmElDEw5Et7H4CKpjALoN SXFx4aR19p6CgdtbyVbyh8jtizmAuQ1SOFQnl8/2wOnfc08nniqm5q6VFah5czC064uq Fn2Iv9Jw2prdwUwaE4H9mL9sK9e5G0K64LhYZkjaXbQ7Y6Sx5NcwRU8Z8F5RZMDETdjk Vc6DDJz79tw+WI5PwPl018x0DOXXVLS+Dh9fSJOHH5uowY/iZZEOGPRiiI0q95D7Se88 yS5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784330015; x=1784934815; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=bvnvMxhIcK/+trxvNdj3SRCr8OaLPB5Lxo46Tk1x2T0=; b=RK2U/T8GWDmBtg4w/Zs7hIt0q3VTreYB00hNJW7up5Mu+RyMC294xH5YLfOq9Z8Bab EGwO3ijzfrdMWFICa+LxhoO6dnOQOUNBWSD78SPEODC7trzhevqbappTQz2muIiT2qhg DvftMWci1wbqWcyvhYlTGjZiaWcLTo9DowafHJgyJdTdwbamIfEE3i6EFZyrU2FQrS1x xQbUZrV6fzFZdS5z1KhShaSeyrYxHya5ZBQNR5Ko70X+dtwZDX7fpfn93sJ0fSa8Yq4l UySaNcfTTMGLDkx0XzlleEb5NKwknlR7UI1uwhPCKBEfcCfCgbuzRhhpqCCiYUpDO74X 8pQA== X-Forwarded-Encrypted: i=1; AHgh+RqABZF821e5yy5bRQ4D8dNilAUd7JYZTmrjyy4zOEAanwXZlVmmifrwf4q8T8zTzxXgX+HcKbMufP+629A=@vger.kernel.org X-Gm-Message-State: AOJu0YyYmWAVzIZHJcleESDnbJHpHGBVbB6nwUKI8HC5S/GX1p4Cfcwh EsToNu+unzWnqnYpRvD4eopv0n4gzthbD+qBkQbK6o8QwKqWs0phTP+7FGbNI3Ss97mrIIdtQNN fcvv3eKss5sStn06WnKtzYNsSL9nLh1fDRTNcdcYm6kOBxxBneT7ql3iBnKdOnm7Iyko= X-Gm-Gg: AfdE7cmZncqtxhLfNhmybW7EJ53QltPFCWY6fSrupjmDFtpimcngqR+ke+j69gazj2I bx39JPISIi/GIKA/3wTEn263y3Xt6/PtEbQjEQRKtf6B1ruyg8qphIkVec1jZdNAIF+b86wR7Qx rqZYaU1xoEOKFjkoQA6yNz7VkUzfO9iZtj3f0mGmM/XM9gOn4tUjp0+oeRlpuVYbl9eZshkZbuz zR0hKH5fVKAVAtZIjqbrnA06Hfr4ioIdAOLEYSCE7qFtSVNX1Euvp2Icg9NEnZ99AfLKaXE4Gc+ zhI8mYQNnl3GF96JkkomjZCAfzlCQufvTENYuV7T9OxJjhetB2Y/cPW6IHllJiy6Sp7ThLk0Zd2 uIZjVcYP9ZKsxjZOuiZlEWG4kgKWgsRt/kfOhMW7BsInzRVDrcimlGEM= X-Received: by 2002:a17:90b:2692:b0:38e:79f:76ad with SMTP id 98e67ed59e1d1-38e4b52efd9mr4923930a91.23.1784330014974; Fri, 17 Jul 2026 16:13:34 -0700 (PDT) X-Received: by 2002:a17:90b:2692:b0:38e:79f:76ad with SMTP id 98e67ed59e1d1-38e4b52efd9mr4923900a91.23.1784330014522; Fri, 17 Jul 2026 16:13:34 -0700 (PDT) Received: from hu-aarunnan-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13ce2a18a47sm8145264c88.8.2026.07.17.16.13.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 16:13:34 -0700 (PDT) From: Anusha Arun Nandi To: linux-media@vger.kernel.org Cc: anusha.nandi@oss.qualcomm.com, bryan.odonoghue@linaro.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, jigarkumar.zala@oss.qualcomm.com, gjorgji.rosikopulos@oss.qualcomm.com Subject: [PATCH 2/6] media: qcom: camss: Prepare CSID for C-PHY support in gen3 Date: Fri, 17 Jul 2026 16:13:27 -0700 Message-Id: <20260717231331.1229693-3-anusha.nandi@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260717231331.1229693-1-anusha.nandi@oss.qualcomm.com> References: <20260717231331.1229693-1-anusha.nandi@oss.qualcomm.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-Proofpoint-GUID: j_0IqKK_XYMMEFKQKk8UuFouZOSPGFXU X-Proofpoint-ORIG-GUID: j_0IqKK_XYMMEFKQKk8UuFouZOSPGFXU X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIzOCBTYWx0ZWRfXyj88q6+N/euU YKvycRLyQD7OfMZaSF/uc407tU7GPEIVUY9D8Dsg0A2Ffcgywfffzo1H5BfQIiKe/+6m9kQcsAH rjblKFyyxu1zHjBxMPto5R8pbu12zuuuU2je/ePazdupVySlgUvZwzN5Bza1GFc6bkhV86rp0Kl +5rhMoJCfUnGEmRHkk60GeUwAzsKBbrd2bm/MRR4zOGRfKWyJvKzvxcT+GLERPIpXSGIpCcq/a8 Nx8SxbPsk4AJllotCj5DPssdIPONaNcWDCSL5bRCyIXmIySCU2lqSlkKN8Gw93Xc6c2aXBgCpXW WXkQBaGsdIgp0tvFo0EHEJEhXBh8MVnPKkg5wPLQIQtIsnYB0uBYcQpTmi+/K39u+/YjNuCW+qE greml32NzsYus1LyM8OpbJTchlzMki3UG7Z7kPVLnigSWEC0oue0k+g/fheNT+JYzP9BQwmDFTH Ukak/jgAUcsOHsQZo0w== X-Authority-Analysis: v=2.4 cv=TaqmcxQh c=1 sm=1 tr=0 ts=6a5ab71f cx=c_pps a=vVfyC5vLCtgYJKYeQD43oA==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=tNMExdcoUpRSOsAuOLEA:9 a=rl5im9kqc5Lf4LNbBjHf:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIzOCBTYWx0ZWRfX3WFn1yc5Tlj8 Ju5ChjoXfWkmLABP1ZQrGATCnwk/8vUUgTCF7gBj6JbeYSGWXUc2m3lI0U5rozDJdxU8/gA7Tlo Lc/Uv8C4JNpEEByFM0myUQ6N/SO4/hw= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_06,2026-07-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1011 impostorscore=0 suspectscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 spamscore=0 bulkscore=0 priorityscore=1501 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170238 Content-Type: text/plain; charset="utf-8" From: Jigarkumar Zala Program the gen3 CSID CSI2 RX PHY type field from the configured PHY type. The RX path needs this value to distinguish C-PHY from D-PHY input, so leaving it at the default makes C-PHY configuration incomplete. Co-developed-by: Anusha Arun Nandi Signed-off-by: Anusha Arun Nandi Signed-off-by: Jigarkumar Zala --- drivers/media/platform/qcom/camss/camss-csid-gen3.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/media/platform/qcom/camss/camss-csid-gen3.c b/drivers/= media/platform/qcom/camss/camss-csid-gen3.c index 0fdbf75fb27d..a9c7934907a8 100644 --- a/drivers/media/platform/qcom/camss/camss-csid-gen3.c +++ b/drivers/media/platform/qcom/camss/camss-csid-gen3.c @@ -66,6 +66,7 @@ #define CSI2_RX_CFG0_VC_MODE 3 #define CSI2_RX_CFG0_DL0_INPUT_SEL 4 #define CSI2_RX_CFG0_PHY_NUM_SEL 20 +#define CSI2_RX_CFG0_PHY_TYPE_SEL 24 #define CSI2_RX_CFG0_TPG_MUX_EN BIT(27) #define CSI2_RX_CFG0_TPG_MUX_SEL GENMASK(29, 28) =20 @@ -115,6 +116,7 @@ static void __csid_configure_rx(struct csid_device *csi= d, =20 camss =3D csid->camss; val =3D (phy->lane_cnt - 1) << CSI2_RX_CFG0_NUM_ACTIVE_LANES; + val |=3D phy->phy_sel << CSI2_RX_CFG0_PHY_TYPE_SEL; val |=3D phy->lane_assign << CSI2_RX_CFG0_DL0_INPUT_SEL; =20 if (camss->tpg && csid->tpg_linked && --=20 2.34.1 From nobody Sat Jul 25 04:54:45 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 88A333AD515 for ; Fri, 17 Jul 2026 23:13:38 +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=1784330022; cv=none; b=jyQrAvdVuX38POg4L8xKo29164LdsghSXXd3XGfxdoinaJQzKG0zk5lfPlZEnTCOJCSiKqtvcQVuxT9N5Nrknqx21Aj/hnFSraWtQTAhkakUHmC7KvDX6PFeVbWhmP1/NwiKweTFM4UxyafB78SY6Mvzmkj7UAYXoN1/10OCVMI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784330022; c=relaxed/simple; bh=p4fjdac7ddmXNJzhiuD/XngfABmm4H53JDzMgBLxeDI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=mX7pWEhzNm2ftmb367YTaIIj+IxJmlK4/cbbQ99Hl++CAkYUjOF08VcrIvJH6/hSAH/Ks7+xQh+rFaxxwBDIH0mfpduwMRY7iNwRinnLbETDCWOpLIKhViVhy0nAXKsilOm9eIWyytrPSls3Ap0C4QgyxcnrG4plpjM5+R3lObM= 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=Lmxevqzp; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TovieYw/; 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="Lmxevqzp"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TovieYw/" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJuDeq2655306 for ; Fri, 17 Jul 2026 23:13:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=BDm6gQk+IcU ynEcgUraIbieG1UfSQ/0Hu9EEvI4ni5I=; b=Lmxevqzp4yA+E6T9oD1000pT/Z6 7Ypu/uCblOOiPmtgWp3EYLJmYCU+y8wOqIX3fSGgywiP05k8LZrpf2oPY4pBNibC ctu7RonNYKKoM7B8w3pUOIdbUTNBAP7wvR/8E+aq2zJPhzAJDiflyjDLg/cZiHC7 0k29ymr+tWX3YPvZCUeP8v7milO/7GHw1KkseK8sq43NYynkYS4iX+fr9yppIIKL ZKo8xO6yQSxSHgfIkWDrM/ebx8wE1hwio+EWox3nSj3RZIJM2gW0Ov8OzOZsCPH7 x+r5OMgQtvfxT1mdDEH02fMsOKEBScUV36PsAbOZl0lJgj7fEJxEBhsbaBg== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fff9pbnu3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 23:13:36 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-380b630c505so10223148a91.1 for ; Fri, 17 Jul 2026 16:13:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784330016; x=1784934816; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=BDm6gQk+IcUynEcgUraIbieG1UfSQ/0Hu9EEvI4ni5I=; b=TovieYw/qH/tyVjRnkMLDnw4UQU8f4ZwpxSTUrouWtxC4s+hMG+e3Lyo5ilxiYdCQk WR4sIpfrQfCmj9wuGLzJA11nkMoYShV284rNPrQaKCyt4mHQrps0vo5l1ZDi4G/qZOGw /fDqu1Vy2hsRvZpl8KMG1w9t08DUPm1Sm/cxazTJTI9gkVWWHnBPidXPxuMqD4De3Jvk nsoyUwdZF2asgOzRItB9r+PzGL1P/ht5b5c8x1LXCv8igh/y6nF9zNsql0i/PNCfLjOW l/7Vv4FI1ec9pvaQO73fflhdkuIs5KQUG+2JcvGhHsJ5PLAi1zTCsWD3japMCV1bIy8z ENSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784330016; x=1784934816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=BDm6gQk+IcUynEcgUraIbieG1UfSQ/0Hu9EEvI4ni5I=; b=FjRFlwygEU3EdtfRpg3RCwWjDkaDKiyU9L6nJQm/1PnpWL1ivCRsD9Rka1d8zSjcqK zI3EWF+8fLyRUqTPw1NAN90KDFvtX65Gq3YYy526c5UBGQA04BC764OYK9dGYjPTmsKy csyf5hFvtFPkCn0mv+mlLS4ljaJnnvAMxYejvbadk2wJo9h0POSdFqUiBijCCZMrkilw 2xnRDqKcZtycfTrGv9n1Slh6C0h0JTbQgDCKqdICDvmAsd7ljb4uEMOlTPXKufeR15hE QFojZZQYJxoquaMnqxnF65XzTddX/sGK+7txNHEBGZptOrg7cwE+ZDi9rC+S9SWRQFzh a5kQ== X-Forwarded-Encrypted: i=1; AHgh+RpgiN8iPHuASDny+aNuHT866sXsvB8uRgH6GZ1pvKMlJaQhPs2F/X0Y6z2bWZ5PV4kpgFom8lDD6IOB/Dk=@vger.kernel.org X-Gm-Message-State: AOJu0Yy3a+vYldjX5XQWrK3+BK1PnLvWlmg8Shfk0zTC94gFZ+MYYZkF tQ4LtWBV4OM+pYghof3mCoClylnyHoMFyImKpL1nKjNlsc5rotLDi77zgnwxi+MS1xTZ6v5B/65 Z0RxxBvnXKb6RmxGvl02W2yvWZCLST1KjbrJ+NY8F2mSsmgGEg5NjzfRlLRyJQ7BrGNs= X-Gm-Gg: AfdE7cnAcnzZ78yL9IqRBztVBPfFC4Vfv1e1yh6vuQ7zlSO+Ox45n/9uCB8Ji/DWHur LD4EH6jYI0s2uxDKifyER3umgtxtRcF+Jw7xgZQ484+tCQ79uKgRq59fyYMj5HUu2BFVCvvod+0 rCHL3lOwby6UpblNjRbXZjaFSS8SDMlunG99kI4ilyYob6+gGLMjFX06THUaH1JB3/w4QPyeaQ7 qGc3IrcXLPexHjSRo5USjgk0bH2MYyCtHPp7oUEYLikNHZ0S4I03SUHkChMdfsd5VxK09G0VXbf gDwV4pn9lazJgqpzW3JkiPtA0BCB0ah1Jic5FM1RKLTem4bV0rwYG2wW/itJ0YJzfegH4rmfJWq CEtGv3Gyq0NIqj9hyThWD81XKOu0YowcCJl7VLhULsRTw3nzwI35meL0= X-Received: by 2002:a17:90a:dfcc:b0:366:3517:1aa2 with SMTP id 98e67ed59e1d1-38e4b24d8ddmr4871733a91.0.1784330015810; Fri, 17 Jul 2026 16:13:35 -0700 (PDT) X-Received: by 2002:a17:90a:dfcc:b0:366:3517:1aa2 with SMTP id 98e67ed59e1d1-38e4b24d8ddmr4871694a91.0.1784330015223; Fri, 17 Jul 2026 16:13:35 -0700 (PDT) Received: from hu-aarunnan-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13ce2a18a47sm8145264c88.8.2026.07.17.16.13.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 16:13:34 -0700 (PDT) From: Anusha Arun Nandi To: linux-media@vger.kernel.org Cc: anusha.nandi@oss.qualcomm.com, bryan.odonoghue@linaro.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, jigarkumar.zala@oss.qualcomm.com, gjorgji.rosikopulos@oss.qualcomm.com Subject: [PATCH 3/6] media: qcom: camss: Add sa8775p C-PHY 3ph lane config Date: Fri, 17 Jul 2026 16:13:28 -0700 Message-Id: <20260717231331.1229693-4-anusha.nandi@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260717231331.1229693-1-anusha.nandi@oss.qualcomm.com> References: <20260717231331.1229693-1-anusha.nandi@oss.qualcomm.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-Proofpoint-GUID: rM0uI3zimtdjQv4SMgV0C-MmLfDN3zXM X-Proofpoint-ORIG-GUID: rM0uI3zimtdjQv4SMgV0C-MmLfDN3zXM X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIzOCBTYWx0ZWRfX0WIXb8f3katb vaWgN46+1Q3GnoFp8/DKuTKtVkFFS/yE6o70RU3s+RAyjhkYLWfdn0HbhZBDZ4GocDuUCN62fuv rdZJlQHSHCwyIKAmnoYI+QVXS3t6MwoBBBl2t7ZnoCOquqgCdPVQT4TzZAhM5s1EiQcU3TVw8K4 gy3PxJX2800q5uieiKclBWRjDCvsy06gVpRouRuzOCeLMqzCCFgRu+vriV5g/oeF2fVQIgahWaw MOaSVkbxlZQ0Tf8SZGGgj8idb6RqAtIEYSC88NZ6/EpHLL234oWzFluUwGfoeEXMwp8cwGwf6cC jkxikACqABXPRjke3TYckqdt/xNdvIQOF1pjJ5hfZ0HAdB4ATBVUzfakFhBa1tjAQ4TFiTbUkS7 v5N6kUmNfmk5OaXcpN5rVtq+LDcBu8TvC7LqLZWILPqulGH78adZl/6FGQX5njfHqZRA4Zf8g5L WHftPWFiCdVy8VBWhYQ== X-Authority-Analysis: v=2.4 cv=TaqmcxQh c=1 sm=1 tr=0 ts=6a5ab720 cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=48g1HrhYbCZA4AZiz9YA:9 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIzOCBTYWx0ZWRfXzogRsUCWxFnK dl6WfSarQUgJT2hKYe8b/0YfxqkEMHw9Llekl/tG37c2zF6bJszuKYvUV1vdT86YQfMAlWrTXKC 51mxklAQSAWHO5hUUJtEgVRiHC/7J3I= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_06,2026-07-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 suspectscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 spamscore=0 bulkscore=0 priorityscore=1501 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170238 Content-Type: text/plain; charset="utf-8" From: Jigarkumar Zala Add the lane_regs_sa8775p_3ph[] register table for the sa8775p Gen3 CSIPHY at 1.5 Gsps, and select it in csiphy_lanes_enable() for CAMSS_8775P when the endpoint is configured for C-PHY, falling back to the existing sa8775p D-PHY table otherwise. Co-developed-by: Anusha Arun Nandi Signed-off-by: Anusha Arun Nandi Signed-off-by: Jigarkumar Zala --- .../qcom/camss/camss-csiphy-3ph-1-0.c | 111 +++++++++++++++++- 1 file changed, 110 insertions(+), 1 deletion(-) 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 11b7a236e607..8f1e70ad2b7d 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 @@ -56,6 +56,12 @@ (0x0300 + ((n) * 0x4)) #define CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(n) \ (0x0500 + ((n) * 0x4)) +#define CSIPHY_LN9_CSI_3PH_CTRLn_ADDR(n) \ + (0x0900 + ((n) * 0x4)) +#define CSIPHY_LN10_CSI_3PH_CTRLn_ADDR(n) \ + (0x0A00 + ((n) * 0x4)) +#define CSIPHY_LN11_CSI_3PH_CTRLn_ADDR(n) \ + (0x0B00 + ((n) * 0x4)) =20 #define CSIPHY_DEFAULT_PARAMS 0 #define CSIPHY_LANE_ENABLE 1 @@ -152,6 +158,101 @@ csiphy_lane_regs lane_regs_sa8775p[] =3D { {0x0664, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, }; =20 +/* GEN3 3PH sa8775p 1.5Gsps */ +/* 3 entries: 3 lanes (C-PHY) */ +static const struct +csiphy_lane_regs lane_regs_sa8775p_3ph[] =3D { + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(26), 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(27), 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(23), 0xC8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(3), 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_B= YTE}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(34), 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(35), 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(36), 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(6), 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(7), 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(9), 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(11), 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(17), 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(51), 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(25), 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(55), 0x50, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(26), 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(27), 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(23), 0xC8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(1), 0x06, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(3), 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_B= YTE}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(2), 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_= BYTE}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(5), 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(20), 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(34), 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(35), 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(36), 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(6), 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(7), 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(8), 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(9), 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(10), 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(11), 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(17), 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(24), 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(51), 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(25), 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(55), 0x50, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(26), 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(27), 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(23), 0xC8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(1), 0x06, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(3), 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_B= YTE}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(2), 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_= BYTE}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(5), 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(20), 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(34), 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(35), 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(36), 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(6), 0x3E, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(7), 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(8), 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(9), 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(10), 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(11), 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(17), 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(24), 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(51), 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(25), 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(55), 0x50, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN9_CSI_3PH_CTRLn_ADDR(33), 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN9_CSI_3PH_CTRLn_ADDR(34), 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN9_CSI_3PH_CTRLn_ADDR(32), 0x61, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN9_CSI_3PH_CTRLn_ADDR(44), 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN9_CSI_3PH_CTRLn_ADDR(45), 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN10_CSI_3PH_CTRLn_ADDR(33), 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN10_CSI_3PH_CTRLn_ADDR(34), 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN10_CSI_3PH_CTRLn_ADDR(32), 0x61, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN10_CSI_3PH_CTRLn_ADDR(44), 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN10_CSI_3PH_CTRLn_ADDR(45), 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN11_CSI_3PH_CTRLn_ADDR(33), 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN11_CSI_3PH_CTRLn_ADDR(34), 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN11_CSI_3PH_CTRLn_ADDR(32), 0x61, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN11_CSI_3PH_CTRLn_ADDR(44), 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN11_CSI_3PH_CTRLn_ADDR(45), 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(23), 0x46, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(26), 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(27), 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(3), 0x24, 0x00, CSIPHY_SETTLE_CNT_LOWER_B= YTE}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(23), 0x46, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(26), 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(27), 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(3), 0x24, 0x00, CSIPHY_SETTLE_CNT_LOWER_B= YTE}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(23), 0x46, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(26), 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(27), 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(3), 0x24, 0x00, CSIPHY_SETTLE_CNT_LOWER_B= YTE}, + {CSIPHY_LN9_CSI_3PH_CTRLn_ADDR(45), 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN10_CSI_3PH_CTRLn_ADDR(45), 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN11_CSI_3PH_CTRLn_ADDR(45), 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + /* GEN2 1.0 2PH */ /* 5 entries: clock + 4 lanes */ static const struct @@ -1315,7 +1416,6 @@ static void csiphy_lanes_enable(struct csiphy_device = *csiphy, } break; case CAMSS_8300: - case CAMSS_8775P: if (c->phy_cfg =3D=3D V4L2_MBUS_CSI2_DPHY) { regs->lane_regs =3D &lane_regs_sa8775p[0]; regs->lane_array_size =3D ARRAY_SIZE(lane_regs_sa8775p); @@ -1324,6 +1424,15 @@ static void csiphy_lanes_enable(struct csiphy_device= *csiphy, regs->lane_array_size =3D 0; } break; + case CAMSS_8775P: + if (c->phy_cfg =3D=3D V4L2_MBUS_CSI2_CPHY) { + regs->lane_regs =3D &lane_regs_sa8775p_3ph[0]; + regs->lane_array_size =3D ARRAY_SIZE(lane_regs_sa8775p_3ph); + } else { + regs->lane_regs =3D &lane_regs_sa8775p[0]; + regs->lane_array_size =3D ARRAY_SIZE(lane_regs_sa8775p); + } + break; default: break; } --=20 2.34.1 From nobody Sat Jul 25 04:54:45 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 08F1D3EB109 for ; Fri, 17 Jul 2026 23:13:40 +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=1784330024; cv=none; b=qWb0OOmjNoMIJ9VDrMd5xP8gC7rEkL1OJJ4PkH9U2pN4RewJWsYLrgIVI1Ypicsl/pBlvtJGekTjvomxtZ2FQRH6h8nATjnlghGLvqhl1xxvW3iWodnbWgcPTAKLXjL3LSXfFLfiZF+X8u0Q9ta9yl7yqHCXeG5bwtyIU79GIAk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784330024; c=relaxed/simple; bh=Up98YOB7wYXCI9k6FIPxnya4OaHPEQPWmJM/Y1HYB+c=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=mo7/4GaQLFoSNKabnBLM61pIjEOpbKdi0n8FO7CK3iol1PfeHxpHhyHfdt9nmVRO8ndCi08DrMcwjt/WURzLldbYXGLOWrWdLldofIa/fdtXlGjf9eGSlDltG+rL1ArFMQGTRL93VEhRrj/m8NlG20JklPkvpGRQEC1LZ8/dxJc= 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=KBX19epl; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=E69fo6L3; 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="KBX19epl"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="E69fo6L3" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJtTab2887003 for ; Fri, 17 Jul 2026 23:13:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=Qc5IIgLE9a1 OObjGw1KIjE79SvTI/Q7/+JXmhOZ6GIg=; b=KBX19epllcLMdXBrN19oPot6gNs F/ZHlVq7Fv+tOLUhwbyxQtbNn4VoL/CHu9js1TVmSK4klwiskCKgwLv6UuuQDxKw 6HJGia7zCD2aG+HsszUhbEZPt3UYMecc+JcLYQvTGdIbLsBLfPBnHeK2JVAMK49P PgvKFz8Eu4m94P08qjsZ4Sg3aa3CmoyGtnw3Z2h3H7R+yW27T77FrBjyouGB9Byq SAQogSUF1P32w4W+Pds+ieHviYZEFWnOYIal08V/UAhLfVmEANH642jKBR+jxg2a up9pbbSC7ZrXRssfTUnjqplescAZOgMAZ6Ogxu82EQ+6ZJ5kxFbZkDPHXMA== Received: from mail-pg1-f200.google.com (mail-pg1-f200.google.com [209.85.215.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ffhpfk128-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 23:13:37 +0000 (GMT) Received: by mail-pg1-f200.google.com with SMTP id 41be03b00d2f7-c8895156101so9773158a12.1 for ; Fri, 17 Jul 2026 16:13:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784330016; x=1784934816; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Qc5IIgLE9a1OObjGw1KIjE79SvTI/Q7/+JXmhOZ6GIg=; b=E69fo6L3WnLNuBO58tqXUC031nX4uARD/aro6P17ZLyXo9IadQl2dnqx8uT4KCSxUW FhEeR+ESfm80cjvR1tKwnfbFxFUbjVdbrF8jJ332lLNZHysHzd4YlqMi2y93hCPbA0rI 2pyL/+8xtdxR24Iy3hNBjiksfKW9lxPTBEBklfMKGFsr3v86n4W15zTEow5SknGCXOo/ wEu3KIo5PARoumWyhvGfje+YBzitkHVmt+XEkhlUOmYRjaCJmuBxzaf2G00MYmQjn9dz uyQP4WR4msl1cm201xqgKvuytydtq4x2IbxxmxU10FSe3xxh0ztAhS1ihpvHAx2q82OB j0uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784330016; x=1784934816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Qc5IIgLE9a1OObjGw1KIjE79SvTI/Q7/+JXmhOZ6GIg=; b=BbdVDsxD1ldm7YSCnMxCf8hqZlgHRbNiW697+iDxEGsCdjSuJS99BNjV+kF1Zc4DvT iXAI4Mr191f5szKi/W7JJ7o+JR7kaz+Ph0S27tffmr7hcAphiKE1J9baQA5MleivPPMH QXy300xkADVfUrEysCLcrRR+A8TqpSdCZKmhN0myTX1xHq8s5CdZLPVy0cAneu7uOcTa 819SNn49HefxRmYHzycIBD/TTtYupVERxsZbc0wc8/JYxt5WcYB2gWG3faGGrUt2cfnH dlK5K8GAobTwJlEDmLBhmg9RfRoK+ei+tE0PrOp6WkG9NJ3hcx2OXCmLmJ7rXq2zZwQo +Abg== X-Forwarded-Encrypted: i=1; AHgh+Rry4qtWkZ3HiIIuhfUQQUmlLc7rDTyzCYUMK8i4mTam2TVvgPWbRlJ11RUrM5j7jumsrThitCSvkNwYETI=@vger.kernel.org X-Gm-Message-State: AOJu0Yyc+myLDAvD3ivNb9zqwZ2D8QSQgu1FUdT+vu08y9myFn8hMbii vKzgb4cT995Pq/v3frgJddhC/4ICkIrSwB57GsNxD+ugJKpM9nrNf/J9Xtb8s8g+hrdgG/l49yY gZmnrisjl7y+xqvJyIslmX8HJZVttVM95FhJjVSSgXNz0rERcJKagtGz50csmJUwO20c= X-Gm-Gg: AfdE7cmzf98LDenYsP1vxhDwajbpDbWQY+ie2I10xIOfDa06Lr9kFppnOdYVQh9LEjm qGYnS0dCIFbmdcBryUKnISxr+HG4z1Zg5DBwxYuUTfDMm4FSmrxLMerXWJw+0i00vMmaXWFM7+D 7V9kGwz4YDqT668upzFg7f54StDtAELiGrwJkiugg5PjWnnv8J9XCD+pVoR5AZ/tk6isc4HQRaI w+vKze4VLGf1NJRdlIUv5eiOTxN/8fD/hkDsP9UcPkxqw5+SrZX5oczVSSqD/Jj7+aG0Spy3/sX jWuXv3qWw+tZ5Zas823dzvKaSfUjgwsau0uy8VEwL3sJA1PAVWGcB21cV7Fjm0lpYEOTKvOs/7F EdbWKpuxgWua+nUdK6Sv6XGsRo1gQ4WTOI8CV3KaNY8cbjaEDLlPRZm0= X-Received: by 2002:a17:90b:3ccd:b0:38e:11ba:992e with SMTP id 98e67ed59e1d1-38e4b57dd07mr4551009a91.35.1784330016323; Fri, 17 Jul 2026 16:13:36 -0700 (PDT) X-Received: by 2002:a17:90b:3ccd:b0:38e:11ba:992e with SMTP id 98e67ed59e1d1-38e4b57dd07mr4550985a91.35.1784330015880; Fri, 17 Jul 2026 16:13:35 -0700 (PDT) Received: from hu-aarunnan-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13ce2a18a47sm8145264c88.8.2026.07.17.16.13.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 16:13:35 -0700 (PDT) From: Anusha Arun Nandi To: linux-media@vger.kernel.org Cc: anusha.nandi@oss.qualcomm.com, bryan.odonoghue@linaro.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, jigarkumar.zala@oss.qualcomm.com, gjorgji.rosikopulos@oss.qualcomm.com Subject: [PATCH 4/6] media: qcom: camss: Add sa8300 C-PHY 3ph lane config Date: Fri, 17 Jul 2026 16:13:29 -0700 Message-Id: <20260717231331.1229693-5-anusha.nandi@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260717231331.1229693-1-anusha.nandi@oss.qualcomm.com> References: <20260717231331.1229693-1-anusha.nandi@oss.qualcomm.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-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIzOCBTYWx0ZWRfX7+pUIgMLCq5E qjTDgci4R395wZickbxB0Qke1eymXwPHo21SuTZBHk+LY3YfthyVkDzNhlMxo7I1JqvHbfD2X5F xcYkXlsOAjcvjpC8OvEllNsbPeqeq9BQ9S3OX48L5N210EBKzZ4bYjhoh+2RDzEozgCzhHeu1Dj rkDp6QdhYd9hn9MvBRy6cOMgKt39z91KB0bUCfSehCU5qTna03gfChee6xEvNMVHrz+1eGfO8RL socvaTgLKEXeWyYVKeygFvKp9jInlft3evQA7qVTBe/mI/KMcfNEZ9WkRHInCkDfUK9eDlKMWqX myWJszVVlCfgshH7+gyTEgg+J+CDzq7rlDmkzvdOwEGhLCZfW570gp2FcXfJdiQe4lM5ARzPrUc fksxuQKmG4vVhAgpoagwXZB3/nDCiOHM7mqx/8cXAyAO3Z0wUnW/uJ7ifEsYPvpcZHmp4Py9zpI YwFe2nV7wR6bglvV7KQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIzOCBTYWx0ZWRfXx7A0JNpCCcja AuOHMhRgp9KyOFaNFWRZq+WbhMoMvHKYte81Ou6triSz+FUHtMQgcS/g5pNz1iyxPMuFD/4Pcf0 FpEb1kWtZTbGkC+7MmZ0F8q85UlppHs= X-Authority-Analysis: v=2.4 cv=YeWNIQRf c=1 sm=1 tr=0 ts=6a5ab721 cx=c_pps a=oF/VQ+ItUULfLr/lQ2/icg==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=bGiTdSc0qFR1_pC41MAA:9 a=3WC7DwWrALyhR5TkjVHa:22 X-Proofpoint-GUID: EC2cQWErNGebG-jXu6E2yEUijr_YOIe4 X-Proofpoint-ORIG-GUID: EC2cQWErNGebG-jXu6E2yEUijr_YOIe4 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_06,2026-07-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 suspectscore=0 priorityscore=1501 clxscore=1011 spamscore=0 lowpriorityscore=0 adultscore=0 phishscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170238 Content-Type: text/plain; charset="utf-8" Share the C-PHY/D-PHY lane_regs selection for CAMSS_8300 so the sa8300 platform uses the same 3ph handling as CAMSS_8775P. Also drop CAMSS_8300 from the missing-C-PHY-table guard now that a C-PHY table is provided. Co-developed-by: Jigarkumar Zala Signed-off-by: Jigarkumar Zala Signed-off-by: Anusha Arun Nandi --- drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c | 8 -------- 1 file changed, 8 deletions(-) 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 8f1e70ad2b7d..0d5d4d4410f2 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 @@ -1416,14 +1416,6 @@ static void csiphy_lanes_enable(struct csiphy_device= *csiphy, } break; case CAMSS_8300: - if (c->phy_cfg =3D=3D V4L2_MBUS_CSI2_DPHY) { - regs->lane_regs =3D &lane_regs_sa8775p[0]; - regs->lane_array_size =3D ARRAY_SIZE(lane_regs_sa8775p); - } else if (c->phy_cfg =3D=3D V4L2_MBUS_CSI2_CPHY) { - regs->lane_regs =3D NULL; - regs->lane_array_size =3D 0; - } - break; case CAMSS_8775P: if (c->phy_cfg =3D=3D V4L2_MBUS_CSI2_CPHY) { regs->lane_regs =3D &lane_regs_sa8775p_3ph[0]; --=20 2.34.1 From nobody Sat Jul 25 04:54:45 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 082C23EB107 for ; Fri, 17 Jul 2026 23:13:40 +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=1784330024; cv=none; b=N6+OuE+zYcyvF85rIoJ1jN4OCypQCqPD4SXR93HibQu6VX8w6zr4kA1CWccwD6zGsFBa103iskXEoZIr6WUt20tt2kjuAquQEqmaio2EkUj1MM1Y5X4l8Y5hexb3xaOE69epC4aQKLvBd3Pkh7ZdJwPcDgarmqBWwcWNPPwSkJs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784330024; c=relaxed/simple; bh=Zl0LFSEFsJdCNL/OuKedRgjdy8YoeVU0SqQjKpm35UE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=QxrhxnVdCvJVd4Cok9G6ZZsXeH/BCJu9o+mDu+SilZ94hGuPwAPQGu9xYsnnepkL+fw26aFU13QJGPudkse9FE2R9R9lsEK1xsc97CZqn0+ZCnBAU/AgcXDq3gOMatftFsgFAUr6WLoSyXG/GoaVYWkbZLw5VXcVxeeFvdNujcM= 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=T+m29tzn; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HeL3nWgz; 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="T+m29tzn"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HeL3nWgz" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJtNZJ2906091 for ; Fri, 17 Jul 2026 23:13:38 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=Zxre7hEUg8W r/oicOD4TvdtaAgWt7ciGNGss6Fe12N4=; b=T+m29tznjg0BOLVf0V27nY6bX9B zbX1IliDSi1EuCGKLLHiecaiBbvALNsNPuogOz0uGyeYnHzYv4KWeLl1qeY3COJx h+STiNBIfnEZ+BOGuCtKtQ28JgAkluIxMAHVIWJhf0isuvWNXoaYOR7DaDofWn/g qr+yNEfq6hOa/eSqamEiYplKFhwB0PZV+8PvwDf9YOXirROFRn/6Y3ESQkOidSL+ +K6aEIqb1t5fHZN074F8UyoM/P23zUf0klj/U8CONQmsa9xFotPppgLd7dAMcAJy oeKiM0uYDMSH9aBiMG27Fe/F3+tGfhADobjxCpngsczySas213PUd5d0YLQ== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ffrsq9515-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 23:13:38 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2cceabd70f5so128869285ad.1 for ; Fri, 17 Jul 2026 16:13:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784330017; x=1784934817; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Zxre7hEUg8Wr/oicOD4TvdtaAgWt7ciGNGss6Fe12N4=; b=HeL3nWgzQn29jmiyhs5SV8GKZTjkIuJM9kybeU/A0UK7zalAEXtWhea6jq3z0CSHyL EPVKhbZrpnk8QN92rbnFJvNcOfMcRONptDP7lH4f6JlR1f0VUYqAQouLOsI4Jr6a1Nh3 Yr8OiV9SGnFuG6lYl/A9jddacNsLmsR6MmH2ci1qQKa/upu0QEnGgBfYbqQo3pOdCbqf X8OAOZYzVdiqfAZ5oURv7cliGuT7bmcae/qGRXubR1HrQdPJeITHuR+4eKdxm0xP6A3V NRUSlpzc7xamzoAXOhefmEQz9R/ht9FLGz8tMnnr4geLXEmBwLMc3spLSiiqp5BKja8j E8WQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784330017; x=1784934817; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Zxre7hEUg8Wr/oicOD4TvdtaAgWt7ciGNGss6Fe12N4=; b=PucYHAu1X/2TQhf160jp3x5oG/jEC802S5KIBMDl1QiPufFiXnNGDiQYMzWRwgN4ae W33JJhPHwOFfj7vPR3T43rywP756XD2xbxaKqiae9zh0f2MZ2EHmmIrbnmAqoEQ4FjiV HS1QqX0Jjr4xwZUjU3xkJvUoyuTivyoOcf8s2AR2qaw1fWfJgVglqxQ08TA76Bqh5vvO wxWgeUzFd65wFGDdsSJUGTQrddZJBoiKM5f/pe2xB1GAfM+2m488Zk1KFLZk2aXdYapx zXmh/iNYFqO/6pbnj6klPCR0mDB38QkiTGGcDTVNRbTdza6I8jd+qHPtAGYusE+RVi/r IZvg== X-Forwarded-Encrypted: i=1; AHgh+RohBpZ3MoWr52tHiCVtVYJ47MSaWzxNNdJpLd+D/ANvPtLyJwWCiFMHPONldkWLBqtqF2bvLEfrBw5kLpc=@vger.kernel.org X-Gm-Message-State: AOJu0Yx9RMkdhHuSEOHdOBBBAW20Rb4342U9EnmGHOAiKWVrh6oZZ0mu xQg27dq6t5lfArgXV7phhbl5eZtKj5Z1ro6GZ6LVdmGI0XXXE3tFYvQ7z2qghNDZ8un/83jztXY ERnb6WTdibA4Jl8EKaw7lWIVJv+uowSr6nZHtuOdjiLPDUqnhe5Q7fZY3WIBpVFuF1KI= X-Gm-Gg: AfdE7ckVCUADLDnC8uYA31h2NRazjQTDiFT7WF307y4Rxwv+2ENCqODQbS/sa4guV5Y 488DwiuWKQMWftd4825o2wscizDa9OBfJToJupiTX+wZKZVN4XfNTDrS3enCmkSiW/sVUfrEIab csT46xuPn74s/gCPE05CEXgtf89rk8ZzbHyJ5hTWJkE2RJw9yQWP53CrorYaHaTRo//egBpzPBJ xomUJok0YQyL9Ez0C9MKUZlzSzGAzuUOmq0RlPdWRi6Ehk5sQt8DgA+MYWPaSwW75EZnY6g+Wgr N/Ek+6n+Jdr0Rgz4e805x2c2l6LPlL4qUPnvQxhlXYWPY1M1+7Z8My0ktzx2PwFx9yoRYz/GZ1M 9nNxqYh1JgZU9OlensIXq9axt/phkYBStGeHMT6DjDNwgSlwAOcGBE8E= X-Received: by 2002:a17:90b:5546:b0:38d:ec31:4843 with SMTP id 98e67ed59e1d1-38e4b5f2212mr5169017a91.41.1784330017183; Fri, 17 Jul 2026 16:13:37 -0700 (PDT) X-Received: by 2002:a17:90b:5546:b0:38d:ec31:4843 with SMTP id 98e67ed59e1d1-38e4b5f2212mr5168980a91.41.1784330016640; Fri, 17 Jul 2026 16:13:36 -0700 (PDT) Received: from hu-aarunnan-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13ce2a18a47sm8145264c88.8.2026.07.17.16.13.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 16:13:36 -0700 (PDT) From: Anusha Arun Nandi To: linux-media@vger.kernel.org Cc: anusha.nandi@oss.qualcomm.com, bryan.odonoghue@linaro.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, jigarkumar.zala@oss.qualcomm.com, gjorgji.rosikopulos@oss.qualcomm.com Subject: [PATCH 5/6] media: qcom: camss: Dynamic data-rate specific C-PHY register settings Date: Fri, 17 Jul 2026 16:13:30 -0700 Message-Id: <20260717231331.1229693-6-anusha.nandi@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260717231331.1229693-1-anusha.nandi@oss.qualcomm.com> References: <20260717231331.1229693-1-anusha.nandi@oss.qualcomm.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-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIzOCBTYWx0ZWRfX8GlCGRTIrRVP Ju3LvZccSfcDRza8K6qQAfzGtJAwXoXb5tTxrwGJ4zSGmMKq+BhRtbZz1PPUtGsverR22oC4C1W Z9E7m10xe/4m68rlqcenAGXE+MxfE4I= X-Proofpoint-ORIG-GUID: rN-byFe1bpN2CghWrLUNTY-fMvRMsTxc X-Proofpoint-GUID: rN-byFe1bpN2CghWrLUNTY-fMvRMsTxc X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIzOCBTYWx0ZWRfXwdJsgTcSQbQn hNLvdC2Bl371799+9wRtNJ+HenMhmXYsRWOQGy9IPwjIrHKLRAsLHCNCEu479ufRPkXOsfxyFnu J5yQ7j3Fw57luaetQq2O0ryfvBuvhN1azFxq4Gapt19YNm+FqFUR3X1gyjAMpP/yvNi6EG1Qjp0 Ka8qoTbyscyru3/LbZV9jp2tNCtv5JEhCgEehnFBQ23ULfRw3VQP2/UGEt/mQcVQsEjXBAsqE98 8bVlEc2cUtNRedx7zSb7aY+5ORhE3p251L3rwoRzOjqEbgMC892rvOxf1TFli1l4J98t9SDpwvu 93JZhaSt8oZtrDxkeeyvgyzF1Z4s0kE1iQPxBB8+THLGLAOR/9o+IBNmNMr0oSrvGCWGqPYRlSz RLz8DTZYS9ufnyHLbYNFIUrlgGbW1rNsD0MHR5Q9u1BdzV7S/HPhh1gvsOlJfxvm7Tq6Y42R5lk IR0iiwwHGNp8GZwkXkQ== X-Authority-Analysis: v=2.4 cv=OJIXGyaB c=1 sm=1 tr=0 ts=6a5ab722 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=SK8wPOPCHov2sd3_MXgA:9 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_06,2026-07-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 phishscore=0 bulkscore=0 suspectscore=0 adultscore=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 malwarescore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170238 Content-Type: text/plain; charset="utf-8" The C-PHY PHY register configuration needs to vary with the link (symbol) data rate. Until now only a single base lane_regs table was applied per platform, regardless of the negotiated rate. Introduce a data-rate selection mechanism for C-PHY: - Add struct data_rate_reg_info describing a per-bandwidth register override table. - Add csiphy_cphy_data_rate_config(), which selects the first table entry whose bandwidth satisfies the required PHY data rate (derived from the resolved link frequency) and writes those overrides on top of the base lane_regs configuration. The settle-count parameter types are handled specially. When the link frequency cannot be resolved, it falls back to the lowest supported rate. - Add per-data-rate register tables and data_rate_settings tables for sa8775p and 8300(1.5/1.7/2.5/3.5/4.5 GSpS) and sm8250 (2.5/3.5/4.5 GSpS). - Select the appropriate data-rate settings table in csiphy_lanes_enable() for both platforms when the endpoint is configured for C-PHY. Co-developed-by: Jigarkumar Zala Signed-off-by: Jigarkumar Zala Signed-off-by: Anusha Arun Nandi --- .../qcom/camss/camss-csiphy-3ph-1-0.c | 249 ++++++++++++++++++ .../media/platform/qcom/camss/camss-csiphy.h | 6 + 2 files changed, 255 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 0d5d4d4410f2..77484cbb6c15 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 @@ -72,6 +72,8 @@ #define CSIPHY_3PH_REGS 6 #define CSIPHY_SKEW_CAL 7 =20 +#define CSIPHY_CPHY_DATA_RATE_DEFAULT_IDX 0 + struct csiphy_lane_regs { s32 reg_addr; s32 reg_data; @@ -236,6 +238,9 @@ csiphy_lane_regs lane_regs_sa8775p_3ph[] =3D { {CSIPHY_LN11_CSI_3PH_CTRLn_ADDR(32), 0x61, 0x00, CSIPHY_DEFAULT_PARAMS}, {CSIPHY_LN11_CSI_3PH_CTRLn_ADDR(44), 0x01, 0x00, CSIPHY_DEFAULT_PARAMS}, {CSIPHY_LN11_CSI_3PH_CTRLn_ADDR(45), 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_lane_regs datarate_sa8775p_3ph_1p5Gsps[] =3D { {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(23), 0x46, 0x00, CSIPHY_DEFAULT_PARAMS}, {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(26), 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(27), 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, @@ -253,6 +258,183 @@ csiphy_lane_regs lane_regs_sa8775p_3ph[] =3D { {CSIPHY_LN11_CSI_3PH_CTRLn_ADDR(45), 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, }; =20 +struct csiphy_lane_regs datarate_sa8775p_3ph_1p7Gsps[] =3D { + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(23), 0x56, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(26), 0xAE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(27), 0x65, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(3), 0x12, 0x00, CSIPHY_SETTLE_CNT_LOWER_B= YTE}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(23), 0x56, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(26), 0xAE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(27), 0x65, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(3), 0x12, 0x00, CSIPHY_SETTLE_CNT_LOWER_B= YTE}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(23), 0x56, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(26), 0xAE, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(27), 0x65, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(3), 0x12, 0x00, CSIPHY_SETTLE_CNT_LOWER_B= YTE}, + {CSIPHY_LN9_CSI_3PH_CTRLn_ADDR(45), 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN10_CSI_3PH_CTRLn_ADDR(45), 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN11_CSI_3PH_CTRLn_ADDR(45), 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_lane_regs datarate_sa8775p_3ph_2p5Gsps[] =3D { + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(26), 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(23), 0xC8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(27), 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(3), 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_B= YTE}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(26), 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(23), 0xC8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(27), 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(3), 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_B= YTE}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(26), 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(23), 0xC8, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(27), 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(3), 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_B= YTE}, + {CSIPHY_LN9_CSI_3PH_CTRLn_ADDR(45), 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN9_CSI_3PH_CTRLn_ADDR(34), 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN10_CSI_3PH_CTRLn_ADDR(45), 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN10_CSI_3PH_CTRLn_ADDR(34), 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN11_CSI_3PH_CTRLn_ADDR(45), 0x08, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN11_CSI_3PH_CTRLn_ADDR(34), 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_lane_regs datarate_sa8775p_3ph_3p5Gsps[] =3D { + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(26), 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(23), 0x46, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(27), 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(3), 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_B= YTE}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(26), 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(23), 0x46, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(27), 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(3), 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_B= YTE}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(26), 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(23), 0x46, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(27), 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(3), 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_B= YTE}, + {CSIPHY_LN9_CSI_3PH_CTRLn_ADDR(45), 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN9_CSI_3PH_CTRLn_ADDR(34), 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN10_CSI_3PH_CTRLn_ADDR(45), 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN10_CSI_3PH_CTRLn_ADDR(34), 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN11_CSI_3PH_CTRLn_ADDR(45), 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN11_CSI_3PH_CTRLn_ADDR(34), 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_lane_regs datarate_sa8775p_3ph_4p5Gsps[] =3D { + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(26), 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(23), 0x46, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(27), 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN1_CSI_3PH_CTRLn_ADDR(3), 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_B= YTE}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(26), 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(23), 0x46, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(27), 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN3_CSI_3PH_CTRLn_ADDR(3), 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_B= YTE}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(26), 0x80, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(23), 0x46, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(27), 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN5_CSI_3PH_CTRLn_ADDR(3), 0x08, 0x00, CSIPHY_SETTLE_CNT_LOWER_B= YTE}, + {CSIPHY_LN9_CSI_3PH_CTRLn_ADDR(45), 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN9_CSI_3PH_CTRLn_ADDR(34), 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN10_CSI_3PH_CTRLn_ADDR(45), 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN10_CSI_3PH_CTRLn_ADDR(34), 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN11_CSI_3PH_CTRLn_ADDR(45), 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, + {CSIPHY_LN11_CSI_3PH_CTRLn_ADDR(34), 0x05, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +static struct data_rate_reg_info data_rate_settings_sa8775p_3ph[] =3D { + { + /* 1.5 GSpS */ + .bandwidth =3D 1500000000, + .data_rate_reg_array_size =3D ARRAY_SIZE(datarate_sa8775p_3ph_1p5Gsps), + .data_rate_reg_array =3D datarate_sa8775p_3ph_1p5Gsps, + }, + { + /* 1.7 GSpS */ + .bandwidth =3D 1700000000, + .data_rate_reg_array_size =3D ARRAY_SIZE(datarate_sa8775p_3ph_1p7Gsps), + .data_rate_reg_array =3D datarate_sa8775p_3ph_1p7Gsps, + }, + { + /* 2.5 GSpS */ + .bandwidth =3D 2500000000, + .data_rate_reg_array_size =3D ARRAY_SIZE(datarate_sa8775p_3ph_2p5Gsps), + .data_rate_reg_array =3D datarate_sa8775p_3ph_2p5Gsps, + }, + { + /* 3.5 GSpS */ + .bandwidth =3D 3500000000, + .data_rate_reg_array_size =3D ARRAY_SIZE(datarate_sa8775p_3ph_3p5Gsps), + .data_rate_reg_array =3D datarate_sa8775p_3ph_3p5Gsps, + }, + { + /* 4.5 GSpS */ + .bandwidth =3D 4500000000, + .data_rate_reg_array_size =3D ARRAY_SIZE(datarate_sa8775p_3ph_4p5Gsps), + .data_rate_reg_array =3D datarate_sa8775p_3ph_4p5Gsps, + }, +}; + +struct csiphy_lane_regs datarate_sm8250_3ph_2p5Gsps[] =3D { + {0x144, 0x32, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x164, 0x0B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x16C, 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x344, 0x32, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x364, 0x0B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x36C, 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x544, 0x32, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x564, 0x0B, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x56C, 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_lane_regs datarate_sm8250_3ph_3p5Gsps[] =3D { + {0x144, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x164, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x16C, 0x1D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x9B4, 0x03, 0x01, CSIPHY_DEFAULT_PARAMS}, + {0x344, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x364, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x36C, 0x1D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0xAB4, 0x03, 0x01, CSIPHY_DEFAULT_PARAMS}, + {0x544, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x564, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x56C, 0x1D, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0xBB4, 0x03, 0x01, CSIPHY_DEFAULT_PARAMS}, +}; + +struct csiphy_lane_regs datarate_sm8250_3ph_4p5Gsps[] =3D { + {0x144, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x164, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x16C, 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x9B4, 0x02, 0x01, CSIPHY_DEFAULT_PARAMS}, + {0x344, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x364, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x36C, 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0xAB4, 0x02, 0x01, CSIPHY_DEFAULT_PARAMS}, + {0x544, 0xB2, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x564, 0x33, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0x56C, 0x25, 0x00, CSIPHY_DEFAULT_PARAMS}, + {0xBB4, 0x02, 0x01, CSIPHY_DEFAULT_PARAMS}, +}; + +static struct data_rate_reg_info data_rate_settings_sm8250_3ph[] =3D { + { + /* 2.5 GSpS */ + .bandwidth =3D 2500000000, + .data_rate_reg_array_size =3D ARRAY_SIZE(datarate_sm8250_3ph_2p5Gsps), + .data_rate_reg_array =3D datarate_sm8250_3ph_2p5Gsps, + }, + { + /* 3.5 GSpS */ + .bandwidth =3D 3500000000, + .data_rate_reg_array_size =3D ARRAY_SIZE(datarate_sm8250_3ph_3p5Gsps), + .data_rate_reg_array =3D datarate_sm8250_3ph_3p5Gsps, + }, + { + /* 4.5 GSpS */ + .bandwidth =3D 4500000000, + .data_rate_reg_array_size =3D ARRAY_SIZE(datarate_sm8250_3ph_4p5Gsps), + .data_rate_reg_array =3D datarate_sm8250_3ph_4p5Gsps, + }, +}; + /* GEN2 1.0 2PH */ /* 5 entries: clock + 4 lanes */ static const struct @@ -1257,6 +1439,60 @@ static void csiphy_gen1_config_lanes(struct csiphy_d= evice *csiphy, writel_relaxed(val, csiphy->base + CSIPHY_3PH_LNn_MISC1(l)); } =20 +/* + * csiphy_cphy_data_rate_config - Apply data-rate specific C-PHY overrides + * + * Applied on top of the base lane_regs. Selects the first table entry who= se + * bandwidth >=3D the data rate derived from @link_freq (highest entry if = none + * qualifies, default entry if @link_freq is unknown) and writes its overr= ides. + */ +static void csiphy_cphy_data_rate_config(struct csiphy_device *csiphy, + struct data_rate_reg_info *settings, + size_t num_settings, + s64 link_freq, u8 settle_cnt) +{ + struct device *dev =3D csiphy->camss->dev; + const struct csiphy_lane_regs *r; + size_t idx, i; + u32 val; + + if (!settings || !num_settings) + return; + + if (!link_freq) { + /* Link frequency unknown; use the default (lowest) entry. */ + idx =3D CSIPHY_CPHY_DATA_RATE_DEFAULT_IDX; + } else { + /* First entry that satisfies the rate, else the highest. */ + for (idx =3D 0; idx < num_settings; idx++) { + if (settings[idx].bandwidth >=3D link_freq) + break; + } + } + + dev_dbg(dev, + "CSIPHY using specific bandwidth %llu bits/s (entry %zu) for link_freq %= lld\n", + settings[idx].bandwidth, idx, link_freq); + + r =3D settings[idx].data_rate_reg_array; + for (i =3D 0; i < settings[idx].data_rate_reg_array_size; i++, r++) { + switch (r->csiphy_param_type) { + case CSIPHY_SETTLE_CNT_LOWER_BYTE: + val =3D settle_cnt & 0xff; + break; + case CSIPHY_SETTLE_CNT_HIGHER_BYTE: + val =3D (settle_cnt >> 8) & 0xff; + break; + default: + val =3D r->reg_data; + break; + } + writel_relaxed(val, csiphy->base + r->reg_addr); + if (r->delay_us) + udelay(r->delay_us); + } +} + static void csiphy_gen2_config_lanes(struct csiphy_device *csiphy, u8 settle_cnt) { @@ -1336,6 +1572,8 @@ static void csiphy_lanes_enable(struct csiphy_device = *csiphy, { struct csiphy_lanes_cfg *c =3D &cfg->csi2->lane_cfg; struct csiphy_device_regs *regs =3D csiphy->regs; + struct data_rate_reg_info *data_rate_settings =3D NULL; + size_t num_data_rate_settings =3D 0; u8 settle_cnt; u8 val; int i; @@ -1420,6 +1658,8 @@ static void csiphy_lanes_enable(struct csiphy_device = *csiphy, if (c->phy_cfg =3D=3D V4L2_MBUS_CSI2_CPHY) { regs->lane_regs =3D &lane_regs_sa8775p_3ph[0]; regs->lane_array_size =3D ARRAY_SIZE(lane_regs_sa8775p_3ph); + data_rate_settings =3D data_rate_settings_sa8775p_3ph; + num_data_rate_settings =3D ARRAY_SIZE(data_rate_settings_sa8775p_3ph); } else { regs->lane_regs =3D &lane_regs_sa8775p[0]; regs->lane_array_size =3D ARRAY_SIZE(lane_regs_sa8775p); @@ -1483,6 +1723,15 @@ static void csiphy_lanes_enable(struct csiphy_device= *csiphy, else csiphy_gen1_config_lanes(csiphy, cfg, settle_cnt); =20 + /* + * For C-PHY platforms with a data-rate settings table, apply the + * data-rate specific overrides on top of the base lane_regs config. + */ + if (c->phy_cfg =3D=3D V4L2_MBUS_CSI2_CPHY && data_rate_settings) + csiphy_cphy_data_rate_config(csiphy, data_rate_settings, + num_data_rate_settings, + link_freq, settle_cnt); + /* IRQ_MASK registers - disable all interrupts */ for (i =3D 11; i < 22; i++) { writel_relaxed(0, csiphy->base + diff --git a/drivers/media/platform/qcom/camss/camss-csiphy.h b/drivers/med= ia/platform/qcom/camss/camss-csiphy.h index 2ebb307be18b..6578802823d3 100644 --- a/drivers/media/platform/qcom/camss/camss-csiphy.h +++ b/drivers/media/platform/qcom/camss/camss-csiphy.h @@ -62,6 +62,12 @@ struct csiphy_formats { const struct csiphy_format_info *formats; }; =20 +struct data_rate_reg_info { + u64 bandwidth; + ssize_t data_rate_reg_array_size; + struct csiphy_lane_regs *data_rate_reg_array; +}; + struct csiphy_device; =20 struct csiphy_hw_ops { --=20 2.34.1 From nobody Sat Jul 25 04:54:45 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 CC1FC3EB0FC for ; Fri, 17 Jul 2026 23:13:40 +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=1784330025; cv=none; b=Wc5GUsPAcZIYvTrgAnGnaVev71e0ZdUgBVGRnZ5CcmWJjjE7Lt7JrWPK6xJTVivuDzNpt1poNBgwuKpQxMKNmQml34yUpce26xBKEYrJcbl4HKIYA1WGPGwdJ0gPFHFWZ3aROvt1Ch2MH+jPVezNymz2h4J1VB8eQeeW0djoxAs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784330025; c=relaxed/simple; bh=r3m4i2ALdREpxRxkgOIDLlVqVDplzZtUq+N0+YLLT6c=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=I3Tuc0ZW9Au1NVPrGvocpkstRPbjC83LwPyQWOQPcMOR9E0PNXYtTzePehtovGB8kgYgngGp8I0dKDt2UX1L4YpWGm3y9MxcUC/zh9jIRaYl684OqEkE2X67RZAvf7d+Dahf/Y1aFfs1ab7x77D2dv5HdD84vkqPQ7lsDe2R4VY= 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=gXjmegxM; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=I3ODrfen; 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="gXjmegxM"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="I3ODrfen" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HJth6H2824112 for ; Fri, 17 Jul 2026 23:13:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=X6UuIGePDsC buP2mdogDkUwxu/8Bj+LEHcxcasyG09I=; b=gXjmegxMJN9oSVx26xuGMOWNWXW WcbzJ0+uRWNrtdZqBlidwlOZxFkr5YlXzY1uRz3YCiOejQpms/j9o1dImjNN6A+Q WUhi3nB0eGFQcb1ChRsxs0JHtPknRa/bv2IDrc4rYG6hpEN7cQVYdNFVgaNer556 sF3A07m5Ylcb8a75W1IBvz4hmRrsfW+s6Y4/uihxXYMh22Wa/EK8VKzkey1eVhL2 OZRTdiyBBr2cizNSZlToBk3FLS/pFku8tWWFO0d/mwLyJaD5GLcIUO0XRTjjjz9E qlbL9oIzoHcgNIveayXaDTECogg9fFd89vehFb9XUqBRHIxz7Cdhm7AqJTg== Received: from mail-pg1-f200.google.com (mail-pg1-f200.google.com [209.85.215.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fff813pjh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 23:13:38 +0000 (GMT) Received: by mail-pg1-f200.google.com with SMTP id 41be03b00d2f7-c9d5a5b63c5so12901092a12.1 for ; Fri, 17 Jul 2026 16:13:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784330018; x=1784934818; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=X6UuIGePDsCbuP2mdogDkUwxu/8Bj+LEHcxcasyG09I=; b=I3ODrfenxnssjkWGEWwKPsd5tUzEBgrpsFkBdzX5JjnPHRYRPdG7ELZd98H30dJmB4 VSItSKCAXNowREooye1A9MMoiRyFedLZOkORBS7Ls766sJoakSmRp0GRWGOseOQOWOTo m0HUWbE8n/JkJEj/VfsWMfO33WJgWBfaHx5+zjac3zThfKNXc9GFz1XE0mvDZA21vaRr uvYXJAfR/bp9folovaoinj3axyBf5pOEhey0zBA067DOJFii72KvAUUrH/pBnL96UqT6 NqWnGHloG40OViKHqyj19EA2D5Ja9W4U3H0GrfUQ6DNxm0wcr282xoAQkn8QulPJJ8kS 5xbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784330018; x=1784934818; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=X6UuIGePDsCbuP2mdogDkUwxu/8Bj+LEHcxcasyG09I=; b=H/rrRdMKt4yq6/4VB8DgCaDFJDuz2krmtl15X3IyvPvEwCDPvmRQCsZyUfoMl9yAIb P6d41fECW/Sdp+R5UCt2xjLNY+Sn7eK6eGAuKWL+SXtrop6JJvGFk2X2NKK708hmda6/ yy+f20HnSzr/39Zcfgu4BeiNW5T/V+46ZwVh5+h71X+2dWYlhCQek5KNro6gwzrR3xiS 82kH6bEVgkrfHkHpJFX5kWHaHraSJvJIUS+J2alv82elwCYrrql0MEAb5CwmpZz8m+P+ 0ShlODe69ouzFlCFpaMnmcZ4qbYuByKM8JthzM0Tb79paxcXBfJNsqolnAuCK+dJnMOv wm3A== X-Forwarded-Encrypted: i=1; AHgh+RoniXDByKywxL/QrgIijqa6v17/aY1lkpz/Dwfp6hXb27cu/zp9qliBvlrMeqbH18PbRA3v5DCKcY+7kuk=@vger.kernel.org X-Gm-Message-State: AOJu0YxUSORTXiCf/tzZmDZSYO7DZsdcgOCNOHLNYlloqRcPv8tLyBP9 WXP3/6f4O2a088/IYXBed/T7otm/O2rsg2OpH2t8G3RkDXW622HRMttjwAREFsbYb1gIlAWb75v Fomr+tv1O9RL0eyNtL3wlEWCynetLBgn2CECzVeMLJYeYVP56nLYcI0PiPhILIcA7X2Y= X-Gm-Gg: AfdE7ckfSPlRBeOvLYPMu3c4SwUa5HyFp2tRX/lFCs7eNUeoK3sIpgYLmzg7UBKNh0A FYGGzZSi1uV9r9mH5CoaL+UVeEFvQqzGYv12h6irvEYZgv8tkOkMuZNim6T0Lbgum5MP0uV2Ajv KozcbHgMYPpUcYgh+0YMdf2HinwcTUg4+XkD69BrnzfA2DzO5XViNmXTly5vJZUJwkFoMe2p5Jo Ms4UARUfwD1ARBWMRtqA+n5F6WADCVKP8+hkdh5aXP9WdIITccM0vxB0ODNfbDH1bCszT4SLS5r uheUxHf3gG0SV1CbE6g/88ipcUcUN2YTHndlu7/oW0OEMQMI8v1em0QEJJOpRwJZZ3H4k1MXBWX aOWkFAhyWBwdIFUe24vVITQdlV6ExYVZ19QyNmb876fcyV5E4vjzKOcM= X-Received: by 2002:a17:90b:4f91:b0:37f:9ce1:7364 with SMTP id 98e67ed59e1d1-38e4b51cd29mr4932891a91.26.1784330017867; Fri, 17 Jul 2026 16:13:37 -0700 (PDT) X-Received: by 2002:a17:90b:4f91:b0:37f:9ce1:7364 with SMTP id 98e67ed59e1d1-38e4b51cd29mr4932858a91.26.1784330017337; Fri, 17 Jul 2026 16:13:37 -0700 (PDT) Received: from hu-aarunnan-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13ce2a18a47sm8145264c88.8.2026.07.17.16.13.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 16:13:37 -0700 (PDT) From: Anusha Arun Nandi To: linux-media@vger.kernel.org Cc: anusha.nandi@oss.qualcomm.com, bryan.odonoghue@linaro.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, jigarkumar.zala@oss.qualcomm.com, gjorgji.rosikopulos@oss.qualcomm.com Subject: [PATCH 6/6] media: qcom: camss: validate local/remote endpoint bus-type Date: Fri, 17 Jul 2026 16:13:31 -0700 Message-Id: <20260717231331.1229693-7-anusha.nandi@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260717231331.1229693-1-anusha.nandi@oss.qualcomm.com> References: <20260717231331.1229693-1-anusha.nandi@oss.qualcomm.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-Authority-Analysis: v=2.4 cv=RbqgzVtv c=1 sm=1 tr=0 ts=6a5ab722 cx=c_pps a=oF/VQ+ItUULfLr/lQ2/icg==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=KcNSuxIBhJ6QY8qMoF0A:9 a=3WC7DwWrALyhR5TkjVHa:22 X-Proofpoint-GUID: DSPani0KeP67F5RTWOld6hPttQidApBW X-Proofpoint-ORIG-GUID: DSPani0KeP67F5RTWOld6hPttQidApBW X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDIzOCBTYWx0ZWRfXwPrBc7BoiO2g EXA69zBFugIXIhr+USh8yLrX0+ZupUkccX+9YM34U3uIfAGFJITzyZZvqNppDwAG/+QI+bXuGpC VVsfChPL6gzhbLwpD/6ycxK7TvZakuo5XJwsONXUTQt5KPGkrT2xDybzLIn7gF+ShkWGdNc+t3n ZyY/2rfmEM1lncNCTVoEzpKZPbCeoqpRHjYqBUyhNLcf+xhvh2cJN9XZ8k4sjaNGJ1xucvJxxEW AO8VeaBnBFj6kUKeypLBIfo+flap2o02bLHdJrl4nYkRBPTn5G0pS+R6KWrdLM96ylCr7k8bHEK fUuodNEev01k1K9DyXB//w/1CjXt08BHmhZwTue8qpiLMHxlLAdv6cbsNG18uuHnUucbHPDQZUk t15cHtDgDxp0aj2tI6tX/22DCpZQl7oVmKKeuhYUS25IrdAPD059kFaYxRsMyURWoi8nxCVcWPf fLbCqXTQREtwXGAdR8A== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDIzOCBTYWx0ZWRfX+2Qu6M8YxQ/q DHete+0HWNkpNBfpHw5JF20LDpgssjMUww1XVNgHwg/CctG5VZw68/zLsDmWguox9L3MG+SJ7Wd 4RO0fdasRnNpxXWwD6EsCKe8stXuAZg= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_06,2026-07-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 clxscore=1015 suspectscore=0 priorityscore=1501 lowpriorityscore=0 impostorscore=0 bulkscore=0 phishscore=0 adultscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170238 Content-Type: text/plain; charset="utf-8" A link is invalid if the local CSIPHY endpoint and the remote sensor endpoint describe different bus types. Such a mismatch can otherwise go undetected until later probe or streaming failures. Parse the remote endpoint in camss_parse_endpoint_node() and compare its bus-type with the local endpoint. Reject the link with -EINVAL if the two ends disagree, so C-PHY/D-PHY mismatches are caught early during probe. Co-developed-by: Jigarkumar Zala Signed-off-by: Jigarkumar Zala Signed-off-by: Anusha Arun Nandi --- drivers/media/platform/qcom/camss/camss.c | 28 ++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/plat= form/qcom/camss/camss.c index ebf8f21b5fa2..8013aafde6a9 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -4757,7 +4757,9 @@ static int camss_parse_endpoint_node(struct device *d= ev, { struct csiphy_lanes_cfg *lncfg =3D &csd->interface.csi2.lane_cfg; struct v4l2_mbus_config_mipi_csi2 *mipi_csi2; - struct v4l2_fwnode_endpoint vep =3D { { 0 } }; + struct v4l2_fwnode_endpoint vep =3D { .bus_type =3D V4L2_MBUS_UNKNOWN }; + struct v4l2_fwnode_endpoint remote_vep =3D { .bus_type =3D V4L2_MBUS_UNKN= OWN }; + struct fwnode_handle *remote_ep; unsigned int i; int ret; =20 @@ -4774,6 +4776,30 @@ static int camss_parse_endpoint_node(struct device *= dev, return -EINVAL; } =20 + /* Get the remote (sensor) endpoint handle, e.g. imx686_ep1 */ + remote_ep =3D fwnode_graph_get_remote_endpoint(ep); + if (!remote_ep) { + dev_dbg(dev, "No remote endpoint found for %pfw\n", ep); + return -ENODEV; + } + + /* Parse the remote bus type and release the handle */ + ret =3D v4l2_fwnode_endpoint_parse(remote_ep, &remote_vep); + fwnode_handle_put(remote_ep); + if (ret) { + dev_dbg(dev, "Failed to parse remote endpoint\n"); + return ret; + } + + /* The local (CSIPHY) and remote (sensor) ends must agree */ + if (vep.bus_type !=3D remote_vep.bus_type) { + dev_dbg(dev, "Bus type mismatch! Local (CSI-PHY): %u, Remote (Sensor): %= u\n", + vep.bus_type, remote_vep.bus_type); + return -EINVAL; + } + + dev_dbg(dev, "Verified link: both ends use bus-type %u\n", vep.bus_type); + csd->interface.csiphy_id =3D vep.base.port; =20 mipi_csi2 =3D &vep.bus.mipi_csi2; --=20 2.34.1