1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/display/st,stm32-ltdc.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: STMicroelectronics STM32 lcd-tft display controller 8 9maintainers: 10 - Philippe Cornu <philippe.cornu@foss.st.com> 11 - Yannick Fertre <yannick.fertre@foss.st.com> 12 13properties: 14 compatible: 15 enum: 16 - st,stm32-ltdc 17 - st,stm32mp251-ltdc 18 - st,stm32mp255-ltdc 19 20 reg: 21 maxItems: 1 22 23 interrupts: 24 items: 25 - description: events interrupt line. 26 - description: errors interrupt line. 27 minItems: 1 28 29 clocks: 30 minItems: 1 31 maxItems: 4 32 33 clock-names: 34 items: 35 - const: lcd 36 - const: bus 37 - const: ref 38 - const: lvds 39 minItems: 1 40 41 resets: 42 maxItems: 1 43 44 access-controllers: 45 maxItems: 1 46 47 port: 48 $ref: /schemas/graph.yaml#/properties/port 49 description: | 50 Video port for DPI RGB output. 51 ltdc has one video port with up to 2 endpoints: 52 - for external dpi rgb panel or bridge, using gpios. 53 - for internal dpi input of the MIPI DSI host controller. 54 Note: These 2 endpoints cannot be activated simultaneously. 55 56required: 57 - compatible 58 - reg 59 - interrupts 60 - clocks 61 - clock-names 62 - resets 63 - port 64 65allOf: 66 - if: 67 properties: 68 compatible: 69 contains: 70 enum: 71 - st,stm32-ltdc 72 then: 73 properties: 74 clocks: 75 maxItems: 1 76 clock-names: 77 maxItems: 1 78 - if: 79 properties: 80 compatible: 81 contains: 82 enum: 83 - st,stm32mp251-ltdc 84 then: 85 properties: 86 clocks: 87 minItems: 2 88 maxItems: 2 89 clock-names: 90 minItems: 2 91 maxItems: 2 92 - if: 93 properties: 94 compatible: 95 contains: 96 enum: 97 - st,stm32mp255-ltdc 98 then: 99 properties: 100 clocks: 101 minItems: 4 102 clock-names: 103 minItems: 4 104 105additionalProperties: false 106 107examples: 108 - | 109 #include <dt-bindings/interrupt-controller/arm-gic.h> 110 #include <dt-bindings/clock/stm32mp1-clks.h> 111 #include <dt-bindings/reset/stm32mp1-resets.h> 112 ltdc: display-controller@40016800 { 113 compatible = "st,stm32-ltdc"; 114 reg = <0x5a001000 0x400>; 115 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>, 116 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 117 clocks = <&rcc LTDC_PX>; 118 clock-names = "lcd"; 119 resets = <&rcc LTDC_R>; 120 121 port { 122 ltdc_out_dsi: endpoint { 123 remote-endpoint = <&dsi_in>; 124 }; 125 }; 126 }; 127 128... 129