Commit a1ed5860 authored by Konrad Dybcio's avatar Konrad Dybcio Committed by Dmitry Baryshkov

dt-bindings: display: msm: Add reg bus and rotator interconnects

Apart from the already handled data bus (MAS_MDP_Pn<->DDR), there are
other connection paths:
- a path that connects rotator block to the DDR.
- a path that needs to be handled to ensure MDSS register access
  functions properly, namely the "reg bus", a.k.a the CPU-MDSS CFG
  interconnect.

Describe these paths to allow using them in device trees and in the
driver.

[Konrad: rework for one vs two MDP paths, update examples]
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: default avatarKonrad Dybcio <konrad.dybcio@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/569480/
Link: https://lore.kernel.org/r/20231125-topic-rb1_feat-v3-2-4cbb567743bb@linaro.orgSigned-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
parent 25daacc6
...@@ -61,17 +61,27 @@ properties: ...@@ -61,17 +61,27 @@ properties:
ranges: true ranges: true
# This is not a perfect description, but it's impossible to discern and match
# the entries like we do with interconnect-names
interconnects: interconnects:
minItems: 1 minItems: 1
items: items:
- description: Interconnect path from mdp0 (or a single mdp) port to the data bus - description: Interconnect path from mdp0 (or a single mdp) port to the data bus
- description: Interconnect path from mdp1 port to the data bus - description: Interconnect path from mdp1 port to the data bus
- description: Interconnect path from CPU to the reg bus
interconnect-names: interconnect-names:
minItems: 1 oneOf:
- minItems: 1
items:
- const: mdp0-mem
- const: cpu-cfg
- minItems: 2
items: items:
- const: mdp0-mem - const: mdp0-mem
- const: mdp1-mem - const: mdp1-mem
- const: cpu-cfg
resets: resets:
items: items:
......
...@@ -36,10 +36,14 @@ properties: ...@@ -36,10 +36,14 @@ properties:
maxItems: 2 maxItems: 2
interconnects: interconnects:
maxItems: 1 items:
- description: Interconnect path from mdp0 port to the data bus
- description: Interconnect path from CPU to the reg bus
interconnect-names: interconnect-names:
maxItems: 1 items:
- const: mdp0-mem
- const: cpu-cfg
patternProperties: patternProperties:
"^display-controller@[0-9a-f]+$": "^display-controller@[0-9a-f]+$":
...@@ -98,8 +102,10 @@ examples: ...@@ -98,8 +102,10 @@ examples:
interrupt-controller; interrupt-controller;
#interrupt-cells = <1>; #interrupt-cells = <1>;
interconnects = <&mmrt_virt MASTER_MDP0 &bimc SLAVE_EBI1>; interconnects = <&mmrt_virt MASTER_MDP0 &bimc SLAVE_EBI1>,
interconnect-names = "mdp0-mem"; <&bimc MASTER_APPSS_PROC &config_noc SLAVE_DISPLAY_CFG>;
interconnect-names = "mdp0-mem",
"cpu-cfg";
iommus = <&apps_smmu 0x420 0x2>, iommus = <&apps_smmu 0x420 0x2>,
<&apps_smmu 0x421 0x0>; <&apps_smmu 0x421 0x0>;
......
...@@ -36,10 +36,14 @@ properties: ...@@ -36,10 +36,14 @@ properties:
maxItems: 1 maxItems: 1
interconnects: interconnects:
maxItems: 1 items:
- description: Interconnect path from mdp0 port to the data bus
- description: Interconnect path from CPU to the reg bus
interconnect-names: interconnect-names:
maxItems: 1 items:
- const: mdp0-mem
- const: cpu-cfg
patternProperties: patternProperties:
"^display-controller@[0-9a-f]+$": "^display-controller@[0-9a-f]+$":
...@@ -106,8 +110,10 @@ examples: ...@@ -106,8 +110,10 @@ examples:
interrupt-controller; interrupt-controller;
#interrupt-cells = <1>; #interrupt-cells = <1>;
interconnects = <&mmss_noc MASTER_MDP0 &mc_virt SLAVE_EBI1>; interconnects = <&mmss_noc MASTER_MDP0 &mc_virt SLAVE_EBI1>,
interconnect-names = "mdp0-mem"; <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_DISPLAY_CFG>;
interconnect-names = "mdp0-mem",
"cpu-cfg";
iommus = <&apps_smmu 0x800 0x2>; iommus = <&apps_smmu 0x800 0x2>;
ranges; ranges;
......
...@@ -36,10 +36,14 @@ properties: ...@@ -36,10 +36,14 @@ properties:
maxItems: 1 maxItems: 1
interconnects: interconnects:
maxItems: 1 items:
- description: Interconnect path from mdp0 port to the data bus
- description: Interconnect path from CPU to the reg bus
interconnect-names: interconnect-names:
maxItems: 1 items:
- const: mdp0-mem
- const: cpu-cfg
patternProperties: patternProperties:
"^display-controller@[0-9a-f]+$": "^display-controller@[0-9a-f]+$":
...@@ -118,8 +122,10 @@ examples: ...@@ -118,8 +122,10 @@ examples:
interrupt-controller; interrupt-controller;
#interrupt-cells = <1>; #interrupt-cells = <1>;
interconnects = <&mmss_noc MASTER_MDP0 &mc_virt SLAVE_EBI1>; interconnects = <&mmss_noc MASTER_MDP0 &mc_virt SLAVE_EBI1>,
interconnect-names = "mdp0-mem"; <&gem_noc MASTER_APPSS_PROC &cnoc2 SLAVE_DISPLAY_CFG>;
interconnect-names = "mdp0-mem",
"cpu-cfg";
iommus = <&apps_smmu 0x900 0x402>; iommus = <&apps_smmu 0x900 0x402>;
ranges; ranges;
......
...@@ -29,6 +29,16 @@ properties: ...@@ -29,6 +29,16 @@ properties:
iommus: iommus:
maxItems: 2 maxItems: 2
interconnects:
items:
- description: Interconnect path from mdp0 port to the data bus
- description: Interconnect path from CPU to the reg bus
interconnect-names:
items:
- const: mdp0-mem
- const: cpu-cfg
patternProperties: patternProperties:
"^display-controller@[0-9a-f]+$": "^display-controller@[0-9a-f]+$":
type: object type: object
......
...@@ -35,10 +35,14 @@ properties: ...@@ -35,10 +35,14 @@ properties:
maxItems: 1 maxItems: 1
interconnects: interconnects:
maxItems: 2 items:
- description: Interconnect path from mdp0 port to the data bus
- description: Interconnect path from CPU to the reg bus
interconnect-names: interconnect-names:
maxItems: 2 items:
- const: mdp0-mem
- const: cpu-cfg
patternProperties: patternProperties:
"^display-controller@[0-9a-f]+$": "^display-controller@[0-9a-f]+$":
......
...@@ -35,10 +35,14 @@ properties: ...@@ -35,10 +35,14 @@ properties:
maxItems: 1 maxItems: 1
interconnects: interconnects:
maxItems: 2 items:
- description: Interconnect path from mdp0 port to the data bus
- description: Interconnect path from CPU to the reg bus
interconnect-names: interconnect-names:
maxItems: 2 items:
- const: mdp0-mem
- const: cpu-cfg
patternProperties: patternProperties:
"^display-controller@[0-9a-f]+$": "^display-controller@[0-9a-f]+$":
......
...@@ -35,10 +35,14 @@ properties: ...@@ -35,10 +35,14 @@ properties:
maxItems: 1 maxItems: 1
interconnects: interconnects:
maxItems: 2 items:
- description: Interconnect path from mdp0 port to the data bus
- description: Interconnect path from CPU to the reg bus
interconnect-names: interconnect-names:
maxItems: 2 items:
- const: mdp0-mem
- const: cpu-cfg
patternProperties: patternProperties:
"^display-controller@[0-9a-f]+$": "^display-controller@[0-9a-f]+$":
......
...@@ -30,10 +30,10 @@ properties: ...@@ -30,10 +30,10 @@ properties:
maxItems: 1 maxItems: 1
interconnects: interconnects:
maxItems: 2 maxItems: 3
interconnect-names: interconnect-names:
maxItems: 2 maxItems: 3
patternProperties: patternProperties:
"^display-controller@[0-9a-f]+$": "^display-controller@[0-9a-f]+$":
...@@ -91,9 +91,12 @@ examples: ...@@ -91,9 +91,12 @@ examples:
reg = <0x0ae00000 0x1000>; reg = <0x0ae00000 0x1000>;
reg-names = "mdss"; reg-names = "mdss";
interconnects = <&mmss_noc MASTER_MDP_DISP 0 &mc_virt SLAVE_EBI1_DISP 0>, interconnects = <&mmss_noc MASTER_MDP_DISP &mc_virt SLAVE_EBI1_DISP>,
<&mmss_noc MASTER_MDP_DISP 0 &mc_virt SLAVE_EBI1_DISP 0>; <&mmss_noc MASTER_MDP_DISP &mc_virt SLAVE_EBI1_DISP>,
interconnect-names = "mdp0-mem", "mdp1-mem"; <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_DISPLAY_CFG>;
interconnect-names = "mdp0-mem",
"mdp1-mem",
"cpu-cfg";
resets = <&dispcc DISP_CC_MDSS_CORE_BCR>; resets = <&dispcc DISP_CC_MDSS_CORE_BCR>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment