[PATCH v5 2/8] dt-bindings: phy: rockchip,rk3588-mipi-dcphy: Add a cell to select TX or RX
Bryan O'Donoghue
bryan.odonoghue at linaro.org
Fri Oct 16 03:43:43 PDT 2026
On 16/10/2026 09:56, Jason Yang wrote:
> The Samsung MIPI D-/C-PHY block on RK3588 and RK3576 has a transmitter
> for DSI and a receiver for CSI-2, and two consumers can use them at the
> same time.
Two consumers use them - which them ? Two consumers use the receivers at
the same time ?
Its minor but instead of "them" define what the them is.
The single cell of this binding selects the mode and refers
> to the transmitter, so the receiver cannot be described.
>
> Allow a second cell that selects the transmitter or the receiver. With
> D-PHY:
>
> /* the MIPI DSI host, driving the transmitter */
> phys = <&mipidcphy0 PHY_TYPE_DPHY PHY_DIRECTION_TX>;
>
> /* the MIPI CSI-2 host, driving the receiver */
> phys = <&mipidcphy0 PHY_TYPE_DPHY PHY_DIRECTION_RX>;
>
> and with C-PHY:
>
> phys = <&mipidcphy0 PHY_TYPE_CPHY PHY_DIRECTION_TX>;
> phys = <&mipidcphy0 PHY_TYPE_CPHY PHY_DIRECTION_RX>;
>
> The transmitter and the receiver cannot operate in different modes [1],
> so the first cell must match in both consumers.
>
> Two cells describe the receiver as well. A single cell keeps referring
> to the transmitter, so existing device trees are unaffected.
>
> [1] RK3588 TRM: section 22.1 (overview): "The TX and RX only support
> operate in the same PHY mode."
>
> Signed-off-by: Jason Yang <jason98166 at gmail.com>
> ---
> .../bindings/phy/rockchip,rk3588-mipi-dcphy.yaml | 20 +++++++++++++++++---
> 1 file changed, 17 insertions(+), 3 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..6e8cc56e4986 100644
> --- a/Documentation/devicetree/bindings/phy/rockchip,rk3588-mipi-dcphy.yaml
> +++ b/Documentation/devicetree/bindings/phy/rockchip,rk3588-mipi-dcphy.yaml
> @@ -20,11 +20,25 @@ properties:
> maxItems: 1
>
> "#phy-cells":
> - const: 1
> + enum: [1, 2]
> description: |
> - Argument is mode to operate in. Supported modes are:
> + The first cell selects the mode to operate in:
> - PHY_TYPE_DPHY
> - PHY_TYPE_CPHY
> +
> + A single cell refers to the transmitter and is kept for existing
> + device trees.
> +
> + The second cell selects the transmitter or the receiver, so that a
The second cell, if present
-> you want to make clear it is optional.
> + MIPI DSI host and a MIPI CSI-2 host can be described as independent
> + consumers of the same PHY node:
> + - PHY_DIRECTION_TX
> + - PHY_DIRECTION_RX
> +
> + The transmitter and the receiver cannot operate in different modes,
> + so when both are described, the first cell must match in both
> + consumers.
> +
Not really related to this patch but how do you envision that
requirement being enforced, per driver ?
> See include/dt-bindings/phy/phy.h for constants.
>
> clocks:
> @@ -82,6 +96,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>;
> };
> };
>
Looks pretty good to me I'm interested in adding an RB here - please
include me in CC for next versions so I may do so.
---
bod
More information about the Linux-rockchip
mailing list