[PATCH 09/11] dt-bindings: display: convert Arm HDLCD to DT schema
Rob Herring
robh at kernel.org
Wed Apr 27 19:39:02 UTC 2022
On Wed, Apr 27, 2022 at 12:25:26PM +0100, Andre Przywara wrote:
> The Arm HDLCD is a display controller that scans out a framebuffer and
> hands a signal to a digital encoder to generate a DVI or HDMI signal.
>
> Convert the existing DT binding to DT schema.
>
> Signed-off-by: Andre Przywara <andre.przywara at arm.com>
> ---
> .../devicetree/bindings/display/arm,hdlcd.txt | 79 ----------------
> .../bindings/display/arm,hdlcd.yaml | 91 +++++++++++++++++++
> 2 files changed, 91 insertions(+), 79 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/display/arm,hdlcd.txt
> create mode 100644 Documentation/devicetree/bindings/display/arm,hdlcd.yaml
>
> diff --git a/Documentation/devicetree/bindings/display/arm,hdlcd.txt b/Documentation/devicetree/bindings/display/arm,hdlcd.txt
> deleted file mode 100644
> index 78bc24296f3e4..0000000000000
> --- a/Documentation/devicetree/bindings/display/arm,hdlcd.txt
> +++ /dev/null
> @@ -1,79 +0,0 @@
> -ARM HDLCD
> -
> -This is a display controller found on several development platforms produced
> -by ARM Ltd and in more modern of its' Fast Models. The HDLCD is an RGB
> -streamer that reads the data from a framebuffer and sends it to a single
> -digital encoder (DVI or HDMI).
> -
> -Required properties:
> - - compatible: "arm,hdlcd"
> - - reg: Physical base address and length of the controller's registers.
> - - interrupts: One interrupt used by the display controller to notify the
> - interrupt controller when any of the interrupt sources programmed in
> - the interrupt mask register have activated.
> - - clocks: A list of phandle + clock-specifier pairs, one for each
> - entry in 'clock-names'.
> - - clock-names: A list of clock names. For HDLCD it should contain:
> - - "pxlclk" for the clock feeding the output PLL of the controller.
> -
> -Required sub-nodes:
> - - port: The HDLCD connection to an encoder chip. The connection is modeled
> - using the OF graph bindings specified in
> - Documentation/devicetree/bindings/graph.txt.
> -
> -Optional properties:
> - - memory-region: phandle to a node describing memory (see
> - Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt) to be
> - used for the framebuffer; if not present, the framebuffer may be located
> - anywhere in memory.
> -
> -
> -Example:
> -
> -/ {
> - ...
> -
> - hdlcd at 2b000000 {
> - compatible = "arm,hdlcd";
> - reg = <0 0x2b000000 0 0x1000>;
> - interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
> - clocks = <&oscclk5>;
> - clock-names = "pxlclk";
> - port {
> - hdlcd_output: endpoint at 0 {
> - remote-endpoint = <&hdmi_enc_input>;
> - };
> - };
> - };
> -
> - /* HDMI encoder on I2C bus */
> - i2c at 7ffa0000 {
> - ....
> - hdmi-transmitter at 70 {
> - compatible = ".....";
> - reg = <0x70>;
> - port at 0 {
> - hdmi_enc_input: endpoint {
> - remote-endpoint = <&hdlcd_output>;
> - };
> -
> - hdmi_enc_output: endpoint {
> - remote-endpoint = <&hdmi_1_port>;
> - };
> - };
> - };
> -
> - };
> -
> - hdmi1: connector at 1 {
> - compatible = "hdmi-connector";
> - type = "a";
> - port {
> - hdmi_1_port: endpoint {
> - remote-endpoint = <&hdmi_enc_output>;
> - };
> - };
> - };
> -
> - ...
> -};
> diff --git a/Documentation/devicetree/bindings/display/arm,hdlcd.yaml b/Documentation/devicetree/bindings/display/arm,hdlcd.yaml
> new file mode 100644
> index 0000000000000..1fe8e07334152
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/arm,hdlcd.yaml
> @@ -0,0 +1,91 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/arm,hdlcd.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Arm HDLCD display controller binding
> +
> +maintainers:
> + - Liviu Dudau <Liviu.Dudau at arm.com>
> + - Andre Przywara <andre.przywara at arm.com>
> +
> +description: |+
> + The Arm HDLCD is a display controller found on several development platforms
> + produced by ARM Ltd and in more modern of its Fast Models. The HDLCD is an
> + RGB streamer that reads the data from a framebuffer and sends it to a single
> + digital encoder (DVI or HDMI).
> +
> +properties:
> + compatible:
> + const: arm,hdlcd
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + clock-names:
> + const: pxlclk
> +
> + clocks:
> + maxItems: 1
> + description: The input reference for the pixel clock.
> +
> + memory-region:
> + maxItems: 1
> + description:
> + Phandle to a node describing memory to be used for the framebuffer.
> + If not present, the framebuffer may be located anywhere in memory.
> +
> + iommus:
> + maxItems: 1
> +
> + port:
> + $ref: /schemas/graph.yaml#/$defs/port-base
If no custom properties in port or endpoint:
$ref: /schemas/graph.yaml#/properties/port
> + unevaluatedProperties: false
> + description:
> + Output endpoint of the controller, connecting the LCD panel signals.
> +
> +additionalProperties: false
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> + - port
> +
> +examples:
> + - |
> + hdlcd at 2b000000 {
> + compatible = "arm,hdlcd";
> + reg = <0x2b000000 0x1000>;
> + interrupts = <0 85 4>;
> + clocks = <&oscclk5>;
> + clock-names = "pxlclk";
> + port {
> + hdlcd_output: endpoint {
> + remote-endpoint = <&hdmi_enc_input>;
> + };
> + };
> + };
> +
> + /* HDMI encoder on I2C bus */
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + hdmi-transmitter at 70 {
> + compatible = "nxp,tda998x";
> + reg = <0x70>;
> + port {
> + hdmi_enc_input: endpoint {
> + remote-endpoint = <&hdlcd_output>;
> + };
> + };
> + };
> +
> + };
> +
> +...
> --
> 2.25.1
>
>
More information about the dri-devel
mailing list