From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: [PATCH 2/2] arm64: dts: sdm845: Add gpu and gmu device nodes Date: Wed, 8 Aug 2018 16:47:01 -0600 Message-ID: <20180808224701.7527-3-jcrouse@codeaurora.org> References: <20180808224701.7527-1-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180808224701.7527-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: nm-l0cyMroinI0@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, rnayak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, sboyd-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, hoegsberg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, sibis-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, vireshk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org QWRkIHRoZSBub2RlcyB0byBkZXNjcmliZSB0aGUgQWRyZW5vIEdQVSBhbmQgR01VIGRldmljZXMu CgpTaWduZWQtb2ZmLWJ5OiBKb3JkYW4gQ3JvdXNlIDxqY3JvdXNlQGNvZGVhdXJvcmEub3JnPgot LS0KIGFyY2gvYXJtNjQvYm9vdC9kdHMvcWNvbS9zZG04NDUuZHRzaSB8IDEyMSArKysrKysrKysr KysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9ucygrKQoKZGlm ZiAtLWdpdCBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvcWNvbS9zZG04NDUuZHRzaSBiL2FyY2gvYXJt NjQvYm9vdC9kdHMvcWNvbS9zZG04NDUuZHRzaQppbmRleCBjZGFhYmViM2M5OTUuLjlmYjkwYmI0 ZWExZiAxMDA2NDQKLS0tIGEvYXJjaC9hcm02NC9ib290L2R0cy9xY29tL3NkbTg0NS5kdHNpCisr KyBiL2FyY2gvYXJtNjQvYm9vdC9kdHMvcWNvbS9zZG04NDUuZHRzaQpAQCAtMzIzLDUgKzMyMywx MjYgQEAKIAkJCQlzdGF0dXMgPSAiZGlzYWJsZWQiOwogCQkJfTsKIAkJfTsKKworCQlhZHJlbm9f c21tdTogYXJtLHNtbXUtYWRyZW5vQDUwNDAwMDAgeworCQkJY29tcGF0aWJsZSA9ICJxY29tLG1z bTg5OTYtc21tdS12MiI7CisJCQlyZWcgPSA8MHg1MDQwMDAwIDB4MTAwMDA+OworCQkJI2lvbW11 LWNlbGxzID0gPDE+OworCQkjZ2xvYmFsLWludGVycnVwdHMgPSA8Mj47CisJCQlpbnRlcnJ1cHRz ID0gPEdJQ19TUEkgMjI5IElSUV9UWVBFX0xFVkVMX0hJR0g+LAorCQkJICAgICA8R0lDX1NQSSAy MzEgSVJRX1RZUEVfTEVWRUxfSElHSD4sCisJCQkgICAgIDxHSUNfU1BJIDM2NCBJUlFfVFlQRV9F REdFX1JJU0lORz4sCisJCQkgICAgIDxHSUNfU1BJIDM2NSBJUlFfVFlQRV9FREdFX1JJU0lORz4s CisJCQkgICAgIDxHSUNfU1BJIDM2NiBJUlFfVFlQRV9FREdFX1JJU0lORz4sCisJCQkgICAgIDxH SUNfU1BJIDM2NyBJUlFfVFlQRV9FREdFX1JJU0lORz4sCisJCQkgICAgIDxHSUNfU1BJIDM2OCBJ UlFfVFlQRV9FREdFX1JJU0lORz4sCisJCQkgICAgIDxHSUNfU1BJIDM2OSBJUlFfVFlQRV9FREdF X1JJU0lORz4sCisJCQkgICAgIDxHSUNfU1BJIDM3MCBJUlFfVFlQRV9FREdFX1JJU0lORz4sCisJ CQkgICAgIDxHSUNfU1BJIDM3MSBJUlFfVFlQRV9FREdFX1JJU0lORz47CisJCQljbG9ja3MgPSA8 JmNsb2NrX2djYyBHQ0NfR1BVX01FTU5PQ19HRlhfQ0xLPiwKKwkJCQk8JmNsb2NrX2djYyBHQ0Nf R1BVX0NGR19BSEJfQ0xLPjsKKwkJCWNsb2NrLW5hbWVzID0gImJ1cyIsICJpZmFjZSI7CisKKwkJ CXBvd2VyLWRvbWFpbnMgPSA8JmNsb2NrX2dwdWNjIEdQVV9DWF9HRFNDPjsKKwkJfTsKKworCQln cHVfb3BwX3RhYmxlOiBhZHJlbm8tb3BwLXRhYmxlIHsKKwkJCWNvbXBhdGlibGUgPSAib3BlcmF0 aW5nLXBvaW50cy12MiI7CisKKwkJCW9wcC03MTAwMDAwMDAgeworCQkJCW9wcC1oeiA9IC9iaXRz LyA2NCA8NzEwMDAwMDAwPjsKKwkJCQlxY29tLGxldmVsID0gPDQxNj47CisJCQl9OworCisJCQlv cHAtNjc1MDAwMDAwIHsKKwkJCQlvcHAtaHogPSAvYml0cy8gNjQgPDY3NTAwMDAwMD47CisJCQkJ cWNvbSxsZXZlbCA9IDwzODQ+OworCQkJfTsKKworCQkJb3BwLTU5NjAwMDAwMCB7CisJCQkJb3Bw LWh6ID0gL2JpdHMvIDY0IDw1OTYwMDAwMDA+OworCQkJCXFjb20sbGV2ZWwgPSA8MzIwPjsKKwkJ CX07CisKKwkJCW9wcC01MjAwMDAwMDAgeworCQkJCW9wcC1oeiA9IC9iaXRzLyA2NCA8NTIwMDAw MDAwPjsKKwkJCQlxY29tLGxldmVsID0gPDI1Nj47CisJCQl9OworCisJCQlvcHAtNDE0MDAwMDAw IHsKKwkJCQlvcHAtaHogPSAvYml0cy8gNjQgPDQxNDAwMDAwMD47CisJCQkJcWNvbSxsZXZlbCA9 IDwxOTI+OworCQkJfTsKKworCQkJb3BwLTM0MjAwMDAwMCB7CisJCQkJb3BwLWh6ID0gL2JpdHMv IDY0IDwzNDIwMDAwMDA+OworCQkJCXFjb20sbGV2ZWwgPSA8MTI4PjsKKwkJCX07CisKKwkJCW9w cC0yNTcwMDAwMDAgeworCQkJCW9wcC1oeiA9IC9iaXRzLyA2NCA8MjU3MDAwMDAwPjsKKwkJCQlx Y29tLGxldmVsID0gPDY0PjsKKwkJCX07CisJCX07CisKKwkJZ3B1QDUwMDAwMDAgeworCQkJY29t cGF0aWJsZSA9ICJxY29tLGFkcmVuby02MzAuMiIsICJxY29tLGFkcmVubyI7CisJCQkjc3RyZWFt LWlkLWNlbGxzID0gPDE2PjsKKworCQkJcmVnID0gPDB4NTAwMDAwMCAweDQwMDAwPjsKKwkJCXJl Zy1uYW1lcyA9ICJrZ3NsXzNkMF9yZWdfbWVtb3J5IjsKKworCQkJLyoKKwkJCSAqIExvb2sgbWEs IG5vIGNsb2NrcyEgVGhlIEdQVSBjbG9ja3MgYW5kIHBvd2VyIGFyZQorCQkJICogY29udHJvbGxl ZCBlbnRpcmVseSBieSB0aGUgR01VCisJCQkgKi8KKworCQkJaW50ZXJydXB0cyA9IDwwIDMwMCAw PjsKKwkJCWludGVycnVwdC1uYW1lcyA9ICJrZ3NsXzNkMF9pcnEiOworCisJCQlpb21tdXMgPSA8 JmFkcmVub19zbW11IDA+OworCisJCQlvcGVyYXRpbmctcG9pbnRzLXYyID0gPCZncHVfb3BwX3Rh YmxlPjsKKworCQkJcWNvbSxnbXUgPSA8JmdtdT47CisJCX07CisKKwkJZ211X29wcF90YWJsZTog YWRyZW5vLWdtdS1vcHAtdGFibGUgeworCQkJY29tcGF0aWJsZSA9ICJvcGVyYXRpbmctcG9pbnRz LXYyIjsKKworCQkJb3BwLTQwMDAwMDAwMCB7CisJCQkJb3BwLWh6ID0gL2JpdHMvIDY0IDw0MDAw MDAwMDA+OworCQkJCXFjb20sbGV2ZWwgPSA8MTI4PjsKKwkJCX07CisKKwkJCW9wcC0yMDAwMDAw MDAgeworCQkJCW9wcC1oeiA9IC9iaXRzLyA2NCA8MjAwMDAwMDAwPjsKKwkJCQlxY29tLGxldmVs ID0gPDQ4PjsKKwkJCX07CisJCX07CisKKwkJZ211OiBnbXVANTA2YTAwMCB7CisJCQljb21wYXRp YmxlPSJxY29tLGFkcmVuby1nbXUiOworCisJCQlyZWcgPSA8MHg1MDZhMDAwIDB4MzAwMDA+LAor CQkJCTwweGIyODAwMDAgMHgxMDAwMD4sCisJCQkJPDB4YjQ4MDAwMCAweDEwMDAwPjsKKwkJCXJl Zy1uYW1lcyA9ICJnbXUiLCAiZ211X3BkYyIsICJnbXVfcGRjX3NlcSI7CisKKwkJCWludGVycnVw dHMgPSA8R0lDX1NQSSAzMDQgSVJRX1RZUEVfTEVWRUxfSElHSD4sCisJCQkgICAgIDxHSUNfU1BJ IDMwNSBJUlFfVFlQRV9MRVZFTF9ISUdIPjsKKwkJCWludGVycnVwdC1uYW1lcyA9ICJoZmkiLCAi Z211IjsKKworCQkJY2xvY2tzID0gPCZjbG9ja19ncHVjYyBHUFVfQ0NfQ1hfR01VX0NMSz4sCisJ CQkJPCZjbG9ja19ncHVjYyBHUFVfQ0NfQ1hPX0NMSz4sCisJCQkJPCZnY2MgR0NDX0REUlNTX0dQ VV9BWElfQ0xLPiwKKwkJCQk8JmdjYyBHQ0NfR1BVX01FTU5PQ19HRlhfQ0xLPjsKKwkJCWNsb2Nr LW5hbWVzID0gImdtdSIsICJjeG8iLCAiYXhpIiwgIm1lbW5vYyI7CisKKwkJCXBvd2VyLWRvbWFp bnMgPSA8JmNsb2NrX2dwdWNjIEdQVV9DWF9HRFNDPjsKKwkJCWlvbW11cyA9IDwmYWRyZW5vX3Nt bXUgNT47CisKKwkJCW9wZXJhdGluZy1wb2ludHMtdjIgPSA8JmdtdV9vcHBfdGFibGU+OworCQl9 OwogCX07CiB9OwotLSAKMi4xOC4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9mcmVlZHJlbm8K From mboxrd@z Thu Jan 1 00:00:00 1970 From: jcrouse@codeaurora.org (Jordan Crouse) Date: Wed, 8 Aug 2018 16:47:01 -0600 Subject: [PATCH 2/2] arm64: dts: sdm845: Add gpu and gmu device nodes In-Reply-To: <20180808224701.7527-1-jcrouse@codeaurora.org> References: <20180808224701.7527-1-jcrouse@codeaurora.org> Message-ID: <20180808224701.7527-3-jcrouse@codeaurora.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Add the nodes to describe the Adreno GPU and GMU devices. Signed-off-by: Jordan Crouse --- arch/arm64/boot/dts/qcom/sdm845.dtsi | 121 +++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi index cdaabeb3c995..9fb90bb4ea1f 100644 --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi @@ -323,5 +323,126 @@ status = "disabled"; }; }; + + adreno_smmu: arm,smmu-adreno at 5040000 { + compatible = "qcom,msm8996-smmu-v2"; + reg = <0x5040000 0x10000>; + #iommu-cells = <1>; + #global-interrupts = <2>; + interrupts = , + , + , + , + , + , + , + , + , + ; + clocks = <&clock_gcc GCC_GPU_MEMNOC_GFX_CLK>, + <&clock_gcc GCC_GPU_CFG_AHB_CLK>; + clock-names = "bus", "iface"; + + power-domains = <&clock_gpucc GPU_CX_GDSC>; + }; + + gpu_opp_table: adreno-opp-table { + compatible = "operating-points-v2"; + + opp-710000000 { + opp-hz = /bits/ 64 <710000000>; + qcom,level = <416>; + }; + + opp-675000000 { + opp-hz = /bits/ 64 <675000000>; + qcom,level = <384>; + }; + + opp-596000000 { + opp-hz = /bits/ 64 <596000000>; + qcom,level = <320>; + }; + + opp-520000000 { + opp-hz = /bits/ 64 <520000000>; + qcom,level = <256>; + }; + + opp-414000000 { + opp-hz = /bits/ 64 <414000000>; + qcom,level = <192>; + }; + + opp-342000000 { + opp-hz = /bits/ 64 <342000000>; + qcom,level = <128>; + }; + + opp-257000000 { + opp-hz = /bits/ 64 <257000000>; + qcom,level = <64>; + }; + }; + + gpu at 5000000 { + compatible = "qcom,adreno-630.2", "qcom,adreno"; + #stream-id-cells = <16>; + + reg = <0x5000000 0x40000>; + reg-names = "kgsl_3d0_reg_memory"; + + /* + * Look ma, no clocks! The GPU clocks and power are + * controlled entirely by the GMU + */ + + interrupts = <0 300 0>; + interrupt-names = "kgsl_3d0_irq"; + + iommus = <&adreno_smmu 0>; + + operating-points-v2 = <&gpu_opp_table>; + + qcom,gmu = <&gmu>; + }; + + gmu_opp_table: adreno-gmu-opp-table { + compatible = "operating-points-v2"; + + opp-400000000 { + opp-hz = /bits/ 64 <400000000>; + qcom,level = <128>; + }; + + opp-200000000 { + opp-hz = /bits/ 64 <200000000>; + qcom,level = <48>; + }; + }; + + gmu: gmu at 506a000 { + compatible="qcom,adreno-gmu"; + + reg = <0x506a000 0x30000>, + <0xb280000 0x10000>, + <0xb480000 0x10000>; + reg-names = "gmu", "gmu_pdc", "gmu_pdc_seq"; + + interrupts = , + ; + interrupt-names = "hfi", "gmu"; + + clocks = <&clock_gpucc GPU_CC_CX_GMU_CLK>, + <&clock_gpucc GPU_CC_CXO_CLK>, + <&gcc GCC_DDRSS_GPU_AXI_CLK>, + <&gcc GCC_GPU_MEMNOC_GFX_CLK>; + clock-names = "gmu", "cxo", "axi", "memnoc"; + + power-domains = <&clock_gpucc GPU_CX_GDSC>; + iommus = <&adreno_smmu 5>; + + operating-points-v2 = <&gmu_opp_table>; + }; }; }; -- 2.18.0