ingenic,lcd.yaml 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/display/ingenic,lcd.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Ingenic SoCs LCD controller
  7. maintainers:
  8. - Paul Cercueil <paul@crapouillou.net>
  9. properties:
  10. $nodename:
  11. pattern: "^lcd-controller@[0-9a-f]+$"
  12. compatible:
  13. enum:
  14. - ingenic,jz4740-lcd
  15. - ingenic,jz4725b-lcd
  16. - ingenic,jz4760-lcd
  17. - ingenic,jz4760b-lcd
  18. - ingenic,jz4770-lcd
  19. - ingenic,jz4780-lcd
  20. reg:
  21. maxItems: 1
  22. interrupts:
  23. maxItems: 1
  24. clocks:
  25. items:
  26. - description: Pixel clock
  27. - description: Module clock
  28. minItems: 1
  29. clock-names:
  30. items:
  31. - const: lcd_pclk
  32. - const: lcd
  33. minItems: 1
  34. port:
  35. $ref: /schemas/graph.yaml#/properties/port
  36. ports:
  37. $ref: /schemas/graph.yaml#/properties/ports
  38. properties:
  39. port@0:
  40. $ref: /schemas/graph.yaml#/properties/port
  41. description: DPI output, to interface with TFT panels.
  42. port@8:
  43. $ref: /schemas/graph.yaml#/properties/port
  44. description: Link to the Image Processing Unit (IPU).
  45. (See ingenic,ipu.yaml).
  46. required:
  47. - port@0
  48. required:
  49. - compatible
  50. - reg
  51. - interrupts
  52. - clocks
  53. - clock-names
  54. if:
  55. properties:
  56. compatible:
  57. contains:
  58. enum:
  59. - ingenic,jz4740-lcd
  60. - ingenic,jz4780-lcd
  61. then:
  62. properties:
  63. clocks:
  64. minItems: 2
  65. clock-names:
  66. minItems: 2
  67. else:
  68. properties:
  69. clocks:
  70. maxItems: 1
  71. clock-names:
  72. maxItems: 1
  73. additionalProperties: false
  74. examples:
  75. - |
  76. #include <dt-bindings/clock/ingenic,jz4740-cgu.h>
  77. lcd-controller@13050000 {
  78. compatible = "ingenic,jz4740-lcd";
  79. reg = <0x13050000 0x1000>;
  80. interrupt-parent = <&intc>;
  81. interrupts = <30>;
  82. clocks = <&cgu JZ4740_CLK_LCD_PCLK>, <&cgu JZ4740_CLK_LCD>;
  83. clock-names = "lcd_pclk", "lcd";
  84. port {
  85. endpoint {
  86. remote-endpoint = <&panel_input>;
  87. };
  88. };
  89. };
  90. - |
  91. #include <dt-bindings/clock/ingenic,jz4725b-cgu.h>
  92. lcd-controller@13050000 {
  93. compatible = "ingenic,jz4725b-lcd";
  94. reg = <0x13050000 0x1000>;
  95. interrupt-parent = <&intc>;
  96. interrupts = <31>;
  97. clocks = <&cgu JZ4725B_CLK_LCD>;
  98. clock-names = "lcd_pclk";
  99. port {
  100. endpoint {
  101. remote-endpoint = <&panel_input>;
  102. };
  103. };
  104. };