Documentation / devicetree / bindings / display / atmel,lcdc-display.yaml


Based on kernel version 6.10. Page generated on 2024-07-16 08:59 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/atmel,lcdc-display.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Microchip's LCDC Display

maintainers:
  - Nicolas Ferre <nicolas.ferre@microchip.com>
  - Dharma Balasubiramani <dharma.b@microchip.com>

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. The
  LCDC is programmable on a per layer basis, and supports different LCD
  resolutions, window sizes, image formats and pixel depths.
 
# We need a select here since this schema is applicable only for nodes with the
# following properties

select:
  anyOf:
    - required: [ 'atmel,dmacon' ]
    - required: [ 'atmel,lcdcon2' ]
    - required: [ 'atmel,guard-time' ]

properties:
  atmel,dmacon:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: dma controller configuration

  atmel,lcdcon2:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: lcd controller configuration

  atmel,guard-time:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: lcd guard time (Delay in frame periods)
    maximum: 127

  bits-per-pixel:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: lcd panel bit-depth.
    enum: [1, 2, 4, 8, 16, 24, 32]

  atmel,lcdcon-backlight:
    $ref: /schemas/types.yaml#/definitions/flag
    description: enable backlight

  atmel,lcdcon-backlight-inverted:
    $ref: /schemas/types.yaml#/definitions/flag
    description: invert backlight PWM polarity

  atmel,lcd-wiring-mode:
    $ref: /schemas/types.yaml#/definitions/string
    description: lcd wiring mode "RGB" or "BRG"
    enum:
      - RGB
      - BRG

  atmel,power-control-gpio:
    description: gpio to power on or off the LCD (as many as needed)
    maxItems: 1

  display-timings:
    $ref: panel/display-timings.yaml#

required:
  - atmel,dmacon
  - atmel,lcdcon2
  - atmel,guard-time
  - bits-per-pixel

additionalProperties: false

examples:
  - |
    display: panel {
      bits-per-pixel = <32>;
      atmel,lcdcon-backlight;
      atmel,dmacon = <0x1>;
      atmel,lcdcon2 = <0x80008002>;
      atmel,guard-time = <9>;
      atmel,lcd-wiring-mode = "RGB";
 
      display-timings {
        native-mode = <&timing0>;
        timing0: timing0 {
          clock-frequency = <9000000>;
          hactive = <480>;
          vactive = <272>;
          hback-porch = <1>;
          hfront-porch = <1>;
          vback-porch = <40>;
          vfront-porch = <1>;
          hsync-len = <45>;
          vsync-len = <1>;
        };
      };
    };