# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/ingenic,lcd.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Ingenic SoCs LCD controller devicetree bindings

maintainers:
  - Paul Cercueil <paul@crapouillou.net>

properties:
  $nodename:
    pattern: "^lcd-controller@[0-9a-f]+$"

  compatible:
    enum:
      - ingenic,jz4740-lcd
      - ingenic,jz4725b-lcd
      - ingenic,jz4770-lcd
      - ingenic,jz4780-lcd

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    items:
      - description: Pixel clock
      - description: Module clock
    minItems: 1

  clock-names:
    items:
      - const: lcd_pclk
      - const: lcd
    minItems: 1

  port:
    $ref: /schemas/graph.yaml#/properties/port

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description: DPI output, to interface with TFT panels.

      port@8:
        $ref: /schemas/graph.yaml#/properties/port
        description: Link to the Image Processing Unit (IPU).
          (See ingenic,ipu.yaml).

    required:
      - port@0

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names

if:
  properties:
    compatible:
      contains:
        enum:
          - ingenic,jz4740-lcd
          - ingenic,jz4780-lcd
then:
  properties:
    clocks:
      minItems: 2
    clock-names:
      minItems: 2
else:
  properties:
    clocks:
      maxItems: 1
    clock-names:
      maxItems: 1

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/jz4740-cgu.h>
    lcd-controller@13050000 {
      compatible = "ingenic,jz4740-lcd";
      reg = <0x13050000 0x1000>;

      interrupt-parent = <&intc>;
      interrupts = <30>;

      clocks = <&cgu JZ4740_CLK_LCD_PCLK>, <&cgu JZ4740_CLK_LCD>;
      clock-names = "lcd_pclk", "lcd";

      port {
        endpoint {
          remote-endpoint = <&panel_input>;
        };
      };
    };

  - |
    #include <dt-bindings/clock/jz4725b-cgu.h>
    lcd-controller@13050000 {
      compatible = "ingenic,jz4725b-lcd";
      reg = <0x13050000 0x1000>;

      interrupt-parent = <&intc>;
      interrupts = <31>;

      clocks = <&cgu JZ4725B_CLK_LCD>;
      clock-names = "lcd_pclk";

      port {
        endpoint {
          remote-endpoint = <&panel_input>;
        };
      };
    };
