[PATCH v2 1/4] dt-bindings: phy: rockchip,rk3588-mipi-dcphy: support per-direction phys
Jason Yang <[email protected]>
| Newsgroups | org.kernel.feeds.b4-sent,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-phy,org.infradead.lists.linux-rockchip,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[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> + + 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 */ -- 2.43.0