# 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
      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.
