~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/display/msm/qcom,sdm670-mdss.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/display/msm/qcom,sdm670-mdss.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Qualcomm SDM670 Display MDSS
  8 
  9 maintainers:
 10   - Richard Acayan <mailingradian@gmail.com>
 11 
 12 description:
 13   SDM670 MSM Mobile Display Subsystem (MDSS), which encapsulates sub-blocks
 14   like DPU display controller, DSI and DP interfaces etc.
 15 
 16 $ref: /schemas/display/msm/mdss-common.yaml#
 17 
 18 properties:
 19   compatible:
 20     const: qcom,sdm670-mdss
 21 
 22   clocks:
 23     items:
 24       - description: Display AHB clock from gcc
 25       - description: Display core clock
 26 
 27   clock-names:
 28     items:
 29       - const: iface
 30       - const: core
 31 
 32   iommus:
 33     maxItems: 2
 34 
 35   interconnects:
 36     maxItems: 2
 37 
 38   interconnect-names:
 39     maxItems: 2
 40 
 41 patternProperties:
 42   "^display-controller@[0-9a-f]+$":
 43     type: object
 44     additionalProperties: true
 45 
 46     properties:
 47       compatible:
 48         const: qcom,sdm670-dpu
 49 
 50   "^displayport-controller@[0-9a-f]+$":
 51     type: object
 52     additionalProperties: true
 53 
 54     properties:
 55       compatible:
 56         const: qcom,sdm670-dp
 57 
 58   "^dsi@[0-9a-f]+$":
 59     type: object
 60     additionalProperties: true
 61 
 62     properties:
 63       compatible:
 64         contains:
 65           const: qcom,sdm670-dsi-ctrl
 66 
 67   "^phy@[0-9a-f]+$":
 68     type: object
 69     additionalProperties: true
 70 
 71     properties:
 72       compatible:
 73         const: qcom,dsi-phy-10nm
 74 
 75 required:
 76   - compatible
 77 
 78 unevaluatedProperties: false
 79 
 80 examples:
 81   - |
 82     #include <dt-bindings/clock/qcom,dispcc-sdm845.h>
 83     #include <dt-bindings/clock/qcom,gcc-sdm845.h>
 84     #include <dt-bindings/clock/qcom,rpmh.h>
 85     #include <dt-bindings/interconnect/qcom,sdm670-rpmh.h>
 86     #include <dt-bindings/interrupt-controller/arm-gic.h>
 87     #include <dt-bindings/power/qcom-rpmpd.h>
 88 
 89     display-subsystem@ae00000 {
 90         compatible = "qcom,sdm670-mdss";
 91         reg = <0x0ae00000 0x1000>;
 92         reg-names = "mdss";
 93         power-domains = <&dispcc MDSS_GDSC>;
 94 
 95         clocks = <&gcc GCC_DISP_AHB_CLK>,
 96                  <&dispcc DISP_CC_MDSS_MDP_CLK>;
 97         clock-names = "iface", "core";
 98 
 99         interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
100         interrupt-controller;
101         #interrupt-cells = <1>;
102 
103         interconnects = <&mmss_noc MASTER_MDP_PORT0 0 &mem_noc SLAVE_EBI_CH0 0>,
104                         <&mmss_noc MASTER_MDP_PORT1 0 &mem_noc SLAVE_EBI_CH0 0>;
105         interconnect-names = "mdp0-mem", "mdp1-mem";
106 
107         iommus = <&apps_smmu 0x880 0x8>,
108                  <&apps_smmu 0xc80 0x8>;
109 
110         #address-cells = <1>;
111         #size-cells = <1>;
112         ranges;
113 
114         display-controller@ae01000 {
115             compatible = "qcom,sdm670-dpu";
116             reg = <0x0ae01000 0x8f000>,
117                   <0x0aeb0000 0x2008>;
118             reg-names = "mdp", "vbif";
119 
120             clocks = <&gcc GCC_DISP_AXI_CLK>,
121                      <&dispcc DISP_CC_MDSS_AHB_CLK>,
122                      <&dispcc DISP_CC_MDSS_AXI_CLK>,
123                      <&dispcc DISP_CC_MDSS_MDP_CLK>,
124                      <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
125             clock-names = "gcc-bus", "iface", "bus", "core", "vsync";
126 
127             interrupt-parent = <&mdss>;
128             interrupts = <0>;
129             power-domains = <&rpmhpd SDM670_CX>;
130             operating-points-v2 = <&mdp_opp_table>;
131 
132             ports {
133                 #address-cells = <1>;
134                 #size-cells = <0>;
135 
136                 port@0 {
137                     reg = <0>;
138                     dpu_intf1_out: endpoint {
139                         remote-endpoint = <&mdss_dsi0_in>;
140                     };
141                 };
142 
143                 port@1 {
144                     reg = <1>;
145                     dpu_intf2_out: endpoint {
146                         remote-endpoint = <&mdss_dsi1_in>;
147                     };
148                 };
149             };
150         };
151 
152         dsi@ae94000 {
153             compatible = "qcom,sdm670-dsi-ctrl", "qcom,mdss-dsi-ctrl";
154             reg = <0x0ae94000 0x400>;
155             reg-names = "dsi_ctrl";
156 
157             interrupt-parent = <&mdss>;
158             interrupts = <4>;
159 
160             clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
161                      <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
162                      <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
163                      <&dispcc DISP_CC_MDSS_ESC0_CLK>,
164                      <&dispcc DISP_CC_MDSS_AHB_CLK>,
165                      <&dispcc DISP_CC_MDSS_AXI_CLK>;
166             clock-names = "byte",
167                           "byte_intf",
168                           "pixel",
169                           "core",
170                           "iface",
171                           "bus";
172             assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>,
173                               <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
174             assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
175 
176             operating-points-v2 = <&dsi_opp_table>;
177             power-domains = <&rpmhpd SDM670_CX>;
178 
179             phys = <&mdss_dsi0_phy>;
180             phy-names = "dsi";
181 
182             #address-cells = <1>;
183             #size-cells = <0>;
184 
185             ports {
186                 #address-cells = <1>;
187                 #size-cells = <0>;
188 
189                 port@0 {
190                     reg = <0>;
191                     mdss_dsi0_in: endpoint {
192                         remote-endpoint = <&dpu_intf1_out>;
193                     };
194                 };
195 
196                 port@1 {
197                     reg = <1>;
198                     mdss_dsi0_out: endpoint {
199                     };
200                 };
201             };
202         };
203 
204         mdss_dsi0_phy: phy@ae94400 {
205             compatible = "qcom,dsi-phy-10nm";
206             reg = <0x0ae94400 0x200>,
207                   <0x0ae94600 0x280>,
208                   <0x0ae94a00 0x1e0>;
209             reg-names = "dsi_phy",
210                         "dsi_phy_lane",
211                         "dsi_pll";
212 
213             #clock-cells = <1>;
214             #phy-cells = <0>;
215 
216             clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
217                      <&rpmhcc RPMH_CXO_CLK>;
218             clock-names = "iface", "ref";
219             vdds-supply = <&vreg_dsi_phy>;
220         };
221 
222         dsi@ae96000 {
223             compatible = "qcom,sdm670-dsi-ctrl", "qcom,mdss-dsi-ctrl";
224             reg = <0x0ae96000 0x400>;
225             reg-names = "dsi_ctrl";
226 
227             interrupt-parent = <&mdss>;
228             interrupts = <5>;
229 
230             clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK>,
231                      <&dispcc DISP_CC_MDSS_BYTE1_INTF_CLK>,
232                      <&dispcc DISP_CC_MDSS_PCLK1_CLK>,
233                      <&dispcc DISP_CC_MDSS_ESC1_CLK>,
234                      <&dispcc DISP_CC_MDSS_AHB_CLK>,
235                      <&dispcc DISP_CC_MDSS_AXI_CLK>;
236             clock-names = "byte",
237                           "byte_intf",
238                           "pixel",
239                           "core",
240                           "iface",
241                           "bus";
242             assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK_SRC>,
243                               <&dispcc DISP_CC_MDSS_PCLK1_CLK_SRC>;
244             assigned-clock-parents = <&dsi1_phy 0>, <&dsi1_phy 1>;
245 
246             operating-points-v2 = <&dsi_opp_table>;
247             power-domains = <&rpmhpd SDM670_CX>;
248 
249             phys = <&dsi1_phy>;
250             phy-names = "dsi";
251 
252             #address-cells = <1>;
253             #size-cells = <0>;
254 
255             ports {
256                 #address-cells = <1>;
257                 #size-cells = <0>;
258 
259                 port@0 {
260                     reg = <0>;
261                     mdss_dsi1_in: endpoint {
262                         remote-endpoint = <&dpu_intf2_out>;
263                     };
264                 };
265 
266                 port@1 {
267                     reg = <1>;
268                     mdss_dsi1_out: endpoint {
269                     };
270                 };
271             };
272         };
273 
274         mdss_dsi1_phy: phy@ae96400 {
275             compatible = "qcom,dsi-phy-10nm";
276             reg = <0x0ae96400 0x200>,
277                   <0x0ae96600 0x280>,
278                   <0x0ae96a00 0x10e>;
279             reg-names = "dsi_phy",
280                         "dsi_phy_lane",
281                         "dsi_pll";
282 
283             #clock-cells = <1>;
284             #phy-cells = <0>;
285 
286             clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
287                      <&rpmhcc RPMH_CXO_CLK>;
288             clock-names = "iface", "ref";
289             vdds-supply = <&vreg_dsi_phy>;
290         };
291     };
292 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php