162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/display/msm/qcom,sm8550-dpu.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Qualcomm SM8550 Display DPU
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Neil Armstrong <neil.armstrong@linaro.org>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci$ref: /schemas/display/msm/dpu-common.yaml#
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciproperties:
1562306a36Sopenharmony_ci  compatible:
1662306a36Sopenharmony_ci    const: qcom,sm8550-dpu
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci  reg:
1962306a36Sopenharmony_ci    items:
2062306a36Sopenharmony_ci      - description: Address offset and size for mdp register set
2162306a36Sopenharmony_ci      - description: Address offset and size for vbif register set
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci  reg-names:
2462306a36Sopenharmony_ci    items:
2562306a36Sopenharmony_ci      - const: mdp
2662306a36Sopenharmony_ci      - const: vbif
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci  clocks:
2962306a36Sopenharmony_ci    items:
3062306a36Sopenharmony_ci      - description: Display AHB
3162306a36Sopenharmony_ci      - description: Display hf axi
3262306a36Sopenharmony_ci      - description: Display MDSS ahb
3362306a36Sopenharmony_ci      - description: Display lut
3462306a36Sopenharmony_ci      - description: Display core
3562306a36Sopenharmony_ci      - description: Display vsync
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci  clock-names:
3862306a36Sopenharmony_ci    items:
3962306a36Sopenharmony_ci      - const: bus
4062306a36Sopenharmony_ci      - const: nrt_bus
4162306a36Sopenharmony_ci      - const: iface
4262306a36Sopenharmony_ci      - const: lut
4362306a36Sopenharmony_ci      - const: core
4462306a36Sopenharmony_ci      - const: vsync
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_cirequired:
4762306a36Sopenharmony_ci  - compatible
4862306a36Sopenharmony_ci  - reg
4962306a36Sopenharmony_ci  - reg-names
5062306a36Sopenharmony_ci  - clocks
5162306a36Sopenharmony_ci  - clock-names
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ciunevaluatedProperties: false
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ciexamples:
5662306a36Sopenharmony_ci  - |
5762306a36Sopenharmony_ci    #include <dt-bindings/clock/qcom,sm8550-dispcc.h>
5862306a36Sopenharmony_ci    #include <dt-bindings/clock/qcom,sm8550-gcc.h>
5962306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
6062306a36Sopenharmony_ci    #include <dt-bindings/power/qcom,rpmhpd.h>
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci    display-controller@ae01000 {
6362306a36Sopenharmony_ci        compatible = "qcom,sm8550-dpu";
6462306a36Sopenharmony_ci        reg = <0x0ae01000 0x8f000>,
6562306a36Sopenharmony_ci              <0x0aeb0000 0x2008>;
6662306a36Sopenharmony_ci        reg-names = "mdp", "vbif";
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci        clocks = <&gcc GCC_DISP_AHB_CLK>,
6962306a36Sopenharmony_ci                <&gcc GCC_DISP_HF_AXI_CLK>,
7062306a36Sopenharmony_ci                <&dispcc DISP_CC_MDSS_AHB_CLK>,
7162306a36Sopenharmony_ci                <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>,
7262306a36Sopenharmony_ci                <&dispcc DISP_CC_MDSS_MDP_CLK>,
7362306a36Sopenharmony_ci                <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
7462306a36Sopenharmony_ci        clock-names = "bus",
7562306a36Sopenharmony_ci                      "nrt_bus",
7662306a36Sopenharmony_ci                      "iface",
7762306a36Sopenharmony_ci                      "lut",
7862306a36Sopenharmony_ci                      "core",
7962306a36Sopenharmony_ci                      "vsync";
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci        assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
8262306a36Sopenharmony_ci        assigned-clock-rates = <19200000>;
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci        operating-points-v2 = <&mdp_opp_table>;
8562306a36Sopenharmony_ci        power-domains = <&rpmhpd RPMHPD_MMCX>;
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci        interrupt-parent = <&mdss>;
8862306a36Sopenharmony_ci        interrupts = <0>;
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci        ports {
9162306a36Sopenharmony_ci            #address-cells = <1>;
9262306a36Sopenharmony_ci            #size-cells = <0>;
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci            port@0 {
9562306a36Sopenharmony_ci                reg = <0>;
9662306a36Sopenharmony_ci                dpu_intf1_out: endpoint {
9762306a36Sopenharmony_ci                    remote-endpoint = <&dsi0_in>;
9862306a36Sopenharmony_ci                };
9962306a36Sopenharmony_ci            };
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci            port@1 {
10262306a36Sopenharmony_ci                reg = <1>;
10362306a36Sopenharmony_ci                dpu_intf2_out: endpoint {
10462306a36Sopenharmony_ci                    remote-endpoint = <&dsi1_in>;
10562306a36Sopenharmony_ci                };
10662306a36Sopenharmony_ci            };
10762306a36Sopenharmony_ci        };
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci        mdp_opp_table: opp-table {
11062306a36Sopenharmony_ci            compatible = "operating-points-v2";
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci            opp-200000000 {
11362306a36Sopenharmony_ci                opp-hz = /bits/ 64 <200000000>;
11462306a36Sopenharmony_ci                required-opps = <&rpmhpd_opp_low_svs>;
11562306a36Sopenharmony_ci            };
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci            opp-325000000 {
11862306a36Sopenharmony_ci                opp-hz = /bits/ 64 <325000000>;
11962306a36Sopenharmony_ci                required-opps = <&rpmhpd_opp_svs>;
12062306a36Sopenharmony_ci            };
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci            opp-375000000 {
12362306a36Sopenharmony_ci                opp-hz = /bits/ 64 <375000000>;
12462306a36Sopenharmony_ci                required-opps = <&rpmhpd_opp_svs_l1>;
12562306a36Sopenharmony_ci            };
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ci            opp-514000000 {
12862306a36Sopenharmony_ci                opp-hz = /bits/ 64 <514000000>;
12962306a36Sopenharmony_ci                required-opps = <&rpmhpd_opp_nom>;
13062306a36Sopenharmony_ci            };
13162306a36Sopenharmony_ci        };
13262306a36Sopenharmony_ci    };
13362306a36Sopenharmony_ci...
134