ARM: dts: msm: replace dtsi bindings with yaml
Replace existing display dtsi bindings in text format with yaml format. Change-Id: I9964bfe20f474746739f63a5615726f3ebb7683d Signed-off-by: Jatin Srivastava <quic_jsrivast@quicinc.com>
This commit is contained in:
278
bindings/dsi.txt
278
bindings/dsi.txt
@@ -1,278 +0,0 @@
|
||||
Qualcomm Technologies Inc. snapdragon DSI output
|
||||
|
||||
DSI Controller:
|
||||
Required properties:
|
||||
- compatible:
|
||||
* "qcom,mdss-dsi-ctrl"
|
||||
- reg: Physical base address and length of the registers of controller
|
||||
- reg-names: The names of register regions. The following regions are required:
|
||||
* "dsi_ctrl"
|
||||
- interrupts: The interrupt signal from the DSI block.
|
||||
- power-domains: Should be <&mmcc MDSS_GDSC>.
|
||||
- clocks: Phandles to device clocks.
|
||||
- clock-names: the following clocks are required:
|
||||
* "mdp_core"
|
||||
* "iface"
|
||||
* "bus"
|
||||
* "core_mmss"
|
||||
* "byte"
|
||||
* "pixel"
|
||||
* "core"
|
||||
For DSIv2, we need an additional clock:
|
||||
* "src"
|
||||
For DSI6G v2.0 onwards, we need also need the clock:
|
||||
* "byte_intf"
|
||||
- assigned-clocks: Parents of "byte" and "pixel" for the given platform.
|
||||
- assigned-clock-parents: The Byte clock and Pixel clock PLL outputs provided
|
||||
by a DSI PHY block. See [1] for details on clock bindings.
|
||||
- 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
|
||||
- phys: phandle to DSI PHY device node
|
||||
- phy-names: the name of the corresponding PHY device
|
||||
- syscon-sfpb: A phandle to mmss_sfpb syscon node (only for DSIv2)
|
||||
- ports: Contains 2 DSI controller ports as child nodes. Each port contains
|
||||
an endpoint subnode as defined in [2] and [3].
|
||||
|
||||
Optional properties:
|
||||
- panel@0: Node of panel connected to this DSI controller.
|
||||
See files in [4] for each supported panel.
|
||||
- qcom,dual-dsi-mode: Boolean value indicating if the DSI controller is
|
||||
driving a panel which needs 2 DSI links.
|
||||
- qcom,master-dsi: Boolean value indicating if the DSI controller is driving
|
||||
the master link of the 2-DSI panel.
|
||||
- qcom,sync-dual-dsi: Boolean value indicating if the DSI controller is
|
||||
driving a 2-DSI panel whose 2 links need receive command simultaneously.
|
||||
- pinctrl-names: the pin control state names; should contain "default"
|
||||
- pinctrl-0: the default pinctrl state (active)
|
||||
- pinctrl-n: the "sleep" pinctrl state
|
||||
- ports: contains DSI controller input and output ports as children, each
|
||||
containing one endpoint subnode.
|
||||
- qcom,dsi-ctrl-shared: Boolean value indicating if the DSI controller is
|
||||
shared between dual displays.
|
||||
|
||||
DSI Endpoint properties:
|
||||
- remote-endpoint: For port@0, set to phandle of the connected panel/bridge's
|
||||
input endpoint. For port@1, set to the MDP interface output. See [2] for
|
||||
device graph info.
|
||||
|
||||
- data-lanes: this describes how the physical DSI data lanes are mapped
|
||||
to the logical lanes on the given platform. The value contained in
|
||||
index n describes what physical lane is mapped to the logical lane n
|
||||
(DATAn, where n lies between 0 and 3). The clock lane position is fixed
|
||||
and can't be changed. Hence, they aren't a part of the DT bindings. See
|
||||
[3] for more info on the data-lanes property.
|
||||
|
||||
For example:
|
||||
|
||||
data-lanes = <3 0 1 2>;
|
||||
|
||||
The above mapping describes that the logical data lane DATA0 is mapped to
|
||||
the physical data lane DATA3, logical DATA1 to physical DATA0, logic DATA2
|
||||
to phys DATA1 and logic DATA3 to phys DATA2.
|
||||
|
||||
There are only a limited number of physical to logical mappings possible:
|
||||
<0 1 2 3>
|
||||
<1 2 3 0>
|
||||
<2 3 0 1>
|
||||
<3 0 1 2>
|
||||
<0 3 2 1>
|
||||
<1 0 3 2>
|
||||
<2 1 0 3>
|
||||
<3 2 1 0>
|
||||
|
||||
DSI PHY:
|
||||
Required properties:
|
||||
- compatible: Could be the following
|
||||
* "qcom,dsi-phy-28nm-hpm"
|
||||
* "qcom,dsi-phy-28nm-lp"
|
||||
* "qcom,dsi-phy-20nm"
|
||||
* "qcom,dsi-phy-28nm-8960"
|
||||
* "qcom,dsi-phy-14nm"
|
||||
* "qcom,dsi-phy-10nm"
|
||||
- reg: Physical base address and length of the registers of PLL, PHY. Some
|
||||
revisions require the PHY regulator base address, whereas others require the
|
||||
PHY lane base address. See below for each PHY revision.
|
||||
- reg-names: The names of register regions. The following regions are required:
|
||||
For DSI 28nm HPM/LP/8960 PHYs and 20nm PHY:
|
||||
* "dsi_pll"
|
||||
* "dsi_phy"
|
||||
* "dsi_phy_regulator"
|
||||
For DSI 14nm and 10nm PHYs:
|
||||
* "dsi_pll"
|
||||
* "dsi_phy"
|
||||
* "dsi_phy_lane"
|
||||
- clock-cells: Must be 1. The DSI PHY block acts as a clock provider, creating
|
||||
2 clocks: A byte clock (index 0), and a pixel clock (index 1).
|
||||
- power-domains: Should be <&mmcc MDSS_GDSC>.
|
||||
- clocks: Phandles to device clocks. See [1] for details on clock bindings.
|
||||
- clock-names: the following clocks are required:
|
||||
* "iface"
|
||||
For 28nm HPM/LP, 28nm 8960 PHYs:
|
||||
- vddio-supply: phandle to vdd-io regulator device node
|
||||
For 20nm PHY:
|
||||
- vddio-supply: phandle to vdd-io regulator device node
|
||||
- vcca-supply: phandle to vcca regulator device node
|
||||
For 14nm PHY:
|
||||
- vcca-supply: phandle to vcca regulator device node
|
||||
For 10nm PHY:
|
||||
- vdds-supply: phandle to vdds regulator device node
|
||||
|
||||
Optional properties:
|
||||
- qcom,dsi-phy-regulator-ldo-mode: Boolean value indicating if the LDO mode PHY
|
||||
regulator is wanted.
|
||||
- qcom,mdss-mdp-transfer-time-us: Specifies the dsi transfer time for command mode
|
||||
panels in microseconds. Driver uses this number to adjust
|
||||
the clock rate according to the expected transfer time.
|
||||
Increasing this value would slow down the mdp processing
|
||||
and can result in slower performance.
|
||||
Decreasing this value can speed up the mdp processing,
|
||||
but this can also impact power consumption.
|
||||
As a rule this time should not be higher than the time
|
||||
that would be expected with the processing at the
|
||||
dsi link rate since anyways this would be the maximum
|
||||
transfer time that could be achieved.
|
||||
If ping pong split is enabled, this time should not be higher
|
||||
than two times the dsi link rate time.
|
||||
If the property is not specified, then the default value is 14000 us.
|
||||
|
||||
- frame-threshold-time-us: For command mode panels, this specifies the idle
|
||||
time for dsi controller where no active data is
|
||||
send to the panel, as controller is done sending
|
||||
active pixels. If there is no desired DSI clocks
|
||||
specified, then clocks will be derived from this
|
||||
threshold time, which has a default value in chipset
|
||||
based on the CPU processing power.
|
||||
|
||||
- dsi_pll_codes: Contain an u32 array data to store dsi pll codes which were passed
|
||||
from UEFI.
|
||||
- qcom,dsi-phy-shared: Boolean value indicating if the DSI phy is shared
|
||||
between dual displays.
|
||||
|
||||
[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/
|
||||
|
||||
Example:
|
||||
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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
dsi_phy0: 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";
|
||||
clocks = <&mmcc MDSS_AHB_CLK>;
|
||||
#clock-cells = <1>;
|
||||
vddio-supply = <&pma8084_l12>;
|
||||
|
||||
qcom,dsi-phy-regulator-ldo-mode;
|
||||
qcom,panel-allow-phy-poweroff;
|
||||
qcom,dsi-phy-regulator-min-datarate-bps = <1200000000>;
|
||||
qcom,panel-force-clock-lane-hs;
|
||||
pll_codes_region = <&dsi_pll_codes_data>;
|
||||
qcom,dsi-phy-shared;
|
||||
};
|
||||
|
||||
dsi_pll_codes_data:dsi_pll_codes {
|
||||
reg = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
|
||||
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
|
||||
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
|
||||
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
|
||||
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
|
||||
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
|
||||
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
|
||||
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
|
||||
label = "dsi_pll_codes";
|
||||
};
|
226
bindings/dsi.yaml
Normal file
226
bindings/dsi.yaml
Normal file
@@ -0,0 +1,226 @@
|
||||
# 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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
161
bindings/dsi_phy.yaml
Normal file
161
bindings/dsi_phy.yaml
Normal file
@@ -0,0 +1,161 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/dsi_phy.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm Technologies Inc. Snapdragon DSI PHY 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:
|
||||
enum:
|
||||
- qcom,dsi-phy-28nm-hpm
|
||||
- qcom,dsi-phy-28nm-lp
|
||||
- qcom,dsi-phy-20nm
|
||||
- qcom,dsi-phy-28nm-8960
|
||||
- qcom,dsi-phy-14nm
|
||||
- qcom,dsi-phy-10nm
|
||||
|
||||
reg:
|
||||
description: >
|
||||
Physical base address and length of the registers of PLL, PHY. Some
|
||||
revisions require the PHY regulator base address, whereas others require the
|
||||
PHY lane base address. See below for each PHY revision.
|
||||
|
||||
reg-names:
|
||||
description: >
|
||||
The names of register regions. For DSI 28nm HPM/LP/8960 PHYs and 20nm PHY "dsi_phy_regulator"
|
||||
is needed and for DSI 14nm and 10nm PHYs "dsi_phy_lane" is needed.
|
||||
required:
|
||||
- "dsi_pll"
|
||||
- "dsi_phy"
|
||||
|
||||
clock-cells:
|
||||
description: >
|
||||
Must be 1. The DSI PHY block acts as a clock provider, creating
|
||||
2 clocks: A byte clock (index 0), and a pixel clock (index 1).
|
||||
const: 1
|
||||
|
||||
power-domains:
|
||||
const: <&mmcc MDSS_GDSC>
|
||||
|
||||
clocks:
|
||||
description: Phandles to device clocks. See [1] for details on clock bindings.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
clock-names:
|
||||
const: iface
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
|
||||
vddio-supply:
|
||||
description: >
|
||||
For 28nm HPM/LP, 28nm 8960 PHYs and 20nm PHY, this is phandle to vdd-io regulator
|
||||
device node
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
vcca-supply:
|
||||
description: For 14nm PHY and 20nm PHY this is phandle to vcca regulator device node
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
vdds-supply:
|
||||
description: For 10nm PHY , phandle to vdds regulator device node
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
qcom,dsi-phy-regulator-ldo-mode:
|
||||
description: Boolean value indicating if the LDO mode PHY regulator is wanted.
|
||||
|
||||
qcom,mdss-mdp-transfer-time-us:
|
||||
description: >
|
||||
Specifies the dsi transfer time for command mode
|
||||
panels in microseconds. Driver uses this number to adjust
|
||||
the clock rate according to the expected transfer time.
|
||||
Increasing this value would slow down the mdp processing
|
||||
and can result in slower performance.
|
||||
Decreasing this value can speed up the mdp processing,
|
||||
but this can also impact power consumption.
|
||||
As a rule this time should not be higher than the time
|
||||
that would be expected with the processing at the
|
||||
dsi link rate since anyways this would be the maximum
|
||||
transfer time that could be achieved.
|
||||
If ping pong split is enabled, this time should not be higher
|
||||
than two times the dsi link rate time.
|
||||
If the property is not specified, then the default value is 14000 us.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
frame-threshold-time-us:
|
||||
description: >
|
||||
For command mode panels, this specifies the idle
|
||||
time for dsi controller where no active data is
|
||||
send to the panel, as controller is done sending
|
||||
active pixels. If there is no desired DSI clocks
|
||||
specified, then clocks will be derived from this
|
||||
threshold time, which has a default value in chipset
|
||||
based on the CPU processing power.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
dsi_pll_codes:
|
||||
description: Contain an u32 array data to store dsi pll codes which were passed from UEFI.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
|
||||
qcom,dsi-phy-shared:
|
||||
description: Boolean value indicating if the DSI phy is shared between dual displays.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
- clock-cells
|
||||
- power-domains
|
||||
- clocks
|
||||
- clock-names
|
||||
- vddio-supply
|
||||
- vcca-supply
|
||||
- vdds-supply
|
||||
|
||||
examples:
|
||||
- |
|
||||
dsi_phy0: 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";
|
||||
clocks = <&mmcc MDSS_AHB_CLK>;
|
||||
#clock-cells = <1>;
|
||||
vddio-supply = <&pma8084_l12>;
|
||||
|
||||
qcom,dsi-phy-regulator-ldo-mode;
|
||||
qcom,panel-allow-phy-poweroff;
|
||||
qcom,dsi-phy-regulator-min-datarate-bps = <1200000000>;
|
||||
qcom,panel-force-clock-lane-hs;
|
||||
pll_codes_region = <&dsi_pll_codes_data>;
|
||||
qcom,dsi-phy-shared;
|
||||
};
|
||||
|
||||
dsi_pll_codes_data:dsi_pll_codes {
|
||||
reg = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
|
||||
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
|
||||
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
|
||||
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
|
||||
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
|
||||
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
|
||||
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
|
||||
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
|
||||
label = "dsi_pll_codes";
|
||||
};
|
||||
...
|
File diff suppressed because it is too large
Load Diff
1923
bindings/mdss-dsi-panel.yaml
Normal file
1923
bindings/mdss-dsi-panel.yaml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,14 +0,0 @@
|
||||
MSM HDCP driver
|
||||
|
||||
Standalone driver managing HDCP related communications
|
||||
between TZ and HLOS for MSM chipset.
|
||||
|
||||
Required properties:
|
||||
|
||||
compatible = "qcom,msm-hdcp";
|
||||
|
||||
Example:
|
||||
|
||||
qcom_msmhdcp: qcom,msm_hdcp {
|
||||
compatible = "qcom,msm-hdcp";
|
||||
};
|
28
bindings/msm_hdcp.yaml
Normal file
28
bindings/msm_hdcp.yaml
Normal file
@@ -0,0 +1,28 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/msm_hdcp.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MSM HDCP driver
|
||||
|
||||
description: |
|
||||
Standalone driver managing HDCP related communications between TZ and HLOS for MSM chipset.
|
||||
|
||||
maintainers:
|
||||
- Rajkumar Subbiah <quic_rsubbia@quicinc.com>
|
||||
- Vishnuvardhan Prodduturi <quic_vproddut@quicinc.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: qcom,msm-hdcp
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
examples:
|
||||
- |
|
||||
qcom_msmhdcp: qcom,msm_hdcp {
|
||||
compatible = "qcom,msm-hdcp";
|
||||
};
|
||||
...
|
@@ -1,297 +0,0 @@
|
||||
Qualcomm Technologies, Inc.
|
||||
sde-dp is the master Display Port device which supports DP host controllers that are compatible with VESA Display Port interface specification.
|
||||
DP Controller: Required properties:
|
||||
- compatible: Should be "qcom,dp-display".
|
||||
- reg: Base address and length of DP hardware's memory mapped regions.
|
||||
- reg-names: A list of strings that name the list of regs. "dp_ctrl" - DP controller memory region.
|
||||
"dp_ahb" - AHB memory region.
|
||||
"dp_aux" - AUX memory region.
|
||||
"dp_link" - LINK memory region.
|
||||
"dp_p0" - PCLK0 memory region.
|
||||
"dp_phy" - PHY memory region.
|
||||
"dp_ln_tx0" - USB3 DP PHY combo TX-0 lane memory region.
|
||||
"dp_ln_tx1" - USB3 DP PHY combo TX-1 lane memory region.
|
||||
"dp_mmss_cc" - Display Clock Control memory region.
|
||||
"dp_pll" - USB3 DP combo PLL memory region.
|
||||
"usb3_dp_com" - USB3 DP PHY combo memory region.
|
||||
"hdcp_physical" - DP HDCP memory region.
|
||||
"dp_p1" - DP PCLK1 memory region.
|
||||
"gdsc" - DISPCC GDSC memory region.
|
||||
- cell-index: Specifies the controller instance.
|
||||
- #clock-cells: Denotes the DP driver as a clock producer (has one or more clock outputs)
|
||||
- clocks: Clocks required for Display Port operation.
|
||||
- clock-names: Names of the clocks corresponding to handles. Following clocks are required:
|
||||
"core_aux_clk", "core_usb_ref_clk_src", "core_usb_pipe_clk", "link_clk",
|
||||
"link_clk_src", "link_iface_clk", "pixel_clk_rcg", "pixel_parent",
|
||||
"pixel1_clk_rcg", "strm0_pixel_clk", "strm1_pixel_clk".
|
||||
- vdda-1p2-supply: phandle to vdda 1.2V regulator node.
|
||||
- vdda-0p9-supply: phandle to vdda 0.9V regulator node.
|
||||
- interrupt-parent phandle to the interrupt parent device node.
|
||||
- interrupts: The interrupt signal from the DSI block.
|
||||
- qcom,aux-cfg0-settings: Specifies the DP AUX configuration 0 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
- qcom,aux-cfg1-settings: Specifies the DP AUX configuration 1 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
- qcom,aux-cfg2-settings: Specifies the DP AUX configuration 2 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
- qcom,aux-cfg3-settings: Specifies the DP AUX configuration 3 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
- qcom,aux-cfg4-settings: Specifies the DP AUX configuration 4 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
- qcom,aux-cfg5-settings: Specifies the DP AUX configuration 5 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
- qcom,aux-cfg6-settings: Specifies the DP AUX configuration 6 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
- qcom,aux-cfg7-settings: Specifies the DP AUX configuration 7 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
- qcom,aux-cfg8-settings: Specifies the DP AUX configuration 8 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
- qcom,aux-cfg9-settings: Specifies the DP AUX configuration 9 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
- qcom,max-pclk-frequency-khz: An integer specifying the max. pixel clock in KHz supported by Display Port.
|
||||
- qcom,mst-enable: MST feature enable control node.
|
||||
- qcom,dsc-feature-enable: DSC feature enable control node.
|
||||
- qcom,fec-feature-enable: FEC feature enable control node.
|
||||
- qcom,qos-cpu-mask: A u32 value indicating desired PM QoS CPU affine mask
|
||||
- qcom,qos-cpu-latency-us: A u32 value indicating desired PM QoS CPU latency in usec
|
||||
- qcom,altmode-dev: Phandle for the AltMode GLink driver.
|
||||
- usb-controller: Phandle for the USB controller.
|
||||
- qcom,pll-revision: PLL hardware revision.
|
||||
- usb-phy: Phandle for USB PHY driver. This is used to register for USB cable events.
|
||||
- qcom,dsc-continuous-pps: Control node for sending PPS every frame in hardware for DSC over DP.
|
||||
This is needed by certain bridge chips where there is such a requirement to do so.
|
||||
- qcom,dp-aux-switch: Phandle for the driver used to program the AUX switch for Display Port orientation.
|
||||
- qcom,dp-hpd-gpio: HPD gpio for direct DP connector without USB PHY or AUX switch.
|
||||
- qcom,dp-gpio-aux-switch: Gpio DP AUX switch chipset support.
|
||||
- qcom,<type>-supply-entries: A node that lists the elements of the supply used by the a particular "type" of DP module. The module "types"
|
||||
can be "core", "ctrl", "pll" and "phy". Within the same type,
|
||||
there can be more than one instance of this binding,
|
||||
in which case the entry would be appended with the
|
||||
supply entry index.
|
||||
e.g. qcom,ctrl-supply-entry@0
|
||||
-- qcom,supply-name: name of the supply (vdd/vdda/vddio)
|
||||
-- qcom,supply-min-voltage: minimum voltage level (uV)
|
||||
-- qcom,supply-max-voltage: maximum voltage level (uV)
|
||||
-- qcom,supply-enable-load: load drawn (uA) from enabled supply
|
||||
-- qcom,supply-disable-load: load drawn (uA) from disabled supply
|
||||
-- qcom,supply-pre-on-sleep: time to sleep (ms) before turning on
|
||||
-- qcom,supply-post-on-sleep: time to sleep (ms) after turning on
|
||||
-- qcom,supply-pre-off-sleep: time to sleep (ms) before turning off
|
||||
-- qcom,supply-post-off-sleep: time to sleep (ms) after turning off
|
||||
|
||||
msm_ext_disp is a device which manages the interaction between external
|
||||
display interfaces, e.g. Display Port, and the audio subsystem.
|
||||
|
||||
Optional properties:
|
||||
- clock-mmrm: List of the clocks that enable setting the clk rate through MMRM driver.
|
||||
The order of the list must match the 'clocks' and 'clock-names'
|
||||
properties. The 'DISP_CC' ID of the clock must be used to enable
|
||||
the property for the respective clock, whereas a value of zero
|
||||
disables the property.
|
||||
- vdd_mx-supply: phandle to vdda MX regulator node
|
||||
- qcom,aux-en-gpio: Specifies the aux-channel enable gpio.
|
||||
- qcom,aux-sel-gpio: Specifies the aux-channel select gpio.
|
||||
- qcom,usbplug-cc-gpio: Specifies the usbplug orientation gpio.
|
||||
- qcom,ext-disp: phandle for msm-ext-display module
|
||||
- compatible: Must be "qcom,msm-ext-disp"
|
||||
- qcom,dp-low-power-hw-hpd: Low power hardware HPD feature enable control node
|
||||
- qcom,phy-version: Phy version
|
||||
- qcom,pn-swap-lane-map: P/N swap configuration of each lane
|
||||
- pinctrl-names: List of names to assign mdss pin states defined in pinctrl device node
|
||||
Refer to pinctrl-bindings.txt
|
||||
- pinctrl-<0..n>: Lists phandles each pointing to the pin configuration node within a pin
|
||||
controller. These pin configurations are installed in the pinctrl
|
||||
device node. Refer to pinctrl-bindings.txt
|
||||
- qcom,max-lclk-frequency-khz: An integer specifying the max. link clock in KHz supported by Display Port.
|
||||
- qcom,mst-fixed-topology-ports: u32 values of which MST output port to reserve, start from one
|
||||
- qcom,hbr-rbr-voltage-swing: Specifies the voltage swing levels for HBR and RBR rates.
|
||||
- qcom,hbr-rbr-pre-emphasis: Specifies the pre-emphasis levels for HBR and RBR rates.
|
||||
- qcom,hbr2-3-voltage-swing: Specifies the voltage swing levels for HBR2 and HBR3 rates.
|
||||
- qcom,hbr2-3-pre-emphasis: Specifies the pre-emphasis levels for HBR2 and HBR3 rates.
|
||||
|
||||
[Optional child nodes]: These nodes are for devices which are
|
||||
dependent on msm_ext_disp. If msm_ext_disp is disabled then
|
||||
these devices will be disabled as well. Ex. Audio Codec device.
|
||||
|
||||
- ext_disp_audio_codec: Node for Audio Codec.
|
||||
- compatible : "qcom,msm-ext-disp-audio-codec-rx";
|
||||
|
||||
Example:
|
||||
|
||||
ext_disp: qcom,msm-ext-disp {
|
||||
compatible = "qcom,msm-ext-disp";
|
||||
|
||||
ext_disp_audio_codec: qcom,msm-ext-disp-audio-codec-rx {
|
||||
compatible = "qcom,msm-ext-disp-audio-codec-rx";
|
||||
};
|
||||
};
|
||||
|
||||
sde_dp: qcom,dp_display@0 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,dp-display";
|
||||
|
||||
qcom,dp-aux-switch = <&fsa4480>;
|
||||
qcom,ext-disp = <&ext_disp>;
|
||||
qcom,altmode-dev = <&altmode 0>;
|
||||
usb-controller = <&usb0>;
|
||||
|
||||
reg = <0xae90000 0x0dc>,
|
||||
<0xae90200 0x0c0>,
|
||||
<0xae90400 0x508>,
|
||||
<0xae91000 0x094>,
|
||||
<0x88eaa00 0x200>,
|
||||
<0x88ea200 0x200>,
|
||||
<0x88ea600 0x200>,
|
||||
<0xaf02000 0x1a0>,
|
||||
<0x88ea000 0x200>,
|
||||
<0x88e8000 0x20>,
|
||||
<0x0aee1000 0x034>,
|
||||
<0xae91400 0x094>,
|
||||
<0xaf03000 0x8>;
|
||||
reg-names = "dp_ahb", "dp_aux", "dp_link",
|
||||
"dp_p0", "dp_phy", "dp_ln_tx0", "dp_ln_tx1",
|
||||
"dp_mmss_cc", "dp_pll", "usb3_dp_com",
|
||||
"hdcp_physical", "dp_p1", "gdsc";
|
||||
|
||||
interrupt-parent = <&mdss_mdp>;
|
||||
interrupts = <12 0>;
|
||||
|
||||
#clock-cells = <1>;
|
||||
clocks = <&clock_dispcc DISP_CC_MDSS_DP_AUX_CLK>,
|
||||
<&clock_rpmh RPMH_CXO_CLK>,
|
||||
<&clock_gcc GCC_USB3_PRIM_PHY_PIPE_CLK>,
|
||||
<&clock_dispcc DISP_CC_MDSS_DP_LINK_CLK>,
|
||||
<&clock_dispcc DISP_CC_MDSS_DP_LINK_CLK_SRC>,
|
||||
<&clock_dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>,
|
||||
<&clock_dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>,
|
||||
<&sde_dp DP_PHY_PLL_VCO_DIV_CLK>,
|
||||
<&clock_dispcc DISP_CC_MDSS_DP_PIXEL1_CLK_SRC>,
|
||||
<&clock_dispcc DISP_CC_MDSS_DP_PIXEL_CLK>,
|
||||
<&clock_dispcc DISP_CC_MDSS_DP_PIXEL1_CLK>;
|
||||
clock-names = "core_aux_clk", "core_usb_ref_clk_src",
|
||||
"core_usb_pipe_clk", "link_clk", "link_clk_src",
|
||||
"link_iface_clk", "pixel_clk_rcg", "pixel_parent",
|
||||
"pixel1_clk_rcg", "strm0_pixel_clk", "strm1_pixel_clk";
|
||||
clock-mmrm = <0 0 0 0 DISP_CC_MDSS_DP_LINK_CLK_SRC 0 0 0 0 0 0>;
|
||||
|
||||
qcom,pll-revision = "5nm-v1";
|
||||
qcom,phy-version = <0x420>;
|
||||
qcom,dp-aux-switch = <&fsa4480>;
|
||||
|
||||
qcom,aux-cfg0-settings = [1c 00];
|
||||
qcom,aux-cfg1-settings = [20 13 23 1d];
|
||||
qcom,aux-cfg2-settings = [24 00];
|
||||
qcom,aux-cfg3-settings = [28 00];
|
||||
qcom,aux-cfg4-settings = [2c 0a];
|
||||
qcom,aux-cfg5-settings = [30 26];
|
||||
qcom,aux-cfg6-settings = [34 0a];
|
||||
qcom,aux-cfg7-settings = [38 03];
|
||||
qcom,aux-cfg8-settings = [3c bb];
|
||||
qcom,aux-cfg9-settings = [40 03];
|
||||
qcom,max-pclk-frequency-khz = <593470>;
|
||||
qcom,mst-enable;
|
||||
qcom,dsc-feature-enable;
|
||||
qcom,fec-feature-enable;
|
||||
qcom,dsc-continuous-pps;
|
||||
qcom,qos-cpu-mask = <0xf>;
|
||||
qcom,qos-cpu-latency-us = <300>;
|
||||
vdda-1p2-supply = <&L6B>;
|
||||
vdda-0p9-supply = <&L1B>;
|
||||
vdd_mx-supply = <&VDD_MXA_LEVEL>;
|
||||
|
||||
qcom,hbr-rbr-voltage-swing = <0x07 0x0f 0x16 0x1f>,
|
||||
<0x11 0x1e 0x1f 0xff>,
|
||||
<0x16 0x1f 0xff 0xff>,
|
||||
<0x1f 0xff 0xff 0xff>;
|
||||
qcom,hbr-rbr-pre-emphasis = <0x00 0x0d 0x14 0x1a>,
|
||||
<0x00 0x0e 0x15 0xff>,
|
||||
<0x00 0x0e 0xff 0xff>,
|
||||
<0x02 0xff 0xff 0xff>;
|
||||
|
||||
qcom,hbr2-3-voltage-swing = <0x02 0x12 0x16 0x1a>,
|
||||
<0x09 0x19 0x1f 0xff>,
|
||||
<0x10 0x1f 0xff 0xff>,
|
||||
<0x1f 0xff 0xff 0xff>;
|
||||
qcom,hbr2-3-pre-emphasis = <0x00 0x0c 0x15 0x1b>,
|
||||
<0x02 0x0e 0x16 0xff>,
|
||||
<0x02 0x11 0xff 0xff>,
|
||||
<0x04 0xff 0xff 0xff>;
|
||||
|
||||
qcom,ctrl-supply-entries {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,ctrl-supply-entry@0 {
|
||||
reg = <0>;
|
||||
qcom,supply-name = "vdda-1p2";
|
||||
qcom,supply-min-voltage = <1200000>;
|
||||
qcom,supply-max-voltage = <1200000>;
|
||||
qcom,supply-enable-load = <21700>;
|
||||
qcom,supply-disable-load = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,phy-supply-entries {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,phy-supply-entry@0 {
|
||||
reg = <0>;
|
||||
qcom,supply-name = "vdda-0p9";
|
||||
qcom,supply-min-voltage = <912000>;
|
||||
qcom,supply-max-voltage = <912000>;
|
||||
qcom,supply-enable-load = <115000>;
|
||||
qcom,supply-disable-load = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,core-supply-entries {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,core-supply-entry@0 {
|
||||
reg = <0>;
|
||||
qcom,supply-name = "refgen";
|
||||
qcom,supply-min-voltage = <0>;
|
||||
qcom,supply-max-voltage = <0>;
|
||||
qcom,supply-enable-load = <0>;
|
||||
qcom,supply-disable-load = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,pll-supply-entries {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,pll-supply-entry@0 {
|
||||
reg = <0>;
|
||||
qcom,supply-name = "vdd_mx";
|
||||
qcom,supply-min-voltage =
|
||||
<RPMH_REGULATOR_LEVEL_TURBO>;
|
||||
qcom,supply-max-voltage =
|
||||
<RPMH_REGULATOR_LEVEL_MAX>;
|
||||
qcom,supply-enable-load = <0>;
|
||||
qcom,supply-disable-load = <0>;
|
||||
};
|
||||
};
|
||||
};
|
579
bindings/sde-dp.yaml
Normal file
579
bindings/sde-dp.yaml
Normal file
@@ -0,0 +1,579 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sde-dp.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: SDE DP
|
||||
|
||||
description: |
|
||||
sde-dp is the master Display Port device which supports DP host controllers that are compatible
|
||||
with VESA Display Port interface specification.
|
||||
msm_ext_disp is a device which manages the interaction between external
|
||||
display interfaces, e.g. Display Port, and the audio subsystem.
|
||||
[Optional child nodes]: These nodes are for devices which are
|
||||
dependent on msm_ext_disp. If msm_ext_disp is disabled then
|
||||
these devices will be disabled as well. Ex. Audio Codec device.
|
||||
|
||||
maintainers:
|
||||
- Rajkumar Subbiah <quic_rsubbia@quicinc.com>
|
||||
- Vishnuvardhan Prodduturi <quic_vproddut@quicinc.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: qcom,dp-display
|
||||
|
||||
reg:
|
||||
description: |
|
||||
Base address and length of DP hardware's memory mapped regions.
|
||||
|
||||
reg-names:
|
||||
description: |
|
||||
A list of strings that name the list of regs. "dp_ctrl" - DP controller memory region.
|
||||
"dp_ahb" - AHB memory region.
|
||||
"dp_aux" - AUX memory region.
|
||||
"dp_link" - LINK memory region.
|
||||
"dp_p0" - PCLK0 memory region.
|
||||
"dp_phy" - PHY memory region.
|
||||
"dp_ln_tx0" - USB3 DP PHY combo TX-0 lane memory region.
|
||||
"dp_ln_tx1" - USB3 DP PHY combo TX-1 lane memory region.
|
||||
"dp_mmss_cc" - Display Clock Control memory region.
|
||||
"dp_pll" - USB3 DP combo PLL memory region.
|
||||
"usb3_dp_com" - USB3 DP PHY combo memory region.
|
||||
"hdcp_physical" - DP HDCP memory region.
|
||||
"dp_p1" - DP PCLK1 memory region.
|
||||
"gdsc" - DISPCC GDSC memory region.
|
||||
|
||||
cell-index:
|
||||
description: Specifies the controller instance.
|
||||
|
||||
'#clock-cells':
|
||||
description: Denotes the DP driver as a clock producer (has one or more clock outputs)
|
||||
|
||||
clocks:
|
||||
description: Clocks required for Display Port operation.
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: core_aux_clk
|
||||
- const: core_usb_ref_clk_src
|
||||
- const: core_usb_pipe_clk
|
||||
- const: link_clk
|
||||
- const: link_clk_src
|
||||
- const: link_iface_clk
|
||||
- const: pixel_clk_rcg
|
||||
- const: pixel_parent
|
||||
- const: pixel1_clk_rcg
|
||||
- const: strm0_pixel_clk
|
||||
- const: strm1_pixel_clk
|
||||
|
||||
vdda-1p2-supply:
|
||||
description: phandle to vdda 1.2V regulator node.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
vdda-0p9-supply:
|
||||
description: phandle to vdda 0.9V regulator node.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
interrupt-parent:
|
||||
description: phandle to the interrupt parent device node.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
interrupts:
|
||||
description: The interrupt signal from the DSI block.
|
||||
|
||||
qcom,aux-cfg0-settings:
|
||||
description: |
|
||||
Specifies the DP AUX configuration 0 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
|
||||
qcom,aux-cfg1-settings:
|
||||
description: |
|
||||
Specifies the DP AUX configuration 1 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
|
||||
qcom,aux-cfg2-settings:
|
||||
description: |
|
||||
Specifies the DP AUX configuration 2 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
|
||||
qcom,aux-cfg3-settings:
|
||||
description: |
|
||||
Specifies the DP AUX configuration 3 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
|
||||
qcom,aux-cfg4-settings:
|
||||
description: |
|
||||
Specifies the DP AUX configuration 4 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
|
||||
qcom,aux-cfg5-settings:
|
||||
description: |
|
||||
Specifies the DP AUX configuration 5 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
|
||||
qcom,aux-cfg6-settings:
|
||||
description: |
|
||||
Specifies the DP AUX configuration 6 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
|
||||
qcom,aux-cfg7-settings:
|
||||
description: |
|
||||
Specifies the DP AUX configuration 7 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
|
||||
qcom,aux-cfg8-settings:
|
||||
description: |
|
||||
Specifies the DP AUX configuration 8 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
|
||||
qcom,aux-cfg9-settings:
|
||||
description: |
|
||||
Specifies the DP AUX configuration 9 settings. The first
|
||||
entry in this array corresponds to the register offset
|
||||
within DP AUX, while the remaining entries indicate the
|
||||
programmable values.
|
||||
|
||||
qcom,max-pclk-frequency-khz:
|
||||
description: An integer specifying the max. pixel clock in KHz supported by Display Port.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
qcom,mst-enable:
|
||||
description: MST feature enable control node.
|
||||
|
||||
qcom,dsc-feature-enable:
|
||||
description: DSC feature enable control node.
|
||||
|
||||
qcom,fec-feature-enable:
|
||||
description: FEC feature enable control node.
|
||||
|
||||
qcom,qos-cpu-mask:
|
||||
description: A u32 value indicating desired PM QoS CPU affine mask
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
qcom,qos-cpu-latency-us:
|
||||
description: A u32 value indicating desired PM QoS CPU latency in usec
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
qcom,altmode-dev:
|
||||
description: Phandle for the AltMode GLink driver.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
usb-controller:
|
||||
description: Phandle for the USB controller.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
qcom,pll-revision:
|
||||
description: PLL hardware revision.
|
||||
|
||||
usb-phy:
|
||||
description: Phandle for USB PHY driver. This is used to register for USB cable events.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
qcom,dsc-continuous-pps:
|
||||
description: |
|
||||
Control node for sending PPS every frame in hardware for DSC over DP.
|
||||
This is needed by certain bridge chips where there is such a requirement to do so.
|
||||
|
||||
qcom,dp-aux-switch:
|
||||
description: Phandle for the driver used to program the AUX switch for Display Port orientation.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
qcom,dp-hpd-gpio:
|
||||
description: HPD gpio for direct DP connector without USB PHY or AUX switch.
|
||||
|
||||
qcom,dp-gpio-aux-switch:
|
||||
description: Gpio DP AUX switch chipset support.
|
||||
|
||||
clock-mmrm:
|
||||
description: |
|
||||
List of the clocks that enable setting the clk rate through MMRM driver.
|
||||
The order of the list must match the 'clocks' and 'clock-names'
|
||||
properties. The 'DISP_CC' ID of the clock must be used to enable
|
||||
the property for the respective clock, whereas a value of zero
|
||||
disables the property.
|
||||
|
||||
vdd_mx-supply:
|
||||
description: phandle to vdda MX regulator node
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
qcom,aux-en-gpio:
|
||||
description: Specifies the aux-channel enable gpio.
|
||||
|
||||
qcom,aux-sel-gpio:
|
||||
description: Specifies the aux-channel select gpio.
|
||||
|
||||
qcom,usbplug-cc-gpio:
|
||||
description: Specifies the usbplug orientation gpio.
|
||||
|
||||
qcom,ext-disp:
|
||||
description: phandle for msm-ext-display module
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
compatible:
|
||||
const: qcom,msm-ext-disp
|
||||
|
||||
qcom,dp-low-power-hw-hpd:
|
||||
description: Low power hardware HPD feature enable control node
|
||||
|
||||
qcom,phy-version:
|
||||
description: Phy version
|
||||
|
||||
pinctrl-names:
|
||||
description: |
|
||||
List of names to assign mdss pin states defined in pinctrl device node
|
||||
Refer to pinctrl-bindings.txt
|
||||
|
||||
pinctrl-<0..n>:
|
||||
description: |
|
||||
Lists phandles each pointing to the pin configuration node within a pin
|
||||
controller. These pin configurations are installed in the pinctrl
|
||||
device node. Refer to pinctrl-bindings.txt
|
||||
|
||||
qcom,max-lclk-frequency-khz:
|
||||
description: An integer specifying the max. link clock in KHz supported by Display Port.
|
||||
|
||||
qcom,mst-fixed-topology-ports:
|
||||
description: u32 values of which MST output port to reserve, start from one
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
qcom,hbr-rbr-voltage-swing:
|
||||
description: Specifies the voltage swing levels for HBR and RBR rates.
|
||||
|
||||
qcom,hbr-rbr-pre-emphasis:
|
||||
description: Specifies the pre-emphasis levels for HBR and RBR rates.
|
||||
|
||||
qcom,hbr2-3-voltage-swing:
|
||||
description: Specifies the voltage swing levels for HBR2 and HBR3 rates.
|
||||
|
||||
qcom,hbr2-3-pre-emphasis:
|
||||
description: Specifies the pre-emphasis levels for HBR2 and HBR3 rates.
|
||||
|
||||
compatible:
|
||||
const: qcom,msm-ext-disp-audio-codec-rx
|
||||
|
||||
ext_disp_audio_codec:
|
||||
description: Node for Audio Codec.
|
||||
|
||||
pattern properties:
|
||||
"qcom,+\w+\-supply\-entries":
|
||||
description: |
|
||||
A node that lists the elements of the supply used by the
|
||||
a particular "type" of DSI module. The module "types"
|
||||
can be "core", "ctrl", and "phy". Within the same type,
|
||||
there can be more than one instance of this binding,
|
||||
in which case the entry would be appended with the
|
||||
supply entry index.
|
||||
e.g. qcom,ctrl-supply-entry@0
|
||||
type: object
|
||||
patternProperties:
|
||||
"qcom,ctrl\-supply\-entry\@+\w":
|
||||
properties:
|
||||
reg:
|
||||
description: offset and length of the register set for the device.
|
||||
qcom,supply-name:
|
||||
description: name of the supply (vdd/vdda/vddio)
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
qcom,supply-min-voltage:
|
||||
description: minimum voltage level (uV)
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-max-voltage:
|
||||
description: maximum voltage level (uV)
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-enable-load:
|
||||
description: load drawn (uA) from enabled supply
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-disable-load:
|
||||
description: load drawn (uA) from disabled supply
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-pre-on-sleep:
|
||||
description: time to sleep (ms) before turning on
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-post-on-sleep:
|
||||
description: time to sleep (ms) after turning on
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-pre-off-sleep:
|
||||
description: time to sleep (ms) before turning off
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-post-off-sleep:
|
||||
description: time to sleep (ms) after turning off
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
"qcom,core\-supply\-entry\@+\w":
|
||||
properties:
|
||||
reg:
|
||||
description: offset and length of the register set for the device.
|
||||
qcom,supply-name:
|
||||
description: name of the supply (vdd/vdda/vddio)
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
qcom,supply-min-voltage:
|
||||
description: minimum voltage level (uV)
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-max-voltage:
|
||||
description: maximum voltage level (uV)
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-enable-load:
|
||||
description: load drawn (uA) from enabled supply
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-disable-load:
|
||||
description: load drawn (uA) from disabled supply
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-pre-on-sleep:
|
||||
description: time to sleep (ms) before turning on
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-post-on-sleep:
|
||||
description: time to sleep (ms) after turning on
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-pre-off-sleep:
|
||||
description: time to sleep (ms) before turning off
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-post-off-sleep:
|
||||
description: time to sleep (ms) after turning off
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
"qcom,phy\-supply\-entry\@+\w":
|
||||
properties:
|
||||
reg:
|
||||
description: offset and length of the register set for the device.
|
||||
qcom,supply-name:
|
||||
description: name of the supply (vdd/vdda/vddio)
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
qcom,supply-min-voltage:
|
||||
description: minimum voltage level (uV)
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-max-voltage:
|
||||
description: maximum voltage level (uV)
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-enable-load:
|
||||
description: load drawn (uA) from enabled supply
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-disable-load:
|
||||
description: load drawn (uA) from disabled supply
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-pre-on-sleep:
|
||||
description: time to sleep (ms) before turning on
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-post-on-sleep:
|
||||
description: time to sleep (ms) after turning on
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-pre-off-sleep:
|
||||
description: time to sleep (ms) before turning off
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-post-off-sleep:
|
||||
description: time to sleep (ms) after turning off
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
- cell-index
|
||||
- '#clock-cells'
|
||||
- clocks
|
||||
- clock-names
|
||||
- vdda-1p2-supply
|
||||
- vdda-0p9-supply
|
||||
- interrupt-parent
|
||||
- interrupts
|
||||
- qcom,aux-cfg0-settings
|
||||
- qcom,aux-cfg1-settings
|
||||
- qcom,aux-cfg2-settings
|
||||
- qcom,aux-cfg3-settings
|
||||
- qcom,aux-cfg4-settings
|
||||
- qcom,aux-cfg5-settings
|
||||
- qcom,aux-cfg6-settings
|
||||
- qcom,aux-cfg7-settings
|
||||
- qcom,aux-cfg8-settings
|
||||
- qcom,aux-cfg9-settings
|
||||
- qcom,max-pclk-frequency-khz
|
||||
- qcom,mst-enable
|
||||
- qcom,dsc-feature-enable
|
||||
- qcom,fec-feature-enable
|
||||
- qcom,qos-cpu-mask
|
||||
- qcom,qos-cpu-latency-us
|
||||
- qcom,altmode-dev
|
||||
- usb-controller
|
||||
- qcom,pll-revision
|
||||
- usb-phy
|
||||
- qcom,dp-aux-switch
|
||||
- qcom,dp-hpd-gpio
|
||||
- qcom,dp-gpio-aux-switch
|
||||
- qcom,<type>-supply-entries
|
||||
|
||||
examples:
|
||||
- |
|
||||
ext_disp: qcom,msm-ext-disp {
|
||||
compatible = "qcom,msm-ext-disp";
|
||||
|
||||
ext_disp_audio_codec: qcom,msm-ext-disp-audio-codec-rx {
|
||||
compatible = "qcom,msm-ext-disp-audio-codec-rx";
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
sde_dp: qcom,dp_display@0 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,dp-display";
|
||||
|
||||
qcom,dp-aux-switch = <&fsa4480>;
|
||||
qcom,ext-disp = <&ext_disp>;
|
||||
qcom,altmode-dev = <&altmode 0>;
|
||||
usb-controller = <&usb0>;
|
||||
|
||||
reg = <0xae90000 0x0dc>,
|
||||
<0xae90200 0x0c0>,
|
||||
<0xae90400 0x508>,
|
||||
<0xae91000 0x094>,
|
||||
<0x88eaa00 0x200>,
|
||||
<0x88ea200 0x200>,
|
||||
<0x88ea600 0x200>,
|
||||
<0xaf02000 0x1a0>,
|
||||
<0x88ea000 0x200>,
|
||||
<0x88e8000 0x20>,
|
||||
<0x0aee1000 0x034>,
|
||||
<0xae91400 0x094>,
|
||||
<0xaf03000 0x8>;
|
||||
reg-names = "dp_ahb", "dp_aux", "dp_link",
|
||||
"dp_p0", "dp_phy", "dp_ln_tx0", "dp_ln_tx1",
|
||||
"dp_mmss_cc", "dp_pll", "usb3_dp_com",
|
||||
"hdcp_physical", "dp_p1", "gdsc";
|
||||
|
||||
interrupt-parent = <&mdss_mdp>;
|
||||
interrupts = <12 0>;
|
||||
|
||||
#clock-cells = <1>;
|
||||
clocks = <&clock_dispcc DISP_CC_MDSS_DP_AUX_CLK>,
|
||||
<&clock_rpmh RPMH_CXO_CLK>,
|
||||
<&clock_gcc GCC_USB3_PRIM_PHY_PIPE_CLK>,
|
||||
<&clock_dispcc DISP_CC_MDSS_DP_LINK_CLK>,
|
||||
<&clock_dispcc DISP_CC_MDSS_DP_LINK_CLK_SRC>,
|
||||
<&clock_dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>,
|
||||
<&clock_dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>,
|
||||
<&sde_dp DP_PHY_PLL_VCO_DIV_CLK>,
|
||||
<&clock_dispcc DISP_CC_MDSS_DP_PIXEL1_CLK_SRC>,
|
||||
<&clock_dispcc DISP_CC_MDSS_DP_PIXEL_CLK>,
|
||||
<&clock_dispcc DISP_CC_MDSS_DP_PIXEL1_CLK>;
|
||||
clock-names = "core_aux_clk", "core_usb_ref_clk_src",
|
||||
"core_usb_pipe_clk", "link_clk", "link_clk_src",
|
||||
"link_iface_clk", "pixel_clk_rcg", "pixel_parent",
|
||||
"pixel1_clk_rcg", "strm0_pixel_clk", "strm1_pixel_clk";
|
||||
clock-mmrm = <0 0 0 0 DISP_CC_MDSS_DP_LINK_CLK_SRC 0 0 0 0 0 0>;
|
||||
|
||||
qcom,pll-revision = "5nm-v1";
|
||||
qcom,phy-version = <0x420>;
|
||||
qcom,dp-aux-switch = <&fsa4480>;
|
||||
|
||||
qcom,aux-cfg0-settings = [1c 00];
|
||||
qcom,aux-cfg1-settings = [20 13 23 1d];
|
||||
qcom,aux-cfg2-settings = [24 00];
|
||||
qcom,aux-cfg3-settings = [28 00];
|
||||
qcom,aux-cfg4-settings = [2c 0a];
|
||||
qcom,aux-cfg5-settings = [30 26];
|
||||
qcom,aux-cfg6-settings = [34 0a];
|
||||
qcom,aux-cfg7-settings = [38 03];
|
||||
qcom,aux-cfg8-settings = [3c bb];
|
||||
qcom,aux-cfg9-settings = [40 03];
|
||||
qcom,max-pclk-frequency-khz = <593470>;
|
||||
qcom,mst-enable;
|
||||
qcom,dsc-feature-enable;
|
||||
qcom,fec-feature-enable;
|
||||
qcom,dsc-continuous-pps;
|
||||
qcom,qos-cpu-mask = <0xf>;
|
||||
qcom,qos-cpu-latency-us = <300>;
|
||||
vdda-1p2-supply = <&L6B>;
|
||||
vdda-0p9-supply = <&L1B>;
|
||||
vdd_mx-supply = <&VDD_MXA_LEVEL>;
|
||||
|
||||
qcom,hbr-rbr-voltage-swing = <0x07 0x0f 0x16 0x1f>,
|
||||
<0x11 0x1e 0x1f 0xff>,
|
||||
<0x16 0x1f 0xff 0xff>,
|
||||
<0x1f 0xff 0xff 0xff>;
|
||||
qcom,hbr-rbr-pre-emphasis = <0x00 0x0d 0x14 0x1a>,
|
||||
<0x00 0x0e 0x15 0xff>,
|
||||
<0x00 0x0e 0xff 0xff>,
|
||||
<0x02 0xff 0xff 0xff>;
|
||||
|
||||
qcom,hbr2-3-voltage-swing = <0x02 0x12 0x16 0x1a>,
|
||||
<0x09 0x19 0x1f 0xff>,
|
||||
<0x10 0x1f 0xff 0xff>,
|
||||
<0x1f 0xff 0xff 0xff>;
|
||||
qcom,hbr2-3-pre-emphasis = <0x00 0x0c 0x15 0x1b>,
|
||||
<0x02 0x0e 0x16 0xff>,
|
||||
<0x02 0x11 0xff 0xff>,
|
||||
<0x04 0xff 0xff 0xff>;
|
||||
|
||||
qcom,ctrl-supply-entries {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,ctrl-supply-entry@0 {
|
||||
reg = <0>;
|
||||
qcom,supply-name = "vdda-1p2";
|
||||
qcom,supply-min-voltage = <1200000>;
|
||||
qcom,supply-max-voltage = <1200000>;
|
||||
qcom,supply-enable-load = <21700>;
|
||||
qcom,supply-disable-load = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,phy-supply-entries {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,phy-supply-entry@0 {
|
||||
reg = <0>;
|
||||
qcom,supply-name = "vdda-0p9";
|
||||
qcom,supply-min-voltage = <912000>;
|
||||
qcom,supply-max-voltage = <912000>;
|
||||
qcom,supply-enable-load = <115000>;
|
||||
qcom,supply-disable-load = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,core-supply-entries {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,core-supply-entry@0 {
|
||||
reg = <0>;
|
||||
qcom,supply-name = "refgen";
|
||||
qcom,supply-min-voltage = <0>;
|
||||
qcom,supply-max-voltage = <0>;
|
||||
qcom,supply-enable-load = <0>;
|
||||
qcom,supply-disable-load = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,pll-supply-entries {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,pll-supply-entry@0 {
|
||||
reg = <0>;
|
||||
qcom,supply-name = "vdd_mx";
|
||||
qcom,supply-min-voltage =
|
||||
<RPMH_REGULATOR_LEVEL_TURBO>;
|
||||
qcom,supply-max-voltage =
|
||||
<RPMH_REGULATOR_LEVEL_MAX>;
|
||||
qcom,supply-enable-load = <0>;
|
||||
qcom,supply-disable-load = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
@@ -1,130 +0,0 @@
|
||||
Qualcomm Technologies, Inc.
|
||||
|
||||
mdss-dsi is the master DSI device which supports multiple DSI host controllers
|
||||
that are compatible with MIPI display serial interface specification.
|
||||
|
||||
DSI Controller and PHY:
|
||||
Required properties:
|
||||
- compatible: Should be "qcom,dsi-ctrl-hw-v<version>". Supported
|
||||
versions include 2.4, 2.5, and 2.6.
|
||||
eg: qcom,dsi-ctrl-hw-v2.2, qcom,dsi-ctrl-hw-v2.3,
|
||||
qcom,dsi-ctrl-hw-v2.4, qcom,dsi-ctrl-hw-v2.5,
|
||||
qcom,dsi-ctrl-hw-v2.6
|
||||
And for dsi phy driver:
|
||||
qcom,dsi-phy-v3.0, qcom,dsi-phy-v4.0,
|
||||
qcom,dsi-phy-v4.1, qcom,dsi-phy-v4.2
|
||||
- reg: List of base address and length of memory mapped
|
||||
regions of DSI controller, disp_cc and mdp_intf.
|
||||
- reg-names: A list of strings that name the list of regs.
|
||||
"dsi_ctrl" - DSI controller memory region.
|
||||
"disp_cc_base" - Base address of disp_cc memory region.
|
||||
"mdp_intf_base" - Base address of mdp_intf memory region.
|
||||
- cell-index: Specifies the controller instance.
|
||||
- clocks: Clocks required for DSI controller operation.
|
||||
- clock-names: Names of the clocks corresponding to handles. Following
|
||||
clocks are required:
|
||||
"mdp_core_clk"
|
||||
"iface_clk"
|
||||
"core_mmss_clk"
|
||||
"bus_clk"
|
||||
"byte_clk"
|
||||
"pixel_clk"
|
||||
"core_clk"
|
||||
"byte_clk_rcg"
|
||||
"pixel_clk_rcg"
|
||||
- pll-label Supported versions of DSI PLL:
|
||||
dsi_pll_5nm
|
||||
- gdsc-supply: phandle to gdsc regulator node.
|
||||
- vdda-supply: phandle to vdda regulator node.
|
||||
- vcca-supply: phandle to vcca regulator node.
|
||||
- interrupt-parent phandle to the interrupt parent device node.
|
||||
- interrupts: The interrupt signal from the DSI block.
|
||||
- qcom,dsi-default-panel: Specifies the default panel.
|
||||
- qcom,mdp: Specifies the mdp node which can find panel node from this.
|
||||
- qcom,demura-panel-id: Specifies the u64 demura panel ID as an array <2>
|
||||
If demura is not used this node must be set to <0,0>.
|
||||
|
||||
Bus Scaling Data:
|
||||
- qcom,msm-bus,name: String property describing MDSS client.
|
||||
- qcom,msm-bus,num-cases: This is the number of bus scaling use cases
|
||||
defined in the vectors property. This must be
|
||||
set to <2> for MDSS DSI driver where use-case 0
|
||||
is used to remove BW votes from the system. Use
|
||||
case 1 is used to generate bandwidth requestes
|
||||
when sending command packets.
|
||||
- qcom,msm-bus,num-paths: This represents number of paths in each bus
|
||||
scaling usecase. This value depends on number of
|
||||
AXI master ports dedicated to MDSS for
|
||||
particular chipset.
|
||||
- qcom,msm-bus,vectors-KBps: A series of 4 cell properties, with a format
|
||||
of (src, dst, ab, ib) which is defined at
|
||||
Documentation/devicetree/bindings/arm/msm/msm_bus.txt.
|
||||
DSI driver should always set average bandwidth
|
||||
(ab) to 0 and always use instantaneous
|
||||
bandwidth(ib) values.
|
||||
|
||||
Optional properties:
|
||||
- label: String to describe controller.
|
||||
- qcom,platform-te-gpio: Specifies the gpio used for TE.
|
||||
- qcom,panel-te-source: Specifies the source pin for Vsync from panel or WD Timer.
|
||||
- qcom,dsi-ctrl: handle to dsi controller device
|
||||
- qcom,dsi-phy: handle to dsi phy device
|
||||
- qcom,dsi-ctrl-num: Specifies the DSI controllers to use for primary panel
|
||||
- qcom,dsi-sec-ctrl-num: Specifies the DSI controllers to use for secondary panel
|
||||
- qcom,dsi-phy-num: Specifies the DSI PHYs to use for primary panel
|
||||
- qcom,dsi-sec-phy-num: Specifies the DSI PHYs to use for secondary panel
|
||||
- qcom,dsi-select-clocks: Specifies the required clocks to use for primary panel
|
||||
- qcom,dsi-select-sec-clocks: Specifies the required clocks to use for secondary panel
|
||||
- qcom,dsi-display-list: Specifies the list of supported displays.
|
||||
- qcom,dsi-manager: Specifies dsi manager is present
|
||||
- qcom,dsi-display: Specifies dsi display is present
|
||||
- qcom,hdmi-display: Specifies hdmi is present
|
||||
- qcom,dp-display: Specified dp is present
|
||||
- qcom,<type>-supply-entries: A node that lists the elements of the supply used by the
|
||||
a particular "type" of DSI module. The module "types"
|
||||
can be "core", "ctrl", and "phy". Within the same type,
|
||||
there can be more than one instance of this binding,
|
||||
in which case the entry would be appended with the
|
||||
supply entry index.
|
||||
e.g. qcom,ctrl-supply-entry@0
|
||||
-- qcom,supply-name: name of the supply (vdd/vdda/vddio)
|
||||
-- qcom,supply-min-voltage: minimum voltage level (uV)
|
||||
-- qcom,supply-max-voltage: maximum voltage level (uV)
|
||||
-- qcom,supply-enable-load: load drawn (uA) from enabled supply
|
||||
-- qcom,supply-disable-load: load drawn (uA) from disabled supply
|
||||
-- qcom,supply-pre-on-sleep: time to sleep (ms) before turning on
|
||||
-- qcom,supply-post-on-sleep: time to sleep (ms) after turning on
|
||||
-- qcom,supply-pre-off-sleep: time to sleep (ms) before turning off
|
||||
-- qcom,supply-post-off-sleep: time to sleep (ms) after turning off
|
||||
- qcom,mdss-mdp-transfer-time-us: Specifies the dsi transfer time for command mode
|
||||
panels in microseconds. Driver uses this number to adjust
|
||||
the clock rate according to the expected transfer time.
|
||||
Increasing this value would slow down the mdp processing
|
||||
and can result in slower performance.
|
||||
Decreasing this value can speed up the mdp processing,
|
||||
but this can also impact power consumption.
|
||||
As a rule this time should not be higher than the time
|
||||
that would be expected with the processing at the
|
||||
dsi link rate since anyways this would be the maximum
|
||||
transfer time that could be achieved.
|
||||
If ping pong split enabled, this time should not be higher
|
||||
than two times the dsi link rate time.
|
||||
If the property is not specified, then the default value is 14000 us.
|
||||
- qcom,dsi-phy-pll-bypass: A boolean property that enables bypassing hardware access in DSI
|
||||
PHY/PLL drivers to allow the DSI driver to run on emulation platforms
|
||||
that might be missing those modules.
|
||||
- - qcom,null-insertion-enabled: A boolean to enable NULL packet insertion feature for DSI controller.
|
||||
- ports: This video port is used when external bridge is present.
|
||||
The connection is modeled using the OF graph bindings
|
||||
specified in Documentation/devicetree/bindings/graph.txt.
|
||||
Video port 0 reg 0 is for the bridge output. The remote
|
||||
endpoint phandle should be mipi_dsi_device device node.
|
||||
- qcom,dsi-pll-ssc-en: Boolean property to indicate that ssc is enabled.
|
||||
- qcom,dsi-pll-ssc-mode: Spread-spectrum clocking. It can be either "down-spread"
|
||||
or "center-spread". Default is "down-spread" if it is not specified.
|
||||
- qcom,ssc-frequency-hz: Integer property to specify the spread frequency
|
||||
to be programmed for the SSC.
|
||||
- qcom,ssc-ppm: Integer property to specify the Parts per Million
|
||||
value of SSC.
|
||||
- qcom,avdd-regulator-gpio: Specifies the gpio pin used for avdd
|
||||
power supply regulator.
|
360
bindings/sde-dsi.yaml
Normal file
360
bindings/sde-dsi.yaml
Normal file
@@ -0,0 +1,360 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sde-dsi.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MDSS DSI
|
||||
|
||||
description: |
|
||||
mdss-dsi is the master DSI device which supports multiple DSI host controllers
|
||||
that are compatible with MIPI display serial interface specification.
|
||||
|
||||
maintainers:
|
||||
- Vara Reddy <quic_varar@quicinc.com>
|
||||
- Vishnuvardhan Prodduturi <quic_vproddut@quicinc.com>
|
||||
|
||||
pattern properties:
|
||||
"qcom,+\w+\-supply\-entries":
|
||||
description: |
|
||||
A node that lists the elements of the supply used by the
|
||||
a particular "type" of DSI module. The module "types"
|
||||
can be "core", "ctrl", and "phy". Within the same type,
|
||||
there can be more than one instance of this binding,
|
||||
in which case the entry would be appended with the
|
||||
supply entry index.
|
||||
e.g. qcom,ctrl-supply-entry@0
|
||||
type: object
|
||||
patternProperties:
|
||||
"qcom,ctrl\-supply\-entry\@+\w":
|
||||
properties:
|
||||
reg:
|
||||
description: offset and length of the register set for the device.
|
||||
qcom,supply-name:
|
||||
description: name of the supply (vdd/vdda/vddio)
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
qcom,supply-min-voltage:
|
||||
description: minimum voltage level (uV)
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-max-voltage:
|
||||
description: maximum voltage level (uV)
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-enable-load:
|
||||
description: load drawn (uA) from enabled supply
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-disable-load:
|
||||
description: load drawn (uA) from disabled supply
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-pre-on-sleep:
|
||||
description: time to sleep (ms) before turning on
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-post-on-sleep:
|
||||
description: time to sleep (ms) after turning on
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-pre-off-sleep:
|
||||
description: time to sleep (ms) before turning off
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-post-off-sleep:
|
||||
description: time to sleep (ms) after turning off
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
"qcom,core\-supply\-entry\@+\w":
|
||||
properties:
|
||||
reg:
|
||||
description: offset and length of the register set for the device.
|
||||
qcom,supply-name:
|
||||
description: name of the supply (vdd/vdda/vddio)
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
qcom,supply-min-voltage:
|
||||
description: minimum voltage level (uV)
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-max-voltage:
|
||||
description: maximum voltage level (uV)
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-enable-load:
|
||||
description: load drawn (uA) from enabled supply
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-disable-load:
|
||||
description: load drawn (uA) from disabled supply
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-pre-on-sleep:
|
||||
description: time to sleep (ms) before turning on
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-post-on-sleep:
|
||||
description: time to sleep (ms) after turning on
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-pre-off-sleep:
|
||||
description: time to sleep (ms) before turning off
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-post-off-sleep:
|
||||
description: time to sleep (ms) after turning off
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
"qcom,phy\-supply\-entry\@+\w":
|
||||
properties:
|
||||
reg:
|
||||
description: offset and length of the register set for the device.
|
||||
qcom,supply-name:
|
||||
description: name of the supply (vdd/vdda/vddio)
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
qcom,supply-min-voltage:
|
||||
description: minimum voltage level (uV)
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-max-voltage:
|
||||
description: maximum voltage level (uV)
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-enable-load:
|
||||
description: load drawn (uA) from enabled supply
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-disable-load:
|
||||
description: load drawn (uA) from disabled supply
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-pre-on-sleep:
|
||||
description: time to sleep (ms) before turning on
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-post-on-sleep:
|
||||
description: time to sleep (ms) after turning on
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-pre-off-sleep:
|
||||
description: time to sleep (ms) before turning off
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
qcom,supply-post-off-sleep:
|
||||
description: time to sleep (ms) after turning off
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,dsi-ctrl-hw-v2.4
|
||||
- qcom,dsi-ctrl-hw-v2.5
|
||||
- qcom,dsi-ctrl-hw-v2.6
|
||||
- qcom,dsi-ctrl-hw-v2.7
|
||||
- qcom,dsi-ctrl-hw-v2.8
|
||||
- qcom,dsi-ctrl-hw-v2.9
|
||||
- qcom,dsi-phy-v3.0
|
||||
- qcom,dsi-phy-v4.0
|
||||
- qcom,dsi-phy-v4.1
|
||||
- qcom,dsi-phy-v4.2
|
||||
- qcom,dsi-phy-v4.3
|
||||
- qcom,dsi-phy-v4.3.2
|
||||
- qcom,dsi-phy-v5.2
|
||||
- qcom,dsi-phy-v7.2
|
||||
|
||||
reg:
|
||||
description: |
|
||||
List of base address and length of memory mapped
|
||||
regions of DSI controller, disp_cc and mdp_intf.
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: dsi_ctrl
|
||||
- const: disp_cc_base
|
||||
- const: mdp_intf_base
|
||||
|
||||
cell-index:
|
||||
description: Specifies the controller instance.
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- const: mdp_core_clk
|
||||
- const: iface_clk
|
||||
- const: core_mmss_clk
|
||||
- const: bus_clk
|
||||
- const: byte_clk
|
||||
- const: pixel_clk
|
||||
- const: core_clk
|
||||
- const: byte_clk_rcg
|
||||
- const: pixel_clk_rcg
|
||||
|
||||
pll-label:
|
||||
description: Supported versions of DSI PLL.
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
enum: [dsi_pll_5nm, dsi_pll_4nm, dsi_pll_3nm]
|
||||
|
||||
gdsc-supply:
|
||||
description: phandle to gdsc regulator node.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
vdda-supply:
|
||||
description: phandle to vdda regulator node.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
vcca-supply:
|
||||
description: phandle to vcca regulator node.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
interrupt-parent:
|
||||
description: phandle to the interrupt parent device node.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
interrupts:
|
||||
description: The interrupt signal from the DSI block.
|
||||
|
||||
qcom,dsi-default-panel:
|
||||
description: Specifies the default panel.
|
||||
|
||||
qcom,mdp:
|
||||
description: Specifies the mdp node which can find panel node from this.
|
||||
|
||||
qcom,demura-panel-id:
|
||||
description: |
|
||||
Specifies the u64 demura panel ID as an array <2>
|
||||
If demura is not used this node must be set to <0,0>.
|
||||
$ref: /schemas/types.yaml#/definitions/uint64
|
||||
|
||||
qcom,msm-bus,name:
|
||||
description: String property describing MDSS client.
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
|
||||
qcom,msm-bus,num-cases:
|
||||
description: |
|
||||
This is the number of bus scaling use cases
|
||||
defined in the vectors property. This must be
|
||||
set to <2> for MDSS DSI driver where use-case 0
|
||||
is used to remove BW votes from the system. Use
|
||||
case 1 is used to generate bandwidth requestes
|
||||
when sending command packets.
|
||||
|
||||
qcom,msm-bus,num-paths:
|
||||
description: |
|
||||
This represents number of paths in each bus
|
||||
scaling usecase. This value depends on number of
|
||||
AXI master ports dedicated to MDSS for
|
||||
particular chipset.
|
||||
|
||||
qcom,msm-bus,vectors-KBps:
|
||||
description: |
|
||||
A series of 4 cell properties, with a format
|
||||
of (src, dst, ab, ib) which is defined at
|
||||
Documentation/devicetree/bindings/arm/msm/msm_bus.txt.
|
||||
DSI driver should always set average bandwidth
|
||||
(ab) to 0 and always use instantaneous
|
||||
bandwidth(ib) values.
|
||||
|
||||
label:
|
||||
description: String to describe controller.
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
|
||||
qcom,platform-te-gpio:
|
||||
description: Specifies the gpio used for TE.
|
||||
|
||||
qcom,panel-te-source:
|
||||
description: Specifies the source pin for Vsync from panel or WD Timer.
|
||||
|
||||
qcom,dsi-ctrl:
|
||||
description: handle to dsi controller device
|
||||
|
||||
qcom,dsi-phy:
|
||||
description: handle to dsi phy device
|
||||
|
||||
qcom,dsi-ctrl-num:
|
||||
description: Specifies the DSI controllers to use for primary panel
|
||||
|
||||
qcom,dsi-sec-ctrl-num:
|
||||
description: Specifies the DSI controllers to use for secondary panel
|
||||
|
||||
qcom,dsi-phy-num:
|
||||
description: Specifies the DSI PHYs to use for primary panel
|
||||
|
||||
qcom,dsi-sec-phy-num:
|
||||
description: Specifies the DSI PHYs to use for secondary panel
|
||||
|
||||
qcom,dsi-select-clocks:
|
||||
description: Specifies the required clocks to use for primary panel
|
||||
|
||||
qcom,dsi-select-sec-clocks:
|
||||
description: Specifies the required clocks to use for secondary panel
|
||||
|
||||
qcom,dsi-display-list:
|
||||
description: Specifies the list of supported displays.
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
|
||||
qcom,dsi-manager:
|
||||
description: Specifies dsi manager is present
|
||||
|
||||
qcom,dsi-display:
|
||||
description: Specifies dsi display is present
|
||||
|
||||
qcom,hdmi-display:
|
||||
description: Specifies hdmi is present
|
||||
|
||||
qcom,dp-display:
|
||||
description: Specified dp is present
|
||||
|
||||
qcom,mdss-mdp-transfer-time-us:
|
||||
description: |
|
||||
Specifies the dsi transfer time for command mode
|
||||
panels in microseconds. Driver uses this number to adjust
|
||||
the clock rate according to the expected transfer time.
|
||||
Increasing this value would slow down the mdp processing
|
||||
and can result in slower performance.
|
||||
Decreasing this value can speed up the mdp processing,
|
||||
but this can also impact power consumption.
|
||||
As a rule this time should not be higher than the time
|
||||
that would be expected with the processing at the
|
||||
dsi link rate since anyways this would be the maximum
|
||||
transfer time that could be achieved.
|
||||
If ping pong split enabled, this time should not be higher
|
||||
than two times the dsi link rate time.
|
||||
If the property is not specified, then the default value is 14000 us.
|
||||
|
||||
qcom,dsi-phy-pll-bypass:
|
||||
description: |
|
||||
A boolean property that enables bypassing hardware access in DSI
|
||||
PHY/PLL drivers to allow the DSI driver to run on emulation platforms
|
||||
that might be missing those modules.
|
||||
|
||||
qcom,null-insertion-enabled:
|
||||
description: A boolean to enable NULL packet insertion feature for DSI controller.
|
||||
|
||||
ports:
|
||||
description: |
|
||||
This video port is used when external bridge is present.
|
||||
The connection is modeled using the OF graph bindings
|
||||
specified in Documentation/devicetree/bindings/graph.txt.
|
||||
Video port 0 reg 0 is for the bridge output. The remote
|
||||
endpoint phandle should be mipi_dsi_device device node.
|
||||
|
||||
qcom,dsi-pll-ssc-en:
|
||||
description: Boolean property to indicate that ssc is enabled.
|
||||
|
||||
qcom,dsi-pll-ssc-mode:
|
||||
description: |
|
||||
Spread-spectrum clocking. It can be either "down-spread"
|
||||
or "center-spread". Default is "down-spread" if it is not specified.
|
||||
$ref: /schemas/types.yaml#/definitions/string-array
|
||||
default: down-spread
|
||||
enum: [down-spread, center-spread]
|
||||
|
||||
qcom,ssc-frequency-hz:
|
||||
description: |
|
||||
Integer property to specify the spread frequency
|
||||
to be programmed for the SSC.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
qcom,ssc-ppm:
|
||||
description: Integer property to specify the Parts per Million value of SSC.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
qcom,avdd-regulator-gpio:
|
||||
description: Specifies the gpio pin used for avdd power supply regulator.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
- cell-index
|
||||
- clocks
|
||||
- clock-names
|
||||
- pll-label
|
||||
- gdsc-supply
|
||||
- vdda-supply
|
||||
- vcca-supply
|
||||
- interrupt-parent
|
||||
- qcom,dsi-default-panel
|
||||
- qcom,mdp
|
||||
- qcom,demura-panel-id
|
||||
- qcom,msm-bus,name
|
||||
- qcom,msm-bus,num-cases
|
||||
- qcom,msm-bus,num-paths
|
||||
- qcom,msm-bus,vectors-KBps
|
||||
|
||||
...
|
@@ -1,23 +0,0 @@
|
||||
Qualcomm Technologies, Inc. Snapdragon Display Engine (SDE) writeback display
|
||||
|
||||
Required properties:
|
||||
- compatible: "qcom,wb-display"
|
||||
|
||||
Optional properties:
|
||||
- cell-index: Index of writeback device instance.
|
||||
Default to 0 if not specified.
|
||||
- label: String to describe this writeback display.
|
||||
Default to "unknown" if not specified.
|
||||
|
||||
Example:
|
||||
|
||||
/ {
|
||||
...
|
||||
|
||||
sde_wb: qcom,wb-display {
|
||||
compatible = "qcom,wb-display";
|
||||
cell-index = <2>;
|
||||
label = "wb_display";
|
||||
};
|
||||
|
||||
};
|
36
bindings/sde-wb.yaml
Normal file
36
bindings/sde-wb.yaml
Normal file
@@ -0,0 +1,36 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sde-wb.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm Technologies, Inc. Snapdragon Display Engine (SDE) writeback display
|
||||
|
||||
maintainers:
|
||||
- Veera Sundaram Sankaran <quic_veeras@quicinc.com>
|
||||
- Kalyan Thota <quic_kalyant@quicinc.com>
|
||||
- Ravi Teja Tamatam <quic_travitej@quicinc.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: qcom,wb-display
|
||||
|
||||
cell-index:
|
||||
description: Index of writeback device instance. Default to 0 if not specified.
|
||||
default: 0
|
||||
|
||||
label:
|
||||
description: String to describe this writeback display. Default to "unknown" if not specified.
|
||||
default: "unknown"
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
examples:
|
||||
- |
|
||||
sde_wb: qcom,wb-display {
|
||||
compatible = "qcom,wb-display";
|
||||
cell-index = <2>;
|
||||
label = "wb_display";
|
||||
};
|
||||
...
|
1147
bindings/sde.txt
1147
bindings/sde.txt
File diff suppressed because it is too large
Load Diff
2076
bindings/sde.yaml
Normal file
2076
bindings/sde.yaml
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user