lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200618205922.GA89738@ravnborg.org>
Date:   Thu, 18 Jun 2020 22:59:22 +0200
From:   Sam Ravnborg <sam@...nborg.org>
To:     Rob Herring <robh@...nel.org>
Cc:     devicetree@...r.kernel.org, dri-devel@...ts.freedesktop.org,
        linux-kernel@...r.kernel.org,
        Laurent Pinchart <Laurent.pinchart@...asonboard.com>,
        Maxime Ripard <mripard@...nel.org>
Subject: Re: [PATCH] dt-bindings: display: Convert connectors to DT schema

Hi Rob.

On Thu, Jun 18, 2020 at 02:24:47PM -0600, Rob Herring wrote:
> Convert the analog TV, DVI, HDMI, and VGA connector bindings to DT schema
> format.
> 
> Cc: Sam Ravnborg <sam@...nborg.org>
> Cc: Laurent Pinchart <Laurent.pinchart@...asonboard.com>
> Cc: Maxime Ripard <mripard@...nel.org>
> Signed-off-by: Rob Herring <robh@...nel.org>
> ---
> I put myself as maintainer, but would be happy if someone else was like 
> one of the Cc'ed people.
I nominate Laurent for this....

See some comments in the following.
Mostly related to required - I may have missed something.

	Sam
