[PATCH V5 0/4] Add level shifter support for qualcomm SOC's

Sarthak Garg posted 4 patches 4 weeks, 1 day ago
.../bindings/mmc/mmc-controller-common.yaml       |  8 ++++++++
arch/arm64/boot/dts/qcom/sm8550.dtsi              |  1 +
drivers/mmc/core/host.c                           |  2 ++
drivers/mmc/core/sd.c                             |  2 +-
drivers/mmc/host/sdhci-msm.c                      | 15 +++++++++++++++
include/linux/mmc/host.h                          |  1 +
6 files changed, 28 insertions(+), 1 deletion(-)
[PATCH V5 0/4] Add level shifter support for qualcomm SOC's
Posted by Sarthak Garg 4 weeks, 1 day ago
Add level shifter support for qualcomm SOC's.

- Changed from v4
    - As suggested by Krzysztof Kozlowski Renamed the property from
    `max-sd-hs-frequency` to `max-sd-hs-hz` for clarity.
    - As suggested by Krzysztof Kozlowski remove min/max constraints
    and add default: 50000000 in dt-bindings.
    - As suggested by Konrad Dybcio moved max-sd-hs-hz property in the
    SoC dtsi.
    - Retained sdhci-caps-mask in sm8550.dtsi for now and will revisit
    its removal for future targets after thorough validation and testing
    from the beginning.

- Changed from v3
    - As suggested by Krzysztof Kozlowski moved the property from the
    SoC-level DTS to the board-level DTS.
    - Revised the commit messages to clearly explain its board-specific.

- Changed from v2
    - As suggested by Konrad Dybcio and Ulf Hansson redesigned logic
      to introduce a new DT property max-sd-hs-frequency and override
      the hs_max_dtr accordingly in sd.c file.

- Changed from v1
    - As suggested by Krzysztof Kozlowski redesigned logic to use
    compatible property for adding this level shifter support.
    - Addressed Adrian Hunter comments on V1 with resepect to
      checkpatch.
    - Cleared the bits first and then set bits in
      sdhci_msm_execute_tuning as suggested by Adrian Hunter.
    - Upated the if condition logic in msm_set_clock_rate_for_bus_mode
      as suggested by Adrian Hunter.

Sarthak Garg (4):
  mmc: sdhci-msm: Enable tuning for SDR50 mode for SD card
  dt-bindings: mmc: controller: Add max-sd-hs-frequency property
  mmc: core: Introduce a new flag max-sd-hs-hz
  arm64: dts: qcom: sm8550: Add max-sd-hs-hz property

 .../bindings/mmc/mmc-controller-common.yaml       |  8 ++++++++
 arch/arm64/boot/dts/qcom/sm8550.dtsi              |  1 +
 drivers/mmc/core/host.c                           |  2 ++
 drivers/mmc/core/sd.c                             |  2 +-
 drivers/mmc/host/sdhci-msm.c                      | 15 +++++++++++++++
 include/linux/mmc/host.h                          |  1 +
 6 files changed, 28 insertions(+), 1 deletion(-)

-- 
2.34.1
Re: [PATCH V5 0/4] Add level shifter support for qualcomm SOC's
Posted by Dragan Simic 4 weeks, 1 day ago
Hello Sarthak and Krzysztof,

On 2025-09-03 10:04, Sarthak Garg wrote:
> Add level shifter support for qualcomm SOC's.
> 
> - Changed from v4
>     - As suggested by Krzysztof Kozlowski Renamed the property from
>     `max-sd-hs-frequency` to `max-sd-hs-hz` for clarity.

I just spotted this series, so I'm sorry for jumping in late.  To me,
"max-sd-hs-frequency" was actually a better choice, because it goes
together with the already existing "max-frequency" property.

Yes, "max-sd-hs-hz" is obviously more clear, but to me, consistency
is more important.  Just my $.02.

