# Copyright (c) 2022, Byte-Lab d.o.o. <dev@byte-lab.com>
# SPDX-License-Identifier: Apache-2.0

description: STM32 LCD-TFT display controller

compatible: "st,stm32-ltdc"

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

properties:
  disp-on-gpios:
    type: phandle-array
    description: |
      Display on/off GPIO pin.
      Configure the GPIO polarity (active high/active low) according to LCD datasheet.

  bl-ctrl-gpios:
    type: phandle-array
    description: |
      Backlight on/off GPIO pin.
      Configure the GPIO polarity (active high/active low) according to LCD datasheet.

  ext-sdram:
    type: phandle
    description: |
      External SDRAM in which frame buffer will be stored.
      If not defined, internal RAM will be used.

  clocks:
    required: true

  interrupts:
    required: true

  pinctrl-0:
    required: true

  hsync-pol:
    type: int
    required: true
    description: |
      Horizontal synchronization pulse polarity.
      If HSYNC is active low, use STM32_LTDC_HSPOL_ACTIVE_LOW,
      otherwise use STM32_LTDC_HSPOL_ACTIVE_HIGH.

  vsync-pol:
    type: int
    required: true
    description: |
      Vertical synchronization pulse polarity.
      If VSYNC is active low, use STM32_LTDC_VSPOL_ACTIVE_LOW,
      otherwise use STM32_LTDC_VSPOL_ACTIVE_HIGH.

  de-pol:
    type: int
    required: true
    description: |
      Data enable pulse polarity.
      If DE is active low, use STM32_LTDC_DEPOL_ACTIVE_LOW,
      otherwise use STM32_LTDC_DEPOL_ACTIVE_HIGH.

  pclk-pol:
    type: int
    required: true
    description: |
      Pixel clock polarity.
      If RGB data is sampled on falling edge of PCLK, use STM32_LTDC_PCPOL_ACTIVE_LOW,
      otherwise use STM32_LTDC_PCPOL_ACTIVE_HIGH.

  hsync-duration:
    type: int
    required: true
    description: Horizontal synchronization pulse duration, in pixels

  vsync-duration:
    type: int
    required: true
    description: Vertical synchronization pulse duration, in lines

  hbp-duration:
    type: int
    required: true
    description: Horizontal back-porch duration, in pixels

  vbp-duration:
    type: int
    required: true
    description: Vertical back-porch duration, in lines

  hfp-duration:
    type: int
    required: true
    description: Horizontal front porch duration, in pixels

  vfp-duration:
    type: int
    required: true
    description: Vertical front porch duration, in lines

  def-back-color-red:
    type: int
    description: Default display background color - red

  def-back-color-green:
    type: int
    description: Default display background color - green

  def-back-color-blue:
    type: int
    description: Default display background color - blue
