dsi.txt 4.4 KB
Newer Older
1 2
Qualcomm Technologies Inc. adreno/snapdragon DSI output

3
DSI Controller:
4 5 6
Required properties:
- compatible:
  * "qcom,mdss-dsi-ctrl"
7
- reg: Physical base address and length of the registers of controller
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
- reg-names: The names of register regions. The following regions are required:
  * "dsi_ctrl"
- qcom,dsi-host-index: The ID of DSI controller hardware instance. This should
  be 0 or 1, since we have 2 DSI controllers at most for now.
- interrupts: The interrupt signal from the DSI block.
- power-domains: Should be <&mmcc MDSS_GDSC>.
- clocks: device clocks
  See Documentation/devicetree/bindings/clocks/clock-bindings.txt for details.
- clock-names: the following clocks are required:
  * "bus_clk"
  * "byte_clk"
  * "core_clk"
  * "core_mmss_clk"
  * "iface_clk"
  * "mdp_core_clk"
  * "pixel_clk"
- vdd-supply: phandle to vdd regulator device node
- vddio-supply: phandle to vdd-io regulator device node
- vdda-supply: phandle to vdda regulator device node
27
- qcom,dsi-phy: phandle to DSI PHY device node
28 29 30

Optional properties:
- panel@0: Node of panel connected to this DSI controller.
31
  See files in Documentation/devicetree/bindings/display/panel/ for each supported
32
  panel.
33
- qcom,dual-dsi-mode: Boolean value indicating if the DSI controller is
34
  driving a panel which needs 2 DSI links.
35
- qcom,master-dsi: Boolean value indicating if the DSI controller is driving
36
  the master link of the 2-DSI panel.
37
- qcom,sync-dual-dsi: Boolean value indicating if the DSI controller is
38 39 40
  driving a 2-DSI panel whose 2 links need receive command simultaneously.
- interrupt-parent: phandle to the MDP block if the interrupt signal is routed
  through MDP block
H
Hai Li 已提交
41 42 43
- pinctrl-names: the pin control state names; should contain "default"
- pinctrl-0: the default pinctrl state (active)
- pinctrl-n: the "sleep" pinctrl state
44 45 46
- port: DSI controller output port. This contains one endpoint subnode, with its
  remote-endpoint set to the phandle of the connected panel's endpoint.
  See Documentation/devicetree/bindings/graph.txt for device graph info.
47

48 49 50 51 52
DSI PHY:
Required properties:
- compatible: Could be the following
  * "qcom,dsi-phy-28nm-hpm"
  * "qcom,dsi-phy-28nm-lp"
H
Hai Li 已提交
53
  * "qcom,dsi-phy-20nm"
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
- reg: Physical base address and length of the registers of PLL, PHY and PHY
  regulator
- reg-names: The names of register regions. The following regions are required:
  * "dsi_pll"
  * "dsi_phy"
  * "dsi_phy_regulator"
- qcom,dsi-phy-index: The ID of DSI PHY hardware instance. This should
  be 0 or 1, since we have 2 DSI PHYs at most for now.
- power-domains: Should be <&mmcc MDSS_GDSC>.
- clocks: device clocks
  See Documentation/devicetree/bindings/clocks/clock-bindings.txt for details.
- clock-names: the following clocks are required:
  * "iface_clk"
- vddio-supply: phandle to vdd-io regulator device node

H
Hai Li 已提交
69 70 71 72
Optional properties:
- qcom,dsi-phy-regulator-ldo-mode: Boolean value indicating if the LDO mode PHY
  regulator is wanted.

73 74 75 76 77 78
Example:
	mdss_dsi0: qcom,mdss_dsi@fd922800 {
		compatible = "qcom,mdss-dsi-ctrl";
		qcom,dsi-host-index = <0>;
		interrupt-parent = <&mdss_mdp>;
		interrupts = <4 0>;
79 80
		reg-names = "dsi_ctrl";
		reg = <0xfd922800 0x200>;
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
		power-domains = <&mmcc MDSS_GDSC>;
		clock-names =
			"bus_clk",
			"byte_clk",
			"core_clk",
			"core_mmss_clk",
			"iface_clk",
			"mdp_core_clk",
			"pixel_clk";
		clocks =
			<&mmcc MDSS_AXI_CLK>,
			<&mmcc MDSS_BYTE0_CLK>,
			<&mmcc MDSS_ESC0_CLK>,
			<&mmcc MMSS_MISC_AHB_CLK>,
			<&mmcc MDSS_AHB_CLK>,
			<&mmcc MDSS_MDP_CLK>,
			<&mmcc MDSS_PCLK0_CLK>;
		vdda-supply = <&pma8084_l2>;
		vdd-supply = <&pma8084_l22>;
		vddio-supply = <&pma8084_l12>;

102 103
		qcom,dsi-phy = <&mdss_dsi_phy0>;

104 105 106
		qcom,dual-dsi-mode;
		qcom,master-dsi;
		qcom,sync-dual-dsi;
107

H
Hai Li 已提交
108 109 110 111
		pinctrl-names = "default", "sleep";
		pinctrl-0 = <&mdss_dsi_active>;
		pinctrl-1 = <&mdss_dsi_suspend>;

112 113 114 115 116 117 118
		panel: panel@0 {
			compatible = "sharp,lq101r1sx01";
			reg = <0>;
			link2 = <&secondary>;

			power-supply = <...>;
			backlight = <...>;
119 120 121 122 123 124 125 126 127 128 129 130

			port {
				panel_in: endpoint {
					remote-endpoint = <&dsi0_out>;
				};
			};
		};

		port {
			dsi0_out: endpoint {
				remote-endpoint = <&panel_in>;
			};
131 132
		};
	};
133 134 135 136 137 138 139 140 141 142 143 144 145 146

	mdss_dsi_phy0: qcom,mdss_dsi_phy@fd922a00 {
		compatible = "qcom,dsi-phy-28nm-hpm";
		qcom,dsi-phy-index = <0>;
		reg-names =
			"dsi_pll",
			"dsi_phy",
			"dsi_phy_regulator";
		reg =   <0xfd922a00 0xd4>,
			<0xfd922b00 0x2b0>,
			<0xfd922d80 0x7b>;
		clock-names = "iface_clk";
		clocks = <&mmcc MDSS_AHB_CLK>;
		vddio-supply = <&pma8084_l12>;
H
Hai Li 已提交
147 148

		qcom,dsi-phy-regulator-ldo-mode;
149
	};