Re: [PATCH V3 2/4] dt-bindings: mmc: controller: Add max-sd-hs-frequency property
From: Konrad Dybcio <hidden>
Date: 2025-06-23 12:09:08
Also in:
linux-arm-msm, linux-mmc, lkml
On 6/22/25 11:48 AM, Krzysztof Kozlowski wrote:
On 21/06/2025 12:20, Konrad Dybcio wrote:quoted
On 6/18/25 9:43 AM, Krzysztof Kozlowski wrote:quoted
On 18/06/2025 09:28, Sarthak Garg wrote:quoted
Introduce a new optional device tree property `max-sd-hs-frequency` to limit the maximum frequency (in Hz) used for SD cards operating in High-Speed (HS) mode. This property is useful for platforms with vendor-specific hardware constraints, such as the presence of a level shifter that cannot reliably support the default 50 MHz HS frequency. It allows the host driver to cap the HS mode frequency accordingly. Signed-off-by: Sarthak Garg <redacted> --- .../devicetree/bindings/mmc/mmc-controller-common.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+)diff --git a/Documentation/devicetree/bindings/mmc/mmc-controller-common.yaml b/Documentation/devicetree/bindings/mmc/mmc-controller-common.yaml index 9a7235439759..1976f5f8c401 100644 --- a/Documentation/devicetree/bindings/mmc/mmc-controller-common.yaml +++ b/Documentation/devicetree/bindings/mmc/mmc-controller-common.yaml@@ -93,6 +93,16 @@ properties: minimum: 400000 maximum: 384000000 + max-sd-hs-frequency: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + Maximum frequency (in Hz) to be used for SD cards operating in + High-Speed (HS) mode. This is useful for platforms with vendor-specific + limitations, such as the presence of a level shifter that cannot support + the default 50 MHz HS frequency or other. + minimum: 400000 + maximum: 50000000This might be fine, but your DTS suggests clearly this is SoC compatible deducible, which I already said at v1.I don't understand why you're rejecting a common solution to a problem that surely exists outside this one specific chip from one specific vendor, which may be caused by a multitude of design choices, including erratic board (not SoC) electrical designNo one brought any arguments so far that common solution is needed. The only argument provided - sm8550 - is showing this is soc design. I don't reject common solution. I provided review at v1 to which no one responded, no one argued, no one provided other arguments.
Okay, so the specific problem that causes this observable limitation exists on SM8550 and at least one more platform which is not upstream today. It can be caused by various electrical issues, in our specific case by something internal to the SoC (but external factors may apply too) Looking at the docs, a number of platforms have various limitations with regards to frequency at specific speed-modes, some of which seem to be handled implicitly by rounding in the clock framework's round/set_rate(). I can very easily imagine there are either boards or platforms in the wild, where the speed must be limited for various reasons, maybe some of them currently don't advertise it (like sm8550 on next/master) to hide that Konrad