0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/display/ingenic,lcd.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Ingenic SoCs LCD controller devicetree bindings
0008
0009 maintainers:
0010 - Paul Cercueil <paul@crapouillou.net>
0011
0012 properties:
0013 $nodename:
0014 pattern: "^lcd-controller@[0-9a-f]+$"
0015
0016 compatible:
0017 enum:
0018 - ingenic,jz4740-lcd
0019 - ingenic,jz4725b-lcd
0020 - ingenic,jz4770-lcd
0021 - ingenic,jz4780-lcd
0022
0023 reg:
0024 maxItems: 1
0025
0026 interrupts:
0027 maxItems: 1
0028
0029 clocks:
0030 items:
0031 - description: Pixel clock
0032 - description: Module clock
0033 minItems: 1
0034
0035 clock-names:
0036 items:
0037 - const: lcd_pclk
0038 - const: lcd
0039 minItems: 1
0040
0041 port:
0042 $ref: /schemas/graph.yaml#/properties/port
0043
0044 ports:
0045 $ref: /schemas/graph.yaml#/properties/ports
0046
0047 properties:
0048 port@0:
0049 $ref: /schemas/graph.yaml#/properties/port
0050 description: DPI output, to interface with TFT panels.
0051
0052 port@8:
0053 $ref: /schemas/graph.yaml#/properties/port
0054 description: Link to the Image Processing Unit (IPU).
0055 (See ingenic,ipu.yaml).
0056
0057 required:
0058 - port@0
0059
0060 required:
0061 - compatible
0062 - reg
0063 - interrupts
0064 - clocks
0065 - clock-names
0066
0067 if:
0068 properties:
0069 compatible:
0070 contains:
0071 enum:
0072 - ingenic,jz4740-lcd
0073 - ingenic,jz4780-lcd
0074 then:
0075 properties:
0076 clocks:
0077 minItems: 2
0078 clock-names:
0079 minItems: 2
0080 else:
0081 properties:
0082 clocks:
0083 maxItems: 1
0084 clock-names:
0085 maxItems: 1
0086
0087 additionalProperties: false
0088
0089 examples:
0090 - |
0091 #include <dt-bindings/clock/ingenic,jz4740-cgu.h>
0092 lcd-controller@13050000 {
0093 compatible = "ingenic,jz4740-lcd";
0094 reg = <0x13050000 0x1000>;
0095
0096 interrupt-parent = <&intc>;
0097 interrupts = <30>;
0098
0099 clocks = <&cgu JZ4740_CLK_LCD_PCLK>, <&cgu JZ4740_CLK_LCD>;
0100 clock-names = "lcd_pclk", "lcd";
0101
0102 port {
0103 endpoint {
0104 remote-endpoint = <&panel_input>;
0105 };
0106 };
0107 };
0108
0109 - |
0110 #include <dt-bindings/clock/ingenic,jz4725b-cgu.h>
0111 lcd-controller@13050000 {
0112 compatible = "ingenic,jz4725b-lcd";
0113 reg = <0x13050000 0x1000>;
0114
0115 interrupt-parent = <&intc>;
0116 interrupts = <31>;
0117
0118 clocks = <&cgu JZ4725B_CLK_LCD>;
0119 clock-names = "lcd_pclk";
0120
0121 port {
0122 endpoint {
0123 remote-endpoint = <&panel_input>;
0124 };
0125 };
0126 };