# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/atmel/atmel,hlcdc-display-controller.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Atmel's High LCD Controller (HLCDC)

maintainers:
  - Nicolas Ferre <nicolas.ferre@microchip.com>
  - Alexandre Belloni <alexandre.belloni@bootlin.com>
  - Claudiu Beznea <claudiu.beznea@tuxon.dev>

description:
  The LCD Controller (LCDC) consists of logic for transferring LCD image
  data from an external display buffer to a TFT LCD panel. The LCDC has one
  display input buffer per layer that fetches pixels through the single bus
  host interface and a look-up table to allow palletized display
  configurations.

properties:
  compatible:
    const: atmel,hlcdc-display-controller

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

  port@0:
    $ref: /schemas/graph.yaml#/$defs/port-base
    unevaluatedProperties: false
    description:
      Output endpoint of the controller, connecting the LCD panel signals.

    properties:
      '#address-cells':
        const: 1

      '#size-cells':
        const: 0

      reg:
        maxItems: 1

      endpoint:
        $ref: /schemas/media/video-interfaces.yaml#
        unevaluatedProperties: false
        description:
          Endpoint connecting the LCD panel signals.

        properties:
          bus-width:
            enum: [ 12, 16, 18, 24 ]

required:
  - '#address-cells'
  - '#size-cells'
  - compatible
  - port@0

additionalProperties: false
