mediatek,dsi.yaml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/display/mediatek/mediatek,dsi.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: MediaTek DSI Controller
  7. maintainers:
  8. - Chun-Kuang Hu <chunkuang.hu@kernel.org>
  9. - Philipp Zabel <p.zabel@pengutronix.de>
  10. - Jitao Shi <jitao.shi@mediatek.com>
  11. description: |
  12. The MediaTek DSI function block is a sink of the display subsystem and can
  13. drive up to 4-lane MIPI DSI output. Two DSIs can be synchronized for dual-
  14. channel output.
  15. allOf:
  16. - $ref: /schemas/display/dsi-controller.yaml#
  17. properties:
  18. compatible:
  19. oneOf:
  20. - enum:
  21. - mediatek,mt2701-dsi
  22. - mediatek,mt7623-dsi
  23. - mediatek,mt8167-dsi
  24. - mediatek,mt8173-dsi
  25. - mediatek,mt8183-dsi
  26. - mediatek,mt8186-dsi
  27. - mediatek,mt8188-dsi
  28. - items:
  29. - enum:
  30. - mediatek,mt6795-dsi
  31. - const: mediatek,mt8173-dsi
  32. - items:
  33. - enum:
  34. - mediatek,mt8195-dsi
  35. - mediatek,mt8365-dsi
  36. - const: mediatek,mt8183-dsi
  37. reg:
  38. maxItems: 1
  39. interrupts:
  40. maxItems: 1
  41. power-domains:
  42. maxItems: 1
  43. clocks:
  44. items:
  45. - description: Engine Clock
  46. - description: Digital Clock
  47. - description: HS Clock
  48. clock-names:
  49. items:
  50. - const: engine
  51. - const: digital
  52. - const: hs
  53. resets:
  54. maxItems: 1
  55. phys:
  56. maxItems: 1
  57. phy-names:
  58. items:
  59. - const: dphy
  60. port:
  61. $ref: /schemas/graph.yaml#/properties/port
  62. description:
  63. Output port node. This port should be connected to the input
  64. port of an attached DSI panel or DSI-to-eDP encoder chip.
  65. ports:
  66. $ref: /schemas/graph.yaml#/properties/ports
  67. description:
  68. Input ports can have multiple endpoints, each of those connects
  69. to either the primary, secondary, etc, display pipeline.
  70. properties:
  71. port@0:
  72. $ref: /schemas/graph.yaml#/properties/port
  73. description: DSI input port, usually from DITHER, DSC or MERGE
  74. port@1:
  75. $ref: /schemas/graph.yaml#/properties/port
  76. description:
  77. DSI output to an attached DSI panel, or a DSI-to-X encoder chip
  78. required:
  79. - port@0
  80. - port@1
  81. required:
  82. - compatible
  83. - reg
  84. - interrupts
  85. - power-domains
  86. - clocks
  87. - clock-names
  88. - phys
  89. - phy-names
  90. oneOf:
  91. - required:
  92. - port
  93. - required:
  94. - ports
  95. unevaluatedProperties: false
  96. examples:
  97. - |
  98. #include <dt-bindings/clock/mt8183-clk.h>
  99. #include <dt-bindings/interrupt-controller/arm-gic.h>
  100. #include <dt-bindings/interrupt-controller/irq.h>
  101. #include <dt-bindings/power/mt8183-power.h>
  102. #include <dt-bindings/phy/phy.h>
  103. #include <dt-bindings/reset/mt8183-resets.h>
  104. soc {
  105. #address-cells = <2>;
  106. #size-cells = <2>;
  107. dsi0: dsi@14014000 {
  108. compatible = "mediatek,mt8183-dsi";
  109. reg = <0 0x14014000 0 0x1000>;
  110. interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_LOW>;
  111. power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
  112. clocks = <&mmsys CLK_MM_DSI0_MM>,
  113. <&mmsys CLK_MM_DSI0_IF>,
  114. <&mipi_tx0>;
  115. clock-names = "engine", "digital", "hs";
  116. resets = <&mmsys MT8183_MMSYS_SW0_RST_B_DISP_DSI0>;
  117. phys = <&mipi_tx0>;
  118. phy-names = "dphy";
  119. port {
  120. dsi0_out: endpoint {
  121. remote-endpoint = <&panel_in>;
  122. };
  123. };
  124. };
  125. };
  126. ...