[PATCH v2 1/4] dt-bindings: phy: rockchip,rk3588-mipi-dcphy: support per-direction phys
Michael Riesch
michael.riesch at collabora.com
Mon Aug 3 04:17:05 PDT 2026
Hi Jason,
Thanks for your patches!
On 7/26/26 16:55, Jason Yang via B4 Relay wrote:
> From: Jason Yang <jason98166 at gmail.com>
>
> 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 <jason98166 at gmail.com>
> 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 <jason98166 at gmail.com>
> + */
> +
> +#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 */
>
More information about the linux-phy
mailing list