Use "qcom,mdp" to specify the list of phandles for all the DPU instances. This will enable a DSI display driver to know all the DPUs present in the system. This can also be used to differentiate single DPU and dual DPU usecases based on number of MDPs enabled. Change-Id: I668c971b4e227d4a0c8fa321ed624bc45a43b163 Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com> Signed-off-by: lnxdisplay <lnxdisplay@localhost>
365 lines
13 KiB
YAML
365 lines
13 KiB
YAML
# 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 list of phandles to all sde kms device nodes.
|
|
|
|
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-select-sec-sync-clocks:
|
|
description: Specifies the required clocks to use for secondary
|
|
panel when sync mode is enabled.
|
|
|
|
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
|
|
|
|
...
|