18c2ecf20Sopenharmony_ciQualcomm adreno/snapdragon hdmi output
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciRequired properties:
48c2ecf20Sopenharmony_ci- compatible: one of the following
58c2ecf20Sopenharmony_ci   * "qcom,hdmi-tx-8996"
68c2ecf20Sopenharmony_ci   * "qcom,hdmi-tx-8994"
78c2ecf20Sopenharmony_ci   * "qcom,hdmi-tx-8084"
88c2ecf20Sopenharmony_ci   * "qcom,hdmi-tx-8974"
98c2ecf20Sopenharmony_ci   * "qcom,hdmi-tx-8660"
108c2ecf20Sopenharmony_ci   * "qcom,hdmi-tx-8960"
118c2ecf20Sopenharmony_ci- reg: Physical base address and length of the controller's registers
128c2ecf20Sopenharmony_ci- reg-names: "core_physical"
138c2ecf20Sopenharmony_ci- interrupts: The interrupt signal from the hdmi block.
148c2ecf20Sopenharmony_ci- power-domains: Should be <&mmcc MDSS_GDSC>.
158c2ecf20Sopenharmony_ci- clocks: device clocks
168c2ecf20Sopenharmony_ci  See ../clocks/clock-bindings.txt for details.
178c2ecf20Sopenharmony_ci- core-vdda-supply: phandle to supply regulator
188c2ecf20Sopenharmony_ci- hdmi-mux-supply: phandle to mux regulator
198c2ecf20Sopenharmony_ci- phys: the phandle for the HDMI PHY device
208c2ecf20Sopenharmony_ci- phy-names: the name of the corresponding PHY device
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciOptional properties:
238c2ecf20Sopenharmony_ci- hpd-gpios: hpd pin
248c2ecf20Sopenharmony_ci- qcom,hdmi-tx-mux-en-gpios: hdmi mux enable pin
258c2ecf20Sopenharmony_ci- qcom,hdmi-tx-mux-sel-gpios: hdmi mux select pin
268c2ecf20Sopenharmony_ci- qcom,hdmi-tx-mux-lpm-gpios: hdmi mux lpm pin
278c2ecf20Sopenharmony_ci- power-domains: reference to the power domain(s), if available.
288c2ecf20Sopenharmony_ci- pinctrl-names: the pin control state names; should contain "default"
298c2ecf20Sopenharmony_ci- pinctrl-0: the default pinctrl state (active)
308c2ecf20Sopenharmony_ci- pinctrl-1: the "sleep" pinctrl state
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ciHDMI PHY:
338c2ecf20Sopenharmony_ciRequired properties:
348c2ecf20Sopenharmony_ci- compatible: Could be the following
358c2ecf20Sopenharmony_ci  * "qcom,hdmi-phy-8660"
368c2ecf20Sopenharmony_ci  * "qcom,hdmi-phy-8960"
378c2ecf20Sopenharmony_ci  * "qcom,hdmi-phy-8974"
388c2ecf20Sopenharmony_ci  * "qcom,hdmi-phy-8084"
398c2ecf20Sopenharmony_ci  * "qcom,hdmi-phy-8996"
408c2ecf20Sopenharmony_ci- #phy-cells: Number of cells in a PHY specifier; Should be 0.
418c2ecf20Sopenharmony_ci- reg: Physical base address and length of the registers of the PHY sub blocks.
428c2ecf20Sopenharmony_ci- reg-names: The names of register regions. The following regions are required:
438c2ecf20Sopenharmony_ci  * "hdmi_phy"
448c2ecf20Sopenharmony_ci  * "hdmi_pll"
458c2ecf20Sopenharmony_ci  For HDMI PHY on msm8996, these additional register regions are required:
468c2ecf20Sopenharmony_ci    * "hdmi_tx_l0"
478c2ecf20Sopenharmony_ci    * "hdmi_tx_l1"
488c2ecf20Sopenharmony_ci    * "hdmi_tx_l3"
498c2ecf20Sopenharmony_ci    * "hdmi_tx_l4"
508c2ecf20Sopenharmony_ci- power-domains: Should be <&mmcc MDSS_GDSC>.
518c2ecf20Sopenharmony_ci- clocks: device clocks
528c2ecf20Sopenharmony_ci  See Documentation/devicetree/bindings/clock/clock-bindings.txt for details.
538c2ecf20Sopenharmony_ci- core-vdda-supply: phandle to vdda regulator device node
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ciExample:
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci/ {
588c2ecf20Sopenharmony_ci	...
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci	hdmi: hdmi@4a00000 {
618c2ecf20Sopenharmony_ci		compatible = "qcom,hdmi-tx-8960";
628c2ecf20Sopenharmony_ci		reg-names = "core_physical";
638c2ecf20Sopenharmony_ci		reg = <0x04a00000 0x2f0>;
648c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 79 0>;
658c2ecf20Sopenharmony_ci		power-domains = <&mmcc MDSS_GDSC>;
668c2ecf20Sopenharmony_ci		clock-names =
678c2ecf20Sopenharmony_ci		    "core",
688c2ecf20Sopenharmony_ci		    "master_iface",
698c2ecf20Sopenharmony_ci		    "slave_iface";
708c2ecf20Sopenharmony_ci		clocks =
718c2ecf20Sopenharmony_ci		    <&mmcc HDMI_APP_CLK>,
728c2ecf20Sopenharmony_ci		    <&mmcc HDMI_M_AHB_CLK>,
738c2ecf20Sopenharmony_ci		    <&mmcc HDMI_S_AHB_CLK>;
748c2ecf20Sopenharmony_ci		qcom,hdmi-tx-ddc-clk = <&msmgpio 70 GPIO_ACTIVE_HIGH>;
758c2ecf20Sopenharmony_ci		qcom,hdmi-tx-ddc-data = <&msmgpio 71 GPIO_ACTIVE_HIGH>;
768c2ecf20Sopenharmony_ci		qcom,hdmi-tx-hpd = <&msmgpio 72 GPIO_ACTIVE_HIGH>;
778c2ecf20Sopenharmony_ci		core-vdda-supply = <&pm8921_hdmi_mvs>;
788c2ecf20Sopenharmony_ci		hdmi-mux-supply = <&ext_3p3v>;
798c2ecf20Sopenharmony_ci		pinctrl-names = "default", "sleep";
808c2ecf20Sopenharmony_ci		pinctrl-0 = <&hpd_active  &ddc_active  &cec_active>;
818c2ecf20Sopenharmony_ci		pinctrl-1 = <&hpd_suspend &ddc_suspend &cec_suspend>;
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci		phys = <&hdmi_phy>;
848c2ecf20Sopenharmony_ci		phy-names = "hdmi_phy";
858c2ecf20Sopenharmony_ci	};
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci	hdmi_phy: phy@4a00400 {
888c2ecf20Sopenharmony_ci		compatible = "qcom,hdmi-phy-8960";
898c2ecf20Sopenharmony_ci		reg-names = "hdmi_phy",
908c2ecf20Sopenharmony_ci			    "hdmi_pll";
918c2ecf20Sopenharmony_ci		reg = <0x4a00400 0x60>,
928c2ecf20Sopenharmony_ci		      <0x4a00500 0x100>;
938c2ecf20Sopenharmony_ci		#phy-cells = <0>;
948c2ecf20Sopenharmony_ci		power-domains = <&mmcc MDSS_GDSC>;
958c2ecf20Sopenharmony_ci		clock-names = "slave_iface";
968c2ecf20Sopenharmony_ci		clocks = <&mmcc HDMI_S_AHB_CLK>;
978c2ecf20Sopenharmony_ci		core-vdda-supply = <&pm8921_hdmi_mvs>;
988c2ecf20Sopenharmony_ci	};
998c2ecf20Sopenharmony_ci};
100