Re: [PATCH v3 1/5] dt-bindings: phy: Add PHY_TYPE_DSI and PHY_TYPE_CSI definitions

From
Krzysztof Kozlowski <krzk@kernel.org>
Date
2026-08-13 08:01:56
Also in
linux-arm-kernel, linux-phy, linux-rockchip, lkml
Reply to
楊智成, 2026-08-12
On 12/08/2026 14:24, 楊智成 wrote:
Thanks for the review.
quoted
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 (local)
[2] https://lore.kernel.org/r/anSuxfeitSqmSHNr@vaman (local)
quoted
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.
LLM-pasted and LLM-feeding answer again.

Best regards,
Krzysztof
Thread (15 messages) 15 messages, 4 authors, last reply 2026-08-13
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help