>     - As suggested by Krzysztof Kozlowski remove min/max constraints
>     and add default: 50000000 in dt-bindings.
>     - As suggested by Konrad Dybcio moved max-sd-hs-hz property in the
>     SoC dtsi.
>     - Retained sdhci-caps-mask in sm8550.dtsi for now and will revisit
>     its removal for future targets after thorough validation and 
> testing
>     from the beginning.
> 
> - Changed from v3
>     - As suggested by Krzysztof Kozlowski moved the property from the
>     SoC-level DTS to the board-level DTS.
>     - Revised the commit messages to clearly explain its 
> board-specific.
> 
> - Changed from v2
>     - As suggested by Konrad Dybcio and Ulf Hansson redesigned logic
>       to introduce a new DT property max-sd-hs-frequency and override
>       the hs_max_dtr accordingly in sd.c file.
> 
> - Changed from v1
>     - As suggested by Krzysztof Kozlowski redesigned logic to use
>     compatible property for adding this level shifter support.
>     - Addressed Adrian Hunter comments on V1 with resepect to
>       checkpatch.
>     - Cleared the bits first and then set bits in
>       sdhci_msm_execute_tuning as suggested by Adrian Hunter.
>     - Upated the if condition logic in msm_set_clock_rate_for_bus_mode
>       as suggested by Adrian Hunter.
> 
> Sarthak Garg (4):
>   mmc: sdhci-msm: Enable tuning for SDR50 mode for SD card
>   dt-bindings: mmc: controller: Add max-sd-hs-frequency property
>   mmc: core: Introduce a new flag max-sd-hs-hz
>   arm64: dts: qcom: sm8550: Add max-sd-hs-hz property
> 
>  .../bindings/mmc/mmc-controller-common.yaml       |  8 ++++++++
>  arch/arm64/boot/dts/qcom/sm8550.dtsi              |  1 +
>  drivers/mmc/core/host.c                           |  2 ++
>  drivers/mmc/core/sd.c                             |  2 +-
>  drivers/mmc/host/sdhci-msm.c                      | 15 +++++++++++++++
>  include/linux/mmc/host.h                          |  1 +
>  6 files changed, 28 insertions(+), 1 deletion(-)
Re: [PATCH V5 0/4] Add level shifter support for qualcomm SOC's
Posted by Rob Herring 4 weeks, 1 day ago
On Wed, Sep 03, 2025 at 10:24:55AM +0200, Dragan Simic wrote:
> Hello Sarthak and Krzysztof,
> 
> On 2025-09-03 10:04, Sarthak Garg wrote:
> > Add level shifter support for qualcomm SOC's.
> > 
> > - Changed from v4
> >     - As suggested by Krzysztof Kozlowski Renamed the property from
> >     `max-sd-hs-frequency` to `max-sd-hs-hz` for clarity.
> 
> I just spotted this series, so I'm sorry for jumping in late.  To me,
> "max-sd-hs-frequency" was actually a better choice, because it goes
> together with the already existing "max-frequency" property.
> 
> Yes, "max-sd-hs-hz" is obviously more clear, but to me, consistency
> is more important.  Just my $.02.

It's about defining the property units as 'frequency' could be kHz, MHz, 
etc. Unfortunately 'max-frequency' existed before standardizing with 
units.

Rob
Re: [PATCH V5 0/4] Add level shifter support for qualcomm SOC's
Posted by Dragan Simic 4 weeks, 1 day ago
Hello Rob,

On 2025-09-03 22:42, Rob Herring wrote:
> On Wed, Sep 03, 2025 at 10:24:55AM +0200, Dragan Simic wrote:
>> On 2025-09-03 10:04, Sarthak Garg wrote:
>> > Add level shifter support for qualcomm SOC's.
>> >
>> > - Changed from v4
>> >     - As suggested by Krzysztof Kozlowski Renamed the property from
>> >     `max-sd-hs-frequency` to `max-sd-hs-hz` for clarity.
>> 
>> I just spotted this series, so I'm sorry for jumping in late.  To me,
>> "max-sd-hs-frequency" was actually a better choice, because it goes
>> together with the already existing "max-frequency" property.
>> 
>> Yes, "max-sd-hs-hz" is obviously more clear, but to me, consistency
>> is more important.  Just my $.02.
> 
> It's about defining the property units as 'frequency' could be kHz, 
> MHz,
> etc. Unfortunately 'max-frequency' existed before standardizing with
> units.

I see, thanks for the clarification.  In that case, we should perhaps
declare the "max-frequency" property obsolete and substitute it with new
"max-hz" property.  I'll see to whip up an RFC patch for that.

Hmm, there's also the "spi-max-frequency" property, for example, which
would also benefit from becoming replaced with "spi-max-hz".  That 
should
be another RFC patch. :)