On 4/22/25 11:31 PM, Danila Tikhonov wrote:
> Add base dtsi for SM7150-AA/SM7150-AB/SM7150-AC SoCs
> 
> Co-developed-by: David Wronek <da...@mainlining.org>
> Signed-off-by: David Wronek <da...@mainlining.org>
> Co-developed-by: Jens Reidel <adr...@mainlining.org>
> Signed-off-by: Jens Reidel <adr...@mainlining.org>
> Signed-off-by: Danila Tikhonov <dan...@jiaxyga.com>
> ---

[...]

> +             cpu0: cpu@0 {
> +                     device_type = "cpu";
> +                     compatible = "qcom,kryo470";

Please split this into Kryo 470 silver and gold, with the former being
based on CA55 and the latter on CA76

[...]

> +     pmu-a55 {
> +             compatible = "arm,cortex-a55-pmu";
> +             interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>;
> +     };
> +
> +     pmu-a76 {
> +             compatible = "arm,cortex-a78-pmu";
> +             interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>;
> +     };

Please update this, mimicking 

2c06e0797c32 ("arm64: dts: qcom: sm8650: add PPI interrupt partitions for the 
ARM PMUs")

> +
> +     psci {
> +             compatible = "arm,psci-1.0";
> +             method = "smc";
> +
> +             cpu_pd0: power-domain-cpu0 {
> +                     #power-domain-cells = <0>;
> +                     power-domains = <&cluster_pd>;
> +                     domain-idle-states = <&little_cpu_sleep_0
> +                                           &little_cpu_sleep_1>;

<&foo>,
<&foo2>;

because they are phandles to separate things - DTC treats them equally
though..

[...]

> +                             interconnects = <&aggre1_noc MASTER_QUP_0 
> QCOM_ICC_TAG_ALWAYS
> +                                              &config_noc SLAVE_QUP_0 
> QCOM_ICC_TAG_ALWAYS>,
> +                                             <&gem_noc MASTER_AMPSS_M0 
> QCOM_ICC_TAG_ALWAYS
> +                                              &config_noc SLAVE_QUP_0 
> QCOM_ICC_TAG_ALWAYS>,

Paths involving AMPSS_M0 (the cpu endpoint) should be ACTIVE_ONLY,
this applies to the entire file and all paths

[...]

> +             remoteproc_adsp: remoteproc@62400000 {
> +                     compatible = "qcom,sm7150-adsp-pas";
> +                     reg = <0x0 0x62400000 0x0 0x100>;

This region is 0x10_000 long

[...]

> +             adreno_smmu: iommu@5040000 {
> +                     compatible = "qcom,sm7150-smmu-v2",
> +                                  "qcom,adreno-smmu",
> +                                  "qcom,smmu-v2";
> +                     reg = <0x0 0x05040000 0x0 0x10000>;
> +
> +                     interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
> +                                  <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
> +                                  <GIC_SPI 364 IRQ_TYPE_EDGE_RISING>,
> +                                  <GIC_SPI 365 IRQ_TYPE_EDGE_RISING>,
> +                                  <GIC_SPI 366 IRQ_TYPE_EDGE_RISING>,
> +                                  <GIC_SPI 367 IRQ_TYPE_EDGE_RISING>,
> +                                  <GIC_SPI 368 IRQ_TYPE_EDGE_RISING>,
> +                                  <GIC_SPI 369 IRQ_TYPE_EDGE_RISING>,
> +                                  <GIC_SPI 370 IRQ_TYPE_EDGE_RISING>,
> +                                  <GIC_SPI 371 IRQ_TYPE_EDGE_RISING>;
> +
> +                     clocks = <&gpucc GPU_CC_AHB_CLK>,
> +                              <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
> +                              <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>;
> +                     clock-names = "ahb",
> +                                   "bus",
> +                                   "iface";
> +
> +                     power-domains = <&gpucc CX_GDSC>;
> +
> +                     #iommu-cells = <1>;
> +                     #global-interrupts = <2>;

Add `dma-coherent` and check whether the GPU still works

[...]

> +             };
> +
> +             gmu: gmu@506a000 {
> +                     compatible = "qcom,adreno-gmu-618.0",
> +                                  "qcom,adreno-gmu";
> +                     reg = <0x0 0x0506a000 0x0 0x31000>,

Make it 0x26_000 so that it doesn't leak into GPU_CC

[...]

> +             tsens0: thermal-sensor@c263000 {
> +                     compatible = "qcom,sm7150-tsens",
> +                                  "qcom,tsens-v2";
> +                     reg = <0x0 0x0c263000 0x0 0x1ff>, /* TM */
> +                           <0x0 0x0c222000 0x0 0x1ff>; /* SROT */

Please remove these comments

[...]

> +             intc: interrupt-controller@17a00000 {
> +                     compatible = "arm,gic-v3";
> +                     reg = <0x0 0x17a00000 0x0 0x10000>,  /* GICD */
> +                           <0x0 0x17a60000 0x0 0x100000>; /* GICR * 8 */

And these ones too

[...]

> +     thermal-zones {

Please adjust this against 

https://lore.kernel.org/linux-arm-msm/20250219-x1e80100-thermal-fixes-v1-0-d110e44ac...@linaro.org/

(keep only critical trips with no sw cooling for the CPU, etc.)

Konrad

Reply via email to