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>
208 lines
4.5 KiB
YAML
208 lines
4.5 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
|
|
%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:
|
|
This is the bindings documentation for the Mobile Display Subsytem(MDSS) that
|
|
encapsulates sub-blocks like MDP5, DSI, HDMI, eDP, etc.
|
|
|
|
properties:
|
|
$nodename:
|
|
pattern: "^display-subsystem@[0-9a-f]+$"
|
|
|
|
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:
|
|
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
|
|
|
|
clock-names:
|
|
oneOf:
|
|
- minItems: 3
|
|
items:
|
|
- const: iface
|
|
- const: bus
|
|
- const: vsync
|
|
- const: core
|
|
- minItems: 1
|
|
items:
|
|
- const: iface
|
|
- const: core
|
|
|
|
"#address-cells":
|
|
const: 1
|
|
|
|
"#size-cells":
|
|
const: 1
|
|
|
|
ranges: true
|
|
|
|
resets:
|
|
items:
|
|
- description: MDSS_CORE reset
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- reg-names
|
|
- interrupts
|
|
- interrupt-controller
|
|
- "#interrupt-cells"
|
|
- power-domains
|
|
- clocks
|
|
- clock-names
|
|
- "#address-cells"
|
|
- "#size-cells"
|
|
- ranges
|
|
|
|
patternProperties:
|
|
"^display-controller@[1-9a-f][0-9a-f]*$":
|
|
type: object
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: qcom,mdp5
|
|
|
|
"^dsi@[1-9a-f][0-9a-f]*$":
|
|
type: object
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: qcom,mdss-dsi-ctrl
|
|
|
|
"^phy@[1-9a-f][0-9a-f]*$":
|
|
type: object
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- qcom,dsi-phy-14nm
|
|
- qcom,dsi-phy-14nm-660
|
|
- qcom,dsi-phy-14nm-8953
|
|
- qcom,dsi-phy-20nm
|
|
- qcom,dsi-phy-28nm-hpm
|
|
- 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
|
|
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>
|
|
display-subsystem@1a00000 {
|
|
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;
|
|
|
|
display-controller@1a01000 {
|
|
compatible = "qcom,msm8916-mdp5", "qcom,mdp5";
|
|
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>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
...
|