Back to home page

OSCL-LXR

 
 

    


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     };