# Copyright (c) 2018, Jan Van Winkel <jan.van_winkel@dxplore.eu>
# Copyright (c) 2020, Teslabs Engineering S.L.
# SPDX-License-Identifier: Apache-2.0

description: ILI9XXX display controllers common properties.

include: [spi-device.yaml, display-controller.yaml]

properties:
  reset-gpios:
    type: phandle-array
    description: RESET pin.

      The RESET pin of ILI9340 is active low.
      If connected directly the MCU pin should be configured
      as active low.

  cmd-data-gpios:
    type: phandle-array
    required: true
    description: D/CX pin.

      The D/CX pin of ILI9340 is active low (transmission command byte).
      If connected directly the MCU pin should be configured
      as active low.

  pixel-format:
    type: int
    default: 0
    enum:
      - 0 # RGB565
      - 1 # RGB888
    description:
      Display pixel format. Note that when RGB888 pixel format is selected
      only 6 color bits are actually used being in practice equivalent to
      RGB666.

  rotation:
    type: int
    default: 0
    enum:
      - 0
      - 90
      - 180
      - 270
    description:
      Display rotation (CW) in degrees.

  display-inversion:
    type: boolean
    description:
      Display inversion mode. Every bit is inverted from the frame memory to
      the display.
