mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Shawn Guo <shengchao.guo@oss.qualcomm.com>
To: Akhil P Oommen <akhilpo@oss.qualcomm.com>
Cc: Rob Clark <robin.clark@oss.qualcomm.com>,
	Sean Paul <sean@poorly.run>,
	Konrad Dybcio <konradybcio@kernel.org>,
	Dmitry Baryshkov <lumag@kernel.org>,
	Abhinav Kumar <abhinav.kumar@linux.dev>,
	Jessica Zhang <jesszhan0024@gmail.com>,
	Marijn Suijten <marijn.suijten@somainline.org>,
	David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Maxime Ripard <mripard@kernel.org>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Bjorn Andersson <andersson@kernel.org>,
	Abel Vesa <abelvesa@kernel.org>,
	linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org,
	freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org,
	Shivam Rawat <shivrawa@qti.qualcomm.com>
Subject: Re: [PATCH 3/5] arm64: dts: qcom: nord: Add Adreno 753 GPU and GMU nodes
Date: Sun, 11 Oct 2026 11:25:15 +0800	[thread overview]
Message-ID: <assBm36Joq5pdULw@QCOM-aGQu4IUr3Y> (raw)
In-Reply-To: <20261009-nord-gpu1-v1-3-a06a6c57bde7@oss.qualcomm.com>

