hdmi.txt 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. Qualcomm adreno/snapdragon hdmi output
  2. Required properties:
  3. - compatible: one of the following
  4. * "qcom,hdmi-tx-8996"
  5. * "qcom,hdmi-tx-8994"
  6. * "qcom,hdmi-tx-8084"
  7. * "qcom,hdmi-tx-8974"
  8. * "qcom,hdmi-tx-8660"
  9. * "qcom,hdmi-tx-8960"
  10. - reg: Physical base address and length of the controller's registers
  11. - reg-names: "core_physical"
  12. - interrupts: The interrupt signal from the hdmi block.
  13. - power-domains: Should be <&mmcc MDSS_GDSC>.
  14. - clocks: device clocks
  15. See ../clocks/clock-bindings.txt for details.
  16. - core-vdda-supply: phandle to supply regulator
  17. - hdmi-mux-supply: phandle to mux regulator
  18. - phys: the phandle for the HDMI PHY device
  19. - phy-names: the name of the corresponding PHY device
  20. Optional properties:
  21. - hpd-gpios: hpd pin
  22. - qcom,hdmi-tx-mux-en-gpios: hdmi mux enable pin
  23. - qcom,hdmi-tx-mux-sel-gpios: hdmi mux select pin
  24. - qcom,hdmi-tx-mux-lpm-gpios: hdmi mux lpm pin
  25. - power-domains: reference to the power domain(s), if available.
  26. - pinctrl-names: the pin control state names; should contain "default"
  27. - pinctrl-0: the default pinctrl state (active)
  28. - pinctrl-1: the "sleep" pinctrl state
  29. HDMI PHY:
  30. Required properties:
  31. - compatible: Could be the following
  32. * "qcom,hdmi-phy-8660"
  33. * "qcom,hdmi-phy-8960"
  34. * "qcom,hdmi-phy-8974"
  35. * "qcom,hdmi-phy-8084"
  36. * "qcom,hdmi-phy-8996"
  37. - #phy-cells: Number of cells in a PHY specifier; Should be 0.
  38. - reg: Physical base address and length of the registers of the PHY sub blocks.
  39. - reg-names: The names of register regions. The following regions are required:
  40. * "hdmi_phy"
  41. * "hdmi_pll"
  42. For HDMI PHY on msm8996, these additional register regions are required:
  43. * "hdmi_tx_l0"
  44. * "hdmi_tx_l1"
  45. * "hdmi_tx_l3"
  46. * "hdmi_tx_l4"
  47. - power-domains: Should be <&mmcc MDSS_GDSC>.
  48. - clocks: device clocks
  49. See Documentation/devicetree/bindings/clocks/clock-bindings.txt for details.
  50. - core-vdda-supply: phandle to vdda regulator device node
  51. Example:
  52. / {
  53. ...
  54. hdmi: hdmi@4a00000 {
  55. compatible = "qcom,hdmi-tx-8960";
  56. reg-names = "core_physical";
  57. reg = <0x04a00000 0x2f0>;
  58. interrupts = <GIC_SPI 79 0>;
  59. power-domains = <&mmcc MDSS_GDSC>;
  60. clock-names =
  61. "core_clk",
  62. "master_iface_clk",
  63. "slave_iface_clk";
  64. clocks =
  65. <&mmcc HDMI_APP_CLK>,
  66. <&mmcc HDMI_M_AHB_CLK>,
  67. <&mmcc HDMI_S_AHB_CLK>;
  68. qcom,hdmi-tx-ddc-clk = <&msmgpio 70 GPIO_ACTIVE_HIGH>;
  69. qcom,hdmi-tx-ddc-data = <&msmgpio 71 GPIO_ACTIVE_HIGH>;
  70. qcom,hdmi-tx-hpd = <&msmgpio 72 GPIO_ACTIVE_HIGH>;
  71. core-vdda-supply = <&pm8921_hdmi_mvs>;
  72. hdmi-mux-supply = <&ext_3p3v>;
  73. pinctrl-names = "default", "sleep";
  74. pinctrl-0 = <&hpd_active &ddc_active &cec_active>;
  75. pinctrl-1 = <&hpd_suspend &ddc_suspend &cec_suspend>;
  76. phys = <&hdmi_phy>;
  77. phy-names = "hdmi_phy";
  78. };
  79. hdmi_phy: phy@4a00400 {
  80. compatible = "qcom,hdmi-phy-8960";
  81. reg-names = "hdmi_phy",
  82. "hdmi_pll";
  83. reg = <0x4a00400 0x60>,
  84. <0x4a00500 0x100>;
  85. #phy-cells = <0>;
  86. power-domains = <&mmcc MDSS_GDSC>;
  87. clock-names = "slave_iface_clk";
  88. clocks = <&mmcc HDMI_S_AHB_CLK>;
  89. core-vdda-supply = <&pm8921_hdmi_mvs>;
  90. };
  91. };