[RFC v1 0/3] mmc-spi - support controllers incapable of getting as low as 400KHz

Conor Dooley conor at kernel.org
Wed Jun 12 08:48:30 PDT 2024


From: Conor Dooley <conor.dooley at microchip.com>

Yo,

RFC for some stuff that I've got in-progress for a customer's board
where they want to use mmc-spi-slot with a QSPI controller that is
incapable of getting as low as 400KHz with the way clocks have been
configured on the system. At the moment, if a controller cannot get that
low, linux continuously reports that queuing a transfer fails. The first
couple of transfers will complete on this system, until mmc_start_host()
kicks in and clamps the frequency to the larger of host->f_min and 400
KHz.
Doing something like patch 1 of this set would allow the mmc-spi-slot to
function for some sd cards, an improvement on the current none. I don't
have any sd cards on hand that don't support the 5 MHz minimum frequency
that this controller is limited to, so I amn't sure at what point this
will blow up if such a card was used.

Is this sort of change something that would fly?

Patches 2 & 3 are just here b/c without #3 the qspi driver for this
platform doesn't support anything other than mem ops and #2 is required
to set the minimum frequency for mmc_spi to pick up.

Cheers,
Conor.

CC: Ulf Hansson <ulf.hansson at linaro.org>
CC: Conor Dooley <conor.dooley at microchip.com>
CC: cyril.jean at microchip.com
CC: Mark Brown <broonie at kernel.org>
CC: linux-mmc at vger.kernel.org
CC: linux-kernel at vger.kernel.org
CC: linux-riscv at lists.infradead.org
CC: linux-spi at vger.kernel.org

Conor Dooley (2):
  mmc: mmc_spi: allow for spi controllers incapable of getting as low as
    400k
  spi: microchip-core-qspi: set min_speed_hz during probe

Cyril Jean (1):
  spi: microchip-core-qspi: Add regular transfers

 drivers/mmc/host/mmc_spi.c            |   5 +-
 drivers/spi/spi-microchip-core-qspi.c | 224 +++++++++++++++++++++++++-
 2 files changed, 226 insertions(+), 3 deletions(-)

-- 
2.43.0




More information about the linux-riscv mailing list