st,stm32-ltdc.yaml 2.6 KB

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