18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/display/ingenic,lcd.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Ingenic SoCs LCD controller devicetree bindings
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Paul Cercueil <paul@crapouillou.net>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciproperties:
138c2ecf20Sopenharmony_ci  $nodename:
148c2ecf20Sopenharmony_ci    pattern: "^lcd-controller@[0-9a-f]+$"
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci  compatible:
178c2ecf20Sopenharmony_ci    enum:
188c2ecf20Sopenharmony_ci      - ingenic,jz4740-lcd
198c2ecf20Sopenharmony_ci      - ingenic,jz4725b-lcd
208c2ecf20Sopenharmony_ci      - ingenic,jz4770-lcd
218c2ecf20Sopenharmony_ci      - ingenic,jz4780-lcd
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci  reg:
248c2ecf20Sopenharmony_ci    maxItems: 1
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci  interrupts:
278c2ecf20Sopenharmony_ci    maxItems: 1
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci  clocks:
308c2ecf20Sopenharmony_ci    items:
318c2ecf20Sopenharmony_ci      - description: Pixel clock
328c2ecf20Sopenharmony_ci      - description: Module clock
338c2ecf20Sopenharmony_ci    minItems: 1
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci  clock-names:
368c2ecf20Sopenharmony_ci    items:
378c2ecf20Sopenharmony_ci      - const: lcd_pclk
388c2ecf20Sopenharmony_ci      - const: lcd
398c2ecf20Sopenharmony_ci    minItems: 1
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci  port:
428c2ecf20Sopenharmony_ci    description: OF graph bindings (specified in bindings/graph.txt).
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci  ports:
458c2ecf20Sopenharmony_ci    description: OF graph bindings (specified in bindings/graph.txt).
468c2ecf20Sopenharmony_ci    type: object
478c2ecf20Sopenharmony_ci    properties:
488c2ecf20Sopenharmony_ci      port@0:
498c2ecf20Sopenharmony_ci        type: object
508c2ecf20Sopenharmony_ci        description: DPI output, to interface with TFT panels.
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci      port@8:
538c2ecf20Sopenharmony_ci        type: object
548c2ecf20Sopenharmony_ci        description: Link to the Image Processing Unit (IPU).
558c2ecf20Sopenharmony_ci          (See ingenic,ipu.yaml).
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci    required:
588c2ecf20Sopenharmony_ci      - port@0
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_cirequired:
618c2ecf20Sopenharmony_ci  - compatible
628c2ecf20Sopenharmony_ci  - reg
638c2ecf20Sopenharmony_ci  - interrupts
648c2ecf20Sopenharmony_ci  - clocks
658c2ecf20Sopenharmony_ci  - clock-names
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ciif:
688c2ecf20Sopenharmony_ci  properties:
698c2ecf20Sopenharmony_ci    compatible:
708c2ecf20Sopenharmony_ci      contains:
718c2ecf20Sopenharmony_ci        enum:
728c2ecf20Sopenharmony_ci          - ingenic,jz4740-lcd
738c2ecf20Sopenharmony_ci          - ingenic,jz4780-lcd
748c2ecf20Sopenharmony_cithen:
758c2ecf20Sopenharmony_ci  properties:
768c2ecf20Sopenharmony_ci    clocks:
778c2ecf20Sopenharmony_ci      minItems: 2
788c2ecf20Sopenharmony_ci    clock-names:
798c2ecf20Sopenharmony_ci      minItems: 2
808c2ecf20Sopenharmony_cielse:
818c2ecf20Sopenharmony_ci  properties:
828c2ecf20Sopenharmony_ci    clocks:
838c2ecf20Sopenharmony_ci      maxItems: 1
848c2ecf20Sopenharmony_ci    clock-names:
858c2ecf20Sopenharmony_ci      maxItems: 1
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ciadditionalProperties: false
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ciexamples:
908c2ecf20Sopenharmony_ci  - |
918c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/jz4740-cgu.h>
928c2ecf20Sopenharmony_ci    lcd-controller@13050000 {
938c2ecf20Sopenharmony_ci      compatible = "ingenic,jz4740-lcd";
948c2ecf20Sopenharmony_ci      reg = <0x13050000 0x1000>;
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ci      interrupt-parent = <&intc>;
978c2ecf20Sopenharmony_ci      interrupts = <30>;
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ci      clocks = <&cgu JZ4740_CLK_LCD_PCLK>, <&cgu JZ4740_CLK_LCD>;
1008c2ecf20Sopenharmony_ci      clock-names = "lcd_pclk", "lcd";
1018c2ecf20Sopenharmony_ci
1028c2ecf20Sopenharmony_ci      port {
1038c2ecf20Sopenharmony_ci        endpoint {
1048c2ecf20Sopenharmony_ci          remote-endpoint = <&panel_input>;
1058c2ecf20Sopenharmony_ci        };
1068c2ecf20Sopenharmony_ci      };
1078c2ecf20Sopenharmony_ci    };
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ci  - |
1108c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/jz4725b-cgu.h>
1118c2ecf20Sopenharmony_ci    lcd-controller@13050000 {
1128c2ecf20Sopenharmony_ci      compatible = "ingenic,jz4725b-lcd";
1138c2ecf20Sopenharmony_ci      reg = <0x13050000 0x1000>;
1148c2ecf20Sopenharmony_ci
1158c2ecf20Sopenharmony_ci      interrupt-parent = <&intc>;
1168c2ecf20Sopenharmony_ci      interrupts = <31>;
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ci      clocks = <&cgu JZ4725B_CLK_LCD>;
1198c2ecf20Sopenharmony_ci      clock-names = "lcd_pclk";
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ci      port {
1228c2ecf20Sopenharmony_ci        endpoint {
1238c2ecf20Sopenharmony_ci          remote-endpoint = <&panel_input>;
1248c2ecf20Sopenharmony_ci        };
1258c2ecf20Sopenharmony_ci      };
1268c2ecf20Sopenharmony_ci    };
127