On Fri, Oct 09, 2026 at 02:36:37AM +0530, Akhil P Oommen wrote:
> From: Shivam Rawat <shivrawa@qti.qualcomm.com>
> 
> Nord SoC integrates an Adreno 753 GPU as its primary GPU, belonging to
> the A7xx Gen3 family, along with its Graphics Management Unit (GMU).
> 
> Add the GPU and GMU nodes together with their OPP tables. The GPU sits
> behind adreno_smmu_0 and uses the gen71300 zap shader, while the GMU is
> clocked and powered from GPUCC.
> 
> Unlike previous Adreno SoCs, where the GMU AXI clock comes from the
> single global clock controller, Nord splits its GCC into four blocks
> (GCC, SE_GCC, NE_GCC and NW_GCC). The GPU's AXI clock,
> NW_GCC_HSCNOC_GPU_AXI_CLK, is provided by NW_GCC, so the GMU node
> references nwgcc directly.
> 
> Signed-off-by: Shivam Rawat <shivrawa@qti.qualcomm.com>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
>  arch/arm64/boot/dts/qcom/nord-embedded.dtsi | 116 ++++++++++++++++++++++++++++
>  1 file changed, 116 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/nord-embedded.dtsi b/arch/arm64/boot/dts/qcom/nord-embedded.dtsi
> index 1ab7d9bc3cfe..4379092b7bf8 100644
> --- a/arch/arm64/boot/dts/qcom/nord-embedded.dtsi
> +++ b/arch/arm64/boot/dts/qcom/nord-embedded.dtsi
> @@ -776,6 +776,122 @@ hscnoc: interconnect@2000000 {
>  		qcom,bcm-voters = <&apps_bcm_voter>;
>  	};
>  
> +	gpu_0: gpu@3d00000 {
> +		compatible = "qcom,adreno-43051701", "qcom,adreno";
> +		reg = <0x0 0x03d00000 0x0 0x40000>,
> +		      <0x0 0x03d9e000 0x0 0x2000>,
> +		      <0x0 0x03d61000 0x0 0x800>;
> +		reg-names = "kgsl_3d0_reg_memory",
> +			    "cx_mem",
> +			    "cx_dbgc";

nord-embedded.dtsi is created to accommodate Nord Embedded (Non-GearVM)
variant specific resources like clocks, resets, power dmains,
interconects, PHYs, etc. The common resources like reg, interrupts,
iommus, etc, should go to nord.dts. Please follow the existing device
examples to do the split.

Shawn

> +
> +		interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
> +
> +		iommus = <&adreno_smmu_0 0 0x0>,
> +			 <&adreno_smmu_0 1 0x0>;
> +
> +		operating-points-v2 = <&gpu_opp_table_0>;
> +
> +		qcom,gmu = <&gmu_0>;
> +		#cooling-cells = <2>;
> +
> +		interconnects = <&hscnoc MASTER_GFX3D QCOM_ICC_TAG_ALWAYS
> +				 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
> +		interconnect-names = "gfx-mem";
> +
> +		status = "disabled";
> +
> +		gpu_0_zap_shader: zap-shader {
> +			memory-region = <&gpu_microcode_mem>;
> +		};
> +
> +		gpu_opp_table_0: opp-table {
> +			compatible = "operating-points-v2-adreno",
> +				     "operating-points-v2";
> +
> +			opp-468000000 {
> +				opp-hz = /bits/ 64 <468000000>;
> +				opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
> +				opp-peak-kBps = <781250>;
> +			};
> +
> +			opp-625000000 {
> +				opp-hz = /bits/ 64 <625000000>;
> +				opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
> +				opp-peak-kBps = <6075000>;
> +			};
> +
> +			opp-735000000 {
> +				opp-hz = /bits/ 64 <735000000>;
> +				opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
> +				opp-peak-kBps = <8175000>;
> +			};
> +
> +			opp-854000000 {
> +				opp-hz = /bits/ 64 <854000000>;
> +				opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
> +				opp-peak-kBps = <10687500>;
> +			};
> +
> +			opp-1000000000 {
> +				opp-hz = /bits/ 64 <1000000000>;
> +				opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
> +				opp-peak-kBps = <12450000>;
> +			};
> +		};
> +	};
> +
> +	gmu_0: gmu@3d6a000 {
> +		compatible = "qcom,adreno-gmu-753.1", "qcom,adreno-gmu";
> +		reg = <0x0 0x03d6a000 0x0 0x35000>,
> +		      <0x0 0x03d50000 0x0 0x10000>,
> +		      <0x0 0x0b2a0000 0x0 0x10000>;
> +		reg-names = "gmu",
> +			    "rscc",
> +			    "gmu_pdc";
> +
> +		interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
> +		interrupt-names = "hfi",
> +				  "gmu";
> +
> +		clocks = <&gpucc GPU_CC_AHB_CLK>,
> +			 <&gpucc GPU_CC_CX_GMU_CLK>,
> +			 <&gpucc GPU_CC_CXO_CLK>,
> +			 <&nwgcc NW_GCC_HSCNOC_GPU_AXI_CLK>,
> +			 <&gpucc GPU_CC_MEMNOC_GFX_CLK>,
> +			 <&gpucc GPU_CC_HUB_CX_INT_CLK>;
> +		clock-names = "ahb",
> +			      "gmu",
> +			      "cxo",
> +			      "axi",
> +			      "memnoc",
> +			      "hub";
> +
> +		power-domains = <&gpucc GPU_CC_CX_GDSC>,
> +				<&gpucc GPU_CC_GX_GDSC>;
> +		power-domain-names = "cx",
> +				     "gx";
> +
> +		iommus = <&adreno_smmu_0 5 0x0>;
> +
> +		operating-points-v2 = <&gmu_opp_table_0>;
> +
> +		gmu_opp_table_0: opp-table {
> +			compatible = "operating-points-v2";
> +
> +			opp-416666000 {
> +				opp-hz = /bits/ 64 <416666000>;
> +				opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
> +			};
> +
> +			opp-625000000 {
> +				opp-hz = /bits/ 64 <625000000>;
> +				opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
> +			};
> +		};
> +	};
> +
>  	gpucc: clock-controller@3d90000 {
>  		compatible = "qcom,nord-gpucc";
>  		reg = <0x0 0x03d90000 0x0 0x9800>;
> 
> -- 
> 2.55.0
> 
> 

  parent reply	other threads:[~2026-10-11  3:25 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-08 21:06 [PATCH 0/5] drm/msm: Support for GPU in Nord Akhil P Oommen
2026-10-08 21:06 ` [PATCH 1/5] drm/msm/a6xx: Add Adreno 753 support Akhil P Oommen
2026-10-12 12:21   ` Konrad Dybcio
2026-10-12 13:23   ` Shawn Guo
2026-10-08 21:06 ` [PATCH 2/5] dt-bindings: display/msm: Document Adreno 753 GPU/GMU Akhil P Oommen
2026-10-09 10:46   ` Krzysztof Kozlowski
2026-10-08 21:06 ` [PATCH 3/5] arm64: dts: qcom: nord: Add Adreno 753 GPU and GMU nodes Akhil P Oommen
2026-10-09 18:48   ` Abel Vesa
2026-10-11  3:25   ` Shawn Guo [this message]
2026-10-12 12:25   ` Konrad Dybcio
2026-10-08 21:06 ` [PATCH 4/5] arm64: dts: qcom: nord: Add GPU cooling Akhil P Oommen
2026-10-11  3:30   ` Shawn Guo
2026-10-08 21:06 ` [PATCH 5/5] arm64: dts: qcom: nord-rrd: Enable Adreno 753 GPU Akhil P Oommen
2026-10-11  6:36 ` [PATCH 0/5] drm/msm: Support for GPU in Nord Shawn Guo
2026-10-12 13:21   ` Shawn Guo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=assBm36Joq5pdULw@QCOM-aGQu4IUr3Y \
    --to=shengchao.guo@oss.qualcomm.com \
    --cc=abelvesa@kernel.org \
    --cc=abhinav.kumar@linux.dev \
    --cc=airlied@gmail.com \
    --cc=akhilpo@oss.qualcomm.com \
    --cc=andersson@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=freedreno@lists.freedesktop.org \
    --cc=jesszhan0024@gmail.com \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lumag@kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=marijn.suijten@somainline.org \
    --cc=mripard@kernel.org \
    --cc=robh@kernel.org \
    --cc=robin.clark@oss.qualcomm.com \
    --cc=sean@poorly.run \
    --cc=shivrawa@qti.qualcomm.com \
    --cc=simona@ffwll.ch \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®