From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F0240290D81 for ; Fri, 5 Dec 2025 09:54:42 +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=1764928487; cv=none; b=eCy3pTmBTg72oGJBvTKNid7WPW658v4E/5Is0vgmUdGOKWS+gc9SS6lh2iQC5qE/JvHM8LoOwV/t00HltjmpLoo2O2I3kDf+7hMRG7pUtlB8do5yXbfrIZcB5tauKPodzCLuiEoXDHoI4hnKftLixnW0mcJF4CssbELxrDOGddA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764928487; c=relaxed/simple; bh=TEHHJi7iUF/zH/xJ+LuLXROuEQq+DulZRvZUqQz2Zzg=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=YfqvpDcVto3PsRboA6zB0JD9G/TJJuuoNd6bL+0NcjFV75xSwIWQWdUd1OjVVXfTZRFbqimo5y0C8S9msXAiAWqJcj1MzlboTtRadHrAjypOSDH3vucxzrVDwg92m3gV8+gN+yrtqqPvvVDRHM2NUGZMQgxpqNoH+G87TNt2f3k= 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=TmyPj5wA; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=cm13GUrc; 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="TmyPj5wA"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="cm13GUrc" 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 5B54K1t93643724 for ; Fri, 5 Dec 2025 09:54: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= eoXuVJmd0Yvi0WW1np6mgpmdDWonVDRB259V+zh0G08=; b=TmyPj5wAEmHwDurK 25qDPV76YEUGuE26CHTeFFQP9iNuZOMjUJoqIDk5UsIVvQ1mwjQ+OZKv3NWzt+bi BxNXJZsSmUTkGHytWkZ69roxy8CLDO1gMfQy7A2Ic8ozK7fzXZy3zPN1bV6lz1DK uUea7Be8uJ5crWMai48PPUZTuDu5L3f29dwl+afphnviYKOt6ZT06KazjoHKZN4p nyiFZViRnHXHcKUKzqfFtZGcZeBK5wxkQofa6uozEU8eQvn6po5gsT1/f+ZGlA/5 ow9A/aL3ctIaYmOt46b8HtbNLMQ4G+VKpiILaofYz5FilJxY2yb36xbYhf4tqFLu NoluHA== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4aur9arv20-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 05 Dec 2025 09:54:39 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4ed83a05863so5353271cf.2 for ; Fri, 05 Dec 2025 01:54:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1764928478; x=1765533278; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=eoXuVJmd0Yvi0WW1np6mgpmdDWonVDRB259V+zh0G08=; b=cm13GUrc3IA9J0SJxer/9AiTsvj4Zl60Vb54WsY9hX+rHofgbFsyu7Zj4eq3X9VxSK xjwp8O2Rw16k2IwS6Hjp6rxveygaG40/Y6pNaXTn59+uAlt59UaExT5Yf1xlWLDMbpts jIZiRfrVhMQP2Hf9bY5TpyiID8BGD/QF30BbLn1EwMKYPs2KYCPNS6mGk5HUUvC80d9o KmTSIopNhcYQPfNhiRRsSR5aM5NGOgZsDrwSL0uyuQ36Nlol1IXt2vRqZlHsYZ9IKClT 7G09ilCGiMd77yIsy3AhXpPReitX5I/qDtaWxNgxZyaWv/uK/L1mnfQ9SYkPW1+cXqqG 6iHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764928478; x=1765533278; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=eoXuVJmd0Yvi0WW1np6mgpmdDWonVDRB259V+zh0G08=; b=UNRkRa2g7IfTczfsGz5UyGfo3OsK8aWYEZJ9VoTEunxdNIBVbXMUHd5lyv4CfKNzzK Vr/F41qcv+dwL7t+GSawLt2VfKCAWZl5phJxKr6LihdOc/tDy1BwrnAD+3LgSTX3xmS/ wdq37m40JWEmbtkMfZRaELJzjtlpOGOH3qTz9Hw5bVrbuxla3NQ5uXqvL3il9CPXTMfK wbiJNXSJq9rMb9pTmDQeFHuaVA20UO7JGckxzEpfEMtIwnlvlTmMshKclYEUCx3trE+0 KizyFqjAu+dQF2XNK9gc0t2vCu1KbkB4VI85j+THzj0VYvF4Ymu0E/XuxCS6CSEbyAMj Q71w== X-Forwarded-Encrypted: i=1; AJvYcCX8rnm1qdtMUNI/5J+R+KvXvTCNEjVmc0w0D0BnMXQAJK8Oe2HihUjD+yIuH/H5+FFCqZ2o54EA90JQKsM=@vger.kernel.org X-Gm-Message-State: AOJu0Yx7j1EaOtjvUWhvgFuW8gxlBp4NBGr16zkj7TAPbXBt5AeWJZqA DvZzGz0MwuTtQPdWnTlEcA7GhJiDXgr8pcUSSAN2NR8DlCCKDmdugnw567dd464FVNvmon0mW/h /rBAxfmiN3Wdk4iV3XTpfWYj+e5ib9A6cXbeI2qCqKxS6P3NxRq78/b0R/+36Y1Ykv4k= X-Gm-Gg: ASbGncu7k4MtHqanQXVNEa0Tht58RXCgtKhqPQnjBnATd4qGtY7ztAHrXH1IeI6xPWA bygEX6aRoC8v4SwQMxhcncPq4ioiyY7hdzx+HsVb+kx2fghlZUDj/64yzJ0E1yG1fOsg6f2LIbB ZDl1aUsY4JZYP5b5VNd+nwdar8M02Sdv1gx1aOtKBmlz4+7Dro4S4ZXE58CQvgRwx5Y9loahrUL BlmaMfwrNTFMAW4MIk63pl4IAJa9wXL9V5XjAOpbnrJcvmIHAn0LXJUltAjExLqaxQVzqC+SRld jcH8DoU4HnVy25/26FZ0P16QXSGC7VUroCSx6MQnWNPpR59ujBLfqfacYf88ZAxd74f9JIiZwvk 5SjK8CTtOE1QKX9uKu57lRIRbFbVdbuO38EZVKZPoM+jhOeUmDKm5ojqIjBkmnYMc4A== X-Received: by 2002:a05:620a:3181:b0:8b2:ec2f:cb3d with SMTP id af79cd13be357-8b5f95115dcmr810342385a.10.1764928478604; Fri, 05 Dec 2025 01:54:38 -0800 (PST) X-Google-Smtp-Source: AGHT+IHREJakqGuPP0/p9ZNgRVSN71Fl2S+9EZh7bx7QbGSTPTv402r7qi+l8sQMgcQVA833WnD0tg== X-Received: by 2002:a05:620a:3181:b0:8b2:ec2f:cb3d with SMTP id af79cd13be357-8b5f95115dcmr810339685a.10.1764928478077; Fri, 05 Dec 2025 01:54:38 -0800 (PST) Received: from [192.168.119.72] (078088045245.garwolin.vectranet.pl. [78.88.45.245]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-647b3599050sm3377608a12.17.2025.12.05.01.54.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 05 Dec 2025 01:54:37 -0800 (PST) Message-ID: Date: Fri, 5 Dec 2025 10:54:34 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH WIP v2 5/8] media: qcom: camss: csiphy-3ph: Add Gen2 v1.1 MIPI CSI-2 CPHY init To: david@ixit.cz, Robert Foss , Todor Tomov , Bryan O'Donoghue , Vladimir Zapolskiy , Mauro Carvalho Chehab , Luca Weiss , Petr Hodina , Casey Connolly , "Dr. Git" Cc: Joel Selvaraj , Kieran Bingham , Sakari Ailus , linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, phone-devel@vger.kernel.org References: <20251204-qcom-cphy-v2-0-6b35ef8b071e@ixit.cz> <20251204-qcom-cphy-v2-5-6b35ef8b071e@ixit.cz> Content-Language: en-US From: Konrad Dybcio In-Reply-To: <20251204-qcom-cphy-v2-5-6b35ef8b071e@ixit.cz> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Authority-Analysis: v=2.4 cv=Veb6/Vp9 c=1 sm=1 tr=0 ts=6932abdf cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=FpWmc02/iXfjRdCD7H54yg==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=KKAkSRfTAAAA:8 a=797EPeVL1EFzAZkSmJsA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: QXOek1PSUhYMpAjQ-RarduxYWBuwfe-2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjA1MDA3MSBTYWx0ZWRfX76UGSlXdV9b+ hPZ4QFEfplPnBY9LUTyJj9PYcCiM8EvHWkJWTNA+RR4JE48HwZq6EfpYDaAZbrYtY9xBJlXpFM7 60H/W9IID55ZAum3hT2AuRFJ9ta09hyIRBmFmJ+xhQHwyQj9XQ4xXRYJmphilHvrnxSoXaV3VG7 WHzpQrC57NG25q1HPrRo+ZyBWIAsBuqoLe+hwmWuXdGQ14NkTWoqvGORbqV4YOXWk5fDmU/eJAs mK3RSrstYWQWX1zm+OVnw5KdJ6sSGJ598UEA5YoUtFPo05+G0BdVi8lHl9JDuxPAtR160FsaLrt UUMJaecpKnOTo7VWzVsjPr5JCVIzQ9tEqAVRosCPVVtlq6TSCcekm0Jvrft7+2Qbn4mn70mk1xr fOIhFYOwUzx4vEEBrjCWLxKAN8jgdQ== X-Proofpoint-ORIG-GUID: QXOek1PSUhYMpAjQ-RarduxYWBuwfe-2 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-05_03,2025-12-04_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 impostorscore=0 adultscore=0 suspectscore=0 spamscore=0 malwarescore=0 priorityscore=1501 lowpriorityscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2512050071 On 12/4/25 5:32 PM, David Heidelberg via B4 Relay wrote: > From: Casey Connolly > > Add a PHY configuration sequence for the sdm845 which uses a Qualcomm > Gen 2 version 1.1 CSI-2 PHY. > > The PHY can be configured as two phase or three phase in C-PHY or D-PHY > mode. This configuration supports three-phase C-PHY mode. > > Signed-off-by: Casey Connolly > Reviewed-by: Vladimir Zapolskiy > Reviewed-by: Bryan O'Donoghue > Co-developed-by: David Heidelberg > Signed-off-by: David Heidelberg > --- > .../platform/qcom/camss/camss-csiphy-3ph-1-0.c | 74 +++++++++++++++++++++- > 1 file changed, 72 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c b/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c > index 3d30cdce33f96..7121aa97a19c4 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 > @@ -145,6 +145,7 @@ csiphy_lane_regs lane_regs_sa8775p[] = { > }; > > /* GEN2 1.0 2PH */ > +/* 5 entries: clock + 4 lanes */ > static const struct > csiphy_lane_regs lane_regs_sdm845[] = { > {0x0004, 0x0C, 0x00, CSIPHY_DEFAULT_PARAMS}, > @@ -219,6 +220,69 @@ csiphy_lane_regs lane_regs_sdm845[] = { > {0x0664, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, > }; > > +/* GEN2 1.0 3PH */ > +/* 3 entries: 3 lanes (C-PHY) */ > +static const struct > +csiphy_lane_regs lane_regs_sdm845_3ph[] = { Here's a downstream snippet which seems to have more up-to-date settings (checked against a doc and it seems to have changes made at the time of the last edit of the doc) You'll notice it's split into 3 arrays of register sets - that's because it applies setting for each lane.. something to keep in mind we could optimize upstream data storage for (they are identical per lane in this instance) one day struct csiphy_reg_t csiphy_3ph_v1_0_reg[MAX_LANES][MAX_SETTINGS_PER_LANE] = { { {0x015C, 0x63, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0168, 0xAC, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x016C, 0xA5, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0104, 0x06, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x010C, 0x12, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0108, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x0114, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0150, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0118, 0x3e, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x011C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0120, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0124, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0128, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x012C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0144, 0x12, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0160, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x01CC, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0164, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x01DC, 0x51, 0x00, CSIPHY_DEFAULT_PARAMS}, }, { {0x035C, 0x63, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0368, 0xAC, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x036C, 0xA5, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0304, 0x06, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x030C, 0x12, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0308, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x0314, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0350, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0318, 0x3e, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x031C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0320, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0324, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0328, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x032C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0344, 0x12, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0360, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x03CC, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0364, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x03DC, 0x51, 0x00, CSIPHY_DEFAULT_PARAMS}, }, { {0x055C, 0x63, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0568, 0xAC, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x056C, 0xA5, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0504, 0x06, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x050C, 0x12, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE}, {0x0508, 0x00, 0x00, CSIPHY_SETTLE_CNT_HIGHER_BYTE}, {0x0514, 0x20, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0550, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0518, 0x3e, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x051C, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0520, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0524, 0x7F, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0528, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x052C, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0544, 0x12, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0560, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x05CC, 0x41, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x0564, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS}, {0x05DC, 0x51, 0x00, CSIPHY_DEFAULT_PARAMS}, }, }; Konrad