Re: [PATCH v2 1/4] dt-bindings: phy: rockchip,rk3588-mipi-dcphy: support per-direction phys
Michael Riesch <[email protected]> Mon, 3 Aug 2026 13:17:05 +0200
| Newsgroups | org.infradead.lists.linux-phy,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-rockchip,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Hi Jason, Thanks for your patches! On 7/26/26 16:55, Jason Yang via B4 Relay wrote: > From: Jason Yang <[email protected]> > > The Samsung MIPI D-/C-PHY block on RK3588 drives a MIPI DSI transmitter > and, on the same PHY, can receive a MIPI CSI camera. Describing both as > independent consumers of one PHY requires the direction to be expressed > in the devicetree. > > Allow "#phy-cells" to be 1 or 2. The existing single-cell form still > selects the PHY type and refers to the transmitter, so shipped DSI > device trees stay valid; bumping the cell count unconditionally would > invalidate them. A second cell adds the direction, letting a DSI (TX) > and a CSI (RX) reference the same PHY node as separate consumers. > > Add include/dt-bindings/phy/rockchip,rk3588-mipi-dcphy.h for the > RK_DCPHY_DIR_TX and RK_DCPHY_DIR_RX direction constants. > > Signed-off-by: Jason Yang <[email protected]> > Assisted-by: Claude:claude-opus-4-8 > --- > .../bindings/phy/rockchip,rk3588-mipi-dcphy.yaml | 22 ++++++++++++++++------ > .../dt-bindings/phy/rockchip,rk3588-mipi-dcphy.h | 13 +++++++++++++ > 2 files changed, 29 insertions(+), 6 deletions(-) > > diff --git a/Documentation/devicetree/bindings/phy/rockchip,rk3588-mipi-dcphy.yaml b/Documentation/devicetree/bindings/phy/rockchip,rk3588-mipi-dcphy.yaml > index c8ff5ba22a86..68a43db9c669 100644 > --- a/Documentation/devicetree/bindings/phy/rockchip,rk3588-mipi-dcphy.yaml > +++ b/Documentation/devicetree/bindings/phy/rockchip,rk3588-mipi-dcphy.yaml > @@ -20,12 +20,22 @@ properties: > maxItems: 1 > > "#phy-cells": > - const: 1 > + enum: [1, 2] > description: | > - Argument is mode to operate in. Supported modes are: > - - PHY_TYPE_DPHY > - - PHY_TYPE_CPHY > - See include/dt-bindings/phy/phy.h for constants. > + A single cell selects the PHY type and always refers to the > + transmitter (DSI) direction. It is kept for backwards compatibility > + with existing device trees: > + - <PHY_TYPE_DPHY> > + - <PHY_TYPE_CPHY> > + > + Two cells select the PHY type and the direction, so that the > + transmitter (DSI) and the receiver (CSI) can be described as > + independent consumers of the same PHY: > + - <PHY_TYPE_DPHY RK_DCPHY_DIR_TX> > + - <PHY_TYPE_DPHY RK_DCPHY_DIR_RX> How is that Rockchip specific? As you state above this is either MIPI CSI or MIPI DSI, two perfectly standard protocols. @all Would it be reasonable to introduce PHY_TYPE_CSI and PHY_TYPE_DSI? The rest of the patch LGTM. Best regards, Michael > + > + See include/dt-bindings/phy/phy.h and > + include/dt-bindings/phy/rockchip,rk3588-mipi-dcphy.h for constants. > > clocks: > maxItems: 2 > @@ -82,6 +92,6 @@ examples: > <&cru SRST_S_MIPI_DCPHY0>; > reset-names = "m_phy", "apb", "grf", "s_phy"; > rockchip,grf = <&mipidcphy0_grf>; > - #phy-cells = <1>; > + #phy-cells = <2>; > }; > }; > diff --git a/include/dt-bindings/phy/rockchip,rk3588-mipi-dcphy.h b/include/dt-bindings/phy/rockchip,rk3588-mipi-dcphy.h > new file mode 100644 > index 000000000000..5029838fa275 > --- /dev/null > +++ b/include/dt-bindings/phy/rockchip,rk3588-mipi-dcphy.h > @@ -0,0 +1,13 @@ > +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ > +/* > + * Copyright (c) 2026 Jason Yang <[email protected]> > + */ > + > +#ifndef _DT_BINDINGS_PHY_ROCKCHIP_RK3588_MIPI_DCPHY_H > +#define _DT_BINDINGS_PHY_ROCKCHIP_RK3588_MIPI_DCPHY_H > + > +/* Direction of a Rockchip Samsung MIPI D-/C-PHY combo block */ > +#define RK_DCPHY_DIR_TX 0 > +#define RK_DCPHY_DIR_RX 1 > + > +#endif /* _DT_BINDINGS_PHY_ROCKCHIP_RK3588_MIPI_DCPHY_H */ > -- linux-phy mailing list [email protected] https://lists.infradead.org/mailman/listinfo/linux-phy