On 30/04/2022 22:33, Dmitry Baryshkov wrote:
On 30/04/2022 19:15, Konrad Dybcio wrote:
Add yaml binding for MSM8996 DPU.
Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxx>
---
.../bindings/display/msm/dpu-msm8996.yaml | 221 ++++++++++++++++++
1 file changed, 221 insertions(+)
create mode 100644
Documentation/devicetree/bindings/display/msm/dpu-msm8996.yaml
diff --git
a/Documentation/devicetree/bindings/display/msm/dpu-msm8996.yaml
b/Documentation/devicetree/bindings/display/msm/dpu-msm8996.yaml
new file mode 100644
index 000000000000..10b02423224d
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/msm/dpu-msm8996.yaml
@@ -0,0 +1,221 @@
+# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/msm/dpu-msm8996.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Display DPU dt properties for MSM8996 target
+
+maintainers:
+ - Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxx>
+
+description: |
+ Device tree bindings for MSM Mobile Display Subsystem (MDSS) that
+ encapsulates sub-blocks like DPU display controller, DSI
interfaces, etc.
+ Device tree bindings of MDSS and DPU are mentioned for MSM8996 target.
+
+properties:
+ compatible:
+ items:
+ - const: qcom,msm8996-mdss
With the unified MDSS driver there is no need to describe a separate
mdss bindings. Let's skip this part for now.
+
+ reg:
+ maxItems: 1
+
+ reg-names:
+ const: mdss
+
+ power-domains:
+ maxItems: 1
+
+ clocks:
+ items:
+ - description: Display AHB clock
+ - description: Display core clock
+
+ clock-names:
+ items:
+ - const: iface
+ - const: core
+
+ interrupts:
+ maxItems: 1
+
+ interrupt-controller: true
+
+ "#address-cells": true
+
+ "#size-cells": true
+
+ "#interrupt-cells":
+ const: 1
+
+ iommus:
+ items:
+ - description: Phandle to mdp_smmu node with SID mask for
Hard-Fail port0
+
+ ranges: true
+
+patternProperties:
+ "^display-controller@[0-9a-f]+$":
+ type: object
+ description: Node containing the properties of DPU.
+
+ properties:
+ compatible:
+ items:
+ - const: qcom,msm8996-dpu
Okay. So, this is the most interesting part. Unlike MSM8998, which is
supported in the mdp5 driver, but was not used in the upstream DTS
files, for the MSM8996 the MDP5 part is described, used and widely
tested. And, unfortunately, the bindings use solely the generic
"qcom,mdp5" compat.
I would suggest the following plan:
- Define a binding using both "qcom,msm8996-dpu" and "qcom,mdp5"
strings. Make sure that it is fully backwards-compatible with older dts.
- Update msm8996.dtsi to follow new binding.
- Let's have a Kconfig flip switch selecting which driver to be used for
8996/8998.
Rob suggested a modparam here.
--
With best wishes
Dmitry