[PATCH 30/33] arm64: dts: qcom: Add dtsi for Snapdragon 730/730g/732g (SM7150) SoCs
Konrad Dybcio
konrad.dybcio at oss.qualcomm.com
Wed Apr 23 12:18:05 UTC 2025
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 <david at mainlining.org>
> Signed-off-by: David Wronek <david at mainlining.org>
> Co-developed-by: Jens Reidel <adrian at mainlining.org>
> Signed-off-by: Jens Reidel <adrian at mainlining.org>
> Signed-off-by: Danila Tikhonov <danila at jiaxyga.com>
> ---
[...]
> + cpu0: cpu at 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 at 62400000 {
> + compatible = "qcom,sm7150-adsp-pas";
> + reg = <0x0 0x62400000 0x0 0x100>;
This region is 0x10_000 long
[...]
> + adreno_smmu: iommu at 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 at 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 at 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 at 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-d110e44ac3f9@linaro.org/
(keep only critical trips with no sw cooling for the CPU, etc.)
Konrad
More information about the dri-devel
mailing list