2015-04-15 20:24:37 +00:00
|
|
|
Qualcomm Technologies Inc. adreno/snapdragon DSI output
|
|
|
|
|
2015-05-15 17:04:06 +00:00
|
|
|
DSI Controller:
|
2015-04-15 20:24:37 +00:00
|
|
|
Required properties:
|
|
|
|
- compatible:
|
|
|
|
* "qcom,mdss-dsi-ctrl"
|
2015-05-15 17:04:06 +00:00
|
|
|
- reg: Physical base address and length of the registers of controller
|
2015-04-15 20:24:37 +00:00
|
|
|
- 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:
|
2015-12-01 06:09:59 +00:00
|
|
|
* "mdp_core_clk"
|
|
|
|
* "iface_clk"
|
2015-04-15 20:24:37 +00:00
|
|
|
* "bus_clk"
|
|
|
|
* "core_mmss_clk"
|
2015-12-01 06:09:59 +00:00
|
|
|
* "byte_clk"
|
2015-04-15 20:24:37 +00:00
|
|
|
* "pixel_clk"
|
2015-12-01 06:09:59 +00:00
|
|
|
* "core_clk"
|
2015-12-01 06:18:15 +00:00
|
|
|
For DSIv2, we need an additional clock:
|
|
|
|
* "src_clk"
|
2015-04-15 20:24:37 +00:00
|
|
|
- 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
|
2015-05-15 17:04:06 +00:00
|
|
|
- qcom,dsi-phy: phandle to DSI PHY device node
|
2015-12-01 06:18:15 +00:00
|
|
|
- syscon-sfpb: A phandle to mmss_sfpb syscon node (only for DSIv2)
|
2015-04-15 20:24:37 +00:00
|
|
|
|
|
|
|
Optional properties:
|
|
|
|
- panel@0: Node of panel connected to this DSI controller.
|
2015-09-21 15:51:09 +00:00
|
|
|
See files in Documentation/devicetree/bindings/display/panel/ for each supported
|
2015-04-15 20:24:37 +00:00
|
|
|
panel.
|
2015-06-10 17:18:18 +00:00
|
|
|
- qcom,dual-dsi-mode: Boolean value indicating if the DSI controller is
|
2015-04-15 20:24:37 +00:00
|
|
|
driving a panel which needs 2 DSI links.
|
2015-06-10 17:18:18 +00:00
|
|
|
- qcom,master-dsi: Boolean value indicating if the DSI controller is driving
|
2015-04-15 20:24:37 +00:00
|
|
|
the master link of the 2-DSI panel.
|
2015-06-10 17:18:18 +00:00
|
|
|
- qcom,sync-dual-dsi: Boolean value indicating if the DSI controller is
|
2015-04-15 20:24:37 +00:00
|
|
|
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
|
2015-06-11 14:56:46 +00:00
|
|
|
- pinctrl-names: the pin control state names; should contain "default"
|
|
|
|
- pinctrl-0: the default pinctrl state (active)
|
|
|
|
- pinctrl-n: the "sleep" pinctrl state
|
2016-02-25 05:49:48 +00:00
|
|
|
- port: DSI controller output port, containing one endpoint subnode.
|
|
|
|
|
|
|
|
DSI Endpoint properties:
|
|
|
|
- remote-endpoint: set to phandle of the connected panel's endpoint.
|
|
|
|
See Documentation/devicetree/bindings/graph.txt for device graph info.
|
|
|
|
- qcom,data-lane-map: this describes how the logical DSI lanes are mapped
|
|
|
|
to the physical lanes on the given platform. The value contained in
|
|
|
|
index n describes what logical data lane is mapped to the physical data
|
|
|
|
lane n (DATAn, where n lies between 0 and 3).
|
|
|
|
|
|
|
|
For example:
|
|
|
|
|
|
|
|
qcom,data-lane-map = <3 0 1 2>;
|
|
|
|
|
|
|
|
The above mapping describes that the logical data lane DATA3 is mapped to
|
|
|
|
the physical data lane DATA0, logical DATA0 to physical DATA1, logic DATA1
|
|
|
|
to phys DATA2 and logic DATA2 to phys DATA3.
|
|
|
|
|
|
|
|
There are only a limited number of physical to logical mappings possible:
|
|
|
|
|
|
|
|
"0123": Logic 0->Phys 0; Logic 1->Phys 1; Logic 2->Phys 2; Logic 3->Phys 3;
|
|
|
|
"3012": Logic 3->Phys 0; Logic 0->Phys 1; Logic 1->Phys 2; Logic 2->Phys 3;
|
|
|
|
"2301": Logic 2->Phys 0; Logic 3->Phys 1; Logic 0->Phys 2; Logic 1->Phys 3;
|
|
|
|
"1230": Logic 1->Phys 0; Logic 2->Phys 1; Logic 3->Phys 2; Logic 0->Phys 3;
|
|
|
|
"0321": Logic 0->Phys 0; Logic 3->Phys 1; Logic 2->Phys 2; Logic 1->Phys 3;
|
|
|
|
"1032": Logic 1->Phys 0; Logic 0->Phys 1; Logic 3->Phys 2; Logic 2->Phys 3;
|
|
|
|
"2103": Logic 2->Phys 0; Logic 1->Phys 1; Logic 0->Phys 2; Logic 3->Phys 3;
|
|
|
|
"3210": Logic 3->Phys 0; Logic 2->Phys 1; Logic 1->Phys 2; Logic 0->Phys 3;
|
2015-04-15 20:24:37 +00:00
|
|
|
|
2015-05-15 17:04:06 +00:00
|
|
|
DSI PHY:
|
|
|
|
Required properties:
|
|
|
|
- compatible: Could be the following
|
|
|
|
* "qcom,dsi-phy-28nm-hpm"
|
|
|
|
* "qcom,dsi-phy-28nm-lp"
|
2015-06-18 14:14:21 +00:00
|
|
|
* "qcom,dsi-phy-20nm"
|
2015-12-01 06:18:15 +00:00
|
|
|
* "qcom,dsi-phy-28nm-8960"
|
2015-05-15 17:04:06 +00:00
|
|
|
- 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
|
|
|
|
|
2015-06-18 14:14:21 +00:00
|
|
|
Optional properties:
|
|
|
|
- qcom,dsi-phy-regulator-ldo-mode: Boolean value indicating if the LDO mode PHY
|
|
|
|
regulator is wanted.
|
|
|
|
|
2015-04-15 20:24:37 +00:00
|
|
|
Example:
|
|
|
|
mdss_dsi0: qcom,mdss_dsi@fd922800 {
|
|
|
|
compatible = "qcom,mdss-dsi-ctrl";
|
|
|
|
qcom,dsi-host-index = <0>;
|
|
|
|
interrupt-parent = <&mdss_mdp>;
|
|
|
|
interrupts = <4 0>;
|
2015-05-15 17:04:06 +00:00
|
|
|
reg-names = "dsi_ctrl";
|
|
|
|
reg = <0xfd922800 0x200>;
|
2015-04-15 20:24:37 +00:00
|
|
|
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>;
|
|
|
|
|
2015-05-15 17:04:06 +00:00
|
|
|
qcom,dsi-phy = <&mdss_dsi_phy0>;
|
|
|
|
|
2015-06-10 17:18:18 +00:00
|
|
|
qcom,dual-dsi-mode;
|
|
|
|
qcom,master-dsi;
|
|
|
|
qcom,sync-dual-dsi;
|
2015-04-15 20:24:37 +00:00
|
|
|
|
2015-06-11 14:56:46 +00:00
|
|
|
pinctrl-names = "default", "sleep";
|
|
|
|
pinctrl-0 = <&mdss_dsi_active>;
|
|
|
|
pinctrl-1 = <&mdss_dsi_suspend>;
|
|
|
|
|
2015-04-15 20:24:37 +00:00
|
|
|
panel: panel@0 {
|
|
|
|
compatible = "sharp,lq101r1sx01";
|
|
|
|
reg = <0>;
|
|
|
|
link2 = <&secondary>;
|
|
|
|
|
|
|
|
power-supply = <...>;
|
|
|
|
backlight = <...>;
|
2015-06-25 06:13:40 +00:00
|
|
|
|
|
|
|
port {
|
|
|
|
panel_in: endpoint {
|
|
|
|
remote-endpoint = <&dsi0_out>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
port {
|
|
|
|
dsi0_out: endpoint {
|
|
|
|
remote-endpoint = <&panel_in>;
|
2016-02-25 05:49:48 +00:00
|
|
|
lanes = <0 1 2 3>;
|
2015-06-25 06:13:40 +00:00
|
|
|
};
|
2015-04-15 20:24:37 +00:00
|
|
|
};
|
|
|
|
};
|
2015-05-15 17:04:06 +00:00
|
|
|
|
|
|
|
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>;
|
2015-06-18 14:14:21 +00:00
|
|
|
|
|
|
|
qcom,dsi-phy-regulator-ldo-mode;
|
2015-05-15 17:04:06 +00:00
|
|
|
};
|