| # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/display/msm/qcom,sm8450-dpu.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Qualcomm SM8450 Display DPU |
| |
| maintainers: |
| - Dmitry Baryshkov <dmitry.baryshkov@linaro.org> |
| |
| $ref: /schemas/display/msm/dpu-common.yaml# |
| |
| properties: |
| compatible: |
| const: qcom,sm8450-dpu |
| |
| reg: |
| items: |
| - description: Address offset and size for mdp register set |
| - description: Address offset and size for vbif register set |
| |
| reg-names: |
| items: |
| - const: mdp |
| - const: vbif |
| |
| clocks: |
| items: |
| - description: Display hf axi |
| - description: Display sf axi |
| - description: Display ahb |
| - description: Display lut |
| - description: Display core |
| - description: Display vsync |
| |
| clock-names: |
| items: |
| - const: bus |
| - const: nrt_bus |
| - const: iface |
| - const: lut |
| - const: core |
| - const: vsync |
| |
| required: |
| - compatible |
| - reg |
| - reg-names |
| - clocks |
| - clock-names |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/clock/qcom,sm8450-dispcc.h> |
| #include <dt-bindings/clock/qcom,gcc-sm8450.h> |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| #include <dt-bindings/interconnect/qcom,sm8450.h> |
| #include <dt-bindings/power/qcom,rpmhpd.h> |
| |
| display-controller@ae01000 { |
| compatible = "qcom,sm8450-dpu"; |
| reg = <0x0ae01000 0x8f000>, |
| <0x0aeb0000 0x2008>; |
| reg-names = "mdp", "vbif"; |
| |
| clocks = <&gcc GCC_DISP_HF_AXI_CLK>, |
| <&gcc GCC_DISP_SF_AXI_CLK>, |
| <&dispcc DISP_CC_MDSS_AHB_CLK>, |
| <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>, |
| <&dispcc DISP_CC_MDSS_MDP_CLK>, |
| <&dispcc DISP_CC_MDSS_VSYNC_CLK>; |
| clock-names = "bus", |
| "nrt_bus", |
| "iface", |
| "lut", |
| "core", |
| "vsync"; |
| |
| assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>; |
| assigned-clock-rates = <19200000>; |
| |
| operating-points-v2 = <&mdp_opp_table>; |
| power-domains = <&rpmhpd RPMHPD_MMCX>; |
| |
| interrupt-parent = <&mdss>; |
| interrupts = <0>; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| reg = <0>; |
| dpu_intf1_out: endpoint { |
| remote-endpoint = <&dsi0_in>; |
| }; |
| }; |
| |
| port@1 { |
| reg = <1>; |
| dpu_intf2_out: endpoint { |
| remote-endpoint = <&dsi1_in>; |
| }; |
| }; |
| }; |
| |
| mdp_opp_table: opp-table { |
| compatible = "operating-points-v2"; |
| |
| opp-172000000{ |
| opp-hz = /bits/ 64 <172000000>; |
| required-opps = <&rpmhpd_opp_low_svs_d1>; |
| }; |
| |
| opp-200000000 { |
| opp-hz = /bits/ 64 <200000000>; |
| required-opps = <&rpmhpd_opp_low_svs>; |
| }; |
| |
| opp-325000000 { |
| opp-hz = /bits/ 64 <325000000>; |
| required-opps = <&rpmhpd_opp_svs>; |
| }; |
| |
| opp-375000000 { |
| opp-hz = /bits/ 64 <375000000>; |
| required-opps = <&rpmhpd_opp_svs_l1>; |
| }; |
| |
| opp-500000000 { |
| opp-hz = /bits/ 64 <500000000>; |
| required-opps = <&rpmhpd_opp_nom>; |
| }; |
| }; |
| }; |
| ... |