Re: [PATCH v2 3/3] arm64: dts: qcom: Add Mahua SoC and CRD
From: Dmitry Baryshkov
Date: Thu Mar 19 2026 - 22:38:53 EST
On Wed, Mar 18, 2026 at 05:41:00AM -0700, Gopikrishna Garmidi wrote:
> Introduce support for the Mahua SoC and the CRD based on it. Some of
> the notable differences are the absent CPU cluster, interconnect, TLMM,
> thermal zones and adjusted PCIe west clocks. Everything else should
> work as-is.
>
> Co-developed-by: Raviteja Laggyshetty <raviteja.laggyshetty@xxxxxxxxxxxxxxxx>
> Signed-off-by: Raviteja Laggyshetty <raviteja.laggyshetty@xxxxxxxxxxxxxxxx>
> Co-developed-by: Kamal Wadhwa <kamal.wadhwa@xxxxxxxxxxxxxxxx>
> Signed-off-by: Kamal Wadhwa <kamal.wadhwa@xxxxxxxxxxxxxxxx>
> Co-developed-by: Manaf Meethalavalappu Pallikunhi <manaf.pallikunhi@xxxxxxxxxxxxxxxx>
> Signed-off-by: Manaf Meethalavalappu Pallikunhi <manaf.pallikunhi@xxxxxxxxxxxxxxxx>
> Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@xxxxxxxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/Makefile | 1 +
> arch/arm64/boot/dts/qcom/glymur.dtsi | 2 +-
> arch/arm64/boot/dts/qcom/mahua-crd.dts | 21 ++
> arch/arm64/boot/dts/qcom/mahua.dtsi | 299 +++++++++++++++++++
> arch/arm64/boot/dts/qcom/pmcx0102.dtsi | 2 +-
> arch/arm64/boot/dts/qcom/pmh0104-glymur.dtsi | 4 +-
> 6 files changed, 325 insertions(+), 4 deletions(-)
> create mode 100644 arch/arm64/boot/dts/qcom/mahua-crd.dts
> create mode 100644 arch/arm64/boot/dts/qcom/mahua.dtsi
> +&thermal_zones {
> + /delete-node/ aoss-6-thermal;
> + /delete-node/ aoss-7-thermal;
> + /delete-node/ cpu-2-0-0-thermal;
> + /delete-node/ cpu-2-0-1-thermal;
> + /delete-node/ cpu-2-1-0-thermal;
> + /delete-node/ cpu-2-1-1-thermal;
> + /delete-node/ cpu-2-2-0-thermal;
> + /delete-node/ cpu-2-2-1-thermal;
> + /delete-node/ cpu-2-3-0-thermal;
> + /delete-node/ cpu-2-3-1-thermal;
> + /delete-node/ cpu-2-4-0-thermal;
> + /delete-node/ cpu-2-4-1-thermal;
> + /delete-node/ cpu-2-5-0-thermal;
> + /delete-node/ cpu-2-5-1-thermal;
> + /delete-node/ cpullc-2-0-thermal;
> + /delete-node/ cpuillc-2-1-thermal;
> + /delete-node/ ddr-2-thermal;
> + /delete-node/ gpu-3-0-thermal;
> + /delete-node/ gpu-3-1-thermal;
> + /delete-node/ gpu-3-2-thermal;
> + /delete-node/ qmx-2-0-thermal;
> + /delete-node/ qmx-2-1-thermal;
> + /delete-node/ qmx-2-2-thermal;
> + /delete-node/ qmx-2-3-thermal;
> + /delete-node/ qmx-2-4-thermal;
> + /delete-node/ video-1-thermal;
> +
> + ddr-1-thermal {
> + thermal-sensors = <&tsens1 7>;
> + };
As a second thought, patching the nodes using node names is frowned
upon. I've implemented the similar change for Hamoa/Purwa pair, but I
ended up defining thermal_foo labels for all affected (removed or
patched) nodes and then patching them using that label.
Would it make sense to implement a similar change here?
> +
[...]
> + gpuss-1-thermal {
> + thermal-sensors = <&tsens5 11>;
> + };
> +
> + gpuss-2-thermal {
These nodes can remain as is, they are new.
> + thermal-sensors = <&tsens5 12>;
> +
> + trips {
> + trip-point0 {
> + temperature = <90000>;
> + hysteresis = <5000>;
> + type = "hot";
> + };
> +
> + gpuss-2-critical {
> + temperature = <115000>;
> + hysteresis = <1000>;
> + type = "critical";
> + };
> + };
> + };
> +
> + gpuss-3-thermal {
> + thermal-sensors = <&tsens5 13>;
> +
> + trips {
> + trip-point0 {
> + temperature = <90000>;
> + hysteresis = <5000>;
> + type = "hot";
> + };
> +
> + gpuss-3-critical {
> + temperature = <115000>;
> + hysteresis = <1000>;
> + type = "critical";
> + };
> + };
> + };
> +
> + gpuss-4-thermal {
> + thermal-sensors = <&tsens5 14>;
> +
> + trips {
> + trip-point0 {
> + temperature = <90000>;
> + hysteresis = <5000>;
> + type = "hot";
> + };
> +
> + gpuss-4-critical {
> + temperature = <115000>;
> + hysteresis = <1000>;
> + type = "critical";
> + };
> + };
> + };
> +};
> +
> +&tsens4 {
> + #qcom,sensors = <11>;
> +};
> +
> +&tsens5 {
> + #qcom,sensors = <15>;
> +};
> +
> diff --git a/arch/arm64/boot/dts/qcom/pmcx0102.dtsi b/arch/arm64/boot/dts/qcom/pmcx0102.dtsi
> index c3ccd2b75609..db2da9ef4f01 100644
> --- a/arch/arm64/boot/dts/qcom/pmcx0102.dtsi
> +++ b/arch/arm64/boot/dts/qcom/pmcx0102.dtsi
> @@ -46,7 +46,7 @@ trip1 {
> };
> };
>
> - pmcx0102-d0-thermal {
> + pmcx0102_d0_thermal: pmcx0102-d0-thermal {
Here and futher: please drop unused labels.
> polling-delay-passive = <100>;
> thermal-sensors = <&pmcx0102_d_e0_temp_alarm>;
>
> diff --git a/arch/arm64/boot/dts/qcom/pmh0104-glymur.dtsi b/arch/arm64/boot/dts/qcom/pmh0104-glymur.dtsi
> index d89cceda53a3..7a1e5f355c17 100644
> --- a/arch/arm64/boot/dts/qcom/pmh0104-glymur.dtsi
> +++ b/arch/arm64/boot/dts/qcom/pmh0104-glymur.dtsi
> @@ -8,7 +8,7 @@
>
> /{
> thermal_zones {
> - pmh0104-i0-thermal {
> + pmh0104_i0_thermal: pmh0104-i0-thermal {
> polling-delay-passive = <100>;
> thermal-sensors = <&pmh0104_i_e0_temp_alarm>;
>
> @@ -27,7 +27,7 @@ trip1 {
> };
> };
>
> - pmh0104-j0-thermal {
> + pmh0104_j0_thermal: pmh0104-j0-thermal {
> polling-delay-passive = <100>;
> thermal-sensors = <&pmh0104_j_e0_temp_alarm>;
>
> --
> 2.34.1
>
--
With best wishes
Dmitry