git-subtree-dir: qcom/display git-subtree-mainline:5c1b2eea72
git-subtree-split:8c12068d4d
227 lines
5.5 KiB
YAML
227 lines
5.5 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/dsi.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Qualcomm Technologies Inc. Snapdragon DSI Controller output
|
|
|
|
description: >
|
|
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
|
|
[2] Documentation/devicetree/bindings/graph.txt
|
|
[3] Documentation/devicetree/bindings/media/video-interfaces.txt
|
|
[4] Documentation/devicetree/bindings/display/panel/
|
|
|
|
maintainers:
|
|
- Vara Reddy <quic_varar@quicinc.com>
|
|
- Vishnuvardhan Prodduturi <quic_vproddut@quicinc.com>
|
|
|
|
properties:
|
|
compatible:
|
|
const: qcom,mdss-dsi-ctrl
|
|
|
|
reg:
|
|
description: Physical base address and length of the registers of controller
|
|
|
|
reg-names:
|
|
description: The names of register regions.
|
|
required:
|
|
- "dsi_ctrl"
|
|
|
|
interrupts:
|
|
description: The interrupt signal from the DSI block.
|
|
|
|
power-domains:
|
|
const: <&mmcc MDSS_GDSC>
|
|
|
|
clocks:
|
|
description: Phandles to device clocks.
|
|
$ref: /schemas/types.yaml#/definitions/phandle
|
|
|
|
clock-names:
|
|
description: >
|
|
Clocks necessary for DSI operation. For DSIv2, we need an additional clock "src" and for
|
|
DSI6G v2.0 onwards, we also need the clock "byte_intf".
|
|
required:
|
|
- "mdp_core"
|
|
- "iface"
|
|
- "bus"
|
|
- "core_mmss"
|
|
- "byte"
|
|
- "pixel"
|
|
- "core"
|
|
|
|
assigned-clocks:
|
|
description: Parents of "byte" and "pixel" for the given platform.
|
|
|
|
assigned-clock-parents:
|
|
description: >
|
|
The Byte clock and Pixel clock PLL outputs provided
|
|
by a DSI PHY block. See [1] for details on clock bindings.
|
|
|
|
vdd-supply:
|
|
description: phandle to vdd regulator device node
|
|
$ref: /schemas/types.yaml#/definitions/phandle
|
|
|
|
vddio-supply:
|
|
description: phandle to vdd-io regulator device node
|
|
$ref: /schemas/types.yaml#/definitions/phandle
|
|
|
|
vdda-supply:
|
|
description: phandle to vdda regulator device node
|
|
$ref: /schemas/types.yaml#/definitions/phandle
|
|
|
|
phys:
|
|
description: phandle to DSI PHY device node
|
|
$ref: /schemas/types.yaml#/definitions/phandle
|
|
|
|
phy-names:
|
|
description: the name of the corresponding PHY device
|
|
$ref: /schemas/types.yaml#/definitions/string-array
|
|
|
|
syscon-sfpb:
|
|
description: A phandle to mmss_sfpb syscon node (only for DSIv2)
|
|
$ref: /schemas/types.yaml#/definitions/phandle
|
|
|
|
panel@0:
|
|
description: >
|
|
Node of panel connected to this DSI controller.
|
|
See files in [4] for each supported panel.
|
|
|
|
qcom,dual-dsi-mode:
|
|
description: >
|
|
Boolean value indicating if the DSI controller is
|
|
driving a panel which needs 2 DSI links.
|
|
|
|
qcom,master-dsi:
|
|
description: >
|
|
Boolean value indicating if the DSI controller is driving
|
|
the master link of the 2-DSI panel.
|
|
|
|
qcom,sync-dual-dsi:
|
|
description: >
|
|
Boolean value indicating if the DSI controller is
|
|
driving a 2-DSI panel whose 2 links need receive command simultaneously.
|
|
|
|
pinctrl-names:
|
|
description: the pin control state names; should contain "default"
|
|
|
|
pinctrl-0:
|
|
description: the default pinctrl state (active)
|
|
|
|
pinctrl-n:
|
|
description: the "sleep" pinctrl state
|
|
|
|
qcom,dsi-ctrl-shared:
|
|
description: >
|
|
Boolean value indicating if the DSI controller is
|
|
shared between dual displays.
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- reg-names
|
|
- interrupts
|
|
- power-domains
|
|
- clocks
|
|
- clock-names
|
|
- assigned-clocks
|
|
- assigned-clock-parents
|
|
- vdd-supply
|
|
- vddio-supply
|
|
- vdda-supply
|
|
- phys
|
|
- phy-names
|
|
- syscon-sfpb
|
|
- ports
|
|
|
|
examples:
|
|
- |
|
|
dsi0: dsi@fd922800 {
|
|
compatible = "qcom,mdss-dsi-ctrl";
|
|
qcom,dsi-host-index = <0>;
|
|
interrupt-parent = <&mdp>;
|
|
interrupts = <4 0>;
|
|
reg-names = "dsi_ctrl";
|
|
reg = <0xfd922800 0x200>;
|
|
power-domains = <&mmcc MDSS_GDSC>;
|
|
clock-names =
|
|
"bus",
|
|
"byte",
|
|
"core",
|
|
"core_mmss",
|
|
"iface",
|
|
"mdp_core",
|
|
"pixel";
|
|
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>;
|
|
|
|
assigned-clocks =
|
|
<&mmcc BYTE0_CLK_SRC>,
|
|
<&mmcc PCLK0_CLK_SRC>;
|
|
assigned-clock-parents =
|
|
<&dsi_phy0 0>,
|
|
<&dsi_phy0 1>;
|
|
|
|
vdda-supply = <&pma8084_l2>;
|
|
vdd-supply = <&pma8084_l22>;
|
|
vddio-supply = <&pma8084_l12>;
|
|
|
|
phys = <&dsi_phy0>;
|
|
phy-names ="dsi-phy";
|
|
|
|
qcom,dual-dsi-mode;
|
|
qcom,master-dsi;
|
|
qcom,sync-dual-dsi;
|
|
qcom,dsi-ctrl-shared;
|
|
|
|
qcom,mdss-mdp-transfer-time-us = <12000>;
|
|
frame-threshold-time-us = <800>;
|
|
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&dsi_active>;
|
|
pinctrl-1 = <&dsi_suspend>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
dsi0_in: endpoint {
|
|
remote-endpoint = <&mdp_intf1_out>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
dsi0_out: endpoint {
|
|
remote-endpoint = <&panel_in>;
|
|
data-lanes = <0 1 2 3>;
|
|
};
|
|
};
|
|
};
|
|
|
|
panel: panel@0 {
|
|
compatible = "sharp,lq101r1sx01";
|
|
reg = <0>;
|
|
link2 = <&secondary>;
|
|
|
|
power-supply = <...>;
|
|
backlight = <...>;
|
|
|
|
port {
|
|
panel_in: endpoint {
|
|
remote-endpoint = <&dsi0_out>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
...
|