> 
>  .../display/connector/analog-tv-connector.txt | 31 --------
>  .../connector/analog-tv-connector.yaml        | 47 ++++++++++++
>  .../display/connector/dvi-connector.txt       | 36 ---------
>  .../display/connector/dvi-connector.yaml      | 75 +++++++++++++++++++
>  .../display/connector/hdmi-connector.txt      | 31 --------
>  .../display/connector/hdmi-connector.yaml     | 63 ++++++++++++++++
>  .../display/connector/vga-connector.txt       | 36 ---------
>  .../display/connector/vga-connector.yaml      | 42 +++++++++++
>  8 files changed, 227 insertions(+), 134 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/display/connector/analog-tv-connector.txt
>  create mode 100644 Documentation/devicetree/bindings/display/connector/analog-tv-connector.yaml
>  delete mode 100644 Documentation/devicetree/bindings/display/connector/dvi-connector.txt
>  create mode 100644 Documentation/devicetree/bindings/display/connector/dvi-connector.yaml
>  delete mode 100644 Documentation/devicetree/bindings/display/connector/hdmi-connector.txt
>  create mode 100644 Documentation/devicetree/bindings/display/connector/hdmi-connector.yaml
>  delete mode 100644 Documentation/devicetree/bindings/display/connector/vga-connector.txt
>  create mode 100644 Documentation/devicetree/bindings/display/connector/vga-connector.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/connector/analog-tv-connector.txt b/Documentation/devicetree/bindings/display/connector/analog-tv-connector.txt
> deleted file mode 100644
> index 883bcb2604c7..000000000000
> --- a/Documentation/devicetree/bindings/display/connector/analog-tv-connector.txt
> +++ /dev/null
> @@ -1,31 +0,0 @@
> -Analog TV Connector
> -===================
> -
> -Required properties:
> -- compatible: "composite-video-connector" or "svideo-connector"
> -
> -Optional properties:
> -- label: a symbolic name for the connector
> -- sdtv-standards: limit the supported TV standards on a connector to the given
> -                  ones. If not specified all TV standards are allowed.
> -                  Possible TV standards are defined in
> -                  include/dt-bindings/display/sdtv-standards.h.
> -
> -Required nodes:
> -- Video port for TV input
> -
> -Example
> --------
> -#include <dt-bindings/display/sdtv-standards.h>
> -
> -tv: connector {
> -	compatible = "composite-video-connector";
> -	label = "tv";
> -	sdtv-standards = <(SDTV_STD_PAL | SDTV_STD_NTSC)>;
> -
> -	port {
> -		tv_connector_in: endpoint {
> -			remote-endpoint = <&venc_out>;
> -		};
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/display/connector/analog-tv-connector.yaml b/Documentation/devicetree/bindings/display/connector/analog-tv-connector.yaml
> new file mode 100644
> index 000000000000..d9ac42cb7e04
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/connector/analog-tv-connector.yaml
> @@ -0,0 +1,47 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/connector/analog-tv-connector.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog TV Connector
> +
> +maintainers:
> +  - Rob Herring <robh@...nel.org>
> +
> +properties:
> +  compatible:
> +    enum:
> +      - composite-video-connector
> +      - svideo-connector
> +
> +  label: true
> +
> +  sdtv-standards:
> +    description: Limit the supported TV standards on a connector to the given
> +      ones. If not specified all TV standards are allowed. Possible TV
> +      standards are defined in include/dt-bindings/display/sdtv-standards.h.
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +
> +  port:
> +    description: Connection to controller providing analog TV signals
required:
  - compatible
  - port

??

> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/display/sdtv-standards.h>
> +
> +    connector {
> +      compatible = "composite-video-connector";
> +      label = "tv";
> +      sdtv-standards = <(SDTV_STD_PAL | SDTV_STD_NTSC)>;
> +
> +      port {
> +        tv_connector_in: endpoint {
> +          remote-endpoint = <&venc_out>;
> +        };
> +      };
> +    };
My personal preference is 4 space indent.
Easier to read for me.
But we discussed this before - would be good
with a recommendation so we know what to expect.

Oh, and example-schema uses 6 spaces :-(

> +
> +...
> diff --git a/Documentation/devicetree/bindings/display/connector/dvi-connector.txt b/Documentation/devicetree/bindings/display/connector/dvi-connector.txt
> deleted file mode 100644
> index 207e42e9eba0..000000000000
> --- a/Documentation/devicetree/bindings/display/connector/dvi-connector.txt
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -DVI Connector
> -==============
> -
> -Required properties:
> -- compatible: "dvi-connector"
> -
> -Optional properties:
> -- label: a symbolic name for the connector
> -- ddc-i2c-bus: phandle to the i2c bus that is connected to DVI DDC
> -- analog: the connector has DVI analog pins
> -- digital: the connector has DVI digital pins
> -- dual-link: the connector has pins for DVI dual-link
> -- hpd-gpios: HPD GPIO number
> -
> -Required nodes:
> -- Video port for DVI input
> -
> -Note: One (or both) of 'analog' or 'digital' must be set.
> -
> -Example
> --------
> -
> -dvi0: connector@0 {
> -	compatible = "dvi-connector";
> -	label = "dvi";
> -
> -	digital;
> -
> -	ddc-i2c-bus = <&i2c3>;
> -
> -	port {
> -		dvi_connector_in: endpoint {
> -			remote-endpoint = <&tfp410_out>;
> -		};
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/display/connector/dvi-connector.yaml b/Documentation/devicetree/bindings/display/connector/dvi-connector.yaml
> new file mode 100644
> index 000000000000..aaf61bce64ca
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/connector/dvi-connector.yaml
> @@ -0,0 +1,75 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/connector/dvi-connector.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: DVI Connector
> +
> +maintainers:
> +  - Rob Herring <robh@...nel.org>
> +
> +properties:
> +  compatible:
> +    const: dvi-connector
> +
> +  type:
> +    description: The HDMI connector type
> +    enum:
> +      - a   # Standard full size
> +      - b   # Never deployed?
> +      - c   # Mini
> +      - d   # Micro
> +      - e   # automotive
type looks like something that was copied from another binding.
It is not part of the .txt binding.

> +
> +  label: true
> +
> +  hpd-gpios:
> +    description: A GPIO line connected to HPD
> +    maxItems: 1
> +
> +  ddc-i2c-bus:
> +    description: phandle link to the I2C controller used for DDC EDID probing
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +
> +  analog:
> +    type: boolean
> +    description: the connector has DVI analog pins
> +
> +  digital:
> +    type: boolean
> +    description: the connector has DVI digital pins
> +
> +  dual-link:
> +    type: boolean
> +    description: the connector has pins for DVI dual-link
> +
> +  port:
> +    description: Connection to controller providing DVI signals
> +
> +anyOf:
> +  - required:
> +      - analog
> +  - required:
> +      - digital
> +
required:
  - compatible
??

> +additionalProperties: false
> +
> +examples:
> +  - |
> +    connector {
> +      compatible = "dvi-connector";
> +      label = "dvi";
> +
> +      digital;
> +
> +      ddc-i2c-bus = <&i2c3>;
> +
> +      port {
> +        dvi_connector_in: endpoint {
> +          remote-endpoint = <&tfp410_out>;
> +        };
> +      };
> +    };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/display/connector/hdmi-connector.txt b/Documentation/devicetree/bindings/display/connector/hdmi-connector.txt
> deleted file mode 100644
> index aeb07c4bd703..000000000000
> --- a/Documentation/devicetree/bindings/display/connector/hdmi-connector.txt
> +++ /dev/null
> @@ -1,31 +0,0 @@
> -HDMI Connector
> -==============
> -
> -Required properties:
> -- compatible: "hdmi-connector"
> -- type: the HDMI connector type: "a", "b", "c", "d" or "e"
> -
> -Optional properties:
> -- label: a symbolic name for the connector
> -- hpd-gpios: HPD GPIO number
> -- ddc-i2c-bus: phandle link to the I2C controller used for DDC EDID probing
> -- ddc-en-gpios: signal to enable DDC bus
> -
> -Required nodes:
> -- Video port for HDMI input
> -
> -Example
> --------
> -
> -hdmi0: connector@1 {
> -	compatible = "hdmi-connector";
> -	label = "hdmi";
> -
> -	type = "a";
> -
> -	port {
> -		hdmi_connector_in: endpoint {
> -			remote-endpoint = <&tpd12s015_out>;
> -		};
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/display/connector/hdmi-connector.yaml b/Documentation/devicetree/bindings/display/connector/hdmi-connector.yaml
> new file mode 100644
> index 000000000000..57f0193a12e7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/connector/hdmi-connector.yaml
> @@ -0,0 +1,63 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/connector/hdmi-connector.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: HDMI Connector
> +
> +maintainers:
> +  - Rob Herring <robh@...nel.org>
> +
> +properties:
> +  compatible:
> +    const: hdmi-connector
> +
> +  type:
> +    description: The HDMI connector type
> +    enum:
> +      - a   # Standard full size
> +      - b   # Never deployed?
> +      - c   # Mini
> +      - d   # Micro
> +      - e   # automotive
> +
> +  label: true
> +
> +  hpd-gpios:
> +    description: A GPIO line connected to HPD
> +    maxItems: 1
> +
> +  ddc-i2c-bus:
> +    description: phandle link to the I2C controller used for DDC EDID probing
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +
> +  ddc-en-gpios:
> +    description: GPIO signal to enable DDC bus
> +    maxItems: 1
> +
> +  port:
> +    description: Connection to controller providing HDMI signals
> +
> +required:
> +  - compatible
> +  - type
port node is also required per .txt binding
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    connector {
> +      compatible = "hdmi-connector";
> +      label = "hdmi";
> +
> +      type = "a";
> +
> +      port {
> +        hdmi_connector_in: endpoint {
> +          remote-endpoint = <&tpd12s015_out>;
> +        };
> +      };
> +    };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/display/connector/vga-connector.txt b/Documentation/devicetree/bindings/display/connector/vga-connector.txt
> deleted file mode 100644
> index c727f298e7ad..000000000000
> --- a/Documentation/devicetree/bindings/display/connector/vga-connector.txt
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -VGA Connector
> -=============
> -
> -Required properties:
> -
> -- compatible: "vga-connector"
> -
> -Optional properties:
> -
> -- label: a symbolic name for the connector corresponding to a hardware label
> -- ddc-i2c-bus: phandle to the I2C bus that is connected to VGA DDC
> -
> -Required nodes:
> -
> -The VGA connector internal connections are modeled using the OF graph bindings
> -specified in Documentation/devicetree/bindings/graph.txt.
> -
> -The VGA connector has a single port that must be connected to a video source
> -port.
> -
> -
> -Example
> --------
> -
> -vga0: connector@0 {
> -	compatible = "vga-connector";
> -	label = "vga";
> -
> -	ddc-i2c-bus = <&i2c3>;
> -
> -	port {
> -		vga_connector_in: endpoint {
> -			remote-endpoint = <&adv7123_out>;
> -		};
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/display/connector/vga-connector.yaml b/Documentation/devicetree/bindings/display/connector/vga-connector.yaml
> new file mode 100644
> index 000000000000..cc1245f471bc
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/connector/vga-connector.yaml
> @@ -0,0 +1,42 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/connector/vga-connector.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: VGA Connector
> +
> +maintainers:
> +  - Rob Herring <robh@...nel.org>
> +
> +properties:
> +  compatible:
> +    const: vga-connector
> +
> +  label: true
> +
> +  ddc-i2c-bus:
> +    description: phandle link to the I2C controller used for DDC EDID probing
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +
> +  port:
> +    description: Connection to controller providing VGA signals
> +
required:
  - compatible
  - port

> +additionalProperties: false
> +
> +examples:
> +  - |
> +    connector {
> +      compatible = "vga-connector";
> +      label = "vga";
> +
> +      ddc-i2c-bus = <&i2c3>;
> +
> +      port {
> +        vga_connector_in: endpoint {
> +          remote-endpoint = <&adv7123_out>;
> +        };
> +      };
> +    };
> +
> +...
> -- 
> 2.25.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