6db4831e98
Android 14
100 lines
3 KiB
Plaintext
100 lines
3 KiB
Plaintext
Qualcomm adreno/snapdragon hdmi output
|
|
|
|
Required properties:
|
|
- compatible: one of the following
|
|
* "qcom,hdmi-tx-8996"
|
|
* "qcom,hdmi-tx-8994"
|
|
* "qcom,hdmi-tx-8084"
|
|
* "qcom,hdmi-tx-8974"
|
|
* "qcom,hdmi-tx-8660"
|
|
* "qcom,hdmi-tx-8960"
|
|
- reg: Physical base address and length of the controller's registers
|
|
- reg-names: "core_physical"
|
|
- interrupts: The interrupt signal from the hdmi block.
|
|
- power-domains: Should be <&mmcc MDSS_GDSC>.
|
|
- clocks: device clocks
|
|
See ../clocks/clock-bindings.txt for details.
|
|
- core-vdda-supply: phandle to supply regulator
|
|
- hdmi-mux-supply: phandle to mux regulator
|
|
- phys: the phandle for the HDMI PHY device
|
|
- phy-names: the name of the corresponding PHY device
|
|
|
|
Optional properties:
|
|
- hpd-gpios: hpd pin
|
|
- qcom,hdmi-tx-mux-en-gpios: hdmi mux enable pin
|
|
- qcom,hdmi-tx-mux-sel-gpios: hdmi mux select pin
|
|
- qcom,hdmi-tx-mux-lpm-gpios: hdmi mux lpm pin
|
|
- power-domains: reference to the power domain(s), if available.
|
|
- pinctrl-names: the pin control state names; should contain "default"
|
|
- pinctrl-0: the default pinctrl state (active)
|
|
- pinctrl-1: the "sleep" pinctrl state
|
|
|
|
HDMI PHY:
|
|
Required properties:
|
|
- compatible: Could be the following
|
|
* "qcom,hdmi-phy-8660"
|
|
* "qcom,hdmi-phy-8960"
|
|
* "qcom,hdmi-phy-8974"
|
|
* "qcom,hdmi-phy-8084"
|
|
* "qcom,hdmi-phy-8996"
|
|
- #phy-cells: Number of cells in a PHY specifier; Should be 0.
|
|
- reg: Physical base address and length of the registers of the PHY sub blocks.
|
|
- reg-names: The names of register regions. The following regions are required:
|
|
* "hdmi_phy"
|
|
* "hdmi_pll"
|
|
For HDMI PHY on msm8996, these additional register regions are required:
|
|
* "hdmi_tx_l0"
|
|
* "hdmi_tx_l1"
|
|
* "hdmi_tx_l3"
|
|
* "hdmi_tx_l4"
|
|
- power-domains: Should be <&mmcc MDSS_GDSC>.
|
|
- clocks: device clocks
|
|
See Documentation/devicetree/bindings/clock/clock-bindings.txt for details.
|
|
- core-vdda-supply: phandle to vdda regulator device node
|
|
|
|
Example:
|
|
|
|
/ {
|
|
...
|
|
|
|
hdmi: hdmi@4a00000 {
|
|
compatible = "qcom,hdmi-tx-8960";
|
|
reg-names = "core_physical";
|
|
reg = <0x04a00000 0x2f0>;
|
|
interrupts = <GIC_SPI 79 0>;
|
|
power-domains = <&mmcc MDSS_GDSC>;
|
|
clock-names =
|
|
"core",
|
|
"master_iface",
|
|
"slave_iface";
|
|
clocks =
|
|
<&mmcc HDMI_APP_CLK>,
|
|
<&mmcc HDMI_M_AHB_CLK>,
|
|
<&mmcc HDMI_S_AHB_CLK>;
|
|
qcom,hdmi-tx-ddc-clk = <&msmgpio 70 GPIO_ACTIVE_HIGH>;
|
|
qcom,hdmi-tx-ddc-data = <&msmgpio 71 GPIO_ACTIVE_HIGH>;
|
|
qcom,hdmi-tx-hpd = <&msmgpio 72 GPIO_ACTIVE_HIGH>;
|
|
core-vdda-supply = <&pm8921_hdmi_mvs>;
|
|
hdmi-mux-supply = <&ext_3p3v>;
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&hpd_active &ddc_active &cec_active>;
|
|
pinctrl-1 = <&hpd_suspend &ddc_suspend &cec_suspend>;
|
|
|
|
phys = <&hdmi_phy>;
|
|
phy-names = "hdmi_phy";
|
|
};
|
|
|
|
hdmi_phy: phy@4a00400 {
|
|
compatible = "qcom,hdmi-phy-8960";
|
|
reg-names = "hdmi_phy",
|
|
"hdmi_pll";
|
|
reg = <0x4a00400 0x60>,
|
|
<0x4a00500 0x100>;
|
|
#phy-cells = <0>;
|
|
power-domains = <&mmcc MDSS_GDSC>;
|
|
clock-names = "slave_iface";
|
|
clocks = <&mmcc HDMI_S_AHB_CLK>;
|
|
core-vdda-supply = <&pm8921_hdmi_mvs>;
|
|
};
|
|
};
|