Re: [PATCH 2/2] arm64: dts: qcom: eliza: Add QUPv3, GPI DMA, SDHCI and LLCC nodes

From: Konrad Dybcio

Date: Fri May 15 2026 - 05:22:19 EST


On 5/13/26 2:33 PM, Abel Vesa wrote:
> Describe the missing Eliza SoC nodes for the QUPv3 WRAP1 and WRAP2 serial
> engines, add the matching GPI DMA controllers, the SDHCI controllers and
> the LLCC system cache controller.
>
> Also add the TLMM pinctrl states for the QUPv3 serial engines and the
> SD card/eMMC interfaces, plus OPP tables for the SDHCI controllers.
>
> Signed-off-by: Abel Vesa <abel.vesa@xxxxxxxxxxxxxxxx>
> ---

[...]

> + gpi_dma1: dma-controller@a00000 {
> + compatible = "qcom,eliza-gpi-dma", "qcom,sm6350-gpi-dma";
> + reg = <0x0 0x00a00000 0x0 0x60000>;
> +
> + interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>;
> +
> + dma-channels = <12>;
> + dma-channel-mask = <0x3f>;
> + #dma-cells = <3>;
> +
> + iommus = <&apps_smmu 0xb6 0x0>;
> + dma-coherent;
> +
> + status = "disabled";

Let's keep the GPIs enabled

[...]

> + sdhc_1: mmc@f44000 {
> + compatible = "qcom,eliza-sdhci", "qcom,sdhci-msm-v5";
> + reg = <0x0 0x00f44000 0x0 0x1000>,
> + <0x0 0x00f45000 0x0 0x1000>,
> + <0x0 0x00f48000 0x0 0x8000>;
> + reg-names = "hc",
> + "cqhci",
> + "ice";

This should be a separate node

> +
> + interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "hc_irq",
> + "pwr_irq";
> +
> + clocks = <&gcc GCC_SDCC1_AHB_CLK>,
> + <&gcc GCC_SDCC1_APPS_CLK>,
> + <&rpmhcc RPMH_CXO_CLK>;
> + clock-names = "iface",
> + "core",
> + "xo";
> +
> + interconnects = <&aggre2_noc MASTER_SDCC_1 QCOM_ICC_TAG_ALWAYS
> + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
> + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
> + &config_noc SLAVE_SDCC_1 QCOM_ICC_TAG_ACTIVE_ONLY>;
> + interconnect-names = "sdhc-ddr",
> + "cpu-sdhc";
> +
> + power-domains = <&rpmhpd RPMHPD_CX>;
> + operating-points-v2 = <&sdhc1_opp_table>;
> +
> + qcom,dll-config = <0x000f44ec>;
> + qcom,ddr-config = <0x80040868>;
> +
> + iommus = <&apps_smmu 0x520 0x0>;
> + dma-coherent;
> +
> + bus-width = <4>;

That's definitely 8

> + max-sd-hs-hz = <37500000>;

This should be fixed in Eliza

[...]

> + max-sd-hs-hz = <37500000>;

ditto for sdcc2

> +
> + resets = <&gcc GCC_SDCC2_BCR>;
> +
> + status = "disabled";
> +
> + sdhc2_opp_table: opp-table {
> + compatible = "operating-points-v2";
> +
> + opp-100000000 {
> + opp-hz = /bits/ 64 <100000000>;

The clock plan says 100, but the SDC doc says 50. What does
downstream set here?

Konrad