mdp4.txt 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. Qualcomm adreno/snapdragon MDP4 display controller
  2. Description:
  3. This is the bindings documentation for the MDP4 display controller found in
  4. SoCs like MSM8960, APQ8064 and MSM8660.
  5. Required properties:
  6. - compatible:
  7. * "qcom,mdp4" - mdp4
  8. - reg: Physical base address and length of the controller's registers.
  9. - interrupts: The interrupt signal from the display controller.
  10. - clocks: device clocks
  11. See ../clocks/clock-bindings.txt for details.
  12. - clock-names: the following clocks are required.
  13. * "core_clk"
  14. * "iface_clk"
  15. * "bus_clk"
  16. * "lut_clk"
  17. * "hdmi_clk"
  18. * "tv_clk"
  19. - ports: contains the list of output ports from MDP. These connect to interfaces
  20. that are external to the MDP hardware, such as HDMI, DSI, EDP etc (LVDS is a
  21. special case since it is a part of the MDP block itself).
  22. Each output port contains an endpoint that describes how it is connected to an
  23. external interface. These are described by the standard properties documented
  24. here:
  25. Documentation/devicetree/bindings/graph.txt
  26. Documentation/devicetree/bindings/media/video-interfaces.txt
  27. The output port mappings are:
  28. Port 0 -> LCDC/LVDS
  29. Port 1 -> DSI1 Cmd/Video
  30. Port 2 -> DSI2 Cmd/Video
  31. Port 3 -> DTV
  32. Optional properties:
  33. - clock-names: the following clocks are optional:
  34. * "lut_clk"
  35. Example:
  36. / {
  37. ...
  38. hdmi: hdmi@4a00000 {
  39. ...
  40. ports {
  41. ...
  42. port@0 {
  43. reg = <0>;
  44. hdmi_in: endpoint {
  45. remote-endpoint = <&mdp_dtv_out>;
  46. };
  47. };
  48. ...
  49. };
  50. ...
  51. };
  52. ...
  53. mdp: mdp@5100000 {
  54. compatible = "qcom,mdp4";
  55. reg = <0x05100000 0xf0000>;
  56. interrupts = <GIC_SPI 75 0>;
  57. clock-names =
  58. "core_clk",
  59. "iface_clk",
  60. "lut_clk",
  61. "hdmi_clk",
  62. "tv_clk";
  63. clocks =
  64. <&mmcc MDP_CLK>,
  65. <&mmcc MDP_AHB_CLK>,
  66. <&mmcc MDP_AXI_CLK>,
  67. <&mmcc MDP_LUT_CLK>,
  68. <&mmcc HDMI_TV_CLK>,
  69. <&mmcc MDP_TV_CLK>;
  70. ports {
  71. #address-cells = <1>;
  72. #size-cells = <0>;
  73. port@0 {
  74. reg = <0>;
  75. mdp_lvds_out: endpoint {
  76. };
  77. };
  78. port@1 {
  79. reg = <1>;
  80. mdp_dsi1_out: endpoint {
  81. };
  82. };
  83. port@2 {
  84. reg = <2>;
  85. mdp_dsi2_out: endpoint {
  86. };
  87. };
  88. port@3 {
  89. reg = <3>;
  90. mdp_dtv_out: endpoint {
  91. remote-endpoint = <&hdmi_in>;
  92. };
  93. };
  94. };
  95. };
  96. };