xref: /linux/Documentation/devicetree/bindings/display/msm/qcom,sm8650-dpu.yaml (revision 260f6f4fda93c8485c8037865c941b42b9cba5d2)
13e135a77SNeil Armstrong# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
23e135a77SNeil Armstrong%YAML 1.2
33e135a77SNeil Armstrong---
43e135a77SNeil Armstrong$id: http://devicetree.org/schemas/display/msm/qcom,sm8650-dpu.yaml#
53e135a77SNeil Armstrong$schema: http://devicetree.org/meta-schemas/core.yaml#
63e135a77SNeil Armstrong
73e135a77SNeil Armstrongtitle: Qualcomm SM8650 Display DPU
83e135a77SNeil Armstrong
93e135a77SNeil Armstrongmaintainers:
103e135a77SNeil Armstrong  - Neil Armstrong <neil.armstrong@linaro.org>
113e135a77SNeil Armstrong
123e135a77SNeil Armstrong$ref: /schemas/display/msm/dpu-common.yaml#
133e135a77SNeil Armstrong
143e135a77SNeil Armstrongproperties:
153e135a77SNeil Armstrong  compatible:
16c22d32f2SAbel Vesa    enum:
17546f8d6cSMahadevan      - qcom,sa8775p-dpu
18c22d32f2SAbel Vesa      - qcom,sm8650-dpu
19*1ea95822SKrzysztof Kozlowski      - qcom,sm8750-dpu
20c22d32f2SAbel Vesa      - qcom,x1e80100-dpu
213e135a77SNeil Armstrong
223e135a77SNeil Armstrong  reg:
233e135a77SNeil Armstrong    items:
243e135a77SNeil Armstrong      - description: Address offset and size for mdp register set
253e135a77SNeil Armstrong      - description: Address offset and size for vbif register set
263e135a77SNeil Armstrong
273e135a77SNeil Armstrong  reg-names:
283e135a77SNeil Armstrong    items:
293e135a77SNeil Armstrong      - const: mdp
303e135a77SNeil Armstrong      - const: vbif
313e135a77SNeil Armstrong
323e135a77SNeil Armstrong  clocks:
333e135a77SNeil Armstrong    items:
343e135a77SNeil Armstrong      - description: Display hf axi
353e135a77SNeil Armstrong      - description: Display MDSS ahb
363e135a77SNeil Armstrong      - description: Display lut
373e135a77SNeil Armstrong      - description: Display core
383e135a77SNeil Armstrong      - description: Display vsync
393e135a77SNeil Armstrong
403e135a77SNeil Armstrong  clock-names:
413e135a77SNeil Armstrong    items:
423e135a77SNeil Armstrong      - const: nrt_bus
433e135a77SNeil Armstrong      - const: iface
443e135a77SNeil Armstrong      - const: lut
453e135a77SNeil Armstrong      - const: core
463e135a77SNeil Armstrong      - const: vsync
473e135a77SNeil Armstrong
483e135a77SNeil Armstrongrequired:
493e135a77SNeil Armstrong  - compatible
503e135a77SNeil Armstrong  - reg
513e135a77SNeil Armstrong  - reg-names
523e135a77SNeil Armstrong  - clocks
533e135a77SNeil Armstrong  - clock-names
543e135a77SNeil Armstrong
553e135a77SNeil ArmstrongunevaluatedProperties: false
563e135a77SNeil Armstrong
573e135a77SNeil Armstrongexamples:
583e135a77SNeil Armstrong  - |
593e135a77SNeil Armstrong    #include <dt-bindings/interrupt-controller/arm-gic.h>
603e135a77SNeil Armstrong    #include <dt-bindings/power/qcom,rpmhpd.h>
613e135a77SNeil Armstrong
623e135a77SNeil Armstrong    display-controller@ae01000 {
633e135a77SNeil Armstrong        compatible = "qcom,sm8650-dpu";
643e135a77SNeil Armstrong        reg = <0x0ae01000 0x8f000>,
653e135a77SNeil Armstrong              <0x0aeb0000 0x2008>;
663e135a77SNeil Armstrong        reg-names = "mdp", "vbif";
673e135a77SNeil Armstrong
683e135a77SNeil Armstrong        clocks = <&gcc_axi_clk>,
693e135a77SNeil Armstrong                 <&dispcc_ahb_clk>,
703e135a77SNeil Armstrong                 <&dispcc_mdp_lut_clk>,
713e135a77SNeil Armstrong                 <&dispcc_mdp_clk>,
723e135a77SNeil Armstrong                 <&dispcc_vsync_clk>;
733e135a77SNeil Armstrong        clock-names = "nrt_bus",
743e135a77SNeil Armstrong                      "iface",
753e135a77SNeil Armstrong                      "lut",
763e135a77SNeil Armstrong                      "core",
773e135a77SNeil Armstrong                      "vsync";
783e135a77SNeil Armstrong
793e135a77SNeil Armstrong        assigned-clocks = <&dispcc_vsync_clk>;
803e135a77SNeil Armstrong        assigned-clock-rates = <19200000>;
813e135a77SNeil Armstrong
823e135a77SNeil Armstrong        operating-points-v2 = <&mdp_opp_table>;
833e135a77SNeil Armstrong        power-domains = <&rpmhpd RPMHPD_MMCX>;
843e135a77SNeil Armstrong
853e135a77SNeil Armstrong        interrupt-parent = <&mdss>;
863e135a77SNeil Armstrong        interrupts = <0>;
873e135a77SNeil Armstrong
883e135a77SNeil Armstrong        ports {
893e135a77SNeil Armstrong            #address-cells = <1>;
903e135a77SNeil Armstrong            #size-cells = <0>;
913e135a77SNeil Armstrong
923e135a77SNeil Armstrong            port@0 {
933e135a77SNeil Armstrong                reg = <0>;
943e135a77SNeil Armstrong                dpu_intf1_out: endpoint {
953e135a77SNeil Armstrong                    remote-endpoint = <&dsi0_in>;
963e135a77SNeil Armstrong                };
973e135a77SNeil Armstrong            };
983e135a77SNeil Armstrong
993e135a77SNeil Armstrong            port@1 {
1003e135a77SNeil Armstrong                reg = <1>;
1013e135a77SNeil Armstrong                dpu_intf2_out: endpoint {
1023e135a77SNeil Armstrong                    remote-endpoint = <&dsi1_in>;
1033e135a77SNeil Armstrong                };
1043e135a77SNeil Armstrong            };
1053e135a77SNeil Armstrong        };
1063e135a77SNeil Armstrong
1073e135a77SNeil Armstrong        mdp_opp_table: opp-table {
1083e135a77SNeil Armstrong            compatible = "operating-points-v2";
1093e135a77SNeil Armstrong
1103e135a77SNeil Armstrong            opp-200000000 {
1113e135a77SNeil Armstrong                opp-hz = /bits/ 64 <200000000>;
1123e135a77SNeil Armstrong                required-opps = <&rpmhpd_opp_low_svs>;
1133e135a77SNeil Armstrong            };
1143e135a77SNeil Armstrong
1153e135a77SNeil Armstrong            opp-325000000 {
1163e135a77SNeil Armstrong                opp-hz = /bits/ 64 <325000000>;
1173e135a77SNeil Armstrong                required-opps = <&rpmhpd_opp_svs>;
1183e135a77SNeil Armstrong            };
1193e135a77SNeil Armstrong
1203e135a77SNeil Armstrong            opp-375000000 {
1213e135a77SNeil Armstrong                opp-hz = /bits/ 64 <375000000>;
1223e135a77SNeil Armstrong                required-opps = <&rpmhpd_opp_svs_l1>;
1233e135a77SNeil Armstrong            };
1243e135a77SNeil Armstrong
1253e135a77SNeil Armstrong            opp-514000000 {
1263e135a77SNeil Armstrong                opp-hz = /bits/ 64 <514000000>;
1273e135a77SNeil Armstrong                required-opps = <&rpmhpd_opp_nom>;
1283e135a77SNeil Armstrong            };
1293e135a77SNeil Armstrong        };
1303e135a77SNeil Armstrong    };
1313e135a77SNeil Armstrong...
132