* [PATCH 1/8] dt-bindings: arm-smmu: Update the description for Kaanapali GPU SMMU
2026-05-11 22:23 [PATCH 0/8] arm64: dts: qcom: Devicetree support for Kaanapali GPU Akhil P Oommen
@ 2026-05-11 22:23 ` Akhil P Oommen
2026-05-11 22:23 ` [PATCH 2/8] dt-bindings: display/msm: gpu: Document Adreno 840 Akhil P Oommen
` (6 subsequent siblings)
7 siblings, 0 replies; 21+ messages in thread
From: Akhil P Oommen @ 2026-05-11 22:23 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Akhil P Oommen
Extend the sm8750's clock description section to also cover Kaanapali GPU
SMMU since it uses the same single "hlos" vote clock.
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
index b811ece722c9..d1330fc0178a 100644
--- a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
+++ b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
@@ -568,6 +568,7 @@ allOf:
items:
- enum:
- qcom,glymur-smmu-500
+ - qcom,kaanapali-smmu-500
- qcom,sm8750-smmu-500
- const: qcom,adreno-smmu
- const: qcom,smmu-500
--
2.51.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* [PATCH 2/8] dt-bindings: display/msm: gpu: Document Adreno 840
2026-05-11 22:23 [PATCH 0/8] arm64: dts: qcom: Devicetree support for Kaanapali GPU Akhil P Oommen
2026-05-11 22:23 ` [PATCH 1/8] dt-bindings: arm-smmu: Update the description for Kaanapali GPU SMMU Akhil P Oommen
@ 2026-05-11 22:23 ` Akhil P Oommen
2026-05-11 22:23 ` [PATCH 3/8] arm64: dts: qcom: kaanapali: add the GPU SMMU node Akhil P Oommen
` (5 subsequent siblings)
7 siblings, 0 replies; 21+ messages in thread
From: Akhil P Oommen @ 2026-05-11 22:23 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Akhil P Oommen
Adreno 840 GPU found in Kaanapali chipsets belongs to the A8x family.
It is a new IP which features the new slice architecture with 3 slices,
raytracing support, and the highest GMEM size seen so far on a Snapdragon
mobile chipsets. Update the dt bindings documentation to describe this GPU.
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
Documentation/devicetree/bindings/display/msm/gpu.yaml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/display/msm/gpu.yaml b/Documentation/devicetree/bindings/display/msm/gpu.yaml
index e67cd708dda2..35c6d38dc379 100644
--- a/Documentation/devicetree/bindings/display/msm/gpu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/gpu.yaml
@@ -415,7 +415,9 @@ allOf:
properties:
compatible:
contains:
- const: qcom,adreno-44070001
+ enum:
+ - qcom,adreno-44050a01
+ - qcom,adreno-44070001
then:
properties:
reg:
@@ -450,6 +452,7 @@ allOf:
- qcom,adreno-43050a01
- qcom,adreno-43050c01
- qcom,adreno-43051401
+ - qcom,adreno-44050a01
- qcom,adreno-44070001
then: # Starting with A6xx, the clocks are usually defined in the GMU node
--
2.51.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* [PATCH 3/8] arm64: dts: qcom: kaanapali: add the GPU SMMU node
2026-05-11 22:23 [PATCH 0/8] arm64: dts: qcom: Devicetree support for Kaanapali GPU Akhil P Oommen
2026-05-11 22:23 ` [PATCH 1/8] dt-bindings: arm-smmu: Update the description for Kaanapali GPU SMMU Akhil P Oommen
2026-05-11 22:23 ` [PATCH 2/8] dt-bindings: display/msm: gpu: Document Adreno 840 Akhil P Oommen
@ 2026-05-11 22:23 ` Akhil P Oommen
2026-05-13 16:51 ` Dmitry Baryshkov
2026-05-14 12:36 ` Konrad Dybcio
2026-05-11 22:23 ` [PATCH 4/8] arm64: dts: qcom: kaanapali: Add qfprom node Akhil P Oommen
` (4 subsequent siblings)
7 siblings, 2 replies; 21+ messages in thread
From: Akhil P Oommen @ 2026-05-11 22:23 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Akhil P Oommen,
Qingqing Zhou
From: Qingqing Zhou <quic_qqzhou@quicinc.com>
Add the Adreno GPU SMMU node for kaanapali platform.
Signed-off-by: Qingqing Zhou <quic_qqzhou@quicinc.com>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/kaanapali.dtsi | 41 +++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
index bab654bbd6d0..26a4de9c8d45 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
+++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
@@ -2597,6 +2597,47 @@ gpucc: clock-controller@3d90000 {
#power-domain-cells = <1>;
};
+ adreno_smmu: iommu@3da0000 {
+ compatible = "qcom,kaanapali-smmu-500", "qcom,adreno-smmu",
+ "qcom,smmu-500", "arm,mmu-500";
+ reg = <0x0 0x3da0000 0x0 0x40000>;
+ #iommu-cells = <2>;
+ #global-interrupts = <1>;
+ dma-coherent;
+
+ power-domains = <&gpucc GPU_CC_CX_GDSC>;
+
+ clocks = <&gpucc GPU_CC_GPU_SMMU_VOTE_CLK>;
+ clock-names = "hlos";
+
+ interrupts = <GIC_SPI 674 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 678 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 679 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 680 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 681 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 682 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 683 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 684 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 685 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 686 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 687 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 688 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 476 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 574 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 575 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 576 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 577 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 660 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 662 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 665 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 666 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 667 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 669 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 670 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 700 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
remoteproc_adsp: remoteproc@6800000 {
compatible = "qcom,kaanapali-adsp-pas", "qcom,sm8550-adsp-pas";
reg = <0x0 0x06800000 0x0 0x10000>;
--
2.51.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* Re: [PATCH 3/8] arm64: dts: qcom: kaanapali: add the GPU SMMU node
2026-05-11 22:23 ` [PATCH 3/8] arm64: dts: qcom: kaanapali: add the GPU SMMU node Akhil P Oommen
@ 2026-05-13 16:51 ` Dmitry Baryshkov
2026-05-14 12:36 ` Konrad Dybcio
1 sibling, 0 replies; 21+ messages in thread
From: Dmitry Baryshkov @ 2026-05-13 16:51 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Sean Paul,
linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
freedreno, dri-devel, Qingqing Zhou
On Tue, May 12, 2026 at 03:53:17AM +0530, Akhil P Oommen wrote:
> From: Qingqing Zhou <quic_qqzhou@quicinc.com>
>
> Add the Adreno GPU SMMU node for kaanapali platform.
>
> Signed-off-by: Qingqing Zhou <quic_qqzhou@quicinc.com>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/kaanapali.dtsi | 41 +++++++++++++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> index bab654bbd6d0..26a4de9c8d45 100644
> --- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> +++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> @@ -2597,6 +2597,47 @@ gpucc: clock-controller@3d90000 {
> #power-domain-cells = <1>;
> };
>
> + adreno_smmu: iommu@3da0000 {
> + compatible = "qcom,kaanapali-smmu-500", "qcom,adreno-smmu",
> + "qcom,smmu-500", "arm,mmu-500";
> + reg = <0x0 0x3da0000 0x0 0x40000>;
> + #iommu-cells = <2>;
> + #global-interrupts = <1>;
> + dma-coherent;
> +
> + power-domains = <&gpucc GPU_CC_CX_GDSC>;
> +
> + clocks = <&gpucc GPU_CC_GPU_SMMU_VOTE_CLK>;
> + clock-names = "hlos";
> +
> + interrupts = <GIC_SPI 674 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 678 IRQ_TYPE_LEVEL_HIGH>,
Please align on '<' symbol
> + <GIC_SPI 679 IRQ_TYPE_LEVEL_HIGH>,
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 21+ messages in thread* Re: [PATCH 3/8] arm64: dts: qcom: kaanapali: add the GPU SMMU node
2026-05-11 22:23 ` [PATCH 3/8] arm64: dts: qcom: kaanapali: add the GPU SMMU node Akhil P Oommen
2026-05-13 16:51 ` Dmitry Baryshkov
@ 2026-05-14 12:36 ` Konrad Dybcio
1 sibling, 0 replies; 21+ messages in thread
From: Konrad Dybcio @ 2026-05-14 12:36 UTC (permalink / raw)
To: Akhil P Oommen, Will Deacon, Robin Murphy, Joerg Roedel,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, Rob Clark, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Qingqing Zhou
On 5/12/26 12:23 AM, Akhil P Oommen wrote:
> From: Qingqing Zhou <quic_qqzhou@quicinc.com>
>
> Add the Adreno GPU SMMU node for kaanapali platform.
>
> Signed-off-by: Qingqing Zhou <quic_qqzhou@quicinc.com>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/kaanapali.dtsi | 41 +++++++++++++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> index bab654bbd6d0..26a4de9c8d45 100644
> --- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> +++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> @@ -2597,6 +2597,47 @@ gpucc: clock-controller@3d90000 {
> #power-domain-cells = <1>;
> };
>
> + adreno_smmu: iommu@3da0000 {
> + compatible = "qcom,kaanapali-smmu-500", "qcom,adreno-smmu",
> + "qcom,smmu-500", "arm,mmu-500";
The lines are misaligned, but please reshuffle this to be 1 a line
> + reg = <0x0 0x3da0000 0x0 0x40000>;
Please keep the 8-hex-digit padding for addr
> + #iommu-cells = <2>;
> + #global-interrupts = <1>;
> + dma-coherent;
> +
> + power-domains = <&gpucc GPU_CC_CX_GDSC>;
> +
> + clocks = <&gpucc GPU_CC_GPU_SMMU_VOTE_CLK>;
> + clock-names = "hlos";
> +
> + interrupts = <GIC_SPI 674 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 678 IRQ_TYPE_LEVEL_HIGH>,
likewise, please align the '<'s and align the property order in this node
with Glymur
Konrad
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 4/8] arm64: dts: qcom: kaanapali: Add qfprom node
2026-05-11 22:23 [PATCH 0/8] arm64: dts: qcom: Devicetree support for Kaanapali GPU Akhil P Oommen
` (2 preceding siblings ...)
2026-05-11 22:23 ` [PATCH 3/8] arm64: dts: qcom: kaanapali: add the GPU SMMU node Akhil P Oommen
@ 2026-05-11 22:23 ` Akhil P Oommen
2026-05-13 16:52 ` Dmitry Baryshkov
2026-05-14 12:44 ` Konrad Dybcio
2026-05-11 22:23 ` [PATCH 5/8] arm64: dts: qcom: Add GPU support for Kaanapali Akhil P Oommen
` (3 subsequent siblings)
7 siblings, 2 replies; 21+ messages in thread
From: Akhil P Oommen @ 2026-05-11 22:23 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Akhil P Oommen, Jingyi Wang
From: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
Add the qfprom node and gpu related subnodes on Kaanapali SoC.
Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/kaanapali.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
index 26a4de9c8d45..0211fc9f8c88 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
+++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
@@ -5868,6 +5868,18 @@ rpmhpd_opp_super_turbo_no_cpr: opp-480 {
};
};
+ efuse@221c8000 {
+ compatible = "qcom,kaanapali-qfprom", "qcom,qfprom";
+ reg = <0x0 0x221c8000 0x0 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ gpu_speed_bin: gpu-speed-bin@142 {
+ reg = <0x142 0x2>;
+ bits = <3 9>;
+ };
+ };
+
nsp_noc: interconnect@260c0000 {
compatible = "qcom,kaanapali-nsp-noc";
reg = <0x0 0x260c0000 0x0 0x21280>;
--
2.51.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* Re: [PATCH 4/8] arm64: dts: qcom: kaanapali: Add qfprom node
2026-05-11 22:23 ` [PATCH 4/8] arm64: dts: qcom: kaanapali: Add qfprom node Akhil P Oommen
@ 2026-05-13 16:52 ` Dmitry Baryshkov
2026-05-14 12:44 ` Konrad Dybcio
1 sibling, 0 replies; 21+ messages in thread
From: Dmitry Baryshkov @ 2026-05-13 16:52 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Sean Paul,
linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
freedreno, dri-devel, Jingyi Wang
On Tue, May 12, 2026 at 03:53:18AM +0530, Akhil P Oommen wrote:
> From: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
>
> Add the qfprom node and gpu related subnodes on Kaanapali SoC.
QFPROM, GPU
With that fixed:
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
>
> Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/kaanapali.dtsi | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 4/8] arm64: dts: qcom: kaanapali: Add qfprom node
2026-05-11 22:23 ` [PATCH 4/8] arm64: dts: qcom: kaanapali: Add qfprom node Akhil P Oommen
2026-05-13 16:52 ` Dmitry Baryshkov
@ 2026-05-14 12:44 ` Konrad Dybcio
1 sibling, 0 replies; 21+ messages in thread
From: Konrad Dybcio @ 2026-05-14 12:44 UTC (permalink / raw)
To: Akhil P Oommen, Will Deacon, Robin Murphy, Joerg Roedel,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, Rob Clark, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Jingyi Wang
On 5/12/26 12:23 AM, Akhil P Oommen wrote:
> From: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
>
> Add the qfprom node and gpu related subnodes on Kaanapali SoC.
>
> Signed-off-by: Jingyi Wang <jingyi.wang@oss.qualcomm.com>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 5/8] arm64: dts: qcom: Add GPU support for Kaanapali
2026-05-11 22:23 [PATCH 0/8] arm64: dts: qcom: Devicetree support for Kaanapali GPU Akhil P Oommen
` (3 preceding siblings ...)
2026-05-11 22:23 ` [PATCH 4/8] arm64: dts: qcom: kaanapali: Add qfprom node Akhil P Oommen
@ 2026-05-11 22:23 ` Akhil P Oommen
2026-05-13 16:53 ` Dmitry Baryshkov
2026-05-14 12:43 ` Konrad Dybcio
2026-05-11 22:23 ` [PATCH 6/8] arm64: dts: qcom: kaanapali: Add GPU cooling Akhil P Oommen
` (2 subsequent siblings)
7 siblings, 2 replies; 21+ messages in thread
From: Akhil P Oommen @ 2026-05-11 22:23 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Akhil P Oommen
Adreno 840 present in Kaanapali SoC is the second generation GPU in
A8x family. It is based on the new slice architecture with 3 slices,
higher GMEM/caches etc.
There is some re-arrangement in the reglist to properly cover maximum
register region. Other than this, the DT description is mostly similar
to the existing chipsets except the OPP tables.
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/kaanapali.dtsi | 232 ++++++++++++++++++++++++++++++++
1 file changed, 232 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
index 0211fc9f8c88..c57aea44218e 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
+++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
@@ -2573,6 +2573,238 @@ videocc: clock-controller@20f0000 {
#power-domain-cells = <1>;
};
+ gpu: gpu@3d00000 {
+ compatible = "qcom,adreno-44050a01", "qcom,adreno";
+ reg = <0x0 0x03d00000 0x0 0x6c000>,
+ <0x0 0x03d9e000 0x0 0x2000>;
+ reg-names = "kgsl_3d0_reg_memory",
+ "cx_mem";
+
+ interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
+
+ iommus = <&adreno_smmu 0 0x0>,
+ <&adreno_smmu 1 0x0>;
+
+ operating-points-v2 = <&gpu_opp_table>;
+
+ qcom,gmu = <&gmu>;
+ #cooling-cells = <2>;
+
+ nvmem-cells = <&gpu_speed_bin>;
+ nvmem-cell-names = "speed_bin";
+
+ interconnects = <&gem_noc MASTER_GFX3D QCOM_ICC_TAG_ALWAYS
+ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
+ interconnect-names = "gfx-mem";
+
+ gpu_zap_shader: zap-shader {
+ memory-region = <&gpu_microcode_mem>;
+ };
+
+ gpu_opp_table: opp-table {
+ compatible = "operating-points-v2-adreno",
+ "operating-points-v2";
+
+ opp-222000000 {
+ opp-hz = /bits/ 64 <222000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D2>;
+ opp-peak-kBps = <2136718>;
+ opp-supported-hw = <0x0f>;
+ /* ACD is disabled */
+ };
+
+ opp-282000000 {
+ opp-hz = /bits/ 64 <282000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1_1>;
+ opp-peak-kBps = <5285156>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xca2e5ffd>;
+ };
+
+ opp-342000000 {
+ opp-hz = /bits/ 64 <342000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>;
+ opp-peak-kBps = <5285156>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xe22a5ffd>;
+ };
+
+ opp-382000000 {
+ opp-hz = /bits/ 64 <382000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D0>;
+ opp-peak-kBps = <5285156>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xa22c5ffd>;
+ };
+
+ opp-422000000 {
+ opp-hz = /bits/ 64 <422000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
+ opp-peak-kBps = <6074218>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xa22c5ffd>;
+ };
+
+ opp-461000000 {
+ opp-hz = /bits/ 64 <461000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_L0>;
+ opp-peak-kBps = <6074218>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xe82e5ffd>;
+ };
+
+ opp-500000000 {
+ opp-hz = /bits/ 64 <500000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_L1>;
+ opp-peak-kBps = <6074218>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xe82c5ffd>;
+ };
+
+ opp-539000000 {
+ opp-hz = /bits/ 64 <539000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_L2>;
+ opp-peak-kBps = <6074218>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xc82b5ffd>;
+ };
+
+ opp-578000000 {
+ opp-hz = /bits/ 64 <578000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
+ opp-peak-kBps = <6074218>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xc02c5ffd>;
+ };
+
+ opp-646000000 {
+ opp-hz = /bits/ 64 <646000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS_L0>;
+ opp-peak-kBps = <8171875>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xc02c5ffd>;
+ };
+
+ opp-726000000 {
+ opp-hz = /bits/ 64 <726000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
+ opp-peak-kBps = <8171875>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0x882f5ffd>;
+ };
+
+ opp-826000000 {
+ opp-hz = /bits/ 64 <826000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS_L2>;
+ opp-peak-kBps = <12449218>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xa82c5ffd>;
+ };
+
+ opp-902000000 {
+ opp-hz = /bits/ 64 <902000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
+ opp-peak-kBps = <12449218>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0xa82b5ffd>;
+ };
+
+ opp-967000000 {
+ opp-hz = /bits/ 64 <967000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
+ opp-peak-kBps = <12449218>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0x882a5ffd>;
+ };
+
+ opp-1050000000 {
+ opp-hz = /bits/ 64 <1050000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
+ opp-peak-kBps = <20832031>;
+ opp-supported-hw = <0x0f>;
+ qcom,opp-acd-level = <0x88295ffd>;
+ };
+
+ opp-1200000000 {
+ opp-hz = /bits/ 64 <1200000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L3>;
+ opp-peak-kBps = <20832031>;
+ opp-supported-hw = <0x07>;
+ qcom,opp-acd-level = <0xa02e5ffd>;
+ };
+
+ opp-1300000000 {
+ opp-hz = /bits/ 64 <1300000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L4>;
+ opp-peak-kBps = <20832031>;
+ opp-supported-hw = <0x03>;
+ qcom,opp-acd-level = <0x802d5ffd>;
+ };
+ };
+ };
+
+ gmu: gmu@3d6c000 {
+ compatible = "qcom,adreno-gmu-840.1", "qcom,adreno-gmu";
+
+ reg = <0x0 0x03d6c000 0x0 0x68000>;
+ reg-names = "gmu";
+
+ 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>,
+ <&gcc GCC_GPU_GEMNOC_GFX_CLK>,
+ <&gpucc GPU_CC_HUB_CX_INT_CLK>;
+ clock-names = "ahb",
+ "gmu",
+ "cxo",
+ "memnoc",
+ "hub";
+
+ power-domains = <&gpucc GPU_CC_CX_GDSC>,
+ <&gxclkctl GX_CLKCTL_GX_GDSC>;
+ power-domain-names = "cx",
+ "gx";
+
+ iommus = <&adreno_smmu 5 0x0>;
+
+ qcom,qmp = <&aoss_qmp>;
+
+ operating-points-v2 = <&gmu_opp_table>;
+
+ gmu_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ opp-475000000 {
+ opp-hz = /bits/ 64 <475000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>;
+ };
+
+ opp-575000000 {
+ opp-hz = /bits/ 64 <575000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
+ };
+
+ opp-700000000 {
+ opp-hz = /bits/ 64 <700000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
+ };
+
+ opp-725000000 {
+ opp-hz = /bits/ 64 <725000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
+ };
+
+ opp-750000000 {
+ opp-hz = /bits/ 64 <750000000>;
+ opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
+ };
+ };
+ };
+
gxclkctl: clock-controller@3d64000 {
compatible = "qcom,kaanapali-gxclkctl";
reg = <0x0 0x03d64000 0x0 0x6000>;
--
2.51.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* Re: [PATCH 5/8] arm64: dts: qcom: Add GPU support for Kaanapali
2026-05-11 22:23 ` [PATCH 5/8] arm64: dts: qcom: Add GPU support for Kaanapali Akhil P Oommen
@ 2026-05-13 16:53 ` Dmitry Baryshkov
2026-05-14 12:43 ` Konrad Dybcio
1 sibling, 0 replies; 21+ messages in thread
From: Dmitry Baryshkov @ 2026-05-13 16:53 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Sean Paul,
linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
freedreno, dri-devel
On Tue, May 12, 2026 at 03:53:19AM +0530, Akhil P Oommen wrote:
> Adreno 840 present in Kaanapali SoC is the second generation GPU in
> A8x family. It is based on the new slice architecture with 3 slices,
> higher GMEM/caches etc.
>
> There is some re-arrangement in the reglist to properly cover maximum
> register region. Other than this, the DT description is mostly similar
> to the existing chipsets except the OPP tables.
>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/kaanapali.dtsi | 232 ++++++++++++++++++++++++++++++++
> 1 file changed, 232 insertions(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 5/8] arm64: dts: qcom: Add GPU support for Kaanapali
2026-05-11 22:23 ` [PATCH 5/8] arm64: dts: qcom: Add GPU support for Kaanapali Akhil P Oommen
2026-05-13 16:53 ` Dmitry Baryshkov
@ 2026-05-14 12:43 ` Konrad Dybcio
1 sibling, 0 replies; 21+ messages in thread
From: Konrad Dybcio @ 2026-05-14 12:43 UTC (permalink / raw)
To: Akhil P Oommen, Will Deacon, Robin Murphy, Joerg Roedel,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, Rob Clark, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel
On 5/12/26 12:23 AM, Akhil P Oommen wrote:
> Adreno 840 present in Kaanapali SoC is the second generation GPU in
> A8x family. It is based on the new slice architecture with 3 slices,
> higher GMEM/caches etc.
>
> There is some re-arrangement in the reglist to properly cover maximum
> register region. Other than this, the DT description is mostly similar
> to the existing chipsets except the OPP tables.
>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
[...]
> + gpu_opp_table: opp-table {
> + compatible = "operating-points-v2-adreno",
> + "operating-points-v2";
> +
> + opp-222000000 {
> + opp-hz = /bits/ 64 <222000000>;
> + opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D2>;
> + opp-peak-kBps = <2136718>;
> + opp-supported-hw = <0x0f>;
> + /* ACD is disabled */
> + };
The clock plan also has a 160 MHz OPP @ LOWSVS_D3 and there's a couple of
interim OPPs that you have that aren't part of it (but maybe you have
better docs)
Otherwise lgtm but the size of the GPU region and the GMU base look
slightly confusing when I'm comparing them against the reg map
Konrad
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 6/8] arm64: dts: qcom: kaanapali: Add GPU cooling
2026-05-11 22:23 [PATCH 0/8] arm64: dts: qcom: Devicetree support for Kaanapali GPU Akhil P Oommen
` (4 preceding siblings ...)
2026-05-11 22:23 ` [PATCH 5/8] arm64: dts: qcom: Add GPU support for Kaanapali Akhil P Oommen
@ 2026-05-11 22:23 ` Akhil P Oommen
2026-05-13 17:53 ` Dmitry Baryshkov
2026-05-11 22:23 ` [PATCH 7/8] arm64: dts: qcom: kaanapali-mtp: Enable GPU Akhil P Oommen
2026-05-11 22:23 ` [PATCH 8/8] arm64: dts: qcom: kaanapali-qrd: " Akhil P Oommen
7 siblings, 1 reply; 21+ messages in thread
From: Akhil P Oommen @ 2026-05-11 22:23 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Akhil P Oommen, Gaurav Kohli
From: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
Unlike the CPU, the GPU does not throttle its speed automatically when it
reaches high temperatures.
Set up GPU cooling by throttling the GPU speed
when reaching 105°C.
Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/kaanapali.dtsi | 165 ++++++++++++++++++++++++++------
1 file changed, 135 insertions(+), 30 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
index c57aea44218e..5089416ec32c 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
+++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
@@ -26,6 +26,7 @@
#include <dt-bindings/soc/qcom,gpr.h>
#include <dt-bindings/soc/qcom,rpmh-rsc.h>
#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
+#include <dt-bindings/thermal/thermal.h>
#include "kaanapali-ipcc.h"
@@ -7045,13 +7046,15 @@ nsphmx-3-critical {
};
gpuss-0-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 0>;
trips {
- gpuss-0-hot {
- temperature = <120000>;
+ gpuss_0_alert0: gpuss-0-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-0-critical {
@@ -7060,16 +7063,25 @@ gpuss-0-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_0_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-1-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 1>;
trips {
- gpuss-1-hot {
- temperature = <120000>;
+ gpuss_1_alert0: gpuss-1-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-1-critical {
@@ -7078,16 +7090,25 @@ gpuss-1-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_1_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-2-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 2>;
trips {
- gpuss-2-hot {
- temperature = <120000>;
+ gpuss_2_alert0: gpuss-2-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-2-critical {
@@ -7096,16 +7117,25 @@ gpuss-2-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_2_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-3-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 3>;
trips {
- gpuss-3-hot {
- temperature = <120000>;
+ gpuss_3_alert0: gpuss-3-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-3-critical {
@@ -7114,16 +7144,25 @@ gpuss-3-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_3_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-4-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 4>;
trips {
- gpuss-4-hot {
- temperature = <120000>;
+ gpuss_4_alert0: gpuss-4-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-4-critical {
@@ -7132,16 +7171,25 @@ gpuss-4-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_4_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-5-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 5>;
trips {
- gpuss-5-hot {
- temperature = <120000>;
+ gpuss_5_alert0: gpuss-5-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-5-critical {
@@ -7150,16 +7198,25 @@ gpuss-5-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_5_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-6-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 6>;
trips {
- gpuss-6-hot {
- temperature = <120000>;
+ gpuss_6_alert0: gpuss-6-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-6-critical {
@@ -7168,16 +7225,25 @@ gpuss-6-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_6_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-7-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 7>;
trips {
- gpuss-7-hot {
- temperature = <120000>;
+ gpuss_7_alert0: gpuss-7-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-7-critical {
@@ -7186,16 +7252,25 @@ gpuss-7-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_7_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-8-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 8>;
trips {
- gpuss-8-hot {
- temperature = <120000>;
+ gpuss_8_alert0: gpuss-8-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-8-critical {
@@ -7204,16 +7279,25 @@ gpuss-8-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_8_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-9-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 9>;
trips {
- gpuss-9-hot {
- temperature = <120000>;
+ gpuss_9_alert0: gpuss-9-alert0 {
+ temperature = <105000>;
hysteresis = <5000>;
- type = "hot";
+ type = "passive";
};
gpuss-9-critical {
@@ -7222,12 +7306,26 @@ gpuss-9-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_9_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-10-thermal {
+ polling-delay-passive = <200>;
+
thermal-sensors = <&tsens5 10>;
trips {
+ gpuss_10_alert0: gpuss-10-alert0 {
+ temperature = <105000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
gpuss-10-hot {
temperature = <120000>;
hysteresis = <5000>;
@@ -7240,6 +7338,13 @@ gpuss-10-critical {
type = "critical";
};
};
+
+ cooling-maps {
+ map0 {
+ trip = <&gpuss_10_alert0>;
+ cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
};
ddr-thermal {
--
2.51.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* Re: [PATCH 6/8] arm64: dts: qcom: kaanapali: Add GPU cooling
2026-05-11 22:23 ` [PATCH 6/8] arm64: dts: qcom: kaanapali: Add GPU cooling Akhil P Oommen
@ 2026-05-13 17:53 ` Dmitry Baryshkov
2026-05-14 6:47 ` Gaurav Kohli
0 siblings, 1 reply; 21+ messages in thread
From: Dmitry Baryshkov @ 2026-05-13 17:53 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Sean Paul,
linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
freedreno, dri-devel, Gaurav Kohli
On Tue, May 12, 2026 at 03:53:20AM +0530, Akhil P Oommen wrote:
> From: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>
> Unlike the CPU, the GPU does not throttle its speed automatically when it
> reaches high temperatures.
>
> Set up GPU cooling by throttling the GPU speed
> when reaching 105°C.
>
> Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/kaanapali.dtsi | 165 ++++++++++++++++++++++++++------
> 1 file changed, 135 insertions(+), 30 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> index c57aea44218e..5089416ec32c 100644
> --- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> +++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
> @@ -26,6 +26,7 @@
> #include <dt-bindings/soc/qcom,gpr.h>
> #include <dt-bindings/soc/qcom,rpmh-rsc.h>
> #include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
> +#include <dt-bindings/thermal/thermal.h>
>
> #include "kaanapali-ipcc.h"
>
> @@ -7045,13 +7046,15 @@ nsphmx-3-critical {
> };
>
> gpuss-0-thermal {
> + polling-delay-passive = <200>;
Other DT files use 10 for GPU thermal zones polling interval.
> +
> thermal-sensors = <&tsens5 0>;
>
> trips {
> - gpuss-0-hot {
> - temperature = <120000>;
> + gpuss_0_alert0: gpuss-0-alert0 {
> + temperature = <105000>;
> hysteresis = <5000>;
> - type = "hot";
> + type = "passive";
> };
Why don't we keep both passive and hot trip points?
>
> gpuss-0-critical {
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 21+ messages in thread* Re: [PATCH 6/8] arm64: dts: qcom: kaanapali: Add GPU cooling
2026-05-13 17:53 ` Dmitry Baryshkov
@ 2026-05-14 6:47 ` Gaurav Kohli
0 siblings, 0 replies; 21+ messages in thread
From: Gaurav Kohli @ 2026-05-14 6:47 UTC (permalink / raw)
To: Dmitry Baryshkov, Akhil P Oommen
Cc: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Sean Paul,
linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
freedreno, dri-devel
On 5/13/2026 11:23 PM, Dmitry Baryshkov wrote:
> On Tue, May 12, 2026 at 03:53:20AM +0530, Akhil P Oommen wrote:
>> From: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>>
>> Unlike the CPU, the GPU does not throttle its speed automatically when it
>> reaches high temperatures.
>>
>> Set up GPU cooling by throttling the GPU speed
>> when reaching 105°C.
>>
>> Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
>> ---
>> arch/arm64/boot/dts/qcom/kaanapali.dtsi | 165 ++++++++++++++++++++++++++------
>> 1 file changed, 135 insertions(+), 30 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/kaanapali.dtsi b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
>> index c57aea44218e..5089416ec32c 100644
>> --- a/arch/arm64/boot/dts/qcom/kaanapali.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/kaanapali.dtsi
>> @@ -26,6 +26,7 @@
>> #include <dt-bindings/soc/qcom,gpr.h>
>> #include <dt-bindings/soc/qcom,rpmh-rsc.h>
>> #include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
>> +#include <dt-bindings/thermal/thermal.h>
>>
>> #include "kaanapali-ipcc.h"
>>
>> @@ -7045,13 +7046,15 @@ nsphmx-3-critical {
>> };
>>
>> gpuss-0-thermal {
>> + polling-delay-passive = <200>;
>
> Other DT files use 10 for GPU thermal zones polling interval.
>
Sure, let me update.
>> +
>> thermal-sensors = <&tsens5 0>;
>>
>> trips {
>> - gpuss-0-hot {
>> - temperature = <120000>;
>> + gpuss_0_alert0: gpuss-0-alert0 {
>> + temperature = <105000>;
>> hysteresis = <5000>;
>> - type = "hot";
>> + type = "passive";
>> };
>
> Why don't we keep both passive and hot trip points?
>
Need guidance here, we are keeping passive at low temp so still hot trip
is needed for such cases.
>>
>> gpuss-0-critical {
>>
>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 7/8] arm64: dts: qcom: kaanapali-mtp: Enable GPU
2026-05-11 22:23 [PATCH 0/8] arm64: dts: qcom: Devicetree support for Kaanapali GPU Akhil P Oommen
` (5 preceding siblings ...)
2026-05-11 22:23 ` [PATCH 6/8] arm64: dts: qcom: kaanapali: Add GPU cooling Akhil P Oommen
@ 2026-05-11 22:23 ` Akhil P Oommen
2026-05-13 17:54 ` Dmitry Baryshkov
2026-05-14 12:36 ` Konrad Dybcio
2026-05-11 22:23 ` [PATCH 8/8] arm64: dts: qcom: kaanapali-qrd: " Akhil P Oommen
7 siblings, 2 replies; 21+ messages in thread
From: Akhil P Oommen @ 2026-05-11 22:23 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Akhil P Oommen
Add the secure firmware name property and enable GPU support on
Kaanapali MTP device.
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/kaanapali-mtp.dts | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
index f9b5b5718b90..ba256039dd3c 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
+++ b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
@@ -865,6 +865,14 @@ vreg_l7n_3p3: ldo7 {
};
};
+&gpu {
+ status = "okay";
+};
+
+&gpu_zap_shader {
+ firmware-name = "qcom/kaanapali/gen80200_zap.mbn";
+};
+
&lpass_vamacro {
pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
pinctrl-names = "default";
--
2.51.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* Re: [PATCH 7/8] arm64: dts: qcom: kaanapali-mtp: Enable GPU
2026-05-11 22:23 ` [PATCH 7/8] arm64: dts: qcom: kaanapali-mtp: Enable GPU Akhil P Oommen
@ 2026-05-13 17:54 ` Dmitry Baryshkov
2026-05-14 12:36 ` Konrad Dybcio
1 sibling, 0 replies; 21+ messages in thread
From: Dmitry Baryshkov @ 2026-05-13 17:54 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Sean Paul,
linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
freedreno, dri-devel
On Tue, May 12, 2026 at 03:53:21AM +0530, Akhil P Oommen wrote:
> Add the secure firmware name property and enable GPU support on
> Kaanapali MTP device.
>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/kaanapali-mtp.dts | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 7/8] arm64: dts: qcom: kaanapali-mtp: Enable GPU
2026-05-11 22:23 ` [PATCH 7/8] arm64: dts: qcom: kaanapali-mtp: Enable GPU Akhil P Oommen
2026-05-13 17:54 ` Dmitry Baryshkov
@ 2026-05-14 12:36 ` Konrad Dybcio
1 sibling, 0 replies; 21+ messages in thread
From: Konrad Dybcio @ 2026-05-14 12:36 UTC (permalink / raw)
To: Akhil P Oommen, Will Deacon, Robin Murphy, Joerg Roedel,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, Rob Clark, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel
On 5/12/26 12:23 AM, Akhil P Oommen wrote:
> Add the secure firmware name property and enable GPU support on
> Kaanapali MTP device.
>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 8/8] arm64: dts: qcom: kaanapali-qrd: Enable GPU
2026-05-11 22:23 [PATCH 0/8] arm64: dts: qcom: Devicetree support for Kaanapali GPU Akhil P Oommen
` (6 preceding siblings ...)
2026-05-11 22:23 ` [PATCH 7/8] arm64: dts: qcom: kaanapali-mtp: Enable GPU Akhil P Oommen
@ 2026-05-11 22:23 ` Akhil P Oommen
2026-05-13 17:54 ` Dmitry Baryshkov
2026-05-14 12:37 ` Konrad Dybcio
7 siblings, 2 replies; 21+ messages in thread
From: Akhil P Oommen @ 2026-05-11 22:23 UTC (permalink / raw)
To: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel, Akhil P Oommen
Add the secure firmware name property and enable GPU support on
Kaanapali QRD device.
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/kaanapali-qrd.dts | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/kaanapali-qrd.dts b/arch/arm64/boot/dts/qcom/kaanapali-qrd.dts
index 55d02219ef4e..6bef8ec151f8 100644
--- a/arch/arm64/boot/dts/qcom/kaanapali-qrd.dts
+++ b/arch/arm64/boot/dts/qcom/kaanapali-qrd.dts
@@ -693,6 +693,14 @@ vreg_l7n_3p3: ldo7 {
};
};
+&gpu {
+ status = "okay";
+};
+
+&gpu_zap_shader {
+ firmware-name = "qcom/kaanapali/gen80200_zap.mbn";
+};
+
&pmh0101_flash {
status = "okay";
--
2.51.0
^ permalink raw reply related [flat|nested] 21+ messages in thread* Re: [PATCH 8/8] arm64: dts: qcom: kaanapali-qrd: Enable GPU
2026-05-11 22:23 ` [PATCH 8/8] arm64: dts: qcom: kaanapali-qrd: " Akhil P Oommen
@ 2026-05-13 17:54 ` Dmitry Baryshkov
2026-05-14 12:37 ` Konrad Dybcio
1 sibling, 0 replies; 21+ messages in thread
From: Dmitry Baryshkov @ 2026-05-13 17:54 UTC (permalink / raw)
To: Akhil P Oommen
Cc: Will Deacon, Robin Murphy, Joerg Roedel, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson, Konrad Dybcio,
Rob Clark, Dmitry Baryshkov, Abhinav Kumar, Jessica Zhang,
Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Sean Paul,
linux-arm-kernel, iommu, devicetree, linux-kernel, linux-arm-msm,
freedreno, dri-devel
On Tue, May 12, 2026 at 03:53:22AM +0530, Akhil P Oommen wrote:
> Add the secure firmware name property and enable GPU support on
> Kaanapali QRD device.
>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/kaanapali-qrd.dts | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 8/8] arm64: dts: qcom: kaanapali-qrd: Enable GPU
2026-05-11 22:23 ` [PATCH 8/8] arm64: dts: qcom: kaanapali-qrd: " Akhil P Oommen
2026-05-13 17:54 ` Dmitry Baryshkov
@ 2026-05-14 12:37 ` Konrad Dybcio
1 sibling, 0 replies; 21+ messages in thread
From: Konrad Dybcio @ 2026-05-14 12:37 UTC (permalink / raw)
To: Akhil P Oommen, Will Deacon, Robin Murphy, Joerg Roedel,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, Rob Clark, Dmitry Baryshkov, Abhinav Kumar,
Jessica Zhang, Marijn Suijten, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: Sean Paul, linux-arm-kernel, iommu, devicetree, linux-kernel,
linux-arm-msm, freedreno, dri-devel
On 5/12/26 12:23 AM, Akhil P Oommen wrote:
> Add the secure firmware name property and enable GPU support on
> Kaanapali QRD device.
>
> Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 21+ messages in thread