# Copyright (c) 2020 Hubert Miś <hubert.mis@gmail.com>
# SPDX-License-Identifier: Apache-2.0

description: FTDI FT800 graphic controller

compatible: "ftdi,ft800"

include: spi-device.yaml

properties:
    irq-gpios:
      type: phandle-array
      required: false
      description: Optional IRQ line of FT800 controller

    pclk:
      type: int
      required: true
      description: The value to divide the main clock by for PCLK. If the
                   typical main clock was 48MHz and this value is 5, the PCLK
                   will be 9.6 MHz. Must be positive value to enable the screen

    pclk_pol:
      type: int
      required: true
      description: Polarity of PCLK. If it is set to zero, PCLK polarity is on
                   the rising edge. If it is set to one, PCLK polarity is on
                   the falling edge.

    cspread:
      type: int
      required: true
      description: Controls the transition of RGB signals with PCLK active clock
                   edge. When set to 0, R[7:2],G[7:2] and B[7:2] signals change
                   following the active edge of PCLK. When set to 1, R[7:2]
                   changes a PCLK clock early and B[7:2] a PCLK clock later,
                   which helps reduce the system noise.

    swizzle:
      type: int
      required: true
      description: Controls the arrangement of output RGB pins, which may help
                   support different LCD panel. Please check FT800 Programmers
                   Guide for details.

    vsize:
      type: int
      required: true
      description: Number of visible lines of pixels in one frame

    voffset:
      type: int
      required: true
      description: Number of invisible lines at the beginning of a new frame

    vcycle:
      type: int
      required: true
      description: Number of all lines in a frame. It includes all visible and
        invisible lines at the beginning and at the end of a frame.

    vsync0:
      type: int
      required: true
      description: Number of lines for the high state of signal VSYNC at
        the start of new frame.

    vsync1:
      type: int
      required: true
      description: Number of lines for signal VSYNC toggle takes at the start
        of new frame.

    hsize:
      type: int
      required: true
      description: Number of PCLK cycles per visible part of horizontal line

    hoffset:
      type: int
      required: true
      description: Number of PCLK cycles before pixels are scanned out for
        given line

    hcycle:
      type: int
      required: true
      description: Number of total PCLK cycles per horizontal line scan.

    hsync0:
      type: int
      required: true
      description: Number of PCLK cycles of HSYNC high state during start of
        line

    hsync1:
      type: int
      required: true
      description: Number of PCLK cycles for HSYNC toggle during start of line.
