251 lines
		
	
	
	
		
			5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			251 lines
		
	
	
	
		
			5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| // 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 {
 | |
| 	ports {
 | |
| 		port@1 {
 | |
| 			reg = <1>;
 | |
| 			mdp5_intf2_out: endpoint {
 | |
| 				remote-endpoint = <&dsi1_in>;
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &mdss {
 | |
| 	dsi1: dsi@c996000 {
 | |
| 		compatible = "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 IRQ_TYPE_LEVEL_HIGH>;
 | |
| 
 | |
| 		assigned-clocks = <&mmcc BYTE1_CLK_SRC>,
 | |
| 					<&mmcc PCLK1_CLK_SRC>;
 | |
| 		assigned-clock-parents = <&dsi1_phy 0>,
 | |
| 						<&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 = <&dsi1_phy>;
 | |
| 		phy-names = "dsi";
 | |
| 
 | |
| 		ports {
 | |
| 			#address-cells = <1>;
 | |
| 			#size-cells = <0>;
 | |
| 
 | |
| 			port@0 {
 | |
| 				reg = <0>;
 | |
| 				dsi1_in: endpoint {
 | |
| 					remote-endpoint = <&mdp5_intf2_out>;
 | |
| 				};
 | |
| 			};
 | |
| 
 | |
| 			port@1 {
 | |
| 				reg = <1>;
 | |
| 				dsi1_out: endpoint {
 | |
| 				};
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	dsi1_phy: dsi-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";
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &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>,
 | |
| 			<&dsi0_phy 1>,
 | |
| 			<&dsi0_phy 0>,
 | |
| 			<&dsi1_phy 1>,
 | |
| 			<&dsi1_phy 0>,
 | |
| 			<0>,
 | |
| 			<0>;
 | |
| };
 | |
| 
 | |
| &tlmm {
 | |
| 	compatible = "qcom,sdm660-pinctrl";
 | |
| };
 | |
| 
 | |
| &tsens {
 | |
| 	#qcom,sensors = <14>;
 | |
| };
 |