| // SPDX-License-Identifier: GPL-2.0-only |
| /* |
| * Copyright (c) 2018, Craig Tatlor. |
| * Copyright (c) 2020, Alexey Minnekhanov <alexey.min@gmail.com> |
| * Copyright (c) 2020, AngeloGioacchino Del Regno <kholk11@gmail.com> |
| * Copyright (c) 2020, Konrad Dybcio <konradybcio@gmail.com> |
| * Copyright (c) 2020, Martin Botka <martin.botka1@gmail.com> |
| */ |
| |
| #include "sdm630.dtsi" |
| |
| &adreno_gpu { |
| compatible = "qcom,adreno-512.0", "qcom,adreno"; |
| operating-points-v2 = <&gpu_sdm660_opp_table>; |
| |
| gpu_sdm660_opp_table: opp-table { |
| compatible = "operating-points-v2"; |
| |
| /* |
| * 775MHz is only available on the highest speed bin |
| * Though it cannot be used for now due to interconnect |
| * framework not supporting multiple frequencies |
| * at the same opp-level |
| |
| opp-750000000 { |
| opp-hz = /bits/ 64 <750000000>; |
| opp-level = <RPM_SMD_LEVEL_TURBO>; |
| opp-peak-kBps = <5412000>; |
| opp-supported-hw = <0xCHECKME>; |
| }; |
| |
| * These OPPs are correct, but we are lacking support for the |
| * GPU regulator. Hence, disable them for now to prevent the |
| * platform from hanging on high graphics loads. |
| |
| opp-700000000 { |
| opp-hz = /bits/ 64 <700000000>; |
| opp-level = <RPM_SMD_LEVEL_TURBO>; |
| opp-peak-kBps = <5184000>; |
| opp-supported-hw = <0xff>; |
| }; |
| |
| opp-647000000 { |
| opp-hz = /bits/ 64 <647000000>; |
| opp-level = <RPM_SMD_LEVEL_NOM_PLUS>; |
| opp-peak-kBps = <4068000>; |
| opp-supported-hw = <0xff>; |
| }; |
| |
| opp-588000000 { |
| opp-hz = /bits/ 64 <588000000>; |
| opp-level = <RPM_SMD_LEVEL_NOM>; |
| opp-peak-kBps = <3072000>; |
| opp-supported-hw = <0xff>; |
| }; |
| |
| opp-465000000 { |
| opp-hz = /bits/ 64 <465000000>; |
| opp-level = <RPM_SMD_LEVEL_SVS_PLUS>; |
| opp-peak-kBps = <2724000>; |
| opp-supported-hw = <0xff>; |
| }; |
| |
| opp-370000000 { |
| opp-hz = /bits/ 64 <370000000>; |
| opp-level = <RPM_SMD_LEVEL_SVS>; |
| opp-peak-kBps = <2188000>; |
| opp-supported-hw = <0xff>; |
| }; |
| */ |
| |
| opp-266000000 { |
| opp-hz = /bits/ 64 <266000000>; |
| opp-level = <RPM_SMD_LEVEL_LOW_SVS>; |
| opp-peak-kBps = <1648000>; |
| opp-supported-hw = <0xff>; |
| }; |
| |
| opp-160000000 { |
| opp-hz = /bits/ 64 <160000000>; |
| opp-level = <RPM_SMD_LEVEL_MIN_SVS>; |
| opp-peak-kBps = <1200000>; |
| opp-supported-hw = <0xff>; |
| }; |
| }; |
| }; |
| |
| &CPU0 { |
| compatible = "qcom,kryo260"; |
| capacity-dmips-mhz = <1024>; |
| /delete-property/ operating-points-v2; |
| }; |
| |
| &CPU1 { |
| compatible = "qcom,kryo260"; |
| capacity-dmips-mhz = <1024>; |
| /delete-property/ operating-points-v2; |
| }; |
| |
| &CPU2 { |
| compatible = "qcom,kryo260"; |
| capacity-dmips-mhz = <1024>; |
| /delete-property/ operating-points-v2; |
| }; |
| |
| &CPU3 { |
| compatible = "qcom,kryo260"; |
| capacity-dmips-mhz = <1024>; |
| /delete-property/ operating-points-v2; |
| }; |
| |
| &CPU4 { |
| compatible = "qcom,kryo260"; |
| capacity-dmips-mhz = <640>; |
| /delete-property/ operating-points-v2; |
| }; |
| |
| &CPU5 { |
| compatible = "qcom,kryo260"; |
| capacity-dmips-mhz = <640>; |
| /delete-property/ operating-points-v2; |
| }; |
| |
| &CPU6 { |
| compatible = "qcom,kryo260"; |
| capacity-dmips-mhz = <640>; |
| /delete-property/ operating-points-v2; |
| }; |
| |
| &CPU7 { |
| compatible = "qcom,kryo260"; |
| capacity-dmips-mhz = <640>; |
| /delete-property/ operating-points-v2; |
| }; |
| |
| &gcc { |
| compatible = "qcom,gcc-sdm660"; |
| }; |
| |
| &gpucc { |
| compatible = "qcom,gpucc-sdm660"; |
| }; |
| |
| &mdp { |
| compatible = "qcom,sdm660-mdp5", "qcom,mdp5"; |
| |
| ports { |
| port@1 { |
| reg = <1>; |
| mdp5_intf2_out: endpoint { |
| remote-endpoint = <&mdss_dsi1_in>; |
| }; |
| }; |
| }; |
| }; |
| |
| &mdss { |
| mdss_dsi1: dsi@c996000 { |
| compatible = "qcom,sdm660-dsi-ctrl", |
| "qcom,mdss-dsi-ctrl"; |
| reg = <0x0c996000 0x400>; |
| reg-names = "dsi_ctrl"; |
| |
| /* DSI1 shares the OPP table with DSI0 */ |
| operating-points-v2 = <&dsi_opp_table>; |
| power-domains = <&rpmpd SDM660_VDDCX>; |
| |
| interrupt-parent = <&mdss>; |
| interrupts = <5>; |
| |
| assigned-clocks = <&mmcc BYTE1_CLK_SRC>, |
| <&mmcc PCLK1_CLK_SRC>; |
| assigned-clock-parents = <&mdss_dsi1_phy 0>, |
| <&mdss_dsi1_phy 1>; |
| |
| clocks = <&mmcc MDSS_MDP_CLK>, |
| <&mmcc MDSS_BYTE1_CLK>, |
| <&mmcc MDSS_BYTE1_INTF_CLK>, |
| <&mmcc MNOC_AHB_CLK>, |
| <&mmcc MDSS_AHB_CLK>, |
| <&mmcc MDSS_AXI_CLK>, |
| <&mmcc MISC_AHB_CLK>, |
| <&mmcc MDSS_PCLK1_CLK>, |
| <&mmcc MDSS_ESC1_CLK>; |
| clock-names = "mdp_core", |
| "byte", |
| "byte_intf", |
| "mnoc", |
| "iface", |
| "bus", |
| "core_mmss", |
| "pixel", |
| "core"; |
| |
| phys = <&mdss_dsi1_phy>; |
| |
| status = "disabled"; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| reg = <0>; |
| mdss_dsi1_in: endpoint { |
| remote-endpoint = <&mdp5_intf2_out>; |
| }; |
| }; |
| |
| port@1 { |
| reg = <1>; |
| mdss_dsi1_out: endpoint { |
| }; |
| }; |
| }; |
| }; |
| |
| mdss_dsi1_phy: phy@c996400 { |
| compatible = "qcom,dsi-phy-14nm-660"; |
| reg = <0x0c996400 0x100>, |
| <0x0c996500 0x300>, |
| <0x0c996800 0x188>; |
| reg-names = "dsi_phy", |
| "dsi_phy_lane", |
| "dsi_pll"; |
| |
| #clock-cells = <1>; |
| #phy-cells = <0>; |
| |
| clocks = <&mmcc MDSS_AHB_CLK>, <&rpmcc RPM_SMD_XO_CLK_SRC>; |
| clock-names = "iface", "ref"; |
| status = "disabled"; |
| }; |
| }; |
| |
| &mmcc { |
| compatible = "qcom,mmcc-sdm660"; |
| clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, |
| <&sleep_clk>, |
| <&gcc GCC_MMSS_GPLL0_CLK>, |
| <&gcc GCC_MMSS_GPLL0_DIV_CLK>, |
| <&mdss_dsi0_phy 1>, |
| <&mdss_dsi0_phy 0>, |
| <&mdss_dsi1_phy 1>, |
| <&mdss_dsi1_phy 0>, |
| <0>, |
| <0>; |
| }; |
| |
| &tlmm { |
| compatible = "qcom,sdm660-pinctrl"; |
| }; |
| |
| &tsens { |
| #qcom,sensors = <14>; |
| }; |