From: Frank Li <Frank.li@oss.nxp.com>
To: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Cc: Bryan O'Donoghue <bryan.odonoghue@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>,
Bryan O'Donoghue <bod@kernel.org>,
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 20:17:29 -0500 [thread overview]
Message-ID: <amAaKalbD749uZuK@SMW015318> (raw)
In-Reply-To: <b974f1be-b802-40a3-a54c-f7e3c8fbbece@linaro.org>
On Wed, Jul 22, 2026 at 12:49:05AM +0300, Vladimir Zapolskiy wrote:
> Hi Frank.
>
> On 7/21/26 21:57, Frank Li wrote:
> > On Mon, Jul 20, 2026 at 02:11:34AM +0100, Bryan O'Donoghue wrote:
> > > Add a base schema for the MIPI CSI2 PHYs on Qualcomm SoCs. This PHY
> > > supports both DPHY and CPHY operation. A special mode of DPHY operation -
> > > called variously split-mode or combo-mode also allows for two sensors to be
> > > connected to one PHY.
> > >
> > > The submitted binding here describes the DPHY modes of operation only. CPHY
> > > is left to future work.
> > >
> > > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
> > > Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> > > ---
> > > .../bindings/phy/qcom,x1e80100-csi2-phy.yaml | 195 +++++++++++++++++++++
> > > 1 file changed, 195 insertions(+)
> > >
> > > diff --git a/Documentation/devicetree/bindings/phy/qcom,x1e80100-csi2-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,x1e80100-csi2-phy.yaml
> > > new file mode 100644
> > > index 0000000000000..880fe602945cb
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/phy/qcom,x1e80100-csi2-phy.yaml
> > > @@ -0,0 +1,195 @@
> > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/phy/qcom,x1e80100-csi2-phy.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Qualcomm X1E80100 SoC CSI2 PHY
> > > +
> > > +maintainers:
> > > + - Bryan O'Donoghue <bod@kernel.org>
> > > +
> > > +description:
> > > + Qualcomm MIPI CSI2 C-PHY/D-PHY combination PHY. Connects MIPI CSI2 sensors
> > > + to Qualcomm's Camera CSI Decoder. The PHY supports both C-PHY and D-PHY
> > > + modes.
> > > +
> > > +properties:
> > > + compatible:
> > > + const: qcom,x1e80100-csi2-phy
> > > +
> > > + reg:
> > > + maxItems: 1
> > > +
> > > + "#phy-cells":
> > > + const: 1
> > > + description:
> > > + The single cell specifies the PHY operating mode.
> > > +
> > > + clocks:
> > > + maxItems: 3
> > > +
> > > + clock-names:
> > > + items:
> > > + - const: core
> > > + - const: timer
> > > + - const: ahb
> > > +
> > > + interrupts:
> > > + maxItems: 1
> > > +
> > > + operating-points-v2: true
> > > +
> > > + opp-table:
> > > + type: object
> > > +
> > > + power-domains:
> > > + items:
> > > + - description: Titan Top GDSC - Titan ISP Block, Global Distributed Switch Controller.
> > > + - description: MMCX voltage rail
> > > + - description: MXC or MXA voltage rail
> > > +
> > > + power-domain-names:
> > > + items:
> > > + - const: top
> > > + - const: mmcx
> > > + - const: mx
> > > +
> > > + vdda-0p9-supply:
> > > + description: Phandle to a 0.9V regulator supply to a PHY.
> > > +
> > > + vdda-1p2-supply:
> > > + description: Phandle to 1.2V regulator supply to a PHY.
> > > +
> > > + ports:
> > > + $ref: /schemas/graph.yaml#/properties/ports
> > > +
> > > + properties:
> > > + port@0:
> > > + $ref: /schemas/graph.yaml#/$defs/port-base
> > > + description:
> > > + Sensor input. Always present. A single sensor is described by a
> > > + single endpoint with one to four data lanes. DPHY split mode,
> > > + where two independent sensors share the same PHY, is described
> > > + by two endpoints; endpoint@0 with exactly two data-lanes and
> > > + endpoint@1 with exactly one data-lane.
> >
> > Sorry, jump in so late. I have questions about this design
> >
> > why not model each lane as sperated phys.
> >
> > csi1 {
> > ...
> > phys = <&phy 0>, <&phy 1>; // use lane 0 and 1, connect sensor 1
> > };
> >
> > csi2 {
> > ...
> > phys = <&phy 2>; // use lan 2, connect sensor 2.
> > };
> >
>
> Such design has a number of flaws and in general it looks overly
> complicated. From the beginning it's unclear how to distinguish
> a clock lane from a data lane, how to specify lane frequencies etc.
Thanks, but phy-cell support more than one argument. like
<&phy 0 mode_cphy link_freq>
I ask these because simiar other phys may connect to display panel, some
phys combine csi and dsi together.
Frank
>
> --
> Best wishes,
> Vladimir
next prev parent reply other threads:[~2026-07-22 1:17 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
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 [this message]
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=amAaKalbD749uZuK@SMW015318 \
--to=frank.li@oss.nxp.com \
--cc=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