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