Re: [PATCH v3 1/2] arm64: dts: qcom: qcs615: add SDHC1 and SDHC2
From: Konrad Dybcio
Date: Thu Nov 28 2024 - 15:51:51 EST
On 26.11.2024 10:26 AM, Krzysztof Kozlowski wrote:
> On 26/11/2024 01:07, Dmitry Baryshkov wrote:
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/qcs615.dtsi b/arch/arm64/boot/dts/qcom/qcs615.dtsi
>>>> index 590beb37f441..37c6ab217c96 100644
>>>> --- a/arch/arm64/boot/dts/qcom/qcs615.dtsi
>>>> +++ b/arch/arm64/boot/dts/qcom/qcs615.dtsi
>>>> @@ -399,6 +399,65 @@ qfprom: efuse@780000 {
>>>> #size-cells = <1>;
>>>> };
>>>>
>>>> + sdhc_1: mmc@7c4000 {
>>>> + compatible = "qcom,qcs615-sdhci", "qcom,sdhci-msm-v5";
>>>> + reg = <0x0 0x007c4000 0x0 0x1000>,
>>>> + <0x0 0x007c5000 0x0 0x1000>;
>>>> + reg-names = "hc",
>>>> + "cqhci";
>>>
>>> There's an "ice" region at 0x007c8000
>>
>> Shouldn't ice now be handled by a separate device?
> It should and UFS bindings expect that. However I am not sure if MMC was
> improved to support external ICE device. Also for example on SM8550 the
> ICE has entirely different (further) address space, so it also suggests
> it is separate device. Here address space looks almost continuous.
Some SoCs have two ICEs (one for UFS and one for SDHCI) - seems to be
mainly the case on platforms where there's "sdhc1" (intended for eMMC)
*and* a UFS host.
The commit message that introduced a separate driver says:
"""
The reason for this is because, staring with SM8550, the ICE IP block
is shared between UFS and SDCC, which means we need to probe a dedicated
device and share it between those two consumers.
"""
but:
* in sm8550.dtsi, only UFS has a qcom,ice reference (like other device
trees using that binding)
* I can't find anything that would back this internally
I'm not sure how this is supposed to work, especially on SoCs with two
instances
Konrad