Re: [PATCH v3 2/2] dt-bindings: Document the Synopsys ARC HDMI TX bindings
From: Rob Herring
Date: Mon Apr 20 2020 - 17:24:55 EST
On Wed, Apr 15, 2020 at 02:29:29AM +0300, Eugeniy Paltsev wrote:
> This patch adds documentation of device tree bindings for the Synopsys
> HDMI 2.0 TX encoder driver for ARC SoCs.
You're going to need to base this on top of Laurent's conversion of
dw_hdmi.txt to schema.
>
> Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx>
> Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@xxxxxxxxxxxx>
> ---
> .../display/bridge/snps,arc-dw-hdmi.yaml | 136 ++++++++++++++++++
> 1 file changed, 136 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.yaml
>
> diff --git a/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.yaml b/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.yaml
> new file mode 100644
> index 000000000000..9b2fdfecd5b3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/bridge/snps,arc-dw-hdmi.yaml
> @@ -0,0 +1,136 @@
> +# SPDX-License-Identifier: GPL-2.0
Dual license new bindings please:
(GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/bridge/snps,arc-dw-hdmi.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Synopsys DesignWare HDMI 2.0 TX encoder driver
Bindings are for h/w blocks, not drivers.
> +
> +maintainers:
> + - Eugeniy Paltsev <Eugeniy.Paltsev@xxxxxxxxxxxx>
> +
> +description: |
> + The HDMI transmitter is a Synopsys DesignWare HDMI 2.0 TX controller IP
> + with a companion of Synopsys DesignWare HDMI 2.0 TX PHY IP.
Sounds like 2 blocks?
> +
> + These DT bindings follow the Synopsys DWC HDMI TX bindings defined in
> + Documentation/devicetree/bindings/display/bridge/dw_hdmi.txt
> + with the following device-specific properties.
> +
> +properties:
> + compatible:
> + const: snps,arc-dw-hdmi-hsdk
> +
> + reg:
> + maxItems: 1
> + description: |
> + Memory mapped base address and length of the DWC HDMI TX registers.
Can drop.
> +
> + clocks:
> + items:
> + - description: The bus clock for AHB / APB
> + - description: The internal register configuration clock
> +
> + clock-names:
> + items:
> + - const: iahb
> + - const: isfr
> +
> + interrupts:
> + maxItems: 1
> + description: Reference to the DWC HDMI TX interrupt
Can drop.
> +
> + reg-io-width:
> + allOf:
> + - $ref: /schemas/types.yaml#/definitions/uint32
> + - enum: [1, 4]
> + description: |
> + Width of the registers specified by the reg property. The
> + value is expressed in bytes and must be equal to 1 or 4 if specified.
> + The register width defaults to 1 if the property is not present.
default: 1
The description is pretty much a plain text version of the constraints,
so all but the first sentence can be dropped.
> +
> + ports:
> + type: object
> + description: |
> + A ports node with endpoint definitions as defined in
> + Documentation/devicetree/bindings/media/video-interfaces.txt
Can drop. That's all 'ports'.
> +
> + properties:
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 0
> +
> + port@0:
> + type: object
> + description: |
> + Video input endpoints of the controller.
> + Usually it is associated with ARC PGU.
> +
> + port@1:
> + type: object
> + description: |
> + Output endpoints of the controller. HDMI connector.
> +
> + required:
> + - "#address-cells"
> + - "#size-cells"
> + - port@0
> + - port@1
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - clock-names
> + - interrupts
> + - ports
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + hdmi@10000 {
> + compatible = "snps,arc-dw-hdmi-hsdk";
> + reg = <0x10000 0x10000>;
> + reg-io-width = <4>;
> + interrupts = <14>;
> + clocks = <&apbclk>, <&hdmi_pix_clk>;
> + clock-names = "iahb", "isfr";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> + hdmi_enc_input: endpoint {
> + remote-endpoint = <&pgu_output>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> + hdmi_enc_out: endpoint {
> + remote-endpoint = <&hdmi_con>;
> + };
> + };
> + };
> + };
> +
> + hdmi-out {
> + port {
> + hdmi_con: endpoint {
> + remote-endpoint = <&hdmi_enc_out>;
> + };
> + };
> + };
> +
> + pgu {
> + port_o: port {
> + pgu_output: endpoint {
> + remote-endpoint = <&hdmi_enc_input>;
> + };
> + };
> + };
> --
> 2.21.1
>