dsi.txt 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. Qualcomm Technologies Inc. adreno/snapdragon DSI output
  2. DSI Controller:
  3. Required properties:
  4. - compatible:
  5. * "qcom,mdss-dsi-ctrl"
  6. - reg: Physical base address and length of the registers of controller
  7. - reg-names: The names of register regions. The following regions are required:
  8. * "dsi_ctrl"
  9. - qcom,dsi-host-index: The ID of DSI controller hardware instance. This should
  10. be 0 or 1, since we have 2 DSI controllers at most for now.
  11. - interrupts: The interrupt signal from the DSI block.
  12. - power-domains: Should be <&mmcc MDSS_GDSC>.
  13. - clocks: device clocks
  14. See Documentation/devicetree/bindings/clocks/clock-bindings.txt for details.
  15. - clock-names: the following clocks are required:
  16. * "bus_clk"
  17. * "byte_clk"
  18. * "core_clk"
  19. * "core_mmss_clk"
  20. * "iface_clk"
  21. * "mdp_core_clk"
  22. * "pixel_clk"
  23. - vdd-supply: phandle to vdd regulator device node
  24. - vddio-supply: phandle to vdd-io regulator device node
  25. - vdda-supply: phandle to vdda regulator device node
  26. - qcom,dsi-phy: phandle to DSI PHY device node
  27. Optional properties:
  28. - panel@0: Node of panel connected to this DSI controller.
  29. See files in Documentation/devicetree/bindings/display/panel/ for each supported
  30. panel.
  31. - qcom,dual-dsi-mode: Boolean value indicating if the DSI controller is
  32. driving a panel which needs 2 DSI links.
  33. - qcom,master-dsi: Boolean value indicating if the DSI controller is driving
  34. the master link of the 2-DSI panel.
  35. - qcom,sync-dual-dsi: Boolean value indicating if the DSI controller is
  36. driving a 2-DSI panel whose 2 links need receive command simultaneously.
  37. - interrupt-parent: phandle to the MDP block if the interrupt signal is routed
  38. through MDP block
  39. - pinctrl-names: the pin control state names; should contain "default"
  40. - pinctrl-0: the default pinctrl state (active)
  41. - pinctrl-n: the "sleep" pinctrl state
  42. - port: DSI controller output port. This contains one endpoint subnode, with its
  43. remote-endpoint set to the phandle of the connected panel's endpoint.
  44. See Documentation/devicetree/bindings/graph.txt for device graph info.
  45. DSI PHY:
  46. Required properties:
  47. - compatible: Could be the following
  48. * "qcom,dsi-phy-28nm-hpm"
  49. * "qcom,dsi-phy-28nm-lp"
  50. * "qcom,dsi-phy-20nm"
  51. - reg: Physical base address and length of the registers of PLL, PHY and PHY
  52. regulator
  53. - reg-names: The names of register regions. The following regions are required:
  54. * "dsi_pll"
  55. * "dsi_phy"
  56. * "dsi_phy_regulator"
  57. - qcom,dsi-phy-index: The ID of DSI PHY hardware instance. This should
  58. be 0 or 1, since we have 2 DSI PHYs at most for now.
  59. - power-domains: Should be <&mmcc MDSS_GDSC>.
  60. - clocks: device clocks
  61. See Documentation/devicetree/bindings/clocks/clock-bindings.txt for details.
  62. - clock-names: the following clocks are required:
  63. * "iface_clk"
  64. - vddio-supply: phandle to vdd-io regulator device node
  65. Optional properties:
  66. - qcom,dsi-phy-regulator-ldo-mode: Boolean value indicating if the LDO mode PHY
  67. regulator is wanted.
  68. Example:
  69. mdss_dsi0: qcom,mdss_dsi@fd922800 {
  70. compatible = "qcom,mdss-dsi-ctrl";
  71. qcom,dsi-host-index = <0>;
  72. interrupt-parent = <&mdss_mdp>;
  73. interrupts = <4 0>;
  74. reg-names = "dsi_ctrl";
  75. reg = <0xfd922800 0x200>;
  76. power-domains = <&mmcc MDSS_GDSC>;
  77. clock-names =
  78. "bus_clk",
  79. "byte_clk",
  80. "core_clk",
  81. "core_mmss_clk",
  82. "iface_clk",
  83. "mdp_core_clk",
  84. "pixel_clk";
  85. clocks =
  86. <&mmcc MDSS_AXI_CLK>,
  87. <&mmcc MDSS_BYTE0_CLK>,
  88. <&mmcc MDSS_ESC0_CLK>,
  89. <&mmcc MMSS_MISC_AHB_CLK>,
  90. <&mmcc MDSS_AHB_CLK>,
  91. <&mmcc MDSS_MDP_CLK>,
  92. <&mmcc MDSS_PCLK0_CLK>;
  93. vdda-supply = <&pma8084_l2>;
  94. vdd-supply = <&pma8084_l22>;
  95. vddio-supply = <&pma8084_l12>;
  96. qcom,dsi-phy = <&mdss_dsi_phy0>;
  97. qcom,dual-dsi-mode;
  98. qcom,master-dsi;
  99. qcom,sync-dual-dsi;
  100. pinctrl-names = "default", "sleep";
  101. pinctrl-0 = <&mdss_dsi_active>;
  102. pinctrl-1 = <&mdss_dsi_suspend>;
  103. panel: panel@0 {
  104. compatible = "sharp,lq101r1sx01";
  105. reg = <0>;
  106. link2 = <&secondary>;
  107. power-supply = <...>;
  108. backlight = <...>;
  109. port {
  110. panel_in: endpoint {
  111. remote-endpoint = <&dsi0_out>;
  112. };
  113. };
  114. };
  115. port {
  116. dsi0_out: endpoint {
  117. remote-endpoint = <&panel_in>;
  118. };
  119. };
  120. };
  121. mdss_dsi_phy0: qcom,mdss_dsi_phy@fd922a00 {
  122. compatible = "qcom,dsi-phy-28nm-hpm";
  123. qcom,dsi-phy-index = <0>;
  124. reg-names =
  125. "dsi_pll",
  126. "dsi_phy",
  127. "dsi_phy_regulator";
  128. reg = <0xfd922a00 0xd4>,
  129. <0xfd922b00 0x2b0>,
  130. <0xfd922d80 0x7b>;
  131. clock-names = "iface_clk";
  132. clocks = <&mmcc MDSS_AHB_CLK>;
  133. vddio-supply = <&pma8084_l12>;
  134. qcom,dsi-phy-regulator-ldo-mode;
  135. };