From: Bryan O'Donoghue <bod@kernel.org>
To: Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>,
Vinod Koul <vkoul@kernel.org>,
Kishon Vijay Abraham I <kishon@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>
Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org,
linux-media@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Subject: Re: [PATCH v13 1/2] dt-bindings: phy: qcom: Add CSI2 C-PHY/DPHY schema
Date: Tue, 21 Jul 2026 14:19:49 +0100 [thread overview]
Message-ID: <1f128571-ed46-4a60-9594-74fdd5f440d0@kernel.org> (raw)
In-Reply-To: <ec3d6035-d4de-4e38-8c72-b29a04b263ae@linaro.org>
On 21/07/2026 12:24, Bryan O'Donoghue wrote:
> On 21/07/2026 12:05, Vladimir Zapolskiy wrote:
>> On 7/21/26 13:47, Bryan O'Donoghue wrote:
>>> On 21/07/2026 10:56, Vladimir Zapolskiy wrote:
>>>> On 7/21/26 12:39, Bryan O'Donoghue wrote:
>>>>> On 21/07/2026 09:17, Vladimir Zapolskiy wrote:
>>>>>>> + "#phy-cells":
>>>>>>> + const: 1
>>>>>>> + description:
>>>>>>> + The single cell specifies the PHY operating mode.
>>>>>> This has been reported before, #phy-cells shall be 0, the operation
>>>>>> mode is selected by bus-type of endpoints as it is described in
>>>>>> video-interfaces.yaml
>>>>>>
>>>>>> Two competing values are redundant and it opens a door to a wrong
>>>>>> hardware description, the technical discussion has not been started
>>>>>> yet.
>>>>> So as I said before, I'm following Rob Herring's input on this and
>>>>> Krzysztof has given RB for this binding. At this stage, I don't see
>>>>> scope to change it.
>>>>>
>>>>> Adding endpoints was already a compromise to address your feedback,
>>>>> which I hoped would bring you on board with the design.
>>>> That's my comment dated March 27, 2026, and it says moving phy type
>>>> from phy cell to the endpoint property excludes the need to set any
>>>> phy cells:
>>>>
>>>> https://lore.kernel.org/linux-arm-msm/e37ce438-12c7-462d-
>>>> b2bc-1351be62b806@linaro.org/
>>>>
>>>> The technical comment is left unresponded so far since then.
>>>>
>>>> Since there is no expected phy cells to get on consumer's side, and
>>>> since there is another link between CSIPHY and CSID described in
>>>> video-interfaces.yaml, any kind of dependency of this IP on phy can
>>>> be just removed, which serves the purpose of hardware description
>>>> simplification.
>>>
>>> Rob's v1 feedback was consumer-decides-mode via the cell; Krzysztof has
>>> R-b'd the binding with cells=1.
>>
>> Unfortunately this is not a technical discussion to move forward
>> a better hardware description.
>>
>>> I'm happy to lock down this binding as-is on that basis.
>>>
>>> Are you arguing about phy-cells or are you actually arguing the entire
>>> instantiation of Qualcomm MIPI CSI2 as a standalone generic driver in
>>> drivers/phy ? Its not the same debate at all.
>>
>> So far I don't review the driver, only CSIPHY IP hardware description.
>>
>> In the current version of the hardware description one may find that
>> the exploited 'video-intefaces' interface completely covers the 'phys'
>> interface between CSIPHY and CSID, quite probably both are not needed
>> at the same time, and the simpler 'phys' can be removed without any
>> losses. But if it is kept, then its cell value is anyway redundant.
>>
>>> As the CAMSS maintainer, I'm fully against adding more inline monolithic
>>> CSIPHY init sequences. That could be represented as a separate
>>> linux-media driver but, then that implies that _all_ upstream CSIPHY
>>> drivers in drivers/phy are wrong, and I just don't accept that.
>>
>> Other two drivers are different and should be excluded as good
>> references, both of them links exactly one sensor to exactly one
>> CSI-2 decoder, it's not the case here. Also one of these two drivers
>> has no upstream users.
>>
>>> The bindings have DT maintainer RB, and the driver has Qcom engineer
>>> tested-by, review-by.
>>>
>>> Vinod, Kishon - Again, I'd request this merges as-is.
>>>
>>
>
> The graph and phys are different layers, endpoints describe the
> media topology, phys is how CSID controls the PHY through the PHY
> framework (phy_get/configure/power_on).
>
> Removing phys doesn't simplify the description, it removes the control
> interface which is the monolith again.
>
> We have multiple examples of this model upstream, cdns-dphy-rx +
> ti-csi2rx in-tree, with users.
>
> I'm still kicking this up to Vinod, Kishon, request stands.
>
> Multiple DT and driver users are RB/Tested-by on the schema and driver,
> lots of other work is gated.
>
> It is time to merge.
>
> Please adjudicate.
>
> ---
> bod
Had a brief discussion with Vlad, Neil and Vinod
Resolution:
- phys = <> retained
- phy-cells = <0>
- bus-type from the media-controller
Already specified with camss still aligns with Rob's declaration
"the consumer defines the mode" so I'm comfortable with this
compromise position.
This will still facilitate CPHY work/mode-selection via
phy_ops->configure() with how to define the CPHY part TBD.
- data-lanes = <0 1 2 3> valid
- MAX_LANES 8 instead of MAX_DATA_LANES 7
- v14 with these changes shortly.
---
bod
next prev parent reply other threads:[~2026-07-21 13:19 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-20 1:11 [PATCH v13 0/2] phy: qcom-mipi-csi2: Add a CSI2 MIPI DPHY driver Bryan O'Donoghue
2026-07-20 1:11 ` [PATCH v13 1/2] dt-bindings: phy: qcom: Add CSI2 C-PHY/DPHY schema Bryan O'Donoghue
2026-07-20 1:20 ` sashiko-bot
2026-07-21 8:15 ` Neil Armstrong
2026-07-21 8:17 ` Vladimir Zapolskiy
2026-07-21 9:39 ` Bryan O'Donoghue
2026-07-21 9:56 ` Vladimir Zapolskiy
2026-07-21 10:47 ` Bryan O'Donoghue
2026-07-21 11:05 ` Vladimir Zapolskiy
2026-07-21 11:24 ` Bryan O'Donoghue
2026-07-21 13:19 ` Bryan O'Donoghue [this message]
2026-07-21 13:35 ` Vladimir Zapolskiy
2026-07-21 14:06 ` Bryan O'Donoghue
2026-07-21 19:24 ` Bryan O'Donoghue
2026-07-21 18:57 ` Frank Li
2026-07-21 21:49 ` Vladimir Zapolskiy
2026-07-22 1:17 ` Frank Li
2026-07-22 1:53 ` Bryan O'Donoghue
2026-07-20 1:11 ` [PATCH v13 2/2] phy: qcom-mipi-csi2: Add a CSI2 MIPI DPHY driver Bryan O'Donoghue
2026-07-20 1:26 ` sashiko-bot
2026-07-20 3:23 ` Wenmeng Liu
2026-07-20 8:21 ` Loic Poulain
2026-07-21 11:30 ` Vladimir Zapolskiy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1f128571-ed46-4a60-9594-74fdd5f440d0@kernel.org \
--to=bod@kernel.org \
--cc=bryan.odonoghue@linaro.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kishon@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=krzysztof.kozlowski@oss.qualcomm.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=neil.armstrong@linaro.org \
--cc=robh@kernel.org \
--cc=vkoul@kernel.org \
--cc=vladimir.zapolskiy@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox