2023-08-23 10:45:40 +02:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
2022-10-24 19:42:14 +03:00
|
|
|
%YAML 1.2
|
|
|
|
---
|
|
|
|
$id: http://devicetree.org/schemas/display/msm/qcom,mdss.yaml#
|
|
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
|
|
|
|
title: Qualcomm Mobile Display SubSystem (MDSS)
|
|
|
|
|
|
|
|
maintainers:
|
|
|
|
- Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
|
|
|
|
- Rob Clark <robdclark@gmail.com>
|
|
|
|
|
|
|
|
description:
|
2023-08-14 16:28:21 -05:00
|
|
|
This is the bindings documentation for the Mobile Display Subsystem(MDSS) that
|
2022-10-24 19:42:14 +03:00
|
|
|
encapsulates sub-blocks like MDP5, DSI, HDMI, eDP, etc.
|
|
|
|
|
|
|
|
properties:
|
2023-01-18 06:12:36 +02:00
|
|
|
$nodename:
|
|
|
|
pattern: "^display-subsystem@[0-9a-f]+$"
|
|
|
|
|
2022-10-24 19:42:14 +03:00
|
|
|
compatible:
|
|
|
|
enum:
|
|
|
|
- qcom,mdss
|
|
|
|
|
|
|
|
reg:
|
|
|
|
minItems: 2
|
|
|
|
maxItems: 3
|
|
|
|
|
|
|
|
reg-names:
|
|
|
|
minItems: 2
|
|
|
|
items:
|
|
|
|
- const: mdss_phys
|
|
|
|
- const: vbif_phys
|
|
|
|
- const: vbif_nrt_phys
|
|
|
|
|
|
|
|
interrupts:
|
|
|
|
maxItems: 1
|
|
|
|
|
|
|
|
interrupt-controller: true
|
|
|
|
|
|
|
|
"#interrupt-cells":
|
|
|
|
const: 1
|
|
|
|
|
|
|
|
power-domains:
|
|
|
|
maxItems: 1
|
|
|
|
description: |
|
|
|
|
The MDSS power domain provided by GCC
|
|
|
|
|
|
|
|
clocks:
|
2023-01-18 06:12:35 +02:00
|
|
|
oneOf:
|
|
|
|
- minItems: 3
|
|
|
|
items:
|
|
|
|
- description: Display abh clock
|
|
|
|
- description: Display axi clock
|
|
|
|
- description: Display vsync clock
|
|
|
|
- description: Display core clock
|
|
|
|
- minItems: 1
|
|
|
|
items:
|
|
|
|
- description: Display abh clock
|
|
|
|
- description: Display core clock
|
2022-10-24 19:42:14 +03:00
|
|
|
|
|
|
|
clock-names:
|
2023-01-18 06:12:35 +02:00
|
|
|
oneOf:
|
|
|
|
- minItems: 3
|
|
|
|
items:
|
|
|
|
- const: iface
|
|
|
|
- const: bus
|
|
|
|
- const: vsync
|
|
|
|
- const: core
|
|
|
|
- minItems: 1
|
|
|
|
items:
|
|
|
|
- const: iface
|
|
|
|
- const: core
|
2022-10-24 19:42:14 +03:00
|
|
|
|
|
|
|
"#address-cells":
|
|
|
|
const: 1
|
|
|
|
|
|
|
|
"#size-cells":
|
|
|
|
const: 1
|
|
|
|
|
|
|
|
ranges: true
|
|
|
|
|
|
|
|
resets:
|
|
|
|
items:
|
|
|
|
- description: MDSS_CORE reset
|
|
|
|
|
2025-04-20 17:12:43 +02:00
|
|
|
interconnects:
|
|
|
|
minItems: 1
|
|
|
|
items:
|
|
|
|
- description: Interconnect path from mdp0 (or a single mdp) port to the data bus
|
|
|
|
- description: Interconnect path from CPU to the reg bus
|
|
|
|
|
|
|
|
interconnect-names:
|
|
|
|
minItems: 1
|
|
|
|
items:
|
|
|
|
- const: mdp0-mem
|
|
|
|
- const: cpu-cfg
|
|
|
|
|
2022-10-24 19:42:14 +03:00
|
|
|
required:
|
|
|
|
- compatible
|
|
|
|
- reg
|
|
|
|
- reg-names
|
|
|
|
- interrupts
|
|
|
|
- interrupt-controller
|
|
|
|
- "#interrupt-cells"
|
|
|
|
- power-domains
|
|
|
|
- clocks
|
|
|
|
- clock-names
|
|
|
|
- "#address-cells"
|
|
|
|
- "#size-cells"
|
|
|
|
- ranges
|
|
|
|
|
|
|
|
patternProperties:
|
2023-01-18 06:12:37 +02:00
|
|
|
"^display-controller@[1-9a-f][0-9a-f]*$":
|
2022-10-24 19:42:14 +03:00
|
|
|
type: object
|
2023-01-24 17:02:28 -06:00
|
|
|
additionalProperties: true
|
2022-10-24 19:42:14 +03:00
|
|
|
properties:
|
|
|
|
compatible:
|
2023-01-18 06:12:34 +02:00
|
|
|
contains:
|
|
|
|
const: qcom,mdp5
|
2022-10-24 19:42:14 +03:00
|
|
|
|
|
|
|
"^dsi@[1-9a-f][0-9a-f]*$":
|
|
|
|
type: object
|
2023-01-24 17:02:28 -06:00
|
|
|
additionalProperties: true
|
2022-10-24 19:42:14 +03:00
|
|
|
properties:
|
|
|
|
compatible:
|
dt-bindings: msm: dsi-controller-main: Add compatible strings for every current SoC
Currently we do not differentiate between the various users of the
qcom,mdss-dsi-ctrl. The driver is flexible enough to operate from one
compatible string but, the hardware does have some significant differences
in the number of clocks.
To facilitate documenting the clocks add the following compatible strings
- qcom,apq8064-dsi-ctrl
- qcom,msm8916-dsi-ctrl
- qcom,msm8953-dsi-ctrl
- qcom,msm8974-dsi-ctrl
- qcom,msm8996-dsi-ctrl
- qcom,msm8998-dsi-ctrl
- qcom,sc7180-dsi-ctrl
- qcom,sc7280-dsi-ctrl
- qcom,sdm660-dsi-ctrl
- qcom,sdm845-dsi-ctrl
- qcom,sm8150-dsi-ctrl
- qcom,sm8250-dsi-ctrl
- qcom,sm8350-dsi-ctrl
- qcom,sm8450-dsi-ctrl
- qcom,sm8550-dsi-ctrl
- qcom,qcm2290-dsi-ctrl
Deprecate qcom,dsi-ctrl-6g-qcm2290 in favour of the desired format while we
do so.
Several MDSS yaml files exist which document the dsi sub-node.
For each existing SoC MDSS yaml, provide the right dsi compat string.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/519078/
Link: https://lore.kernel.org/r/20230118171621.102694-2-bryan.odonoghue@linaro.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
2023-01-18 17:16:20 +00:00
|
|
|
contains:
|
|
|
|
const: qcom,mdss-dsi-ctrl
|
2022-10-24 19:42:14 +03:00
|
|
|
|
|
|
|
"^phy@[1-9a-f][0-9a-f]*$":
|
|
|
|
type: object
|
2023-01-24 17:02:28 -06:00
|
|
|
additionalProperties: true
|
2022-10-24 19:42:14 +03:00
|
|
|
properties:
|
|
|
|
compatible:
|
|
|
|
enum:
|
|
|
|
- qcom,dsi-phy-14nm
|
|
|
|
- qcom,dsi-phy-14nm-660
|
|
|
|
- qcom,dsi-phy-14nm-8953
|
|
|
|
- qcom,dsi-phy-20nm
|
2023-06-01 19:00:08 +02:00
|
|
|
- qcom,dsi-phy-28nm-8226
|
2024-06-23 22:30:38 +02:00
|
|
|
- qcom,dsi-phy-28nm-8937
|
2022-10-24 19:42:14 +03:00
|
|
|
- qcom,dsi-phy-28nm-hpm
|
2024-01-21 20:41:01 +01:00
|
|
|
- qcom,dsi-phy-28nm-hpm-fam-b
|
2022-10-24 19:42:14 +03:00
|
|
|
- qcom,dsi-phy-28nm-lp
|
|
|
|
- qcom,hdmi-phy-8084
|
|
|
|
- qcom,hdmi-phy-8660
|
|
|
|
- qcom,hdmi-phy-8960
|
|
|
|
- qcom,hdmi-phy-8974
|
|
|
|
- qcom,hdmi-phy-8996
|
|
|
|
|
|
|
|
"^hdmi-tx@[1-9a-f][0-9a-f]*$":
|
|
|
|
type: object
|
2023-01-24 17:02:28 -06:00
|
|
|
additionalProperties: true
|
2022-10-24 19:42:14 +03:00
|
|
|
properties:
|
|
|
|
compatible:
|
|
|
|
enum:
|
|
|
|
- qcom,hdmi-tx-8084
|
|
|
|
- qcom,hdmi-tx-8660
|
|
|
|
- qcom,hdmi-tx-8960
|
|
|
|
- qcom,hdmi-tx-8974
|
|
|
|
- qcom,hdmi-tx-8994
|
|
|
|
- qcom,hdmi-tx-8996
|
|
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
|
|
examples:
|
|
|
|
- |
|
|
|
|
#include <dt-bindings/clock/qcom,gcc-msm8916.h>
|
|
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
2023-01-18 06:12:36 +02:00
|
|
|
display-subsystem@1a00000 {
|
2022-10-24 19:42:14 +03:00
|
|
|
compatible = "qcom,mdss";
|
|
|
|
reg = <0x1a00000 0x1000>,
|
|
|
|
<0x1ac8000 0x3000>;
|
|
|
|
reg-names = "mdss_phys", "vbif_phys";
|
|
|
|
|
|
|
|
power-domains = <&gcc MDSS_GDSC>;
|
|
|
|
|
|
|
|
clocks = <&gcc GCC_MDSS_AHB_CLK>,
|
|
|
|
<&gcc GCC_MDSS_AXI_CLK>,
|
|
|
|
<&gcc GCC_MDSS_VSYNC_CLK>;
|
|
|
|
clock-names = "iface",
|
|
|
|
"bus",
|
|
|
|
"vsync";
|
|
|
|
|
|
|
|
interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
|
|
|
|
interrupt-controller;
|
|
|
|
#interrupt-cells = <1>;
|
|
|
|
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <1>;
|
|
|
|
ranges;
|
|
|
|
|
2023-01-18 06:12:37 +02:00
|
|
|
display-controller@1a01000 {
|
|
|
|
compatible = "qcom,msm8916-mdp5", "qcom,mdp5";
|
2022-10-24 19:42:14 +03:00
|
|
|
reg = <0x01a01000 0x89000>;
|
|
|
|
reg-names = "mdp_phys";
|
|
|
|
|
|
|
|
interrupt-parent = <&mdss>;
|
|
|
|
interrupts = <0>;
|
|
|
|
|
|
|
|
clocks = <&gcc GCC_MDSS_AHB_CLK>,
|
|
|
|
<&gcc GCC_MDSS_AXI_CLK>,
|
|
|
|
<&gcc GCC_MDSS_MDP_CLK>,
|
|
|
|
<&gcc GCC_MDSS_VSYNC_CLK>;
|
|
|
|
clock-names = "iface",
|
|
|
|
"bus",
|
|
|
|
"core",
|
|
|
|
"vsync";
|
|
|
|
|
|
|
|
iommus = <&apps_iommu 4>;
|
|
|
|
|
|
|
|
ports {
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
|
|
|
|
port@0 {
|
|
|
|
reg = <0>;
|
|
|
|
mdp5_intf1_out: endpoint {
|
|
|
|
remote-endpoint = <&dsi0_in>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
...
|