From: Sebastian Reichel <sebastian.reichel@collabora.com>
To: 楊智成 <jason98166@gmail.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>,
Vinod Koul <vkoul@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Heiko Stuebner <heiko@sntech.de>,
Guochun Huang <hero.huang@rock-chips.com>,
Philipp Zabel <p.zabel@pengutronix.de>,
Michael Riesch <michael.riesch@collabora.com>,
Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 1/5] dt-bindings: phy: Add PHY_TYPE_DSI and PHY_TYPE_CSI definitions
Date: Thu, 13 Aug 2026 02:02:38 +0200 [thread overview]
Message-ID: <an0FMnDSWbud8hPc@venus> (raw)
In-Reply-To: <CAPwA33KM-sWkPVrP1h+swLinvrCZHzxPeS7h25KEO87Q_6WZuA@mail.gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 4653 bytes --]
Hi,
On Wed, Aug 12, 2026 at 08:24:11PM +0800, 楊智成 wrote:
> Thanks for the review.
>
> > I read above, but still do not get why TYPE_DPHY/CPHY is not enough.
> > Isn't DPHY implying it is DSI?
>
> I see your point, and I did not explain this clearly enough in the previous
> version.
>
> D-PHY only describes the electrical layer, and both MIPI DSI and MIPI CSI-2
> can run on top of it. A CSI-2 receiver's PHY is a D-PHY just as much as a
> DSI transmitter's is, so PHY_TYPE_DPHY alone does not tell us which one the
> consumer is asking for.
>
> That is the problem here. The RK3588 DC-PHY exposes both a transmitter and
> a receiver from a single PHY block, which can be used by two independent
> consumers at the same time. This is not a theoretical concern: on this
> board a DSI panel is scanning out while the same PHY receives CSI-2 frames
> from a camera. With only the electrical layer to identify the PHY, both
> consumers would end up with the same phandle cell:
>
> dsi@fde20000 {
> phys = <&mipidcphy0 PHY_TYPE_DPHY>; /* wants the TX */
> };
>
> csi2@fdd10000 {
> phys = <&mipidcphy0 PHY_TYPE_DPHY>; /* wants the RX */
> };
>
> There is then nothing in .of_xlate() to distinguish the two requests.
>
> I will make this clearer in the v4 commit message and include the example
> above so that the reasoning is easier to follow.
>
> For context, v2 described the direction with a Rockchip-private
> RK_DCPHY_DIR_* enum. Michael Riesch suggested using generic constants
> instead [1], and Vinod agreed [2].
>
> [1] https://lore.kernel.org/r/82da3622-9c3a-454c-87bc-fb4ec7adb68d@collabora.com
> [2] https://lore.kernel.org/r/anSuxfeitSqmSHNr@vaman
Your new binding is lacking too. If you select <&mipidcphy0 PHY_TYPE_CSI>
you defined the direction of the PHY, but will it operate in C-PHY or in
D-PHY mode?
Greetings,
-- Sebastian
> > Your tag goes the last.
>
> Sure, I will fix this in v4. The Signed-off-by tag will come last, and I
> will check the whole series again.
>
> > Two simple defines needed Claude.
>
> Yes, I agree that these two defines themselves are simple and do not really
> need AI assistance.
>
> I added the Assisted-by tag because I used AI during the development of the
> series as a whole, including cross-checking the code, writing additional
> test cases, and looking up the relevant sections of the TRM. (I checked the
> corresponding sections in the TRM myself, reviewed the test cases, and
> re-ran them on the hardware before sending the series.)
>
> I also checked the current mainline guidance in
> Documentation/process/submitting-patches.rst and
> Documentation/process/coding-assistants.rst. Since I was not sure how much
> AI involvement should warrant tagging individual patches, I chose to mark
> the whole series consistently.
>
> That said, I am happy to drop the tag from this patch in v4 if you prefer -
> I wrote these two lines myself.
>
> Thanks,
> Jason
>
>
> Krzysztof Kozlowski <krzk@kernel.org> 於 2026年8月12日週三 下午6:51寫道:
> >
> > On Mon, Aug 10, 2026 at 08:10:09PM +0800, Jason Yang wrote:
> > > MIPI D-PHY and C-PHY blocks are increasingly direction-agnostic: the
> > > same PHY IP can drive a MIPI DSI display or receive from a MIPI CSI-2
> > > camera, and combo blocks like the Samsung IP on RK3588 expose both
> > > directions to independent consumers at the same time. A binding that
> > > needs to tell the two consumers apart has nothing generic to reach
> > > for: most constants in this header name a protocol (PHY_TYPE_USB3,
> > > PHY_TYPE_DP, ...), while the MIPI entries name only the electrical
> > > layer.
> > >
> > > Add PHY_TYPE_DSI and PHY_TYPE_CSI to select a PHY by the MIPI
> > > protocol it speaks, which also implies the direction. They do not
> > > replace PHY_TYPE_DPHY/PHY_TYPE_CPHY, which remain the right choice
> > > where the cell selects the electrical layer. First user is the
> > > Rockchip RK3588 MIPI DC-PHY binding.
> >
> > I read above, but still do not get why TYPE_DPHY/CPHY is not enough.
> > Isn't DPHY implying it is DSI?
> >
> > >
> > > Suggested-by: Michael Riesch <michael.riesch@collabora.com>
> > > Signed-off-by: Jason Yang <jason98166@gmail.com>
> >
> > Your tag goes the last.
> >
> > > Assisted-by: Claude:claude-fable-5
> >
> > Two simple defines needed Claude. Great, that probably makes AI
> > conglomerates very happy that we do not type even two lines anymore and
> > need their resource-hungry data centers to do that for us.
> >
> > Best regards,
> > Krzysztof
> >
>
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 170 bytes --]
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
WARNING: multiple messages have this Message-ID (diff)
From: Sebastian Reichel <sebastian.reichel@collabora.com>
To: 楊智成 <jason98166@gmail.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>,
Vinod Koul <vkoul@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Heiko Stuebner <heiko@sntech.de>,
Guochun Huang <hero.huang@rock-chips.com>,
Philipp Zabel <p.zabel@pengutronix.de>,
Michael Riesch <michael.riesch@collabora.com>,
Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 1/5] dt-bindings: phy: Add PHY_TYPE_DSI and PHY_TYPE_CSI definitions
Date: Thu, 13 Aug 2026 02:02:38 +0200 [thread overview]
Message-ID: <an0FMnDSWbud8hPc@venus> (raw)
In-Reply-To: <CAPwA33KM-sWkPVrP1h+swLinvrCZHzxPeS7h25KEO87Q_6WZuA@mail.gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 4653 bytes --]
Hi,
On Wed, Aug 12, 2026 at 08:24:11PM +0800, 楊智成 wrote:
> Thanks for the review.
>
> > I read above, but still do not get why TYPE_DPHY/CPHY is not enough.
> > Isn't DPHY implying it is DSI?
>
> I see your point, and I did not explain this clearly enough in the previous
> version.
>
> D-PHY only describes the electrical layer, and both MIPI DSI and MIPI CSI-2
> can run on top of it. A CSI-2 receiver's PHY is a D-PHY just as much as a
> DSI transmitter's is, so PHY_TYPE_DPHY alone does not tell us which one the
> consumer is asking for.
>
> That is the problem here. The RK3588 DC-PHY exposes both a transmitter and
> a receiver from a single PHY block, which can be used by two independent
> consumers at the same time. This is not a theoretical concern: on this
> board a DSI panel is scanning out while the same PHY receives CSI-2 frames
> from a camera. With only the electrical layer to identify the PHY, both
> consumers would end up with the same phandle cell:
>
> dsi@fde20000 {
> phys = <&mipidcphy0 PHY_TYPE_DPHY>; /* wants the TX */
> };
>
> csi2@fdd10000 {
> phys = <&mipidcphy0 PHY_TYPE_DPHY>; /* wants the RX */
> };
>
> There is then nothing in .of_xlate() to distinguish the two requests.
>
> I will make this clearer in the v4 commit message and include the example
> above so that the reasoning is easier to follow.
>
> For context, v2 described the direction with a Rockchip-private
> RK_DCPHY_DIR_* enum. Michael Riesch suggested using generic constants
> instead [1], and Vinod agreed [2].
>
> [1] https://lore.kernel.org/r/82da3622-9c3a-454c-87bc-fb4ec7adb68d@collabora.com
> [2] https://lore.kernel.org/r/anSuxfeitSqmSHNr@vaman
Your new binding is lacking too. If you select <&mipidcphy0 PHY_TYPE_CSI>
you defined the direction of the PHY, but will it operate in C-PHY or in
D-PHY mode?
Greetings,
-- Sebastian
> > Your tag goes the last.
>
> Sure, I will fix this in v4. The Signed-off-by tag will come last, and I
> will check the whole series again.
>
> > Two simple defines needed Claude.
>
> Yes, I agree that these two defines themselves are simple and do not really
> need AI assistance.
>
> I added the Assisted-by tag because I used AI during the development of the
> series as a whole, including cross-checking the code, writing additional
> test cases, and looking up the relevant sections of the TRM. (I checked the
> corresponding sections in the TRM myself, reviewed the test cases, and
> re-ran them on the hardware before sending the series.)
>
> I also checked the current mainline guidance in
> Documentation/process/submitting-patches.rst and
> Documentation/process/coding-assistants.rst. Since I was not sure how much
> AI involvement should warrant tagging individual patches, I chose to mark
> the whole series consistently.
>
> That said, I am happy to drop the tag from this patch in v4 if you prefer -
> I wrote these two lines myself.
>
> Thanks,
> Jason
>
>
> Krzysztof Kozlowski <krzk@kernel.org> 於 2026年8月12日週三 下午6:51寫道:
> >
> > On Mon, Aug 10, 2026 at 08:10:09PM +0800, Jason Yang wrote:
> > > MIPI D-PHY and C-PHY blocks are increasingly direction-agnostic: the
> > > same PHY IP can drive a MIPI DSI display or receive from a MIPI CSI-2
> > > camera, and combo blocks like the Samsung IP on RK3588 expose both
> > > directions to independent consumers at the same time. A binding that
> > > needs to tell the two consumers apart has nothing generic to reach
> > > for: most constants in this header name a protocol (PHY_TYPE_USB3,
> > > PHY_TYPE_DP, ...), while the MIPI entries name only the electrical
> > > layer.
> > >
> > > Add PHY_TYPE_DSI and PHY_TYPE_CSI to select a PHY by the MIPI
> > > protocol it speaks, which also implies the direction. They do not
> > > replace PHY_TYPE_DPHY/PHY_TYPE_CPHY, which remain the right choice
> > > where the cell selects the electrical layer. First user is the
> > > Rockchip RK3588 MIPI DC-PHY binding.
> >
> > I read above, but still do not get why TYPE_DPHY/CPHY is not enough.
> > Isn't DPHY implying it is DSI?
> >
> > >
> > > Suggested-by: Michael Riesch <michael.riesch@collabora.com>
> > > Signed-off-by: Jason Yang <jason98166@gmail.com>
> >
> > Your tag goes the last.
> >
> > > Assisted-by: Claude:claude-fable-5
> >
> > Two simple defines needed Claude. Great, that probably makes AI
> > conglomerates very happy that we do not type even two lines anymore and
> > need their resource-hungry data centers to do that for us.
> >
> > Best regards,
> > Krzysztof
> >
>
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 112 bytes --]
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
WARNING: multiple messages have this Message-ID (diff)
From: Sebastian Reichel <sebastian.reichel@collabora.com>
To: 楊智成 <jason98166@gmail.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>,
Vinod Koul <vkoul@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Heiko Stuebner <heiko@sntech.de>,
Guochun Huang <hero.huang@rock-chips.com>,
Philipp Zabel <p.zabel@pengutronix.de>,
Michael Riesch <michael.riesch@collabora.com>,
Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 1/5] dt-bindings: phy: Add PHY_TYPE_DSI and PHY_TYPE_CSI definitions
Date: Thu, 13 Aug 2026 02:02:38 +0200 [thread overview]
Message-ID: <an0FMnDSWbud8hPc@venus> (raw)
In-Reply-To: <CAPwA33KM-sWkPVrP1h+swLinvrCZHzxPeS7h25KEO87Q_6WZuA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 4653 bytes --]
Hi,
On Wed, Aug 12, 2026 at 08:24:11PM +0800, 楊智成 wrote:
> Thanks for the review.
>
> > I read above, but still do not get why TYPE_DPHY/CPHY is not enough.
> > Isn't DPHY implying it is DSI?
>
> I see your point, and I did not explain this clearly enough in the previous
> version.
>
> D-PHY only describes the electrical layer, and both MIPI DSI and MIPI CSI-2
> can run on top of it. A CSI-2 receiver's PHY is a D-PHY just as much as a
> DSI transmitter's is, so PHY_TYPE_DPHY alone does not tell us which one the
> consumer is asking for.
>
> That is the problem here. The RK3588 DC-PHY exposes both a transmitter and
> a receiver from a single PHY block, which can be used by two independent
> consumers at the same time. This is not a theoretical concern: on this
> board a DSI panel is scanning out while the same PHY receives CSI-2 frames
> from a camera. With only the electrical layer to identify the PHY, both
> consumers would end up with the same phandle cell:
>
> dsi@fde20000 {
> phys = <&mipidcphy0 PHY_TYPE_DPHY>; /* wants the TX */
> };
>
> csi2@fdd10000 {
> phys = <&mipidcphy0 PHY_TYPE_DPHY>; /* wants the RX */
> };
>
> There is then nothing in .of_xlate() to distinguish the two requests.
>
> I will make this clearer in the v4 commit message and include the example
> above so that the reasoning is easier to follow.
>
> For context, v2 described the direction with a Rockchip-private
> RK_DCPHY_DIR_* enum. Michael Riesch suggested using generic constants
> instead [1], and Vinod agreed [2].
>
> [1] https://lore.kernel.org/r/82da3622-9c3a-454c-87bc-fb4ec7adb68d@collabora.com
> [2] https://lore.kernel.org/r/anSuxfeitSqmSHNr@vaman
Your new binding is lacking too. If you select <&mipidcphy0 PHY_TYPE_CSI>
you defined the direction of the PHY, but will it operate in C-PHY or in
D-PHY mode?
Greetings,
-- Sebastian
> > Your tag goes the last.
>
> Sure, I will fix this in v4. The Signed-off-by tag will come last, and I
> will check the whole series again.
>
> > Two simple defines needed Claude.
>
> Yes, I agree that these two defines themselves are simple and do not really
> need AI assistance.
>
> I added the Assisted-by tag because I used AI during the development of the
> series as a whole, including cross-checking the code, writing additional
> test cases, and looking up the relevant sections of the TRM. (I checked the
> corresponding sections in the TRM myself, reviewed the test cases, and
> re-ran them on the hardware before sending the series.)
>
> I also checked the current mainline guidance in
> Documentation/process/submitting-patches.rst and
> Documentation/process/coding-assistants.rst. Since I was not sure how much
> AI involvement should warrant tagging individual patches, I chose to mark
> the whole series consistently.
>
> That said, I am happy to drop the tag from this patch in v4 if you prefer -
> I wrote these two lines myself.
>
> Thanks,
> Jason
>
>
> Krzysztof Kozlowski <krzk@kernel.org> 於 2026年8月12日週三 下午6:51寫道:
> >
> > On Mon, Aug 10, 2026 at 08:10:09PM +0800, Jason Yang wrote:
> > > MIPI D-PHY and C-PHY blocks are increasingly direction-agnostic: the
> > > same PHY IP can drive a MIPI DSI display or receive from a MIPI CSI-2
> > > camera, and combo blocks like the Samsung IP on RK3588 expose both
> > > directions to independent consumers at the same time. A binding that
> > > needs to tell the two consumers apart has nothing generic to reach
> > > for: most constants in this header name a protocol (PHY_TYPE_USB3,
> > > PHY_TYPE_DP, ...), while the MIPI entries name only the electrical
> > > layer.
> > >
> > > Add PHY_TYPE_DSI and PHY_TYPE_CSI to select a PHY by the MIPI
> > > protocol it speaks, which also implies the direction. They do not
> > > replace PHY_TYPE_DPHY/PHY_TYPE_CPHY, which remain the right choice
> > > where the cell selects the electrical layer. First user is the
> > > Rockchip RK3588 MIPI DC-PHY binding.
> >
> > I read above, but still do not get why TYPE_DPHY/CPHY is not enough.
> > Isn't DPHY implying it is DSI?
> >
> > >
> > > Suggested-by: Michael Riesch <michael.riesch@collabora.com>
> > > Signed-off-by: Jason Yang <jason98166@gmail.com>
> >
> > Your tag goes the last.
> >
> > > Assisted-by: Claude:claude-fable-5
> >
> > Two simple defines needed Claude. Great, that probably makes AI
> > conglomerates very happy that we do not type even two lines anymore and
> > need their resource-hungry data centers to do that for us.
> >
> > Best regards,
> > Krzysztof
> >
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2026-08-13 0:03 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-10 12:10 [PATCH v3 0/5] phy: rockchip-samsung-dcphy: add the MIPI D-PHY receiver Jason Yang via B4 Relay
2026-08-10 12:10 ` Jason Yang
2026-08-10 12:10 ` Jason Yang via B4 Relay
2026-08-10 12:10 ` Jason Yang via B4 Relay
2026-08-10 12:10 ` [PATCH v3 1/5] dt-bindings: phy: Add PHY_TYPE_DSI and PHY_TYPE_CSI definitions Jason Yang via B4 Relay
2026-08-10 12:10 ` Jason Yang
2026-08-10 12:10 ` Jason Yang via B4 Relay
2026-08-10 12:10 ` Jason Yang via B4 Relay
2026-08-12 10:51 ` Krzysztof Kozlowski
2026-08-12 10:51 ` Krzysztof Kozlowski
2026-08-12 10:51 ` Krzysztof Kozlowski
2026-08-12 12:24 ` 楊智成
2026-08-12 12:24 ` 楊智成
2026-08-12 12:24 ` 楊智成
2026-08-13 0:02 ` Sebastian Reichel [this message]
2026-08-13 0:02 ` Sebastian Reichel
2026-08-13 0:02 ` Sebastian Reichel
2026-08-13 4:33 ` 楊智成
2026-08-13 4:33 ` 楊智成
2026-08-13 4:33 ` 楊智成
2026-08-10 12:10 ` [PATCH v3 2/5] dt-bindings: phy: rockchip,rk3588-mipi-dcphy: allow DSI and CSI consumers Jason Yang via B4 Relay
2026-08-10 12:10 ` Jason Yang
2026-08-10 12:10 ` Jason Yang via B4 Relay
2026-08-10 12:10 ` Jason Yang via B4 Relay
2026-08-12 10:53 ` Krzysztof Kozlowski
2026-08-12 10:53 ` Krzysztof Kozlowski
2026-08-12 10:53 ` Krzysztof Kozlowski
2026-08-10 12:10 ` [PATCH v3 3/5] phy: rockchip-samsung-dcphy: factor MIPI D-PHY power on/off into helpers Jason Yang via B4 Relay
2026-08-10 12:10 ` Jason Yang
2026-08-10 12:10 ` Jason Yang via B4 Relay
2026-08-10 12:10 ` Jason Yang via B4 Relay
2026-08-10 12:10 ` [PATCH v3 4/5] phy: rockchip-samsung-dcphy: model TX and RX as separate PHYs Jason Yang via B4 Relay
2026-08-10 12:10 ` Jason Yang
2026-08-10 12:10 ` Jason Yang via B4 Relay
2026-08-10 12:10 ` Jason Yang via B4 Relay
2026-08-10 12:10 ` [PATCH v3 5/5] phy: rockchip-samsung-dcphy: add MIPI D-PHY receiver support Jason Yang via B4 Relay
2026-08-10 12:10 ` Jason Yang
2026-08-10 12:10 ` Jason Yang via B4 Relay
2026-08-10 12:10 ` Jason Yang via B4 Relay
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=an0FMnDSWbud8hPc@venus \
--to=sebastian.reichel@collabora.com \
--cc=bryan.odonoghue@linaro.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=heiko@sntech.de \
--cc=hero.huang@rock-chips.com \
--cc=jason98166@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=michael.riesch@collabora.com \
--cc=neil.armstrong@linaro.org \
--cc=p.zabel@pengutronix.de \
--cc=robh@kernel.org \
--cc=vkoul@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.