cdns,dsi.yaml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/display/bridge/cdns,dsi.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Cadence DSI bridge
  7. maintainers:
  8. - Boris Brezillon <boris.brezillon@bootlin.com>
  9. description: |
  10. CDNS DSI is a bridge device which converts DPI to DSI
  11. properties:
  12. compatible:
  13. enum:
  14. - cdns,dsi
  15. - ti,j721e-dsi
  16. reg:
  17. minItems: 1
  18. items:
  19. - description:
  20. Register block for controller's registers.
  21. - description:
  22. Register block for wrapper settings registers in case of TI J7 SoCs.
  23. clocks:
  24. items:
  25. - description: PSM clock, used by the IP
  26. - description: sys clock, used by the IP
  27. clock-names:
  28. items:
  29. - const: dsi_p_clk
  30. - const: dsi_sys_clk
  31. phys:
  32. maxItems: 1
  33. phy-names:
  34. const: dphy
  35. interrupts:
  36. maxItems: 1
  37. resets:
  38. maxItems: 1
  39. reset-names:
  40. const: dsi_p_rst
  41. ports:
  42. $ref: /schemas/graph.yaml#/properties/ports
  43. properties:
  44. port@0:
  45. $ref: /schemas/graph.yaml#/properties/port
  46. description:
  47. Output port representing the DSI output. It can have
  48. at most 4 endpoints. The endpoint number is directly encoding
  49. the DSI virtual channel used by this device.
  50. port@1:
  51. $ref: /schemas/graph.yaml#/properties/port
  52. description:
  53. Input port representing the DPI input.
  54. required:
  55. - port@1
  56. allOf:
  57. - $ref: ../dsi-controller.yaml#
  58. - if:
  59. properties:
  60. compatible:
  61. contains:
  62. const: ti,j721e-dsi
  63. then:
  64. properties:
  65. reg:
  66. minItems: 2
  67. maxItems: 2
  68. power-domains:
  69. maxItems: 1
  70. else:
  71. properties:
  72. reg:
  73. maxItems: 1
  74. required:
  75. - compatible
  76. - reg
  77. - interrupts
  78. - clocks
  79. - clock-names
  80. - phys
  81. - phy-names
  82. - ports
  83. unevaluatedProperties: false
  84. examples:
  85. - |
  86. bus {
  87. #address-cells = <2>;
  88. #size-cells = <2>;
  89. dsi@fd0c0000 {
  90. compatible = "cdns,dsi";
  91. reg = <0x0 0xfd0c0000 0x0 0x1000>;
  92. clocks = <&pclk>, <&sysclk>;
  93. clock-names = "dsi_p_clk", "dsi_sys_clk";
  94. interrupts = <1>;
  95. phys = <&dphy0>;
  96. phy-names = "dphy";
  97. #address-cells = <1>;
  98. #size-cells = <0>;
  99. ports {
  100. #address-cells = <1>;
  101. #size-cells = <0>;
  102. port@1 {
  103. reg = <1>;
  104. endpoint {
  105. remote-endpoint = <&xxx_dpi_output>;
  106. };
  107. };
  108. };
  109. panel@0 {
  110. compatible = "panasonic,vvx10f034n00";
  111. reg = <0>;
  112. power-supply = <&vcc_lcd_reg>;
  113. };
  114. };
  115. };
  116. - |
  117. bus {
  118. #address-cells = <2>;
  119. #size-cells = <2>;
  120. dsi@fd0c0000 {
  121. compatible = "cdns,dsi";
  122. reg = <0x0 0xfd0c0000 0x0 0x1000>;
  123. clocks = <&pclk>, <&sysclk>;
  124. clock-names = "dsi_p_clk", "dsi_sys_clk";
  125. interrupts = <1>;
  126. phys = <&dphy1>;
  127. phy-names = "dphy";
  128. ports {
  129. #address-cells = <1>;
  130. #size-cells = <0>;
  131. port@0 {
  132. reg = <0>;
  133. #address-cells = <1>;
  134. #size-cells = <0>;
  135. endpoint@0 {
  136. reg = <0>;
  137. remote-endpoint = <&dsi_panel_input>;
  138. };
  139. };
  140. port@1 {
  141. reg = <1>;
  142. endpoint {
  143. remote-endpoint = <&xxx_dpi_output>;
  144. };
  145. };
  146. };
  147. };
  148. };