Re: [PATCH v3 3/5] dt-bindings: display: rockchip: Add schema for RK3588 HDMI TX Controller

Rob Herring
2024-08-13T17:59:01Z

On Wed, Aug 07, 2024 at 02:07:25PM +0300, Cristian Ciocaltea wrote:
> Rockchip RK3588 SoC integrates the Synopsys DesignWare HDMI 2.1
> Quad-Pixel (QP) TX controller IP.
>
> Since this is a new IP block, quite different from those used in the
> previous generations of Rockchip SoCs, add a dedicated binding file.
>
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
> ---
> .../display/rockchip/rockchip,dw-hdmi-qp.yaml | 188 +++++++++++++++++++++
> 1 file changed, 188 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi-qp.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi-qp.yaml
> new file mode 100644
> index 000000000000..33572c88a589
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-hdmi-qp.yaml
> @@ -0,0 +1,188 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/rockchip/rockchip,dw-hdmi-qp.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Rockchip DW HDMI QP TX Encoder
> +
> +maintainers:
> + - Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
> +
> +description:
> + Rockchip RK3588 SoC integrates the Synopsys DesignWare HDMI QP TX controller
> + IP and a HDMI/eDP TX Combo PHY based on a Samsung IP block.
> +
> +allOf:
> + - $ref: ../bridge/synopsys,dw-hdmi-qp.yaml#

Use full path: /schemas/display/bridge/...

> + - $ref: /schemas/sound/dai-common.yaml#
> +
> +properties:
> + compatible:
> + enum:
> + - rockchip,rk3588-dw-hdmi-qp
> +
> + clocks:
> + minItems: 4
> + items:
> + - {}
> + - {}
> + - {}
> + - {}
> + # The next clocks are optional, but shall be specified in this
> + # order when present.
> + - description: TMDS/FRL link clock
> + - description: Video datapath clock
> +
> + clock-names:
> + minItems: 4
> + items:
> + - {}
> + - {}
> + - {}
> + - {}
> + - enum: [hdp, hclk_vo1]
> + - const: hclk_vo1
> +
> + interrupts:
> + items:
> + - {}
> + - {}
> + - {}
> + - {}
> + - description: HPD interrupt
> +
> + interrupt-names:
> + items:
> + - {}
> + - {}
> + - {}
> + - {}
> + - const: hpd
> +
> + phys:
> + maxItems: 1
> + description: The HDMI/eDP PHY.
> +
> + phy-names:
> + const: hdmi
> +
> + ports:
> + $ref: /schemas/graph.yaml#/properties/ports
> +
> + properties:
> + port@0:
> + $ref: /schemas/graph.yaml#/properties/port
> + description:
> + Port node with one endpoint connected to a vop node.
> +
> + port@1:
> + $ref: /schemas/graph.yaml#/properties/port
> + description:
> + Port node with one endpoint connected to a hdmi-connector node.

ports can go in the common schema. The description should be what the
data and direction are for the ports. What the connection is can vary
and is outside the scope of this binding.

> +
> + required:
> + - port@0
> + - port@1
> +
> + power-domains:
> + maxItems: 1
> +
> + resets:
> + minItems: 2
> + maxItems: 2
> +
> + reset-names:
> + items:
> + - const: ref
> + - const: hdp
> +
> + "#sound-dai-cells":
> + const: 0
> +
> + rockchip,grf:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description:
> + Most HDMI QP related data is accessed through SYS GRF regs.
> +
> + rockchip,vo1_grf:

rockchip,vo1-grf