fsl,imx-lcdc.yaml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/display/imx/fsl,imx-lcdc.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Freescale i.MX LCD Controller, found on i.MX1, i.MX21, i.MX25 and i.MX27
  7. maintainers:
  8. - Sascha Hauer <s.hauer@pengutronix.de>
  9. - Pengutronix Kernel Team <kernel@pengutronix.de>
  10. properties:
  11. compatible:
  12. oneOf:
  13. - enum:
  14. - fsl,imx1-fb
  15. - fsl,imx21-fb
  16. - items:
  17. - enum:
  18. - fsl,imx25-fb
  19. - fsl,imx27-fb
  20. - const: fsl,imx21-fb
  21. - items:
  22. - const: fsl,imx25-lcdc
  23. - const: fsl,imx21-lcdc
  24. clocks:
  25. maxItems: 3
  26. clock-names:
  27. items:
  28. - const: ipg
  29. - const: ahb
  30. - const: per
  31. port:
  32. $ref: /schemas/graph.yaml#/properties/port
  33. display:
  34. $ref: /schemas/types.yaml#/definitions/phandle
  35. interrupts:
  36. maxItems: 1
  37. reg:
  38. maxItems: 1
  39. lcd-supply:
  40. description:
  41. Regulator for LCD supply voltage.
  42. fsl,dmacr:
  43. $ref: /schemas/types.yaml#/definitions/uint32
  44. description:
  45. Override value for DMA Control Register
  46. fsl,lpccr:
  47. $ref: /schemas/types.yaml#/definitions/uint32
  48. description:
  49. Contrast Control Register value.
  50. fsl,lscr1:
  51. $ref: /schemas/types.yaml#/definitions/uint32
  52. description:
  53. LCDC Sharp Configuration Register value.
  54. allOf:
  55. - if:
  56. properties:
  57. compatible:
  58. contains:
  59. enum:
  60. - fsl,imx1-lcdc
  61. - fsl,imx21-lcdc
  62. then:
  63. properties:
  64. display: false
  65. fsl,dmacr: false
  66. fsl,lpccr: false
  67. fsl,lscr1: false
  68. required:
  69. - port
  70. else:
  71. properties:
  72. port: false
  73. required:
  74. - display
  75. required:
  76. - compatible
  77. - clocks
  78. - clock-names
  79. - interrupts
  80. - reg
  81. additionalProperties: false
  82. examples:
  83. - |
  84. lcdc@53fbc000 {
  85. compatible = "fsl,imx25-lcdc", "fsl,imx21-lcdc";
  86. reg = <0x53fbc000 0x4000>;
  87. interrupts = <39>;
  88. clocks = <&clks 103>, <&clks 66>, <&clks 49>;
  89. clock-names = "ipg", "ahb", "per";
  90. port {
  91. parallel_out: endpoint {
  92. remote-endpoint = <&panel_in>;
  93. };
  94. };
  95. };
  96. - |
  97. imxfb: fb@10021000 {
  98. compatible = "fsl,imx21-fb";
  99. interrupts = <61>;
  100. reg = <0x10021000 0x1000>;
  101. display = <&display0>;
  102. clocks = <&clks 103>, <&clks 49>, <&clks 66>;
  103. clock-names = "ipg", "ahb", "per";
  104. };
  105. display0: display0 {
  106. model = "Primeview-PD050VL1";
  107. bits-per-pixel = <16>;
  108. fsl,pcr = <0xf0c88080>; /* non-standard but required */
  109. display-timings {
  110. native-mode = <&timing_disp0>;
  111. timing_disp0: timing0 {
  112. hactive = <640>;
  113. vactive = <480>;
  114. hback-porch = <112>;
  115. hfront-porch = <36>;
  116. hsync-len = <32>;
  117. vback-porch = <33>;
  118. vfront-porch = <33>;
  119. vsync-len = <2>;
  120. clock-frequency = <25000000>;
  121. };
  122. };
  123. };