# 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

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

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

  compatible:
    enum:
      - ingenic,jz4740-lcd
      - ingenic,jz4725b-lcd
      - ingenic,jz4760-lcd
      - ingenic,jz4760b-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/ingenic,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/ingenic,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>;
        };
      };
    };
